From 0a1983e2805c8694e504063466312a537a23854c Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Sun, 16 Oct 2022 10:34:53 +0200 Subject: [PATCH 01/11] Drop powrap from make verifs. (#1909) Closes #1841 --- Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile index 4fe2d943e3..8bc620e0c4 100644 --- a/Makefile +++ b/Makefile @@ -153,7 +153,6 @@ fuzzy: ensure_prerequisites .PHONY: verifs verifs: spell - powrap --check --quiet *.po */*.po .PHONY: clean clean: From 900b88915aea9391cc33af9a0f87c295daa4263e Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Tue, 18 Oct 2022 12:38:19 +0200 Subject: [PATCH 02/11] Fix issues found by sphinx-lint --- distutils/apiref.po | 4 ++-- distutils/introduction.po | 6 +++--- extending/newtypes_tutorial.po | 4 ++-- howto/argparse.po | 4 ++-- howto/clinic.po | 4 ++-- howto/regex.po | 4 ++-- howto/sockets.po | 4 ++-- library/base64.po | 4 ++-- library/configparser.po | 8 ++++---- library/difflib.po | 4 ++-- library/email.encoders.po | 4 ++-- library/idle.po | 4 ++-- library/logging.po | 4 ++-- library/lzma.po | 8 ++++---- library/math.po | 4 ++-- library/rlcompleter.po | 6 +++--- library/statistics.po | 4 ++-- library/stdtypes.po | 15 +++++++-------- library/tarfile.po | 4 ++-- library/zipfile.po | 4 ++-- sphinx.po | 4 ++-- tutorial/datastructures.po | 6 +++--- whatsnew/3.10.po | 8 ++++---- whatsnew/3.2.po | 4 ++-- whatsnew/3.9.po | 4 ++-- 25 files changed, 64 insertions(+), 65 deletions(-) diff --git a/distutils/apiref.po b/distutils/apiref.po index 77a0d20570..5e9da6b3c0 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-12-11 12:30+0100\n" +"PO-Revision-Date: 2022-10-18 12:23+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -2555,7 +2555,7 @@ msgid "" "a corresponding *short_option*. All option tuples must have long options." msgstr "" "Si une option prend un argument, sa *long_option* doit se terminer par " -"``'='``. *short_option* doit être un seul caractère, jamais ``':'`'. " +"``'='``. *short_option* doit être un seul caractère, jamais ``':'``. " "*short_option* doit être ``None`` si l'option n'a pas de forme courte " "correspondante. Tous les triplets d'options doivent avoir des options " "longues." diff --git a/distutils/introduction.po b/distutils/introduction.po index deab87aec0..69e6b28596 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2021-12-11 12:42+0100\n" +"PO-Revision-Date: 2022-10-18 12:31+0200\n" "Last-Translator: Eric Régnier \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -119,7 +119,7 @@ msgstr "" "pas ?). Veillez d'ailleurs à ne pas surcharger ce script avec des opérations " "coûteuses car, contrairement aux scripts de configuration façon Autoconf, le " "script d'installation peut être amené à être exécuté plusieurs fois au cours " -"de la compilation et de l'installation du module. " +"de la compilation et de l'installation du module." #: distutils/introduction.rst:58 msgid "" @@ -150,7 +150,7 @@ msgid "" msgstr "" "ces arguments nommés tombent dans deux catégories : métadonnées du paquet " "(nom, numéro de version) et des informations sur le contenu du paquet paquet " -"(une liste de purs modules Python, dans ce cas) ; " +"(une liste de purs modules Python, dans ce cas) ;" #: distutils/introduction.rst:76 msgid "" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index c8052a8d91..527b5748ca 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-09-25 11:25+0200\n" +"PO-Revision-Date: 2022-10-18 12:22+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -73,7 +73,7 @@ msgid "" msgstr "" "Ce genre de chose ne s'explique correctement qu'avec des exemples, voici " "donc un module minimaliste mais suffisant qui définit un nouveau type nommé :" -"class:`Custom` dans le module d'extension :mod:`custom` : " +"class:`Custom` dans le module d'extension :mod:`custom` :" #: extending/newtypes_tutorial.rst:43 msgid "" diff --git a/howto/argparse.po b/howto/argparse.po index 228312bf58..59e2857499 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-11-06 19:23+0100\n" +"PO-Revision-Date: 2022-10-18 12:22+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -610,7 +610,7 @@ msgid "" "tells us that we can either use ``-v`` or ``-q``, but not both at the same " "time:" msgstr "" -"Notez cette nuance dans le texte d'utilisation. Les options `[-v | -q]`` " +"Notez cette nuance dans le texte d'utilisation. Les options ``[-v | -q]`` " "nous disent que nous pouvons utiliser au choix ``-v`` ou ``-q``, mais pas " "les deux ensemble :" diff --git a/howto/clinic.po b/howto/clinic.po index d68122b173..0f2853d8c0 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2021-06-04 15:16+0200\n" +"PO-Revision-Date: 2022-10-18 12:29+0200\n" "Last-Translator: Mindiell \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -698,7 +698,7 @@ msgid "" "``;``, to provide usage help, this change is harmless—don't worry about it.)" msgstr "" "(Argument Clinic génère toujours ses chaînes de format avec ``:`` suivi du " -"nom de la fonction. Si la chaîne de format du code existant termine par `` ;" +"nom de la fonction. Si la chaîne de format du code existant termine par ``;" "``, pour fournir une aide sur l'utilisation, ce changement n'a aucun effet, " "ne vous en souciez pas.)" diff --git a/howto/regex.po b/howto/regex.po index 2f09c669a4..2bc003467f 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2022-07-08 17:51+0200\n" +"PO-Revision-Date: 2022-10-18 12:27+0200\n" "Last-Translator: Nabil Bendafi \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -191,7 +191,7 @@ msgstr "" "utilisés pour spécifier une classe de caractères, qui forme un ensemble de " "caractères dont vous souhaitez trouver la correspondance. Les caractères " "peuvent être listés individuellement, ou une plage de caractères peut être " -"indiquée en fournissant deux caractères séparés par un `'-'``. Par exemple, " +"indiquée en fournissant deux caractères séparés par un ``'-'``. Par exemple, " "``[abc]`` correspond à n'importe quel caractère parmi ``a``, ``b`` ou " "``c`` ; c'est équivalent à ``[a-c]``, qui utilise une plage pour exprimer le " "même ensemble de caractères. Si vous voulez trouver une chaîne qui ne " diff --git a/howto/sockets.po b/howto/sockets.po index 0bddb0a217..186c594f55 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2021-12-16 02:37+0100\n" +"PO-Revision-Date: 2022-10-18 12:27+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -642,7 +642,7 @@ msgid "" "will grow large, buggy and suck CPU. So let's skip the brain-dead solutions " "and do it right." msgstr "" -"La différence majeure de fonctionnement est que `send``, ``recv``, " +"La différence majeure de fonctionnement est que ``send``, ``recv``, " "``connect`` et ``accept`` peuvent rendre la main sans avoir rien fait. Vous " "avez (bien sûr) un certain nombre de choix. Vous pouvez vérifier le code de " "retour et les codes d'erreur et, en général, devenir fou. Si vous ne me " diff --git a/library/base64.po b/library/base64.po index 828c64564e..2e4b03b697 100644 --- a/library/base64.po +++ b/library/base64.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-10-21 15:04+0200\n" -"PO-Revision-Date: 2019-08-20 15:51+0200\n" +"PO-Revision-Date: 2022-10-18 12:34+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -401,7 +401,7 @@ msgid "" "If *pad* is true, the input is padded with ``b'\\0'`` so its length is a " "multiple of 4 bytes before encoding." msgstr "" -"Si *pad* est vrai, des caractères de remplissage ``b'``0'`` (*padding* en " +"Si *pad* est vrai, des caractères de remplissage ``b'\\0'`` (*padding* en " "anglais) sont ajoutés à l'entrée jusqu'à ce que sa longueur soit un multiple " "de 4 octets avant encodage." diff --git a/library/configparser.po b/library/configparser.po index 8e423fbb0b..073bce87fb 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-12-16 17:25+0100\n" +"PO-Revision-Date: 2022-10-18 12:35+0200\n" "Last-Translator: Dimitri Merejkowsky \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -662,7 +662,7 @@ msgstr "" "quelle valeur valide (comme les noms des sections, les options et les lignes " "vides). Par défaut, les commentaires en ligne sont désactivés et les " "préfixes utilisés pour les commentaires à l'emplacement d'une ligne vide " -"sont `'#'`` et ``';'``." +"sont ``'#'`` et ``';'``." #: library/configparser.rst:581 msgid "" @@ -829,8 +829,8 @@ msgid "" "strings and their Boolean outcomes. For example:" msgstr "" "Par défaut, la méthode :meth:`~ConfigParser.getboolean` considère les " -"valeurs suivantes comme vraies : `'1'``, ``'yes'``, ``'true'``, ``'on'``, et " -"les valeurs suivantes comme fausses : ``'0'``, ``'no'``, ``'false'``, " +"valeurs suivantes comme vraies : ``'1'``, ``'yes'``, ``'true'``, ``'on'``, " +"et les valeurs suivantes comme fausses : ``'0'``, ``'no'``, ``'false'``, " "``'off'``. Vous pouvez changer ce comportement en spécifiant votre propre " "dictionnaire associant des chaînes de caractères à des valeurs booléennes. " "Par exemple :" diff --git a/library/difflib.po b/library/difflib.po index 92521c4ac8..ba5d851e9e 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2020-10-15 09:15+0200\n" +"PO-Revision-Date: 2022-10-18 12:28+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -270,7 +270,7 @@ msgstr "" "Mettre *context* à ``True`` lorsque les différences contextuelles doivent " "être affichées, sinon la valeur par défaut est ``False`` pour afficher les " "fichiers complets. Les *numlines* ont pour valeur par défaut ``5``. Lorsque " -"*context* est `True``, *numlines* contrôle le nombre de lignes de contexte " +"*context* est ``True``, *numlines* contrôle le nombre de lignes de contexte " "qui entourent les différences mise en évidence. Lorsque *context* est " "``False``, *numlines* contrôle le nombre de lignes qui sont affichées avant " "un surlignage de différence lors de l'utilisation des hyperliens " diff --git a/library/email.encoders.po b/library/email.encoders.po index 34a4df8721..b54990fc26 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-08-24 09:01+0200\n" -"PO-Revision-Date: 2021-09-04 03:06+0200\n" +"PO-Revision-Date: 2022-10-18 12:35+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -113,7 +113,7 @@ msgstr "" "printable`` [#]_ à l'en-tête :mailheader:`Content-Transfer-Encoding`. C'est " "un bon encodage à utiliser quand la majorité de la charge utile contient " "essentiellement des données imprimables, à l'exceptions de quelques " -"caractères. " +"caractères." #: library/email.encoders.rst:52 msgid "" diff --git a/library/idle.po b/library/idle.po index 5c45d60138..b838792153 100644 --- a/library/idle.po +++ b/library/idle.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2021-12-16 02:37+0100\n" +"PO-Revision-Date: 2022-10-18 12:32+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1471,7 +1471,7 @@ msgid "" "dialog." msgstr "" "Si ``-``, ``-c`` ou ``-r`` sont utilisés, tous les arguments sont placés " -"dans ``sys.argv[1:...]`` et ``sys.argv[0]`` est assigné à `''``, ``'-c'``, " +"dans ``sys.argv[1:...]`` et ``sys.argv[0]`` est assigné à ``''``, ``'-c'``, " "ou ``'-r'``. Aucune fenêtre d'édition n'est ouverte, même si c'est le " "comportement par défaut fixé dans la fenêtre d'options." diff --git a/library/logging.po b/library/logging.po index cfe301d9d8..2456800e3b 100644 --- a/library/logging.po +++ b/library/logging.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2021-12-16 21:00+0100\n" +"PO-Revision-Date: 2022-10-18 12:29+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -663,7 +663,7 @@ msgstr "" "au moins un gestionnaire a été trouvé et ``False`` sinon. Cette méthode " "arrête de remonter la hiérarchie dès qu'un enregistreur avec l'attribut " "*propagate* à faux est rencontré ­— cet enregistreur est alors le dernier " -"dans lequel la méthode cherche des gestionnaires. " +"dans lequel la méthode cherche des gestionnaires." #: library/logging.rst:362 msgid "Loggers can now be pickled and unpickled." diff --git a/library/lzma.po b/library/lzma.po index 1875f212fb..6598704cd8 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2021-05-17 21:51+0200\n" +"PO-Revision-Date: 2022-10-18 12:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -220,7 +220,7 @@ msgstr "" "Renvoie la donnée en mémoire-tampon sans progression de la position du " "fichier. Au moins un octet de donnée sera renvoyé, jusqu'à ce que l'EOF soit " "atteinte. Le nombre exact d'octets renvoyés demeure indéterminé (l'argument " -"*taille* est ignoré). " +"*taille* est ignoré)." #: library/lzma.rst:114 #, fuzzy @@ -380,8 +380,8 @@ msgid "" "behavior is to use :const:`PRESET_DEFAULT` (preset level ``6``). Higher " "presets produce smaller output, but make the compression process slower." msgstr "" -"L'argument *preset* (s'il est fourni) doit être un entier compris entre `0`` " -"et ``9`` (inclus), éventuellement relié à OR avec la constante :const:" +"L'argument *preset* (s'il est fourni) doit être un entier compris entre " +"``0`` et ``9`` (inclus), éventuellement relié à OR avec la constante :const:" "`PRESET_EXTREME`. Si aucun *preset* ni *filters* ne ont définis, le " "comportement par défaut consiste à utiliser la :const:`PRESET_DEFAULT` " "(niveau par défaut : ``6``). Des pré-réglages plus élevés entraîne une " diff --git a/library/math.po b/library/math.po index 0f7318498b..9018b3d949 100644 --- a/library/math.po +++ b/library/math.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2019-10-09 21:42+0200\n" +"PO-Revision-Date: 2022-10-18 12:28+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -47,7 +47,7 @@ msgstr "" "plutôt qu'un nombre complexe en retour d'une fonction permet au programmeur " "de déterminer immédiatement comment et pourquoi ce nombre a été généré, " "avant que celui-ci ne soit passé involontairement en paramètre d'une autre " -"fonction. " +"fonction." #: library/math.rst:25 msgid "" diff --git a/library/rlcompleter.po b/library/rlcompleter.po index 4f06f3a754..c6d38bab62 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-08-24 09:01+0200\n" -"PO-Revision-Date: 2018-10-04 09:51+0200\n" +"PO-Revision-Date: 2022-10-18 12:31+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -31,7 +31,7 @@ msgid "" msgstr "" "Le module :mod:`rlcompleter` définit une fonction de complétion appropriée " "pour le module :mod:`readline` en complétant des identifiants et mots-clés " -"Python valides. " +"Python valides." #: library/rlcompleter.rst:16 msgid "" @@ -43,7 +43,7 @@ msgstr "" "Quand le module est importé dans une plate-forme Unix et la méthode :meth:" "`complete` est configurée pour assurer la complétion de :mod:`readline`, une " "instance de classe :class:`Completer` est automatiquement créée et la " -"méthode est configurée au finisseur :meth:`complete` " +"méthode est configurée au finisseur :meth:`complete`" #: library/rlcompleter.rst:20 msgid "Example::" diff --git a/library/statistics.po b/library/statistics.po index 20813bfa2a..e684959016 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2020-05-14 16:36+0200\n" +"PO-Revision-Date: 2022-10-18 12:34+0200\n" "Last-Translator: Nicolas Audebert \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1054,7 +1054,7 @@ msgid "" msgstr "" "Les lois normales apparaissent dans de très nombreuses applications des " "statistiques. Leur ubiquité découle du `théorème central limite `." +"wikipedia.org/wiki/Th%C3%A9or%C3%A8me_central_limite>`_." #: library/statistics.rst:692 msgid "" diff --git a/library/stdtypes.po b/library/stdtypes.po index 80e31ec455..4e077c6afb 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2022-05-18 17:21+0200\n" +"PO-Revision-Date: 2022-10-18 12:33+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: French \n" "Language: fr\n" @@ -4966,14 +4966,13 @@ msgstr "" "positions de tabulations aux colonnes 0, 8, 16 et ainsi de suite). Pour " "travailler sur la séquence, la colonne en cours est mise à zéro et la " "séquence est examinée octets par octets. Si l'octet est une tabulation ASCII " -"(``b'\t'``), un ou plusieurs espaces sont insérés au résultat jusqu’à ce que " -"la colonne courante soit égale à la position de tabulation suivante. (Le " +"(``b'\\t'``), un ou plusieurs espaces sont insérés au résultat jusqu’à ce " +"que la colonne courante soit égale à la position de tabulation suivante. (Le " "caractère tabulation lui-même n’est pas copié.) Si l'octet courant est un " -"saut de ligne ASCII (``b'\n" -"'``) ou un retour chariot (``b'\\r'``), il est copié et la colonne en cours " -"est remise à zéro. Tout autre octet est copié inchangé et la colonne en " -"cours est incrémentée de un indépendamment de la façon dont l'octet est " -"représenté lors de l’affichage ::" +"saut de ligne ASCII (``b'\\n'``) ou un retour chariot (``b'\\r'``), il est " +"copié et la colonne en cours est remise à zéro. Tout autre octet est copié " +"inchangé et la colonne en cours est incrémentée de un indépendamment de la " +"façon dont l'octet est représenté lors de l’affichage ::" #: library/stdtypes.rst:3149 msgid "" diff --git a/library/tarfile.po b/library/tarfile.po index 47771717a4..bd41ec64ec 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2022-03-23 12:00-0600\n" +"PO-Revision-Date: 2022-10-18 12:30+0200\n" "Last-Translator: Yannick Gingras \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -463,7 +463,7 @@ msgid "" "only if :attr:`TarFile.errorlevel`\\ ``== 2``." msgstr "" "Est levée pour des erreurs *non-fatales* lors de l'utilisation de :meth:" -"`TarFile.extract`, mais uniquement si :attr:`TarFile.errorlevel`\\ `` == 2``." +"`TarFile.extract`, mais uniquement si :attr:`TarFile.errorlevel`\\ ``== 2``." #: library/tarfile.rst:206 msgid "Is raised by :meth:`TarInfo.frombuf` if the buffer it gets is invalid." diff --git a/library/zipfile.po b/library/zipfile.po index 00c47a0912..08e15830bc 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2021-04-27 11:30+0200\n" +"PO-Revision-Date: 2022-10-18 12:31+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -518,7 +518,7 @@ msgid "" "(``_``)." msgstr "" "Si le nom de fichier d'un membre est un chemin absolu, le disque/partage UNC " -"et les (anti)slashes de départ seront supprimés, par exemple `///foo/bar`` " +"et les (anti)slashes de départ seront supprimés, par exemple ``///foo/bar`` " "devient ``foo/bar`` sous Unix et ``C:\\foo\\bar`` devient ``foo\\bar`` sous " "Windows. Et tous les composants ``\"..\"`` dans le nom de fichier d'un " "membre seront supprimés, par exemple ``../../foo../../ba..r`` devient " diff --git a/sphinx.po b/sphinx.po index b38cf134e6..a782c4efb2 100644 --- a/sphinx.po +++ b/sphinx.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-09-23 16:16+0200\n" -"PO-Revision-Date: 2021-12-11 11:41+0100\n" +"PO-Revision-Date: 2022-10-18 12:24+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -284,7 +284,7 @@ msgid "" msgstr "" "Ce document est relatif à une vieille version de Python qui n'est plus " "soutenue.\n" -" Mettez à jour votre version et lisez " +" Mettez à jour votre version et lisez" #: tools/templates/layout.html:8 msgid " Python documentation for the current stable release" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 989b19d783..7085e6b3f0 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2022-04-24 16:22+0200\n" +"PO-Revision-Date: 2022-10-18 12:28+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -146,8 +146,8 @@ msgid "" "structures in Python." msgstr "" "Vous avez probablement remarqué que les méthodes qui ne font que modifier la " -"liste, comme ``insert``, ``remove`` ou ``sort`, n'affichent pas de valeur de " -"retour (elles renvoient ``None``) [1]_. C'est un principe respecté par " +"liste, comme ``insert``, ``remove`` ou ``sort``, n'affichent pas de valeur " +"de retour (elles renvoient ``None``) [1]_. C'est un principe respecté par " "toutes les structures de données muables en Python." #: tutorial/datastructures.rst:128 diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 43cde7362c..4bf2f40641 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2022-05-20 09:53+0200\n" +"PO-Revision-Date: 2022-10-18 12:23+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -3951,9 +3951,9 @@ msgid "" "``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " "(Contributed by Victor Stinner in :issue:`42157`.)" msgstr "" -"La structure privée ``_PyUnicode_Name_CAPI``de l'API PyCapsule ``unicodedata." -"ucnhash_CAPI`` a été déplacée dans l'API C interne. (Contribution par Victor " -"Stinner dans :issue:`42157`.)" +"La structure privée ``_PyUnicode_Name_CAPI`` de l'API PyCapsule " +"``unicodedata.ucnhash_CAPI`` a été déplacée dans l'API C interne. " +"(Contribution par Victor Stinner dans :issue:`42157`.)" #: whatsnew/3.10.rst:2175 msgid "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 618f21f9ea..cf586f7579 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2018-07-03 11:14+0200\n" +"PO-Revision-Date: 2022-10-18 12:22+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1225,7 +1225,7 @@ msgstr "" #: whatsnew/3.2.rst:1168 msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" -msgstr "(Contribution par Raymond Hettinger; :issue:`9826` et issue:`9840`)" +msgstr "(Contribution par Raymond Hettinger; :issue:`9826` et :issue:`9840`)" #: whatsnew/3.2.rst:1171 msgid "logging" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 270403f447..ffccd93a60 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2022-02-23 19:25+0100\n" +"PO-Revision-Date: 2022-10-18 12:27+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -2000,7 +2000,7 @@ msgstr "" "Les méthodes ``getchildren()`` et ``getiterator()`` des classes :class:`~xml." "etree.ElementTree.ElementTree` et :class:`~xml.etree.ElementTree.Element` " "dans le module :mod:`~xml.etree.ElementTree` ont été retirées. Elle avaient " -"été déclarées obsolètes dans Python 3.2. Utilisez `iter(x)`` ou ``list(x)`` " +"été déclarées obsolètes dans Python 3.2. Utilisez ``iter(x)`` ou ``list(x)`` " "plutôt que ``x.getchildren()`` et ``x.iter()`` ou ``list(x.iter())`` plutôt " "que ``x.getiterator()`` (contribution de *Serhiy Storchaka* dans :issue:" "`36543`)." From 20eba357742aa97721bc9b536eac1525d8c4a157 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 19 Oct 2022 14:43:37 +0200 Subject: [PATCH 03/11] Make merge (#1912) * Make merge * Try to have the same build locally to reproduce an issue. --- .github/workflows/tests.yml | 16 +- Makefile | 2 +- about.po | 5 +- bugs.po | 90 +- c-api/allocation.po | 5 +- c-api/arg.po | 154 +- c-api/call.po | 147 +- c-api/capsule.po | 4 +- c-api/complex.po | 8 +- c-api/conversion.po | 50 +- c-api/datetime.po | 47 +- c-api/dict.po | 8 +- c-api/exceptions.po | 30 +- c-api/file.po | 9 +- c-api/float.po | 13 +- c-api/import.po | 5 +- c-api/init.po | 42 +- c-api/init_config.po | 450 +++--- c-api/intro.po | 12 +- c-api/long.po | 40 +- c-api/marshal.po | 18 +- c-api/memory.po | 12 +- c-api/module.po | 8 +- c-api/object.po | 4 +- c-api/structures.po | 198 ++- c-api/sys.po | 8 +- c-api/tuple.po | 4 +- c-api/type.po | 4 +- c-api/typehints.po | 6 +- c-api/typeobj.po | 690 ++++---- c-api/unicode.po | 42 +- c-api/veryhigh.po | 10 +- c-api/weakref.po | 6 +- distutils/apiref.po | 5 +- extending/building.po | 5 +- extending/extending.po | 36 +- extending/index.po | 7 +- extending/newtypes.po | 22 +- extending/newtypes_tutorial.po | 5 +- faq/design.po | 183 +-- faq/extending.po | 15 +- faq/general.po | 251 +-- faq/gui.po | 5 +- faq/library.po | 149 +- faq/programming.po | 652 ++++---- faq/windows.po | 15 +- glossary.po | 654 ++++---- howto/clinic.po | 9 +- howto/curses.po | 15 +- howto/descriptor.po | 188 +-- howto/functional.po | 311 ++-- howto/instrumentation.po | 8 +- howto/logging-cookbook.po | 735 ++++++--- howto/logging.po | 388 ++--- howto/regex.po | 5 +- howto/sockets.po | 73 +- howto/unicode.po | 14 +- howto/urllib2.po | 17 +- install/index.po | 11 +- installing/index.po | 7 +- library/2to3.po | 8 +- library/_thread.po | 14 +- library/argparse.po | 10 +- library/array.po | 4 +- library/ast.po | 144 +- library/asynchat.po | 5 +- library/asyncio-dev.po | 40 +- library/asyncio-eventloop.po | 754 ++++----- library/asyncio-future.po | 102 +- library/asyncio-llapi-index.po | 149 +- library/asyncio-policy.po | 165 +- library/asyncio-protocol.po | 4 +- library/asyncio-stream.po | 147 +- library/asyncio-task.po | 313 ++-- library/bdb.po | 357 +++-- library/bisect.po | 9 +- library/bz2.po | 12 +- library/concurrent.futures.po | 138 +- library/contextlib.po | 236 +-- library/copyreg.po | 47 +- library/csv.po | 17 +- library/ctypes.po | 160 +- library/curses.po | 4 +- library/custominterp.po | 5 +- library/dataclasses.po | 43 +- library/datetime.po | 13 +- library/decimal.po | 47 +- library/difflib.po | 6 +- library/dis.po | 490 +++--- library/doctest.po | 6 +- library/email.compat32-message.po | 8 +- library/email.generator.po | 4 +- library/email.headerregistry.po | 4 +- library/functions.po | 675 ++++---- library/functools.po | 5 +- library/gettext.po | 5 +- library/glob.po | 4 +- library/grp.po | 17 +- library/hashlib.po | 10 +- library/hmac.po | 8 +- library/html.entities.po | 7 +- library/http.client.po | 42 +- library/http.cookiejar.po | 305 ++-- library/http.server.po | 22 +- library/idle.po | 661 ++++---- library/importlib.metadata.po | 8 +- library/importlib.po | 358 +++-- library/inspect.po | 4 +- library/io.po | 4 +- library/json.po | 307 ++-- library/logging.config.po | 82 +- library/logging.handlers.po | 348 ++-- library/logging.po | 734 +++++---- library/lzma.po | 9 +- library/mailbox.po | 9 +- library/mailcap.po | 25 +- library/math.po | 5 +- library/mmap.po | 6 +- library/multiprocessing.po | 1054 +++++++------ library/multiprocessing.shared_memory.po | 12 +- library/numbers.po | 50 +- library/optparse.po | 10 +- library/os.path.po | 7 +- library/os.po | 714 ++++----- library/pathlib.po | 425 ++--- library/pickle.po | 17 +- library/platform.po | 5 +- library/posix.po | 14 +- library/py_compile.po | 60 +- library/queue.po | 33 +- library/random.po | 12 +- library/re.po | 428 ++--- library/readline.po | 8 +- library/secrets.po | 23 +- library/security_warnings.po | 5 +- library/select.po | 8 +- library/shutil.po | 99 +- library/smtpd.po | 4 +- library/socket.po | 31 +- library/sqlite3.po | 1842 +++++++++++++--------- library/ssl.po | 6 +- library/stat.po | 4 +- library/statistics.po | 361 +++-- library/stdtypes.po | 1275 ++++++++------- library/string.po | 351 +++-- library/struct.po | 304 ++-- library/subprocess.po | 514 +++--- library/symtable.po | 64 +- library/sys.po | 687 ++++---- library/syslog.po | 73 +- library/tarfile.po | 5 +- library/test.po | 567 ++++--- library/threading.po | 431 ++--- library/tkinter.po | 20 +- library/tkinter.tix.po | 86 +- library/tkinter.ttk.po | 14 +- library/types.po | 6 +- library/typing.po | 756 ++++----- library/unittest.mock-examples.po | 4 +- library/unittest.mock.po | 7 +- library/unittest.po | 5 +- library/urllib.parse.po | 280 ++-- library/urllib.request.po | 4 +- library/uuid.po | 5 +- library/venv.po | 99 +- library/warnings.po | 140 +- library/wave.po | 100 +- library/winreg.po | 327 ++-- library/wsgiref.po | 6 +- library/xml.dom.minidom.po | 8 +- library/xml.po | 5 +- library/xmlrpc.client.po | 14 +- library/xmlrpc.server.po | 6 +- library/zlib.po | 5 +- license.po | 13 +- reference/compound_stmts.po | 15 +- reference/datamodel.po | 21 +- reference/expressions.po | 411 ++--- reference/import.po | 110 +- reference/introduction.po | 12 +- reference/lexical_analysis.po | 162 +- tutorial/classes.po | 5 +- tutorial/controlflow.po | 239 +-- tutorial/errors.po | 88 +- tutorial/inputoutput.po | 126 +- tutorial/interpreter.po | 5 +- tutorial/introduction.po | 7 +- tutorial/modules.po | 183 +-- tutorial/whatnow.po | 52 +- using/cmdline.po | 225 +-- using/configure.po | 104 +- using/mac.po | 104 +- using/unix.po | 10 +- using/windows.po | 656 ++++---- whatsnew/2.0.po | 7 +- whatsnew/2.1.po | 89 +- whatsnew/2.2.po | 6 +- whatsnew/2.3.po | 14 +- whatsnew/2.4.po | 22 +- whatsnew/2.5.po | 62 +- whatsnew/2.6.po | 49 +- whatsnew/2.7.po | 38 +- whatsnew/3.0.po | 15 +- whatsnew/3.1.po | 226 +-- whatsnew/3.10.po | 672 ++++---- whatsnew/3.2.po | 108 +- whatsnew/3.3.po | 32 +- whatsnew/3.4.po | 8 +- whatsnew/3.5.po | 14 +- whatsnew/3.6.po | 151 +- whatsnew/3.7.po | 203 +-- whatsnew/3.8.po | 912 +++++------ whatsnew/3.9.po | 12 +- 213 files changed, 16023 insertions(+), 13622 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4f07da1da5..bb3ca6397c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -66,14 +66,18 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 30 steps: - - uses: actions/checkout@v2 - - uses: actions/cache@v2 + - uses: actions/checkout@v3 + - uses: actions/cache@v3 with: path: '~/cpython/' key: '1' - - uses: actions/setup-python@v2 + - uses: actions/cache@v3 with: - python-version: '3.9' + path: ~/.cache/pip + key: '1' + - uses: actions/setup-python@v4 + with: + python-version: '3.10' - name: Clone cpython run: | if [ ! -d ~/cpython ]; then @@ -88,9 +92,7 @@ jobs: git -C ~/cpython checkout $(grep ^CPYTHON_CURRENT_COMMIT Makefile| cut -d= -f2) - name: Prepare venv run: | - # If the venv exists but is broken, drop it (happens on Python upgrades): - # see https://github.com/actions/setup-python/issues/170 - [ -d $HOME/cpython/Doc/venv/bin/ -a ! -e $HOME/cpython/Doc/venv/bin/python ] && rm -fr $HOME/cpython/Doc/venv + make -C $HOME/cpython/Doc clean-venv make -C $HOME/cpython/Doc venv - name: sphinx-build run: make -C $HOME/cpython/Doc SPHINXOPTS="-q -j4 -D locale_dirs=$HOME/locales -D language=fr -D gettext_compact=0" autobuild-dev-html diff --git a/Makefile b/Makefile index 8bc620e0c4..fff4bb702b 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ # from which we generated our po files. We use it here so when we # test build, we're building with the .rst files that generated our # .po files. -CPYTHON_CURRENT_COMMIT := 3c2a1e7f4af3c5c54e04dfe9ac3a68d2351b00fb +CPYTHON_CURRENT_COMMIT := b2db1c208066b67bdf57bf3799de50352fe63416 LANGUAGE := fr BRANCH := 3.10 diff --git a/about.po b/about.po index 7f0a550501..11c5903b1c 100644 --- a/about.po +++ b/about.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-07-08 17:54+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -52,8 +52,9 @@ msgstr "" "et rédacteur de la plupart de son contenu ;" #: about.rst:24 +#, fuzzy msgid "" -"the `Docutils `_ project for creating " +"the `Docutils `_ project for creating " "reStructuredText and the Docutils suite;" msgstr "" "le projet `Docutils `_ pour avoir créé " diff --git a/bugs.po b/bugs.po index 100cf31c60..367deef94d 100644 --- a/bugs.po +++ b/bugs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-07-08 17:50+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -130,25 +130,28 @@ msgid "Using the Python issue tracker" msgstr "Utilisation du gestionnaire de tickets Python" #: bugs.rst:47 +#, fuzzy msgid "" -"Bug reports for Python itself should be submitted via the Python Bug Tracker " -"(https://bugs.python.org/). The bug tracker offers a web form which allows " -"pertinent information to be entered and submitted to the developers." +"Issue reports for Python itself should be submitted via the GitHub issues " +"tracker (https://github.com/python/cpython/issues). The GitHub issues " +"tracker offers a web form which allows pertinent information to be entered " +"and submitted to the developers." msgstr "" "Les rapports de bogues pour Python lui-même devraient être soumis via le " "l'outil de suivi des bogues (*Bug Tracker Python* — http://bugs.python." "org/). Le gestionnaire de tickets propose un formulaire Web permettant de " "saisir des informations pertinentes à soumettre aux développeurs." -#: bugs.rst:51 +#: bugs.rst:52 +#, fuzzy msgid "" "The first step in filing a report is to determine whether the problem has " "already been reported. The advantage in doing so, aside from saving the " -"developers time, is that you learn what has been done to fix it; it may be " +"developers' time, is that you learn what has been done to fix it; it may be " "that the problem has already been fixed for the next release, or additional " "information is needed (in which case you are welcome to provide it if you " -"can!). To do this, search the bug database using the search box on the top " -"of the page." +"can!). To do this, search the tracker using the search box at the top of the " +"page." msgstr "" "La première étape pour remplir un rapport est de déterminer si le problème a " "déjà été rapporté. L'avantage de cette approche, en plus d'économiser du " @@ -158,13 +161,13 @@ msgstr "" "contribution est la bienvenue !). Pour ce faire, cherchez dans la base de " "données de bogues grâce à la boîte de recherche en haut de la page." -#: bugs.rst:58 +#: bugs.rst:59 +#, fuzzy msgid "" -"If the problem you're reporting is not already in the bug tracker, go back " -"to the Python Bug Tracker and log in. If you don't already have a tracker " -"account, select the \"Register\" link or, if you use OpenID, one of the " -"OpenID provider logos in the sidebar. It is not possible to submit a bug " -"report anonymously." +"If the problem you're reporting is not already in the list, log in to " +"GitHub. If you don't already have a GitHub account, create a new account " +"using the \"Sign up\" link. It is not possible to submit a bug report " +"anonymously." msgstr "" "Si le problème que vous soumettez n'est pas déjà dans l'outil de suivi des " "bogues, revenez au *Python Bug Tracker* et connectez-vous. Si vous n'avez " @@ -173,29 +176,27 @@ msgstr "" "dans la barre latérale. Il n'est pas possible de soumettre un rapport de " "bogue de manière anonyme." -#: bugs.rst:63 +#: bugs.rst:64 +#, fuzzy msgid "" -"Being now logged in, you can submit a bug. Select the \"Create New\" link " -"in the sidebar to open the bug reporting form." +"Being now logged in, you can submit an issue. Click on the \"New issue\" " +"button in the top bar to report a new issue." msgstr "" "Une fois identifié, pour pouvez rapporter un bogue. Sélectionnez le lien " "*Create New* dans la barre latérale pour ouvrir un nouveau formulaire de " "rapport de bogue." -#: bugs.rst:66 +#: bugs.rst:67 +msgid "The submission form has two fields, \"Title\" and \"Comment\"." +msgstr "" + +#: bugs.rst:69 msgid "" -"The submission form has a number of fields. For the \"Title\" field, enter " -"a *very* short description of the problem; less than ten words is good. In " -"the \"Type\" field, select the type of your problem; also select the " -"\"Component\" and \"Versions\" to which the bug relates." +"For the \"Title\" field, enter a *very* short description of the problem; " +"less than ten words is good." msgstr "" -"Le formulaire de soumission a un certain nombre de champs. Pour le champ " -"« Titre », saisissez une *très* courte description du problème ; moins de " -"dix mots est approprié. Dans le champ « Type », sélectionnez le type de " -"problème ; sélectionnez aussi « Composant » et « Versions » en rapport avec " -"le bogue." -#: bugs.rst:71 +#: bugs.rst:72 msgid "" "In the \"Comment\" field, describe the problem in detail, including what you " "expected to happen and what did happen. Be sure to include whether any " @@ -208,17 +209,18 @@ msgstr "" "plateforme matérielle et logicielle vous utilisiez (en incluant les " "informations de versions)." -#: bugs.rst:76 +#: bugs.rst:77 +#, fuzzy msgid "" -"Each bug report will be assigned to a developer who will determine what " -"needs to be done to correct the problem. You will receive an update each " -"time action is taken on the bug." +"Each issue report will be reviewed by a developer who will determine what " +"needs to be done to correct the problem. You will receive an update each " +"time an action is taken on the issue." msgstr "" "Chaque bogue sera attribué à un développeur qui déterminera ce qui est " "nécessaire d'entreprendre pour corriger le problème. Vous recevrez une " "notification à chaque action effectuée sur le bogue." -#: bugs.rst:85 +#: bugs.rst:86 msgid "" "`How to Report Bugs Effectively `_" @@ -226,7 +228,7 @@ msgstr "" "`Comment signaler des bogues de manière efficace `_ (en anglais)" -#: bugs.rst:84 +#: bugs.rst:85 msgid "" "Article which goes into some detail about how to create a useful bug report. " "This describes what kind of information is useful and why it is useful." @@ -235,7 +237,7 @@ msgstr "" "bogue utile. Il décrit quel genre d'information est utile et pourquoi elle " "est utile." -#: bugs.rst:88 +#: bugs.rst:89 msgid "" "`Bug Writing Guidelines `_" @@ -243,7 +245,7 @@ msgstr "" "`Guide pour la rédaction de rapports de bogues `_" -#: bugs.rst:88 +#: bugs.rst:89 msgid "" "Information about writing a good bug report. Some of this is specific to " "the Mozilla project, but describes general good practices." @@ -251,11 +253,11 @@ msgstr "" "Conseils pour écrire un bon rapport de bogue. Certains sont spécifiques au " "projet Mozilla mais présentent des bonnes pratiques générales." -#: bugs.rst:94 +#: bugs.rst:95 msgid "Getting started contributing to Python yourself" msgstr "Commencer à contribuer à Python vous-même" -#: bugs.rst:96 +#: bugs.rst:97 msgid "" "Beyond just reporting bugs that you find, you are also welcome to submit " "patches to fix them. You can find more information on how to get started " @@ -269,3 +271,15 @@ msgstr "" "Developer's Guide`_. Si vous avez des questions, le `core-mentorship mailing " "list`_ est un endroit amical pour obtenir des réponses à toutes les " "questions à propos du processus de corrections de bugs dans Python." + +#~ msgid "" +#~ "The submission form has a number of fields. For the \"Title\" field, " +#~ "enter a *very* short description of the problem; less than ten words is " +#~ "good. In the \"Type\" field, select the type of your problem; also " +#~ "select the \"Component\" and \"Versions\" to which the bug relates." +#~ msgstr "" +#~ "Le formulaire de soumission a un certain nombre de champs. Pour le champ " +#~ "« Titre », saisissez une *très* courte description du problème ; moins de " +#~ "dix mots est approprié. Dans le champ « Type », sélectionnez le type de " +#~ "problème ; sélectionnez aussi « Composant » et « Versions » en rapport " +#~ "avec le bogue." diff --git a/c-api/allocation.po b/c-api/allocation.po index 5f14969923..7dfa7cea54 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-20 21:16+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -20,8 +20,9 @@ msgid "Allocating Objects on the Heap" msgstr "Allouer des objets dans le tas" #: c-api/allocation.rst:17 +#, fuzzy msgid "" -"Initialize a newly-allocated object *op* with its type and initial " +"Initialize a newly allocated object *op* with its type and initial " "reference. Returns the initialized object. If *type* indicates that the " "object participates in the cyclic garbage detector, it is added to the " "detector's set of observed objects. Other fields of the object are not " diff --git a/c-api/arg.po b/c-api/arg.po index 014ac2fa6e..508255a25f 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 11:44+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -324,7 +324,7 @@ msgstr "``S`` (:class:`bytes`) [``PyBytesObject *``]" msgid "" "Requires that the Python object is a :class:`bytes` object, without " "attempting any conversion. Raises :exc:`TypeError` if the object is not a " -"bytes object. The C variable may also be declared as :c:type:`PyObject*`." +"bytes object. The C variable may also be declared as :c:expr:`PyObject*`." msgstr "" "Nécessite que l'objet Python soit de type :class:`bytes`, sans avoir tenté " "de conversion. :exc:`TypeError` est levée si l'objet n'est pas un objet de " @@ -340,7 +340,7 @@ msgstr "``Y`` (:class:`bytearray`) [``PyByteArrayObject *``]" msgid "" "Requires that the Python object is a :class:`bytearray` object, without " "attempting any conversion. Raises :exc:`TypeError` if the object is not a :" -"class:`bytearray` object. The C variable may also be declared as :c:type:" +"class:`bytearray` object. The C variable may also be declared as :c:expr:" "`PyObject*`." msgstr "" "Nécessite que l'objet Python soit de type :class:`bytes`, sans avoir tenté " @@ -426,7 +426,7 @@ msgstr "``U`` (:class:`str`) [``PyObject *``]" msgid "" "Requires that the Python object is a Unicode object, without attempting any " "conversion. Raises :exc:`TypeError` if the object is not a Unicode object. " -"The C variable may also be declared as :c:type:`PyObject*`." +"The C variable may also be declared as :c:expr:`PyObject*`." msgstr "" "Nécessite que l'objet Python soit de type :class:`bytes`, sans avoir tenté " "de conversion. :exc:`TypeError` est levée si l'objet n'est pas un objet de " @@ -458,10 +458,10 @@ msgstr "" #: c-api/arg.rst:196 msgid "" "This format requires two arguments. The first is only used as input, and " -"must be a :c:type:`const char*` which points to the name of an encoding as a " +"must be a :c:expr:`const char*` which points to the name of an encoding as a " "NUL-terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is " "used. An exception is raised if the named encoding is not known to Python. " -"The second argument must be a :c:type:`char**`; the value of the pointer it " +"The second argument must be a :c:expr:`char**`; the value of the pointer it " "references will be set to a buffer with the contents of the argument text. " "The text will be encoded in the encoding specified by the first argument." msgstr "" @@ -506,10 +506,10 @@ msgstr "" #: c-api/arg.rst:219 msgid "" "It requires three arguments. The first is only used as input, and must be " -"a :c:type:`const char*` which points to the name of an encoding as a NUL-" +"a :c:expr:`const char*` which points to the name of an encoding as a NUL-" "terminated string, or ``NULL``, in which case ``'utf-8'`` encoding is used. " "An exception is raised if the named encoding is not known to Python. The " -"second argument must be a :c:type:`char**`; the value of the pointer it " +"second argument must be a :c:expr:`char**`; the value of the pointer it " "references will be set to a buffer with the contents of the argument text. " "The text will be encoded in the encoding specified by the first argument. " "The third argument must be a pointer to an integer; the referenced integer " @@ -571,9 +571,10 @@ msgid "``b`` (:class:`int`) [unsigned char]" msgstr "``b`` (:class:`int`) [``unsigned char``]" #: c-api/arg.rst:254 +#, fuzzy msgid "" "Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :" -"c:type:`unsigned char`." +"c:expr:`unsigned char`." msgstr "" "Convertit un entier Python positif ou nul en un ``unsigned tiny int``, " "stocké dans un :c:type:`unsigned char` C." @@ -583,9 +584,10 @@ msgid "``B`` (:class:`int`) [unsigned char]" msgstr "``B`` (:class:`int`) [``unsigned char``]" #: c-api/arg.rst:258 +#, fuzzy msgid "" "Convert a Python integer to a tiny int without overflow checking, stored in " -"a C :c:type:`unsigned char`." +"a C :c:expr:`unsigned char`." msgstr "" "Convertit un entier Python en un ``tiny int`` sans vérifier le débordement, " "stocké dans un :c:type:`unsigned char` C." @@ -595,7 +597,8 @@ msgid "``h`` (:class:`int`) [short int]" msgstr "``h`` (:class:`int`) [``short int``]" #: c-api/arg.rst:262 -msgid "Convert a Python integer to a C :c:type:`short int`." +#, fuzzy +msgid "Convert a Python integer to a C :c:expr:`short int`." msgstr "Convertit un entier Python en un :c:type:`short int` C." #: c-api/arg.rst:602 @@ -603,8 +606,9 @@ msgid "``H`` (:class:`int`) [unsigned short int]" msgstr "``H`` (:class:`int`) [``unsigned short int``]" #: c-api/arg.rst:265 +#, fuzzy msgid "" -"Convert a Python integer to a C :c:type:`unsigned short int`, without " +"Convert a Python integer to a C :c:expr:`unsigned short int`, without " "overflow checking." msgstr "" "Convertit un entier Python en un :c:type:`unsigned short int` C, sans " @@ -615,7 +619,8 @@ msgid "``i`` (:class:`int`) [int]" msgstr "``i`` (:class:`int`) [``int``]" #: c-api/arg.rst:269 -msgid "Convert a Python integer to a plain C :c:type:`int`." +#, fuzzy +msgid "Convert a Python integer to a plain C :c:expr:`int`." msgstr "Convertit un entier Python en un :c:type:`int` C." #: c-api/arg.rst:605 @@ -623,8 +628,9 @@ msgid "``I`` (:class:`int`) [unsigned int]" msgstr "``I`` (:class:`int`) [``unsigned int``]" #: c-api/arg.rst:272 +#, fuzzy msgid "" -"Convert a Python integer to a C :c:type:`unsigned int`, without overflow " +"Convert a Python integer to a C :c:expr:`unsigned int`, without overflow " "checking." msgstr "" "Convertit un entier Python en un :c:type:`unsigned int` C, sans contrôle de " @@ -635,7 +641,8 @@ msgid "``l`` (:class:`int`) [long int]" msgstr "``l`` (:class:`int`) [``long int``]" #: c-api/arg.rst:276 -msgid "Convert a Python integer to a C :c:type:`long int`." +#, fuzzy +msgid "Convert a Python integer to a C :c:expr:`long int`." msgstr "Convertit un entier Python en un :c:type:`long int`." #: c-api/arg.rst:608 @@ -643,8 +650,9 @@ msgid "``k`` (:class:`int`) [unsigned long]" msgstr "``k`` (:class:`int`) [``unsigned long``]" #: c-api/arg.rst:279 +#, fuzzy msgid "" -"Convert a Python integer to a C :c:type:`unsigned long` without overflow " +"Convert a Python integer to a C :c:expr:`unsigned long` without overflow " "checking." msgstr "" "Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier " @@ -656,7 +664,7 @@ msgstr "``L`` (:class:`int`) [``long long``]" #: c-api/arg.rst:283 #, fuzzy -msgid "Convert a Python integer to a C :c:type:`long long`." +msgid "Convert a Python integer to a C :c:expr:`long long`." msgstr "Convertit un entier Python en un :c:type:`long int`." #: c-api/arg.rst:614 @@ -666,7 +674,7 @@ msgstr "``K`` (:class:`int`) [``unsigned long long``]" #: c-api/arg.rst:286 #, fuzzy msgid "" -"Convert a Python integer to a C :c:type:`unsigned long long` without " +"Convert a Python integer to a C :c:expr:`unsigned long long` without " "overflow checking." msgstr "" "Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier " @@ -686,9 +694,10 @@ msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]" msgstr "``c`` (:class:`bytes` ou :class:`bytearray` de longueur 1) [``char``]" #: c-api/arg.rst:293 +#, fuzzy msgid "" "Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` " -"object of length 1, to a C :c:type:`char`." +"object of length 1, to a C :c:expr:`char`." msgstr "" "Convertit un *byte* Python, représenté comme un objet :class:`bytes` ou :" "class:`bytearray` de longueur 1, en un :c:type:`char` C." @@ -702,9 +711,10 @@ msgid "``C`` (:class:`str` of length 1) [int]" msgstr "``C`` (:class:`str` de longueur 1) [``int``]" #: c-api/arg.rst:300 +#, fuzzy msgid "" "Convert a Python character, represented as a :class:`str` object of length " -"1, to a C :c:type:`int`." +"1, to a C :c:expr:`int`." msgstr "" "Convertit un caractère Python, représenté comme un objet :class:`str` de " "longueur 1, en un :c:type:`int` C." @@ -714,7 +724,8 @@ msgid "``f`` (:class:`float`) [float]" msgstr "``f`` (:class:`float`) [``float``]" #: c-api/arg.rst:304 -msgid "Convert a Python floating point number to a C :c:type:`float`." +#, fuzzy +msgid "Convert a Python floating point number to a C :c:expr:`float`." msgstr "Convertit un nombre flottant Python vers un :c:type:`float`." #: c-api/arg.rst:628 @@ -722,7 +733,8 @@ msgid "``d`` (:class:`float`) [double]" msgstr "``d`` (:class:`float`) [``double``]" #: c-api/arg.rst:307 -msgid "Convert a Python floating point number to a C :c:type:`double`." +#, fuzzy +msgid "Convert a Python floating point number to a C :c:expr:`double`." msgstr "Convertit un nombre flottant Python vers un :c:type:`double` C." #: c-api/arg.rst:310 @@ -763,7 +775,7 @@ msgstr "``O!`` (objet) [*typeobject*, ``PyObject *``]" msgid "" "Store a Python object in a C object pointer. This is similar to ``O``, but " "takes two C arguments: the first is the address of a Python type object, the " -"second is the address of the C variable (of type :c:type:`PyObject*`) into " +"second is the address of the C variable (of type :c:expr:`PyObject*`) into " "which the object pointer is stored. If the Python object does not have the " "required type, :exc:`TypeError` is raised." msgstr "" @@ -776,18 +788,18 @@ msgstr "``O&`` (objet) [*converter*, *anything*]" msgid "" "Convert a Python object to a C variable through a *converter* function. " "This takes two arguments: the first is a function, the second is the address " -"of a C variable (of arbitrary type), converted to :c:type:`void *`. The " +"of a C variable (of arbitrary type), converted to :c:expr:`void *`. The " "*converter* function in turn is called as follows::" msgstr "" #: c-api/arg.rst:337 msgid "" "where *object* is the Python object to be converted and *address* is the :c:" -"type:`void*` argument that was passed to the :c:func:`PyArg_Parse\\*` " -"function. The returned *status* should be ``1`` for a successful conversion " -"and ``0`` if the conversion has failed. When the conversion fails, the " -"*converter* function should raise an exception and leave the content of " -"*address* unmodified." +"expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The " +"returned *status* should be ``1`` for a successful conversion and ``0`` if " +"the conversion has failed. When the conversion fails, the *converter* " +"function should raise an exception and leave the content of *address* " +"unmodified." msgstr "" #: c-api/arg.rst:343 @@ -927,12 +939,11 @@ msgstr "" #: c-api/arg.rst:410 msgid "" "For the conversion to succeed, the *arg* object must match the format and " -"the format must be exhausted. On success, the :c:func:`PyArg_Parse\\*` " -"functions return true, otherwise they return false and raise an appropriate " -"exception. When the :c:func:`PyArg_Parse\\*` functions fail due to " -"conversion failure in one of the format units, the variables at the " -"addresses corresponding to that and the following format units are left " -"untouched." +"the format must be exhausted. On success, the ``PyArg_Parse*`` functions " +"return true, otherwise they return false and raise an appropriate exception. " +"When the ``PyArg_Parse*`` functions fail due to conversion failure in one of " +"the format units, the variables at the addresses corresponding to that and " +"the following format units are left untouched." msgstr "" #: c-api/arg.rst:419 @@ -1000,7 +1011,7 @@ msgid "" "should be passed as *args*; it must actually be a tuple. The length of the " "tuple must be at least *min* and no more than *max*; *min* and *max* may be " "equal. Additional arguments must be passed to the function, each of which " -"should be a pointer to a :c:type:`PyObject*` variable; these will be filled " +"should be a pointer to a :c:expr:`PyObject*` variable; these will be filled " "in with the values from *args*; they will contain :term:`borrowed references " "`. The variables which correspond to optional parameters " "not given by *args* will not be filled in; these should be initialized by " @@ -1027,10 +1038,10 @@ msgstr "Construction des valeurs" #: c-api/arg.rst:520 msgid "" -"Create a new value based on a format string similar to those accepted by " -"the :c:func:`PyArg_Parse\\*` family of functions and a sequence of values. " -"Returns the value or ``NULL`` in the case of an error; an exception will be " -"raised if ``NULL`` is returned." +"Create a new value based on a format string similar to those accepted by the " +"``PyArg_Parse*`` family of functions and a sequence of values. Returns the " +"value or ``NULL`` in the case of an error; an exception will be raised if " +"``NULL`` is returned." msgstr "" #: c-api/arg.rst:525 @@ -1132,7 +1143,7 @@ msgstr "``u`` (:class:`str`) [``const wchar_t *``]" #: c-api/arg.rst:571 msgid "" -"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or " +"Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or " "UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is " "``NULL``, ``None`` is returned." msgstr "" @@ -1161,7 +1172,7 @@ msgstr "``U#`` (:class:`str` ou ``None``) [``const char *``, ``int``]" #: c-api/arg.rst:587 #, fuzzy -msgid "Convert a plain C :c:type:`int` to a Python integer object." +msgid "Convert a plain C :c:expr:`int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:590 @@ -1169,42 +1180,49 @@ msgid "``b`` (:class:`int`) [char]" msgstr "``b`` (:class:`int`) [``char``]" #: c-api/arg.rst:590 -msgid "Convert a plain C :c:type:`char` to a Python integer object." -msgstr "" +#, fuzzy +msgid "Convert a plain C :c:expr:`char` to a Python integer object." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:593 -msgid "Convert a plain C :c:type:`short int` to a Python integer object." -msgstr "" +#, fuzzy +msgid "Convert a plain C :c:expr:`short int` to a Python integer object." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:596 -msgid "Convert a C :c:type:`long int` to a Python integer object." +#, fuzzy +msgid "Convert a C :c:expr:`long int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:599 -msgid "Convert a C :c:type:`unsigned char` to a Python integer object." -msgstr "" +#, fuzzy +msgid "Convert a C :c:expr:`unsigned char` to a Python integer object." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:602 -msgid "Convert a C :c:type:`unsigned short int` to a Python integer object." -msgstr "" +#, fuzzy +msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:605 #, fuzzy -msgid "Convert a C :c:type:`unsigned int` to a Python integer object." +msgid "Convert a C :c:expr:`unsigned int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:608 -msgid "Convert a C :c:type:`unsigned long` to a Python integer object." -msgstr "" +#, fuzzy +msgid "Convert a C :c:expr:`unsigned long` to a Python integer object." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:611 #, fuzzy -msgid "Convert a C :c:type:`long long` to a Python integer object." +msgid "Convert a C :c:expr:`long long` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:614 -msgid "Convert a C :c:type:`unsigned long long` to a Python integer object." -msgstr "" +#, fuzzy +msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:617 msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." @@ -1215,24 +1233,32 @@ msgid "``c`` (:class:`bytes` of length 1) [char]" msgstr "``c`` (:class:`bytes` de taille 1) [``char``]" #: c-api/arg.rst:620 +#, fuzzy msgid "" -"Convert a C :c:type:`int` representing a byte to a Python :class:`bytes` " +"Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` " "object of length 1." msgstr "" +"Convertit un caractère Python, représenté comme un objet :class:`str` de " +"longueur 1, en un :c:type:`int` C." #: c-api/arg.rst:624 +#, fuzzy msgid "" -"Convert a C :c:type:`int` representing a character to Python :class:`str` " +"Convert a C :c:expr:`int` representing a character to Python :class:`str` " "object of length 1." msgstr "" +"Convertit un caractère Python, représenté comme un objet :class:`str` de " +"longueur 1, en un :c:type:`int` C." #: c-api/arg.rst:628 -msgid "Convert a C :c:type:`double` to a Python floating point number." -msgstr "" +#, fuzzy +msgid "Convert a C :c:expr:`double` to a Python floating point number." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:631 -msgid "Convert a C :c:type:`float` to a Python floating point number." -msgstr "" +#, fuzzy +msgid "Convert a C :c:expr:`float` to a Python floating point number." +msgstr "Convertit un :c:type:`long int` en un *int* Python." #: c-api/arg.rst:634 msgid "``D`` (:class:`complex`) [Py_complex \\*]" @@ -1274,7 +1300,7 @@ msgstr "" #: c-api/arg.rst:653 msgid "" "Convert *anything* to a Python object through a *converter* function. The " -"function is called with *anything* (which should be compatible with :c:type:" +"function is called with *anything* (which should be compatible with :c:expr:" "`void*`) as its argument and should return a \"new\" Python object, or " "``NULL`` if an error occurred." msgstr "" diff --git a/c-api/call.po b/c-api/call.po index 39b2c2bfe8..edecd96742 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-07-20 15:07+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -209,12 +209,7 @@ msgid "" "future extensions." msgstr "" -#: c-api/call.rst:161 c-api/call.rst:259 c-api/call.rst:360 c-api/call.rst:391 -#: c-api/call.rst:413 -msgid "This function is not part of the :ref:`limited API `." -msgstr "" - -#: c-api/call.rst:153 +#: c-api/call.rst:151 msgid "" "If *op* does not support the vectorcall protocol (either because the type " "does not or because the specific instance does not), return *NULL*. " @@ -222,19 +217,19 @@ msgid "" "function never raises an exception." msgstr "" -#: c-api/call.rst:158 +#: c-api/call.rst:156 msgid "" "This is mostly useful to check whether or not *op* supports vectorcall, " "which can be done by checking ``PyVectorcall_Function(op) != NULL``." msgstr "" -#: c-api/call.rst:167 +#: c-api/call.rst:163 msgid "" "Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " "arguments given in a tuple and dict, respectively." msgstr "" -#: c-api/call.rst:170 +#: c-api/call.rst:166 msgid "" "This is a specialized function, intended to be put in the :c:member:" "`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. " @@ -242,11 +237,11 @@ msgid "" "not fall back to ``tp_call``." msgstr "" -#: c-api/call.rst:183 +#: c-api/call.rst:177 msgid "Object Calling API" msgstr "" -#: c-api/call.rst:185 +#: c-api/call.rst:179 msgid "" "Various functions are available for calling a Python object. Each converts " "its arguments to a convention supported by the called object – either " @@ -254,130 +249,130 @@ msgid "" "pick one that best fits the format of data you have available." msgstr "" -#: c-api/call.rst:191 +#: c-api/call.rst:185 msgid "" "The following table summarizes the available functions; please see " "individual documentation for details." msgstr "" -#: c-api/call.rst:195 +#: c-api/call.rst:189 msgid "Function" msgstr "Fonction" -#: c-api/call.rst:195 +#: c-api/call.rst:189 msgid "callable" msgstr "" -#: c-api/call.rst:195 +#: c-api/call.rst:189 msgid "args" msgstr "" -#: c-api/call.rst:195 +#: c-api/call.rst:189 msgid "kwargs" msgstr "" -#: c-api/call.rst:197 +#: c-api/call.rst:191 msgid ":c:func:`PyObject_Call`" msgstr "" -#: c-api/call.rst:199 c-api/call.rst:203 c-api/call.rst:209 c-api/call.rst:219 +#: c-api/call.rst:193 c-api/call.rst:197 c-api/call.rst:203 c-api/call.rst:213 msgid "``PyObject *``" msgstr "" -#: c-api/call.rst:197 +#: c-api/call.rst:191 msgid "tuple" msgstr "" -#: c-api/call.rst:219 +#: c-api/call.rst:213 msgid "dict/``NULL``" msgstr "" -#: c-api/call.rst:199 +#: c-api/call.rst:193 msgid ":c:func:`PyObject_CallNoArgs`" msgstr "" -#: c-api/call.rst:201 c-api/call.rst:205 c-api/call.rst:209 c-api/call.rst:213 -#: c-api/call.rst:215 +#: c-api/call.rst:195 c-api/call.rst:199 c-api/call.rst:203 c-api/call.rst:207 +#: c-api/call.rst:209 msgid "---" msgstr "" -#: c-api/call.rst:201 +#: c-api/call.rst:195 msgid ":c:func:`PyObject_CallOneArg`" msgstr "" -#: c-api/call.rst:215 +#: c-api/call.rst:209 msgid "1 object" msgstr "" -#: c-api/call.rst:203 +#: c-api/call.rst:197 msgid ":c:func:`PyObject_CallObject`" msgstr "" -#: c-api/call.rst:203 +#: c-api/call.rst:197 msgid "tuple/``NULL``" msgstr "" -#: c-api/call.rst:205 +#: c-api/call.rst:199 msgid ":c:func:`PyObject_CallFunction`" msgstr "" -#: c-api/call.rst:207 +#: c-api/call.rst:201 msgid "format" msgstr "format" -#: c-api/call.rst:207 +#: c-api/call.rst:201 msgid ":c:func:`PyObject_CallMethod`" msgstr "" -#: c-api/call.rst:207 +#: c-api/call.rst:201 msgid "obj + ``char*``" msgstr "" -#: c-api/call.rst:209 +#: c-api/call.rst:203 msgid ":c:func:`PyObject_CallFunctionObjArgs`" msgstr "" -#: c-api/call.rst:211 +#: c-api/call.rst:205 msgid "variadic" msgstr "" -#: c-api/call.rst:211 +#: c-api/call.rst:205 msgid ":c:func:`PyObject_CallMethodObjArgs`" msgstr "" -#: c-api/call.rst:213 c-api/call.rst:215 +#: c-api/call.rst:207 c-api/call.rst:209 msgid "obj + name" msgstr "" -#: c-api/call.rst:213 +#: c-api/call.rst:207 msgid ":c:func:`PyObject_CallMethodNoArgs`" msgstr "" -#: c-api/call.rst:215 +#: c-api/call.rst:209 msgid ":c:func:`PyObject_CallMethodOneArg`" msgstr "" -#: c-api/call.rst:217 +#: c-api/call.rst:211 msgid ":c:func:`PyObject_Vectorcall`" msgstr "" -#: c-api/call.rst:219 c-api/call.rst:221 +#: c-api/call.rst:213 c-api/call.rst:215 msgid "vectorcall" msgstr "" -#: c-api/call.rst:219 +#: c-api/call.rst:213 msgid ":c:func:`PyObject_VectorcallDict`" msgstr "" -#: c-api/call.rst:221 +#: c-api/call.rst:215 msgid ":c:func:`PyObject_VectorcallMethod`" msgstr "" -#: c-api/call.rst:221 +#: c-api/call.rst:215 msgid "arg + name" msgstr "" -#: c-api/call.rst:227 +#: c-api/call.rst:221 msgid "" "Call a callable Python object *callable*, with arguments given by the tuple " "*args*, and named arguments given by the dictionary *kwargs*." @@ -386,49 +381,49 @@ msgstr "" "le *n*-uplet *args*, et des arguments nommés donnés par le dictionnaire " "*kwargs*." -#: c-api/call.rst:230 +#: c-api/call.rst:224 msgid "" "*args* must not be *NULL*; use an empty tuple if no arguments are needed. If " "no named arguments are needed, *kwargs* can be *NULL*." msgstr "" -#: c-api/call.rst:245 c-api/call.rst:269 c-api/call.rst:301 c-api/call.rst:334 -#: c-api/call.rst:357 c-api/call.rst:410 +#: c-api/call.rst:239 c-api/call.rst:261 c-api/call.rst:293 c-api/call.rst:326 +#: c-api/call.rst:347 c-api/call.rst:394 msgid "" "Return the result of the call on success, or raise an exception and return " "*NULL* on failure." msgstr "" -#: c-api/call.rst:236 +#: c-api/call.rst:230 msgid "" "This is the equivalent of the Python expression: ``callable(*args, " "**kwargs)``." msgstr "" "Ceci est l'équivalent de l'expression Python : ``callable(*args, **kwargs)``." -#: c-api/call.rst:242 +#: c-api/call.rst:236 msgid "" "Call a callable Python object *callable* without any arguments. It is the " "most efficient way to call a callable Python object without any argument." msgstr "" -#: c-api/call.rst:253 +#: c-api/call.rst:247 msgid "" "Call a callable Python object *callable* with exactly 1 positional argument " "*arg* and no keyword arguments." msgstr "" -#: c-api/call.rst:266 +#: c-api/call.rst:258 msgid "" "Call a callable Python object *callable*, with arguments given by the tuple " "*args*. If no arguments are needed, then *args* can be *NULL*." msgstr "" -#: c-api/call.rst:284 +#: c-api/call.rst:276 msgid "This is the equivalent of the Python expression: ``callable(*args)``." msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``." -#: c-api/call.rst:277 +#: c-api/call.rst:269 msgid "" "Call a callable Python object *callable*, with a variable number of C " "arguments. The C arguments are described using a :c:func:`Py_BuildValue` " @@ -436,92 +431,92 @@ msgid "" "are provided." msgstr "" -#: c-api/call.rst:286 +#: c-api/call.rst:278 msgid "" -"Note that if you only pass :c:type:`PyObject *` args, :c:func:" +"Note that if you only pass :c:expr:`PyObject *` args, :c:func:" "`PyObject_CallFunctionObjArgs` is a faster alternative." msgstr "" -#: c-api/call.rst:289 +#: c-api/call.rst:281 msgid "The type of *format* was changed from ``char *``." msgstr "" -#: c-api/call.rst:295 +#: c-api/call.rst:287 msgid "" "Call the method named *name* of object *obj* with a variable number of C " "arguments. The C arguments are described by a :c:func:`Py_BuildValue` " "format string that should produce a tuple." msgstr "" -#: c-api/call.rst:299 +#: c-api/call.rst:291 msgid "The format can be *NULL*, indicating that no arguments are provided." msgstr "" -#: c-api/call.rst:304 +#: c-api/call.rst:296 msgid "" "This is the equivalent of the Python expression: ``obj.name(arg1, " "arg2, ...)``." msgstr "" -#: c-api/call.rst:307 +#: c-api/call.rst:299 msgid "" -"Note that if you only pass :c:type:`PyObject *` args, :c:func:" +"Note that if you only pass :c:expr:`PyObject *` args, :c:func:" "`PyObject_CallMethodObjArgs` is a faster alternative." msgstr "" -#: c-api/call.rst:310 +#: c-api/call.rst:302 msgid "The types of *name* and *format* were changed from ``char *``." msgstr "" -#: c-api/call.rst:316 +#: c-api/call.rst:308 msgid "" -"Call a callable Python object *callable*, with a variable number of :c:type:" +"Call a callable Python object *callable*, with a variable number of :c:expr:" "`PyObject *` arguments. The arguments are provided as a variable number of " "parameters followed by *NULL*." msgstr "" -#: c-api/call.rst:323 +#: c-api/call.rst:315 msgid "" "This is the equivalent of the Python expression: ``callable(arg1, " "arg2, ...)``." msgstr "" -#: c-api/call.rst:329 +#: c-api/call.rst:321 msgid "" "Call a method of the Python object *obj*, where the name of the method is " "given as a Python string object in *name*. It is called with a variable " -"number of :c:type:`PyObject *` arguments. The arguments are provided as a " +"number of :c:expr:`PyObject *` arguments. The arguments are provided as a " "variable number of parameters followed by *NULL*." msgstr "" -#: c-api/call.rst:340 +#: c-api/call.rst:332 msgid "" "Call a method of the Python object *obj* without arguments, where the name " "of the method is given as a Python string object in *name*." msgstr "" -#: c-api/call.rst:353 +#: c-api/call.rst:343 msgid "" "Call a method of the Python object *obj* with a single positional argument " "*arg*, where the name of the method is given as a Python string object in " "*name*." msgstr "" -#: c-api/call.rst:367 +#: c-api/call.rst:355 msgid "" "Call a callable Python object *callable*. The arguments are the same as for :" "c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly " "calls the vectorcall function stored in *callable*." msgstr "" -#: c-api/call.rst:381 +#: c-api/call.rst:367 msgid "" "Call *callable* with positional arguments passed exactly as in the " "vectorcall_ protocol, but with keyword arguments passed as a dictionary " "*kwdict*. The *args* array contains only the positional arguments." msgstr "" -#: c-api/call.rst:385 +#: c-api/call.rst:371 msgid "" "Regardless of which protocol is used internally, a conversion of arguments " "needs to be done. Therefore, this function should only be used if the caller " @@ -529,7 +524,7 @@ msgid "" "tuple for the positional arguments." msgstr "" -#: c-api/call.rst:397 +#: c-api/call.rst:381 msgid "" "Call a method using the vectorcall calling convention. The name of the " "method is given as a Python string *name*. The object whose method is called " @@ -541,17 +536,17 @@ msgid "" "`PyObject_Vectorcall`." msgstr "" -#: c-api/call.rst:406 +#: c-api/call.rst:390 msgid "" "If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " "will call the unbound method object with the full *args* vector as arguments." msgstr "" -#: c-api/call.rst:419 +#: c-api/call.rst:401 msgid "Call Support API" msgstr "" -#: c-api/call.rst:423 +#: c-api/call.rst:405 msgid "" "Determine if the object *o* is callable. Return ``1`` if the object is " "callable and ``0`` otherwise. This function always succeeds." diff --git a/c-api/capsule.po b/c-api/capsule.po index 73bc38708d..ffb042ea56 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -28,7 +28,7 @@ msgstr "" #: c-api/capsule.rst:17 msgid "" "This subtype of :c:type:`PyObject` represents an opaque value, useful for C " -"extension modules who need to pass an opaque value (as a :c:type:`void*` " +"extension modules who need to pass an opaque value (as a :c:expr:`void*` " "pointer) through Python code to other C code. It is often used to make a C " "function pointer defined in one module available to other modules, so the " "regular import mechanism can be used to access C APIs defined in dynamically " diff --git a/c-api/complex.po b/c-api/complex.po index a06d5f3e72..68bc4bbbce 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-22 09:58+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-01-14 20:31+0100\n" "Last-Translator: ANTOINE FOURES \n" "Language-Team: FRENCH \n" @@ -174,13 +174,15 @@ msgstr "" "Renvoie un nouveau :c:type:`PyComplexObject` à partir de *real* et de *imag*." #: c-api/complex.rst:118 -msgid "Return the real part of *op* as a C :c:type:`double`." +#, fuzzy +msgid "Return the real part of *op* as a C :c:expr:`double`." msgstr "" "Renvoie la partie réelle du nombre complexe *op* sous la forme d'un :c:type:" "`double` en C." #: c-api/complex.rst:123 -msgid "Return the imaginary part of *op* as a C :c:type:`double`." +#, fuzzy +msgid "Return the imaginary part of *op* as a C :c:expr:`double`." msgstr "" "Renvoie la partie imaginaire du nombre complexe *op* sous la forme d'un :c:" "type:`double` en C." diff --git a/c-api/conversion.po b/c-api/conversion.po index 9da64040c2..af95d132bc 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -51,58 +51,60 @@ msgid "" "The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " "into str. Both functions require that ``str != NULL``, ``size > 0``, " -"``format != NULL`` and ``size < INT_MAX``." +"``format != NULL`` and ``size < INT_MAX``. Note that this means there is no " +"equivalent to the C99 ``n = snprintf(NULL, 0, ...)`` which would determine " +"the necessary buffer size." msgstr "" -#: c-api/conversion.rst:33 +#: c-api/conversion.rst:34 msgid "" "The return value (*rv*) for these functions should be interpreted as follows:" msgstr "" -#: c-api/conversion.rst:35 +#: c-api/conversion.rst:36 msgid "" "When ``0 <= rv < size``, the output conversion was successful and *rv* " "characters were written to *str* (excluding the trailing ``'\\0'`` byte at " "``str[rv]``)." msgstr "" -#: c-api/conversion.rst:39 +#: c-api/conversion.rst:40 msgid "" "When ``rv >= size``, the output conversion was truncated and a buffer with " "``rv + 1`` bytes would have been needed to succeed. ``str[size-1]`` is " "``'\\0'`` in this case." msgstr "" -#: c-api/conversion.rst:43 +#: c-api/conversion.rst:44 msgid "" "When ``rv < 0``, \"something bad happened.\" ``str[size-1]`` is ``'\\0'`` in " "this case too, but the rest of *str* is undefined. The exact cause of the " "error depends on the underlying platform." msgstr "" -#: c-api/conversion.rst:48 +#: c-api/conversion.rst:49 msgid "" "The following functions provide locale-independent string to number " "conversions." msgstr "" -#: c-api/conversion.rst:52 +#: c-api/conversion.rst:53 msgid "" -"Convert a string ``s`` to a :c:type:`double`, raising a Python exception on " +"Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on " "failure. The set of accepted strings corresponds to the set of strings " "accepted by Python's :func:`float` constructor, except that ``s`` must not " "have leading or trailing whitespace. The conversion is independent of the " "current locale." msgstr "" -#: c-api/conversion.rst:58 +#: c-api/conversion.rst:59 msgid "" "If ``endptr`` is ``NULL``, convert the whole string. Raise :exc:" "`ValueError` and return ``-1.0`` if the string is not a valid representation " "of a floating-point number." msgstr "" -#: c-api/conversion.rst:62 +#: c-api/conversion.rst:63 msgid "" "If endptr is not ``NULL``, convert as much of the string as possible and set " "``*endptr`` to point to the first unconverted character. If no initial " @@ -111,7 +113,7 @@ msgid "" "ValueError, and return ``-1.0``." msgstr "" -#: c-api/conversion.rst:69 +#: c-api/conversion.rst:70 msgid "" "If ``s`` represents a value that is too large to store in a float (for " "example, ``\"1e500\"`` is such a string on many platforms) then if " @@ -122,50 +124,50 @@ msgid "" "the first character after the converted value." msgstr "" -#: c-api/conversion.rst:77 +#: c-api/conversion.rst:78 msgid "" "If any other error occurs during the conversion (for example an out-of-" "memory error), set the appropriate Python exception and return ``-1.0``." msgstr "" -#: c-api/conversion.rst:86 +#: c-api/conversion.rst:87 msgid "" -"Convert a :c:type:`double` *val* to a string using supplied *format_code*, " +"Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " "*precision*, and *flags*." msgstr "" -#: c-api/conversion.rst:89 +#: c-api/conversion.rst:90 msgid "" "*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " "``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is " "ignored. The ``'r'`` format code specifies the standard :func:`repr` format." msgstr "" -#: c-api/conversion.rst:94 +#: c-api/conversion.rst:95 msgid "" "*flags* can be zero or more of the values ``Py_DTSF_SIGN``, " "``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:" msgstr "" -#: c-api/conversion.rst:97 +#: c-api/conversion.rst:98 msgid "" "``Py_DTSF_SIGN`` means to always precede the returned string with a sign " "character, even if *val* is non-negative." msgstr "" -#: c-api/conversion.rst:100 +#: c-api/conversion.rst:101 msgid "" "``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look " "like an integer." msgstr "" -#: c-api/conversion.rst:103 +#: c-api/conversion.rst:104 msgid "" "``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the " "documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details." msgstr "" -#: c-api/conversion.rst:107 +#: c-api/conversion.rst:108 msgid "" "If *ptype* is non-``NULL``, then the value it points to will be set to one " "of ``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying " @@ -173,20 +175,20 @@ msgid "" "respectively." msgstr "" -#: c-api/conversion.rst:111 +#: c-api/conversion.rst:112 msgid "" "The return value is a pointer to *buffer* with the converted string or " "``NULL`` if the conversion failed. The caller is responsible for freeing the " "returned string by calling :c:func:`PyMem_Free`." msgstr "" -#: c-api/conversion.rst:120 +#: c-api/conversion.rst:121 msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strcmp` except that it ignores the case." msgstr "" -#: c-api/conversion.rst:126 +#: c-api/conversion.rst:127 msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`strncmp` except that it ignores the case." diff --git a/c-api/datetime.po b/c-api/datetime.po index 30a33634f4..d3678e3c6f 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 11:57+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -207,7 +207,7 @@ msgstr "" "normalisé pour que le nombre de microsecondes et de secondes tombe dans la " "plage documentée pour les objets :class:`datetime.timedelta`." -#: c-api/datetime.rst:137 +#: c-api/datetime.rst:138 msgid "" "Return a :class:`datetime.timezone` object with an unnamed fixed offset " "represented by the *offset* argument." @@ -215,7 +215,7 @@ msgstr "" "Renvoie un objet :class:`datetime.timezone` avec un décalage anonyme fixe " "représenté par l'argument *offset*." -#: c-api/datetime.rst:144 +#: c-api/datetime.rst:146 msgid "" "Return a :class:`datetime.timezone` object with a fixed offset represented " "by the *offset* argument and with tzname *name*." @@ -223,7 +223,7 @@ msgstr "" "Renvoie un objet :class:`datetime.timezone` avec un décalage fixe représenté " "par l'argument *offset* et avec le nom de fuseau horaire *name*." -#: c-api/datetime.rst:150 +#: c-api/datetime.rst:152 #, fuzzy msgid "" "Macros to extract fields from date objects. The argument must be an " @@ -236,19 +236,19 @@ msgstr "" "`PyDateTime_DateTime`). L'argument ne doit pas être *NULL*, et le type n'est " "pas vérifié :" -#: c-api/datetime.rst:157 +#: c-api/datetime.rst:159 msgid "Return the year, as a positive int." msgstr "Renvoie l'année, sous forme d'entier positif." -#: c-api/datetime.rst:162 +#: c-api/datetime.rst:164 msgid "Return the month, as an int from 1 through 12." msgstr "Renvoie le mois, sous forme d'entier allant de 1 à 12." -#: c-api/datetime.rst:167 +#: c-api/datetime.rst:169 msgid "Return the day, as an int from 1 through 31." msgstr "Renvoie le jour, sous forme d'entier allant de 1 à 31." -#: c-api/datetime.rst:170 +#: c-api/datetime.rst:172 #, fuzzy msgid "" "Macros to extract fields from datetime objects. The argument must be an " @@ -259,27 +259,32 @@ msgstr "" "une instance de :c:data:`PyDateTime_DateTime` ou une sous-classe de celle-" "ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :" -#: c-api/datetime.rst:205 +#: c-api/datetime.rst:216 msgid "Return the hour, as an int from 0 through 23." msgstr "Renvoie l'heure, sous forme d'entier allant de 0 à 23." -#: c-api/datetime.rst:210 +#: c-api/datetime.rst:221 msgid "Return the minute, as an int from 0 through 59." msgstr "Renvoie la minute, sous forme d'entier allant de 0 à 59." -#: c-api/datetime.rst:215 +#: c-api/datetime.rst:226 msgid "Return the second, as an int from 0 through 59." msgstr "Renvoie la seconde, sous forme d'entier allant de 0 à 59." -#: c-api/datetime.rst:220 +#: c-api/datetime.rst:231 msgid "Return the microsecond, as an int from 0 through 999999." msgstr "Renvoie la microseconde, sous forme d'entier allant de 0 à 999999." -#: c-api/datetime.rst:224 +#: c-api/datetime.rst:236 +#, fuzzy +msgid "Return the fold, as an int from 0 through 1." +msgstr "Renvoie le jour, sous forme d'entier allant de 1 à 31." + +#: c-api/datetime.rst:243 msgid "Return the tzinfo (which may be ``None``)." msgstr "" -#: c-api/datetime.rst:199 +#: c-api/datetime.rst:210 #, fuzzy msgid "" "Macros to extract fields from time objects. The argument must be an " @@ -290,7 +295,7 @@ msgstr "" "instance de :c:data:`PyDateTime_Time` ou une sous-classe de celle-ci. " "L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :" -#: c-api/datetime.rst:229 +#: c-api/datetime.rst:248 #, fuzzy msgid "" "Macros to extract fields from time delta objects. The argument must be an " @@ -301,26 +306,26 @@ msgstr "" "être une instance de :c:data:`PyDateTime_Delta` ou une sous-classe de celle-" "ci. L'argument ne doit pas être *NULL*, et le type n'est pas vérifié :" -#: c-api/datetime.rst:235 +#: c-api/datetime.rst:254 msgid "Return the number of days, as an int from -999999999 to 999999999." msgstr "" "Renvoie le nombre de jours, sous forme d'entier allant de ``-999999999`` à " "``999999999``." -#: c-api/datetime.rst:242 +#: c-api/datetime.rst:261 msgid "Return the number of seconds, as an int from 0 through 86399." msgstr "Renvoie le nombre de secondes sous forme d'entier allant de 0 à 86399." -#: c-api/datetime.rst:249 +#: c-api/datetime.rst:268 msgid "Return the number of microseconds, as an int from 0 through 999999." msgstr "" "Renvoie le nombre de microsecondes, sous forme d'entier allant de 0 à 999999." -#: c-api/datetime.rst:254 +#: c-api/datetime.rst:273 msgid "Macros for the convenience of modules implementing the DB API:" msgstr "Macros de confort pour les modules implémentant l'API DB :" -#: c-api/datetime.rst:258 +#: c-api/datetime.rst:277 msgid "" "Create and return a new :class:`datetime.datetime` object given an argument " "tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`." @@ -328,7 +333,7 @@ msgstr "" "Crée et renvoie un nouvel objet :class:`datetime.datetime` à partir d'un n-" "uplet qui peut être passé à :meth:`datetime.datetime.fromtimestamp()`." -#: c-api/datetime.rst:264 +#: c-api/datetime.rst:283 msgid "" "Create and return a new :class:`datetime.date` object given an argument " "tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`." diff --git a/c-api/dict.po b/c-api/dict.po index 98d4e69d0e..258e01c505 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-03 11:36+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -84,7 +84,7 @@ msgstr "" #: c-api/dict.rst:75 msgid "" "Insert *val* into the dictionary *p* using *key* as a key. *key* should be " -"a :c:type:`const char*`. The key object is created using " +"a :c:expr:`const char*`. The key object is created using " "``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on " "failure. This function *does not* steal a reference to *val*." msgstr "" @@ -132,7 +132,7 @@ msgstr "" #: c-api/dict.rst:120 msgid "" "This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:" -"type:`const char*`, rather than a :c:type:`PyObject*`." +"expr:`const char*`, rather than a :c:expr:`PyObject*`." msgstr "" #: c-api/dict.rst:123 @@ -180,7 +180,7 @@ msgid "" "`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the " "first call to this function to start the iteration; the function returns " "true for each pair in the dictionary, and false once all pairs have been " -"reported. The parameters *pkey* and *pvalue* should either point to :c:type:" +"reported. The parameters *pkey* and *pvalue* should either point to :c:expr:" "`PyObject*` variables that will be filled in with each key and value, " "respectively, or may be ``NULL``. Any references returned through them are " "borrowed. *ppos* should not be altered during iteration. Its value " diff --git a/c-api/exceptions.po b/c-api/exceptions.po index cfa9cff31e..533e9b28e5 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-04 12:24+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -28,8 +28,8 @@ msgid "" "occurred. Most C API functions don't clear this on success, but will set it " "to indicate the cause of the error on failure. Most C API functions also " "return an error indicator, usually ``NULL`` if they are supposed to return a " -"pointer, or ``-1`` if they return an integer (exception: the :c:func:" -"`PyArg_\\*` functions return ``1`` for success and ``0`` for failure)." +"pointer, or ``-1`` if they return an integer (exception: the ``PyArg_*`` " +"functions return ``1`` for success and ``0`` for failure)." msgstr "" #: c-api/exceptions.rst:20 @@ -219,12 +219,12 @@ msgstr "" #: c-api/exceptions.rst:191 msgid "" "This is a convenience function to raise :exc:`WindowsError`. If called with " -"*ierr* of :c:data:`0`, the error code returned by a call to :c:func:" -"`GetLastError` is used instead. It calls the Win32 function :c:func:" -"`FormatMessage` to retrieve the Windows description of error code given by " -"*ierr* or :c:func:`GetLastError`, then it constructs a tuple object whose " -"first item is the *ierr* value and whose second item is the corresponding " -"error message (gotten from :c:func:`FormatMessage`), and then calls " +"*ierr* of ``0``, the error code returned by a call to :c:func:`GetLastError` " +"is used instead. It calls the Win32 function :c:func:`FormatMessage` to " +"retrieve the Windows description of error code given by *ierr* or :c:func:" +"`GetLastError`, then it constructs a tuple object whose first item is the " +"*ierr* value and whose second item is the corresponding error message " +"(gotten from :c:func:`FormatMessage`), and then calls " "``PyErr_SetObject(PyExc_WindowsError, object)``. This function always " "returns ``NULL``." msgstr "" @@ -387,10 +387,10 @@ msgstr "" #: c-api/exceptions.rst:372 msgid "" "Test whether the error indicator is set. If set, return the exception " -"*type* (the first argument to the last call to one of the :c:func:" -"`PyErr_Set\\*` functions or to :c:func:`PyErr_Restore`). If not set, return " -"``NULL``. You do not own a reference to the return value, so you do not " -"need to :c:func:`Py_DECREF` it." +"*type* (the first argument to the last call to one of the ``PyErr_Set*`` " +"functions or to :c:func:`PyErr_Restore`). If not set, return ``NULL``. You " +"do not own a reference to the return value, so you do not need to :c:func:" +"`Py_DECREF` it." msgstr "" #: c-api/exceptions.rst:378 @@ -878,7 +878,7 @@ msgstr "Exceptions standards" msgid "" "All standard Python exceptions are available as global variables whose names " "are ``PyExc_`` followed by the Python exception name. These have the type :" -"c:type:`PyObject*`; they are all class objects. For completeness, here are " +"c:expr:`PyObject*`; they are all class objects. For completeness, here are " "all the variables:" msgstr "" @@ -1389,7 +1389,7 @@ msgstr "" msgid "" "All standard Python warning categories are available as global variables " "whose names are ``PyExc_`` followed by the Python exception name. These have " -"the type :c:type:`PyObject*`; they are all class objects. For completeness, " +"the type :c:expr:`PyObject*`; they are all class objects. For completeness, " "here are all the variables:" msgstr "" diff --git a/c-api/file.po b/c-api/file.po index 37f2ce1a5a..d33211c76f 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-19 16:59+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 12:00+0100\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -23,7 +23,7 @@ msgstr "Objets fichiers" #, fuzzy msgid "" "These APIs are a minimal emulation of the Python 2 C API for built-in file " -"objects, which used to rely on the buffered I/O (:c:type:`FILE*`) support " +"objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support " "from the C standard library. In Python 3, files and streams use the new :" "mod:`io` module, which defines several layers over the low-level unbuffered " "I/O of the operating system. The functions described below are convenience " @@ -76,8 +76,9 @@ msgid "Ignore *name* attribute." msgstr "ignore l'attribut *name*" #: c-api/file.rst:41 +#, fuzzy msgid "" -"Return the file descriptor associated with *p* as an :c:type:`int`. If the " +"Return the file descriptor associated with *p* as an :c:expr:`int`. If the " "object is an integer, its value is returned. If not, the object's :meth:" "`~io.IOBase.fileno` method is called if it exists; the method must return an " "integer, which is returned as the file descriptor value. Sets an exception " @@ -120,7 +121,7 @@ msgstr "" #: c-api/file.rst:68 msgid "" -"The handler is a function of type :c:type:`PyObject *(\\*)(PyObject *path, " +"The handler is a function of type :c:expr:`PyObject *(\\*)(PyObject *path, " "void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`." msgstr "" diff --git a/c-api/float.po b/c-api/float.po index 7f8321515e..cd18ca540b 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-27 19:26+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-01-14 15:30+0100\n" "Last-Translator: ANTOINE FOURES \n" "Language-Team: FRENCH \n" @@ -72,7 +72,7 @@ msgstr "" #: c-api/float.rst:47 #, fuzzy msgid "" -"Return a C :c:type:`double` representation of the contents of *pyfloat*. If " +"Return a C :c:expr:`double` representation of the contents of *pyfloat*. If " "*pyfloat* is not a Python floating point object but has a :meth:`__float__` " "method, this method will first be called to convert *pyfloat* into a float. " "If ``__float__()`` is not defined then it falls back to :meth:`__index__`. " @@ -91,8 +91,9 @@ msgid "Use :meth:`__index__` if available." msgstr "" #: c-api/float.rst:60 +#, fuzzy msgid "" -"Return a C :c:type:`double` representation of the contents of *pyfloat*, but " +"Return a C :c:expr:`double` representation of the contents of *pyfloat*, but " "without error checking." msgstr "" "Renvoie une représentation du contenu d'un *pyfloat* sous la forme d'un :c:" @@ -109,16 +110,18 @@ msgstr "" "flottante. C'est une enveloppe autour du fichier d'entête :file:`float.h`." #: c-api/float.rst:73 +#, fuzzy msgid "" -"Return the maximum representable finite float *DBL_MAX* as C :c:type:" +"Return the maximum representable finite float *DBL_MAX* as C :c:expr:" "`double`." msgstr "" "Renvoie le nombre à virgule flottante fini maximal *DBL_MAX* sous la forme " "d'un :c:type:`double` en C." #: c-api/float.rst:78 +#, fuzzy msgid "" -"Return the minimum normalized positive float *DBL_MIN* as C :c:type:`double`." +"Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`." msgstr "" "Renvoie le nombre à virgule flottante minimal normalisé *DBL_MIN* sous la " "forme :c:type:`double` en C." diff --git a/c-api/import.po b/c-api/import.po index c3945cabcd..4303354d0e 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -271,8 +271,9 @@ msgid "" msgstr "" #: c-api/import.rst:264 +#, fuzzy msgid "" -"This pointer is initialized to point to an array of :c:type:`struct _frozen` " +"This pointer is initialized to point to an array of :c:struct:`_frozen` " "records, terminated by one whose members are all ``NULL`` or zero. When a " "frozen module is imported, it is searched in this table. Third-party code " "could play tricks with this to provide a dynamically created collection of " diff --git a/c-api/init.po b/c-api/init.po index c67caebbfe..9b405aab2e 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-11-29 18:22+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -542,7 +542,7 @@ msgstr "" #: c-api/init.rst:511 c-api/init.rst:644 c-api/init.rst:661 msgid "" -"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:type:" +"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" "`wchar_*` string." msgstr "" @@ -930,11 +930,11 @@ msgstr "" #: c-api/init.rst:803 msgid "" -"Note that the :c:func:`PyGILState_\\*` functions assume there is only one " -"global interpreter (created automatically by :c:func:`Py_Initialize`). " -"Python supports the creation of additional interpreters (using :c:func:" -"`Py_NewInterpreter`), but mixing multiple interpreters and the :c:func:" -"`PyGILState_\\*` API is unsupported." +"Note that the ``PyGILState_*`` functions assume there is only one global " +"interpreter (created automatically by :c:func:`Py_Initialize`). Python " +"supports the creation of additional interpreters (using :c:func:" +"`Py_NewInterpreter`), but mixing multiple interpreters and the " +"``PyGILState_*`` API is unsupported." msgstr "" #: c-api/init.rst:813 @@ -1010,7 +1010,7 @@ msgstr "" #: c-api/init.rst:869 msgid "" "This data structure represents the state of a single thread. The only " -"public data member is :attr:`interp` (:c:type:`PyInterpreterState *`), which " +"public data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which " "points to this thread's interpreter state." msgstr "" @@ -1380,7 +1380,7 @@ msgstr "" #: c-api/init.rst:1223 msgid "" -"The type of the *id* parameter changed from :c:type:`long` to :c:type:" +"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:" "`unsigned long`." msgstr "" @@ -1574,10 +1574,10 @@ msgstr "" #: c-api/init.rst:1411 msgid "" -"Also note that combining this functionality with :c:func:`PyGILState_\\*` " -"APIs is delicate, because these APIs assume a bijection between Python " -"thread states and OS-level threads, an assumption broken by the presence of " -"sub-interpreters. It is highly recommended that you don't switch sub-" +"Also note that combining this functionality with ``PyGILState_*`` APIs is " +"delicate, because these APIs assume a bijection between Python thread states " +"and OS-level threads, an assumption broken by the presence of sub-" +"interpreters. It is highly recommended that you don't switch sub-" "interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:" "func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:" "`ctypes`) using these APIs to allow calling of Python code from non-Python " @@ -1881,7 +1881,7 @@ msgid "" "(TLS) which wraps the underlying native TLS implementation to support the " "Python-level thread local storage API (:class:`threading.local`). The " "CPython C level APIs are similar to those offered by pthreads and Windows: " -"use a thread key and functions to associate a :c:type:`void*` value per " +"use a thread key and functions to associate a :c:expr:`void*` value per " "thread." msgstr "" @@ -1900,8 +1900,8 @@ msgstr "" #: c-api/init.rst:1669 msgid "" "None of these API functions handle memory management on behalf of the :c:" -"type:`void*` values. You need to allocate and deallocate them yourself. If " -"the :c:type:`void*` values happen to be :c:type:`PyObject*`, these functions " +"expr:`void*` values. You need to allocate and deallocate them yourself. If " +"the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions " "don't do refcount operations on them either." msgstr "" @@ -1913,7 +1913,7 @@ msgstr "" msgid "" "TSS API is introduced to supersede the use of the existing TLS API within " "the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` " -"instead of :c:type:`int` to represent thread keys." +"instead of :c:expr:`int` to represent thread keys." msgstr "" #: c-api/init.rst:1685 @@ -1961,7 +1961,7 @@ msgstr "" msgid "" "Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first " "calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals " -"have been unassigned. This is a no-op if the *key* argument is `NULL`." +"have been unassigned. This is a no-op if the *key* argument is ``NULL``." msgstr "" #: c-api/init.rst:1728 @@ -2007,14 +2007,14 @@ msgstr "" #: c-api/init.rst:1767 msgid "" -"Return a zero value to indicate successfully associating a :c:type:`void*` " +"Return a zero value to indicate successfully associating a :c:expr:`void*` " "value with a TSS key in the current thread. Each thread has a distinct " -"mapping of the key to a :c:type:`void*` value." +"mapping of the key to a :c:expr:`void*` value." msgstr "" #: c-api/init.rst:1774 msgid "" -"Return the :c:type:`void*` value associated with a TSS key in the current " +"Return the :c:expr:`void*` value associated with a TSS key in the current " "thread. This returns ``NULL`` if no value is associated with the key in the " "current thread." msgstr "" diff --git a/c-api/init_config.po b/c-api/init_config.po index e85ee32959..9e473d207a 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-09-04 11:42+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -330,7 +330,7 @@ msgid "" "member:`PyConfig.dev_mode`." msgstr "" -#: c-api/init_config.rst:633 c-api/init_config.rst:1094 +#: c-api/init_config.rst:633 c-api/init_config.rst:1093 msgid "Default: ``-1`` in Python mode, ``0`` in isolated mode." msgstr "" @@ -338,7 +338,7 @@ msgstr "" msgid "Isolated mode: see :c:member:`PyConfig.isolated`." msgstr "" -#: c-api/init_config.rst:798 +#: c-api/init_config.rst:797 msgid "Default: ``0`` in Python mode, ``1`` in isolated mode." msgstr "" @@ -364,16 +364,16 @@ msgid "" "variable value." msgstr "" -#: c-api/init_config.rst:811 +#: c-api/init_config.rst:810 msgid "" "Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " "Windows specific code." msgstr "" #: c-api/init_config.rst:588 c-api/init_config.rst:646 -#: c-api/init_config.rst:770 c-api/init_config.rst:814 -#: c-api/init_config.rst:881 c-api/init_config.rst:990 -#: c-api/init_config.rst:1058 c-api/init_config.rst:1129 +#: c-api/init_config.rst:769 c-api/init_config.rst:813 +#: c-api/init_config.rst:880 c-api/init_config.rst:989 +#: c-api/init_config.rst:1057 c-api/init_config.rst:1128 msgid "Default: ``0``." msgstr "" @@ -391,7 +391,7 @@ msgid "" "use_environment`." msgstr "" -#: c-api/init_config.rst:1103 +#: c-api/init_config.rst:1102 msgid "Default: ``1`` in Python config and ``0`` in isolated config." msgstr "" @@ -461,7 +461,7 @@ msgid "" "`~PyPreConfig.parse_argv` of *preconfig* is non-zero." msgstr "" -#: c-api/init_config.rst:1191 +#: c-api/init_config.rst:1190 msgid "" "The caller is responsible to handle exceptions (error or exit) using :c:func:" "`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." @@ -569,7 +569,7 @@ msgstr "" msgid "Fields which are already initialized are left unchanged." msgstr "" -#: c-api/init_config.rst:910 +#: c-api/init_config.rst:909 msgid "" "The :c:func:`PyConfig_Read` function only parses :c:member:`PyConfig.argv` " "arguments once: :c:member:`PyConfig.parse_argv` is set to ``2`` after " @@ -646,9 +646,9 @@ msgid "" msgstr "" #: c-api/init_config.rst:541 c-api/init_config.rst:561 -#: c-api/init_config.rst:662 c-api/init_config.rst:851 -#: c-api/init_config.rst:967 c-api/init_config.rst:998 -#: c-api/init_config.rst:1018 +#: c-api/init_config.rst:662 c-api/init_config.rst:850 +#: c-api/init_config.rst:966 c-api/init_config.rst:997 +#: c-api/init_config.rst:1017 msgid "Default: ``NULL``." msgstr "" @@ -661,7 +661,7 @@ msgid ":data:`sys.base_exec_prefix`." msgstr "" #: c-api/init_config.rst:555 c-api/init_config.rst:655 -#: c-api/init_config.rst:868 c-api/init_config.rst:951 +#: c-api/init_config.rst:867 c-api/init_config.rst:950 msgid "Part of the :ref:`Python Path Configuration ` output." msgstr "" @@ -697,7 +697,7 @@ msgstr "" msgid "stdin is always opened in buffered mode." msgstr "" -#: c-api/init_config.rst:1046 c-api/init_config.rst:1161 +#: c-api/init_config.rst:1045 c-api/init_config.rst:1160 msgid "Default: ``1``." msgstr "" @@ -855,235 +855,235 @@ msgstr "" #: c-api/init_config.rst:691 msgid "" "``\"ascii\"`` if Python detects that ``nl_langinfo(CODESET)`` announces the " -"ASCII encoding (or Roman8 encoding on HP-UX), whereas the ``mbstowcs()`` " -"function decodes from a different encoding (usually Latin1)." +"ASCII encoding, whereas the ``mbstowcs()`` function decodes from a different " +"encoding (usually Latin1)." msgstr "" -#: c-api/init_config.rst:695 +#: c-api/init_config.rst:694 msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string." msgstr "" -#: c-api/init_config.rst:696 +#: c-api/init_config.rst:695 msgid "" "Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result." msgstr "" -#: c-api/init_config.rst:699 +#: c-api/init_config.rst:698 msgid "" "At Python startup, the encoding name is normalized to the Python codec name. " "For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``." msgstr "" -#: c-api/init_config.rst:702 +#: c-api/init_config.rst:701 msgid "See also the :c:member:`~PyConfig.filesystem_errors` member." msgstr "" -#: c-api/init_config.rst:706 +#: c-api/init_config.rst:705 msgid "" ":term:`Filesystem error handler `: :" "func:`sys.getfilesystemencodeerrors`." msgstr "" -#: c-api/init_config.rst:709 +#: c-api/init_config.rst:708 msgid "" "On Windows: use ``\"surrogatepass\"`` by default, or ``\"replace\"`` if :c:" "member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is " "non-zero." msgstr "" -#: c-api/init_config.rst:713 +#: c-api/init_config.rst:712 msgid "On other platforms: use ``\"surrogateescape\"`` by default." msgstr "" -#: c-api/init_config.rst:715 +#: c-api/init_config.rst:714 msgid "Supported error handlers:" msgstr "" -#: c-api/init_config.rst:717 +#: c-api/init_config.rst:716 msgid "``\"strict\"``" msgstr "" -#: c-api/init_config.rst:718 +#: c-api/init_config.rst:717 msgid "``\"surrogateescape\"``" msgstr "" -#: c-api/init_config.rst:719 +#: c-api/init_config.rst:718 msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)" msgstr "" -#: c-api/init_config.rst:721 +#: c-api/init_config.rst:720 msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member." msgstr "" -#: c-api/init_config.rst:726 +#: c-api/init_config.rst:725 msgid "Randomized hash function seed." msgstr "" -#: c-api/init_config.rst:728 +#: c-api/init_config.rst:727 msgid "" "If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at " "Python startup, and :c:member:`~PyConfig.hash_seed` is ignored." msgstr "" -#: c-api/init_config.rst:731 +#: c-api/init_config.rst:730 msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable." msgstr "" -#: c-api/init_config.rst:733 +#: c-api/init_config.rst:732 msgid "" "Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated mode." msgstr "" -#: c-api/init_config.rst:738 +#: c-api/init_config.rst:737 msgid "Python home directory." msgstr "" -#: c-api/init_config.rst:740 +#: c-api/init_config.rst:739 msgid "" "If :c:func:`Py_SetPythonHome` has been called, use its argument if it is not " "``NULL``." msgstr "" -#: c-api/init_config.rst:743 +#: c-api/init_config.rst:742 msgid "Set by the :envvar:`PYTHONHOME` environment variable." msgstr "" -#: c-api/init_config.rst:840 c-api/init_config.rst:942 -#: c-api/init_config.rst:969 +#: c-api/init_config.rst:839 c-api/init_config.rst:941 +#: c-api/init_config.rst:968 msgid "Part of the :ref:`Python Path Configuration ` input." msgstr "" -#: c-api/init_config.rst:751 +#: c-api/init_config.rst:750 msgid "If non-zero, profile import time." msgstr "" -#: c-api/init_config.rst:753 +#: c-api/init_config.rst:752 msgid "" "Set the ``1`` by the :option:`-X importtime <-X>` option and the :envvar:" "`PYTHONPROFILEIMPORTTIME` environment variable." msgstr "" -#: c-api/init_config.rst:760 +#: c-api/init_config.rst:759 msgid "Enter interactive mode after executing a script or a command." msgstr "" -#: c-api/init_config.rst:762 +#: c-api/init_config.rst:761 msgid "" "If greater than 0, enable inspect: when a script is passed as first argument " "or the -c option is used, enter interactive mode after executing the script " "or the command, even when :data:`sys.stdin` does not appear to be a terminal." msgstr "" -#: c-api/init_config.rst:767 +#: c-api/init_config.rst:766 msgid "" "Incremented by the :option:`-i` command line option. Set to ``1`` if the :" "envvar:`PYTHONINSPECT` environment variable is non-empty." msgstr "" -#: c-api/init_config.rst:774 +#: c-api/init_config.rst:773 msgid "Install Python signal handlers?" msgstr "" -#: c-api/init_config.rst:916 c-api/init_config.rst:1113 +#: c-api/init_config.rst:915 c-api/init_config.rst:1112 msgid "Default: ``1`` in Python mode, ``0`` in isolated mode." msgstr "" -#: c-api/init_config.rst:780 +#: c-api/init_config.rst:779 msgid "If greater than 0, enable the interactive mode (REPL)." msgstr "" -#: c-api/init_config.rst:782 +#: c-api/init_config.rst:781 msgid "Incremented by the :option:`-i` command line option." msgstr "" -#: c-api/init_config.rst:788 +#: c-api/init_config.rst:787 msgid "If greater than 0, enable isolated mode:" msgstr "" -#: c-api/init_config.rst:790 +#: c-api/init_config.rst:789 msgid "" ":data:`sys.path` contains neither the script's directory (computed from " "``argv[0]`` or the current directory) nor the user's site-packages directory." msgstr "" -#: c-api/init_config.rst:793 +#: c-api/init_config.rst:792 msgid "" "Python REPL doesn't import :mod:`readline` nor enable default readline " "configuration on interactive prompts." msgstr "" -#: c-api/init_config.rst:795 +#: c-api/init_config.rst:794 msgid "" "Set :c:member:`~PyConfig.use_environment` and :c:member:`~PyConfig." "user_site_directory` to 0." msgstr "" -#: c-api/init_config.rst:800 +#: c-api/init_config.rst:799 msgid "See also :c:member:`PyPreConfig.isolated`." msgstr "" -#: c-api/init_config.rst:804 +#: c-api/init_config.rst:803 msgid "" "If non-zero, use :class:`io.FileIO` instead of :class:`io.WindowsConsoleIO` " "for :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys.stderr`." msgstr "" -#: c-api/init_config.rst:808 +#: c-api/init_config.rst:807 msgid "" "Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " "is set to a non-empty string." msgstr "" -#: c-api/init_config.rst:816 +#: c-api/init_config.rst:815 msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)." msgstr "" -#: c-api/init_config.rst:820 +#: c-api/init_config.rst:819 msgid "" "If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " "` at exit." msgstr "" -#: c-api/init_config.rst:823 +#: c-api/init_config.rst:822 msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable." msgstr "" -#: c-api/init_config.rst:825 +#: c-api/init_config.rst:824 msgid "" "The option is ignored if Python is :option:`configured using the --without-" "pymalloc option <--without-pymalloc>`." msgstr "" -#: c-api/init_config.rst:832 +#: c-api/init_config.rst:831 msgid "Platform library directory name: :data:`sys.platlibdir`." msgstr "" -#: c-api/init_config.rst:834 +#: c-api/init_config.rst:833 msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable." msgstr "" -#: c-api/init_config.rst:836 +#: c-api/init_config.rst:835 msgid "" "Default: value of the ``PLATLIBDIR`` macro which is set by the :option:" "`configure --with-platlibdir option <--with-platlibdir>` (default: " "``\"lib\"``)." msgstr "" -#: c-api/init_config.rst:846 +#: c-api/init_config.rst:845 msgid "" "Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` (:" "data:`os.path.pathsep`)." msgstr "" -#: c-api/init_config.rst:849 +#: c-api/init_config.rst:848 msgid "Set by the :envvar:`PYTHONPATH` environment variable." msgstr "" -#: c-api/init_config.rst:858 +#: c-api/init_config.rst:857 msgid "Module search paths: :data:`sys.path`." msgstr "" -#: c-api/init_config.rst:860 +#: c-api/init_config.rst:859 msgid "" "If :c:member:`~PyConfig.module_search_paths_set` is equal to 0, the function " "calculating the :ref:`Python Path Configuration ` " @@ -1091,41 +1091,41 @@ msgid "" "`~PyConfig.module_search_paths_set` to ``1``." msgstr "" -#: c-api/init_config.rst:865 +#: c-api/init_config.rst:864 msgid "" "Default: empty list (``module_search_paths``) and ``0`` " "(``module_search_paths_set``)." msgstr "" -#: c-api/init_config.rst:872 +#: c-api/init_config.rst:871 msgid "Compilation optimization level:" msgstr "" -#: c-api/init_config.rst:874 +#: c-api/init_config.rst:873 msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``." msgstr "" -#: c-api/init_config.rst:875 +#: c-api/init_config.rst:874 msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``." msgstr "" -#: c-api/init_config.rst:876 +#: c-api/init_config.rst:875 msgid "``2``: Level 1, strip docstrings." msgstr "" -#: c-api/init_config.rst:878 +#: c-api/init_config.rst:877 msgid "" "Incremented by the :option:`-O` command line option. Set to the :envvar:" "`PYTHONOPTIMIZE` environment variable value." msgstr "" -#: c-api/init_config.rst:885 +#: c-api/init_config.rst:884 msgid "" "The list of the original command line arguments passed to the Python " "executable: :data:`sys.orig_argv`." msgstr "" -#: c-api/init_config.rst:888 +#: c-api/init_config.rst:887 msgid "" "If :c:member:`~PyConfig.orig_argv` list is empty and :c:member:`~PyConfig." "argv` is not a list only containing an empty string, :c:func:`PyConfig_Read` " @@ -1134,354 +1134,354 @@ msgid "" "parse_argv` is non-zero)." msgstr "" -#: c-api/init_config.rst:895 +#: c-api/init_config.rst:894 msgid "" "See also the :c:member:`~PyConfig.argv` member and the :c:func:" "`Py_GetArgcArgv` function." msgstr "" -#: c-api/init_config.rst:1148 c-api/init_config.rst:1167 +#: c-api/init_config.rst:1147 c-api/init_config.rst:1166 msgid "Default: empty list." msgstr "" -#: c-api/init_config.rst:904 +#: c-api/init_config.rst:903 msgid "Parse command line arguments?" msgstr "" -#: c-api/init_config.rst:906 +#: c-api/init_config.rst:905 msgid "" "If equals to ``1``, parse :c:member:`~PyConfig.argv` the same way the " "regular Python parses :ref:`command line arguments `, and " "strip Python arguments from :c:member:`~PyConfig.argv`." msgstr "" -#: c-api/init_config.rst:918 +#: c-api/init_config.rst:917 msgid "" "The :c:member:`PyConfig.argv` arguments are now only parsed if :c:member:" "`PyConfig.parse_argv` equals to ``1``." msgstr "" -#: c-api/init_config.rst:924 +#: c-api/init_config.rst:923 msgid "" "Parser debug mode. If greater than 0, turn on parser debugging output (for " "expert only, depending on compilation options)." msgstr "" -#: c-api/init_config.rst:927 +#: c-api/init_config.rst:926 msgid "" "Incremented by the :option:`-d` command line option. Set to the :envvar:" "`PYTHONDEBUG` environment variable value." msgstr "" -#: c-api/init_config.rst:934 +#: c-api/init_config.rst:933 msgid "" "On Unix, if non-zero, calculating the :ref:`Python Path Configuration ` can log warnings into ``stderr``. If equals to 0, suppress " "these warnings." msgstr "" -#: c-api/init_config.rst:938 +#: c-api/init_config.rst:937 msgid "It has no effect on Windows." msgstr "" -#: c-api/init_config.rst:946 +#: c-api/init_config.rst:945 msgid "" "The site-specific directory prefix where the platform independent Python " "files are installed: :data:`sys.prefix`." msgstr "" -#: c-api/init_config.rst:955 +#: c-api/init_config.rst:954 msgid "" "Program name used to initialize :c:member:`~PyConfig.executable` and in " "early error messages during Python initialization." msgstr "" -#: c-api/init_config.rst:958 +#: c-api/init_config.rst:957 msgid "If :func:`Py_SetProgramName` has been called, use its argument." msgstr "" -#: c-api/init_config.rst:959 +#: c-api/init_config.rst:958 msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set." msgstr "" -#: c-api/init_config.rst:960 +#: c-api/init_config.rst:959 msgid "" "If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use :envvar:" "`__PYVENV_LAUNCHER__` environment variable if set." msgstr "" -#: c-api/init_config.rst:962 +#: c-api/init_config.rst:961 msgid "" "Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty." msgstr "" -#: c-api/init_config.rst:964 +#: c-api/init_config.rst:963 msgid "" "Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other " "platforms." msgstr "" -#: c-api/init_config.rst:973 +#: c-api/init_config.rst:972 msgid "" "Directory where cached ``.pyc`` files are written: :data:`sys." "pycache_prefix`." msgstr "" -#: c-api/init_config.rst:976 +#: c-api/init_config.rst:975 msgid "" "Set by the :option:`-X pycache_prefix=PATH <-X>` command line option and " "the :envvar:`PYTHONPYCACHEPREFIX` environment variable." msgstr "" -#: c-api/init_config.rst:979 +#: c-api/init_config.rst:978 msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``." msgstr "" -#: c-api/init_config.rst:985 +#: c-api/init_config.rst:984 msgid "" "Quiet mode. If greater than 0, don't display the copyright and version at " "Python startup in interactive mode." msgstr "" -#: c-api/init_config.rst:988 +#: c-api/init_config.rst:987 msgid "Incremented by the :option:`-q` command line option." msgstr "" -#: c-api/init_config.rst:994 +#: c-api/init_config.rst:993 msgid "Value of the :option:`-c` command line option." msgstr "" -#: c-api/init_config.rst:1008 c-api/init_config.rst:1016 +#: c-api/init_config.rst:1007 c-api/init_config.rst:1015 msgid "Used by :c:func:`Py_RunMain`." msgstr "" -#: c-api/init_config.rst:1002 +#: c-api/init_config.rst:1001 msgid "" "Filename passed on the command line: trailing command line argument without :" "option:`-c` or :option:`-m`." msgstr "" -#: c-api/init_config.rst:1005 +#: c-api/init_config.rst:1004 msgid "" "For example, it is set to ``script.py`` by the ``python3 script.py arg`` " "command." msgstr "" -#: c-api/init_config.rst:1014 +#: c-api/init_config.rst:1013 msgid "Value of the :option:`-m` command line option." msgstr "" -#: c-api/init_config.rst:1022 +#: c-api/init_config.rst:1021 msgid "Show total reference count at exit?" msgstr "" -#: c-api/init_config.rst:1024 +#: c-api/init_config.rst:1023 msgid "Set to 1 by :option:`-X showrefcount <-X>` command line option." msgstr "" -#: c-api/init_config.rst:1026 +#: c-api/init_config.rst:1025 msgid "" "Need a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` " "macro must be defined)." msgstr "" -#: c-api/init_config.rst:1033 +#: c-api/init_config.rst:1032 msgid "Import the :mod:`site` module at startup?" msgstr "" -#: c-api/init_config.rst:1035 +#: c-api/init_config.rst:1034 msgid "" "If equal to zero, disable the import of the module site and the site-" "dependent manipulations of :data:`sys.path` that it entails." msgstr "" -#: c-api/init_config.rst:1038 +#: c-api/init_config.rst:1037 msgid "" "Also disable these manipulations if the :mod:`site` module is explicitly " "imported later (call :func:`site.main` if you want them to be triggered)." msgstr "" -#: c-api/init_config.rst:1041 +#: c-api/init_config.rst:1040 msgid "Set to ``0`` by the :option:`-S` command line option." msgstr "" -#: c-api/init_config.rst:1043 +#: c-api/init_config.rst:1042 msgid "" ":data:`sys.flags.no_site` is set to the inverted value of :c:member:" "`~PyConfig.site_import`." msgstr "" -#: c-api/init_config.rst:1050 +#: c-api/init_config.rst:1049 msgid "" "If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` " "source." msgstr "" -#: c-api/init_config.rst:1053 +#: c-api/init_config.rst:1052 msgid "" "It allows the usage of non-Unix forms of ``#!cmd``. This is intended for a " "DOS specific hack only." msgstr "" -#: c-api/init_config.rst:1056 +#: c-api/init_config.rst:1055 msgid "Set to ``1`` by the :option:`-x` command line option." msgstr "" -#: c-api/init_config.rst:1063 +#: c-api/init_config.rst:1062 msgid "" "Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :" "data:`sys.stderr` (but :data:`sys.stderr` always uses " "``\"backslashreplace\"`` error handler)." msgstr "" -#: c-api/init_config.rst:1067 +#: c-api/init_config.rst:1066 msgid "" "If :c:func:`Py_SetStandardStreamEncoding` has been called, use its *error* " "and *errors* arguments if they are not ``NULL``." msgstr "" -#: c-api/init_config.rst:1070 +#: c-api/init_config.rst:1069 msgid "" "Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty." msgstr "" -#: c-api/init_config.rst:1073 +#: c-api/init_config.rst:1072 msgid "Default encoding:" msgstr "" -#: c-api/init_config.rst:1075 +#: c-api/init_config.rst:1074 msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." msgstr "" -#: c-api/init_config.rst:1076 +#: c-api/init_config.rst:1075 msgid "Otherwise, use the :term:`locale encoding`." msgstr "" -#: c-api/init_config.rst:1078 +#: c-api/init_config.rst:1077 msgid "Default error handler:" msgstr "" -#: c-api/init_config.rst:1080 +#: c-api/init_config.rst:1079 msgid "On Windows: use ``\"surrogateescape\"``." msgstr "" -#: c-api/init_config.rst:1081 +#: c-api/init_config.rst:1080 msgid "" "``\"surrogateescape\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero, or " "if the LC_CTYPE locale is \"C\" or \"POSIX\"." msgstr "" -#: c-api/init_config.rst:1083 +#: c-api/init_config.rst:1082 msgid "``\"strict\"`` otherwise." msgstr "" -#: c-api/init_config.rst:1087 +#: c-api/init_config.rst:1086 msgid "Enable tracemalloc?" msgstr "" -#: c-api/init_config.rst:1089 +#: c-api/init_config.rst:1088 msgid "If non-zero, call :func:`tracemalloc.start` at startup." msgstr "" -#: c-api/init_config.rst:1091 +#: c-api/init_config.rst:1090 msgid "" "Set by :option:`-X tracemalloc=N <-X>` command line option and by the :" "envvar:`PYTHONTRACEMALLOC` environment variable." msgstr "" -#: c-api/init_config.rst:1098 +#: c-api/init_config.rst:1097 msgid "Use :ref:`environment variables `?" msgstr "" -#: c-api/init_config.rst:1100 +#: c-api/init_config.rst:1099 msgid "" "If equals to zero, ignore the :ref:`environment variables `." msgstr "" -#: c-api/init_config.rst:1107 +#: c-api/init_config.rst:1106 msgid "If non-zero, add the user site directory to :data:`sys.path`." msgstr "" -#: c-api/init_config.rst:1109 +#: c-api/init_config.rst:1108 msgid "Set to ``0`` by the :option:`-s` and :option:`-I` command line options." msgstr "" -#: c-api/init_config.rst:1111 +#: c-api/init_config.rst:1110 msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable." msgstr "" -#: c-api/init_config.rst:1117 +#: c-api/init_config.rst:1116 msgid "" "Verbose mode. If greater than 0, print a message each time a module is " "imported, showing the place (filename or built-in module) from which it is " "loaded." msgstr "" -#: c-api/init_config.rst:1121 +#: c-api/init_config.rst:1120 msgid "" "If greater or equal to 2, print a message for each file that is checked for " "when searching for a module. Also provides information on module cleanup at " "exit." msgstr "" -#: c-api/init_config.rst:1125 +#: c-api/init_config.rst:1124 msgid "Incremented by the :option:`-v` command line option." msgstr "" -#: c-api/init_config.rst:1127 +#: c-api/init_config.rst:1126 msgid "Set to the :envvar:`PYTHONVERBOSE` environment variable value." msgstr "" -#: c-api/init_config.rst:1133 +#: c-api/init_config.rst:1132 msgid "" "Options of the :mod:`warnings` module to build warnings filters, lowest to " "highest priority: :data:`sys.warnoptions`." msgstr "" -#: c-api/init_config.rst:1136 +#: c-api/init_config.rst:1135 msgid "" "The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse " "order: the last :c:member:`PyConfig.warnoptions` item becomes the first item " "of :data:`warnings.filters` which is checked first (highest priority)." msgstr "" -#: c-api/init_config.rst:1141 +#: c-api/init_config.rst:1140 msgid "" "The :option:`-W` command line options adds its value to :c:member:`~PyConfig." "warnoptions`, it can be used multiple times." msgstr "" -#: c-api/init_config.rst:1144 +#: c-api/init_config.rst:1143 msgid "" "The :envvar:`PYTHONWARNINGS` environment variable can also be used to add " "warning options. Multiple options can be specified, separated by commas (``," "``)." msgstr "" -#: c-api/init_config.rst:1152 +#: c-api/init_config.rst:1151 msgid "" "If equal to 0, Python won't try to write ``.pyc`` files on the import of " "source modules." msgstr "" -#: c-api/init_config.rst:1155 +#: c-api/init_config.rst:1154 msgid "" "Set to ``0`` by the :option:`-B` command line option and the :envvar:" "`PYTHONDONTWRITEBYTECODE` environment variable." msgstr "" -#: c-api/init_config.rst:1158 +#: c-api/init_config.rst:1157 msgid "" ":data:`sys.dont_write_bytecode` is initialized to the inverted value of :c:" "member:`~PyConfig.write_bytecode`." msgstr "" -#: c-api/init_config.rst:1165 +#: c-api/init_config.rst:1164 msgid "Values of the :option:`-X` command line options: :data:`sys._xoptions`." msgstr "" -#: c-api/init_config.rst:1169 +#: c-api/init_config.rst:1168 msgid "" "If :c:member:`~PyConfig.parse_argv` is non-zero, :c:member:`~PyConfig.argv` " "arguments are parsed the same way the regular Python parses :ref:`command " @@ -1489,29 +1489,29 @@ msgid "" "c:member:`~PyConfig.argv`." msgstr "" -#: c-api/init_config.rst:1174 +#: c-api/init_config.rst:1173 msgid "" "The :c:member:`~PyConfig.xoptions` options are parsed to set other options: " "see the :option:`-X` command line option." msgstr "" -#: c-api/init_config.rst:1179 +#: c-api/init_config.rst:1178 msgid "The ``show_alloc_count`` field has been removed." msgstr "" -#: c-api/init_config.rst:1183 +#: c-api/init_config.rst:1182 msgid "Initialization with PyConfig" msgstr "" -#: c-api/init_config.rst:1185 +#: c-api/init_config.rst:1184 msgid "Function to initialize Python:" msgstr "" -#: c-api/init_config.rst:1189 +#: c-api/init_config.rst:1188 msgid "Initialize Python from *config* configuration." msgstr "" -#: c-api/init_config.rst:1194 +#: c-api/init_config.rst:1193 msgid "" "If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` or :c:" "func:`PyImport_ExtendInittab` are used, they must be set or called after " @@ -1520,34 +1520,34 @@ msgid "" "`PyImport_ExtendInittab` must be called before each Python initialization." msgstr "" -#: c-api/init_config.rst:1201 +#: c-api/init_config.rst:1200 msgid "" "The current configuration (``PyConfig`` type) is stored in " "``PyInterpreterState.config``." msgstr "" -#: c-api/init_config.rst:1204 +#: c-api/init_config.rst:1203 msgid "Example setting the program name::" msgstr "" -#: c-api/init_config.rst:1232 +#: c-api/init_config.rst:1231 msgid "" "More complete example modifying the default configuration, read the " "configuration, and then override some parameters::" msgstr "" -#: c-api/init_config.rst:1283 +#: c-api/init_config.rst:1282 msgid "Isolated Configuration" msgstr "" -#: c-api/init_config.rst:1285 +#: c-api/init_config.rst:1284 msgid "" ":c:func:`PyPreConfig_InitIsolatedConfig` and :c:func:" "`PyConfig_InitIsolatedConfig` functions create a configuration to isolate " "Python from the system. For example, to embed Python into an application." msgstr "" -#: c-api/init_config.rst:1290 +#: c-api/init_config.rst:1289 msgid "" "This configuration ignores global configuration variables, environment " "variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) " @@ -1555,7 +1555,7 @@ msgid "" "LC_CTYPE locale are left unchanged. Signal handlers are not installed." msgstr "" -#: c-api/init_config.rst:1295 +#: c-api/init_config.rst:1294 msgid "" "Configuration files are still used with this configuration. Set the :ref:" "`Python Path Configuration ` (\"output fields\") to ignore " @@ -1563,118 +1563,118 @@ msgid "" "configuration." msgstr "" -#: c-api/init_config.rst:1304 +#: c-api/init_config.rst:1303 msgid "Python Configuration" msgstr "" -#: c-api/init_config.rst:1306 +#: c-api/init_config.rst:1305 msgid "" ":c:func:`PyPreConfig_InitPythonConfig` and :c:func:" "`PyConfig_InitPythonConfig` functions create a configuration to build a " "customized Python which behaves as the regular Python." msgstr "" -#: c-api/init_config.rst:1310 +#: c-api/init_config.rst:1309 msgid "" "Environments variables and command line arguments are used to configure " "Python, whereas global configuration variables are ignored." msgstr "" -#: c-api/init_config.rst:1313 +#: c-api/init_config.rst:1312 msgid "" "This function enables C locale coercion (:pep:`538`) and :ref:`Python UTF-8 " "Mode ` (:pep:`540`) depending on the LC_CTYPE locale, :envvar:" "`PYTHONUTF8` and :envvar:`PYTHONCOERCECLOCALE` environment variables." msgstr "" -#: c-api/init_config.rst:1322 +#: c-api/init_config.rst:1321 msgid "Python Path Configuration" msgstr "" -#: c-api/init_config.rst:1324 +#: c-api/init_config.rst:1323 msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:" msgstr "" -#: c-api/init_config.rst:1326 +#: c-api/init_config.rst:1325 msgid "Path configuration inputs:" msgstr "" -#: c-api/init_config.rst:1328 +#: c-api/init_config.rst:1327 msgid ":c:member:`PyConfig.home`" msgstr "" -#: c-api/init_config.rst:1329 +#: c-api/init_config.rst:1328 msgid ":c:member:`PyConfig.platlibdir`" msgstr "" -#: c-api/init_config.rst:1330 +#: c-api/init_config.rst:1329 msgid ":c:member:`PyConfig.pathconfig_warnings`" msgstr "" -#: c-api/init_config.rst:1331 +#: c-api/init_config.rst:1330 msgid ":c:member:`PyConfig.program_name`" msgstr "" -#: c-api/init_config.rst:1332 +#: c-api/init_config.rst:1331 msgid ":c:member:`PyConfig.pythonpath_env`" msgstr "" -#: c-api/init_config.rst:1333 +#: c-api/init_config.rst:1332 msgid "current working directory: to get absolute paths" msgstr "" -#: c-api/init_config.rst:1334 +#: c-api/init_config.rst:1333 msgid "" "``PATH`` environment variable to get the program full path (from :c:member:" "`PyConfig.program_name`)" msgstr "" -#: c-api/init_config.rst:1336 +#: c-api/init_config.rst:1335 msgid "``__PYVENV_LAUNCHER__`` environment variable" msgstr "" -#: c-api/init_config.rst:1337 +#: c-api/init_config.rst:1336 msgid "" "(Windows only) Application paths in the registry under " "\"Software\\Python\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and " "HKEY_LOCAL_MACHINE (where X.Y is the Python version)." msgstr "" -#: c-api/init_config.rst:1341 +#: c-api/init_config.rst:1340 msgid "Path configuration output fields:" msgstr "" -#: c-api/init_config.rst:1343 +#: c-api/init_config.rst:1342 msgid ":c:member:`PyConfig.base_exec_prefix`" msgstr "" -#: c-api/init_config.rst:1344 +#: c-api/init_config.rst:1343 msgid ":c:member:`PyConfig.base_executable`" msgstr "" -#: c-api/init_config.rst:1345 +#: c-api/init_config.rst:1344 msgid ":c:member:`PyConfig.base_prefix`" msgstr "" -#: c-api/init_config.rst:1346 +#: c-api/init_config.rst:1345 msgid ":c:member:`PyConfig.exec_prefix`" msgstr "" -#: c-api/init_config.rst:1347 +#: c-api/init_config.rst:1346 msgid ":c:member:`PyConfig.executable`" msgstr "" -#: c-api/init_config.rst:1348 +#: c-api/init_config.rst:1347 msgid "" ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." "module_search_paths`" msgstr "" -#: c-api/init_config.rst:1350 +#: c-api/init_config.rst:1349 msgid ":c:member:`PyConfig.prefix`" msgstr "" -#: c-api/init_config.rst:1352 +#: c-api/init_config.rst:1351 msgid "" "If at least one \"output field\" is not set, Python calculates the path " "configuration to fill unset fields. If :c:member:`~PyConfig." @@ -1683,7 +1683,7 @@ msgid "" "module_search_paths_set` is set to 1." msgstr "" -#: c-api/init_config.rst:1358 +#: c-api/init_config.rst:1357 msgid "" "It is possible to completely ignore the function calculating the default " "path configuration by setting explicitly all path configuration output " @@ -1693,52 +1693,52 @@ msgid "" "well." msgstr "" -#: c-api/init_config.rst:1365 +#: c-api/init_config.rst:1364 msgid "" "Set :c:member:`~PyConfig.pathconfig_warnings` to 0 to suppress warnings when " "calculating the path configuration (Unix only, Windows does not log any " "warning)." msgstr "" -#: c-api/init_config.rst:1368 +#: c-api/init_config.rst:1367 msgid "" "If :c:member:`~PyConfig.base_prefix` or :c:member:`~PyConfig." "base_exec_prefix` fields are not set, they inherit their value from :c:" "member:`~PyConfig.prefix` and :c:member:`~PyConfig.exec_prefix` respectively." msgstr "" -#: c-api/init_config.rst:1372 +#: c-api/init_config.rst:1371 msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" msgstr "" -#: c-api/init_config.rst:1374 +#: c-api/init_config.rst:1373 msgid "" "If :c:member:`~PyConfig.run_filename` is set and is a directory which " "contains a ``__main__.py`` script, prepend :c:member:`~PyConfig." "run_filename` to :data:`sys.path`." msgstr "" -#: c-api/init_config.rst:1377 +#: c-api/init_config.rst:1376 msgid "If :c:member:`~PyConfig.isolated` is zero:" msgstr "" -#: c-api/init_config.rst:1379 +#: c-api/init_config.rst:1378 msgid "" "If :c:member:`~PyConfig.run_module` is set, prepend the current directory " "to :data:`sys.path`. Do nothing if the current directory cannot be read." msgstr "" -#: c-api/init_config.rst:1381 +#: c-api/init_config.rst:1380 msgid "" "If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the " "filename to :data:`sys.path`." msgstr "" -#: c-api/init_config.rst:1383 +#: c-api/init_config.rst:1382 msgid "Otherwise, prepend an empty string to :data:`sys.path`." msgstr "" -#: c-api/init_config.rst:1385 +#: c-api/init_config.rst:1384 msgid "" "If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be " "modified by the :mod:`site` module. If :c:member:`~PyConfig." @@ -1747,156 +1747,156 @@ msgid "" "data:`sys.path`." msgstr "" -#: c-api/init_config.rst:1391 +#: c-api/init_config.rst:1390 msgid "The following configuration files are used by the path configuration:" msgstr "" -#: c-api/init_config.rst:1393 +#: c-api/init_config.rst:1392 msgid "``pyvenv.cfg``" msgstr "" -#: c-api/init_config.rst:1394 +#: c-api/init_config.rst:1393 msgid "``python._pth`` (Windows only)" msgstr "" -#: c-api/init_config.rst:1395 +#: c-api/init_config.rst:1394 msgid "``pybuilddir.txt`` (Unix only)" msgstr "" -#: c-api/init_config.rst:1397 +#: c-api/init_config.rst:1396 msgid "" "The ``__PYVENV_LAUNCHER__`` environment variable is used to set :c:member:" "`PyConfig.base_executable`" msgstr "" -#: c-api/init_config.rst:1402 +#: c-api/init_config.rst:1401 msgid "Py_RunMain()" msgstr "" -#: c-api/init_config.rst:1406 +#: c-api/init_config.rst:1405 msgid "" "Execute the command (:c:member:`PyConfig.run_command`), the script (:c:" "member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." "run_module`) specified on the command line or in the configuration." msgstr "" -#: c-api/init_config.rst:1411 +#: c-api/init_config.rst:1410 msgid "By default and when if :option:`-i` option is used, run the REPL." msgstr "" -#: c-api/init_config.rst:1413 +#: c-api/init_config.rst:1412 msgid "" "Finally, finalizes Python and returns an exit status that can be passed to " "the ``exit()`` function." msgstr "" -#: c-api/init_config.rst:1416 +#: c-api/init_config.rst:1415 msgid "" "See :ref:`Python Configuration ` for an example of " "customized Python always running in isolated mode using :c:func:`Py_RunMain`." msgstr "" -#: c-api/init_config.rst:1422 +#: c-api/init_config.rst:1421 msgid "Py_GetArgcArgv()" msgstr "" -#: c-api/init_config.rst:1426 +#: c-api/init_config.rst:1425 msgid "Get the original command line arguments, before Python modified them." msgstr "" -#: c-api/init_config.rst:1428 +#: c-api/init_config.rst:1427 msgid "See also :c:member:`PyConfig.orig_argv` member." msgstr "" -#: c-api/init_config.rst:1432 +#: c-api/init_config.rst:1431 msgid "Multi-Phase Initialization Private Provisional API" msgstr "" -#: c-api/init_config.rst:1434 +#: c-api/init_config.rst:1433 msgid "" "This section is a private provisional API introducing multi-phase " "initialization, the core feature of :pep:`432`:" msgstr "" -#: c-api/init_config.rst:1437 +#: c-api/init_config.rst:1436 msgid "\"Core\" initialization phase, \"bare minimum Python\":" msgstr "" -#: c-api/init_config.rst:1439 +#: c-api/init_config.rst:1438 msgid "Builtin types;" msgstr "" -#: c-api/init_config.rst:1440 +#: c-api/init_config.rst:1439 msgid "Builtin exceptions;" msgstr "" -#: c-api/init_config.rst:1441 +#: c-api/init_config.rst:1440 msgid "Builtin and frozen modules;" msgstr "" -#: c-api/init_config.rst:1442 +#: c-api/init_config.rst:1441 msgid "" "The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` " "doesn't exist yet)." msgstr "" -#: c-api/init_config.rst:1445 +#: c-api/init_config.rst:1444 msgid "\"Main\" initialization phase, Python is fully initialized:" msgstr "" -#: c-api/init_config.rst:1447 +#: c-api/init_config.rst:1446 msgid "Install and configure :mod:`importlib`;" msgstr "" -#: c-api/init_config.rst:1448 +#: c-api/init_config.rst:1447 msgid "Apply the :ref:`Path Configuration `;" msgstr "" -#: c-api/init_config.rst:1449 +#: c-api/init_config.rst:1448 msgid "Install signal handlers;" msgstr "" -#: c-api/init_config.rst:1450 +#: c-api/init_config.rst:1449 msgid "" "Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :" "data:`sys.path`);" msgstr "" -#: c-api/init_config.rst:1452 +#: c-api/init_config.rst:1451 msgid "" "Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;" msgstr "" -#: c-api/init_config.rst:1453 +#: c-api/init_config.rst:1452 msgid "Import the :mod:`site` module;" msgstr "" -#: c-api/init_config.rst:1454 +#: c-api/init_config.rst:1453 msgid "etc." msgstr "" -#: c-api/init_config.rst:1456 +#: c-api/init_config.rst:1455 msgid "Private provisional API:" msgstr "" -#: c-api/init_config.rst:1458 +#: c-api/init_config.rst:1457 msgid "" ":c:member:`PyConfig._init_main`: if set to 0, :c:func:" "`Py_InitializeFromConfig` stops at the \"Core\" initialization phase." msgstr "" -#: c-api/init_config.rst:1460 +#: c-api/init_config.rst:1459 msgid "" ":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, " "subprocesses and fork." msgstr "" -#: c-api/init_config.rst:1465 +#: c-api/init_config.rst:1464 msgid "" "Move to the \"Main\" initialization phase, finish the Python initialization." msgstr "" -#: c-api/init_config.rst:1467 +#: c-api/init_config.rst:1466 msgid "" "No module is imported during the \"Core\" phase and the ``importlib`` module " "is not configured: the :ref:`Path Configuration ` is only " @@ -1905,14 +1905,14 @@ msgid "" "maybe install a custom :data:`sys.meta_path` importer or an import hook, etc." msgstr "" -#: c-api/init_config.rst:1473 +#: c-api/init_config.rst:1472 msgid "" "It may become possible to calculatin the :ref:`Path Configuration ` in Python, after the Core phase and before the Main phase, which is " "one of the :pep:`432` motivation." msgstr "" -#: c-api/init_config.rst:1477 +#: c-api/init_config.rst:1476 msgid "" "The \"Core\" phase is not properly defined: what should be and what should " "not be available at this phase is not specified yet. The API is marked as " @@ -1920,7 +1920,7 @@ msgid "" "until a proper public API is designed." msgstr "" -#: c-api/init_config.rst:1482 +#: c-api/init_config.rst:1481 msgid "" "Example running Python code between \"Core\" and \"Main\" initialization " "phases::" diff --git a/c-api/intro.po b/c-api/intro.po index 5312aed40a..6ee2f113d2 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -272,13 +272,13 @@ msgstr "" #: c-api/intro.rst:231 msgid "" "Most Python/C API functions have one or more arguments as well as a return " -"value of type :c:type:`PyObject*`. This type is a pointer to an opaque data " +"value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data " "type representing an arbitrary Python object. Since all Python object types " "are treated the same way by the Python language in most situations (e.g., " "assignments, scope rules, and argument passing), it is only fitting that " "they should be represented by a single C type. Almost all Python objects " "live on the heap: you never declare an automatic or static variable of type :" -"c:type:`PyObject`, only pointer variables of type :c:type:`PyObject*` can " +"c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` can " "be declared. The sole exception are the type objects; since these must " "never be deallocated, they are typically static :c:type:`PyTypeObject` " "objects." @@ -491,8 +491,8 @@ msgstr "" #: c-api/intro.rst:497 msgid "" "There are few other data types that play a significant role in the Python/C " -"API; most are simple C types such as :c:type:`int`, :c:type:`long`, :c:type:" -"`double` and :c:type:`char*`. A few structure types are used to describe " +"API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, :c:expr:" +"`double` and :c:expr:`char*`. A few structure types are used to describe " "static tables used to list the functions exported by a module or the data " "attributes of a new object type, and another is used to describe the value " "of a complex number. These will be discussed together with the functions " @@ -705,7 +705,7 @@ msgid "" "`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are " "available that support tracing of reference counts, debugging the memory " "allocator, or low-level profiling of the main interpreter loop. Only the " -"most frequently-used builds will be described in the remainder of this " +"most frequently used builds will be described in the remainder of this " "section." msgstr "" diff --git a/c-api/long.po b/c-api/long.po index 2aa849f822..86eea64058 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -78,7 +78,7 @@ msgstr "" #: c-api/long.rst:50 msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long`, " +"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, " "or ``NULL`` on failure." msgstr "" @@ -96,13 +96,13 @@ msgstr "" #: c-api/long.rst:68 msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:type:`long long`, or " +"Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or " "``NULL`` on failure." msgstr "" #: c-api/long.rst:74 msgid "" -"Return a new :c:type:`PyLongObject` object from a C :c:type:`unsigned long " +"Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long " "long`, or ``NULL`` on failure." msgstr "" @@ -139,7 +139,7 @@ msgstr "" #: c-api/long.rst:136 msgid "" -"Return a C :c:type:`long` representation of *obj*. If *obj* is not an " +"Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" @@ -147,7 +147,7 @@ msgstr "" #: c-api/long.rst:122 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" -"type:`long`." +"expr:`long`." msgstr "" #: c-api/long.rst:145 c-api/long.rst:186 c-api/long.rst:209 @@ -172,7 +172,7 @@ msgstr "" #: c-api/long.rst:177 msgid "" -"Return a C :c:type:`long long` representation of *obj*. If *obj* is not an " +"Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" @@ -180,7 +180,7 @@ msgstr "" #: c-api/long.rst:163 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" -"type:`long long`." +"expr:`long long`." msgstr "" #: c-api/long.rst:181 @@ -205,14 +205,14 @@ msgstr "" #: c-api/long.rst:218 msgid "" -"Return a C :c:type:`unsigned long` representation of *pylong*. *pylong* " +"Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* " "must be an instance of :c:type:`PyLongObject`." msgstr "" #: c-api/long.rst:221 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"type:`unsigned long`." +"expr:`unsigned long`." msgstr "" #: c-api/long.rst:224 @@ -241,14 +241,14 @@ msgstr "" #: c-api/long.rst:249 msgid "" -"Return a C :c:type:`unsigned long long` representation of *pylong*. " +"Return a C :c:expr:`unsigned long long` representation of *pylong*. " "*pylong* must be an instance of :c:type:`PyLongObject`." msgstr "" #: c-api/long.rst:252 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" -"c:type:`unsigned long long`." +"c:expr:`unsigned long long`." msgstr "" #: c-api/long.rst:255 @@ -264,14 +264,14 @@ msgstr "" #: c-api/long.rst:264 msgid "" -"Return a C :c:type:`unsigned long` representation of *obj*. If *obj* is not " +"Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not " "an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` " "method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" #: c-api/long.rst:268 msgid "" -"If the value of *obj* is out of range for an :c:type:`unsigned long`, return " +"If the value of *obj* is out of range for an :c:expr:`unsigned long`, return " "the reduction of that value modulo ``ULONG_MAX + 1``." msgstr "" @@ -283,14 +283,14 @@ msgstr "" #: c-api/long.rst:283 msgid "" -"Return a C :c:type:`unsigned long long` representation of *obj*. If *obj* " +"Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* " "is not an instance of :c:type:`PyLongObject`, first call its :meth:" "`__index__` method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" #: c-api/long.rst:288 msgid "" -"If the value of *obj* is out of range for an :c:type:`unsigned long long`, " +"If the value of *obj* is out of range for an :c:expr:`unsigned long long`, " "return the reduction of that value modulo ``ULLONG_MAX + 1``." msgstr "" @@ -302,14 +302,14 @@ msgstr "" #: c-api/long.rst:303 msgid "" -"Return a C :c:type:`double` representation of *pylong*. *pylong* must be an " +"Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" #: c-api/long.rst:306 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"type:`double`." +"expr:`double`." msgstr "" #: c-api/long.rst:309 @@ -319,9 +319,9 @@ msgstr "" #: c-api/long.rst:314 msgid "" -"Convert a Python integer *pylong* to a C :c:type:`void` pointer. If *pylong* " +"Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* " "cannot be converted, an :exc:`OverflowError` will be raised. This is only " -"assured to produce a usable :c:type:`void` pointer for values created with :" +"assured to produce a usable :c:expr:`void` pointer for values created with :" "c:func:`PyLong_FromVoidPtr`." msgstr "" diff --git a/c-api/marshal.po b/c-api/marshal.po index b9d45ad4c2..be0eee8b28 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -41,9 +41,9 @@ msgstr "" #: c-api/marshal.rst:24 msgid "" -"Marshal a :c:type:`long` integer, *value*, to *file*. This will only write " +"Marshal a :c:expr:`long` integer, *value*, to *file*. This will only write " "the least-significant 32 bits of *value*; regardless of the size of the " -"native :c:type:`long` type. *version* indicates the file format." +"native :c:expr:`long` type. *version* indicates the file format." msgstr "" #: c-api/marshal.rst:31 @@ -64,9 +64,9 @@ msgstr "" #: c-api/marshal.rst:46 msgid "" -"Return a C :c:type:`long` from the data stream in a :c:type:`FILE*` opened " +"Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 32-bit value can be read in using this function, " -"regardless of the native size of :c:type:`long`." +"regardless of the native size of :c:expr:`long`." msgstr "" #: c-api/marshal.rst:60 @@ -77,14 +77,14 @@ msgstr "" #: c-api/marshal.rst:56 msgid "" -"Return a C :c:type:`short` from the data stream in a :c:type:`FILE*` opened " +"Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 16-bit value can be read in using this function, " -"regardless of the native size of :c:type:`short`." +"regardless of the native size of :c:expr:`short`." msgstr "" #: c-api/marshal.rst:66 msgid "" -"Return a Python object from the data stream in a :c:type:`FILE*` opened for " +"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading." msgstr "" @@ -96,7 +96,7 @@ msgstr "" #: c-api/marshal.rst:75 msgid "" -"Return a Python object from the data stream in a :c:type:`FILE*` opened for " +"Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " "assumes that no further objects will be read from the file, allowing it to " "aggressively load file data into memory so that the de-serialization can " diff --git a/c-api/memory.po b/c-api/memory.po index 0415882e24..d2242c1d31 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -82,7 +82,7 @@ msgid "" "extended with new object types written in C. Another reason for using the " "Python heap is the desire to *inform* the Python memory manager about the " "memory needs of the extension module. Even when the requested memory is used " -"exclusively for internal, highly-specific purposes, delegating all memory " +"exclusively for internal, highly specific purposes, delegating all memory " "requests to the Python memory manager causes the interpreter to have a more " "accurate image of its memory footprint as a whole. Consequently, under " "certain circumstances, the Python memory manager may or may not trigger " @@ -179,7 +179,7 @@ msgstr "" #: c-api/memory.rst:215 c-api/memory.rst:323 msgid "" -"Allocates *n* bytes and returns a pointer of type :c:type:`void*` to the " +"Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the " "allocated memory, or ``NULL`` if the request fails." msgstr "" @@ -193,7 +193,7 @@ msgstr "" #: c-api/memory.rst:225 c-api/memory.rst:333 msgid "" "Allocates *nelem* elements each whose size in bytes is *elsize* and returns " -"a pointer of type :c:type:`void*` to the allocated memory, or ``NULL`` if " +"a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if " "the request fails. The memory is initialized to zeros." msgstr "" @@ -320,14 +320,14 @@ msgstr "" #: c-api/memory.rst:267 msgid "" "Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " -"of memory. Returns a pointer cast to :c:type:`TYPE*`. The memory will not " +"of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not " "have been initialized in any way." msgstr "" #: c-api/memory.rst:274 msgid "" "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " -"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:type:`TYPE*`. On " +"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On " "return, *p* will be a pointer to the new memory area, or ``NULL`` in the " "event of failure." msgstr "" diff --git a/c-api/module.po b/c-api/module.po index f86cc54120..18070cb1f7 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -65,9 +65,9 @@ msgstr "" #: c-api/module.rst:67 msgid "" -"It is recommended extensions use other :c:func:`PyModule_\\*` and :c:func:" -"`PyObject_\\*` functions rather than directly manipulate a module's :attr:" -"`~object.__dict__`." +"It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` " +"functions rather than directly manipulate a module's :attr:`~object." +"__dict__`." msgstr "" #: c-api/module.rst:78 diff --git a/c-api/object.po b/c-api/object.po index d4153ffd84..b5fc7b7cf5 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-08-16 22:56+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -423,7 +423,7 @@ msgid "" "``NULL``. This is equivalent to the Python expression ``type(o)``. This " "function increments the reference count of the return value. There's really " "no reason to use this function instead of the :c:func:`Py_TYPE()` function, " -"which returns a pointer of type :c:type:`PyTypeObject*`, except when the " +"which returns a pointer of type :c:expr:`PyTypeObject*`, except when the " "incremented reference count is needed." msgstr "" diff --git a/c-api/structures.po b/c-api/structures.po index 8c99c958ac..2a3ea93190 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -45,7 +45,7 @@ msgid "" "In a normal \"release\" build, it contains only the object's reference count " "and a pointer to the corresponding type object. Nothing is actually declared " "to be a :c:type:`PyObject`, but every pointer to a Python object can be cast " -"to a :c:type:`PyObject*`. Access to the members must be done by using the " +"to a :c:expr:`PyObject*`. Access to the members must be done by using the " "macros :c:macro:`Py_REFCNT` and :c:macro:`Py_TYPE`." msgstr "" @@ -111,7 +111,7 @@ msgid "Return a :term:`borrowed reference`." msgstr "" #: c-api/structures.rst:102 -msgid "The :c:func:`Py_SET_TYPE` function must be used to set an object type." +msgid "Use the :c:func:`Py_SET_TYPE` function to set an object type." msgstr "" #: c-api/structures.rst:107 @@ -143,7 +143,7 @@ msgid "Get the size of the Python object *o*." msgstr "" #: c-api/structures.rst:140 -msgid "The :c:func:`Py_SET_SIZE` function must be used to set an object size." +msgid "Use the :c:func:`Py_SET_SIZE` function to set an object size." msgstr "" #: c-api/structures.rst:145 @@ -170,7 +170,7 @@ msgstr "" #: c-api/structures.rst:174 msgid "" "Type of the functions used to implement most Python callables in C. " -"Functions of this type take two :c:type:`PyObject*` parameters and return " +"Functions of this type take two :c:expr:`PyObject*` parameters and return " "one such value. If the return value is ``NULL``, an exception shall have " "been set. If not ``NULL``, the return value is interpreted as the return " "value of the function as exposed in Python. The function must return a new " @@ -212,15 +212,15 @@ msgid "" "has four fields:" msgstr "" -#: c-api/structures.rst:397 c-api/structures.rst:493 +#: c-api/structures.rst:395 c-api/structures.rst:491 msgid "Field" msgstr "Champ" -#: c-api/structures.rst:397 c-api/structures.rst:493 +#: c-api/structures.rst:395 c-api/structures.rst:491 msgid "C Type" msgstr "Type C" -#: c-api/structures.rst:397 c-api/structures.rst:493 +#: c-api/structures.rst:395 c-api/structures.rst:491 msgid "Meaning" msgstr "Signification" @@ -228,8 +228,8 @@ msgstr "Signification" msgid ":attr:`ml_name`" msgstr ":attr:`ml_name`" -#: c-api/structures.rst:249 c-api/structures.rst:412 c-api/structures.rst:495 -#: c-api/structures.rst:503 +#: c-api/structures.rst:249 c-api/structures.rst:410 c-api/structures.rst:493 +#: c-api/structures.rst:501 msgid "const char \\*" msgstr "" @@ -253,7 +253,7 @@ msgstr "" msgid ":attr:`ml_flags`" msgstr ":attr:`ml_flags`" -#: c-api/structures.rst:401 c-api/structures.rst:424 +#: c-api/structures.rst:399 c-api/structures.rst:422 msgid "int" msgstr "*int*" @@ -265,17 +265,17 @@ msgstr "" msgid ":attr:`ml_doc`" msgstr ":attr:`ml_doc`" -#: c-api/structures.rst:412 +#: c-api/structures.rst:410 msgid "points to the contents of the docstring" msgstr "" #: c-api/structures.rst:253 msgid "" "The :attr:`ml_meth` is a C function pointer. The functions may be of " -"different types, but they always return :c:type:`PyObject*`. If the " +"different types, but they always return :c:expr:`PyObject*`. If the " "function is not of the :c:type:`PyCFunction`, the compiler will require a " "cast in the method table. Even though :c:type:`PyCFunction` defines the " -"first parameter as :c:type:`PyObject*`, it is common that the method " +"first parameter as :c:expr:`PyObject*`, it is common that the method " "implementation uses the specific C type of the *self* object." msgstr "" @@ -293,7 +293,7 @@ msgstr "" #: c-api/structures.rst:268 msgid "" "This is the typical calling convention, where the methods have the type :c:" -"type:`PyCFunction`. The function expects two :c:type:`PyObject*` values. The " +"type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The " "first one is the *self* object for methods; for module functions, it is the " "module object. The second parameter (often called *args*) is a tuple object " "representing all arguments. This parameter is typically processed using :c:" @@ -313,7 +313,7 @@ msgstr "" msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " -"second parameter is a C array of :c:type:`PyObject*` values indicating the " +"second parameter is a C array of :c:expr:`PyObject*` values indicating the " "arguments and the third parameter is the number of arguments (the length of " "the array)." msgstr "" @@ -327,32 +327,28 @@ msgid "" "Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " "methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " "are passed the same way as in the :ref:`vectorcall protocol `: " -"there is an additional fourth :c:type:`PyObject*` parameter which is a tuple " +"there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple " "representing the names of the keyword arguments (which are guaranteed to be " "strings) or possibly ``NULL`` if there are no keywords. The values of the " "keyword arguments are stored in the *args* array, after the positional " "arguments." msgstr "" -#: c-api/structures.rst:312 -msgid "This is not part of the :ref:`limited API `." -msgstr "" - -#: c-api/structures.rst:319 +#: c-api/structures.rst:317 msgid "" "Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining " "class*, that is, the class that contains the method in question. The " "defining class might be a superclass of ``Py_TYPE(self)``." msgstr "" -#: c-api/structures.rst:323 +#: c-api/structures.rst:321 msgid "" "The method needs to be of type :c:type:`PyCMethod`, the same as for " "``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " "after ``self``." msgstr "" -#: c-api/structures.rst:332 +#: c-api/structures.rst:330 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :const:`METH_NOARGS` flag. They need to be of " @@ -361,16 +357,16 @@ msgid "" "the second parameter will be ``NULL``." msgstr "" -#: c-api/structures.rst:341 +#: c-api/structures.rst:339 msgid "" "Methods with a single object argument can be listed with the :const:`METH_O` " "flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " "argument. They have the type :c:type:`PyCFunction`, with the *self* " -"parameter, and a :c:type:`PyObject*` parameter representing the single " +"parameter, and a :c:expr:`PyObject*` parameter representing the single " "argument." msgstr "" -#: c-api/structures.rst:347 +#: c-api/structures.rst:345 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use with methods of classes. These may not be used for " @@ -378,27 +374,27 @@ msgid "" "any given method." msgstr "" -#: c-api/structures.rst:357 +#: c-api/structures.rst:355 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " "what is created when using the :func:`classmethod` built-in function." msgstr "" -#: c-api/structures.rst:367 +#: c-api/structures.rst:365 msgid "" "The method will be passed ``NULL`` as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " "what is created when using the :func:`staticmethod` built-in function." msgstr "" -#: c-api/structures.rst:371 +#: c-api/structures.rst:369 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" -#: c-api/structures.rst:377 +#: c-api/structures.rst:375 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " @@ -411,193 +407,193 @@ msgid "" "calls." msgstr "" -#: c-api/structures.rst:389 +#: c-api/structures.rst:387 msgid "Accessing attributes of extension types" msgstr "" -#: c-api/structures.rst:393 +#: c-api/structures.rst:391 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" msgstr "" -#: c-api/structures.rst:399 +#: c-api/structures.rst:397 msgid ":attr:`name`" msgstr ":attr:`name`" -#: c-api/structures.rst:399 +#: c-api/structures.rst:397 msgid "name of the member" msgstr "" -#: c-api/structures.rst:401 +#: c-api/structures.rst:399 msgid ":attr:`!type`" msgstr ":attr:`!type`" -#: c-api/structures.rst:401 +#: c-api/structures.rst:399 msgid "the type of the member in the C struct" msgstr "" -#: c-api/structures.rst:404 +#: c-api/structures.rst:402 msgid ":attr:`offset`" msgstr ":attr:`offset`" -#: c-api/structures.rst:440 +#: c-api/structures.rst:438 msgid "Py_ssize_t" msgstr "" -#: c-api/structures.rst:404 +#: c-api/structures.rst:402 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" -#: c-api/structures.rst:408 +#: c-api/structures.rst:406 msgid ":attr:`flags`" msgstr ":attr:`flags`" -#: c-api/structures.rst:408 +#: c-api/structures.rst:406 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" -#: c-api/structures.rst:412 +#: c-api/structures.rst:410 msgid ":attr:`doc`" msgstr ":attr:`doc`" -#: c-api/structures.rst:416 +#: c-api/structures.rst:414 msgid "" ":attr:`!type` can be one of many ``T_`` macros corresponding to various C " "types. When the member is accessed in Python, it will be converted to the " "equivalent Python type." msgstr "" -#: c-api/structures.rst:421 +#: c-api/structures.rst:419 msgid "Macro name" msgstr "" -#: c-api/structures.rst:421 +#: c-api/structures.rst:419 msgid "C type" msgstr "Type C" -#: c-api/structures.rst:423 +#: c-api/structures.rst:421 msgid "T_SHORT" msgstr "" -#: c-api/structures.rst:423 +#: c-api/structures.rst:421 msgid "short" msgstr "" -#: c-api/structures.rst:424 +#: c-api/structures.rst:422 msgid "T_INT" msgstr "" -#: c-api/structures.rst:425 +#: c-api/structures.rst:423 msgid "T_LONG" msgstr "" -#: c-api/structures.rst:425 +#: c-api/structures.rst:423 msgid "long" msgstr "" -#: c-api/structures.rst:426 +#: c-api/structures.rst:424 msgid "T_FLOAT" msgstr "" -#: c-api/structures.rst:426 +#: c-api/structures.rst:424 msgid "float" msgstr "*float*" -#: c-api/structures.rst:427 +#: c-api/structures.rst:425 msgid "T_DOUBLE" msgstr "" -#: c-api/structures.rst:427 +#: c-api/structures.rst:425 msgid "double" msgstr "double" -#: c-api/structures.rst:428 +#: c-api/structures.rst:426 msgid "T_STRING" msgstr "" -#: c-api/structures.rst:429 +#: c-api/structures.rst:427 msgid "T_OBJECT" msgstr "" -#: c-api/structures.rst:430 +#: c-api/structures.rst:428 msgid "PyObject \\*" msgstr "PyObject \\*" -#: c-api/structures.rst:430 +#: c-api/structures.rst:428 msgid "T_OBJECT_EX" msgstr "" -#: c-api/structures.rst:431 +#: c-api/structures.rst:429 msgid "T_CHAR" msgstr "" -#: c-api/structures.rst:432 c-api/structures.rst:437 +#: c-api/structures.rst:430 c-api/structures.rst:435 msgid "char" msgstr "char" -#: c-api/structures.rst:432 +#: c-api/structures.rst:430 msgid "T_BYTE" msgstr "" -#: c-api/structures.rst:433 +#: c-api/structures.rst:431 msgid "T_UBYTE" msgstr "" -#: c-api/structures.rst:433 +#: c-api/structures.rst:431 msgid "unsigned char" msgstr "``unsigned char``" -#: c-api/structures.rst:434 +#: c-api/structures.rst:432 msgid "T_UINT" msgstr "" -#: c-api/structures.rst:434 +#: c-api/structures.rst:432 msgid "unsigned int" msgstr "``unsigned int``" -#: c-api/structures.rst:435 +#: c-api/structures.rst:433 msgid "T_USHORT" msgstr "" -#: c-api/structures.rst:435 +#: c-api/structures.rst:433 msgid "unsigned short" msgstr "``unsigned short``" -#: c-api/structures.rst:436 +#: c-api/structures.rst:434 msgid "T_ULONG" msgstr "" -#: c-api/structures.rst:436 +#: c-api/structures.rst:434 msgid "unsigned long" msgstr "``unsigned long``" -#: c-api/structures.rst:437 +#: c-api/structures.rst:435 msgid "T_BOOL" msgstr "" -#: c-api/structures.rst:438 +#: c-api/structures.rst:436 msgid "T_LONGLONG" msgstr "" -#: c-api/structures.rst:438 +#: c-api/structures.rst:436 msgid "long long" msgstr "" -#: c-api/structures.rst:439 +#: c-api/structures.rst:437 msgid "T_ULONGLONG" msgstr "" -#: c-api/structures.rst:439 +#: c-api/structures.rst:437 msgid "unsigned long long" msgstr "``unsigned long long``" -#: c-api/structures.rst:440 +#: c-api/structures.rst:438 msgid "T_PYSSIZET" msgstr "" -#: c-api/structures.rst:443 +#: c-api/structures.rst:441 msgid "" ":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" "`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:" @@ -607,7 +603,7 @@ msgid "" "than :c:macro:`T_OBJECT`." msgstr "" -#: c-api/structures.rst:450 +#: c-api/structures.rst:448 msgid "" ":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` " "for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" @@ -616,7 +612,7 @@ msgid "" "are set to ``NULL``)." msgstr "" -#: c-api/structures.rst:458 +#: c-api/structures.rst:456 msgid "" "Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), " "``PyMemberDef`` may contain definitions for the special members " @@ -627,99 +623,99 @@ msgid "" "``T_PYSSIZET`` and ``READONLY``, for example::" msgstr "" -#: c-api/structures.rst:475 +#: c-api/structures.rst:473 msgid "" "Get an attribute belonging to the object at address *obj_addr*. The " "attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." msgstr "" -#: c-api/structures.rst:482 +#: c-api/structures.rst:480 msgid "" "Set an attribute belonging to the object at address *obj_addr* to object " "*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " "``0`` if successful and a negative value on failure." msgstr "" -#: c-api/structures.rst:489 +#: c-api/structures.rst:487 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" -#: c-api/structures.rst:495 +#: c-api/structures.rst:493 msgid "name" msgstr "" -#: c-api/structures.rst:495 +#: c-api/structures.rst:493 msgid "attribute name" msgstr "" -#: c-api/structures.rst:497 +#: c-api/structures.rst:495 msgid "get" msgstr "" -#: c-api/structures.rst:497 +#: c-api/structures.rst:495 msgid "getter" msgstr "" -#: c-api/structures.rst:497 +#: c-api/structures.rst:495 msgid "C function to get the attribute" msgstr "" -#: c-api/structures.rst:499 +#: c-api/structures.rst:497 msgid "set" msgstr "" -#: c-api/structures.rst:499 +#: c-api/structures.rst:497 msgid "setter" msgstr "" -#: c-api/structures.rst:499 +#: c-api/structures.rst:497 msgid "" "optional C function to set or delete the attribute, if omitted the attribute " "is readonly" msgstr "" -#: c-api/structures.rst:503 +#: c-api/structures.rst:501 msgid "doc" msgstr "" -#: c-api/structures.rst:503 +#: c-api/structures.rst:501 msgid "optional docstring" msgstr "" -#: c-api/structures.rst:505 +#: c-api/structures.rst:503 msgid "closure" msgstr "" -#: c-api/structures.rst:505 +#: c-api/structures.rst:503 msgid "void \\*" msgstr "" -#: c-api/structures.rst:505 +#: c-api/structures.rst:503 msgid "" "optional function pointer, providing additional data for getter and setter" msgstr "" -#: c-api/structures.rst:510 +#: c-api/structures.rst:508 msgid "" -"The ``get`` function takes one :c:type:`PyObject*` parameter (the instance) " +"The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " "and a function pointer (the associated ``closure``)::" msgstr "" -#: c-api/structures.rst:515 +#: c-api/structures.rst:513 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." msgstr "" -#: c-api/structures.rst:518 +#: c-api/structures.rst:516 msgid "" -"``set`` functions take two :c:type:`PyObject*` parameters (the instance and " +"``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " "the value to be set) and a function pointer (the associated ``closure``)::" msgstr "" -#: c-api/structures.rst:523 +#: c-api/structures.rst:521 msgid "" "In case the attribute should be deleted the second parameter is ``NULL``. " "Should return ``0`` on success or ``-1`` with a set exception on failure." diff --git a/c-api/sys.po b/c-api/sys.po index 1697badb57..beba8891ff 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -118,7 +118,7 @@ msgid "" "Return the current signal handler for signal *i*. This is a thin wrapper " "around either :c:func:`sigaction` or :c:func:`signal`. Do not call those " "functions directly! :c:type:`PyOS_sighandler_t` is a typedef alias for :c:" -"type:`void (\\*)(int)`." +"expr:`void (\\*)(int)`." msgstr "" #: c-api/sys.rst:114 @@ -126,7 +126,7 @@ msgid "" "Set the signal handler for signal *i* to be *h*; return the old signal " "handler. This is a thin wrapper around either :c:func:`sigaction` or :c:func:" "`signal`. Do not call those functions directly! :c:type:" -"`PyOS_sighandler_t` is a typedef alias for :c:type:`void (\\*)(int)`." +"`PyOS_sighandler_t` is a typedef alias for :c:expr:`void (\\*)(int)`." msgstr "" #: c-api/sys.rst:122 @@ -412,7 +412,7 @@ msgstr "" #: c-api/sys.rst:355 msgid "" -"The hook function is of type :c:type:`int (*)(const char *event, PyObject " +"The hook function is of type :c:expr:`int (*)(const char *event, PyObject " "*args, void *userData)`, where *args* is guaranteed to be a :c:type:" "`PyTupleObject`. The hook function is always called with the GIL held by the " "Python interpreter that raised the event." diff --git a/c-api/tuple.po b/c-api/tuple.po index 4a3983955a..3be93d4b2c 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -218,7 +218,7 @@ msgstr "" #: c-api/tuple.rst:163 msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " -"tuple, all fields are typed as :c:type:`PyObject*`. The index in the :attr:" +"tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :attr:" "`fields` array of the :c:type:`PyStructSequence_Desc` determines which field " "of the struct sequence is described." msgstr "" diff --git a/c-api/type.po b/c-api/type.po index 8a8c2776dd..d741ef3dc0 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-02-15 00:33+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -49,7 +49,7 @@ msgstr "" #: c-api/type.rst:42 msgid "" "Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " -"function is primarily meant for use with `Py_LIMITED_API`; the individual " +"function is primarily meant for use with ``Py_LIMITED_API``; the individual " "flag bits are guaranteed to be stable across Python releases, but access to :" "c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API." msgstr "" diff --git a/c-api/typehints.po b/c-api/typehints.po index 10b81e0280..5ba8daa27b 100644 --- a/c-api/typehints.po +++ b/c-api/typehints.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -30,8 +30,8 @@ msgid "" "Create a :ref:`GenericAlias ` object. Equivalent to " "calling the Python class :class:`types.GenericAlias`. The *origin* and " "*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " -"``__args__`` attributes respectively. *origin* should be a :c:type:" -"`PyTypeObject*`, and *args* can be a :c:type:`PyTupleObject*` or any " +"``__args__`` attributes respectively. *origin* should be a :c:expr:" +"`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any " "``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically " "constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done " "for the arguments, so the function will succeed even if *origin* is not a " diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 82c124bdff..834664d115 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -22,11 +22,11 @@ msgstr "Objets type" msgid "" "Perhaps one of the most important structures of the Python object system is " "the structure that defines a new type: the :c:type:`PyTypeObject` " -"structure. Type objects can be handled using any of the :c:func:" -"`PyObject_\\*` or :c:func:`PyType_\\*` functions, but do not offer much " -"that's interesting to most Python applications. These objects are " -"fundamental to how objects behave, so they are very important to the " -"interpreter itself and to any extension module that implements new types." +"structure. Type objects can be handled using any of the ``PyObject_*`` or " +"``PyType_*`` functions, but do not offer much that's interesting to most " +"Python applications. These objects are fundamental to how objects behave, so " +"they are very important to the interpreter itself and to any extension " +"module that implements new types." msgstr "" #: c-api/typeobj.rst:16 @@ -1106,16 +1106,16 @@ msgid "" msgstr "" #: c-api/typeobj.rst:517 c-api/typeobj.rst:553 c-api/typeobj.rst:640 -#: c-api/typeobj.rst:742 c-api/typeobj.rst:778 c-api/typeobj.rst:820 -#: c-api/typeobj.rst:849 c-api/typeobj.rst:894 c-api/typeobj.rst:932 -#: c-api/typeobj.rst:979 c-api/typeobj.rst:1014 c-api/typeobj.rst:1062 -#: c-api/typeobj.rst:1082 c-api/typeobj.rst:1114 c-api/typeobj.rst:1184 -#: c-api/typeobj.rst:1218 c-api/typeobj.rst:1259 c-api/typeobj.rst:1343 -#: c-api/typeobj.rst:1469 c-api/typeobj.rst:1531 c-api/typeobj.rst:1567 -#: c-api/typeobj.rst:1596 c-api/typeobj.rst:1646 c-api/typeobj.rst:1690 -#: c-api/typeobj.rst:1781 c-api/typeobj.rst:1839 c-api/typeobj.rst:1893 -#: c-api/typeobj.rst:1921 c-api/typeobj.rst:1940 c-api/typeobj.rst:1964 -#: c-api/typeobj.rst:2030 +#: c-api/typeobj.rst:736 c-api/typeobj.rst:772 c-api/typeobj.rst:814 +#: c-api/typeobj.rst:843 c-api/typeobj.rst:888 c-api/typeobj.rst:926 +#: c-api/typeobj.rst:973 c-api/typeobj.rst:1008 c-api/typeobj.rst:1056 +#: c-api/typeobj.rst:1076 c-api/typeobj.rst:1108 c-api/typeobj.rst:1178 +#: c-api/typeobj.rst:1212 c-api/typeobj.rst:1253 c-api/typeobj.rst:1337 +#: c-api/typeobj.rst:1463 c-api/typeobj.rst:1525 c-api/typeobj.rst:1561 +#: c-api/typeobj.rst:1590 c-api/typeobj.rst:1640 c-api/typeobj.rst:1684 +#: c-api/typeobj.rst:1775 c-api/typeobj.rst:1833 c-api/typeobj.rst:1887 +#: c-api/typeobj.rst:1915 c-api/typeobj.rst:1934 c-api/typeobj.rst:1958 +#: c-api/typeobj.rst:2027 msgid "**Inheritance:**" msgstr "" @@ -1143,8 +1143,8 @@ msgid "" "will not change this field if it is non-zero." msgstr "" -#: c-api/typeobj.rst:700 c-api/typeobj.rst:914 c-api/typeobj.rst:1533 -#: c-api/typeobj.rst:1674 c-api/typeobj.rst:1783 c-api/typeobj.rst:2015 +#: c-api/typeobj.rst:700 c-api/typeobj.rst:908 c-api/typeobj.rst:1527 +#: c-api/typeobj.rst:1668 c-api/typeobj.rst:1777 c-api/typeobj.rst:2006 msgid "This field is inherited by subtypes." msgstr "" @@ -1160,7 +1160,7 @@ msgid "" "``PyObject_HEAD_INIT`` macro. For :ref:`statically allocated objects " "`, these fields always remain ``NULL``. For :ref:`dynamically " "allocated objects `, these two fields are used to link the " -"object into a doubly-linked list of *all* live objects on the heap." +"object into a doubly linked list of *all* live objects on the heap." msgstr "" #: c-api/typeobj.rst:534 @@ -1387,18 +1387,11 @@ msgstr "" #: c-api/typeobj.rst:732 msgid "" -"The semantics of the ``tp_vectorcall_offset`` slot are provisional and " -"expected to be finalized in Python 3.9. If you use vectorcall, plan for " -"updating your code for Python 3.9." -msgstr "" - -#: c-api/typeobj.rst:738 -msgid "" "Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was " "used for printing to a file. In Python 3.0 to 3.7, it was unused." msgstr "" -#: c-api/typeobj.rst:744 +#: c-api/typeobj.rst:738 msgid "" "This field is always inherited. However, the :const:" "`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then " @@ -1407,11 +1400,11 @@ msgid "" "for :ref:`heap types ` (including subclasses defined in Python)." msgstr "" -#: c-api/typeobj.rst:755 +#: c-api/typeobj.rst:749 msgid "An optional pointer to the get-attribute-string function." msgstr "" -#: c-api/typeobj.rst:757 +#: c-api/typeobj.rst:751 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " @@ -1419,11 +1412,11 @@ msgid "" "attribute name." msgstr "" -#: c-api/typeobj.rst:955 +#: c-api/typeobj.rst:949 msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`" msgstr "" -#: c-api/typeobj.rst:765 +#: c-api/typeobj.rst:759 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1432,12 +1425,12 @@ msgid "" "tp_getattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:968 +#: c-api/typeobj.rst:962 msgid "" "An optional pointer to the function for setting and deleting attributes." msgstr "" -#: c-api/typeobj.rst:774 +#: c-api/typeobj.rst:768 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " @@ -1445,11 +1438,11 @@ msgid "" "attribute name." msgstr "" -#: c-api/typeobj.rst:981 +#: c-api/typeobj.rst:975 msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`" msgstr "" -#: c-api/typeobj.rst:782 +#: c-api/typeobj.rst:776 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1458,34 +1451,34 @@ msgid "" "tp_setattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:789 +#: c-api/typeobj.rst:783 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement :term:`awaitable` and :term:`asynchronous iterator` " "protocols at the C-level. See :ref:`async-structs` for details." msgstr "" -#: c-api/typeobj.rst:793 +#: c-api/typeobj.rst:787 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." msgstr "" -#: c-api/typeobj.rst:798 +#: c-api/typeobj.rst:792 msgid "" "The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:806 +#: c-api/typeobj.rst:800 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`repr`." msgstr "" -#: c-api/typeobj.rst:809 +#: c-api/typeobj.rst:803 msgid "The signature is the same as for :c:func:`PyObject_Repr`::" msgstr "" -#: c-api/typeobj.rst:813 +#: c-api/typeobj.rst:807 msgid "" "The function must return a string or a Unicode object. Ideally, this " "function should return a string that, when passed to :func:`eval`, given a " @@ -1494,83 +1487,83 @@ msgid "" "``'>'`` from which both the type and the value of the object can be deduced." msgstr "" -#: c-api/typeobj.rst:936 c-api/typeobj.rst:987 c-api/typeobj.rst:1478 -#: c-api/typeobj.rst:1651 c-api/typeobj.rst:1785 c-api/typeobj.rst:1845 -#: c-api/typeobj.rst:1897 +#: c-api/typeobj.rst:930 c-api/typeobj.rst:981 c-api/typeobj.rst:1472 +#: c-api/typeobj.rst:1645 c-api/typeobj.rst:1779 c-api/typeobj.rst:1839 +#: c-api/typeobj.rst:1891 msgid "**Default:**" msgstr "" -#: c-api/typeobj.rst:826 +#: c-api/typeobj.rst:820 msgid "" "When this field is not set, a string of the form ``<%s object at %p>`` is " "returned, where ``%s`` is replaced by the type name, and ``%p`` by the " "object's memory address." msgstr "" -#: c-api/typeobj.rst:833 +#: c-api/typeobj.rst:827 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the number protocol. These fields are documented " "in :ref:`number-structs`." msgstr "" -#: c-api/typeobj.rst:839 +#: c-api/typeobj.rst:833 msgid "" "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:845 +#: c-api/typeobj.rst:839 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the sequence protocol. These fields are documented " "in :ref:`sequence-structs`." msgstr "" -#: c-api/typeobj.rst:851 +#: c-api/typeobj.rst:845 msgid "" "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:857 +#: c-api/typeobj.rst:851 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the mapping protocol. These fields are documented " "in :ref:`mapping-structs`." msgstr "" -#: c-api/typeobj.rst:863 +#: c-api/typeobj.rst:857 msgid "" "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:871 +#: c-api/typeobj.rst:865 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`hash`." msgstr "" -#: c-api/typeobj.rst:874 +#: c-api/typeobj.rst:868 msgid "The signature is the same as for :c:func:`PyObject_Hash`::" msgstr "" -#: c-api/typeobj.rst:878 +#: c-api/typeobj.rst:872 msgid "" "The value ``-1`` should not be returned as a normal return value; when an " "error occurs during the computation of the hash value, the function should " "set an exception and return ``-1``." msgstr "" -#: c-api/typeobj.rst:882 +#: c-api/typeobj.rst:876 msgid "" "When this field is not set (*and* :attr:`tp_richcompare` is not set), an " "attempt to take the hash of the object raises :exc:`TypeError`. This is the " "same as setting it to :c:func:`PyObject_HashNotImplemented`." msgstr "" -#: c-api/typeobj.rst:886 +#: c-api/typeobj.rst:880 msgid "" "This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to " "block inheritance of the hash method from a parent type. This is interpreted " @@ -1581,11 +1574,11 @@ msgid "" "`PyObject_HashNotImplemented`." msgstr "" -#: c-api/typeobj.rst:1471 +#: c-api/typeobj.rst:1465 msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`" msgstr "" -#: c-api/typeobj.rst:898 +#: c-api/typeobj.rst:892 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." @@ -1594,14 +1587,14 @@ msgid "" "are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:906 +#: c-api/typeobj.rst:900 msgid "" "An optional pointer to a function that implements calling the object. This " "should be ``NULL`` if the object is not callable. The signature is the same " "as for :c:func:`PyObject_Call`::" msgstr "" -#: c-api/typeobj.rst:919 +#: c-api/typeobj.rst:913 msgid "" "An optional pointer to a function that implements the built-in operation :" "func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " @@ -1610,11 +1603,11 @@ msgid "" "this handler.)" msgstr "" -#: c-api/typeobj.rst:924 +#: c-api/typeobj.rst:918 msgid "The signature is the same as for :c:func:`PyObject_Str`::" msgstr "" -#: c-api/typeobj.rst:928 +#: c-api/typeobj.rst:922 msgid "" "The function must return a string or a Unicode object. It should be a " "\"friendly\" string representation of the object, as this is the " @@ -1622,28 +1615,28 @@ msgid "" "function." msgstr "" -#: c-api/typeobj.rst:938 +#: c-api/typeobj.rst:932 msgid "" "When this field is not set, :c:func:`PyObject_Repr` is called to return a " "string representation." msgstr "" -#: c-api/typeobj.rst:944 +#: c-api/typeobj.rst:938 msgid "An optional pointer to the get-attribute function." msgstr "" -#: c-api/typeobj.rst:946 +#: c-api/typeobj.rst:940 msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" msgstr "" -#: c-api/typeobj.rst:950 +#: c-api/typeobj.rst:944 msgid "" "It is usually convenient to set this field to :c:func:" "`PyObject_GenericGetAttr`, which implements the normal way of looking for " "object attributes." msgstr "" -#: c-api/typeobj.rst:957 +#: c-api/typeobj.rst:951 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1652,15 +1645,15 @@ msgid "" "tp_getattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:963 +#: c-api/typeobj.rst:957 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." msgstr "" -#: c-api/typeobj.rst:970 +#: c-api/typeobj.rst:964 msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" msgstr "" -#: c-api/typeobj.rst:974 +#: c-api/typeobj.rst:968 msgid "" "In addition, setting *value* to ``NULL`` to delete an attribute must be " "supported. It is usually convenient to set this field to :c:func:" @@ -1668,7 +1661,7 @@ msgid "" "attributes." msgstr "" -#: c-api/typeobj.rst:983 +#: c-api/typeobj.rst:977 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1677,24 +1670,24 @@ msgid "" "tp_setattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:989 +#: c-api/typeobj.rst:983 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." msgstr "" -#: c-api/typeobj.rst:994 +#: c-api/typeobj.rst:988 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the buffer interface. These fields are documented " "in :ref:`buffer-structs`." msgstr "" -#: c-api/typeobj.rst:1000 +#: c-api/typeobj.rst:994 msgid "" "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:1006 +#: c-api/typeobj.rst:1000 msgid "" "This field is a bit mask of various flags. Some flags indicate variant " "semantics for certain situations; others are used to indicate that certain " @@ -1706,7 +1699,7 @@ msgid "" "accessed and must be considered to have a zero or ``NULL`` value instead." msgstr "" -#: c-api/typeobj.rst:1016 +#: c-api/typeobj.rst:1010 msgid "" "Inheritance of this field is complicated. Most flag bits are inherited " "individually, i.e. if the base type has a flag bit set, the subtype inherits " @@ -1721,17 +1714,17 @@ msgid "" "the subtype exist and have ``NULL`` values." msgstr "" -#: c-api/typeobj.rst:1031 +#: c-api/typeobj.rst:1025 msgid "" ":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " "Py_TPFLAGS_BASETYPE``." msgstr "" -#: c-api/typeobj.rst:1034 +#: c-api/typeobj.rst:1028 msgid "**Bit Masks:**" msgstr "" -#: c-api/typeobj.rst:1036 +#: c-api/typeobj.rst:1030 msgid "" "The following bit masks are currently defined; these can be ORed together " "using the ``|`` operator to form the value of the :c:member:`~PyTypeObject." @@ -1740,7 +1733,7 @@ msgid "" "zero." msgstr "" -#: c-api/typeobj.rst:1043 +#: c-api/typeobj.rst:1037 msgid "" "This bit is set when the type object itself is allocated on the heap, for " "example, types created dynamically using :c:func:`PyType_FromSpec`. In this " @@ -1751,30 +1744,30 @@ msgid "" "gets INCREF'ed or DECREF'ed)." msgstr "" -#: c-api/typeobj.rst:1064 c-api/typeobj.rst:1084 c-api/typeobj.rst:1116 +#: c-api/typeobj.rst:1058 c-api/typeobj.rst:1078 c-api/typeobj.rst:1110 msgid "???" msgstr "" -#: c-api/typeobj.rst:1058 +#: c-api/typeobj.rst:1052 msgid "" "This bit is set when the type can be used as the base type of another type. " "If this bit is clear, the type cannot be subtyped (similar to a \"final\" " "class in Java)." msgstr "" -#: c-api/typeobj.rst:1069 +#: c-api/typeobj.rst:1063 msgid "" "This bit is set when the type object has been fully initialized by :c:func:" "`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:1079 +#: c-api/typeobj.rst:1073 msgid "" "This bit is set while :c:func:`PyType_Ready` is in the process of " "initializing the type object." msgstr "" -#: c-api/typeobj.rst:1089 +#: c-api/typeobj.rst:1083 msgid "" "This bit is set when the object supports garbage collection. If this bit is " "set, instances must be created using :c:func:`PyObject_GC_New` and destroyed " @@ -1784,12 +1777,12 @@ msgid "" "tp_clear` are present in the type object." msgstr "" -#: c-api/typeobj.rst:1345 c-api/typeobj.rst:1412 +#: c-api/typeobj.rst:1339 c-api/typeobj.rst:1406 msgid "" "Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" msgstr "" -#: c-api/typeobj.rst:1100 +#: c-api/typeobj.rst:1094 msgid "" "The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :" "attr:`tp_traverse` and :attr:`tp_clear` fields, i.e. if the :const:" @@ -1798,48 +1791,48 @@ msgid "" "``NULL`` values." msgstr "" -#: c-api/typeobj.rst:1110 +#: c-api/typeobj.rst:1104 msgid "" "This is a bitmask of all the bits that pertain to the existence of certain " "fields in the type object and its extension structures. Currently, it " "includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." msgstr "" -#: c-api/typeobj.rst:1121 +#: c-api/typeobj.rst:1115 msgid "This bit indicates that objects behave like unbound methods." msgstr "" -#: c-api/typeobj.rst:1123 +#: c-api/typeobj.rst:1117 msgid "If this flag is set for ``type(meth)``, then:" msgstr "" -#: c-api/typeobj.rst:1125 +#: c-api/typeobj.rst:1119 msgid "" "``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " "equivalent to ``meth(obj, *args, **kwds)``." msgstr "" -#: c-api/typeobj.rst:1128 +#: c-api/typeobj.rst:1122 msgid "" "``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " "``meth(*args, **kwds)``." msgstr "" -#: c-api/typeobj.rst:1131 +#: c-api/typeobj.rst:1125 msgid "" "This flag enables an optimization for typical method calls like ``obj." "meth()``: it avoids creating a temporary \"bound method\" object for ``obj." "meth``." msgstr "" -#: c-api/typeobj.rst:1139 +#: c-api/typeobj.rst:1133 msgid "" "This flag is never inherited by :ref:`heap types `. For " "extension types, it is inherited whenever :c:member:`~PyTypeObject." "tp_descr_get` is inherited." msgstr "" -#: c-api/typeobj.rst:1156 +#: c-api/typeobj.rst:1150 msgid "" "These flags are used by functions such as :c:func:`PyLong_Check` to quickly " "determine if a type is a subclass of a built-in type; such specific checks " @@ -1849,68 +1842,68 @@ msgid "" "behave differently depending on what kind of check is used." msgstr "" -#: c-api/typeobj.rst:1167 +#: c-api/typeobj.rst:1161 msgid "" "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " "present in the type structure." msgstr "" -#: c-api/typeobj.rst:1172 +#: c-api/typeobj.rst:1166 msgid "" "This flag isn't necessary anymore, as the interpreter assumes the :c:member:" "`~PyTypeObject.tp_finalize` slot is always present in the type structure." msgstr "" -#: c-api/typeobj.rst:1180 +#: c-api/typeobj.rst:1174 msgid "" "This bit is set when the class implements the :ref:`vectorcall protocol " "`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for " "details." msgstr "" -#: c-api/typeobj.rst:1186 +#: c-api/typeobj.rst:1180 msgid "" "This bit is inherited for :ref:`static subtypes ` if :c:member:" "`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do " "not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``." msgstr "" -#: c-api/typeobj.rst:1194 +#: c-api/typeobj.rst:1188 msgid "" "This bit is set for type objects that are immutable: type attributes cannot " "be set nor deleted." msgstr "" -#: c-api/typeobj.rst:1196 +#: c-api/typeobj.rst:1190 msgid "" ":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types " "`." msgstr "" -#: c-api/typeobj.rst:1220 +#: c-api/typeobj.rst:1214 msgid "This flag is not inherited." msgstr "" -#: c-api/typeobj.rst:1207 +#: c-api/typeobj.rst:1201 msgid "" "Disallow creating instances of the type: set :c:member:`~PyTypeObject." "tp_new` to NULL and don't create the ``__new__`` key in the type dictionary." msgstr "" -#: c-api/typeobj.rst:1211 +#: c-api/typeobj.rst:1205 msgid "" "The flag must be set before creating the type, not after. For example, it " "must be set before :c:func:`PyType_Ready` is called on the type." msgstr "" -#: c-api/typeobj.rst:1214 +#: c-api/typeobj.rst:1208 msgid "" "The flag is set automatically on :ref:`static types ` if :c:" "member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:" "member:`~PyTypeObject.tp_new` is NULL." msgstr "" -#: c-api/typeobj.rst:1227 +#: c-api/typeobj.rst:1221 msgid "" "This bit indicates that instances of the class may match mapping patterns " "when used as the subject of a :keyword:`match` block. It is automatically " @@ -1918,23 +1911,23 @@ msgid "" "unset when registering :class:`collections.abc.Sequence`." msgstr "" -#: c-api/typeobj.rst:1256 +#: c-api/typeobj.rst:1250 msgid "" ":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually " "exclusive; it is an error to enable both flags simultaneously." msgstr "" -#: c-api/typeobj.rst:1239 +#: c-api/typeobj.rst:1233 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_SEQUENCE`." msgstr "" -#: c-api/typeobj.rst:1264 +#: c-api/typeobj.rst:1258 msgid ":pep:`634` -- Structural Pattern Matching: Specification" msgstr ":pep:`634` — Spécifications pour le filtrage par motif" -#: c-api/typeobj.rst:1249 +#: c-api/typeobj.rst:1243 msgid "" "This bit indicates that instances of the class may match sequence patterns " "when used as the subject of a :keyword:`match` block. It is automatically " @@ -1942,37 +1935,37 @@ msgid "" "unset when registering :class:`collections.abc.Mapping`." msgstr "" -#: c-api/typeobj.rst:1261 +#: c-api/typeobj.rst:1255 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_MAPPING`." msgstr "" -#: c-api/typeobj.rst:1271 +#: c-api/typeobj.rst:1265 msgid "" "An optional pointer to a NUL-terminated C string giving the docstring for " "this type object. This is exposed as the :attr:`__doc__` attribute on the " "type and instances of the type." msgstr "" -#: c-api/typeobj.rst:1277 +#: c-api/typeobj.rst:1271 msgid "This field is *not* inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:1282 +#: c-api/typeobj.rst:1276 msgid "" "An optional pointer to a traversal function for the garbage collector. This " "is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " "signature is::" msgstr "" -#: c-api/typeobj.rst:1407 +#: c-api/typeobj.rst:1401 msgid "" "More information about Python's garbage collection scheme can be found in " "section :ref:`supporting-cycle-detection`." msgstr "" -#: c-api/typeobj.rst:1290 +#: c-api/typeobj.rst:1284 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " "collector to detect reference cycles. A typical implementation of a :c:" @@ -1982,7 +1975,7 @@ msgid "" "`_thread` extension module::" msgstr "" -#: c-api/typeobj.rst:1305 +#: c-api/typeobj.rst:1299 msgid "" "Note that :c:func:`Py_VISIT` is called only on those members that can " "participate in reference cycles. Although there is also a ``self->key`` " @@ -1990,14 +1983,14 @@ msgid "" "part of a reference cycle." msgstr "" -#: c-api/typeobj.rst:1309 +#: c-api/typeobj.rst:1303 msgid "" "On the other hand, even if you know a member can never be part of a cycle, " "as a debugging aid you may want to visit it anyway just so the :mod:`gc` " "module's :func:`~gc.get_referents` function will include it." msgstr "" -#: c-api/typeobj.rst:1314 +#: c-api/typeobj.rst:1308 msgid "" "When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " "that the instance *owns* (by having :term:`strong references ` hold a reference to " "their type. Their traversal function must therefore either visit :c:func:" @@ -2026,14 +2019,14 @@ msgid "" "superclass). If they do not, the type object may not be garbage-collected." msgstr "" -#: c-api/typeobj.rst:1338 +#: c-api/typeobj.rst:1332 msgid "" "Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " "``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." msgstr "" -#: c-api/typeobj.rst:1347 +#: c-api/typeobj.rst:1341 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -2041,14 +2034,14 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: c-api/typeobj.rst:1355 +#: c-api/typeobj.rst:1349 msgid "" "An optional pointer to a clear function for the garbage collector. This is " "only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The signature " "is::" msgstr "" -#: c-api/typeobj.rst:1360 +#: c-api/typeobj.rst:1354 msgid "" "The :c:member:`~PyTypeObject.tp_clear` member function is used to break " "reference cycles in cyclic garbage detected by the garbage collector. Taken " @@ -2063,7 +2056,7 @@ msgid "" "good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: c-api/typeobj.rst:1370 +#: c-api/typeobj.rst:1364 msgid "" "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " "instance's references to those of its members that may be Python objects, " @@ -2071,7 +2064,7 @@ msgid "" "example::" msgstr "" -#: c-api/typeobj.rst:1384 +#: c-api/typeobj.rst:1378 msgid "" "The :c:func:`Py_CLEAR` macro should be used, because clearing references is " "delicate: the reference to the contained object must not be decremented " @@ -2086,7 +2079,7 @@ msgid "" "in a safe order." msgstr "" -#: c-api/typeobj.rst:1395 +#: c-api/typeobj.rst:1389 msgid "" "Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before " "an instance is deallocated. For example, when reference counting is enough " @@ -2094,7 +2087,7 @@ msgid "" "is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." msgstr "" -#: c-api/typeobj.rst:1401 +#: c-api/typeobj.rst:1395 msgid "" "Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break " "reference cycles, it's not necessary to clear contained objects like Python " @@ -2104,7 +2097,7 @@ msgid "" "invoke :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: c-api/typeobj.rst:1414 +#: c-api/typeobj.rst:1408 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -2112,18 +2105,18 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: c-api/typeobj.rst:1422 +#: c-api/typeobj.rst:1416 msgid "" "An optional pointer to the rich comparison function, whose signature is::" msgstr "" -#: c-api/typeobj.rst:1426 +#: c-api/typeobj.rst:1420 msgid "" "The first parameter is guaranteed to be an instance of the type that is " "defined by :c:type:`PyTypeObject`." msgstr "" -#: c-api/typeobj.rst:1429 +#: c-api/typeobj.rst:1423 msgid "" "The function should return the result of the comparison (usually ``Py_True`` " "or ``Py_False``). If the comparison is undefined, it must return " @@ -2131,74 +2124,74 @@ msgid "" "set an exception condition." msgstr "" -#: c-api/typeobj.rst:1434 +#: c-api/typeobj.rst:1428 msgid "" "The following constants are defined to be used as the third argument for :c:" "member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:" msgstr "" -#: c-api/typeobj.rst:1438 +#: c-api/typeobj.rst:1432 msgid "Constant" msgstr "Constante" -#: c-api/typeobj.rst:1438 +#: c-api/typeobj.rst:1432 msgid "Comparison" msgstr "Comparaison" -#: c-api/typeobj.rst:1440 +#: c-api/typeobj.rst:1434 msgid ":const:`Py_LT`" msgstr ":const:`Py_LT`" -#: c-api/typeobj.rst:1440 +#: c-api/typeobj.rst:1434 msgid "``<``" msgstr "``<``" -#: c-api/typeobj.rst:1442 +#: c-api/typeobj.rst:1436 msgid ":const:`Py_LE`" msgstr ":const:`Py_LE`" -#: c-api/typeobj.rst:1442 +#: c-api/typeobj.rst:1436 msgid "``<=``" msgstr "``<=``" -#: c-api/typeobj.rst:1444 +#: c-api/typeobj.rst:1438 msgid ":const:`Py_EQ`" msgstr ":const:`Py_EQ`" -#: c-api/typeobj.rst:1444 +#: c-api/typeobj.rst:1438 msgid "``==``" msgstr "``==``" -#: c-api/typeobj.rst:1446 +#: c-api/typeobj.rst:1440 msgid ":const:`Py_NE`" msgstr ":const:`Py_NE`" -#: c-api/typeobj.rst:1446 +#: c-api/typeobj.rst:1440 msgid "``!=``" msgstr "``!=``" -#: c-api/typeobj.rst:1448 +#: c-api/typeobj.rst:1442 msgid ":const:`Py_GT`" msgstr ":const:`Py_GT`" -#: c-api/typeobj.rst:1448 +#: c-api/typeobj.rst:1442 msgid "``>``" msgstr "``>``" -#: c-api/typeobj.rst:1450 +#: c-api/typeobj.rst:1444 msgid ":const:`Py_GE`" msgstr ":const:`Py_GE`" -#: c-api/typeobj.rst:1450 +#: c-api/typeobj.rst:1444 msgid "``>=``" msgstr "``>=``" -#: c-api/typeobj.rst:1453 +#: c-api/typeobj.rst:1447 msgid "" "The following macro is defined to ease writing rich comparison functions:" msgstr "" -#: c-api/typeobj.rst:1457 +#: c-api/typeobj.rst:1451 msgid "" "Return ``Py_True`` or ``Py_False`` from the function, depending on the " "result of a comparison. VAL_A and VAL_B must be orderable by C comparison " @@ -2206,15 +2199,15 @@ msgid "" "specifies the requested operation, as for :c:func:`PyObject_RichCompare`." msgstr "" -#: c-api/typeobj.rst:1463 +#: c-api/typeobj.rst:1457 msgid "The return value's reference count is properly incremented." msgstr "" -#: c-api/typeobj.rst:1465 +#: c-api/typeobj.rst:1459 msgid "On error, sets an exception and returns ``NULL`` from the function." msgstr "" -#: c-api/typeobj.rst:1473 +#: c-api/typeobj.rst:1467 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" @@ -2222,7 +2215,7 @@ msgid "" "tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:1480 +#: c-api/typeobj.rst:1474 msgid "" ":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` " "implementation, which may be inherited. However, if only :attr:`tp_hash` is " @@ -2230,23 +2223,23 @@ msgid "" "will not be able to participate in any comparisons." msgstr "" -#: c-api/typeobj.rst:1489 +#: c-api/typeobj.rst:1483 msgid "" "If the instances of this type are weakly referenceable, this field is " "greater than zero and contains the offset in the instance structure of the " "weak reference list head (ignoring the GC header, if present); this offset " -"is used by :c:func:`PyObject_ClearWeakRefs` and the :c:func:`PyWeakref_\\*` " -"functions. The instance structure needs to include a field of type :c:type:" +"is used by :c:func:`PyObject_ClearWeakRefs` and the ``PyWeakref_*`` " +"functions. The instance structure needs to include a field of type :c:expr:" "`PyObject*` which is initialized to ``NULL``." msgstr "" -#: c-api/typeobj.rst:1496 +#: c-api/typeobj.rst:1490 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " "is the list head for weak references to the type object itself." msgstr "" -#: c-api/typeobj.rst:1501 +#: c-api/typeobj.rst:1495 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype uses a " @@ -2255,7 +2248,7 @@ msgid "" "not be a problem." msgstr "" -#: c-api/typeobj.rst:1506 +#: c-api/typeobj.rst:1500 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types are weakly referenceable, the type " @@ -2264,7 +2257,7 @@ msgid "" "tp_weaklistoffset` of that slot's offset." msgstr "" -#: c-api/typeobj.rst:1511 +#: c-api/typeobj.rst:1505 msgid "" "When a type's :attr:`__slots__` declaration contains a slot named :attr:" "`__weakref__`, that slot becomes the weak reference list head for instances " @@ -2272,31 +2265,31 @@ msgid "" "`~PyTypeObject.tp_weaklistoffset`." msgstr "" -#: c-api/typeobj.rst:1516 +#: c-api/typeobj.rst:1510 msgid "" "When a type's :attr:`__slots__` declaration does not contain a slot named :" "attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject." "tp_weaklistoffset` from its base type." msgstr "" -#: c-api/typeobj.rst:1523 +#: c-api/typeobj.rst:1517 msgid "" "An optional pointer to a function that returns an :term:`iterator` for the " "object. Its presence normally signals that the instances of this type are :" "term:`iterable` (although sequences may be iterable without this function)." msgstr "" -#: c-api/typeobj.rst:1527 +#: c-api/typeobj.rst:1521 msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" msgstr "" -#: c-api/typeobj.rst:1538 +#: c-api/typeobj.rst:1532 msgid "" "An optional pointer to a function that returns the next item in an :term:" "`iterator`. The signature is::" msgstr "" -#: c-api/typeobj.rst:1543 +#: c-api/typeobj.rst:1537 msgid "" "When the iterator is exhausted, it must return ``NULL``; a :exc:" "`StopIteration` exception may or may not be set. When another error occurs, " @@ -2304,74 +2297,74 @@ msgid "" "this type are iterators." msgstr "" -#: c-api/typeobj.rst:1548 +#: c-api/typeobj.rst:1542 msgid "" "Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " "function, and that function should return the iterator instance itself (not " "a new iterator instance)." msgstr "" -#: c-api/typeobj.rst:1552 +#: c-api/typeobj.rst:1546 msgid "This function has the same signature as :c:func:`PyIter_Next`." msgstr "" -#: c-api/typeobj.rst:1561 +#: c-api/typeobj.rst:1555 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyMethodDef` structures, declaring regular methods of this type." msgstr "" -#: c-api/typeobj.rst:1564 +#: c-api/typeobj.rst:1558 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." msgstr "" -#: c-api/typeobj.rst:1569 +#: c-api/typeobj.rst:1563 msgid "" "This field is not inherited by subtypes (methods are inherited through a " "different mechanism)." msgstr "" -#: c-api/typeobj.rst:1575 +#: c-api/typeobj.rst:1569 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyMemberDef` structures, declaring regular data members (fields or slots) " "of instances of this type." msgstr "" -#: c-api/typeobj.rst:1579 +#: c-api/typeobj.rst:1573 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." msgstr "" -#: c-api/typeobj.rst:1584 +#: c-api/typeobj.rst:1578 msgid "" "This field is not inherited by subtypes (members are inherited through a " "different mechanism)." msgstr "" -#: c-api/typeobj.rst:1590 +#: c-api/typeobj.rst:1584 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyGetSetDef` structures, declaring computed attributes of instances of this " "type." msgstr "" -#: c-api/typeobj.rst:1593 +#: c-api/typeobj.rst:1587 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." msgstr "" -#: c-api/typeobj.rst:1598 +#: c-api/typeobj.rst:1592 msgid "" "This field is not inherited by subtypes (computed attributes are inherited " "through a different mechanism)." msgstr "" -#: c-api/typeobj.rst:1604 +#: c-api/typeobj.rst:1598 msgid "" "An optional pointer to a base type from which type properties are " "inherited. At this level, only single inheritance is supported; multiple " @@ -2379,7 +2372,7 @@ msgid "" "metatype." msgstr "" -#: c-api/typeobj.rst:1612 +#: c-api/typeobj.rst:1606 msgid "" "Slot initialization is subject to the rules of initializing globals. C99 " "requires the initializers to be \"address constants\". Function designators " @@ -2387,7 +2380,7 @@ msgid "" "valid C99 address constants." msgstr "" -#: c-api/typeobj.rst:1617 +#: c-api/typeobj.rst:1611 msgid "" "However, the unary '&' operator applied to a non-static variable like :c:" "func:`PyBaseObject_Type` is not required to produce an address constant. " @@ -2395,27 +2388,27 @@ msgid "" "strictly standard conforming in this particular behavior." msgstr "" -#: c-api/typeobj.rst:1623 +#: c-api/typeobj.rst:1617 msgid "" "Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " "extension module's init function." msgstr "" -#: c-api/typeobj.rst:1628 +#: c-api/typeobj.rst:1622 msgid "This field is not inherited by subtypes (obviously)." msgstr "" -#: c-api/typeobj.rst:1632 +#: c-api/typeobj.rst:1626 msgid "" "This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " "is known as the type :class:`object`)." msgstr "" -#: c-api/typeobj.rst:1638 +#: c-api/typeobj.rst:1632 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:1640 +#: c-api/typeobj.rst:1634 msgid "" "This field should normally be initialized to ``NULL`` before PyType_Ready is " "called; it may also be initialized to a dictionary containing initial " @@ -2424,43 +2417,43 @@ msgid "" "they don't correspond to overloaded operations (like :meth:`__add__`)." msgstr "" -#: c-api/typeobj.rst:1648 +#: c-api/typeobj.rst:1642 msgid "" "This field is not inherited by subtypes (though the attributes defined in " "here are inherited through a different mechanism)." msgstr "" -#: c-api/typeobj.rst:1653 +#: c-api/typeobj.rst:1647 msgid "" "If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " "dictionary to it." msgstr "" -#: c-api/typeobj.rst:1658 +#: c-api/typeobj.rst:1652 msgid "" "It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:" "member:`~PyTypeObject.tp_dict` with the dictionary C-API." msgstr "" -#: c-api/typeobj.rst:1664 +#: c-api/typeobj.rst:1658 msgid "An optional pointer to a \"descriptor get\" function." msgstr "" -#: c-api/typeobj.rst:1682 c-api/typeobj.rst:1794 c-api/typeobj.rst:1818 +#: c-api/typeobj.rst:1676 c-api/typeobj.rst:1788 c-api/typeobj.rst:1812 msgid "The function signature is::" msgstr "" -#: c-api/typeobj.rst:1679 +#: c-api/typeobj.rst:1673 msgid "" "An optional pointer to a function for setting and deleting a descriptor's " "value." msgstr "" -#: c-api/typeobj.rst:1686 +#: c-api/typeobj.rst:1680 msgid "The *value* argument is set to ``NULL`` to delete the value." msgstr "" -#: c-api/typeobj.rst:1697 +#: c-api/typeobj.rst:1691 msgid "" "If the instances of this type have a dictionary containing instance " "variables, this field is non-zero and contains the offset in the instances " @@ -2468,13 +2461,13 @@ msgid "" "func:`PyObject_GenericGetAttr`." msgstr "" -#: c-api/typeobj.rst:1702 +#: c-api/typeobj.rst:1696 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " "the dictionary for attributes of the type object itself." msgstr "" -#: c-api/typeobj.rst:1705 +#: c-api/typeobj.rst:1699 msgid "" "If the value of this field is greater than zero, it specifies the offset " "from the start of the instance structure. If the value is less than zero, " @@ -2490,13 +2483,13 @@ msgid "" "the very end of the structure." msgstr "" -#: c-api/typeobj.rst:1717 +#: c-api/typeobj.rst:1711 msgid "" "The real dictionary offset in an instance can be computed from a negative :c:" "member:`~PyTypeObject.tp_dictoffset` as follows::" msgstr "" -#: c-api/typeobj.rst:1724 +#: c-api/typeobj.rst:1718 msgid "" "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject." "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the " @@ -2506,7 +2499,7 @@ msgid "" "it is done for you by :c:func:`_PyObject_GetDictPtr`.)" msgstr "" -#: c-api/typeobj.rst:1732 +#: c-api/typeobj.rst:1726 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype instances " @@ -2515,7 +2508,7 @@ msgid "" "should not be a problem." msgstr "" -#: c-api/typeobj.rst:1737 +#: c-api/typeobj.rst:1731 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types has an instance variable dictionary, " @@ -2523,14 +2516,14 @@ msgid "" "`~PyTypeObject.tp_dictoffset` is set to that slot's offset." msgstr "" -#: c-api/typeobj.rst:1742 +#: c-api/typeobj.rst:1736 msgid "" "When a type defined by a class statement has a :attr:`__slots__` " "declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` " "from its base type." msgstr "" -#: c-api/typeobj.rst:1745 +#: c-api/typeobj.rst:1739 msgid "" "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " "declaration does not have the expected effect, it just causes confusion. " @@ -2538,17 +2531,17 @@ msgid "" "though.)" msgstr "" -#: c-api/typeobj.rst:1751 +#: c-api/typeobj.rst:1745 msgid "" "This slot has no default. For :ref:`static types `, if the " "field is ``NULL`` then no :attr:`__dict__` gets created for instances." msgstr "" -#: c-api/typeobj.rst:1757 +#: c-api/typeobj.rst:1751 msgid "An optional pointer to an instance initialization function." msgstr "" -#: c-api/typeobj.rst:1759 +#: c-api/typeobj.rst:1753 msgid "" "This function corresponds to the :meth:`__init__` method of classes. Like :" "meth:`__init__`, it is possible to create an instance without calling :meth:" @@ -2556,14 +2549,14 @@ msgid "" "meth:`__init__` method again." msgstr "" -#: c-api/typeobj.rst:1768 +#: c-api/typeobj.rst:1762 msgid "" "The self argument is the instance to be initialized; the *args* and *kwds* " "arguments represent positional and keyword arguments of the call to :meth:" "`__init__`." msgstr "" -#: c-api/typeobj.rst:1772 +#: c-api/typeobj.rst:1766 msgid "" "The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called " "when an instance is created normally by calling its type, after the type's :" @@ -2575,43 +2568,43 @@ msgid "" "subtype's :c:member:`~PyTypeObject.tp_init` is called." msgstr "" -#: c-api/typeobj.rst:1779 +#: c-api/typeobj.rst:1773 msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." msgstr "" -#: c-api/typeobj.rst:1787 +#: c-api/typeobj.rst:1781 msgid "" "For :ref:`static types ` this field does not have a default." msgstr "" -#: c-api/typeobj.rst:1792 +#: c-api/typeobj.rst:1786 msgid "An optional pointer to an instance allocation function." msgstr "" -#: c-api/typeobj.rst:1800 +#: c-api/typeobj.rst:1794 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)." msgstr "" -#: c-api/typeobj.rst:1805 +#: c-api/typeobj.rst:1799 msgid "" "For dynamic subtypes, this field is always set to :c:func:" "`PyType_GenericAlloc`, to force a standard heap allocation strategy." msgstr "" -#: c-api/typeobj.rst:1809 +#: c-api/typeobj.rst:1803 msgid "" "For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:" "`PyType_GenericAlloc`. That is the recommended value for all statically " "defined types." msgstr "" -#: c-api/typeobj.rst:1816 +#: c-api/typeobj.rst:1810 msgid "An optional pointer to an instance creation function." msgstr "" -#: c-api/typeobj.rst:1822 +#: c-api/typeobj.rst:1816 msgid "" "The *subtype* argument is the type of the object being created; the *args* " "and *kwds* arguments represent positional and keyword arguments of the call " @@ -2620,7 +2613,7 @@ msgid "" "that type (but not an unrelated type)." msgstr "" -#: c-api/typeobj.rst:1828 +#: c-api/typeobj.rst:1822 msgid "" "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " @@ -2632,20 +2625,20 @@ msgid "" "be deferred to :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: c-api/typeobj.rst:1836 +#: c-api/typeobj.rst:1830 msgid "" "Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating " "instances of the type in Python." msgstr "" -#: c-api/typeobj.rst:1841 +#: c-api/typeobj.rst:1835 msgid "" "This field is inherited by subtypes, except it is not inherited by :ref:" "`static types ` whose :c:member:`~PyTypeObject.tp_base` is " "``NULL`` or ``&PyBaseObject_Type``." msgstr "" -#: c-api/typeobj.rst:1847 +#: c-api/typeobj.rst:1841 msgid "" "For :ref:`static types ` this field has no default. This means " "if the slot is defined as ``NULL``, the type cannot be called to create new " @@ -2653,39 +2646,39 @@ msgid "" "factory function." msgstr "" -#: c-api/typeobj.rst:1855 +#: c-api/typeobj.rst:1849 msgid "" "An optional pointer to an instance deallocation function. Its signature is::" msgstr "" -#: c-api/typeobj.rst:1859 +#: c-api/typeobj.rst:1853 msgid "" "An initializer that is compatible with this signature is :c:func:" "`PyObject_Free`." msgstr "" -#: c-api/typeobj.rst:1863 +#: c-api/typeobj.rst:1857 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)" msgstr "" -#: c-api/typeobj.rst:1868 +#: c-api/typeobj.rst:1862 msgid "" "In dynamic subtypes, this field is set to a deallocator suitable to match :c:" "func:`PyType_GenericAlloc` and the value of the :const:`Py_TPFLAGS_HAVE_GC` " "flag bit." msgstr "" -#: c-api/typeobj.rst:1872 +#: c-api/typeobj.rst:1866 msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del." msgstr "" -#: c-api/typeobj.rst:1877 +#: c-api/typeobj.rst:1871 msgid "An optional pointer to a function called by the garbage collector." msgstr "" -#: c-api/typeobj.rst:1879 +#: c-api/typeobj.rst:1873 msgid "" "The garbage collector needs to know whether a particular object is " "collectible or not. Normally, it is sufficient to look at the object's " @@ -2697,74 +2690,74 @@ msgid "" "instance. The signature is::" msgstr "" -#: c-api/typeobj.rst:1889 +#: c-api/typeobj.rst:1883 msgid "" "(The only example of this are types themselves. The metatype, :c:data:" "`PyType_Type`, defines this function to distinguish between statically and :" "ref:`dynamically allocated types `.)" msgstr "" -#: c-api/typeobj.rst:1899 +#: c-api/typeobj.rst:1893 msgid "" "This slot has no default. If this field is ``NULL``, :const:" "`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." msgstr "" -#: c-api/typeobj.rst:1905 +#: c-api/typeobj.rst:1899 msgid "Tuple of base types." msgstr "" -#: c-api/typeobj.rst:1907 +#: c-api/typeobj.rst:1901 msgid "" "This is set for types created by a class statement. It should be ``NULL`` " "for statically defined types." msgstr "" -#: c-api/typeobj.rst:1933 c-api/typeobj.rst:1952 c-api/typeobj.rst:1966 +#: c-api/typeobj.rst:1927 c-api/typeobj.rst:1946 c-api/typeobj.rst:1960 msgid "This field is not inherited." msgstr "" -#: c-api/typeobj.rst:1917 +#: c-api/typeobj.rst:1911 msgid "" "Tuple containing the expanded set of base types, starting with the type " "itself and ending with :class:`object`, in Method Resolution Order." msgstr "" -#: c-api/typeobj.rst:1923 +#: c-api/typeobj.rst:1917 msgid "" "This field is not inherited; it is calculated fresh by :c:func:" "`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:1929 +#: c-api/typeobj.rst:1923 msgid "Unused. Internal use only." msgstr "" -#: c-api/typeobj.rst:1938 +#: c-api/typeobj.rst:1932 msgid "List of weak references to subclasses. Internal use only." msgstr "" -#: c-api/typeobj.rst:1947 +#: c-api/typeobj.rst:1941 msgid "" "Weak reference list head, for weak references to this type object. Not " "inherited. Internal use only." msgstr "" -#: c-api/typeobj.rst:1957 +#: c-api/typeobj.rst:1951 msgid "" "This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` instead." msgstr "" -#: c-api/typeobj.rst:1962 +#: c-api/typeobj.rst:1956 msgid "Used to index into the method cache. Internal use only." msgstr "" -#: c-api/typeobj.rst:1971 +#: c-api/typeobj.rst:1965 msgid "" "An optional pointer to an instance finalization function. Its signature is::" msgstr "" -#: c-api/typeobj.rst:1975 +#: c-api/typeobj.rst:1969 msgid "" "If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " "once when finalizing an instance. It is called either from the garbage " @@ -2774,20 +2767,14 @@ msgid "" "object in a sane state." msgstr "" -#: c-api/typeobj.rst:1982 +#: c-api/typeobj.rst:1976 msgid "" ":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " "exception status; therefore, a recommended way to write a non-trivial " "finalizer is::" msgstr "" -#: c-api/typeobj.rst:1999 -msgid "" -"For this field to be taken into account (even through inheritance), you must " -"also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit." -msgstr "" - -#: c-api/typeobj.rst:2002 +#: c-api/typeobj.rst:1993 msgid "" "Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject." "tp_dealloc` may be called from any Python thread, not just the thread which " @@ -2800,11 +2787,18 @@ msgid "" "which called tp_dealloc will not violate any assumptions of the library." msgstr "" -#: c-api/typeobj.rst:2019 +#: c-api/typeobj.rst:2012 +msgid "" +"Before version 3.8 it was necessary to set the :const:" +"`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to be used. " +"This is no longer required." +msgstr "" + +#: c-api/typeobj.rst:2016 msgid "\"Safe object finalization\" (:pep:`442`)" msgstr "" -#: c-api/typeobj.rst:2024 +#: c-api/typeobj.rst:2021 msgid "" "Vectorcall function to use for calls of this type object. In other words, it " "is used to implement :ref:`vectorcall ` for ``type.__call__``. " @@ -2812,61 +2806,61 @@ msgid "" "attr:`__new__` and :attr:`__init__` is used." msgstr "" -#: c-api/typeobj.rst:2032 +#: c-api/typeobj.rst:2029 msgid "This field is never inherited." msgstr "" -#: c-api/typeobj.rst:2034 +#: c-api/typeobj.rst:2031 msgid "(the field exists since 3.8 but it's only used since 3.9)" msgstr "" -#: c-api/typeobj.rst:2040 +#: c-api/typeobj.rst:2037 msgid "Static Types" msgstr "" -#: c-api/typeobj.rst:2042 +#: c-api/typeobj.rst:2039 msgid "" "Traditionally, types defined in C code are *static*, that is, a static :c:" "type:`PyTypeObject` structure is defined directly in code and initialized " "using :c:func:`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:2046 +#: c-api/typeobj.rst:2043 msgid "" "This results in types that are limited relative to types defined in Python:" msgstr "" -#: c-api/typeobj.rst:2048 +#: c-api/typeobj.rst:2045 msgid "" "Static types are limited to one base, i.e. they cannot use multiple " "inheritance." msgstr "" -#: c-api/typeobj.rst:2050 +#: c-api/typeobj.rst:2047 msgid "" "Static type objects (but not necessarily their instances) are immutable. It " "is not possible to add or modify the type object's attributes from Python." msgstr "" -#: c-api/typeobj.rst:2052 +#: c-api/typeobj.rst:2049 msgid "" "Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" "specific state." msgstr "" -#: c-api/typeobj.rst:2056 +#: c-api/typeobj.rst:2053 msgid "" -"Also, since :c:type:`PyTypeObject` is not part of the :ref:`stable ABI " -"`, any extension modules using static types must be compiled for a " -"specific Python minor version." +"Also, since :c:type:`PyTypeObject` is only part of the :ref:`Limited API " +"` as an opaque struct, any extension modules using static types must " +"be compiled for a specific Python minor version." msgstr "" -#: c-api/typeobj.rst:2064 +#: c-api/typeobj.rst:2061 msgid "Heap Types" msgstr "" -#: c-api/typeobj.rst:2066 +#: c-api/typeobj.rst:2063 msgid "" "An alternative to :ref:`static types ` is *heap-allocated " "types*, or *heap types* for short, which correspond closely to classes " @@ -2874,29 +2868,29 @@ msgid "" "`Py_TPFLAGS_HEAPTYPE` flag set." msgstr "" -#: c-api/typeobj.rst:2071 +#: c-api/typeobj.rst:2068 msgid "" "This is done by filling a :c:type:`PyType_Spec` structure and calling :c:" "func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:" "`PyType_FromModuleAndSpec`." msgstr "" -#: c-api/typeobj.rst:2079 +#: c-api/typeobj.rst:2076 msgid "Number Object Structures" msgstr "" -#: c-api/typeobj.rst:2086 +#: c-api/typeobj.rst:2083 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the number protocol. Each function is used by the function of " "similar name documented in the :ref:`number` section." msgstr "" -#: c-api/typeobj.rst:2416 +#: c-api/typeobj.rst:2413 msgid "Here is the structure definition::" msgstr "" -#: c-api/typeobj.rst:2139 +#: c-api/typeobj.rst:2136 msgid "" "Binary and ternary functions must check the type of all their operands, and " "implement the necessary conversions (at least one of the operands is an " @@ -2906,30 +2900,30 @@ msgid "" "and set an exception." msgstr "" -#: c-api/typeobj.rst:2148 +#: c-api/typeobj.rst:2145 msgid "" "The :c:data:`nb_reserved` field should always be ``NULL``. It was " "previously called :c:data:`nb_long`, and was renamed in Python 3.0.1." msgstr "" -#: c-api/typeobj.rst:2193 +#: c-api/typeobj.rst:2190 msgid "Mapping Object Structures" msgstr "" -#: c-api/typeobj.rst:2200 +#: c-api/typeobj.rst:2197 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the mapping protocol. It has three members:" msgstr "" -#: c-api/typeobj.rst:2205 +#: c-api/typeobj.rst:2202 msgid "" "This function is used by :c:func:`PyMapping_Size` and :c:func:" "`PyObject_Size`, and has the same signature. This slot may be set to " "``NULL`` if the object has no defined length." msgstr "" -#: c-api/typeobj.rst:2211 +#: c-api/typeobj.rst:2208 msgid "" "This function is used by :c:func:`PyObject_GetItem` and :c:func:" "`PySequence_GetSlice`, and has the same signature as :c:func:`!" @@ -2937,7 +2931,7 @@ msgid "" "`PyMapping_Check` function to return ``1``, it can be ``NULL`` otherwise." msgstr "" -#: c-api/typeobj.rst:2219 +#: c-api/typeobj.rst:2216 msgid "" "This function is used by :c:func:`PyObject_SetItem`, :c:func:" "`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:" @@ -2947,17 +2941,17 @@ msgid "" "deletion." msgstr "" -#: c-api/typeobj.rst:2230 +#: c-api/typeobj.rst:2227 msgid "Sequence Object Structures" msgstr "" -#: c-api/typeobj.rst:2237 +#: c-api/typeobj.rst:2234 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the sequence protocol." msgstr "" -#: c-api/typeobj.rst:2242 +#: c-api/typeobj.rst:2239 msgid "" "This function is used by :c:func:`PySequence_Size` and :c:func:" "`PyObject_Size`, and has the same signature. It is also used for handling " @@ -2965,21 +2959,21 @@ msgid "" "member:`~PySequenceMethods.sq_ass_item` slots." msgstr "" -#: c-api/typeobj.rst:2249 +#: c-api/typeobj.rst:2246 msgid "" "This function is used by :c:func:`PySequence_Concat` and has the same " "signature. It is also used by the ``+`` operator, after trying the numeric " "addition via the :c:member:`~PyNumberMethods.nb_add` slot." msgstr "" -#: c-api/typeobj.rst:2255 +#: c-api/typeobj.rst:2252 msgid "" "This function is used by :c:func:`PySequence_Repeat` and has the same " "signature. It is also used by the ``*`` operator, after trying numeric " "multiplication via the :c:member:`~PyNumberMethods.nb_multiply` slot." msgstr "" -#: c-api/typeobj.rst:2261 +#: c-api/typeobj.rst:2258 msgid "" "This function is used by :c:func:`PySequence_GetItem` and has the same " "signature. It is also used by :c:func:`PyObject_GetItem`, after trying the " @@ -2988,7 +2982,7 @@ msgid "" "``1``, it can be ``NULL`` otherwise." msgstr "" -#: c-api/typeobj.rst:2267 +#: c-api/typeobj.rst:2264 msgid "" "Negative indexes are handled as follows: if the :attr:`sq_length` slot is " "filled, it is called and the sequence length is used to compute a positive " @@ -2996,7 +2990,7 @@ msgid "" "the index is passed as is to the function." msgstr "" -#: c-api/typeobj.rst:2274 +#: c-api/typeobj.rst:2271 msgid "" "This function is used by :c:func:`PySequence_SetItem` and has the same " "signature. It is also used by :c:func:`PyObject_SetItem` and :c:func:" @@ -3005,14 +2999,14 @@ msgid "" "``NULL`` if the object does not support item assignment and deletion." msgstr "" -#: c-api/typeobj.rst:2283 +#: c-api/typeobj.rst:2280 msgid "" "This function may be used by :c:func:`PySequence_Contains` and has the same " "signature. This slot may be left to ``NULL``, in this case :c:func:`!" "PySequence_Contains` simply traverses the sequence until it finds a match." msgstr "" -#: c-api/typeobj.rst:2290 +#: c-api/typeobj.rst:2287 msgid "" "This function is used by :c:func:`PySequence_InPlaceConcat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3022,7 +3016,7 @@ msgid "" "c:member:`~PyNumberMethods.nb_inplace_add` slot." msgstr "" -#: c-api/typeobj.rst:2299 +#: c-api/typeobj.rst:2296 msgid "" "This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3032,70 +3026,70 @@ msgid "" "via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot." msgstr "" -#: c-api/typeobj.rst:2310 +#: c-api/typeobj.rst:2307 msgid "Buffer Object Structures" msgstr "" -#: c-api/typeobj.rst:2318 +#: c-api/typeobj.rst:2315 msgid "" "This structure holds pointers to the functions required by the :ref:`Buffer " "protocol `. The protocol defines how an exporter object can " "expose its internal data to consumer objects." msgstr "" -#: c-api/typeobj.rst:2373 c-api/typeobj.rst:2438 c-api/typeobj.rst:2459 +#: c-api/typeobj.rst:2370 c-api/typeobj.rst:2435 c-api/typeobj.rst:2456 msgid "The signature of this function is::" msgstr "" -#: c-api/typeobj.rst:2328 +#: c-api/typeobj.rst:2325 msgid "" "Handle a request to *exporter* to fill in *view* as specified by *flags*. " "Except for point (3), an implementation of this function MUST take these " "steps:" msgstr "" -#: c-api/typeobj.rst:2332 +#: c-api/typeobj.rst:2329 msgid "" "Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " -"set :c:data:`view->obj` to ``NULL`` and return ``-1``." +"set :c:expr:`view->obj` to ``NULL`` and return ``-1``." msgstr "" -#: c-api/typeobj.rst:2335 +#: c-api/typeobj.rst:2332 msgid "Fill in the requested fields." msgstr "" -#: c-api/typeobj.rst:2337 +#: c-api/typeobj.rst:2334 msgid "Increment an internal counter for the number of exports." msgstr "" -#: c-api/typeobj.rst:2339 +#: c-api/typeobj.rst:2336 msgid "" -"Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`." +"Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`." msgstr "" -#: c-api/typeobj.rst:2341 +#: c-api/typeobj.rst:2338 msgid "Return ``0``." msgstr "" -#: c-api/typeobj.rst:2343 +#: c-api/typeobj.rst:2340 msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" msgstr "" -#: c-api/typeobj.rst:2346 +#: c-api/typeobj.rst:2343 msgid "" "Re-export: Each member of the tree acts as the exporting object and sets :c:" -"data:`view->obj` to a new reference to itself." +"expr:`view->obj` to a new reference to itself." msgstr "" -#: c-api/typeobj.rst:2349 +#: c-api/typeobj.rst:2346 msgid "" "Redirect: The buffer request is redirected to the root object of the tree. " -"Here, :c:data:`view->obj` will be a new reference to the root object." +"Here, :c:expr:`view->obj` will be a new reference to the root object." msgstr "" -#: c-api/typeobj.rst:2353 +#: c-api/typeobj.rst:2350 msgid "" "The individual fields of *view* are described in section :ref:`Buffer " "structure `, the rules how an exporter must react to " @@ -3103,7 +3097,7 @@ msgid "" "types>`." msgstr "" -#: c-api/typeobj.rst:2358 +#: c-api/typeobj.rst:2355 msgid "" "All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " "exporter and must remain valid until there are no consumers left. :c:member:" @@ -3112,19 +3106,19 @@ msgid "" "internal` are read-only for the consumer." msgstr "" -#: c-api/typeobj.rst:2365 +#: c-api/typeobj.rst:2362 msgid "" ":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " "buffer while dealing correctly with all request types." msgstr "" -#: c-api/typeobj.rst:2368 +#: c-api/typeobj.rst:2365 msgid "" ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " "this function." msgstr "" -#: c-api/typeobj.rst:2377 +#: c-api/typeobj.rst:2374 msgid "" "Handle a request to release the resources of the buffer. If no resources " "need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " @@ -3132,15 +3126,15 @@ msgid "" "these optional steps:" msgstr "" -#: c-api/typeobj.rst:2382 +#: c-api/typeobj.rst:2379 msgid "Decrement an internal counter for the number of exports." msgstr "" -#: c-api/typeobj.rst:2384 +#: c-api/typeobj.rst:2381 msgid "If the counter is ``0``, free all memory associated with *view*." msgstr "" -#: c-api/typeobj.rst:2386 +#: c-api/typeobj.rst:2383 msgid "" "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " "track of buffer-specific resources. This field is guaranteed to remain " @@ -3148,68 +3142,68 @@ msgid "" "*view* argument." msgstr "" -#: c-api/typeobj.rst:2392 +#: c-api/typeobj.rst:2389 msgid "" -"This function MUST NOT decrement :c:data:`view->obj`, since that is done " +"This function MUST NOT decrement :c:expr:`view->obj`, since that is done " "automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " "breaking reference cycles)." msgstr "" -#: c-api/typeobj.rst:2397 +#: c-api/typeobj.rst:2394 msgid "" ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " "function." msgstr "" -#: c-api/typeobj.rst:2405 +#: c-api/typeobj.rst:2402 msgid "Async Object Structures" msgstr "" -#: c-api/typeobj.rst:2413 +#: c-api/typeobj.rst:2410 msgid "" "This structure holds pointers to the functions required to implement :term:" "`awaitable` and :term:`asynchronous iterator` objects." msgstr "" -#: c-api/typeobj.rst:2431 +#: c-api/typeobj.rst:2428 msgid "" "The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check` " "must return ``1`` for it." msgstr "" -#: c-api/typeobj.rst:2434 +#: c-api/typeobj.rst:2431 msgid "" "This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." msgstr "" -#: c-api/typeobj.rst:2442 +#: c-api/typeobj.rst:2439 msgid "" "Must return an :term:`asynchronous iterator` object. See :meth:`__anext__` " "for details." msgstr "" -#: c-api/typeobj.rst:2445 +#: c-api/typeobj.rst:2442 msgid "" "This slot may be set to ``NULL`` if an object does not implement " "asynchronous iteration protocol." msgstr "" -#: c-api/typeobj.rst:2454 +#: c-api/typeobj.rst:2451 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " "This slot may be set to ``NULL``." msgstr "" -#: c-api/typeobj.rst:2463 +#: c-api/typeobj.rst:2460 msgid "" "See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." msgstr "" -#: c-api/typeobj.rst:2472 +#: c-api/typeobj.rst:2469 msgid "Slot Type typedefs" msgstr "" -#: c-api/typeobj.rst:2476 +#: c-api/typeobj.rst:2473 msgid "" "The purpose of this function is to separate memory allocation from memory " "initialization. It should return a pointer to a block of memory of adequate " @@ -3223,80 +3217,80 @@ msgid "" "member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: c-api/typeobj.rst:2486 +#: c-api/typeobj.rst:2483 msgid "" "This function should not do any other instance initialization, not even to " "allocate additional memory; that should be done by :c:member:`~PyTypeObject." "tp_new`." msgstr "" -#: c-api/typeobj.rst:2493 +#: c-api/typeobj.rst:2490 msgid "See :c:member:`~PyTypeObject.tp_free`." msgstr "" -#: c-api/typeobj.rst:2497 +#: c-api/typeobj.rst:2494 msgid "See :c:member:`~PyTypeObject.tp_new`." msgstr "" -#: c-api/typeobj.rst:2501 +#: c-api/typeobj.rst:2498 msgid "See :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: c-api/typeobj.rst:2505 +#: c-api/typeobj.rst:2502 msgid "See :c:member:`~PyTypeObject.tp_repr`." msgstr "" -#: c-api/typeobj.rst:2518 +#: c-api/typeobj.rst:2515 msgid "Return the value of the named attribute for the object." msgstr "" -#: c-api/typeobj.rst:2524 +#: c-api/typeobj.rst:2521 msgid "" "Set the value of the named attribute for the object. The value argument is " "set to ``NULL`` to delete the attribute." msgstr "" -#: c-api/typeobj.rst:2520 +#: c-api/typeobj.rst:2517 msgid "See :c:member:`~PyTypeObject.tp_getattro`." msgstr "" -#: c-api/typeobj.rst:2527 +#: c-api/typeobj.rst:2524 msgid "See :c:member:`~PyTypeObject.tp_setattro`." msgstr "" -#: c-api/typeobj.rst:2531 -msgid "See :c:member:`~PyTypeObject.tp_descrget`." +#: c-api/typeobj.rst:2528 +msgid "See :c:member:`~PyTypeObject.tp_descr_get`." msgstr "" -#: c-api/typeobj.rst:2535 -msgid "See :c:member:`~PyTypeObject.tp_descrset`." +#: c-api/typeobj.rst:2532 +msgid "See :c:member:`~PyTypeObject.tp_descr_set`." msgstr "" -#: c-api/typeobj.rst:2539 +#: c-api/typeobj.rst:2536 msgid "See :c:member:`~PyTypeObject.tp_hash`." msgstr "" -#: c-api/typeobj.rst:2543 +#: c-api/typeobj.rst:2540 msgid "See :c:member:`~PyTypeObject.tp_richcompare`." msgstr "" -#: c-api/typeobj.rst:2547 +#: c-api/typeobj.rst:2544 msgid "See :c:member:`~PyTypeObject.tp_iter`." msgstr "" -#: c-api/typeobj.rst:2551 +#: c-api/typeobj.rst:2548 msgid "See :c:member:`~PyTypeObject.tp_iternext`." msgstr "" -#: c-api/typeobj.rst:2565 +#: c-api/typeobj.rst:2562 msgid "See :c:member:`~PyAsyncMethods.am_send`." msgstr "" -#: c-api/typeobj.rst:2581 +#: c-api/typeobj.rst:2578 msgid "Examples" msgstr "Exemples" -#: c-api/typeobj.rst:2583 +#: c-api/typeobj.rst:2580 msgid "" "The following are simple examples of Python type definitions. They include " "common usage you may encounter. Some demonstrate tricky corner cases. For " @@ -3304,33 +3298,33 @@ msgid "" "and :ref:`new-types-topics`." msgstr "" -#: c-api/typeobj.rst:2588 +#: c-api/typeobj.rst:2585 msgid "A basic :ref:`static type `::" msgstr "" -#: c-api/typeobj.rst:2605 +#: c-api/typeobj.rst:2602 msgid "" "You may also find older code (especially in the CPython code base) with a " "more verbose initializer::" msgstr "" -#: c-api/typeobj.rst:2649 +#: c-api/typeobj.rst:2646 msgid "A type that supports weakrefs, instance dicts, and hashing::" msgstr "" -#: c-api/typeobj.rst:2676 +#: c-api/typeobj.rst:2673 msgid "" "A str subclass that cannot be subclassed and cannot be called to create " "instances (e.g. uses a separate factory func) using :c:data:" "`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" msgstr "" -#: c-api/typeobj.rst:2695 +#: c-api/typeobj.rst:2692 msgid "" "The simplest :ref:`static type ` with fixed-length instances::" msgstr "" -#: c-api/typeobj.rst:2706 +#: c-api/typeobj.rst:2703 msgid "" "The simplest :ref:`static type ` with variable-length " "instances::" diff --git a/c-api/unicode.po b/c-api/unicode.po index 4ff77798bd..be87d1626c 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-04 12:27+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -34,8 +34,8 @@ msgstr "" #: c-api/unicode.rst:20 msgid "" -":c:type:`Py_UNICODE*` and UTF-8 representations are created on demand and " -"cached in the Unicode object. The :c:type:`Py_UNICODE*` representation is " +":c:expr:`Py_UNICODE*` and UTF-8 representations are created on demand and " +"cached in the Unicode object. The :c:expr:`Py_UNICODE*` representation is " "deprecated and inefficient." msgstr "" @@ -55,7 +55,7 @@ msgstr "" #: c-api/unicode.rst:31 msgid "" "\"legacy\" Unicode objects have been created through one of the deprecated " -"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:type:" +"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:expr:" "`Py_UNICODE*` representation; you will have to call :c:func:" "`PyUnicode_READY` on them before calling any other API." msgstr "" @@ -86,7 +86,7 @@ msgstr "" #: c-api/unicode.rst:61 msgid "" -"This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit " +"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform." msgstr "" @@ -235,7 +235,7 @@ msgid "" "The returned buffer is always terminated with an extra null code point. It " "may also contain embedded null code points, which would cause the string to " "be truncated when used in most C functions. The ``AS_DATA`` form casts the " -"pointer to :c:type:`const char *`. The *o* argument has to be a Unicode " +"pointer to :c:expr:`const char *`. The *o* argument has to be a Unicode " "object (not checked)." msgstr "" @@ -887,7 +887,7 @@ msgstr "" #: c-api/unicode.rst:708 msgid "" "Return a read-only pointer to the Unicode object's internal :c:type:" -"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:type:" +"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:expr:" "`Py_UNICODE*` representation of the object if it is not yet available. The " "buffer is always terminated with an extra null code point. Note that the " "resulting :c:type:`Py_UNICODE` string may also contain embedded null code " @@ -919,7 +919,7 @@ msgstr "" msgid "" "Like :c:func:`PyUnicode_AsUnicode`, but also saves the :c:func:`Py_UNICODE` " "array length (excluding the extra null terminator) in *size*. Note that the " -"resulting :c:type:`Py_UNICODE*` string may contain embedded null code " +"resulting :c:expr:`Py_UNICODE*` string may contain embedded null code " "points, which would cause the string to be truncated when used in most C " "functions." msgstr "" @@ -1036,7 +1036,7 @@ msgid "" "ParseTuple converter: encode :class:`str` objects -- obtained directly or " "through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:" "func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. " -"*result* must be a :c:type:`PyBytesObject*` which must be released when it " +"*result* must be a :c:expr:`PyBytesObject*` which must be released when it " "is no longer used." msgstr "" @@ -1056,7 +1056,7 @@ msgid "" "ParseTuple converter: decode :class:`bytes` objects -- obtained either " "directly or indirectly through the :class:`os.PathLike` interface -- to :" "class:`str` using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` " -"objects are output as-is. *result* must be a :c:type:`PyUnicodeObject*` " +"objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` " "which must be released when it is no longer used." msgstr "" @@ -1113,26 +1113,26 @@ msgid "wchar_t Support" msgstr "" #: c-api/unicode.rst:942 -msgid ":c:type:`wchar_t` support for platforms which support it:" +msgid ":c:expr:`wchar_t` support for platforms which support it:" msgstr "" #: c-api/unicode.rst:946 msgid "" -"Create a Unicode object from the :c:type:`wchar_t` buffer *w* of the given " +"Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given " "*size*. Passing ``-1`` as the *size* indicates that the function must itself " "compute the length, using wcslen. Return ``NULL`` on failure." msgstr "" #: c-api/unicode.rst:954 msgid "" -"Copy the Unicode object contents into the :c:type:`wchar_t` buffer *w*. At " -"most *size* :c:type:`wchar_t` characters are copied (excluding a possibly " -"trailing null termination character). Return the number of :c:type:" +"Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*. At " +"most *size* :c:expr:`wchar_t` characters are copied (excluding a possibly " +"trailing null termination character). Return the number of :c:expr:" "`wchar_t` characters copied or ``-1`` in case of an error. Note that the " -"resulting :c:type:`wchar_t*` string may or may not be null-terminated. It " -"is the responsibility of the caller to make sure that the :c:type:`wchar_t*` " +"resulting :c:expr:`wchar_t*` string may or may not be null-terminated. It " +"is the responsibility of the caller to make sure that the :c:expr:`wchar_t*` " "string is null-terminated in case this is required by the application. Also, " -"note that the :c:type:`wchar_t*` string might contain null characters, which " +"note that the :c:expr:`wchar_t*` string might contain null characters, which " "would cause the string to be truncated when used with most C functions." msgstr "" @@ -1141,9 +1141,9 @@ msgid "" "Convert the Unicode object to a wide character string. The output string " "always ends with a null character. If *size* is not ``NULL``, write the " "number of wide characters (excluding the trailing null termination " -"character) into *\\*size*. Note that the resulting :c:type:`wchar_t` string " +"character) into *\\*size*. Note that the resulting :c:expr:`wchar_t` string " "might contain null characters, which would cause the string to be truncated " -"when used with most C functions. If *size* is ``NULL`` and the :c:type:" +"when used with most C functions. If *size* is ``NULL`` and the :c:expr:" "`wchar_t*` string contains null characters a :exc:`ValueError` is raised." msgstr "" @@ -1157,7 +1157,7 @@ msgstr "" #: c-api/unicode.rst:982 msgid "" -"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:type:`wchar_t*` " +"Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` " "string contains null characters." msgstr "" diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index 815bf4881f..93c436db1b 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -35,12 +35,12 @@ msgstr "" #: c-api/veryhigh.rst:19 msgid "" -"Note also that several of these functions take :c:type:`FILE*` parameters. " -"One particular issue which needs to be handled carefully is that the :c:type:" +"Note also that several of these functions take :c:expr:`FILE*` parameters. " +"One particular issue which needs to be handled carefully is that the :c:expr:" "`FILE` structure for different C libraries can be different and " "incompatible. Under Windows (at least), it is possible for dynamically " "linked extensions to actually use different libraries, so care should be " -"taken that :c:type:`FILE*` parameters are only passed to these functions if " +"taken that :c:expr:`FILE*` parameters are only passed to these functions if " "it is certain that they were created by the same library that the Python " "runtime is using." msgstr "" @@ -101,7 +101,7 @@ msgstr "" #: c-api/veryhigh.rst:84 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, " -"leaving the :c:type:`PyCompilerFlags`\\* argument set to ``NULL``." +"leaving the :c:struct:`PyCompilerFlags`\\* argument set to ``NULL``." msgstr "" #: c-api/veryhigh.rst:90 diff --git a/c-api/weakref.po b/c-api/weakref.po index e110ae1742..c87980a274 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:25+0100\n" "Last-Translator: Andy Kwok \n" "Language-Team: FRENCH \n" @@ -58,7 +58,7 @@ msgid "" "a callable object that receives notification when *ob* is garbage collected; " "it should accept a single parameter, which will be the weak reference object " "itself. *callback* may also be ``None`` or ``NULL``. If *ob* is not a " -"weakly-referencable object, or if *callback* is not callable, ``None``, or " +"weakly referencable object, or if *callback* is not callable, ``None``, or " "``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." msgstr "" "Retourne un objet de référence faible pour l'objet *ob*. Elle renvoie " @@ -81,7 +81,7 @@ msgid "" "can be a callable object that receives notification when *ob* is garbage " "collected; it should accept a single parameter, which will be the weak " "reference object itself. *callback* may also be ``None`` or ``NULL``. If " -"*ob* is not a weakly-referencable object, or if *callback* is not callable, " +"*ob* is not a weakly referencable object, or if *callback* is not callable, " "``None``, or ``NULL``, this will return ``NULL`` and raise :exc:`TypeError`." msgstr "" "Retourne un objet mandataire à référence faible pour l'objet *ob*. Ceci " diff --git a/distutils/apiref.po b/distutils/apiref.po index 5e9da6b3c0..09b0fad9c7 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:23+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -2253,8 +2253,9 @@ msgstr "" "environ``." #: distutils/apiref.rst:1201 +#, fuzzy msgid "" -"Note that this is not a fully-fledged string interpolation function. A valid " +"Note that this is not a full-fledged string interpolation function. A valid " "``$variable`` can consist only of upper and lower case letters, numbers and " "an underscore. No { } or ( ) style quoting is available." msgstr "" diff --git a/extending/building.po b/extending/building.po index 3b85e33cd3..2da87acee9 100644 --- a/extending/building.po +++ b/extending/building.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 12:46+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -44,8 +44,9 @@ msgid "The initialization function has the signature:" msgstr "La fonction d'initialisation doit avoir le prototype :" #: extending/building.rst:20 +#, fuzzy msgid "" -"It returns either a fully-initialized module, or a :c:type:`PyModuleDef` " +"It returns either a fully initialized module, or a :c:type:`PyModuleDef` " "instance. See :ref:`initializing-modules` for details." msgstr "" "Elle doit donner soit un module entièrement initialisé, soit une instance " diff --git a/extending/extending.po b/extending/extending.po index 4be8ad4bc7..2bada8abf1 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 12:50+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -311,14 +311,13 @@ msgstr "" msgid "" "When a function *f* that calls another function *g* detects that the latter " "fails, *f* should itself return an error value (usually ``NULL`` or " -"``-1``). It should *not* call one of the :c:func:`PyErr_\\*` functions --- " -"one has already been called by *g*. *f*'s caller is then supposed to also " -"return an error indication to *its* caller, again *without* calling :c:func:" -"`PyErr_\\*`, and so on --- the most detailed cause of the error was already " -"reported by the function that first detected it. Once the error reaches the " -"Python interpreter's main loop, this aborts the currently executing Python " -"code and tries to find an exception handler specified by the Python " -"programmer." +"``-1``). It should *not* call one of the ``PyErr_*`` functions --- one has " +"already been called by *g*. *f*'s caller is then supposed to also return an " +"error indication to *its* caller, again *without* calling ``PyErr_*``, and " +"so on --- the most detailed cause of the error was already reported by the " +"function that first detected it. Once the error reaches the Python " +"interpreter's main loop, this aborts the currently executing Python code and " +"tries to find an exception handler specified by the Python programmer." msgstr "" "Lorsqu'une fonction *f* ayant appelé une autre fonction *g* détecte que " "cette dernière a échoué, *f* devrait donner une valeur d'erreur à son tour " @@ -333,12 +332,13 @@ msgstr "" "d'exception spécifié par le développeur Python." #: extending/extending.rst:168 +#, fuzzy msgid "" "(There are situations where a module can actually give a more detailed error " -"message by calling another :c:func:`PyErr_\\*` function, and in such cases " -"it is fine to do so. As a general rule, however, this is not necessary, and " -"can cause information about the cause of the error to be lost: most " -"operations can fail for a variety of reasons.)" +"message by calling another ``PyErr_*`` function, and in such cases it is " +"fine to do so. As a general rule, however, this is not necessary, and can " +"cause information about the cause of the error to be lost: most operations " +"can fail for a variety of reasons.)" msgstr "" "(Il y a des situations où un module peut effectivement donner un message " "d'erreur plus détaillé en appelant une autre fonction :c:func:`PyErr_\\*`, " @@ -543,9 +543,10 @@ msgstr "" "objets dans le tas en Python !)" #: extending/extending.rst:300 +#, fuzzy msgid "" "If you have a C function that returns no useful argument (a function " -"returning :c:type:`void`), the corresponding Python function must return " +"returning :c:expr:`void`), the corresponding Python function must return " "``None``. You need this idiom to do so (which is implemented by the :c:" "macro:`Py_RETURN_NONE` macro)::" msgstr "" @@ -1615,7 +1616,7 @@ msgstr "" msgid "" "Python provides a special mechanism to pass C-level information (pointers) " "from one extension module to another one: Capsules. A Capsule is a Python " -"data type which stores a pointer (:c:type:`void \\*`). Capsules can only be " +"data type which stores a pointer (:c:expr:`void \\*`). Capsules can only be " "created and accessed via their C API, but they can be passed around like any " "other Python object. In particular, they can be assigned to a name in an " "extension module's namespace. Other extension modules can then import this " @@ -1644,7 +1645,7 @@ msgstr "" #, fuzzy msgid "" "Whichever method you choose, it's important to name your Capsules properly. " -"The function :c:func:`PyCapsule_New` takes a name parameter (:c:type:`const " +"The function :c:func:`PyCapsule_New` takes a name parameter (:c:expr:`const " "char \\*`); you're permitted to pass in a ``NULL`` name, but we strongly " "encourage you to specify a name. Properly named Capsules provide a degree " "of runtime type-safety; there is no feasible way to tell one unnamed Capsule " @@ -1679,11 +1680,12 @@ msgstr "" "chargent contient l'API C correcte." #: extending/extending.rst:1203 +#, fuzzy msgid "" "The following example demonstrates an approach that puts most of the burden " "on the writer of the exporting module, which is appropriate for commonly " "used library modules. It stores all C API pointers (just one in the " -"example!) in an array of :c:type:`void` pointers which becomes the value of " +"example!) in an array of :c:expr:`void` pointers which becomes the value of " "a Capsule. The header file corresponding to the module provides a macro that " "takes care of importing the module and retrieving its C API pointers; client " "modules only have to call this macro before accessing the C API." diff --git a/extending/index.po b/extending/index.po index 0faebfbcd0..2369e90cc8 100644 --- a/extending/index.po +++ b/extending/index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-04 11:38+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -67,10 +67,11 @@ msgid "Recommended third party tools" msgstr "Les outils tiers recommandés" #: extending/index.rst:28 +#, fuzzy msgid "" "This guide only covers the basic tools for creating extensions provided as " -"part of this version of CPython. Third party tools like `Cython `_, `cffi `_, `SWIG `_, `cffi `_, `SWIG `_ and `Numba `_ offer both simpler and " "more sophisticated approaches to creating C and C++ extensions for Python." msgstr "" diff --git a/extending/newtypes.po b/extending/newtypes.po index 55d9f74d62..3d1a4ce5ad 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-11-04 18:14+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-02-07 20:03+0100\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -161,7 +161,7 @@ msgstr "" msgid "" "If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the " "interpreter will supply a representation that uses the type's :c:member:" -"`~PyTypeObject.tp_name` and a uniquely-identifying value for the object." +"`~PyTypeObject.tp_name` and a uniquely identifying value for the object." msgstr "" #: extending/newtypes.rst:181 @@ -197,16 +197,16 @@ msgstr "" msgid "" "Python supports two pairs of attribute handlers; a type that supports " "attributes only needs to implement the functions for one pair. The " -"difference is that one pair takes the name of the attribute as a :c:type:" -"`char\\*`, while the other accepts a :c:type:`PyObject\\*`. Each type can " -"use whichever pair makes more sense for the implementation's convenience. ::" +"difference is that one pair takes the name of the attribute as a :c:expr:" +"`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each type can use " +"whichever pair makes more sense for the implementation's convenience. ::" msgstr "" #: extending/newtypes.rst:220 msgid "" "If accessing attributes of an object is always a simple operation (this will " "be explained shortly), there are generic implementations which can be used " -"to provide the :c:type:`PyObject\\*` version of the attribute management " +"to provide the :c:expr:`PyObject*` version of the attribute management " "functions. The actual need for type-specific attribute handlers almost " "completely disappeared starting with Python 2.2, though there are many " "examples which have not been updated to use some of the new generic " @@ -364,9 +364,9 @@ msgstr "Gestion des attributs de type spécifiques" #: extending/newtypes.rst:342 msgid "" -"For simplicity, only the :c:type:`char\\*` version will be demonstrated " +"For simplicity, only the :c:expr:`char\\*` version will be demonstrated " "here; the type of the name parameter is the only difference between the :c:" -"type:`char\\*` and :c:type:`PyObject\\*` flavors of the interface. This " +"expr:`char\\*` and :c:expr:`PyObject*` flavors of the interface. This " "example effectively does the same thing as the generic example above, but " "does not use the generic support added in Python 2.2. It explains how the " "handler functions are called, so that if you do need to extend their " @@ -593,8 +593,9 @@ msgstr "" "faire deux choses :" #: extending/newtypes.rst:575 +#, fuzzy msgid "" -"Include a :c:type:`PyObject\\*` field in the C object structure dedicated to " +"Include a :c:expr:`PyObject*` field in the C object structure dedicated to " "the weak reference mechanism. The object's constructor should leave it " "``NULL`` (which is automatic when using the default :c:member:`~PyTypeObject." "tp_alloc`)." @@ -624,7 +625,8 @@ msgstr "" "par le champ requis ::" #: extending/newtypes.rst:592 -msgid "And the corresponding member in the statically-declared type object::" +#, fuzzy +msgid "And the corresponding member in the statically declared type object::" msgstr "" "Et le membre correspondant dans l'objet de type déclaré statiquement ::" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 527b5748ca..89240bf7fe 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:22+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -37,9 +37,10 @@ msgid "The Basics" msgstr "Les bases" #: extending/newtypes_tutorial.rst:26 +#, fuzzy msgid "" "The :term:`CPython` runtime sees all Python objects as variables of type :c:" -"type:`PyObject\\*`, which serves as a \"base type\" for all Python objects. " +"expr:`PyObject*`, which serves as a \"base type\" for all Python objects. " "The :c:type:`PyObject` structure itself only contains the object's :term:" "`reference count` and a pointer to the object's \"type object\". This is " "where the action is; the type object determines which (C) functions get " diff --git a/faq/design.po b/faq/design.po index 59aaffc1ea..3054a5e0bb 100644 --- a/faq/design.po +++ b/faq/design.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-06 13:18+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -315,8 +315,9 @@ msgid "Starting in Python 3.8, you can!" msgstr "Depuis Python 3.8, c'est possible !" #: faq/design.rst:158 +#, fuzzy msgid "" -"Assignment expressions using the walrus operator `:=` assign a variable in " +"Assignment expressions using the walrus operator ``:=`` assign a variable in " "an expression::" msgstr "" "Les expressions d'affectation qui utilisent l'opérateur morse `:=` affectent " @@ -374,7 +375,7 @@ msgstr "" "``key()``, ou quand un objet qui n'est pas un fichier implémente une méthode " "``write()``." -#: faq/design.rst:207 +#: faq/design.rst:189 msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" msgstr "" "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" @@ -594,10 +595,11 @@ msgstr "" "définir une fonction." #: faq/design.rst:314 +#, fuzzy msgid "" "Functions are already first class objects in Python, and can be declared in " "a local scope. Therefore the only advantage of using a lambda instead of a " -"locally-defined function is that you don't need to invent a name for the " +"locally defined function is that you don't need to invent a name for the " "function -- but that's just a local variable to which the function object " "(which is exactly the same type of object that a lambda expression yields) " "is assigned!" @@ -615,12 +617,12 @@ msgstr "" "Python peut-il être compilé en code machine, en C ou dans un autre langage ?" #: faq/design.rst:324 +#, fuzzy msgid "" -"`Cython `_ compiles a modified version of Python with " -"optional annotations into C extensions. `Nuitka `_ " +"`Cython `_ compiles a modified version of Python with " +"optional annotations into C extensions. `Nuitka `_ " "is an up-and-coming compiler of Python into C++ code, aiming to support the " -"full Python language. For compiling to Java you can consider `VOC `_." +"full Python language." msgstr "" "`Cython `_ compile une version modifiée de Python avec " "des annotations optionnelles en extensions C. `Nuitka `_." -#: faq/design.rst:332 +#: faq/design.rst:331 msgid "How does Python manage memory?" msgstr "Comment Python gère la mémoire ?" -#: faq/design.rst:334 +#: faq/design.rst:333 msgid "" "The details of Python memory management depend on the implementation. The " "standard implementation of Python, :term:`CPython`, uses reference counting " @@ -651,11 +653,12 @@ msgstr "" "module :mod:`gc` fournit des fonctions pour lancer le ramasse-miettes, " "d'obtenir des statistiques de débogage et ajuster ses paramètres." -#: faq/design.rst:342 +#: faq/design.rst:341 +#, fuzzy msgid "" -"Other implementations (such as `Jython `_ or `PyPy " -"`_), however, can rely on a different mechanism such as " -"a full-blown garbage collector. This difference can cause some subtle " +"Other implementations (such as `Jython `_ or `PyPy " +"`_), however, can rely on a different mechanism such " +"as a full-blown garbage collector. This difference can cause some subtle " "porting problems if your Python code depends on the behavior of the " "reference counting implementation." msgstr "" @@ -665,7 +668,7 @@ msgstr "" "de subtils problèmes de portabilité si votre code Python dépend du " "comportement de l'implémentation du compteur de références." -#: faq/design.rst:348 +#: faq/design.rst:347 msgid "" "In some Python implementations, the following code (which is fine in " "CPython) will probably run out of file descriptors::" @@ -674,7 +677,7 @@ msgstr "" "parfaitement avec *CPython*) aurait probablement manqué de descripteurs de " "fichiers ::" -#: faq/design.rst:355 +#: faq/design.rst:354 msgid "" "Indeed, using CPython's reference counting and destructor scheme, each new " "assignment to *f* closes the previous file. With a traditional GC, however, " @@ -686,7 +689,7 @@ msgstr "" "Cependant, avec un ramasse-miettes classique, ces objets sont collectés (et " "fermés) à intervalles irréguliers, et potentiellement longs." -#: faq/design.rst:360 +#: faq/design.rst:359 msgid "" "If you want to write code that will work with any Python implementation, you " "should explicitly close the file or use the :keyword:`with` statement; this " @@ -697,13 +700,13 @@ msgstr "" "utiliser l'instruction :keyword:`with` ; ceci fonctionne indépendamment du " "système de gestion de la mémoire ::" -#: faq/design.rst:370 +#: faq/design.rst:369 msgid "Why doesn't CPython use a more traditional garbage collection scheme?" msgstr "" "Pourquoi CPython n'utilise-t-il pas un modèle de ramasse-miettes plus " "traditionnel ?" -#: faq/design.rst:372 +#: faq/design.rst:371 msgid "" "For one thing, this is not a C standard feature and hence it's not portable. " "(Yes, we know about the Boehm GC library. It has bits of assembler code for " @@ -718,7 +721,7 @@ msgstr "" "transparente, elle ne l'est pas complètement ; des correctifs sont " "nécessaires afin que Python fonctionne correctement avec.)" -#: faq/design.rst:378 +#: faq/design.rst:377 msgid "" "Traditional GC also becomes a problem when Python is embedded into other " "applications. While in a standalone Python it's fine to replace the " @@ -736,12 +739,12 @@ msgstr "" "de Python. À l'heure actuelle, CPython fonctionne avec n'importe quelle " "implémentation correcte de ``malloc()`` et ``free()``." -#: faq/design.rst:387 +#: faq/design.rst:386 msgid "Why isn't all memory freed when CPython exits?" msgstr "" "Pourquoi toute la mémoire n'est pas libérée lorsque *CPython* s'arrête ?" -#: faq/design.rst:389 +#: faq/design.rst:388 msgid "" "Objects referenced from the global namespaces of Python modules are not " "always deallocated when Python exits. This may happen if there are circular " @@ -758,7 +761,7 @@ msgstr "" "cependant, agressif sur le nettoyage de la mémoire en quittant et cherche à " "détruire chaque objet." -#: faq/design.rst:396 +#: faq/design.rst:395 msgid "" "If you want to force Python to delete certain things on deallocation use " "the :mod:`atexit` module to run a function that will force those deletions." @@ -767,12 +770,12 @@ msgstr "" "utilisez le module :mod:`atexit` pour exécuter une fonction qui va forcer " "ces destructions." -#: faq/design.rst:401 +#: faq/design.rst:400 msgid "Why are there separate tuple and list data types?" msgstr "" "Pourquoi les *n*-uplets et les *list* sont deux types de données séparés ?" -#: faq/design.rst:403 +#: faq/design.rst:402 msgid "" "Lists and tuples, while similar in many respects, are generally used in " "fundamentally different ways. Tuples can be thought of as being similar to " @@ -789,7 +792,7 @@ msgstr "" "des coordonnées cartésiennes sont correctement représentées par un *n*-uplet " "de deux ou trois nombres." -#: faq/design.rst:410 +#: faq/design.rst:409 msgid "" "Lists, on the other hand, are more like arrays in other languages. They " "tend to hold a varying number of objects all of which have the same type and " @@ -806,7 +809,7 @@ msgstr "" "problème que vous ajoutiez un ou deux fichiers supplémentaires dans le " "dossier." -#: faq/design.rst:417 +#: faq/design.rst:416 msgid "" "Tuples are immutable, meaning that once a tuple has been created, you can't " "replace any of its elements with a new value. Lists are mutable, meaning " @@ -821,11 +824,11 @@ msgstr "" "utilisés comme clés de dictionnaires, et donc de ``tuple`` et ``list`` seul " "des *n*-uplets peuvent être utilisés comme clés." -#: faq/design.rst:424 +#: faq/design.rst:423 msgid "How are lists implemented in CPython?" msgstr "Comment les listes sont-elles implémentées dans CPython ?" -#: faq/design.rst:426 +#: faq/design.rst:425 msgid "" "CPython's lists are really variable-length arrays, not Lisp-style linked " "lists. The implementation uses a contiguous array of references to other " @@ -838,7 +841,7 @@ msgstr "" "Elle conserve également un pointeur vers ce tableau et la longueur du " "tableau dans une structure de tête de liste." -#: faq/design.rst:430 +#: faq/design.rst:429 msgid "" "This makes indexing a list ``a[i]`` an operation whose cost is independent " "of the size of the list or the value of the index." @@ -846,7 +849,7 @@ msgstr "" "Cela rend l'indexation d'une liste ``a[i]`` une opération dont le coût est " "indépendant de la taille de la liste ou de la valeur de l'indice." -#: faq/design.rst:433 +#: faq/design.rst:432 msgid "" "When items are appended or inserted, the array of references is resized. " "Some cleverness is applied to improve the performance of appending items " @@ -859,11 +862,11 @@ msgstr "" "être étendu, un certain espace supplémentaire est alloué de sorte que pour " "la prochaine fois, ceci ne nécessite plus un redimensionnement effectif." -#: faq/design.rst:440 +#: faq/design.rst:439 msgid "How are dictionaries implemented in CPython?" msgstr "Comment les dictionnaires sont-ils implémentés dans CPython ?" -#: faq/design.rst:442 +#: faq/design.rst:441 msgid "" "CPython's dictionaries are implemented as resizable hash tables. Compared " "to B-trees, this gives better performance for lookup (the most common " @@ -875,7 +878,7 @@ msgstr "" "performances pour la recherche (l'opération la plus courante de loin) dans " "la plupart des circonstances, et leur implémentation est plus simple." -#: faq/design.rst:446 +#: faq/design.rst:445 msgid "" "Dictionaries work by computing a hash code for each key stored in the " "dictionary using the :func:`hash` built-in function. The hash code varies " @@ -899,11 +902,11 @@ msgstr "" "différents, cela signifie que le temps pour récupérer une clé est constant — " "O(1), en notation grand O de Landau." -#: faq/design.rst:457 +#: faq/design.rst:456 msgid "Why must dictionary keys be immutable?" msgstr "Pourquoi les clés du dictionnaire sont immuables ?" -#: faq/design.rst:459 +#: faq/design.rst:458 msgid "" "The hash table implementation of dictionaries uses a hash value calculated " "from the key value to find the key. If the key were a mutable object, its " @@ -926,7 +929,7 @@ msgstr "" "chercher l'ancienne valeur, elle serait également introuvable car la valeur " "de l'objet trouvé dans cet emplacement de hachage serait différente." -#: faq/design.rst:468 +#: faq/design.rst:467 msgid "" "If you want a dictionary indexed with a list, simply convert the list to a " "tuple first; the function ``tuple(L)`` creates a tuple with the same entries " @@ -938,11 +941,11 @@ msgstr "" "uplet avec les mêmes entrées que la liste ``L``. Les *n*-uplets sont " "immuables et peuvent donc être utilisés comme clés du dictionnaire." -#: faq/design.rst:472 +#: faq/design.rst:471 msgid "Some unacceptable solutions that have been proposed:" msgstr "Certaines solutions insatisfaisantes ont été proposées :" -#: faq/design.rst:474 +#: faq/design.rst:473 msgid "" "Hash lists by their address (object ID). This doesn't work because if you " "construct a new list with the same value it won't be found; e.g.::" @@ -951,7 +954,7 @@ msgstr "" "parce que si vous créez une nouvelle liste avec la même valeur, elle ne sera " "pas retrouvée ; par exemple ::" -#: faq/design.rst:480 +#: faq/design.rst:479 msgid "" "would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` " "used in the second line differs from that in the first line. In other " @@ -963,7 +966,7 @@ msgstr "" "les clés de dictionnaire doivent être comparées à l'aide du comparateur " "``==`` et non à l'aide du mot clé :keyword:`is`." -#: faq/design.rst:484 +#: faq/design.rst:483 msgid "" "Make a copy when using a list as a key. This doesn't work because the list, " "being a mutable object, could contain a reference to itself, and then the " @@ -974,7 +977,7 @@ msgstr "" "une référence à elle-même ou avoir une boucle infinie au niveau du code " "copié." -#: faq/design.rst:488 +#: faq/design.rst:487 msgid "" "Allow lists as keys but tell the user not to modify them. This would allow " "a class of hard-to-track bugs in programs when you forgot or modified a list " @@ -987,7 +990,7 @@ msgstr "" "accident. Cela casse également un impératif important des dictionnaires : " "chaque valeur de ``d.keys()`` est utilisable comme clé du dictionnaire." -#: faq/design.rst:493 +#: faq/design.rst:492 msgid "" "Mark lists as read-only once they are used as a dictionary key. The problem " "is that it's not just the top-level object that could change its value; you " @@ -1005,7 +1008,7 @@ msgstr "" "encore une fois, les objets se faisant référence pourraient provoquer une " "boucle infinie." -#: faq/design.rst:499 +#: faq/design.rst:498 msgid "" "There is a trick to get around this if you need to, but use it at your own " "risk: You can wrap a mutable structure inside a class instance which has " @@ -1022,7 +1025,7 @@ msgstr "" "(ou une autre structure basée sur le hachage), restent fixes pendant que " "l'objet est dans le dictionnaire (ou une autre structure). ::" -#: faq/design.rst:523 +#: faq/design.rst:522 msgid "" "Note that the hash computation is complicated by the possibility that some " "members of the list may be unhashable and also by the possibility of " @@ -1032,7 +1035,7 @@ msgstr "" "certains membres de la liste soient impossibles à hacher et aussi par la " "possibilité de débordement arithmétique." -#: faq/design.rst:527 +#: faq/design.rst:526 msgid "" "Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1." "__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == " @@ -1046,7 +1049,7 @@ msgstr "" "ne remplissez pas ces conditions, les dictionnaires et autres structures " "basées sur le hachage se comporteront mal." -#: faq/design.rst:532 +#: faq/design.rst:531 msgid "" "In the case of ListWrapper, whenever the wrapper object is in a dictionary " "the wrapped list must not change to avoid anomalies. Don't do this unless " @@ -1059,11 +1062,11 @@ msgstr "" "conséquences de ne pas satisfaire entièrement ces conditions. Vous avez été " "prévenus." -#: faq/design.rst:539 +#: faq/design.rst:538 msgid "Why doesn't list.sort() return the sorted list?" msgstr "Pourquoi ``list.sort()`` ne renvoie pas la liste triée ?" -#: faq/design.rst:541 +#: faq/design.rst:540 msgid "" "In situations where performance matters, making a copy of the list just to " "sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in " @@ -1079,7 +1082,7 @@ msgstr "" "écrasant accidentellement une liste lorsque vous avez besoin d’une copie " "triée tout en gardant sous la main la version non triée." -#: faq/design.rst:547 +#: faq/design.rst:546 msgid "" "If you want to return a new list, use the built-in :func:`sorted` function " "instead. This function creates a new list from a provided iterable, sorts " @@ -1091,13 +1094,13 @@ msgstr "" "partir d’un itérable fourni, la classe et la renvoie. Par exemple, voici " "comment itérer dans l’ordre sur les clés d’un dictionnaire ::" -#: faq/design.rst:557 +#: faq/design.rst:556 msgid "How do you specify and enforce an interface spec in Python?" msgstr "" "Comment spécifier une interface et appliquer une spécification d’interface " "en Python ?" -#: faq/design.rst:559 +#: faq/design.rst:558 msgid "" "An interface specification for a module as provided by languages such as C++ " "and Java describes the prototypes for the methods and functions of the " @@ -1109,7 +1112,7 @@ msgstr "" "module. Beaucoup estiment que la vérification au moment de la compilation " "des spécifications d'interface facilite la construction de grands programmes." -#: faq/design.rst:564 +#: faq/design.rst:563 msgid "" "Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base " "Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` " @@ -1126,7 +1129,7 @@ msgstr "" "class:`~collections.abc.Iterable`, :class:`~collections.abc.Container` et :" "class:`collections.abc.MutableMapping`." -#: faq/design.rst:571 +#: faq/design.rst:570 msgid "" "For Python, many of the advantages of interface specifications can be " "obtained by an appropriate test discipline for components." @@ -1134,7 +1137,7 @@ msgstr "" "Pour Python, la plupart des avantages des spécifications d'interface peuvent " "être obtenus par une discipline de test appropriée pour les composants." -#: faq/design.rst:574 +#: faq/design.rst:573 msgid "" "A good test suite for a module can both provide a regression test and serve " "as a module interface specification and a set of examples. Many Python " @@ -1155,7 +1158,7 @@ msgstr "" "test tiers peuvent être utilisés pour construire des suites de tests " "exhaustives qui éprouvent chaque ligne de code dans un module." -#: faq/design.rst:582 +#: faq/design.rst:581 msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " @@ -1175,7 +1178,7 @@ msgstr "" "réellement le faire correctement, mais il est trivial de vérifier cette " "propriété dans une suite de tests." -#: faq/design.rst:590 +#: faq/design.rst:589 msgid "" "Writing test suites is very helpful, and you might want to design your code " "to make it easily tested. One increasingly popular technique, test-driven " @@ -1190,11 +1193,11 @@ msgstr "" "le code réel. Bien sûr, Python vous permet d'être laxiste et de ne pas " "écrire de test du tout." -#: faq/design.rst:598 +#: faq/design.rst:597 msgid "Why is there no goto?" msgstr "Pourquoi n'y a-t-il pas de ``goto`` en Python ?" -#: faq/design.rst:600 +#: faq/design.rst:599 msgid "" "In the 1970s people realized that unrestricted goto could lead to messy " "\"spaghetti\" code that was hard to understand and revise. In a high-level " @@ -1211,7 +1214,7 @@ msgstr "" "boucler (avec les instructions ``while`` et ``for``, qui peuvent contenir " "des ``continue`` et ``break``)." -#: faq/design.rst:607 +#: faq/design.rst:606 msgid "" "One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " @@ -1224,7 +1227,7 @@ msgstr "" "l'utilisation raisonnable des constructions *go* ou *goto* du C, du Fortran " "ou d'autres langages de programmation. Par exemple ::" -#: faq/design.rst:623 +#: faq/design.rst:622 msgid "" "This doesn't allow you to jump into the middle of a loop, but that's usually " "considered an abuse of goto anyway. Use sparingly." @@ -1233,13 +1236,13 @@ msgstr "" "toute façon généralement considéré comme un abus de ``goto``. À Utiliser " "avec parcimonie." -#: faq/design.rst:628 +#: faq/design.rst:627 msgid "Why can't raw strings (r-strings) end with a backslash?" msgstr "" "Pourquoi les chaînes de caractères brutes (r-strings) ne peuvent-elles pas " "se terminer par un *backslash* ?" -#: faq/design.rst:630 +#: faq/design.rst:629 msgid "" "More precisely, they can't end with an odd number of backslashes: the " "unpaired backslash at the end escapes the closing quote character, leaving " @@ -1249,7 +1252,7 @@ msgstr "" "*backslashes* : le *backslash* non appairé à la fin échappe le caractère de " "guillemet final, laissant la chaîne non terminée." -#: faq/design.rst:634 +#: faq/design.rst:633 msgid "" "Raw strings were designed to ease creating input for processors (chiefly " "regular expression engines) that want to do their own backslash escape " @@ -1267,7 +1270,7 @@ msgstr "" "chaîne en l'échappant avec un *antislash*. Ces règles fonctionnent bien " "lorsque les chaînes brutes sont utilisées pour leur but premier." -#: faq/design.rst:641 +#: faq/design.rst:640 msgid "" "If you're trying to build Windows pathnames, note that all Windows system " "calls accept forward slashes too::" @@ -1276,20 +1279,20 @@ msgstr "" "les appels système Windows acceptent également les *slashes* " "« classiques » ::" -#: faq/design.rst:646 +#: faq/design.rst:645 msgid "" "If you're trying to build a pathname for a DOS command, try e.g. one of ::" msgstr "" "Si vous essayez de construire un chemin d'accès pour une commande DOS, " "essayez par exemple l'un de ceux-ci ::" -#: faq/design.rst:654 +#: faq/design.rst:653 msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" msgstr "" "Pourquoi la déclaration ``with`` pour les assignations d'attributs n'existe " "pas en Python ?" -#: faq/design.rst:656 +#: faq/design.rst:655 msgid "" "Python has a 'with' statement that wraps the execution of a block, calling " "code on the entrance and exit from the block. Some languages have a " @@ -1299,11 +1302,11 @@ msgstr "" "appelant du code à l'entrée et la sortie du bloc. Certains langages " "possèdent une construction qui ressemble à ceci ::" -#: faq/design.rst:664 +#: faq/design.rst:663 msgid "In Python, such a construct would be ambiguous." msgstr "En Python, une telle construction serait ambiguë." -#: faq/design.rst:666 +#: faq/design.rst:665 msgid "" "Other languages, such as Object Pascal, Delphi, and C++, use static types, " "so it's possible to know, in an unambiguous way, what member is being " @@ -1316,7 +1319,7 @@ msgstr "" "le compilateur connaît *toujours* la portée de toutes les variables au " "moment de la compilation." -#: faq/design.rst:671 +#: faq/design.rst:670 msgid "" "Python uses dynamic types. It is impossible to know in advance which " "attribute will be referenced at runtime. Member attributes may be added or " @@ -1330,11 +1333,11 @@ msgstr "" "impossible de savoir, d'une simple lecture, quel attribut est référencé : " "s'il est local, global ou un attribut membre ?" -#: faq/design.rst:677 +#: faq/design.rst:676 msgid "For instance, take the following incomplete snippet::" msgstr "Prenons par exemple l'extrait incomplet suivant ::" -#: faq/design.rst:683 +#: faq/design.rst:682 msgid "" "The snippet assumes that \"a\" must have a member attribute called \"x\". " "However, there is nothing in Python that tells the interpreter this. What " @@ -1348,7 +1351,7 @@ msgstr "" "« x » existe, est-elle utilisée dans le bloc ``with`` ? Comme vous voyez, " "la nature dynamique du Python rend ces choix beaucoup plus difficiles." -#: faq/design.rst:689 +#: faq/design.rst:688 msgid "" "The primary benefit of \"with\" and similar language features (reduction of " "code volume) can, however, easily be achieved in Python by assignment. " @@ -1358,11 +1361,11 @@ msgstr "" "similaires (réduction du volume de code) peut, cependant, être facilement " "réalisé en Python par assignation. Au lieu de ::" -#: faq/design.rst:696 +#: faq/design.rst:695 msgid "write this::" msgstr "écrivez ceci ::" -#: faq/design.rst:703 +#: faq/design.rst:702 msgid "" "This also has the side-effect of increasing execution speed because name " "bindings are resolved at run-time in Python, and the second version only " @@ -1372,12 +1375,12 @@ msgstr "" "car les liaisons de noms sont résolues au moment de l'exécution en Python, " "et la deuxième version n'a besoin d'exécuter la résolution qu'une seule fois." -#: faq/design.rst:709 +#: faq/design.rst:708 msgid "Why don't generators support the with statement?" msgstr "" "Pourquoi l'instruction ``with`` ne prend-elle pas en charge les générateurs ?" -#: faq/design.rst:711 +#: faq/design.rst:710 msgid "" "For technical reasons, a generator used directly as a context manager would " "not work correctly. When, as is most common, a generator is used as an " @@ -1390,13 +1393,13 @@ msgstr "" "besoin de le fermer. Sinon, on peut toujours mettre ``contextlib." "closing(générateur)`` dans la ligne du ``with``." -#: faq/design.rst:718 +#: faq/design.rst:717 msgid "Why are colons required for the if/while/def/class statements?" msgstr "" "Pourquoi les deux-points sont-ils nécessaires pour les déclarations ``if/" "while/def/class`` ?" -#: faq/design.rst:720 +#: faq/design.rst:719 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" @@ -1404,11 +1407,11 @@ msgstr "" "Le deux-points est principalement nécessaire pour améliorer la lisibilité " "(l'un des résultats du langage expérimental ABC). Considérez ceci ::" -#: faq/design.rst:726 +#: faq/design.rst:725 msgid "versus ::" msgstr "et cela ::" -#: faq/design.rst:731 +#: faq/design.rst:730 msgid "" "Notice how the second one is slightly easier to read. Notice further how a " "colon sets off the example in this FAQ answer; it's a standard usage in " @@ -1418,7 +1421,7 @@ msgstr "" "aussi comment un deux-points introduit l'exemple dans cette réponse à la " "FAQ ; c'est un usage standard en français (et en anglais)." -#: faq/design.rst:734 +#: faq/design.rst:733 msgid "" "Another minor reason is that the colon makes it easier for editors with " "syntax highlighting; they can look for colons to decide when indentation " @@ -1430,13 +1433,13 @@ msgstr "" "pour décider quand l'indentation doit être augmentée au lieu d'avoir à faire " "une analyse plus élaborée du texte du programme." -#: faq/design.rst:740 +#: faq/design.rst:739 msgid "Why does Python allow commas at the end of lists and tuples?" msgstr "" "Pourquoi Python permet-il les virgules à la fin des listes et des *n*-" "uplets ?" -#: faq/design.rst:742 +#: faq/design.rst:741 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" @@ -1444,11 +1447,11 @@ msgstr "" "Python vous permet d'ajouter une virgule à la fin des listes, des *n*-uplets " "et des dictionnaires ::" -#: faq/design.rst:753 +#: faq/design.rst:752 msgid "There are several reasons to allow this." msgstr "Il y a plusieurs raisons d'accepter cela." -#: faq/design.rst:755 +#: faq/design.rst:754 msgid "" "When you have a literal value for a list, tuple, or dictionary spread across " "multiple lines, it's easier to add more elements because you don't have to " @@ -1461,7 +1464,7 @@ msgstr "" "virgule à la ligne précédente. Les lignes peuvent aussi être réorganisées " "sans créer une erreur de syntaxe." -#: faq/design.rst:760 +#: faq/design.rst:759 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" @@ -1469,7 +1472,7 @@ msgstr "" "L'omission accidentelle de la virgule peut entraîner des erreurs difficiles " "à diagnostiquer, par exemple ::" -#: faq/design.rst:770 +#: faq/design.rst:769 msgid "" "This list looks like it has four elements, but it actually contains three: " "\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source " @@ -1479,7 +1482,7 @@ msgstr "" "trois : \"*fee*\", \"*fiefoo*\" et \"*fum*\". Toujours ajouter la virgule " "permet d'éviter cette source d'erreur." -#: faq/design.rst:773 +#: faq/design.rst:772 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." diff --git a/faq/extending.po b/faq/extending.po index ea2cc04c55..ae89156df3 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-17 18:37+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -73,8 +73,9 @@ msgstr "" "d'écrire vos propres extensions C, selon ce que vous essayez de faire." #: faq/extending.rst:44 +#, fuzzy msgid "" -"`Cython `_ and its relative `Pyrex `_ and its relative `Pyrex `_ are compilers that accept a " "slightly modified form of Python and generate the corresponding C code. " "Cython and Pyrex make it possible to write an extension without having to " @@ -87,12 +88,13 @@ msgstr "" "à connaître l'API C de Python." #: faq/extending.rst:50 +#, fuzzy msgid "" "If you need to interface to some C or C++ library for which no Python " "extension currently exists, you can try wrapping the library's data types " -"and functions with a tool such as `SWIG `_. `SIP " -"`__, `CXX `_ `Boost `_. `SIP " +"`__, `CXX `_ `Boost `_, or `Weave `_ are also alternatives " "for wrapping C++ libraries." msgstr "" @@ -492,8 +494,9 @@ msgstr "" "class:`list`, :class:`dict`, etc." #: faq/extending.rst:289 +#, fuzzy msgid "" -"The Boost Python Library (BPL, http://www.boost.org/libs/python/doc/index." +"The Boost Python Library (BPL, https://www.boost.org/libs/python/doc/index." "html) provides a way of doing this from C++ (i.e. you can inherit from an " "extension class written in C++ using the BPL)." msgstr "" diff --git a/faq/general.po b/faq/general.po index 52c2952f78..5ae85fe5f5 100644 --- a/faq/general.po +++ b/faq/general.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 02:40+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -283,21 +283,32 @@ msgid "How does the Python version numbering scheme work?" msgstr "Comment fonctionne le numérotage des versions de Python ?" #: faq/general.rst:128 +msgid "Python versions are numbered \"A.B.C\" or \"A.B\":" +msgstr "" + +#: faq/general.rst:130 +msgid "" +"*A* is the major version number -- it is only incremented for really major " +"changes in the language." +msgstr "" + +#: faq/general.rst:132 msgid "" -"Python versions are numbered A.B.C or A.B. A is the major version number -- " -"it is only incremented for really major changes in the language. B is the " -"minor version number, incremented for less earth-shattering changes. C is " -"the micro-level -- it is incremented for each bugfix release. See :pep:`6` " -"for more information about bugfix releases." +"*B* is the minor version number -- it is incremented for less earth-" +"shattering changes." msgstr "" -"Les versions de Python sont numérotées A.B.C ou A.B. A est une version " -"majeure -- elle est augmentée seulement lorsqu'il y a des changements " -"conséquents dans le langage. B est une version mineure, elle est augmentée " -"lors de changements de moindre importance. C est un micro-niveau -- elle est " -"augmentée à chaque sortie de correctifs de bogue." #: faq/general.rst:134 msgid "" +"*C* is the micro version number -- it is incremented for each bugfix release." +msgstr "" + +#: faq/general.rst:136 +msgid "See :pep:`6` for more information about bugfix releases." +msgstr "" + +#: faq/general.rst:138 +msgid "" "Not all releases are bugfix releases. In the run-up to a new major release, " "a series of development releases are made, denoted as alpha, beta, or " "release candidate. Alphas are early releases in which interfaces aren't yet " @@ -316,24 +327,31 @@ msgstr "" "modules, les *release candidate* sont figées, elles ne font aucun changement " "à l'exception de ceux nécessaires pour corriger des bogues critiques." -#: faq/general.rst:142 -msgid "" -"Alpha, beta and release candidate versions have an additional suffix. The " -"suffix for an alpha version is \"aN\" for some small number N, the suffix " -"for a beta version is \"bN\" for some small number N, and the suffix for a " -"release candidate version is \"rcN\" for some small number N. In other " -"words, all versions labeled 2.0aN precede the versions labeled 2.0bN, which " -"precede versions labeled 2.0rcN, and *those* precede 2.0." +#: faq/general.rst:146 +msgid "Alpha, beta and release candidate versions have an additional suffix:" +msgstr "" + +#: faq/general.rst:148 +msgid "The suffix for an alpha version is \"aN\" for some small number *N*." msgstr "" -"Les versions *alpha*, *beta* et *release candidate* ont un suffixe " -"supplémentaire. Le suffixe pour une version alpha est « aN » où N est un " -"petit nombre, le suffixe pour une version *beta* est *bN* où N est un petit " -"nombre, et le suffixe pour une *release candidate* est *rcN* où N est un " -"petit nombre. En d'autres mots, toutes les versions nommées *2.0.aN* " -"précèdent les versions *2.0.bN*, qui elles-mêmes précèdent 2.0rcN, et " -"*celles-ci* précèdent la version 2.0." #: faq/general.rst:149 +msgid "The suffix for a beta version is \"bN\" for some small number *N*." +msgstr "" + +#: faq/general.rst:150 +msgid "" +"The suffix for a release candidate version is \"rcN\" for some small number " +"*N*." +msgstr "" + +#: faq/general.rst:152 +msgid "" +"In other words, all versions labeled *2.0aN* precede the versions labeled " +"*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0." +msgstr "" + +#: faq/general.rst:155 msgid "" "You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These " "are unreleased versions, built directly from the CPython development " @@ -347,7 +365,7 @@ msgstr "" "finale d'une version mineure, la version est augmentée à la prochaine " "version mineure, qui devient la version *a0*, c'est-à-dire *2.4a0*." -#: faq/general.rst:154 +#: faq/general.rst:160 msgid "" "See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, " "and :data:`sys.version_info`." @@ -355,11 +373,11 @@ msgstr "" "Voir aussi la documentation pour for :data:`sys.version`, :data:`sys." "hexversion`, et :data:`sys.version_info`." -#: faq/general.rst:159 +#: faq/general.rst:165 msgid "How do I obtain a copy of the Python source?" msgstr "Comment obtenir une copie du code source de Python ?" -#: faq/general.rst:161 +#: faq/general.rst:167 msgid "" "The latest Python source distribution is always available from python.org, " "at https://www.python.org/downloads/. The latest development sources can be " @@ -370,7 +388,7 @@ msgstr "" "dernière version en développement peut être obtenue à https://github.com/" "python/cpython/." -#: faq/general.rst:165 +#: faq/general.rst:171 msgid "" "The source distribution is a gzipped tar file containing the complete C " "source, Sphinx-formatted documentation, Python library modules, example " @@ -383,7 +401,7 @@ msgstr "" "utiles distribuables librement. Le code source sera compilé et prêt à " "fonctionner immédiatement sur la plupart des plateformes UNIX." -#: faq/general.rst:170 +#: faq/general.rst:176 msgid "" "Consult the `Getting Started section of the Python Developer's Guide " "`__ for more information on getting the " @@ -393,11 +411,11 @@ msgstr "" "devguide.python.org/setup/>`__ pour plus d'informations sur comment obtenir " "le code source et le compiler." -#: faq/general.rst:176 +#: faq/general.rst:182 msgid "How do I get documentation on Python?" msgstr "Comment obtenir la documentation de Python ?" -#: faq/general.rst:180 +#: faq/general.rst:186 msgid "" "The standard documentation for the current stable version of Python is " "available at https://docs.python.org/3/. PDF, plain text, and downloadable " @@ -407,22 +425,24 @@ msgstr "" "https://docs.python.org/3/. Des versions aux formats PDF, texte et HTML " "sont aussi disponibles à https://docs.python.org/3/download.html." -#: faq/general.rst:184 +#: faq/general.rst:190 +#, fuzzy msgid "" "The documentation is written in reStructuredText and processed by `the " -"Sphinx documentation tool `__. The reStructuredText " -"source for the documentation is part of the Python source distribution." +"Sphinx documentation tool `__. The " +"reStructuredText source for the documentation is part of the Python source " +"distribution." msgstr "" "La documentation est écrite au format *reStructuredText* et traitée par " "l'outil de documentation `Sphinx `__. La source du " "*reStructuredText* pour la documentation constitue une partie des sources de " "Python." -#: faq/general.rst:190 +#: faq/general.rst:196 msgid "I've never programmed before. Is there a Python tutorial?" msgstr "Je n'ai jamais programmé avant. Existe-t-il un tutoriel Python ?" -#: faq/general.rst:192 +#: faq/general.rst:198 msgid "" "There are numerous tutorials and books available. The standard " "documentation includes :ref:`tutorial-index`." @@ -430,7 +450,7 @@ msgstr "" "Il y a de nombreux tutoriels et livres disponibles. La documentation " "standard inclut :ref:`tutorial-index`." -#: faq/general.rst:195 +#: faq/general.rst:201 msgid "" "Consult `the Beginner's Guide `_ to find information for beginning Python programmers, " @@ -440,11 +460,11 @@ msgstr "" "BeginnersGuide>`_ afin de trouver des informations pour les développeurs " "Python débutants, incluant une liste de tutoriels." -#: faq/general.rst:200 +#: faq/general.rst:206 msgid "Is there a newsgroup or mailing list devoted to Python?" msgstr "Y a-t-il un forum ou une liste de diffusion dédié à Python ?" -#: faq/general.rst:202 +#: faq/general.rst:208 msgid "" "There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " "`python-list `_. The " @@ -461,7 +481,7 @@ msgstr "" "des centaines de messages chaque jour, et les lecteurs du réseau Usenet sont " "souvent plus capables de faire face à ce volume." -#: faq/general.rst:209 +#: faq/general.rst:215 msgid "" "Announcements of new software releases and events can be found in comp.lang." "python.announce, a low-traffic moderated list that receives about five " @@ -474,7 +494,7 @@ msgstr "" "des annonces Python `_." -#: faq/general.rst:214 +#: faq/general.rst:220 msgid "" "More info about other mailing lists and newsgroups can be found at https://" "www.python.org/community/lists/." @@ -482,11 +502,11 @@ msgstr "" "Plus d'informations à propos des autres listes de diffusion et forums " "peuvent être trouvées à https://www.python.org/community/lists/." -#: faq/general.rst:219 +#: faq/general.rst:225 msgid "How do I get a beta test version of Python?" msgstr "Comment obtenir une version bêta test de Python ?" -#: faq/general.rst:221 +#: faq/general.rst:227 msgid "" "Alpha and beta releases are available from https://www.python.org/" "downloads/. All releases are announced on the comp.lang.python and comp." @@ -499,7 +519,7 @@ msgstr "" "de Python à https://www.python.org/; un flux RSS d'actualités y est aussi " "disponible." -#: faq/general.rst:226 +#: faq/general.rst:232 msgid "" "You can also access the development version of Python through Git. See `The " "Python Developer's Guide `_ for details." @@ -508,11 +528,11 @@ msgstr "" "`Le Guide du Développeur Python `_ pour plus " "de détails." -#: faq/general.rst:231 +#: faq/general.rst:237 msgid "How do I submit bug reports and patches for Python?" msgstr "Comment soumettre un rapport de bogues ou un correctif pour Python ?" -#: faq/general.rst:233 +#: faq/general.rst:239 msgid "" "To report a bug or submit a patch, please use the Roundup installation at " "https://bugs.python.org/." @@ -520,7 +540,7 @@ msgstr "" "Pour reporter un bogue ou soumettre un correctif, merci d'utiliser https://" "bugs.python.org/." -#: faq/general.rst:236 +#: faq/general.rst:242 msgid "" "You must have a Roundup account to report bugs; this makes it possible for " "us to contact you if we have follow-up questions. It will also enable " @@ -537,7 +557,7 @@ msgstr "" "réinitialisation de mot de passe de Roundup `_." -#: faq/general.rst:242 +#: faq/general.rst:248 msgid "" "For more information on how Python is developed, consult `the Python " "Developer's Guide `_." @@ -545,19 +565,19 @@ msgstr "" "Pour davantage d'informations sur comment Python est développé, consultez " "`le Guide du Développeur Python `_." -#: faq/general.rst:247 +#: faq/general.rst:253 msgid "Are there any published articles about Python that I can reference?" msgstr "" "Existe-t-il des articles publiés au sujet de Python auxquels je peux me " "référer ?" -#: faq/general.rst:249 +#: faq/general.rst:255 msgid "It's probably best to cite your favorite book about Python." msgstr "" "C'est probablement mieux de vous référer à votre livre favori à propos de " "Python." -#: faq/general.rst:251 +#: faq/general.rst:257 msgid "" "The very first article about Python was written in 1991 and is now quite " "outdated." @@ -565,7 +585,7 @@ msgstr "" "Le tout premier article à propos de Python a été écrit en 1991 et est " "maintenant obsolète." -#: faq/general.rst:254 +#: faq/general.rst:260 msgid "" "Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " "Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " @@ -575,11 +595,11 @@ msgstr "" "Using the Python Programming Language* », CWI Quarterly, Volume 4, Issue 4 " "(December 1991), Amsterdam, pp 283--303." -#: faq/general.rst:260 +#: faq/general.rst:266 msgid "Are there any books on Python?" msgstr "Y a-t-il des livres au sujet de Python ?" -#: faq/general.rst:262 +#: faq/general.rst:268 msgid "" "Yes, there are many, and more are being published. See the python.org wiki " "at https://wiki.python.org/moin/PythonBooks for a list." @@ -587,7 +607,7 @@ msgstr "" "Oui, il y en a beaucoup, et d'autres sont en cours de publication. Voir le " "wiki python à https://wiki.python.org/moin/PythonBooks pour avoir une liste." -#: faq/general.rst:265 +#: faq/general.rst:271 msgid "" "You can also search online bookstores for \"Python\" and filter out the " "Monty Python references; or perhaps search for \"Python\" and \"language\"." @@ -596,25 +616,26 @@ msgstr "" "terme « Python » et éliminer les références concernant les Monty Python, ou " "peut-être faire une recherche avec les termes « langage » et « Python »." -#: faq/general.rst:270 +#: faq/general.rst:276 msgid "Where in the world is www.python.org located?" msgstr "Où www.python.org est-il localisé dans le monde ?" -#: faq/general.rst:272 +#: faq/general.rst:278 +#, fuzzy msgid "" "The Python project's infrastructure is located all over the world and is " -"managed by the Python Infrastructure Team. Details `here `__." msgstr "" "L'infrastructure du projet Python est située dans le monde entier et est " "gérée par l'équipe de l'infrastructure Python. Plus de détails `ici `__." -#: faq/general.rst:277 +#: faq/general.rst:283 msgid "Why is it called Python?" msgstr "Pourquoi le nom Python ?" -#: faq/general.rst:279 +#: faq/general.rst:285 msgid "" "When he began implementing Python, Guido van Rossum was also reading the " "published scripts from `\"Monty Python's Flying Circus\" `_. There are two production-ready " @@ -686,11 +707,11 @@ msgstr "" "largement utilisées. Bien que Python 2 soit encore utilisé, `il n'est " "désormais plus maintenu `_." -#: faq/general.rst:316 +#: faq/general.rst:322 msgid "How many people are using Python?" msgstr "Combien de personnes utilisent Python ?" -#: faq/general.rst:318 +#: faq/general.rst:324 msgid "" "There are probably millions of users, though it's difficult to obtain an " "exact count." @@ -698,7 +719,7 @@ msgstr "" "Il y a probablement des millions d'utilisateurs, bien qu'il soit difficile " "d'en déterminer le nombre exact." -#: faq/general.rst:321 +#: faq/general.rst:327 msgid "" "Python is available for free download, so there are no sales figures, and " "it's available from many different sites and packaged with many Linux " @@ -709,7 +730,7 @@ msgstr "" "il est inclus avec de beaucoup de distributions Linux, donc les statistiques " "de téléchargement ne donnent pas la totalité non plus." -#: faq/general.rst:325 +#: faq/general.rst:331 msgid "" "The comp.lang.python newsgroup is very active, but not all Python users post " "to the group or even read it." @@ -717,11 +738,11 @@ msgstr "" "Le forum *comp.lang.python* est très actif, mais tous les utilisateurs de " "Python ne laissent pas de messages dessus ou même ne le lisent pas." -#: faq/general.rst:330 +#: faq/general.rst:336 msgid "Have any significant projects been done in Python?" msgstr "Y a-t-il un nombre de projets significatif réalisés en Python ?" -#: faq/general.rst:332 +#: faq/general.rst:338 msgid "" "See https://www.python.org/about/success for a list of projects that use " "Python. Consulting the proceedings for `past Python conferences `_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat `_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat `_, have written part or all of their installer and system " "administration software in Python. Companies that use Python internally " "include Google, Yahoo, and Lucasfilm Ltd." @@ -750,11 +772,11 @@ msgstr "" "logiciel d'administration système en Python. Les entreprises qui utilisent " "Python en interne comprennent Google, Yahoo, et Lucasfilm Ltd." -#: faq/general.rst:346 +#: faq/general.rst:352 msgid "What new developments are expected for Python in the future?" msgstr "Quelles sont les nouveautés en développement attendues pour Python ?" -#: faq/general.rst:348 +#: faq/general.rst:354 msgid "" "See https://www.python.org/dev/peps/ for the Python Enhancement Proposals " "(PEPs). PEPs are design documents describing a suggested new feature for " @@ -769,7 +791,7 @@ msgstr "" "logique. Recherchez une PEP intitulée \"Python X.Y Release Schedule\", où X." "Y est la version qui n'a pas encore été publiée." -#: faq/general.rst:354 +#: faq/general.rst:360 msgid "" "New development is discussed on `the python-dev mailing list `_." @@ -777,12 +799,12 @@ msgstr "" "Le nouveau développement est discuté sur `la liste de diffusion python-dev " "`_." -#: faq/general.rst:359 +#: faq/general.rst:365 msgid "Is it reasonable to propose incompatible changes to Python?" msgstr "" "Est-il raisonnable de proposer des changements incompatibles dans Python ?" -#: faq/general.rst:361 +#: faq/general.rst:367 msgid "" "In general, no. There are already millions of lines of Python code around " "the world, so any change in the language that invalidates more than a very " @@ -799,7 +821,7 @@ msgstr "" "documentations, beaucoup de livres ont été écrits au sujet de Python, et " "nous ne voulons pas les rendre invalides soudainement." -#: faq/general.rst:368 +#: faq/general.rst:374 msgid "" "Providing a gradual upgrade path is necessary if a feature has to be " "changed. :pep:`5` describes the procedure followed for introducing backward-" @@ -808,17 +830,17 @@ msgstr "" "En fournissant un rythme de mise à jour progressif qui est obligatoire si " "une fonctionnalité doit être changée." -#: faq/general.rst:374 +#: faq/general.rst:380 msgid "Is Python a good language for beginning programmers?" msgstr "" "Existe-t-il un meilleur langage de programmation pour les programmeurs " "débutants ?" -#: faq/general.rst:376 +#: faq/general.rst:382 msgid "Yes." msgstr "Oui." -#: faq/general.rst:378 +#: faq/general.rst:384 msgid "" "It is still common to start students with a procedural and statically typed " "language such as Pascal, C, or a subset of C++ or Java. Students may be " @@ -842,7 +864,7 @@ msgstr "" "peuvent même probablement travailler avec des objets définis dans leurs " "premiers cours." -#: faq/general.rst:388 +#: faq/general.rst:394 msgid "" "For a student who has never programmed before, using a statically typed " "language seems unnatural. It presents additional complexity that the " @@ -862,7 +884,7 @@ msgstr "" "terme, ce n'est pas nécessairement la meilleure idée pour s'adresser aux " "étudiants durant leur tout premier cours." -#: faq/general.rst:396 +#: faq/general.rst:402 msgid "" "Many other aspects of Python make it a good first language. Like Java, " "Python has a large standard library so that students can be assigned " @@ -885,7 +907,7 @@ msgstr "" "réutilisation de code. Les modules tiers tels que PyGame sont aussi très " "utiles pour étendre les compétences des étudiants." -#: faq/general.rst:405 +#: faq/general.rst:411 msgid "" "Python's interactive interpreter enables students to test language features " "while they're programming. They can keep a window with the interpreter " @@ -899,7 +921,7 @@ msgstr "" "souvenir des méthodes pour une liste, ils peuvent faire quelque chose comme " "ça ::" -#: faq/general.rst:434 +#: faq/general.rst:440 msgid "" "With the interpreter, documentation is never far from the student as they " "are programming." @@ -907,15 +929,16 @@ msgstr "" "Avec l'interpréteur, la documentation n'est jamais loin des étudiants quand " "ils travaillent." -#: faq/general.rst:437 +#: faq/general.rst:443 +#, fuzzy msgid "" "There are also good IDEs for Python. IDLE is a cross-platform IDE for " -"Python that is written in Python using Tkinter. PythonWin is a Windows-" -"specific IDE. Emacs users will be happy to know that there is a very good " -"Python mode for Emacs. All of these programming environments provide syntax " -"highlighting, auto-indenting, and access to the interactive interpreter " -"while coding. Consult `the Python wiki `_ for a full list of Python editing environments." +"Python that is written in Python using Tkinter. Emacs users will be happy to " +"know that there is a very good Python mode for Emacs. All of these " +"programming environments provide syntax highlighting, auto-indenting, and " +"access to the interactive interpreter while coding. Consult `the Python " +"wiki `_ for a full list of " +"Python editing environments." msgstr "" "Il y a aussi de bons environnements de développement intégrés (EDIs) pour " "Python. IDLE est un EDI multiplateformes pour Python qui est écrit en Python " @@ -927,7 +950,7 @@ msgstr "" "`_ pour une liste complète des " "environnements de développement intégrés." -#: faq/general.rst:445 +#: faq/general.rst:451 msgid "" "If you want to discuss Python's use in education, you may be interested in " "joining `the edu-sig mailing list `_." + +#~ msgid "" +#~ "Python versions are numbered A.B.C or A.B. A is the major version number " +#~ "-- it is only incremented for really major changes in the language. B is " +#~ "the minor version number, incremented for less earth-shattering changes. " +#~ "C is the micro-level -- it is incremented for each bugfix release. See :" +#~ "pep:`6` for more information about bugfix releases." +#~ msgstr "" +#~ "Les versions de Python sont numérotées A.B.C ou A.B. A est une version " +#~ "majeure -- elle est augmentée seulement lorsqu'il y a des changements " +#~ "conséquents dans le langage. B est une version mineure, elle est " +#~ "augmentée lors de changements de moindre importance. C est un micro-" +#~ "niveau -- elle est augmentée à chaque sortie de correctifs de bogue." + +#~ msgid "" +#~ "Alpha, beta and release candidate versions have an additional suffix. " +#~ "The suffix for an alpha version is \"aN\" for some small number N, the " +#~ "suffix for a beta version is \"bN\" for some small number N, and the " +#~ "suffix for a release candidate version is \"rcN\" for some small number " +#~ "N. In other words, all versions labeled 2.0aN precede the versions " +#~ "labeled 2.0bN, which precede versions labeled 2.0rcN, and *those* precede " +#~ "2.0." +#~ msgstr "" +#~ "Les versions *alpha*, *beta* et *release candidate* ont un suffixe " +#~ "supplémentaire. Le suffixe pour une version alpha est « aN » où N est un " +#~ "petit nombre, le suffixe pour une version *beta* est *bN* où N est un " +#~ "petit nombre, et le suffixe pour une *release candidate* est *rcN* où N " +#~ "est un petit nombre. En d'autres mots, toutes les versions nommées *2.0." +#~ "aN* précèdent les versions *2.0.bN*, qui elles-mêmes précèdent 2.0rcN, et " +#~ "*celles-ci* précèdent la version 2.0." diff --git a/faq/gui.po b/faq/gui.po index fd1f550b74..46fe9ed9e5 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 02:34+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -93,10 +93,11 @@ msgstr "" "d'environnement :envvar:`TCL_LIBRARY` et :envvar:`TK_LIBRARY`." #: faq/gui.rst:49 +#, fuzzy msgid "" "To get truly stand-alone applications, the Tcl scripts that form the library " "have to be integrated into the application as well. One tool supporting that " -"is SAM (stand-alone modules), which is part of the Tix distribution (http://" +"is SAM (stand-alone modules), which is part of the Tix distribution (https://" "tix.sourceforge.net/)." msgstr "" "Pour obtenir des applications vraiment autonomes, les scripts *Tcl* qui " diff --git a/faq/library.po b/faq/library.po index ee39d2f117..ac5dab11ec 100644 --- a/faq/library.po +++ b/faq/library.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-06 20:15+0100\n" "Last-Translator: Fipaddict \n" "Language-Team: FRENCH \n" @@ -337,11 +337,12 @@ msgid "How do I create documentation from doc strings?" msgstr "Comment générer la documentation à partir des *docstrings* ?" #: faq/library.rst:181 +#, fuzzy msgid "" "The :mod:`pydoc` module can create HTML from the doc strings in your Python " "source code. An alternative for creating API documentation purely from " -"docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." +"docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" "Le module :mod:`pydoc` peut générer du HTML à partir des *docstrings* du " "code source Python. Il est aussi possible de documenter une API uniquement à " @@ -723,18 +724,20 @@ msgstr "Comment copier un fichier ?" #: faq/library.rst:486 msgid "" -"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " -"that on MacOS 9 it doesn't copy the resource fork and Finder info." +"The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. Note " +"that on Windows NTFS volumes, it does not copy `alternate data streams " +"`_ nor " +"`resource forks `__ on macOS " +"HFS+ volumes, though both are now rarely used. It also doesn't copy file " +"permissions and metadata, though using :func:`shutil.copy2` instead will " +"preserve most (though not all) of it." msgstr "" -"Le module :mod:`shutil` fournit la fonction :func:`~shutil.copyfile`. Sous " -"MacOS 9, celle-ci ne copie pas le clonage de ressources ni les informations " -"du chercheur." -#: faq/library.rst:491 +#: faq/library.rst:497 msgid "How do I read (or write) binary data?" msgstr "Comment lire (ou écrire) des données binaires ?" -#: faq/library.rst:493 +#: faq/library.rst:499 msgid "" "To read or write complex binary data formats, it's best to use the :mod:" "`struct` module. It allows you to take a string containing binary data " @@ -745,7 +748,7 @@ msgstr "" "une chaîne de caractères qui contient des données binaires, souvent des " "nombres, en objets Python, et vice-versa." -#: faq/library.rst:497 +#: faq/library.rst:503 msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" @@ -753,7 +756,7 @@ msgstr "" "Par exemple, le code suivant lit, depuis un fichier, deux entiers codés sur " "2 octets et un entier codé sur 4 octets, en format gros-boutiste ::" -#: faq/library.rst:506 +#: faq/library.rst:512 msgid "" "The '>' in the format string forces big-endian data; the letter 'h' reads " "one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " @@ -763,7 +766,7 @@ msgstr "" "mode gros-boutiste, la lettre « h » indique un entier court (2 octets) et la " "lettre « l » indique un entier long (4 octets)." -#: faq/library.rst:510 +#: faq/library.rst:516 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), " "you can also use the :mod:`array` module." @@ -772,7 +775,7 @@ msgstr "" "nombres à virgule flottante), il est possible d'utiliser le module :mod:" "`array`." -#: faq/library.rst:515 +#: faq/library.rst:521 msgid "" "To read and write binary data, it is mandatory to open the file in binary " "mode (here, passing ``\"rb\"`` to :func:`open`). If you use ``\"r\"`` " @@ -785,13 +788,13 @@ msgstr "" "en mode textuel et ``f.read()`` renvoie des objets :class:`str` au lieu " "d'objets :class:`bytes`." -#: faq/library.rst:523 +#: faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" msgstr "" "Il me semble impossible d'utiliser ``os.read()`` sur un tube créé avec ``os." "popen()`` ; pourquoi ?" -#: faq/library.rst:525 +#: faq/library.rst:531 msgid "" ":func:`os.read` is a low-level function which takes a file descriptor, a " "small integer representing the opened file. :func:`os.popen` creates a high-" @@ -806,34 +809,34 @@ msgstr "" "octets d'un tube *p* créé avec :func:`os.popen`, il faut utiliser ``p." "read(n)``." -#: faq/library.rst:612 +#: faq/library.rst:618 msgid "How do I access the serial (RS232) port?" msgstr "Comment accéder au port de transmission en série (RS-232) ?" -#: faq/library.rst:614 +#: faq/library.rst:620 msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" msgstr "Pour Win32, OSX, Linux, BSD, Jython et IronPython :" -#: faq/library.rst:616 +#: faq/library.rst:622 msgid "https://pypi.org/project/pyserial/" msgstr "https://pypi.org/project/pyserial/" -#: faq/library.rst:618 +#: faq/library.rst:624 msgid "For Unix, see a Usenet post by Mitch Chapman:" msgstr "" "Pour Unix, référez-vous à une publication sur Usenet de Mitch Chapman :" -#: faq/library.rst:620 +#: faq/library.rst:626 msgid "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" msgstr "https://groups.google.com/groups?selm=34A04430.CF9@ohioee.com" -#: faq/library.rst:624 +#: faq/library.rst:630 msgid "Why doesn't closing sys.stdout (stdin, stderr) really close it?" msgstr "" "Pourquoi fermer *sys.stdout*, *sys.stdin*, *sys.stderr* ne les ferme pas " "réellement ?" -#: faq/library.rst:626 +#: faq/library.rst:632 msgid "" "Python :term:`file objects ` are a high-level layer of " "abstraction on low-level C file descriptors." @@ -841,7 +844,7 @@ msgstr "" "Les :term:`objets fichiers ` en Python sont des abstractions de " "haut niveau sur les descripteurs de fichier C de bas niveau." -#: faq/library.rst:629 +#: faq/library.rst:635 msgid "" "For most file objects you create in Python via the built-in :func:`open` " "function, ``f.close()`` marks the Python file object as being closed from " @@ -855,7 +858,7 @@ msgstr "" "enclenché automatiquement dans le destructeur de ``f``, lorsque ``f`` est " "recyclé." -#: faq/library.rst:635 +#: faq/library.rst:641 msgid "" "But stdin, stdout and stderr are treated specially by Python, because of the " "special status also given to them by C. Running ``sys.stdout.close()`` " @@ -867,7 +870,7 @@ msgstr "" "close()`` marque l'objet fichier comme fermé du point de vue de Python, mais " "le descripteur de fichier C associé n'est *pas* fermé." -#: faq/library.rst:640 +#: faq/library.rst:646 msgid "" "To close the underlying C file descriptor for one of these three, you should " "first be sure that's what you really want to do (e.g., you may confuse " @@ -878,21 +881,21 @@ msgstr "" "exemple, perturber le bon fonctionnement de modules qui font des opérations " "d'entrée-sortie). Si c'est le cas, utilisez :func:`os.close` ::" -#: faq/library.rst:648 +#: faq/library.rst:654 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." msgstr "" "Il est aussi possible de fermer respectivement les constantes numériques 0, " "1 ou 2." -#: faq/library.rst:652 +#: faq/library.rst:658 msgid "Network/Internet Programming" msgstr "Programmation réseau et Internet" -#: faq/library.rst:655 +#: faq/library.rst:661 msgid "What WWW tools are there for Python?" msgstr "Quels sont les outils Python dédiés à la Toile ?" -#: faq/library.rst:657 +#: faq/library.rst:663 msgid "" "See the chapters titled :ref:`internet` and :ref:`netdata` in the Library " "Reference Manual. Python has many modules that will help you build server-" @@ -902,7 +905,7 @@ msgstr "" "le manuel de référence de la bibliothèque. Python a de nombreux modules pour " "construire des applications de Toile côté client comme côté serveur." -#: faq/library.rst:663 +#: faq/library.rst:669 msgid "" "A summary of available frameworks is maintained by Paul Boddie at https://" "wiki.python.org/moin/WebProgramming\\ ." @@ -910,20 +913,22 @@ msgstr "" "Un résumé des cadriciels disponibles est maintenu par Paul Boddie à " "l'adresse https://wiki.python.org/moin/WebProgramming\\ ." -#: faq/library.rst:666 +#: faq/library.rst:672 +#, fuzzy msgid "" "Cameron Laird maintains a useful set of pages about Python web technologies " -"at http://phaseit.net/claird/comp.lang.python/web_python." +"at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp." +"lang.python/web_python." msgstr "" "Cameron Laird maintient un ensemble intéressant d'articles sur les " "technologies Python dédiées à la Toile à l'adresse http://phaseit.net/claird/" "comp.lang.python/web_python." -#: faq/library.rst:671 +#: faq/library.rst:677 msgid "How can I mimic CGI form submission (METHOD=POST)?" msgstr "Comment reproduire un envoi de formulaire CGI (``METHOD=POST``) ?" -#: faq/library.rst:673 +#: faq/library.rst:679 msgid "" "I would like to retrieve web pages that are the result of POSTing a form. Is " "there existing code that would let me do this easily?" @@ -931,11 +936,11 @@ msgstr "" "J'aimerais récupérer la page de retour d'un envoi de formulaire sur la " "Toile. Existe-t-il déjà du code qui pourrait m'aider à le faire facilement ?" -#: faq/library.rst:676 +#: faq/library.rst:682 msgid "Yes. Here's a simple example that uses :mod:`urllib.request`::" msgstr "Oui. Voici un exemple simple d'utilisation de :mod:`urllib.request` ::" -#: faq/library.rst:691 +#: faq/library.rst:697 msgid "" "Note that in general for percent-encoded POST operations, query strings must " "be quoted using :func:`urllib.parse.urlencode`. For example, to send " @@ -946,15 +951,15 @@ msgstr "" "`urllib.parse.urlencode`. Par exemple pour envoyer ``name=Guy Steele, Jr." "`` ::" -#: faq/library.rst:699 +#: faq/library.rst:705 msgid ":ref:`urllib-howto` for extensive examples." msgstr ":ref:`urllib-howto` pour des exemples complets." -#: faq/library.rst:703 +#: faq/library.rst:709 msgid "What module should I use to help with generating HTML?" msgstr "Quel module utiliser pour générer du HTML ?" -#: faq/library.rst:707 +#: faq/library.rst:713 msgid "" "You can find a collection of useful links on the `Web Programming wiki page " "`_." @@ -962,15 +967,15 @@ msgstr "" "La `page wiki de la programmation Toile `_ (en anglais) répertorie un ensemble de liens pertinents." -#: faq/library.rst:712 +#: faq/library.rst:718 msgid "How do I send mail from a Python script?" msgstr "Comment envoyer un courriel avec un script Python ?" -#: faq/library.rst:714 +#: faq/library.rst:720 msgid "Use the standard library module :mod:`smtplib`." msgstr "Utilisez le module :mod:`smtplib` de la bibliothèque standard." -#: faq/library.rst:716 +#: faq/library.rst:722 msgid "" "Here's a very simple interactive mail sender that uses it. This method will " "work on any host that supports an SMTP listener. ::" @@ -978,7 +983,7 @@ msgstr "" "Voici un exemple très simple d'un envoyeur de courriel qui l'utilise. Cette " "méthode fonctionne sur tous les serveurs qui implémentent SMTP. ::" -#: faq/library.rst:736 +#: faq/library.rst:742 msgid "" "A Unix-only alternative uses sendmail. The location of the sendmail program " "varies between systems; sometimes it is ``/usr/lib/sendmail``, sometimes ``/" @@ -990,13 +995,13 @@ msgstr "" "sendmail`` ou ``/usr/sbin/sendmail``, la page de manuel de *sendmail* peut " "vous aider. Par exemple ::" -#: faq/library.rst:756 +#: faq/library.rst:762 msgid "How do I avoid blocking in the connect() method of a socket?" msgstr "" "Comment éviter de bloquer dans la méthode ``connect()`` d'un connecteur " "réseau ?" -#: faq/library.rst:758 +#: faq/library.rst:764 msgid "" "The :mod:`select` module is commonly used to help with asynchronous I/O on " "sockets." @@ -1004,7 +1009,7 @@ msgstr "" "Le module :mod:`select` est fréquemment utilisé pour effectuer des entrées-" "sorties asynchrones sur des connecteurs réseaux." -#: faq/library.rst:761 +#: faq/library.rst:767 msgid "" "To prevent the TCP connect from blocking, you can set the socket to non-" "blocking mode. Then when you do the :meth:`socket.connect`, you will either " @@ -1021,7 +1026,7 @@ msgstr "" "n'a pas encore aboutie. La valeur dépend du système d'exploitation, donc " "renseignez-vous sur la valeur utilisée par votre système." -#: faq/library.rst:768 +#: faq/library.rst:774 msgid "" "You can use the :meth:`socket.connect_ex` method to avoid creating an " "exception. It will just return the errno value. To poll, you can call :" @@ -1036,7 +1041,7 @@ msgstr "" "argument de :meth:`select.select` pour vérifier si le connecteur est prêt à " "recevoir des entrées." -#: faq/library.rst:774 +#: faq/library.rst:780 msgid "" "The :mod:`asyncio` module provides a general purpose single-threaded and " "concurrent asynchronous library, which can be used for writing non-blocking " @@ -1048,20 +1053,20 @@ msgstr "" "`Twisted `_ en est une alternative " "plébiscitée, avec un grand nombre de fonctionnalités." -#: faq/library.rst:782 +#: faq/library.rst:788 msgid "Databases" msgstr "Bases de données" -#: faq/library.rst:785 +#: faq/library.rst:791 msgid "Are there any interfaces to database packages in Python?" msgstr "" "Existe-t-il des modules Python pour s'interfacer avec des bases de données ?" -#: faq/library.rst:787 +#: faq/library.rst:793 msgid "Yes." msgstr "Oui." -#: faq/library.rst:789 +#: faq/library.rst:795 msgid "" "Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " "` are also included with standard Python. There is also the :mod:" @@ -1073,7 +1078,7 @@ msgstr "" "aussi le module :mod:`sqlite3` qui implémente une base de données " "relationnelle légère sur disque." -#: faq/library.rst:794 +#: faq/library.rst:800 msgid "" "Support for most relational databases is available. See the " "`DatabaseProgramming wiki page `_ pour plus de détails." -#: faq/library.rst:800 +#: faq/library.rst:806 msgid "How do you implement persistent objects in Python?" msgstr "Comment implémenter la persistance d'objets en Python ?" -#: faq/library.rst:802 +#: faq/library.rst:808 msgid "" "The :mod:`pickle` library module solves this in a very general way (though " "you still can't store things like open files, sockets or windows), and the :" @@ -1099,15 +1104,15 @@ msgstr "" "fenêtres par exemple), et le module :mod:`shelve` de la bibliothèque utilise " "*pickle* et *(g)dbm* pour créer des liens persistants vers des objets Python." -#: faq/library.rst:809 +#: faq/library.rst:815 msgid "Mathematics and Numerics" msgstr "Mathématiques et calcul numérique" -#: faq/library.rst:812 +#: faq/library.rst:818 msgid "How do I generate random numbers in Python?" msgstr "Comment générer des nombres aléatoires en Python ?" -#: faq/library.rst:814 +#: faq/library.rst:820 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" @@ -1115,48 +1120,48 @@ msgstr "" "Le module :mod:`random` de la bibliothèque standard comprend un générateur " "de nombres aléatoires. Son utilisation est simple ::" -#: faq/library.rst:820 +#: faq/library.rst:826 msgid "This returns a random floating point number in the range [0, 1)." msgstr "" "Le code précédent renvoie un nombre à virgule flottante aléatoire dans " "l'intervalle [0, 1[." -#: faq/library.rst:822 +#: faq/library.rst:828 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "Ce module fournit beaucoup d'autres générateurs spécialisés comme :" -#: faq/library.rst:824 +#: faq/library.rst:830 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." msgstr "``randrange(a, b)`` génère un entier dans l'intervalle [a, b[." -#: faq/library.rst:825 +#: faq/library.rst:831 msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "" "``uniform(a, b)`` génère un nombre à virgule flottante aléatoire dans " "l'intervalle [a, b[." -#: faq/library.rst:826 +#: faq/library.rst:832 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "``normalvariate(mean, sdev)`` simule la loi normale (Gaussienne)." -#: faq/library.rst:828 +#: faq/library.rst:834 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" "Des fonctions de haut niveau opèrent directement sur des séquences comme :" -#: faq/library.rst:830 +#: faq/library.rst:836 msgid "``choice(S)`` chooses a random element from a given sequence." msgstr "``choice(S)`` sélectionne au hasard un élément d'une séquence donnée." -#: faq/library.rst:831 +#: faq/library.rst:837 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" "``shuffle(L)`` mélange une liste en-place, c.-à-d. lui applique une " "permutation aléatoire." -#: faq/library.rst:833 +#: faq/library.rst:839 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." @@ -1164,6 +1169,14 @@ msgstr "" "Il existe aussi une classe ``Random`` qu'il est possible d'instancier pour " "créer des générateurs aléatoires indépendants." +#~ msgid "" +#~ "The :mod:`shutil` module contains a :func:`~shutil.copyfile` function. " +#~ "Note that on MacOS 9 it doesn't copy the resource fork and Finder info." +#~ msgstr "" +#~ "Le module :mod:`shutil` fournit la fonction :func:`~shutil.copyfile`. " +#~ "Sous MacOS 9, celle-ci ne copie pas le clonage de ressources ni les " +#~ "informations du chercheur." + #~ msgid "" #~ "For Windows: use `the consolelib module `_." diff --git a/faq/programming.po b/faq/programming.po index daf8bbee68..73789da1eb 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-27 12:15+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -87,8 +87,9 @@ msgstr "" "`ActivePython `_." #: faq/programming.rst:38 +#, fuzzy msgid "" -"`Eric `_ is an IDE built on PyQt and " +"`Eric `_ is an IDE built on PyQt and " "the Scintilla editing component." msgstr "" "`Eric `_ est un EDI basé sur PyQt et " @@ -138,9 +139,11 @@ msgstr "" "statique de code ?" #: faq/programming.rst:59 +#, fuzzy msgid "" -"`Pylint `_ and `Pyflakes `_ do basic checking that will help you catch bugs sooner." +"`Pylint `_ and `Pyflakes " +"`_ do basic checking that will help you " +"catch bugs sooner." msgstr "" "`Pylint `_ et `Pyflakes `_ font des vérifications de base et vous aideront à trouver des " @@ -226,7 +229,8 @@ msgid "`Nuitka `_ (Cross-platform)" msgstr "`Nuitka `_ (multiplateformes) ;" #: faq/programming.rst:98 -msgid "`PyInstaller `_ (Cross-platform)" +#, fuzzy +msgid "`PyInstaller `_ (Cross-platform)" msgstr "`PyInstaller `_ (multiplateformes) ;" #: faq/programming.rst:99 @@ -250,7 +254,8 @@ msgstr "" "macOS) ;" #: faq/programming.rst:102 -msgid "`py2exe `_ (Windows only)" +#, fuzzy +msgid "`py2exe `_ (Windows only)" msgstr "`py2exe `_ (uniquement pour Windows)." #: faq/programming.rst:105 @@ -538,7 +543,8 @@ msgstr "" "packages* de Python) — p. ex. *mx.DateTime, ZODB, PIL.Image*, etc." #: faq/programming.rst:297 -msgid "locally-developed modules" +#, fuzzy +msgid "locally developed modules" msgstr "les modules développés en local" #: faq/programming.rst:299 @@ -728,12 +734,13 @@ msgid "What is the difference between arguments and parameters?" msgstr "Quelle est la différence entre les arguments et les paramètres ?" #: faq/programming.rst:410 +#, fuzzy msgid "" ":term:`Parameters ` are defined by the names that appear in a " "function definition, whereas :term:`arguments ` are the values " -"actually passed to a function when calling it. Parameters define what types " -"of arguments a function can accept. For example, given the function " -"definition::" +"actually passed to a function when calling it. Parameters define what :term:" +"`kind of arguments ` a function can accept. For example, given " +"the function definition::" msgstr "" "Les :term:`paramètres ` sont les noms qui apparaissent dans une " "définition de fonction, alors que les :term:`arguments ` sont les " @@ -741,7 +748,7 @@ msgstr "" "ci. Les paramètres définissent les types des arguments qu'une fonction " "accepte. Ainsi, avec la définition de fonction suivante ::" -#: faq/programming.rst:418 +#: faq/programming.rst:419 msgid "" "*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling " "``func``, for example::" @@ -749,30 +756,30 @@ msgstr "" "*foo*, *bar* et *kwargs* sont des paramètres de ``func``. Mais à l'appel de " "``func`` avec, par exemple ::" -#: faq/programming.rst:423 +#: faq/programming.rst:424 msgid "the values ``42``, ``314``, and ``somevar`` are arguments." msgstr "les valeurs ``42``, ``314``, et ``somevar`` sont des arguments." -#: faq/programming.rst:427 +#: faq/programming.rst:428 msgid "Why did changing list 'y' also change list 'x'?" msgstr "Pourquoi modifier la liste 'y' modifie aussi la liste 'x' ?" -#: faq/programming.rst:429 +#: faq/programming.rst:430 msgid "If you wrote code like::" msgstr "Si vous avez écrit du code comme ::" -#: faq/programming.rst:439 +#: faq/programming.rst:440 msgid "" "you might be wondering why appending an element to ``y`` changed ``x`` too." msgstr "" "vous vous demandez peut-être pourquoi l'ajout d'un élément à ``y`` a aussi " "changé ``x``." -#: faq/programming.rst:441 +#: faq/programming.rst:442 msgid "There are two factors that produce this result:" msgstr "Il y a deux raisons qui conduisent à ce comportement :" -#: faq/programming.rst:443 +#: faq/programming.rst:444 msgid "" "Variables are simply names that refer to objects. Doing ``y = x`` doesn't " "create a copy of the list -- it creates a new variable ``y`` that refers to " @@ -784,14 +791,14 @@ msgstr "" "variable ``y`` qui pointe sur le même objet que ``x``. Ceci signifie qu'il " "n'existe qu'un seul objet (la liste) auquel ``x`` et ``y`` font référence." -#: faq/programming.rst:447 +#: faq/programming.rst:448 msgid "" "Lists are :term:`mutable`, which means that you can change their content." msgstr "" "Les listes sont des :term:`muable`, ce qui signifie que leur contenu peut " "être modifié." -#: faq/programming.rst:449 +#: faq/programming.rst:450 msgid "" "After the call to :meth:`~list.append`, the content of the mutable object " "has changed from ``[]`` to ``[10]``. Since both the variables refer to the " @@ -802,11 +809,11 @@ msgstr "" "objet, il est possible d'accéder à la valeur modifiée ``[10]`` avec chacun " "des noms." -#: faq/programming.rst:453 +#: faq/programming.rst:454 msgid "If we instead assign an immutable object to ``x``::" msgstr "Si au contraire, on affecte un objet immuable à ``x`` ::" -#: faq/programming.rst:463 +#: faq/programming.rst:464 msgid "" "we can see that in this case ``x`` and ``y`` are not equal anymore. This is " "because integers are :term:`immutable`, and when we do ``x = x + 1`` we are " @@ -825,7 +832,7 @@ msgstr "" "(``x`` fait désormais référence à ``6`` mais ``y`` fait toujours référence à " "``5``)." -#: faq/programming.rst:471 +#: faq/programming.rst:472 msgid "" "Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " "object, whereas superficially similar operations (for example ``y = y + " @@ -845,7 +852,7 @@ msgstr "" "obtenir une copie triée de ``y`` donne ``None``, ce qui conduit très souvent " "le programme à générer une erreur facile à diagnostiquer." -#: faq/programming.rst:480 +#: faq/programming.rst:481 msgid "" "However, there is one class of operations where the same operation sometimes " "has different behaviors with different types: the augmented assignment " @@ -855,17 +862,17 @@ msgid "" "1`` create new objects)." msgstr "" "Il existe cependant une classe d'opérations qui se comporte différemment " -"selon le type : les opérateurs d'affectation incrémentaux. Par exemple, ``" -"+=`` modifie les listes mais pas les *n*-uplets ni les entiers (``a_list += " -"[1, 2, 3]`` équivaut à ``a_list.extend([1, 2, 3])`` et modifie ``a_list``, " -"alors que ``some_tuple += (1, 2, 3)`` et ``some_int += 1`` créent de " -"nouveaux objets)." +"selon le type : les opérateurs d'affectation incrémentaux. Par exemple, " +"``+=`` modifie les listes mais pas les *n*-uplets ni les entiers (``a_list " +"+= [1, 2, 3]`` équivaut à ``a_list.extend([1, 2, 3])`` et modifie " +"``a_list``, alors que ``some_tuple += (1, 2, 3)`` et ``some_int += 1`` " +"créent de nouveaux objets)." -#: faq/programming.rst:487 +#: faq/programming.rst:488 msgid "In other words:" msgstr "En d'autres termes :" -#: faq/programming.rst:489 +#: faq/programming.rst:490 msgid "" "If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " "etc.), we can use some specific operations to mutate it and all the " @@ -875,7 +882,7 @@ msgstr "" "class:`list`, :class:`dict`, :class:`set`, etc.) et toutes les variables qui " "y font référence verront le changement." -#: faq/programming.rst:492 +#: faq/programming.rst:493 msgid "" "If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " "etc.), all the variables that refer to it will always see the same value, " @@ -887,7 +894,7 @@ msgstr "" "opérations qui transforment cette valeur en une nouvelle valeur renvoient " "toujours un nouvel objet." -#: faq/programming.rst:497 +#: faq/programming.rst:498 msgid "" "If you want to know if two variables refer to the same object or not, you " "can use the :keyword:`is` operator, or the built-in function :func:`id`." @@ -895,13 +902,13 @@ msgstr "" "L'opérateur :keyword:`is` ou la fonction native :func:`id` permettent de " "savoir si deux variables font référence au même objet." -#: faq/programming.rst:502 +#: faq/programming.rst:503 msgid "How do I write a function with output parameters (call by reference)?" msgstr "" "Comment écrire une fonction qui modifie ses paramètres ? (passage par " "référence)" -#: faq/programming.rst:504 +#: faq/programming.rst:505 msgid "" "Remember that arguments are passed by assignment in Python. Since " "assignment just creates references to objects, there's no alias between an " @@ -914,15 +921,15 @@ msgstr "" "de passage par référence en soi. Il y a cependant plusieurs façons d'en " "émuler un." -#: faq/programming.rst:509 +#: faq/programming.rst:510 msgid "By returning a tuple of the results::" msgstr "En renvoyant un *n*-uplet de résultats ::" -#: faq/programming.rst:520 +#: faq/programming.rst:521 msgid "This is almost always the clearest solution." msgstr "C'est presque toujours la meilleure solution." -#: faq/programming.rst:522 +#: faq/programming.rst:523 msgid "" "By using global variables. This isn't thread-safe, and is not recommended." msgstr "" @@ -930,33 +937,33 @@ msgstr "" "des contextes à plusieurs fils d'exécution (elle n'est pas *thread-safe*), " "et n'est donc pas recommandée." -#: faq/programming.rst:524 +#: faq/programming.rst:525 msgid "By passing a mutable (changeable in-place) object::" msgstr "En passant un objet muable (modifiable sur place) ::" -#: faq/programming.rst:535 +#: faq/programming.rst:536 msgid "By passing in a dictionary that gets mutated::" msgstr "En passant un dictionnaire, qui sera modifié ::" -#: faq/programming.rst:546 +#: faq/programming.rst:547 msgid "Or bundle up values in a class instance::" msgstr "Ou regrouper les valeurs dans une instance de classe ::" -#: faq/programming.rst:563 +#: faq/programming.rst:564 msgid "There's almost never a good reason to get this complicated." msgstr "Faire quelque chose d'aussi compliqué est rarement une bonne idée." -#: faq/programming.rst:565 +#: faq/programming.rst:566 msgid "Your best choice is to return a tuple containing the multiple results." msgstr "" "La meilleure option reste de renvoyer un *n*-uplet contenant les différents " "résultats." -#: faq/programming.rst:569 +#: faq/programming.rst:570 msgid "How do you make a higher order function in Python?" msgstr "Comment construire une fonction d'ordre supérieur en Python ?" -#: faq/programming.rst:571 +#: faq/programming.rst:572 msgid "" "You have two choices: you can use nested scopes or you can use callable " "objects. For example, suppose you wanted to define ``linear(a,b)`` which " @@ -968,19 +975,19 @@ msgstr "" "``linear(a, b)`` qui renvoie une fonction ``f(x)`` qui calcule la valeur " "``a*x+b``. En utilisant les portées imbriquées ::" -#: faq/programming.rst:580 +#: faq/programming.rst:581 msgid "Or using a callable object::" msgstr "Ou en utilisant un objet appelable ::" -#: faq/programming.rst:590 +#: faq/programming.rst:591 msgid "In both cases, ::" msgstr "Dans les deux cas ::" -#: faq/programming.rst:594 +#: faq/programming.rst:595 msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." msgstr "donne un objet appelable où ``taxes(10e6) == 0.3 * 10e6 + 2``." -#: faq/programming.rst:596 +#: faq/programming.rst:597 msgid "" "The callable object approach has the disadvantage that it is a bit slower " "and results in slightly longer code. However, note that a collection of " @@ -991,11 +998,11 @@ msgstr "" "collection d'objet appelables peuvent partager leurs signatures par " "héritage ::" -#: faq/programming.rst:605 +#: faq/programming.rst:606 msgid "Object can encapsulate state for several methods::" msgstr "Les objets peuvent encapsuler un état pour plusieurs méthodes ::" -#: faq/programming.rst:623 +#: faq/programming.rst:624 msgid "" "Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the " "same counting variable." @@ -1003,11 +1010,11 @@ msgstr "" "Ici ``inc()``, ``dec()`` et ``reset()`` agissent comme des fonctions " "partageant une même variable compteur." -#: faq/programming.rst:628 +#: faq/programming.rst:629 msgid "How do I copy an object in Python?" msgstr "Comment copier un objet en Python ?" -#: faq/programming.rst:630 +#: faq/programming.rst:631 msgid "" "In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " "case. Not all objects can be copied, but most can." @@ -1015,7 +1022,7 @@ msgstr "" "En général, essayez :func:`copy.copy` ou :func:`copy.deepcopy`. Tous les " "objets ne peuvent pas être copiés, mais la plupart le peuvent." -#: faq/programming.rst:633 +#: faq/programming.rst:634 msgid "" "Some objects can be copied more easily. Dictionaries have a :meth:`~dict." "copy` method::" @@ -1023,15 +1030,15 @@ msgstr "" "Certains objets peuvent être copiés plus facilement que d'autres. Les " "dictionnaires ont une méthode :meth:`~dict.copy` ::" -#: faq/programming.rst:638 +#: faq/programming.rst:639 msgid "Sequences can be copied by slicing::" msgstr "Les séquences peuvent être copiées via la syntaxe des tranches ::" -#: faq/programming.rst:644 +#: faq/programming.rst:645 msgid "How can I find the methods or attributes of an object?" msgstr "Comment récupérer les méthodes ou les attributs d'un objet ?" -#: faq/programming.rst:646 +#: faq/programming.rst:647 msgid "" "For an instance x of a user-defined class, ``dir(x)`` returns an " "alphabetized list of the names containing the instance attributes and " @@ -1041,11 +1048,11 @@ msgstr "" "renvoie une liste alphabétique des noms contenants les attributs de " "l'instance, et les attributs et méthodes définies par sa classe." -#: faq/programming.rst:652 +#: faq/programming.rst:653 msgid "How can my code discover the name of an object?" msgstr "Comment un code peut-il obtenir le nom d'un objet ?" -#: faq/programming.rst:654 +#: faq/programming.rst:655 msgid "" "Generally speaking, it can't, because objects don't really have names. " "Essentially, assignment always binds a name to a value; the same is true of " @@ -1058,7 +1065,7 @@ msgstr "" "différence près que, dans ce cas, la valeur est un appelable. Par exemple, " "dans le code suivant ::" -#: faq/programming.rst:670 +#: faq/programming.rst:671 msgid "" "Arguably the class has a name: even though it is bound to two names and " "invoked through the name B the created instance is still reported as an " @@ -1071,7 +1078,7 @@ msgstr "" "dire si le nom de l'instance est a ou b, les deux noms étant attachés à la " "même valeur." -#: faq/programming.rst:675 +#: faq/programming.rst:676 msgid "" "Generally speaking it should not be necessary for your code to \"know the " "names\" of particular values. Unless you are deliberately writing " @@ -1083,7 +1090,7 @@ msgstr "" "en train d'écrire un programme introspectif, c'est souvent l'indication " "qu'un changement d'approche serait bénéfique." -#: faq/programming.rst:680 +#: faq/programming.rst:681 msgid "" "In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " "to this question:" @@ -1091,7 +1098,7 @@ msgstr "" "Sur *comp.lang.python*, Fredrik Lundh a donné un jour une excellente " "analogie pour répondre à cette question :" -#: faq/programming.rst:683 +#: faq/programming.rst:684 msgid "" "The same way as you get the name of that cat you found on your porch: the " "cat (object) itself cannot tell you its name, and it doesn't really care -- " @@ -1103,7 +1110,7 @@ msgstr "" "­– alors le meilleur moyen de savoir comment il s'appelle est de demander à " "tous vos voisins (espaces de nommage) si c'est leur chat (objet)…" -#: faq/programming.rst:688 +#: faq/programming.rst:689 msgid "" "....and don't be surprised if you'll find that it's known by many names, or " "no name at all!" @@ -1111,16 +1118,16 @@ msgstr "" "…et ne soyez pas surpris si vous découvrez qu'il est connu sous plusieurs " "noms, ou s'il n'a pas de nom du tout !" -#: faq/programming.rst:693 +#: faq/programming.rst:694 msgid "What's up with the comma operator's precedence?" msgstr "Qu'en est-il de la précédence de l'opérateur virgule ?" -#: faq/programming.rst:695 +#: faq/programming.rst:696 msgid "Comma is not an operator in Python. Consider this session::" msgstr "" "La virgule n'est pas un opérateur en Python. Observez le code suivant ::" -#: faq/programming.rst:700 +#: faq/programming.rst:701 msgid "" "Since the comma is not an operator, but a separator between expressions the " "above is evaluated as if you had entered::" @@ -1129,11 +1136,11 @@ msgstr "" "expressions, l'expression ci-dessus est évaluée de la même façon que si vous " "aviez écrit ::" -#: faq/programming.rst:705 +#: faq/programming.rst:706 msgid "not::" msgstr "et non ::" -#: faq/programming.rst:709 +#: faq/programming.rst:710 msgid "" "The same is true of the various assignment operators (``=``, ``+=`` etc). " "They are not truly operators but syntactic delimiters in assignment " @@ -1143,15 +1150,15 @@ msgstr "" "ne sont pas vraiment des opérateurs mais plutôt des délimiteurs syntaxiques " "dans les instructions d'affectation." -#: faq/programming.rst:714 +#: faq/programming.rst:715 msgid "Is there an equivalent of C's \"?:\" ternary operator?" msgstr "Existe-t-il un équivalent à l'opérateur ternaire « ?: » du C ?" -#: faq/programming.rst:716 +#: faq/programming.rst:717 msgid "Yes, there is. The syntax is as follows::" msgstr "Oui. Sa syntaxe est la suivante ::" -#: faq/programming.rst:723 +#: faq/programming.rst:724 msgid "" "Before this syntax was introduced in Python 2.5, a common idiom was to use " "logical operators::" @@ -1159,7 +1166,7 @@ msgstr "" "Avant l'introduction de cette syntaxe dans Python 2.5, il était courant " "d'utiliser les opérateurs de logique ::" -#: faq/programming.rst:728 +#: faq/programming.rst:729 msgid "" "However, this idiom is unsafe, as it can give wrong results when *on_true* " "has a false boolean value. Therefore, it is always better to use the ``... " @@ -1169,36 +1176,39 @@ msgstr "" "la valeur booléenne fausse. Il faut donc toujours utiliser la forme ``... " "if ... else ...``." -#: faq/programming.rst:734 +#: faq/programming.rst:735 msgid "Is it possible to write obfuscated one-liners in Python?" msgstr "" "Est-il possible d'écrire des programmes obscurcis (*obfuscated*) d'une ligne " "en Python ?" -#: faq/programming.rst:736 +#: faq/programming.rst:737 +#, fuzzy msgid "" "Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!" -"lambda`. See the following three examples, due to Ulf Bartelt::" +"lambda`. See the following three examples, slightly adapted from Ulf " +"Bartelt::" msgstr "" "Oui. C'est souvent le cas en imbriquant des :keyword:`lambda` dans des :" "keyword:`!lambda`. Par exemple les trois morceaux de code suivants, créés " "par Ulf Bartelt ::" -#: faq/programming.rst:763 +#: faq/programming.rst:764 msgid "Don't try this at home, kids!" msgstr "Les enfants, ne faites pas ça chez vous !" -#: faq/programming.rst:769 +#: faq/programming.rst:770 msgid "What does the slash(/) in the parameter list of a function mean?" msgstr "" "Que signifie la barre oblique (/) dans la liste des paramètres d'une " "fonction ?" -#: faq/programming.rst:771 +#: faq/programming.rst:772 +#, fuzzy msgid "" "A slash in the argument list of a function denotes that the parameters prior " "to it are positional-only. Positional-only parameters are the ones without " -"an externally-usable name. Upon calling a function that accepts positional-" +"an externally usable name. Upon calling a function that accepts positional-" "only parameters, arguments are mapped to parameters based solely on their " "position. For example, :func:`divmod` is a function that accepts positional-" "only parameters. Its documentation looks like this::" @@ -1212,7 +1222,7 @@ msgstr "" "que des paramètres uniquement positionnels. Sa documentation est la " "suivante ::" -#: faq/programming.rst:784 +#: faq/programming.rst:785 msgid "" "The slash at the end of the parameter list means that both parameters are " "positional-only. Thus, calling :func:`divmod` with keyword arguments would " @@ -1222,15 +1232,15 @@ msgstr "" "paramètres sont uniquement positionnels. Et donc, appeler :func:`divmod` " "avec des arguments nommés provoque une erreur ::" -#: faq/programming.rst:795 +#: faq/programming.rst:796 msgid "Numbers and strings" msgstr "Nombres et chaînes de caractères" -#: faq/programming.rst:798 +#: faq/programming.rst:799 msgid "How do I specify hexadecimal and octal integers?" msgstr "Comment écrire des entiers hexadécimaux ou octaux ?" -#: faq/programming.rst:800 +#: faq/programming.rst:801 msgid "" "To specify an octal digit, precede the octal value with a zero, and then a " "lower or uppercase \"o\". For example, to set the variable \"a\" to the " @@ -1240,7 +1250,7 @@ msgstr "" "puis un \"o\" majuscule ou minuscule. Par exemple pour affecter la valeur " "octale \"10\" (8 en décimal) à la variable \"a\", tapez ::" -#: faq/programming.rst:808 +#: faq/programming.rst:809 msgid "" "Hexadecimal is just as easy. Simply precede the hexadecimal number with a " "zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " @@ -1251,11 +1261,11 @@ msgstr "" "peuvent être écrits en majuscules ou en minuscules. Par exemple, dans " "l'interpréteur Python ::" -#: faq/programming.rst:821 +#: faq/programming.rst:822 msgid "Why does -22 // 10 return -3?" msgstr "Pourquoi ``-22 // 10`` donne-t-il ``-3`` ?" -#: faq/programming.rst:823 +#: faq/programming.rst:824 msgid "" "It's primarily driven by the desire that ``i % j`` have the same sign as " "``j``. If you want that, and also want::" @@ -1263,7 +1273,7 @@ msgstr "" "Cela est principalement dû à la volonté que ``i % j`` ait le même signe que " "j. Si vous voulez en plus que ::" -#: faq/programming.rst:828 +#: faq/programming.rst:829 msgid "" "then integer division has to return the floor. C also requires that " "identity to hold, and then compilers that truncate ``i // j`` need to make " @@ -1273,7 +1283,7 @@ msgstr "" "également que cette égalité soit vérifiée, et donc les compilateurs qui " "tronquent ``i // j`` ont besoin que ``i % j`` ait le même signe que ``i``." -#: faq/programming.rst:832 +#: faq/programming.rst:833 msgid "" "There are few real use cases for ``i % j`` when ``j`` is negative. When " "``j`` is positive, there are many, and in virtually all of them it's more " @@ -1287,13 +1297,13 @@ msgstr "" "10 h maintenant, qu'affichait-elle il y a 200 heures ? ``-190 % 12 == 2`` " "est utile ; ``-190 % 12 == -10`` est un bogue en puissance." -#: faq/programming.rst:840 +#: faq/programming.rst:841 msgid "How do I get int literal attribute instead of SyntaxError?" msgstr "" "Pourquoi ai-je une erreur de syntaxe en essayant de lire un attribut d'un " "entier littéral ?" -#: faq/programming.rst:842 +#: faq/programming.rst:843 msgid "" "Trying to lookup an ``int`` literal attribute in the normal manner gives a " "syntax error because the period is seen as a decimal point::" @@ -1302,7 +1312,7 @@ msgstr "" "conduit à une erreur de syntaxe car le point est compris comme un séparateur " "décimal en notation anglo-saxonne :" -#: faq/programming.rst:851 +#: faq/programming.rst:852 msgid "" "The solution is to separate the literal from the period with either a space " "or parentheses." @@ -1310,11 +1320,11 @@ msgstr "" "Il faut séparer l'entier du point, soit avec une espace, soit avec des " "parenthèses." -#: faq/programming.rst:861 +#: faq/programming.rst:862 msgid "How do I convert a string to a number?" msgstr "Comment convertir une chaîne de caractères en nombre ?" -#: faq/programming.rst:863 +#: faq/programming.rst:864 msgid "" "For integers, use the built-in :func:`int` type constructor, e.g. " "``int('144') == 144``. Similarly, :func:`float` converts to floating-point, " @@ -1324,7 +1334,7 @@ msgstr "" "``int('144') == 144``. De façon similaire, :func:`float` donne la valeur " "flottante, par exemple ``float('144') == 144.0``." -#: faq/programming.rst:867 +#: faq/programming.rst:868 msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " "144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " @@ -1340,7 +1350,7 @@ msgstr "" "donnée est 0, le nombre est interprété selon les règles Python : un préfixe " "``0o`` indique de l'octal et ``0x`` indique de l'hexadécimal." -#: faq/programming.rst:874 +#: faq/programming.rst:875 msgid "" "Do not use the built-in function :func:`eval` if all you need is to convert " "strings to numbers. :func:`eval` will be significantly slower and it " @@ -1356,7 +1366,7 @@ msgstr "" "pourrait passer ``__import__('os').system(\"rm -rf $HOME\")`` ce qui " "effacerait votre répertoire personnel." -#: faq/programming.rst:881 +#: faq/programming.rst:882 msgid "" ":func:`eval` also has the effect of interpreting numbers as Python " "expressions, so that e.g. ``eval('09')`` gives a syntax error because Python " @@ -1367,11 +1377,11 @@ msgstr "" "parce que Python ne permet pas les '0' en tête d'un nombre décimal (à " "l'exception du nombre '0')." -#: faq/programming.rst:887 +#: faq/programming.rst:888 msgid "How do I convert a number to a string?" msgstr "Comment convertir un nombre en chaîne de caractères ?" -#: faq/programming.rst:889 +#: faq/programming.rst:890 msgid "" "To convert, e.g., the number 144 to the string '144', use the built-in type " "constructor :func:`str`. If you want a hexadecimal or octal representation, " @@ -1388,11 +1398,11 @@ msgstr "" "`formatstrings`, par exemple ``\"{:04d}\".format(144)`` produit ``'0144'`` " "et ``\"{:.3f}\".format(1.0/3.0)`` produit ``'0.333'``." -#: faq/programming.rst:898 +#: faq/programming.rst:899 msgid "How do I modify a string in place?" msgstr "Comment modifier une chaîne de caractères « sur place » ?" -#: faq/programming.rst:900 +#: faq/programming.rst:901 msgid "" "You can't, because strings are immutable. In most situations, you should " "simply construct a new string from the various parts you want to assemble it " @@ -1406,17 +1416,17 @@ msgstr "" "capable de modifier de la donnée Unicode « sur place », essayez d'utiliser " "un objet :class:`io.StringIO` ou le module :mod:`array` ::" -#: faq/programming.rst:930 +#: faq/programming.rst:931 msgid "How do I use strings to call functions/methods?" msgstr "" "Comment utiliser des chaînes de caractères pour appeler des fonctions/" "méthodes ?" -#: faq/programming.rst:932 +#: faq/programming.rst:933 msgid "There are various techniques." msgstr "Il y a plusieurs façons de faire." -#: faq/programming.rst:934 +#: faq/programming.rst:935 msgid "" "The best is to use a dictionary that maps strings to functions. The primary " "advantage of this technique is that the strings do not need to match the " @@ -1426,14 +1436,14 @@ msgstr "" "La meilleure est d'utiliser un dictionnaire qui fait correspondre les " "chaînes de caractères à des fonctions. Le principal avantage de cette " "technique est que les chaînes n'ont pas besoin d'être égales aux noms de " -"fonctions. C'est aussi la façon principale d'imiter la construction \"case" -"\" ::" +"fonctions. C'est aussi la façon principale d'imiter la construction " +"\"case\" ::" -#: faq/programming.rst:949 +#: faq/programming.rst:950 msgid "Use the built-in function :func:`getattr`::" msgstr "Utiliser la fonction :func:`getattr` ::" -#: faq/programming.rst:954 +#: faq/programming.rst:955 msgid "" "Note that :func:`getattr` works on any object, including classes, class " "instances, modules, and so on." @@ -1441,17 +1451,17 @@ msgstr "" "Notez que :func:`getattr` marche sur n'importe quel objet, ceci inclut les " "classes, les instances de classes, les modules et ainsi de suite." -#: faq/programming.rst:957 +#: faq/programming.rst:958 msgid "This is used in several places in the standard library, like this::" msgstr "" "Ceci est utilisé à plusieurs reprises dans la bibliothèque standard, de " "cette façon ::" -#: faq/programming.rst:970 +#: faq/programming.rst:971 msgid "Use :func:`locals` to resolve the function name::" msgstr "Utilisez :func:`locals` pour résoudre le nom de la fonction ::" -#: faq/programming.rst:982 +#: faq/programming.rst:983 msgid "" "Is there an equivalent to Perl's chomp() for removing trailing newlines from " "strings?" @@ -1459,7 +1469,7 @@ msgstr "" "Existe-t-il un équivalent à la fonction ``chomp()`` de Perl, pour retirer " "les caractères de fin de ligne d'une chaîne de caractères ?" -#: faq/programming.rst:984 +#: faq/programming.rst:985 msgid "" "You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " "terminator from the end of the string ``S`` without removing other trailing " @@ -1473,7 +1483,7 @@ msgstr "" "représente plus d'une ligne, avec plusieurs lignes vides, les marqueurs de " "fin de ligne de chaque ligne vide seront retirés ::" -#: faq/programming.rst:996 +#: faq/programming.rst:997 msgid "" "Since this is typically only desired when reading text one line at a time, " "using ``S.rstrip()`` this way works well." @@ -1481,15 +1491,15 @@ msgstr "" "Vu que cela ne sert presque qu'à lire un texte ligne à ligne, utiliser ``S." "rstrip()`` de cette manière fonctionne correctement." -#: faq/programming.rst:1001 +#: faq/programming.rst:1002 msgid "Is there a scanf() or sscanf() equivalent?" msgstr "Existe-t-il un équivalent à ``scanf()`` ou ``sscanf()`` ?" -#: faq/programming.rst:1003 +#: faq/programming.rst:1004 msgid "Not as such." msgstr "Pas exactement." -#: faq/programming.rst:1005 +#: faq/programming.rst:1006 msgid "" "For simple input parsing, the easiest approach is usually to split the line " "into whitespace-delimited words using the :meth:`~str.split` method of " @@ -1506,7 +1516,7 @@ msgstr "" "paramètre optionnel \"sep\" qui est utile si la ligne utilise autre chose " "que des espaces comme séparateurs." -#: faq/programming.rst:1011 +#: faq/programming.rst:1012 msgid "" "For more complicated input parsing, regular expressions are more powerful " "than C's :c:func:`sscanf` and better suited for the task." @@ -1515,24 +1525,24 @@ msgstr "" "puissantes que la fonction :c:func:`sscanf` de C et mieux adaptées à la " "tâche." -#: faq/programming.rst:1016 +#: faq/programming.rst:1017 msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" msgstr "" "Que signifient les erreurs ``UnicodeDecodeError`` ou ``UnicodeEncodeError`` ?" -#: faq/programming.rst:1018 +#: faq/programming.rst:1019 msgid "See the :ref:`unicode-howto`." msgstr "Voir :ref:`unicode-howto`." -#: faq/programming.rst:1022 +#: faq/programming.rst:1023 msgid "Performance" msgstr "Performances" -#: faq/programming.rst:1025 +#: faq/programming.rst:1026 msgid "My program is too slow. How do I speed it up?" msgstr "Mon programme est trop lent. Comment l'accélérer ?" -#: faq/programming.rst:1027 +#: faq/programming.rst:1028 msgid "" "That's a tough one, in general. First, here are a list of things to " "remember before diving further:" @@ -1540,7 +1550,7 @@ msgstr "" "Question difficile en général. Il faut garder en tête les points suivants " "avant d'aller plus loin :" -#: faq/programming.rst:1030 +#: faq/programming.rst:1031 msgid "" "Performance characteristics vary across Python implementations. This FAQ " "focuses on :term:`CPython`." @@ -1548,7 +1558,7 @@ msgstr "" "Les performances varient en fonction des implémentations de Python. Cette " "FAQ ne traite que de :term:`CPython`." -#: faq/programming.rst:1032 +#: faq/programming.rst:1033 msgid "" "Behaviour can vary across operating systems, especially when talking about I/" "O or multi-threading." @@ -1557,7 +1567,7 @@ msgstr "" "tout particulièrement quand il s'agit d'entrée/sortie ou de fils d'exécution " "multiples." -#: faq/programming.rst:1034 +#: faq/programming.rst:1035 msgid "" "You should always find the hot spots in your program *before* attempting to " "optimize any code (see the :mod:`profile` module)." @@ -1566,7 +1576,7 @@ msgstr "" "programme *avant* d'essayer d'optimiser du code (voir le module :mod:" "`profile`)." -#: faq/programming.rst:1036 +#: faq/programming.rst:1037 msgid "" "Writing benchmark scripts will allow you to iterate quickly when searching " "for improvements (see the :mod:`timeit` module)." @@ -1574,7 +1584,7 @@ msgstr "" "Écrire des scripts d'évaluation de performances permet de progresser " "rapidement dans la recherche d'améliorations (voir le module :mod:`timeit`)." -#: faq/programming.rst:1038 +#: faq/programming.rst:1039 msgid "" "It is highly recommended to have good code coverage (through unit testing or " "any other technique) before potentially introducing regressions hidden in " @@ -1584,7 +1594,7 @@ msgstr "" "des tests unitaires ou autre) avant d'ajouter des erreurs dans des " "optimisations sophistiquées." -#: faq/programming.rst:1042 +#: faq/programming.rst:1043 msgid "" "That being said, there are many tricks to speed up Python code. Here are " "some general principles which go a long way towards reaching acceptable " @@ -1594,7 +1604,7 @@ msgstr "" "Voici quelques principes généraux qui peuvent aider à atteindre des niveaux " "de performance satisfaisants :" -#: faq/programming.rst:1046 +#: faq/programming.rst:1047 msgid "" "Making your algorithms faster (or changing to faster ones) can yield much " "larger benefits than trying to sprinkle micro-optimization tricks all over " @@ -1604,7 +1614,7 @@ msgstr "" "produire de bien meilleurs résultats que d'optimiser çà et là de petites " "portions du code." -#: faq/programming.rst:1050 +#: faq/programming.rst:1051 msgid "" "Use the right data structures. Study documentation for the :ref:`bltin-" "types` and the :mod:`collections` module." @@ -1612,7 +1622,7 @@ msgstr "" "Utiliser les structures de données adaptées. Se référer à la documentation " "des :ref:`bltin-types` et du module :mod:`collections`." -#: faq/programming.rst:1053 +#: faq/programming.rst:1054 msgid "" "When the standard library provides a primitive for doing something, it is " "likely (although not guaranteed) to be faster than any alternative you may " @@ -1631,7 +1641,7 @@ msgstr "" "référer à la section :ref:`sortinghowto` pour des exemples d'utilisation " "courante)." -#: faq/programming.rst:1061 +#: faq/programming.rst:1062 msgid "" "Abstractions tend to create indirections and force the interpreter to work " "more. If the levels of indirection outweigh the amount of useful work done, " @@ -1645,10 +1655,11 @@ msgstr "" "éviter trop d'indirections, en particulier sous la forme de fonctions ou " "méthodes trop petites (qui nuisent aussi souvent à la clarté du code)." -#: faq/programming.rst:1067 +#: faq/programming.rst:1068 +#, fuzzy msgid "" "If you have reached the limit of what pure Python can allow, there are tools " -"to take you further away. For example, `Cython `_ can " +"to take you further away. For example, `Cython `_ can " "compile a slightly modified version of Python code into a C extension, and " "can be used on many different platforms. Cython can take advantage of " "compilation (and optional type annotations) to make your code significantly " @@ -1666,7 +1677,7 @@ msgstr "" "vous pouvez aussi :ref:`écrire un module d'extension en C` " "vous-même." -#: faq/programming.rst:1077 +#: faq/programming.rst:1078 msgid "" "The wiki page devoted to `performance tips `_." @@ -1674,13 +1685,13 @@ msgstr "" "La page wiki dédiée aux `astuces de performance `_." -#: faq/programming.rst:1083 +#: faq/programming.rst:1084 msgid "What is the most efficient way to concatenate many strings together?" msgstr "" "Quelle est la manière la plus efficace de concaténer un grand nombre de " "chaînes de caractères ?" -#: faq/programming.rst:1085 +#: faq/programming.rst:1086 msgid "" ":class:`str` and :class:`bytes` objects are immutable, therefore " "concatenating many strings together is inefficient as each concatenation " @@ -1693,7 +1704,7 @@ msgstr "" "général, la complexité est quadratique par rapport à la taille totale de la " "chaîne." -#: faq/programming.rst:1090 +#: faq/programming.rst:1091 msgid "" "To accumulate many :class:`str` objects, the recommended idiom is to place " "them into a list and call :meth:`str.join` at the end::" @@ -1702,13 +1713,13 @@ msgstr "" "recommandée consiste à toutes les mettre dans une liste et appeler la " "méthode :meth:`str.join` à la fin ::" -#: faq/programming.rst:1098 +#: faq/programming.rst:1099 msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" msgstr "" "(une autre technique relativement efficace consiste à utiliser :class:`io." "StringIO`)" -#: faq/programming.rst:1100 +#: faq/programming.rst:1101 msgid "" "To accumulate many :class:`bytes` objects, the recommended idiom is to " "extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " @@ -1718,15 +1729,15 @@ msgstr "" "recommandée consiste à étendre un objet :class:`bytearray` en utilisant la " "concaténation en-place (l'opérateur ``+=``) ::" -#: faq/programming.rst:1109 +#: faq/programming.rst:1110 msgid "Sequences (Tuples/Lists)" msgstr "Séquences (*n*-uplets / listes)" -#: faq/programming.rst:1112 +#: faq/programming.rst:1113 msgid "How do I convert between tuples and lists?" msgstr "Comment convertir les listes en *n*-uplets et inversement ?" -#: faq/programming.rst:1114 +#: faq/programming.rst:1115 msgid "" "The type constructor ``tuple(seq)`` converts any sequence (actually, any " "iterable) into a tuple with the same items in the same order." @@ -1735,7 +1746,7 @@ msgstr "" "précisément, tout itérable) en un *n*-uplet avec les mêmes éléments dans le " "même ordre." -#: faq/programming.rst:1117 +#: faq/programming.rst:1118 msgid "" "For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " "yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " @@ -1748,7 +1759,7 @@ msgstr "" "fonction économique à appeler quand vous ne savez pas si votre objet est " "déjà un *n*-uplet." -#: faq/programming.rst:1122 +#: faq/programming.rst:1123 msgid "" "The type constructor ``list(seq)`` converts any sequence or iterable into a " "list with the same items in the same order. For example, ``list((1, 2, " @@ -1761,11 +1772,11 @@ msgstr "" "``['a','b','c']``. Si l'argument est une liste, il renvoie une copie, de la " "même façon que ``seq[:]``." -#: faq/programming.rst:1129 +#: faq/programming.rst:1130 msgid "What's a negative index?" msgstr "Qu'est-ce qu'un indice négatif ?" -#: faq/programming.rst:1131 +#: faq/programming.rst:1132 msgid "" "Python sequences are indexed with positive numbers and negative numbers. " "For positive numbers 0 is the first index 1 is the second index and so " @@ -1779,7 +1790,7 @@ msgstr "" "dernier indice, ``-2`` est le pénultième (avant-dernier), et ainsi de suite. " "On peut aussi dire que ``seq[-n]`` est équivalent à ``seq[len(seq)-n]``." -#: faq/programming.rst:1136 +#: faq/programming.rst:1137 msgid "" "Using negative indices can be very convenient. For example ``S[:-1]`` is " "all of the string except for its last character, which is useful for " @@ -1790,15 +1801,15 @@ msgstr "" "caractère, ce qui est pratique pour retirer un caractère de fin de ligne à " "la fin d'une chaîne." -#: faq/programming.rst:1142 +#: faq/programming.rst:1143 msgid "How do I iterate over a sequence in reverse order?" msgstr "Comment itérer à rebours sur une séquence ?" -#: faq/programming.rst:1144 +#: faq/programming.rst:1145 msgid "Use the :func:`reversed` built-in function::" msgstr "Utilisez la fonction native :func:`reversed` ::" -#: faq/programming.rst:1149 +#: faq/programming.rst:1150 msgid "" "This won't touch your original sequence, but build a new copy with reversed " "order to iterate over." @@ -1806,21 +1817,21 @@ msgstr "" "Cela ne modifie pas la séquence initiale, mais construit à la place une " "copie en ordre inverse pour itérer dessus." -#: faq/programming.rst:1154 +#: faq/programming.rst:1155 msgid "How do you remove duplicates from a list?" msgstr "Comment retirer les doublons d'une liste ?" -#: faq/programming.rst:1156 +#: faq/programming.rst:1157 msgid "See the Python Cookbook for a long discussion of many ways to do this:" msgstr "" "Lisez le « livre de recettes » Python pour trouver une longue discussion sur " "les nombreuses approches possibles :" -#: faq/programming.rst:1158 +#: faq/programming.rst:1159 msgid "https://code.activestate.com/recipes/52560/" msgstr "https://code.activestate.com/recipes/52560/" -#: faq/programming.rst:1160 +#: faq/programming.rst:1161 msgid "" "If you don't mind reordering the list, sort it and then scan from the end of " "the list, deleting duplicates as you go::" @@ -1829,7 +1840,7 @@ msgstr "" "celle-ci, puis parcourez-la d'un bout à l'autre, en supprimant les doublons " "trouvés en chemin ::" -#: faq/programming.rst:1172 +#: faq/programming.rst:1173 msgid "" "If all elements of the list may be used as set keys (i.e. they are all :term:" "`hashable`) this is often faster ::" @@ -1838,7 +1849,7 @@ msgstr "" "dictionnaire (c'est-à-dire, qu'elles sont toutes :term:`hachables " "`) ceci est souvent plus rapide ::" -#: faq/programming.rst:1177 +#: faq/programming.rst:1178 msgid "" "This converts the list into a set, thereby removing duplicates, and then " "back into a list." @@ -1846,11 +1857,11 @@ msgstr "" "Ceci convertit la liste en un ensemble, ce qui supprime automatiquement les " "doublons, puis la transforme à nouveau en liste." -#: faq/programming.rst:1182 +#: faq/programming.rst:1183 msgid "How do you remove multiple items from a list" msgstr "Comment retirer les doublons d'une liste" -#: faq/programming.rst:1184 +#: faq/programming.rst:1185 msgid "" "As with removing duplicates, explicitly iterating in reverse with a delete " "condition is one possibility. However, it is easier and faster to use slice " @@ -1862,19 +1873,19 @@ msgstr "" "plus rapide d’utiliser le remplacement des tranches par une itération avant, " "implicite ou explicite. Voici trois variantes. ::" -#: faq/programming.rst:1193 +#: faq/programming.rst:1194 msgid "The list comprehension may be fastest." msgstr "La liste en compréhension est peut-être la plus rapide ::" -#: faq/programming.rst:1197 +#: faq/programming.rst:1198 msgid "How do you make an array in Python?" msgstr "Comment construire un tableau en Python ?" -#: faq/programming.rst:1199 +#: faq/programming.rst:1200 msgid "Use a list::" msgstr "Utilisez une liste ::" -#: faq/programming.rst:1203 +#: faq/programming.rst:1204 msgid "" "Lists are equivalent to C or Pascal arrays in their time complexity; the " "primary difference is that a Python list can contain objects of many " @@ -1884,7 +1895,7 @@ msgstr "" "principale différence est qu'une liste Python peut contenir des objets de " "différents types." -#: faq/programming.rst:1206 +#: faq/programming.rst:1207 msgid "" "The ``array`` module also provides methods for creating arrays of fixed " "types with compact representations, but they are slower to index than " @@ -1896,14 +1907,14 @@ msgstr "" "que les listes. Notez aussi que NumPy (et d'autres) fournissent différentes " "structures de type tableaux, avec des caractéristiques différentes." -#: faq/programming.rst:1211 +#: faq/programming.rst:1212 msgid "" "To get Lisp-style linked lists, you can emulate cons cells using tuples::" msgstr "" "Pour obtenir des listes chaînées à la sauce Lisp, vous pouvez émuler les " "*cons cells* en utilisant des *n*-uplets ::" -#: faq/programming.rst:1215 +#: faq/programming.rst:1216 msgid "" "If mutability is desired, you could use lists instead of tuples. Here the " "analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is " @@ -1916,27 +1927,27 @@ msgstr "" "ceci que si vous êtes réellement sûr d'en avoir besoin, cette méthode est en " "général bien plus lente que les listes Python." -#: faq/programming.rst:1224 +#: faq/programming.rst:1225 msgid "How do I create a multidimensional list?" msgstr "Comment créer une liste à plusieurs dimensions ?" -#: faq/programming.rst:1226 +#: faq/programming.rst:1227 msgid "You probably tried to make a multidimensional array like this::" msgstr "" "Vous avez probablement essayé de créer une liste à plusieurs dimensions de " "cette façon ::" -#: faq/programming.rst:1230 +#: faq/programming.rst:1231 msgid "This looks correct if you print it:" msgstr "Elle semble correcte si on l'affiche :" -#: faq/programming.rst:1241 +#: faq/programming.rst:1242 msgid "But when you assign a value, it shows up in multiple places:" msgstr "" "Mais quand vous affectez une valeur, celle-ci apparaît à plusieurs " "endroits ::" -#: faq/programming.rst:1253 +#: faq/programming.rst:1254 msgid "" "The reason is that replicating a list with ``*`` doesn't create copies, it " "only creates references to the existing objects. The ``*3`` creates a list " @@ -1949,7 +1960,7 @@ msgstr "" "dans une colonne apparaîtra donc dans toutes les colonnes, ce qui n'est très " "probablement pas ce que vous souhaitiez." -#: faq/programming.rst:1258 +#: faq/programming.rst:1259 msgid "" "The suggested approach is to create a list of the desired length first and " "then fill in each element with a newly created list::" @@ -1957,7 +1968,7 @@ msgstr "" "L'approche suggérée est d'abord de créer une liste de la longueur désirée, " "puis de remplir tous les éléments avec une nouvelle chaîne ::" -#: faq/programming.rst:1265 +#: faq/programming.rst:1266 msgid "" "This generates a list containing 3 different lists of length two. You can " "also use a list comprehension::" @@ -1966,30 +1977,31 @@ msgstr "" "longueur deux. Vous pouvez aussi utiliser la syntaxe des listes en " "compréhension ::" -#: faq/programming.rst:1271 +#: faq/programming.rst:1272 +#, fuzzy msgid "" -"Or, you can use an extension that provides a matrix datatype; `NumPy `_ is the best known." +"Or, you can use an extension that provides a matrix datatype; `NumPy " +"`_ is the best known." msgstr "" "Vous pouvez aussi utiliser une extension qui fournit un type matriciel " "natif ; `NumPy `_ est la plus répandue." -#: faq/programming.rst:1276 +#: faq/programming.rst:1277 msgid "How do I apply a method to a sequence of objects?" msgstr "Comment appliquer une méthode à une séquence d'objets ?" -#: faq/programming.rst:1278 +#: faq/programming.rst:1279 msgid "Use a list comprehension::" msgstr "Utilisez une liste en compréhension ::" -#: faq/programming.rst:1285 +#: faq/programming.rst:1286 msgid "" "Why does a_tuple[i] += ['item'] raise an exception when the addition works?" msgstr "" "Pourquoi ``a_tuple[i] += ['item']`` lève-t-il une exception alors que " "l'addition fonctionne ?" -#: faq/programming.rst:1287 +#: faq/programming.rst:1288 msgid "" "This is because of a combination of the fact that augmented assignment " "operators are *assignment* operators, and the difference between mutable and " @@ -1999,7 +2011,7 @@ msgstr "" "d'affectation incrémentaux sont des opérateurs d'*affectation* et à la " "différence entre les objets muables et immuables en Python." -#: faq/programming.rst:1291 +#: faq/programming.rst:1292 msgid "" "This discussion applies in general when augmented assignment operators are " "applied to elements of a tuple that point to mutable objects, but we'll use " @@ -2009,11 +2021,11 @@ msgstr "" "incrémentale sont appliqués aux éléments d'un *n*-uplet qui pointe sur des " "objets muables, mais on prendra ``list`` et ``+=`` comme exemple." -#: faq/programming.rst:1295 +#: faq/programming.rst:1296 msgid "If you wrote::" msgstr "Si vous écrivez ::" -#: faq/programming.rst:1303 +#: faq/programming.rst:1304 msgid "" "The reason for the exception should be immediately clear: ``1`` is added to " "the object ``a_tuple[0]`` points to (``1``), producing the result object, " @@ -2027,7 +2039,7 @@ msgstr "" "l'élément ``0`` du *n*-uplet, on obtient une erreur car il est impossible de " "modifier la cible sur laquelle pointe un élément d'un *n*-uplet." -#: faq/programming.rst:1309 +#: faq/programming.rst:1310 msgid "" "Under the covers, what this augmented assignment statement is doing is " "approximately this::" @@ -2035,7 +2047,7 @@ msgstr "" "Sous le capot, une instruction d'affectation incrémentale fait à peu près " "ceci ::" -#: faq/programming.rst:1318 +#: faq/programming.rst:1319 msgid "" "It is the assignment part of the operation that produces the error, since a " "tuple is immutable." @@ -2043,11 +2055,11 @@ msgstr "" "C'est la partie de l'affectation de l'opération qui génère l'erreur, vu " "qu'un *n*-uplet est immuable." -#: faq/programming.rst:1321 +#: faq/programming.rst:1322 msgid "When you write something like::" msgstr "Quand vous écrivez un code du style ::" -#: faq/programming.rst:1329 +#: faq/programming.rst:1330 msgid "" "The exception is a bit more surprising, and even more surprising is the fact " "that even though there was an error, the append worked::" @@ -2055,7 +2067,7 @@ msgstr "" "L'exception est un peu plus surprenante et, chose encore plus étrange, " "malgré l'erreur, l'ajout a fonctionné ::" -#: faq/programming.rst:1335 +#: faq/programming.rst:1336 msgid "" "To see why this happens, you need to know that (a) if an object implements " "an ``__iadd__`` magic method, it gets called when the ``+=`` augmented " @@ -2072,11 +2084,11 @@ msgstr "" "renvoyer celle-ci. C'est pour cette raison que l'on dit que pour les listes, " "``+=`` est un \"raccourci\" pour ``list.extend`` ::" -#: faq/programming.rst:1347 +#: faq/programming.rst:1348 msgid "This is equivalent to::" msgstr "C’est équivalent à ::" -#: faq/programming.rst:1352 +#: faq/programming.rst:1353 msgid "" "The object pointed to by a_list has been mutated, and the pointer to the " "mutated object is assigned back to ``a_list``. The end result of the " @@ -2088,13 +2100,13 @@ msgstr "" "change rien, puisque c'est un pointeur vers le même objet que sur lequel " "pointait ``a_list``, mais l'affectation a tout de même lieu." -#: faq/programming.rst:1357 +#: faq/programming.rst:1358 msgid "Thus, in our tuple example what is happening is equivalent to::" msgstr "" "Donc, dans notre exemple avec un *n*-uplet, il se passe quelque chose " "équivalent à ::" -#: faq/programming.rst:1365 +#: faq/programming.rst:1366 msgid "" "The ``__iadd__`` succeeds, and thus the list is extended, but even though " "``result`` points to the same object that ``a_tuple[0]`` already points to, " @@ -2105,7 +2117,7 @@ msgstr "" "``result`` pointe sur le même objet que ``a_tuple[0]``, l'affectation finale " "échoue car les *n*-uplets ne sont pas muables." -#: faq/programming.rst:1371 +#: faq/programming.rst:1372 msgid "" "I want to do a complicated sort: can you do a Schwartzian Transform in " "Python?" @@ -2113,7 +2125,7 @@ msgstr "" "Je souhaite faire un classement compliqué : peut-on faire une transformation " "de Schwartz en Python ?" -#: faq/programming.rst:1373 +#: faq/programming.rst:1374 msgid "" "The technique, attributed to Randal Schwartz of the Perl community, sorts " "the elements of a list by a metric which maps each element to its \"sort " @@ -2125,11 +2137,11 @@ msgstr "" "chaque élément à sa \"valeur de tri\". En Python, ceci est géré par " "l'argument ``key`` de la méthode :meth:`list.sort` ::" -#: faq/programming.rst:1382 +#: faq/programming.rst:1383 msgid "How can I sort one list by values from another list?" msgstr "Comment ordonner une liste en fonction des valeurs d'une autre liste ?" -#: faq/programming.rst:1384 +#: faq/programming.rst:1385 msgid "" "Merge them into an iterator of tuples, sort the resulting list, and then " "pick out the element you want. ::" @@ -2137,15 +2149,15 @@ msgstr "" "Fusionnez-les dans un itérateur de *n*-uplets, ordonnez la liste obtenue, " "puis choisissez l'élément que vous voulez ::" -#: faq/programming.rst:1399 +#: faq/programming.rst:1400 msgid "Objects" msgstr "Objets" -#: faq/programming.rst:1402 +#: faq/programming.rst:1403 msgid "What is a class?" msgstr "Qu'est-ce qu'une classe ?" -#: faq/programming.rst:1404 +#: faq/programming.rst:1405 msgid "" "A class is the particular object type created by executing a class " "statement. Class objects are used as templates to create instance objects, " @@ -2157,7 +2169,7 @@ msgstr "" "créer des objets, qui incarnent à la fois les données (attributs) et le code " "(méthodes) spécifiques à un type de données." -#: faq/programming.rst:1408 +#: faq/programming.rst:1409 msgid "" "A class can be based on one or more other classes, called its base " "class(es). It then inherits the attributes and methods of its base classes. " @@ -2175,11 +2187,11 @@ msgstr "" "``MaildirMailbox``, ``OutlookMailbox`` qui gèrent les plusieurs formats " "spécifiques de boîtes aux lettres." -#: faq/programming.rst:1417 +#: faq/programming.rst:1418 msgid "What is a method?" msgstr "Qu'est-ce qu'une méthode ?" -#: faq/programming.rst:1419 +#: faq/programming.rst:1420 msgid "" "A method is a function on some object ``x`` that you normally call as ``x." "name(arguments...)``. Methods are defined as functions inside the class " @@ -2189,11 +2201,11 @@ msgstr "" "générale sous la forme ``x.name(arguments…)``. Les méthodes sont définies " "comme des fonctions à l'intérieur de la définition de classe ::" -#: faq/programming.rst:1429 +#: faq/programming.rst:1430 msgid "What is self?" msgstr "Qu'est-ce que self ?" -#: faq/programming.rst:1431 +#: faq/programming.rst:1432 msgid "" "Self is merely a conventional name for the first argument of a method. A " "method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b, " @@ -2206,11 +2218,11 @@ msgstr "" "est définie ; tout se passe comme si la méthode était appelée comme " "``meth(x, a, b, c)``." -#: faq/programming.rst:1436 +#: faq/programming.rst:1437 msgid "See also :ref:`why-self`." msgstr "Voir aussi :ref:`why-self`." -#: faq/programming.rst:1440 +#: faq/programming.rst:1441 msgid "" "How do I check if an object is an instance of a given class or of a subclass " "of it?" @@ -2218,7 +2230,7 @@ msgstr "" "Comment vérifier si un objet est une instance d'une classe donnée ou d'une " "sous-classe de celle-ci ?" -#: faq/programming.rst:1442 +#: faq/programming.rst:1443 msgid "" "Use the built-in function ``isinstance(obj, cls)``. You can check if an " "object is an instance of any of a number of classes by providing a tuple " @@ -2233,7 +2245,7 @@ msgstr "" "l'un des types natifs de Python, par exemple ``isinstance(obj, str)`` ou " "``isinstance(obj, (int, float, complex))``." -#: faq/programming.rst:1448 +#: faq/programming.rst:1449 msgid "" "Note that :func:`isinstance` also checks for virtual inheritance from an :" "term:`abstract base class`. So, the test will return ``True`` for a " @@ -2247,7 +2259,7 @@ msgstr "" "fille de B. Pour vérifier l'héritage dans le sens plus restreint, parcourez " "l'\\ :term:`ordre de résolution des méthodes ` de la classe :" -#: faq/programming.rst:1483 +#: faq/programming.rst:1484 msgid "" "Note that most programs do not use :func:`isinstance` on user-defined " "classes very often. If you are developing the classes yourself, a more " @@ -2263,7 +2275,7 @@ msgstr "" "plutôt que de vérifier la classe de l'objet et de faire un traitement ad-" "hoc. Par exemple, si vous avez une fonction qui fait quelque chose ::" -#: faq/programming.rst:1497 +#: faq/programming.rst:1498 msgid "" "A better approach is to define a ``search()`` method on all the classes and " "just call it::" @@ -2271,11 +2283,11 @@ msgstr "" "Une meilleure approche est de définir une méthode ``search()`` dans toutes " "les classes et qu'il suffit d'appeler de la manière suivante ::" -#: faq/programming.rst:1512 +#: faq/programming.rst:1513 msgid "What is delegation?" msgstr "Qu'est-ce que la délégation ?" -#: faq/programming.rst:1514 +#: faq/programming.rst:1515 msgid "" "Delegation is an object oriented technique (also called a design pattern). " "Let's say you have an object ``x`` and want to change the behaviour of just " @@ -2290,7 +2302,7 @@ msgstr "" "dans l'évolution et qui délègue toute autre méthode à la méthode " "correspondante de ``x``." -#: faq/programming.rst:1520 +#: faq/programming.rst:1521 msgid "" "Python programmers can easily implement delegation. For example, the " "following class implements a class that behaves like a file but converts all " @@ -2300,7 +2312,7 @@ msgstr "" "Par exemple, la classe suivante implémente une classe qui se comporte comme " "un fichier, mais convertit toutes les données écrites en majuscules ::" -#: faq/programming.rst:1535 +#: faq/programming.rst:1536 msgid "" "Here the ``UpperOut`` class redefines the ``write()`` method to convert the " "argument string to uppercase before calling the underlying ``self._outfile." @@ -2317,7 +2329,7 @@ msgstr "" "` pour plus d'informations sur la personnalisation de " "l’accès aux attributs." -#: faq/programming.rst:1542 +#: faq/programming.rst:1543 msgid "" "Note that for more general cases delegation can get trickier. When " "attributes must be set as well as retrieved, the class must define a :meth:" @@ -2331,7 +2343,7 @@ msgstr "" "et il doit le faire avec soin. La mise en œuvre basique de la méthode :meth:" "`__setattr__` est à peu près équivalent à ce qui suit ::" -#: faq/programming.rst:1553 +#: faq/programming.rst:1554 msgid "" "Most :meth:`__setattr__` implementations must modify ``self.__dict__`` to " "store local state for self without causing an infinite recursion." @@ -2340,7 +2352,7 @@ msgstr "" "``self.__dict__`` pour stocker l'état local de self sans provoquer une " "récursion infinie." -#: faq/programming.rst:1558 +#: faq/programming.rst:1559 msgid "" "How do I call a method defined in a base class from a derived class that " "extends it?" @@ -2348,11 +2360,11 @@ msgstr "" "Comment appeler une méthode définie dans une classe de base depuis une " "classe dérivée qui la surcharge ?" -#: faq/programming.rst:1560 +#: faq/programming.rst:1561 msgid "Use the built-in :func:`super` function::" msgstr "Utilisez la fonction native :func:`super` ::" -#: faq/programming.rst:1566 +#: faq/programming.rst:1567 msgid "" "In the example, :func:`super` will automatically determine the instance from " "which it was called (the ``self`` value), look up the :term:`method " @@ -2365,13 +2377,13 @@ msgstr "" "__mro__``, et renvoie la classe qui suit ``Derived`` dans cet ordre, donc " "``Base``." -#: faq/programming.rst:1573 +#: faq/programming.rst:1574 msgid "How can I organize my code to make it easier to change the base class?" msgstr "" "Comment organiser un code pour permettre de changer la classe de base plus " "facilement ?" -#: faq/programming.rst:1575 +#: faq/programming.rst:1576 msgid "" "You could assign the base class to an alias and derive from the alias. Then " "all you have to change is the value assigned to the alias. Incidentally, " @@ -2384,13 +2396,13 @@ msgstr "" "dynamiquement (par exemple en fonction de la disponibilité de certaines " "ressources) la classe de base à utiliser. Exemple ::" -#: faq/programming.rst:1590 +#: faq/programming.rst:1591 msgid "How do I create static class data and static class methods?" msgstr "" "Comment créer des données statiques de classe et des méthodes statiques de " "classe ?" -#: faq/programming.rst:1592 +#: faq/programming.rst:1593 msgid "" "Both static data and static methods (in the sense of C++ or Java) are " "supported in Python." @@ -2398,7 +2410,7 @@ msgstr "" "Les données statiques et les méthodes statiques (au sens C++ ou Java) sont " "prises en charge en Python." -#: faq/programming.rst:1595 +#: faq/programming.rst:1596 msgid "" "For static data, simply define a class attribute. To assign a new value to " "the attribute, you have to explicitly use the class name in the assignment::" @@ -2407,7 +2419,7 @@ msgstr "" "attribuer une nouvelle valeur à l'attribut, vous devez explicitement " "utiliser le nom de classe dans l'affectation ::" -#: faq/programming.rst:1607 +#: faq/programming.rst:1608 msgid "" "``c.count`` also refers to ``C.count`` for any ``c`` such that " "``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " @@ -2418,7 +2430,7 @@ msgstr "" "une classe sur le chemin de recherche de classe de base de ``c.__class__`` " "jusqu'à ``C``." -#: faq/programming.rst:1611 +#: faq/programming.rst:1612 msgid "" "Caution: within a method of C, an assignment like ``self.count = 42`` " "creates a new and unrelated instance named \"count\" in ``self``'s own " @@ -2431,11 +2443,11 @@ msgstr "" "de classe doit toujours spécifier la classe, que l'on soit à l'intérieur " "d'une méthode ou non ::" -#: faq/programming.rst:1618 +#: faq/programming.rst:1619 msgid "Static methods are possible::" msgstr "Il est possible d'utiliser des méthodes statiques ::" -#: faq/programming.rst:1626 +#: faq/programming.rst:1627 msgid "" "However, a far more straightforward way to get the effect of a static method " "is via a simple module-level function::" @@ -2443,7 +2455,7 @@ msgstr "" "Cependant, d'une manière beaucoup plus simple pour obtenir l'effet d'une " "méthode statique se fait par une simple fonction au niveau du module ::" -#: faq/programming.rst:1632 +#: faq/programming.rst:1633 msgid "" "If your code is structured so as to define one class (or tightly related " "class hierarchy) per module, this supplies the desired encapsulation." @@ -2452,11 +2464,11 @@ msgstr "" "hiérarchie des classes connexes) par module, ceci fournira l'encapsulation " "souhaitée." -#: faq/programming.rst:1637 +#: faq/programming.rst:1638 msgid "How can I overload constructors (or methods) in Python?" msgstr "Comment surcharger les constructeurs (ou méthodes) en Python ?" -#: faq/programming.rst:1639 +#: faq/programming.rst:1640 msgid "" "This answer actually applies to all methods, but the question usually comes " "up first in the context of constructors." @@ -2464,11 +2476,11 @@ msgstr "" "Cette réponse s'applique en fait à toutes les méthodes, mais la question se " "pose généralement dans le contexte des constructeurs." -#: faq/programming.rst:1642 +#: faq/programming.rst:1643 msgid "In C++ you'd write" msgstr "En C++, on écrirait" -#: faq/programming.rst:1651 +#: faq/programming.rst:1652 msgid "" "In Python you have to write a single constructor that catches all cases " "using default arguments. For example::" @@ -2476,29 +2488,29 @@ msgstr "" "En Python, vous devez écrire un constructeur unique qui considère tous les " "cas en utilisant des arguments par défaut. Par exemple ::" -#: faq/programming.rst:1661 +#: faq/programming.rst:1662 msgid "This is not entirely equivalent, but close enough in practice." msgstr "" "Ce n'est pas tout à fait équivalent, mais suffisamment proche dans la " "pratique." -#: faq/programming.rst:1663 +#: faq/programming.rst:1664 msgid "You could also try a variable-length argument list, e.g. ::" msgstr "" "Vous pouvez aussi utiliser une liste d'arguments de longueur variable, par " "exemple ::" -#: faq/programming.rst:1668 +#: faq/programming.rst:1669 msgid "The same approach works for all method definitions." msgstr "La même approche fonctionne pour toutes les définitions de méthode." -#: faq/programming.rst:1672 +#: faq/programming.rst:1673 msgid "I try to use __spam and I get an error about _SomeClassName__spam." msgstr "" "J'essaie d'utiliser ``__spam`` et j'obtiens une erreur à propos de " "``_SomeClassName__spam``." -#: faq/programming.rst:1674 +#: faq/programming.rst:1675 msgid "" "Variable names with double leading underscores are \"mangled\" to provide a " "simple but effective way to define class private variables. Any identifier " @@ -2514,7 +2526,7 @@ msgstr "" "remplacé par ``_classname__spam``, où ``classname`` est le nom de la classe " "en cours sans les éventuels tirets bas du début." -#: faq/programming.rst:1680 +#: faq/programming.rst:1681 msgid "" "This doesn't guarantee privacy: an outside user can still deliberately " "access the \"_classname__spam\" attribute, and private values are visible in " @@ -2526,17 +2538,17 @@ msgstr "" "privées sont visibles dans l'objet ``__dict__``. De nombreux programmeurs " "Python ne prennent jamais la peine d'utiliser des noms de variable privés." -#: faq/programming.rst:1687 +#: faq/programming.rst:1688 msgid "My class defines __del__ but it is not called when I delete the object." msgstr "" "Ma classe définit ``__del__`` mais elle n'est pas appelée lorsque je " "supprime l'objet." -#: faq/programming.rst:1689 +#: faq/programming.rst:1690 msgid "There are several possible reasons for this." msgstr "Il y a plusieurs explications possibles." -#: faq/programming.rst:1691 +#: faq/programming.rst:1692 msgid "" "The del statement does not necessarily call :meth:`__del__` -- it simply " "decrements the object's reference count, and if this reaches zero :meth:" @@ -2546,7 +2558,7 @@ msgstr "" "simplement le compteur de références de l'objet et, si celui-ci arrive à " "zéro, :meth:`__del__` est appelée." -#: faq/programming.rst:1695 +#: faq/programming.rst:1696 msgid "" "If your data structures contain circular links (e.g. a tree where each child " "has a parent reference and each parent has a list of children) the reference " @@ -2572,7 +2584,7 @@ msgstr "" "miettes avec la fonction :func:`gc.collect`, mais il existe certains cas où " "les objets ne seront jamais nettoyés." -#: faq/programming.rst:1706 +#: faq/programming.rst:1707 msgid "" "Despite the cycle collector, it's still a good idea to define an explicit " "``close()`` method on objects to be called whenever you're done with them. " @@ -2589,7 +2601,7 @@ msgstr "" "`__del__` devrait appeler la méthode ``close()`` et ``close()`` doit pouvoir " "être appelée plusieurs fois sur le même objet." -#: faq/programming.rst:1713 +#: faq/programming.rst:1714 msgid "" "Another way to avoid cyclical references is to use the :mod:`weakref` " "module, which allows you to point to objects without incrementing their " @@ -2602,7 +2614,7 @@ msgstr "" "d'arbres devraient utiliser des références faibles entre pères et fils (si " "nécessaire !)." -#: faq/programming.rst:1726 +#: faq/programming.rst:1727 msgid "" "Finally, if your :meth:`__del__` method raises an exception, a warning " "message is printed to :data:`sys.stderr`." @@ -2610,11 +2622,11 @@ msgstr "" "Enfin, si la méthode :meth:`__del__` lève une exception, un message " "d'avertissement s'affiche dans :data:`sys.stderr`." -#: faq/programming.rst:1731 +#: faq/programming.rst:1732 msgid "How do I get a list of all instances of a given class?" msgstr "Comment obtenir toutes les instances d'une classe ?" -#: faq/programming.rst:1733 +#: faq/programming.rst:1734 msgid "" "Python does not keep track of all instances of a class (or of a built-in " "type). You can program the class's constructor to keep track of all " @@ -2625,13 +2637,13 @@ msgstr "" "constructeur de la classe de façon à tenir un tel registre, en maintenant " "une liste de références faibles vers chaque instance." -#: faq/programming.rst:1739 +#: faq/programming.rst:1740 msgid "Why does the result of ``id()`` appear to be not unique?" msgstr "" "Pourquoi le résultat de ``id()`` peut-il être le même pour deux objets " "différents ?" -#: faq/programming.rst:1741 +#: faq/programming.rst:1742 msgid "" "The :func:`id` builtin returns an integer that is guaranteed to be unique " "during the lifetime of the object. Since in CPython, this is the object's " @@ -2645,7 +2657,7 @@ msgstr "" "à une adresse mémoire identique à celle d'un objet venant d'être supprimé. " "Comme l'illustre le code suivant :" -#: faq/programming.rst:1752 +#: faq/programming.rst:1753 msgid "" "The two ids belong to different integer objects that are created before, and " "deleted immediately after execution of the ``id()`` call. To be sure that " @@ -2657,11 +2669,11 @@ msgstr "" "objets dont on veut examiner les identifiants sont toujours en vie, créons " "une nouvelle référence à l'objet :" -#: faq/programming.rst:1765 +#: faq/programming.rst:1766 msgid "When can I rely on identity tests with the *is* operator?" msgstr "Quand puis-je raisonnablement utiliser le test d'identité *is* ?" -#: faq/programming.rst:1767 +#: faq/programming.rst:1768 msgid "" "The ``is`` operator tests for object identity. The test ``a is b`` is " "equivalent to ``id(a) == id(b)``." @@ -2669,7 +2681,7 @@ msgstr "" "L'opérateur ``is`` détermine si deux objets sont identiques, c'est-à-dire le " "même objet. Le test ``a is b`` est équivalent à ``id(a) == id(b)``." -#: faq/programming.rst:1770 +#: faq/programming.rst:1771 msgid "" "The most important property of an identity test is that an object is always " "identical to itself, ``a is a`` always returns ``True``. Identity tests are " @@ -2682,7 +2694,7 @@ msgstr "" "qu'un test d'égalité. De plus, contrairement à l'opérateur ``==``, " "l'opérateur ``is`` renvoie toujours un booléen, ``True`` ou ``False``." -#: faq/programming.rst:1775 +#: faq/programming.rst:1776 msgid "" "However, identity tests can *only* be substituted for equality tests when " "object identity is assured. Generally, there are three circumstances where " @@ -2692,7 +2704,7 @@ msgstr "" "si l'identité est garantie. C'est le cas dans les trois situations " "suivantes :" -#: faq/programming.rst:1779 +#: faq/programming.rst:1780 msgid "" "1) Assignments create new names but do not change object identity. After " "the assignment ``new = old``, it is guaranteed that ``new is old``." @@ -2701,7 +2713,7 @@ msgstr "" "objets. Après l'affectation ``nouveau = ancien``, ``nouveau is ancien`` vaut " "toujours ``True``." -#: faq/programming.rst:1782 +#: faq/programming.rst:1783 msgid "" "2) Putting an object in a container that stores object references does not " "change object identity. After the list assignment ``s[0] = x``, it is " @@ -2712,7 +2724,7 @@ msgstr "" "de *x* à l'indice 0, ``s[0] = x``, le test ``s[0] is x`` s'évalue forcément " "à ``True``." -#: faq/programming.rst:1786 +#: faq/programming.rst:1787 msgid "" "3) If an object is a singleton, it means that only one instance of that " "object can exist. After the assignments ``a = None`` and ``b = None``, it " @@ -2722,7 +2734,7 @@ msgstr "" "Après les affectations ``a = None`` et ``b = None``, on a forcément ``a is " "b``, puisque ``None`` est un singleton." -#: faq/programming.rst:1790 +#: faq/programming.rst:1791 msgid "" "In most other circumstances, identity tests are inadvisable and equality " "tests are preferred. In particular, identity tests should not be used to " @@ -2735,13 +2747,13 @@ msgstr "" "chaînes de caractères (type :class:`str`) car ces valeurs ne sont pas " "nécessairement des singletons ::" -#: faq/programming.rst:1807 +#: faq/programming.rst:1808 msgid "Likewise, new instances of mutable containers are never identical::" msgstr "" "De même, deux instances fraîchement créées d'un type de conteneurs muables " "ne sont jamais identiques ::" -#: faq/programming.rst:1814 +#: faq/programming.rst:1815 msgid "" "In the standard library code, you will see several common patterns for " "correctly using identity tests:" @@ -2750,7 +2762,7 @@ msgstr "" "utiliser correctement les tests d'identité dans certaines situations " "particulières :" -#: faq/programming.rst:1817 +#: faq/programming.rst:1818 msgid "" "1) As recommended by :pep:`8`, an identity test is the preferred way to " "check for ``None``. This reads like plain English in code and avoids " @@ -2762,7 +2774,7 @@ msgstr "" "None``, ``x is not None``), et cela évite des surprises avec les objets dont " "la valeur booléenne est ``False``." -#: faq/programming.rst:1821 +#: faq/programming.rst:1822 msgid "" "2) Detecting optional arguments can be tricky when ``None`` is a valid input " "value. In those situations, you can create a singleton sentinel object " @@ -2775,7 +2787,7 @@ msgstr "" "« sentinelle », distinct de toute valeur acceptable. Voici par exemple " "comment écrire une méthode qui émule :meth:`dict.pop` :" -#: faq/programming.rst:1837 +#: faq/programming.rst:1838 msgid "" "3) Container implementations sometimes need to augment equality tests with " "identity tests. This prevents the code from being confused by objects such " @@ -2786,7 +2798,7 @@ msgstr "" "souhaité avec les objets comme ``float('NaN')`` qui ne sont pas égaux à eux-" "mêmes." -#: faq/programming.rst:1841 +#: faq/programming.rst:1842 msgid "" "For example, here is the implementation of :meth:`collections.abc.Sequence." "__contains__`::" @@ -2794,13 +2806,13 @@ msgstr "" "Par exemple, l'implémentation de :meth:`collections.abc.Sequence." "__contains__` est ::" -#: faq/programming.rst:1852 +#: faq/programming.rst:1853 msgid "" "How can a subclass control what data is stored in an immutable instance?" msgstr "" "Comment définir dans une classe fille les attributs d'une instance immuable ?" -#: faq/programming.rst:1854 +#: faq/programming.rst:1855 msgid "" "When subclassing an immutable type, override the :meth:`__new__` method " "instead of the :meth:`__init__` method. The latter only runs *after* an " @@ -2813,7 +2825,7 @@ msgstr "" "l'instance soit créée, donc il y est trop tard pour modifier le contenu " "d'une instance si elle est immuable." -#: faq/programming.rst:1859 +#: faq/programming.rst:1860 msgid "" "All of these immutable classes have a different signature than their parent " "class:" @@ -2821,15 +2833,15 @@ msgstr "" "Toutes les classes d'objets immuables suivantes ont des signatures de " "constructeur différentes de leur classe mère :" -#: faq/programming.rst:1885 +#: faq/programming.rst:1886 msgid "The classes can be used like this:" msgstr "Ces classes s'utilisent comme ceci :" -#: faq/programming.rst:1900 +#: faq/programming.rst:1901 msgid "How do I cache method calls?" msgstr "Comment mettre en cache le résultat d'une méthode ?" -#: faq/programming.rst:1902 +#: faq/programming.rst:1903 msgid "" "The two principal tools for caching methods are :func:`functools." "cached_property` and :func:`functools.lru_cache`. The former stores results " @@ -2840,7 +2852,7 @@ msgstr "" "valeurs au niveau de l'instance, et :func:`functools.lru_cache`, qui le fait " "au niveau de la classe." -#: faq/programming.rst:1907 +#: faq/programming.rst:1908 msgid "" "The *cached_property* approach only works with methods that do not take any " "arguments. It does not create a reference to the instance. The cached " @@ -2850,7 +2862,7 @@ msgstr "" "argument. Elle n'induit aucune référence vers l'instance. Le cache est " "simplement conservé aussi longtemps que l'instance elle-même." -#: faq/programming.rst:1911 +#: faq/programming.rst:1912 msgid "" "The advantage is that when an instance is no longer used, the cached method " "result will be released right away. The disadvantage is that if instances " @@ -2861,7 +2873,7 @@ msgstr "" "détruite. L'inconvénient est que les caches peuvent s'accumuler avec les " "instances, sans limite de nombre." -#: faq/programming.rst:1916 +#: faq/programming.rst:1917 msgid "" "The *lru_cache* approach works with methods that have hashable arguments. " "It creates a reference to the instance unless special efforts are made to " @@ -2871,7 +2883,7 @@ msgstr "" "arguments sont hachables. Elle crée une référence forte à l'instance, sauf à " "passer par des circonvolutions pour que la référence soit faible." -#: faq/programming.rst:1920 +#: faq/programming.rst:1921 msgid "" "The advantage of the least recently used algorithm is that the cache is " "bounded by the specified *maxsize*. The disadvantage is that instances are " @@ -2885,11 +2897,11 @@ msgstr "" "l'instance hors de portée du ramasse-miettes jusqu'à ce que l'entrée soit " "effacée du cache ou que le cache soit remis à zéro." -#: faq/programming.rst:1925 +#: faq/programming.rst:1926 msgid "This example shows the various techniques::" msgstr "Voici une démonstration des différentes techniques ::" -#: faq/programming.rst:1949 +#: faq/programming.rst:1950 msgid "" "The above example assumes that the *station_id* never changes. If the " "relevant instance attributes are mutable, the *cached_property* approach " @@ -2900,7 +2912,7 @@ msgstr "" "``cached_property`` ne peut pas fonctionner car elle ne peut pas détecter " "les mutations pour invalider le cache." -#: faq/programming.rst:1954 +#: faq/programming.rst:1955 msgid "" "The *lru_cache* approach can be made to work, but the class needs to define " "the *__eq__* and *__hash__* methods so the cache can detect relevant " @@ -2910,15 +2922,15 @@ msgstr "" "méthodes ``__eq__`` et ``__hash__`` pour que le cache soit à même de " "détecter toute modification des attributs ::" -#: faq/programming.rst:1980 +#: faq/programming.rst:1981 msgid "Modules" msgstr "Modules" -#: faq/programming.rst:1983 +#: faq/programming.rst:1984 msgid "How do I create a .pyc file?" msgstr "Comment créer des fichiers ``.pyc`` ?" -#: faq/programming.rst:1985 +#: faq/programming.rst:1986 msgid "" "When a module is imported for the first time (or when the source file has " "changed since the current compiled file was created) a ``.pyc`` file " @@ -2936,7 +2948,7 @@ msgstr "" "centrale qui dépend du binaire ``python`` qui l'a créé (voir la :pep:`3147` " "pour de plus amples précisions)." -#: faq/programming.rst:1993 +#: faq/programming.rst:1994 msgid "" "One reason that a ``.pyc`` file may not be created is a permissions problem " "with the directory containing the source file, meaning that the " @@ -2951,7 +2963,7 @@ msgstr "" "utilisateur, mais que le code est exécuté en tant qu'un autre utilisateur, " "par exemple pour tester un serveur Web." -#: faq/programming.rst:1998 +#: faq/programming.rst:1999 msgid "" "Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " "creation of a .pyc file is automatic if you're importing a module and Python " @@ -2965,7 +2977,7 @@ msgstr "" "dans ce sous-répertoire, à moins que la variable d'environnement :envvar:" "`PYTHONDONTWRITEBYTECODE` soit définie." -#: faq/programming.rst:2003 +#: faq/programming.rst:2004 msgid "" "Running Python on a top level script is not considered an import and no ``." "pyc`` will be created. For example, if you have a top-level module ``foo." @@ -2981,7 +2993,7 @@ msgstr "" "console), un fichier ``.pyc`` est créé pour ``xyz`` mais pas pour ``foo`` " "car ``foo.py`` n'est pas importé." -#: faq/programming.rst:2010 +#: faq/programming.rst:2011 msgid "" "If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a ``." "pyc`` file for a module that is not imported -- you can, using the :mod:" @@ -2991,7 +3003,7 @@ msgstr "" "``.pyc`` pour un module qui n'est pas importé — il existe les modules :mod:" "`py_compile` et :mod:`compileall`." -#: faq/programming.rst:2014 +#: faq/programming.rst:2015 msgid "" "The :mod:`py_compile` module can manually compile any module. One way is to " "use the ``compile()`` function in that module interactively::" @@ -3000,7 +3012,7 @@ msgstr "" "manuellement. Il est ainsi possible d'appeler la fonction ``compile()`` de " "manière interactive ::" -#: faq/programming.rst:2020 +#: faq/programming.rst:2021 msgid "" "This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " "location as ``foo.py`` (or you can override that with the optional parameter " @@ -3010,7 +3022,7 @@ msgstr "" "de ``foo.py`` (le paramètre optionnel ``cfile`` permet de changer ce " "comportement)." -#: faq/programming.rst:2024 +#: faq/programming.rst:2025 msgid "" "You can also automatically compile all files in a directory or directories " "using the :mod:`compileall` module. You can do it from the shell prompt by " @@ -3022,11 +3034,11 @@ msgstr "" "en exécutant ``compileall.py`` avec le chemin du dossier contenant les " "fichiers Python à compiler ::" -#: faq/programming.rst:2033 +#: faq/programming.rst:2034 msgid "How do I find the current module name?" msgstr "Comment obtenir le nom du module actuel ?" -#: faq/programming.rst:2035 +#: faq/programming.rst:2036 msgid "" "A module can find out its own module name by looking at the predefined " "global variable ``__name__``. If this has the value ``'__main__'``, the " @@ -3041,51 +3053,51 @@ msgstr "" "interface en ligne de commande ou un test automatique. Ils n'exécutent cette " "portion du code qu'après avoir vérifié la valeur de ``__name__`` ::" -#: faq/programming.rst:2050 +#: faq/programming.rst:2051 msgid "How can I have modules that mutually import each other?" msgstr "Comment avoir des modules qui s'importent mutuellement ?" -#: faq/programming.rst:2052 +#: faq/programming.rst:2053 msgid "Suppose you have the following modules:" msgstr "Considérons les modules suivants :" -#: faq/programming.rst:2054 +#: faq/programming.rst:2055 msgid ":file:`foo.py`::" msgstr ":file:`foo.py` ::" -#: faq/programming.rst:2059 +#: faq/programming.rst:2060 msgid ":file:`bar.py`::" msgstr ":file:`bar.py` ::" -#: faq/programming.rst:2064 +#: faq/programming.rst:2065 msgid "The problem is that the interpreter will perform the following steps:" msgstr "Le problème réside dans les étapes que l'interpréteur va réaliser :" -#: faq/programming.rst:2066 +#: faq/programming.rst:2067 msgid "main imports ``foo``" msgstr "*main* importe *foo* ;" -#: faq/programming.rst:2067 +#: faq/programming.rst:2068 msgid "Empty globals for ``foo`` are created" msgstr "Les variables globales (vides) de *foo* sont créées ;" -#: faq/programming.rst:2068 +#: faq/programming.rst:2069 msgid "``foo`` is compiled and starts executing" msgstr "*foo* est compilé et commence à s'exécuter ;" -#: faq/programming.rst:2069 +#: faq/programming.rst:2070 msgid "``foo`` imports ``bar``" msgstr "*foo* importe *bar* ;" -#: faq/programming.rst:2070 +#: faq/programming.rst:2071 msgid "Empty globals for ``bar`` are created" msgstr "Les variables globales (vides) de *bar* sont créées ;" -#: faq/programming.rst:2071 +#: faq/programming.rst:2072 msgid "``bar`` is compiled and starts executing" msgstr "*bar* est compilé et commence à s'exécuter ;" -#: faq/programming.rst:2072 +#: faq/programming.rst:2073 msgid "" "``bar`` imports ``foo`` (which is a no-op since there already is a module " "named ``foo``)" @@ -3093,7 +3105,7 @@ msgstr "" "*bar* importe *foo* (en réalité, rien ne passe car il y a déjà un module " "appelé *foo*) ;" -#: faq/programming.rst:2073 +#: faq/programming.rst:2074 msgid "" "The import mechanism tries to read ``foo_var`` from ``foo`` globals, to set " "``bar.foo_var = foo.foo_var``" @@ -3102,7 +3114,7 @@ msgstr "" "globales de *foo* pour procéder à l'affectation ``bar.foo_var = foo." "foo_var``." -#: faq/programming.rst:2075 +#: faq/programming.rst:2076 msgid "" "The last step fails, because Python isn't done with interpreting ``foo`` yet " "and the global symbol dictionary for ``foo`` is still empty." @@ -3110,7 +3122,7 @@ msgstr "" "La dernière étape échoue car Python n'a pas fini d'interpréter ``foo`` et le " "dictionnaire global des symboles de ``foo`` est encore vide." -#: faq/programming.rst:2078 +#: faq/programming.rst:2079 msgid "" "The same thing happens when you use ``import foo``, and then try to access " "``foo.foo_var`` in global code." @@ -3118,11 +3130,11 @@ msgstr "" "Le même phénomène arrive quand on utilise ``import foo``, et qu'on essaye " "ensuite d'accéder à ``foo.foo_var`` dans le code global." -#: faq/programming.rst:2081 +#: faq/programming.rst:2082 msgid "There are (at least) three possible workarounds for this problem." msgstr "Il y a (au moins) trois façons de contourner ce problème." -#: faq/programming.rst:2083 +#: faq/programming.rst:2084 msgid "" "Guido van Rossum recommends avoiding all uses of ``from import ..." "``, and placing all code inside functions. Initializations of global " @@ -3136,14 +3148,14 @@ msgstr "" "des fonctions natives. Ceci implique que tout ce qui est fourni par un " "module soit référencé par ``.``." -#: faq/programming.rst:2088 +#: faq/programming.rst:2089 msgid "" "Jim Roskind suggests performing steps in the following order in each module:" msgstr "" "Jim Roskind recommande d'effectuer les étapes suivantes dans cet ordre dans " "chaque module :" -#: faq/programming.rst:2090 +#: faq/programming.rst:2091 msgid "" "exports (globals, functions, and classes that don't need imported base " "classes)" @@ -3151,18 +3163,18 @@ msgstr "" "les exportations (variables globales, fonctions et les classes qui ne " "nécessitent d'importer des classes de base)" -#: faq/programming.rst:2092 +#: faq/programming.rst:2093 msgid "``import`` statements" msgstr "les instructions ``import``" -#: faq/programming.rst:2093 +#: faq/programming.rst:2094 msgid "" "active code (including globals that are initialized from imported values)." msgstr "" "le code (avec les variables globales qui sont initialisées à partir de " "valeurs importées)." -#: faq/programming.rst:2095 +#: faq/programming.rst:2096 msgid "" "Van Rossum doesn't like this approach much because the imports appear in a " "strange place, but it does work." @@ -3170,7 +3182,7 @@ msgstr "" "van Rossum désapprouve cette approche car les importations se trouvent à un " "endroit bizarre, mais cela fonctionne." -#: faq/programming.rst:2098 +#: faq/programming.rst:2099 msgid "" "Matthias Urlichs recommends restructuring your code so that the recursive " "import is not necessary in the first place." @@ -3178,16 +3190,16 @@ msgstr "" "Matthias Urlichs conseille de restructurer le code pour éviter les " "importations récursives." -#: faq/programming.rst:2101 +#: faq/programming.rst:2102 msgid "These solutions are not mutually exclusive." msgstr "Ces solutions peuvent être combinées." -#: faq/programming.rst:2105 +#: faq/programming.rst:2106 msgid "__import__('x.y.z') returns ; how do I get z?" msgstr "" "``__import__('x.y.z')`` renvoie ```` ; comment accéder à ``z`` ?" -#: faq/programming.rst:2107 +#: faq/programming.rst:2108 msgid "" "Consider using the convenience function :func:`~importlib.import_module` " "from :mod:`importlib` instead::" @@ -3195,7 +3207,7 @@ msgstr "" "Utilisez plutôt la fonction :func:`~importlib.import_module` de :mod:" "`importlib` ::" -#: faq/programming.rst:2114 +#: faq/programming.rst:2115 msgid "" "When I edit an imported module and reimport it, the changes don't show up. " "Why does this happen?" @@ -3203,7 +3215,7 @@ msgstr "" "Quand j'édite un module et que je le réimporte, je ne vois pas les " "changements. Pourquoi ?" -#: faq/programming.rst:2116 +#: faq/programming.rst:2117 msgid "" "For reasons of efficiency as well as consistency, Python only reads the " "module file on the first time a module is imported. If it didn't, in a " @@ -3218,7 +3230,7 @@ msgstr "" "ré-analysé un très grand nombre de fois. Pour forcer la relecture d'un " "module, il faut faire ::" -#: faq/programming.rst:2126 +#: faq/programming.rst:2127 msgid "" "Warning: this technique is not 100% fool-proof. In particular, modules " "containing statements like ::" @@ -3226,7 +3238,7 @@ msgstr "" "Attention, cette technique ne marche pas systématiquement. En particulier, " "les modules qui contiennent des instructions comme ::" -#: faq/programming.rst:2131 +#: faq/programming.rst:2132 msgid "" "will continue to work with the old version of the imported objects. If the " "module contains class definitions, existing class instances will *not* be " @@ -3238,7 +3250,7 @@ msgstr "" "celle-ci ne sont *pas* mises à jour avec la nouvelle définition de la " "classe. Ceci peut conduire au comportement paradoxal suivant ::" -#: faq/programming.rst:2144 +#: faq/programming.rst:2145 msgid "" "The nature of the problem is made clear if you print out the \"identity\" of " "the class objects::" diff --git a/faq/windows.po b/faq/windows.po index 2017657bbf..666c78e0d5 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-27 12:17+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -515,6 +515,19 @@ msgstr "" "touche s'est produite, et ``getch()`` qui récupère le caractère sans " "l'afficher." +#: faq/windows.rst:281 +msgid "How do I solve the missing api-ms-win-crt-runtime-l1-1-0.dll error?" +msgstr "" + +#: faq/windows.rst:283 +msgid "" +"This can occur on Python 3.5 and later when using Windows 8.1 or earlier " +"without all updates having been installed. First ensure your operating " +"system is supported and is up to date, and if that does not resolve the " +"issue, visit the `Microsoft support page `_ for guidance on manually installing the C Runtime update." +msgstr "" + #~ msgid "" #~ "Borland note: convert :file:`python{NN}.lib` to OMF format using Coff2Omf." #~ "exe first." diff --git a/glossary.po b/glossary.po index 2459f933d3..f887e66453 100644 --- a/glossary.po +++ b/glossary.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 13:31+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -327,20 +327,30 @@ msgid "attribute" msgstr "attribut" #: glossary.rst:139 +#, fuzzy msgid "" -"A value associated with an object which is referenced by name using dotted " -"expressions. For example, if an object *o* has an attribute *a* it would be " -"referenced as *o.a*." +"A value associated with an object which is usually referenced by name using " +"dotted expressions. For example, if an object *o* has an attribute *a* it " +"would be referenced as *o.a*." msgstr "" "Valeur associée à un objet et désignée par son nom via une notation " "utilisant des points. Par exemple, si un objet *o* possède un attribut *a*, " "il sera référencé par *o.a*." -#: glossary.rst:142 +#: glossary.rst:144 +msgid "" +"It is possible to give an object an attribute whose name is not an " +"identifier as defined by :ref:`identifiers`, for example using :func:" +"`setattr`, if the object allows it. Such an attribute will not be accessible " +"using a dotted expression, and would instead need to be retrieved with :func:" +"`getattr`." +msgstr "" + +#: glossary.rst:149 msgid "awaitable" msgstr "awaitable" -#: glossary.rst:144 +#: glossary.rst:151 msgid "" "An object that can be used in an :keyword:`await` expression. Can be a :" "term:`coroutine` or an object with an :meth:`__await__` method. See also :" @@ -350,11 +360,11 @@ msgstr "" "être une :term:`coroutine` ou un objet avec une méthode :meth:`__await__`. " "Voir aussi la :pep:`492`." -#: glossary.rst:147 +#: glossary.rst:154 msgid "BDFL" msgstr "BDFL" -#: glossary.rst:149 +#: glossary.rst:156 msgid "" "Benevolent Dictator For Life, a.k.a. `Guido van Rossum `_, Python's creator." @@ -363,11 +373,11 @@ msgstr "" "Pseudonyme de `Guido van Rossum `_, le " "créateur de Python." -#: glossary.rst:151 +#: glossary.rst:158 msgid "binary file" msgstr "fichier binaire" -#: glossary.rst:153 +#: glossary.rst:160 msgid "" "A :term:`file object` able to read and write :term:`bytes-like objects " "`. Examples of binary files are files opened in binary " @@ -381,7 +391,7 @@ msgstr "" "`sys.stdin.buffer`, :data:`sys.stdout.buffer`, les instances de :class:`io." "BytesIO` ou de :class:`gzip.GzipFile`." -#: glossary.rst:160 +#: glossary.rst:167 msgid "" "See also :term:`text file` for a file object able to read and write :class:" "`str` objects." @@ -389,11 +399,11 @@ msgstr "" "Consultez :term:`fichier texte`, un objet fichier capable de lire et " "d'écrire des objets :class:`str`." -#: glossary.rst:162 +#: glossary.rst:169 msgid "borrowed reference" msgstr "référence empruntée" -#: glossary.rst:164 +#: glossary.rst:171 msgid "" "In Python's C API, a borrowed reference is a reference to an object. It does " "not modify the object reference count. It becomes a dangling pointer if the " @@ -406,7 +416,7 @@ msgstr "" "qui conduit à la disparition de la dernière :term:`référence forte` vers " "l'objet." -#: glossary.rst:169 +#: glossary.rst:176 msgid "" "Calling :c:func:`Py_INCREF` on the :term:`borrowed reference` is recommended " "to convert it to a :term:`strong reference` in-place, except when the object " @@ -421,11 +431,11 @@ msgstr "" "aussi la fonction :c:func:`Py_NewRef`, qui crée une nouvelle :term:" "`référence forte`." -#: glossary.rst:174 +#: glossary.rst:181 msgid "bytes-like object" msgstr "objet octet-compatible" -#: glossary.rst:176 +#: glossary.rst:183 msgid "" "An object that supports the :ref:`bufferobjects` and can export a C-:term:" "`contiguous` buffer. This includes all :class:`bytes`, :class:`bytearray`, " @@ -441,7 +451,7 @@ msgstr "" "utilisés pour diverses opérations sur des données binaires, comme la " "compression, la sauvegarde dans un fichier binaire ou l'envoi sur le réseau." -#: glossary.rst:183 +#: glossary.rst:190 msgid "" "Some operations need the binary data to be mutable. The documentation often " "refers to these as \"read-write bytes-like objects\". Example mutable " @@ -458,11 +468,11 @@ msgstr "" "(*\"read-only bytes-like objects\"*), par exemple :class:`bytes` ou :class:" "`memoryview` d'un objet :class:`byte`." -#: glossary.rst:191 +#: glossary.rst:198 msgid "bytecode" msgstr "code intermédiaire (*bytecode*)" -#: glossary.rst:193 +#: glossary.rst:200 msgid "" "Python source code is compiled into bytecode, the internal representation of " "a Python program in the CPython interpreter. The bytecode is also cached in " @@ -483,7 +493,7 @@ msgstr "" "intermédiaire n'a pas vocation à fonctionner sur différentes machines " "virtuelles Python ou à être stable entre différentes versions de Python." -#: glossary.rst:203 +#: glossary.rst:210 msgid "" "A list of bytecode instructions can be found in the documentation for :ref:" "`the dis module `." @@ -491,21 +501,39 @@ msgstr "" "La documentation du :ref:`module dis ` fournit une liste des " "instructions du code intermédiaire." -#: glossary.rst:205 +#: glossary.rst:212 +#, fuzzy +msgid "callable" +msgstr "fonction de rappel" + +#: glossary.rst:214 +msgid "" +"A callable is an object that can be called, possibly with a set of arguments " +"(see :term:`argument`), with the following syntax::" +msgstr "" + +#: glossary.rst:219 +msgid "" +"A :term:`function`, and by extension a :term:`method`, is a callable. An " +"instance of a class that implements the :meth:`~object.__call__` method is " +"also a callable." +msgstr "" + +#: glossary.rst:222 msgid "callback" msgstr "fonction de rappel" -#: glossary.rst:207 +#: glossary.rst:224 msgid "" "A subroutine function which is passed as an argument to be executed at some " "point in the future." msgstr "Une sous-fonction passée en argument pour être exécutée plus tard." -#: glossary.rst:209 +#: glossary.rst:226 msgid "class" msgstr "classe" -#: glossary.rst:211 +#: glossary.rst:228 msgid "" "A template for creating user-defined objects. Class definitions normally " "contain method definitions which operate on instances of the class." @@ -514,11 +542,11 @@ msgstr "" "classe (*class*) contient normalement des définitions de méthodes qui " "agissent sur les instances de la classe." -#: glossary.rst:214 +#: glossary.rst:231 msgid "class variable" msgstr "variable de classe" -#: glossary.rst:216 +#: glossary.rst:233 msgid "" "A variable defined in a class and intended to be modified only at class " "level (i.e., not in an instance of the class)." @@ -526,11 +554,11 @@ msgstr "" "Une variable définie dans une classe et destinée à être modifiée uniquement " "au niveau de la classe (c'est-à-dire, pas dans une instance de la classe)." -#: glossary.rst:218 +#: glossary.rst:235 msgid "coercion" msgstr "coercition" -#: glossary.rst:220 +#: glossary.rst:237 msgid "" "The implicit conversion of an instance of one type to another during an " "operation which involves two arguments of the same type. For example, " @@ -552,11 +580,11 @@ msgstr "" "aussi de *cast*) explicitement par le développeur, par exemple : ``float(3) " "+ 4.5`` au lieu du simple ``3 + 4.5``." -#: glossary.rst:228 +#: glossary.rst:245 msgid "complex number" msgstr "nombre complexe" -#: glossary.rst:230 +#: glossary.rst:247 msgid "" "An extension of the familiar real number system in which all numbers are " "expressed as a sum of a real part and an imaginary part. Imaginary numbers " @@ -579,11 +607,11 @@ msgstr "" "Les nombres complexes sont un concept assez avancé en mathématiques. Si vous " "ne connaissez pas ce concept, vous pouvez tranquillement les ignorer." -#: glossary.rst:240 +#: glossary.rst:257 msgid "context manager" msgstr "gestionnaire de contexte" -#: glossary.rst:242 +#: glossary.rst:259 msgid "" "An object which controls the environment seen in a :keyword:`with` statement " "by defining :meth:`__enter__` and :meth:`__exit__` methods. See :pep:`343`." @@ -592,11 +620,11 @@ msgstr "" "définissant les méthodes :meth:`__enter__` et :meth:`__exit__`. Consultez " "la :pep:`343`." -#: glossary.rst:245 +#: glossary.rst:262 msgid "context variable" msgstr "variable de contexte" -#: glossary.rst:247 +#: glossary.rst:264 msgid "" "A variable which can have different values depending on its context. This is " "similar to Thread-Local Storage in which each execution thread may have a " @@ -614,11 +642,11 @@ msgstr "" "trace des variables dans les tâches asynchrones concourantes. Voir :mod:" "`contextvars`." -#: glossary.rst:254 +#: glossary.rst:271 msgid "contiguous" msgstr "contigu" -#: glossary.rst:258 +#: glossary.rst:275 msgid "" "A buffer is considered contiguous exactly if it is either *C-contiguous* or " "*Fortran contiguous*. Zero-dimensional buffers are C and Fortran " @@ -638,11 +666,11 @@ msgstr "" "leur adresse mémoire. À l'inverse, dans les tableaux Fortran-contigu, c’est " "le premier indice qui doit varier le plus rapidement." -#: glossary.rst:266 +#: glossary.rst:283 msgid "coroutine" msgstr "coroutine" -#: glossary.rst:268 +#: glossary.rst:285 msgid "" "Coroutines are a more generalized form of subroutines. Subroutines are " "entered at one point and exited at another point. Coroutines can be " @@ -655,11 +683,11 @@ msgstr "" "être implémentées en utilisant l'instruction :keyword:`async def`. Voir " "aussi la :pep:`492`." -#: glossary.rst:273 +#: glossary.rst:290 msgid "coroutine function" msgstr "fonction coroutine" -#: glossary.rst:275 +#: glossary.rst:292 msgid "" "A function which returns a :term:`coroutine` object. A coroutine function " "may be defined with the :keyword:`async def` statement, and may contain :" @@ -671,11 +699,11 @@ msgstr "" "mots clés :keyword:`await`, :keyword:`async for` ainsi que :keyword:`async " "with`. A été introduit par la :pep:`492`." -#: glossary.rst:280 +#: glossary.rst:297 msgid "CPython" msgstr "CPython" -#: glossary.rst:282 +#: glossary.rst:299 msgid "" "The canonical implementation of the Python programming language, as " "distributed on `python.org `_. The term \"CPython\" " @@ -687,11 +715,11 @@ msgstr "" "est utilisé dans certains contextes lorsqu'il est nécessaire de distinguer " "cette implémentation des autres comme *Jython* ou *IronPython*." -#: glossary.rst:286 +#: glossary.rst:303 msgid "decorator" msgstr "décorateur" -#: glossary.rst:288 +#: glossary.rst:305 msgid "" "A function returning another function, usually applied as a function " "transformation using the ``@wrapper`` syntax. Common examples for " @@ -702,7 +730,7 @@ msgstr "" "``@wrapper``, dont les exemples typiques sont : :func:`classmethod` et :func:" "`staticmethod`." -#: glossary.rst:292 +#: glossary.rst:309 msgid "" "The decorator syntax is merely syntactic sugar, the following two function " "definitions are semantically equivalent::" @@ -710,7 +738,7 @@ msgstr "" "La syntaxe des décorateurs est simplement du sucre syntaxique, les " "définitions des deux fonctions suivantes sont sémantiquement équivalentes ::" -#: glossary.rst:303 +#: glossary.rst:320 msgid "" "The same concept exists for classes, but is less commonly used there. See " "the documentation for :ref:`function definitions ` and :ref:`class " @@ -720,11 +748,11 @@ msgstr "" "Consultez la documentation :ref:`définitions de fonctions ` et :" "ref:`définitions de classes ` pour en savoir plus sur les décorateurs." -#: glossary.rst:306 +#: glossary.rst:323 msgid "descriptor" msgstr "descripteur" -#: glossary.rst:308 +#: glossary.rst:325 msgid "" "Any object which defines the methods :meth:`__get__`, :meth:`__set__`, or :" "meth:`__delete__`. When a class attribute is a descriptor, its special " @@ -748,7 +776,7 @@ msgstr "" "propriétés, méthodes de classes, méthodes statiques et les références aux " "classes parentes." -#: glossary.rst:318 +#: glossary.rst:335 msgid "" "For more information about descriptors' methods, see :ref:`descriptors` or " "the :ref:`Descriptor How To Guide `." @@ -757,11 +785,11 @@ msgstr "" "`descriptors` ou le :ref:`guide pour l'utilisation des descripteurs " "`." -#: glossary.rst:320 +#: glossary.rst:337 msgid "dictionary" msgstr "dictionnaire" -#: glossary.rst:322 +#: glossary.rst:339 msgid "" "An associative array, where arbitrary keys are mapped to values. The keys " "can be any object with :meth:`__hash__` and :meth:`__eq__` methods. Called a " @@ -771,11 +799,11 @@ msgstr "" "n'importe quel objet possédant les méthodes :meth:`__hash__` et :meth:" "`__eq__`. En Perl, les dictionnaires sont appelés \"*hash*\"." -#: glossary.rst:325 +#: glossary.rst:342 msgid "dictionary comprehension" msgstr "dictionnaire en compréhension (ou dictionnaire en intension)" -#: glossary.rst:327 +#: glossary.rst:344 msgid "" "A compact way to process all or part of the elements in an iterable and " "return a dictionary with the results. ``results = {n: n ** 2 for n in " @@ -787,11 +815,11 @@ msgstr "" "n in range(10)}`` génère un dictionnaire contenant des clés ``n`` liée à " "leur valeurs ``n ** 2``. Voir :ref:`comprehensions`." -#: glossary.rst:331 +#: glossary.rst:348 msgid "dictionary view" msgstr "vue de dictionnaire" -#: glossary.rst:333 +#: glossary.rst:350 msgid "" "The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and :meth:" "`dict.items` are called dictionary views. They provide a dynamic view on the " @@ -805,11 +833,11 @@ msgstr "" "change. Pour transformer une vue en vraie liste, utilisez " "``list(dictview)``. Voir :ref:`dict-views`." -#: glossary.rst:339 +#: glossary.rst:356 msgid "docstring" msgstr "*docstring* (chaîne de documentation)" -#: glossary.rst:341 +#: glossary.rst:358 msgid "" "A string literal which appears as the first expression in a class, function " "or module. While ignored when the suite is executed, it is recognized by " @@ -823,11 +851,11 @@ msgstr "" "fonction ou du module. Comme cette chaîne est disponible par introspection, " "c'est l'endroit idéal pour documenter l'objet." -#: glossary.rst:347 +#: glossary.rst:364 msgid "duck-typing" msgstr "duck-typing" -#: glossary.rst:349 +#: glossary.rst:366 msgid "" "A programming style which does not look at an object's type to determine if " "it has the right interface; instead, the method or attribute is simply " @@ -851,11 +879,11 @@ msgstr "" "*duck-typing* utilise plutôt :func:`hasattr` ou la programmation :term:" "`EAFP`." -#: glossary.rst:358 +#: glossary.rst:375 msgid "EAFP" msgstr "EAFP" -#: glossary.rst:360 +#: glossary.rst:377 msgid "" "Easier to ask for forgiveness than permission. This common Python coding " "style assumes the existence of valid keys or attributes and catches " @@ -872,11 +900,11 @@ msgstr "" "keyword:`except`. Cette technique de programmation contraste avec le style :" "term:`LBYL` utilisé couramment dans les langages tels que C." -#: glossary.rst:366 +#: glossary.rst:383 msgid "expression" msgstr "expression" -#: glossary.rst:368 +#: glossary.rst:385 msgid "" "A piece of syntax which can be evaluated to some value. In other words, an " "expression is an accumulation of expression elements like literals, names, " @@ -896,11 +924,11 @@ msgstr "" "expressions, tel que :keyword:`while`. Les affectations sont également des " "instructions et non des expressions." -#: glossary.rst:375 +#: glossary.rst:392 msgid "extension module" msgstr "module d'extension" -#: glossary.rst:377 +#: glossary.rst:394 msgid "" "A module written in C or C++, using Python's C API to interact with the core " "and with user code." @@ -908,11 +936,11 @@ msgstr "" "Module écrit en C ou C++, utilisant l'API C de Python pour interagir avec " "Python et le code de l'utilisateur." -#: glossary.rst:379 +#: glossary.rst:396 msgid "f-string" msgstr "f-string" -#: glossary.rst:381 +#: glossary.rst:398 msgid "" "String literals prefixed with ``'f'`` or ``'F'`` are commonly called \"f-" "strings\" which is short for :ref:`formatted string literals `. " @@ -922,11 +950,11 @@ msgstr "" "raccourci pour :ref:`formatted string literals `. Voir la :pep:" "`498`." -#: glossary.rst:384 +#: glossary.rst:401 msgid "file object" msgstr "objet fichier" -#: glossary.rst:386 +#: glossary.rst:403 msgid "" "An object exposing a file-oriented API (with methods such as :meth:`read()` " "or :meth:`write()`) to an underlying resource. Depending on the way it was " @@ -943,7 +971,7 @@ msgstr "" "réseau…). Les objets fichiers sont aussi appelés :dfn:`file-like-objects` " "ou :dfn:`streams`." -#: glossary.rst:394 +#: glossary.rst:411 msgid "" "There are actually three categories of file objects: raw :term:`binary files " "`, buffered :term:`binary files ` and :term:`text " @@ -958,19 +986,19 @@ msgstr "" "Le moyen le plus simple et direct de créer un objet fichier est d'utiliser " "la fonction :func:`open`." -#: glossary.rst:399 +#: glossary.rst:416 msgid "file-like object" msgstr "objet fichier-compatible" -#: glossary.rst:401 +#: glossary.rst:418 msgid "A synonym for :term:`file object`." msgstr "Synonyme de :term:`objet fichier`." -#: glossary.rst:402 +#: glossary.rst:419 msgid "filesystem encoding and error handler" msgstr "encodage du système de fichier et gestionnaire d'erreur" -#: glossary.rst:404 +#: glossary.rst:421 msgid "" "Encoding and error handler used by Python to decode bytes from the operating " "system and encode Unicode to the operating system." @@ -979,7 +1007,7 @@ msgstr "" "octets fournis par le système d'exploitation et encoder les chaînes de " "caractères Unicode afin de les passer au système." -#: glossary.rst:407 +#: glossary.rst:424 msgid "" "The filesystem encoding must guarantee to successfully decode all bytes " "below 128. If the file system encoding fails to provide this guarantee, API " @@ -989,7 +1017,7 @@ msgstr "" "les octets jusqu'à 128. Si ce n'est pas le cas, certaines fonctions de l'API " "lèvent :exc:`UnicodeError`." -#: glossary.rst:411 +#: glossary.rst:428 msgid "" "The :func:`sys.getfilesystemencoding` and :func:`sys." "getfilesystemencodeerrors` functions can be used to get the filesystem " @@ -999,7 +1027,7 @@ msgstr "" "fonctions :func:`sys.getfilesystemencoding` et :func:" "`getfilesystemencodeerrors`." -#: glossary.rst:415 +#: glossary.rst:432 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " "startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." @@ -1007,15 +1035,15 @@ msgid "" "c:type:`PyConfig`." msgstr "" -#: glossary.rst:420 +#: glossary.rst:437 msgid "See also the :term:`locale encoding`." msgstr "Voir aussi :term:`encodage régional`." -#: glossary.rst:421 +#: glossary.rst:438 msgid "finder" msgstr "chercheur" -#: glossary.rst:423 +#: glossary.rst:440 msgid "" "An object that tries to find the :term:`loader` for a module that is being " "imported." @@ -1023,7 +1051,7 @@ msgstr "" "Objet qui essaie de trouver un :term:`chargeur ` pour le module en " "cours d'importation." -#: glossary.rst:426 +#: glossary.rst:443 msgid "" "Since Python 3.3, there are two types of finder: :term:`meta path finders " "` for use with :data:`sys.meta_path`, and :term:`path " @@ -1034,15 +1062,15 @@ msgstr "" "`sys.meta_path` ; les :term:`chercheurs d'entrée dans path ` à utiliser avec :data:`sys.path_hooks`." -#: glossary.rst:430 +#: glossary.rst:447 msgid "See :pep:`302`, :pep:`420` and :pep:`451` for much more detail." msgstr "Voir les :pep:`302`, :pep:`420` et :pep:`451` pour plus de détails." -#: glossary.rst:431 +#: glossary.rst:448 msgid "floor division" msgstr "division entière" -#: glossary.rst:433 +#: glossary.rst:450 msgid "" "Mathematical division that rounds down to nearest integer. The floor " "division operator is ``//``. For example, the expression ``11 // 4`` " @@ -1056,11 +1084,11 @@ msgstr "" "4`` vaut ``-3`` car l'arrondi se fait à l'entier inférieur. Voir la :pep:" "`328`." -#: glossary.rst:438 +#: glossary.rst:455 msgid "function" msgstr "fonction" -#: glossary.rst:440 +#: glossary.rst:457 msgid "" "A series of statements which returns some value to a caller. It can also be " "passed zero or more :term:`arguments ` which may be used in the " @@ -1072,15 +1100,15 @@ msgstr "" "corps de la fonction. Voir aussi :term:`paramètre`, :term:`méthode` et :ref:" "`function`." -#: glossary.rst:444 +#: glossary.rst:461 msgid "function annotation" msgstr "annotation de fonction" -#: glossary.rst:446 +#: glossary.rst:463 msgid "An :term:`annotation` of a function parameter or return value." msgstr ":term:`annotation` d'un paramètre de fonction ou valeur de retour." -#: glossary.rst:448 +#: glossary.rst:465 msgid "" "Function annotations are usually used for :term:`type hints `: " "for example, this function is expected to take two :class:`int` arguments " @@ -1091,13 +1119,13 @@ msgstr "" "prendre deux arguments :class:`int` et devrait également avoir une valeur de " "retour de type :class:`int` ::" -#: glossary.rst:456 +#: glossary.rst:473 msgid "Function annotation syntax is explained in section :ref:`function`." msgstr "" "L'annotation syntaxique de la fonction est expliquée dans la section :ref:" "`function`." -#: glossary.rst:458 +#: glossary.rst:475 msgid "" "See :term:`variable annotation` and :pep:`484`, which describe this " "functionality. Also see :ref:`annotations-howto` for best practices on " @@ -1107,11 +1135,11 @@ msgstr "" "décrivent cette fonctionnalité. Voir aussi :ref:`annotations-howto` sur les " "bonnes pratiques concernant les annotations." -#: glossary.rst:462 +#: glossary.rst:479 msgid "__future__" msgstr "__future__" -#: glossary.rst:464 +#: glossary.rst:481 msgid "" "A :ref:`future statement `, ``from __future__ import ``, " "directs the compiler to compile the current module using syntax or semantics " @@ -1131,11 +1159,11 @@ msgstr "" "fonctionnalité en question, notamment la version de Python dans laquelle " "elle a été ajoutée, et celle dans laquelle elle deviendra standard ::" -#: glossary.rst:475 +#: glossary.rst:492 msgid "garbage collection" msgstr "ramasse-miettes" -#: glossary.rst:477 +#: glossary.rst:494 msgid "" "The process of freeing memory when it is not used anymore. Python performs " "garbage collection via reference counting and a cyclic garbage collector " @@ -1148,11 +1176,11 @@ msgstr "" "et casser les références circulaires. Le ramasse-miettes peut être contrôlé " "en utilisant le module :mod:`gc`." -#: glossary.rst:483 +#: glossary.rst:500 msgid "generator" msgstr "générateur" -#: glossary.rst:485 +#: glossary.rst:502 msgid "" "A function which returns a :term:`generator iterator`. It looks like a " "normal function except that it contains :keyword:`yield` expressions for " @@ -1164,7 +1192,7 @@ msgstr "" "expressions :keyword:`yield` produisant une série de valeurs utilisable dans " "une boucle *for* ou récupérées une à une via la fonction :func:`next`." -#: glossary.rst:490 +#: glossary.rst:507 msgid "" "Usually refers to a generator function, but may refer to a *generator " "iterator* in some contexts. In cases where the intended meaning isn't " @@ -1175,15 +1203,15 @@ msgstr "" "cas où le sens voulu n'est pas clair, utiliser les termes complets lève " "l’ambiguïté." -#: glossary.rst:493 +#: glossary.rst:510 msgid "generator iterator" msgstr "itérateur de générateur" -#: glossary.rst:495 +#: glossary.rst:512 msgid "An object created by a :term:`generator` function." msgstr "Objet créé par une fonction :term:`générateur`." -#: glossary.rst:497 +#: glossary.rst:514 msgid "" "Each :keyword:`yield` temporarily suspends processing, remembering the " "location execution state (including local variables and pending try-" @@ -1196,11 +1224,11 @@ msgstr "" "il en était (contrairement à une fonction qui prendrait un nouveau départ à " "chaque invocation)." -#: glossary.rst:504 +#: glossary.rst:521 msgid "generator expression" msgstr "expression génératrice" -#: glossary.rst:506 +#: glossary.rst:523 msgid "" "An expression that returns an iterator. It looks like a normal expression " "followed by a :keyword:`!for` clause defining a loop variable, range, and an " @@ -1212,11 +1240,11 @@ msgstr "" "intervalle et une clause :keyword:`!if` optionnelle. Toute cette expression " "génère des valeurs pour la fonction qui l'entoure ::" -#: glossary.rst:513 +#: glossary.rst:530 msgid "generic function" msgstr "fonction générique" -#: glossary.rst:515 +#: glossary.rst:532 msgid "" "A function composed of multiple functions implementing the same operation " "for different types. Which implementation should be used during a call is " @@ -1226,7 +1254,7 @@ msgstr "" "pour différents types. L'implémentation à utiliser est déterminée lors de " "l'appel par l'algorithme de répartition." -#: glossary.rst:519 +#: glossary.rst:536 msgid "" "See also the :term:`single dispatch` glossary entry, the :func:`functools." "singledispatch` decorator, and :pep:`443`." @@ -1234,11 +1262,11 @@ msgstr "" "Voir aussi :term:`single dispatch`, le décorateur :func:`functools." "singledispatch` et la :pep:`443`." -#: glossary.rst:521 +#: glossary.rst:538 msgid "generic type" msgstr "type générique" -#: glossary.rst:523 +#: glossary.rst:540 msgid "" "A :term:`type` that can be parameterized; typically a :ref:`container " "class` such as :class:`list` or :class:`dict`. Used for :" @@ -1249,7 +1277,7 @@ msgstr "" "term:`indications de type ` et les :term:`annotations " "`." -#: glossary.rst:528 +#: glossary.rst:545 msgid "" "For more details, see :ref:`generic alias types`, :pep:" "`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module." @@ -1258,19 +1286,19 @@ msgstr "" "genericalias>` et le module :mod:`typing`. On trouvera l'historique de " "cette fonctionnalité dans la :pep:`483`, la :pep:`484` et la :pep:`585`." -#: glossary.rst:530 +#: glossary.rst:547 msgid "GIL" msgstr "GIL" -#: glossary.rst:532 +#: glossary.rst:549 msgid "See :term:`global interpreter lock`." msgstr "Voir :term:`global interpreter lock`." -#: glossary.rst:533 +#: glossary.rst:550 msgid "global interpreter lock" msgstr "verrou global de l'interpréteur" -#: glossary.rst:535 +#: glossary.rst:552 msgid "" "The mechanism used by the :term:`CPython` interpreter to assure that only " "one thread executes Python :term:`bytecode` at a time. This simplifies the " @@ -1290,10 +1318,11 @@ msgstr "" "au détriment malheureusement de beaucoup du parallélisme possible sur les " "machines ayant plusieurs processeurs." -#: glossary.rst:544 +#: glossary.rst:561 +#, fuzzy msgid "" "However, some extension modules, either standard or third-party, are " -"designed so as to release the GIL when doing computationally-intensive tasks " +"designed so as to release the GIL when doing computationally intensive tasks " "such as compression or hashing. Also, the GIL is always released when doing " "I/O." msgstr "" @@ -1302,7 +1331,7 @@ msgstr "" "compression ou le hachage. De la même manière, le GIL est toujours libéré " "lors des entrées / sorties." -#: glossary.rst:549 +#: glossary.rst:566 msgid "" "Past efforts to create a \"free-threaded\" interpreter (one which locks " "shared data at a much finer granularity) have not been successful because " @@ -1316,11 +1345,11 @@ msgstr "" "corriger ce problème de performance induit mènerait à une implémentation " "beaucoup plus compliquée et donc plus coûteuse à maintenir." -#: glossary.rst:555 +#: glossary.rst:572 msgid "hash-based pyc" msgstr "*pyc* utilisant le hachage" -#: glossary.rst:557 +#: glossary.rst:574 msgid "" "A bytecode cache file that uses the hash rather than the last-modified time " "of the corresponding source file to determine its validity. See :ref:`pyc-" @@ -1331,11 +1360,11 @@ msgstr "" "source correspondant pour déterminer sa validité. Voir :ref:`pyc-" "invalidation`." -#: glossary.rst:560 +#: glossary.rst:577 msgid "hashable" msgstr "hachable" -#: glossary.rst:562 +#: glossary.rst:579 msgid "" "An object is *hashable* if it has a hash value which never changes during " "its lifetime (it needs a :meth:`__hash__` method), and can be compared to " @@ -1348,7 +1377,7 @@ msgstr "" "hachables dont la comparaison par ``__eq__`` est vraie doivent avoir la même " "empreinte." -#: glossary.rst:567 +#: glossary.rst:584 msgid "" "Hashability makes an object usable as a dictionary key and a set member, " "because these data structures use the hash value internally." @@ -1357,7 +1386,7 @@ msgstr "" "en tant que membre d'un ensemble (type *set*), car ces structures de données " "utilisent ce *hash*." -#: glossary.rst:570 +#: glossary.rst:587 msgid "" "Most of Python's immutable built-in objects are hashable; mutable containers " "(such as lists or dictionaries) are not; immutable containers (such as " @@ -1374,24 +1403,25 @@ msgstr "" "considérées différentes (sauf avec elles-mêmes) et leur valeur de hachage " "est calculée à partir de leur :func:`id`." -#: glossary.rst:577 +#: glossary.rst:594 msgid "IDLE" msgstr "IDLE" -#: glossary.rst:579 +#: glossary.rst:596 +#, fuzzy msgid "" -"An Integrated Development Environment for Python. IDLE is a basic editor " -"and interpreter environment which ships with the standard distribution of " -"Python." +"An Integrated Development and Learning Environment for Python. :ref:`idle` " +"is a basic editor and interpreter environment which ships with the standard " +"distribution of Python." msgstr "" "Environnement de développement intégré pour Python. IDLE est un éditeur " "basique et un interpréteur livré avec la distribution standard de Python." -#: glossary.rst:582 +#: glossary.rst:599 msgid "immutable" msgstr "immuable" -#: glossary.rst:584 +#: glossary.rst:601 msgid "" "An object with a fixed value. Immutable objects include numbers, strings " "and tuples. Such an object cannot be altered. A new object has to be " @@ -1405,11 +1435,11 @@ msgstr "" "quand une valeur de *hash* constante est requise, typiquement en clé de " "dictionnaire." -#: glossary.rst:589 +#: glossary.rst:606 msgid "import path" msgstr "chemin des importations" -#: glossary.rst:591 +#: glossary.rst:608 msgid "" "A list of locations (or :term:`path entries `) that are searched " "by the :term:`path based finder` for modules to import. During import, this " @@ -1422,21 +1452,21 @@ msgstr "" "pour les sous-paquets, elle peut aussi venir de l'attribut ``__path__`` du " "paquet parent." -#: glossary.rst:596 +#: glossary.rst:613 msgid "importing" msgstr "importing" -#: glossary.rst:598 +#: glossary.rst:615 msgid "" "The process by which Python code in one module is made available to Python " "code in another module." msgstr "Processus rendant le code Python d'un module disponible dans un autre." -#: glossary.rst:600 +#: glossary.rst:617 msgid "importer" msgstr "importateur" -#: glossary.rst:602 +#: glossary.rst:619 msgid "" "An object that both finds and loads a module; both a :term:`finder` and :" "term:`loader` object." @@ -1444,11 +1474,11 @@ msgstr "" "Objet qui trouve et charge un module, en même temps un :term:`chercheur " "` et un :term:`chargeur `." -#: glossary.rst:604 +#: glossary.rst:621 msgid "interactive" msgstr "interactif" -#: glossary.rst:606 +#: glossary.rst:623 msgid "" "Python has an interactive interpreter which means you can enter statements " "and expressions at the interpreter prompt, immediately execute them and see " @@ -1463,11 +1493,11 @@ msgstr "" "de votre ordinateur). C'est un moyen puissant pour tester de nouvelles idées " "ou étudier de nouveaux modules (souvenez-vous de ``help(x)``)." -#: glossary.rst:612 +#: glossary.rst:629 msgid "interpreted" msgstr "interprété" -#: glossary.rst:614 +#: glossary.rst:631 msgid "" "Python is an interpreted language, as opposed to a compiled one, though the " "distinction can be blurry because of the presence of the bytecode compiler. " @@ -1484,11 +1514,11 @@ msgstr "" "développement / débogage plus court que les langages compilés. Cependant, " "ils s'exécutent généralement plus lentement. Voir aussi :term:`interactif`." -#: glossary.rst:621 +#: glossary.rst:638 msgid "interpreter shutdown" msgstr "arrêt de l'interpréteur" -#: glossary.rst:623 +#: glossary.rst:640 msgid "" "When asked to shut down, the Python interpreter enters a special phase where " "it gradually releases all allocated resources, such as modules and various " @@ -1509,7 +1539,7 @@ msgstr "" "fonctionner, (typiquement les modules des bibliothèques ou le mécanisme de " "*warning*)." -#: glossary.rst:632 +#: glossary.rst:649 msgid "" "The main reason for interpreter shutdown is that the ``__main__`` module or " "the script being run has finished executing." @@ -1517,11 +1547,11 @@ msgstr "" "La principale raison d'arrêt de l'interpréteur est que le module " "``__main__`` ou le script en cours d'exécution a terminé de s'exécuter." -#: glossary.rst:634 +#: glossary.rst:651 msgid "iterable" msgstr "itérable" -#: glossary.rst:636 +#: glossary.rst:653 msgid "" "An object capable of returning its members one at a time. Examples of " "iterables include all sequence types (such as :class:`list`, :class:`str`, " @@ -1536,7 +1566,7 @@ msgstr "" "tout objet d'une classe ayant une méthode :meth:`__iter__` ou :meth:" "`__getitem__` qui implémente la sémantique d'une :term:`Sequence `." -#: glossary.rst:643 +#: glossary.rst:660 msgid "" "Iterables can be used in a :keyword:`for` loop and in many other places " "where a sequence is needed (:func:`zip`, :func:`map`, ...). When an " @@ -1559,11 +1589,11 @@ msgstr "" "temporaire anonyme pour garder l'itérateur durant la boucle. Voir aussi :" "term:`itérateur`, :term:`séquence` et :term:`générateur`." -#: glossary.rst:653 +#: glossary.rst:670 msgid "iterator" msgstr "itérateur" -#: glossary.rst:655 +#: glossary.rst:672 msgid "" "An object representing a stream of data. Repeated calls to the iterator's :" "meth:`~iterator.__next__` method (or passing it to the built-in function :" @@ -1596,11 +1626,11 @@ msgstr "" "itérateur donnerait simplement le même objet itérateur épuisé utilisé dans " "son itération précédente, le faisant ressembler à un conteneur vide." -#: glossary.rst:670 +#: glossary.rst:687 msgid "More information can be found in :ref:`typeiter`." msgstr "Vous trouverez davantage d'informations dans :ref:`typeiter`." -#: glossary.rst:674 +#: glossary.rst:691 msgid "" "CPython does not consistently apply the requirement that an iterator define :" "meth:`__iter__`." @@ -1608,11 +1638,11 @@ msgstr "" "CPython n'est pas toujours cohérent sur le fait de demander ou non à un " "itérateur de définir :meth:`__iter__`." -#: glossary.rst:676 +#: glossary.rst:693 msgid "key function" msgstr "fonction clé" -#: glossary.rst:678 +#: glossary.rst:695 msgid "" "A key function or collation function is a callable that returns a value used " "for sorting or ordering. For example, :func:`locale.strxfrm` is used to " @@ -1623,7 +1653,7 @@ msgstr "" "utilisée pour générer une clé de classement prenant en compte les " "conventions de classement spécifiques aux paramètres régionaux courants." -#: glossary.rst:683 +#: glossary.rst:700 msgid "" "A number of tools in Python accept key functions to control how elements are " "ordered or grouped. They include :func:`min`, :func:`max`, :func:`sorted`, :" @@ -1636,7 +1666,7 @@ msgstr "" "merge`, :func:`heapq.nsmallest`, :func:`heapq.nlargest` et :func:`itertools." "groupby`." -#: glossary.rst:689 +#: glossary.rst:706 msgid "" "There are several ways to create a key function. For example. the :meth:" "`str.lower` method can serve as a key function for case insensitive sorts. " @@ -1657,19 +1687,19 @@ msgstr "" "Trier ` pour des exemples de création et d'utilisation de " "fonctions clefs." -#: glossary.rst:697 +#: glossary.rst:714 msgid "keyword argument" msgstr "argument nommé" -#: glossary.rst:988 +#: glossary.rst:1005 msgid "See :term:`argument`." msgstr "Voir :term:`argument`." -#: glossary.rst:700 +#: glossary.rst:717 msgid "lambda" msgstr "lambda" -#: glossary.rst:702 +#: glossary.rst:719 msgid "" "An anonymous inline function consisting of a single :term:`expression` which " "is evaluated when the function is called. The syntax to create a lambda " @@ -1680,11 +1710,11 @@ msgstr "" "syntaxe pour créer des fonctions lambda est : ``lambda [parameters]: " "expression``" -#: glossary.rst:705 +#: glossary.rst:722 msgid "LBYL" msgstr "LBYL" -#: glossary.rst:707 +#: glossary.rst:724 msgid "" "Look before you leap. This coding style explicitly tests for pre-conditions " "before making calls or lookups. This style contrasts with the :term:`EAFP` " @@ -1696,7 +1726,7 @@ msgstr "" "appels ou des accès. Ce style contraste avec le style :term:`EAFP` et se " "caractérise par la présence de beaucoup d'instructions :keyword:`if`." -#: glossary.rst:712 +#: glossary.rst:729 msgid "" "In a multi-threaded environment, the LBYL approach can risk introducing a " "race condition between \"the looking\" and \"the leaping\". For example, " @@ -1712,11 +1742,11 @@ msgstr "" "l'accès. Ce problème peut être résolu avec des verrous (*locks*) ou avec " "l'approche EAFP." -#: glossary.rst:717 +#: glossary.rst:734 msgid "locale encoding" msgstr "encodage régional" -#: glossary.rst:719 +#: glossary.rst:736 msgid "" "On Unix, it is the encoding of the LC_CTYPE locale. It can be set with " "``locale.setlocale(locale.LC_CTYPE, new_locale)``." @@ -1724,11 +1754,11 @@ msgstr "" "Sous Unix, il est défini par la variable régionale LC_CTYPE. Il peut être " "modifié par ``locale.setlocale(locale.LC_CTYPE, new_locale)``." -#: glossary.rst:722 +#: glossary.rst:739 msgid "On Windows, it is the ANSI code page (ex: ``cp1252``)." msgstr "Sous Windows, c'est un encodage ANSI (ex. : ``cp1252``)." -#: glossary.rst:724 +#: glossary.rst:741 msgid "" "``locale.getpreferredencoding(False)`` can be used to get the locale " "encoding." @@ -1736,7 +1766,7 @@ msgstr "" "``locale.getpreferredencoding(False)`` permet de récupérer l'encodage " "régional." -#: glossary.rst:727 +#: glossary.rst:744 msgid "" "Python uses the :term:`filesystem encoding and error handler` to convert " "between Unicode filenames and bytes filenames." @@ -1745,11 +1775,11 @@ msgstr "" "d'erreur` pour les conversions de " "noms de fichier entre Unicode et octets." -#: glossary.rst:729 +#: glossary.rst:746 msgid "list" msgstr "list" -#: glossary.rst:731 +#: glossary.rst:748 msgid "" "A built-in Python :term:`sequence`. Despite its name it is more akin to an " "array in other languages than to a linked list since access to elements is " @@ -1759,11 +1789,11 @@ msgstr "" "``list`` ressemble plus à un tableau (*array* dans la plupart des langages) " "qu'à une liste chaînée puisque les accès se font en O(1)." -#: glossary.rst:734 +#: glossary.rst:751 msgid "list comprehension" msgstr "liste en compréhension (ou liste en intension)" -#: glossary.rst:736 +#: glossary.rst:753 msgid "" "A compact way to process all or part of the elements in a sequence and " "return a list with the results. ``result = ['{:#04x}'.format(x) for x in " @@ -1778,11 +1808,11 @@ msgstr "" "hexadécimal (``0x…``). La clause :keyword:`if` est optionnelle. Si elle est " "omise, tous les éléments du ``range(256)`` seront utilisés." -#: glossary.rst:742 +#: glossary.rst:759 msgid "loader" msgstr "chargeur" -#: glossary.rst:744 +#: glossary.rst:761 msgid "" "An object that loads a module. It must define a method named :meth:" "`load_module`. A loader is typically returned by a :term:`finder`. See :pep:" @@ -1794,19 +1824,19 @@ msgstr "" "`. Voir la :pep:`302` pour plus de détails et :class:`importlib.ABC." "Loader` pour sa :term:`classe de base abstraite`." -#: glossary.rst:748 +#: glossary.rst:765 msgid "magic method" msgstr "méthode magique" -#: glossary.rst:752 +#: glossary.rst:769 msgid "An informal synonym for :term:`special method`." msgstr "Un synonyme informel de :term:`special method`." -#: glossary.rst:753 +#: glossary.rst:770 msgid "mapping" msgstr "tableau de correspondances" -#: glossary.rst:755 +#: glossary.rst:772 msgid "" "A container object that supports arbitrary key lookups and implements the " "methods specified in the :class:`~collections.abc.Mapping` or :class:" @@ -1823,11 +1853,11 @@ msgstr "" "`dict`, :class:`collections.defaultdict`, :class:`collections.OrderedDict` " "et :class:`collections.Counter`." -#: glossary.rst:761 +#: glossary.rst:778 msgid "meta path finder" msgstr "chercheur dans les méta-chemins" -#: glossary.rst:763 +#: glossary.rst:780 msgid "" "A :term:`finder` returned by a search of :data:`sys.meta_path`. Meta path " "finders are related to, but different from :term:`path entry finders `." -#: glossary.rst:767 +#: glossary.rst:784 msgid "" "See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " "finders implement." @@ -1845,11 +1875,11 @@ msgstr "" "Voir :class:`importlib.abc.MetaPathFinder` pour les méthodes que les " "chercheurs dans les méta-chemins doivent implémenter." -#: glossary.rst:769 +#: glossary.rst:786 msgid "metaclass" msgstr "métaclasse" -#: glossary.rst:771 +#: glossary.rst:788 msgid "" "The class of a class. Class definitions create a class name, a class " "dictionary, and a list of base classes. The metaclass is responsible for " @@ -1873,15 +1903,15 @@ msgstr "" "*multi-threads*, suivre la création d'objets, implémenter des singletons et " "bien d'autres tâches." -#: glossary.rst:781 +#: glossary.rst:798 msgid "More information can be found in :ref:`metaclasses`." msgstr "Plus d'informations sont disponibles dans : :ref:`metaclasses`." -#: glossary.rst:782 +#: glossary.rst:799 msgid "method" msgstr "méthode" -#: glossary.rst:784 +#: glossary.rst:801 msgid "" "A function which is defined inside a class body. If called as an attribute " "of an instance of that class, the method will get the instance object as its " @@ -1893,11 +1923,11 @@ msgstr "" "premier :term:`argument` (qui, par convention, est habituellement nommé " "``self``). Voir :term:`function` et :term:`nested scope`." -#: glossary.rst:788 +#: glossary.rst:805 msgid "method resolution order" msgstr "ordre de résolution des méthodes" -#: glossary.rst:790 +#: glossary.rst:807 msgid "" "Method Resolution Order is the order in which base classes are searched for " "a member during lookup. See `The Python 2.3 Method Resolution Order `_ pour plus de détails sur l'algorithme utilisé par " "l'interpréteur Python depuis la version 2.3." -#: glossary.rst:794 +#: glossary.rst:811 msgid "module" msgstr "module" -#: glossary.rst:796 +#: glossary.rst:813 msgid "" "An object that serves as an organizational unit of Python code. Modules " "have a namespace containing arbitrary Python objects. Modules are loaded " @@ -1925,15 +1955,15 @@ msgstr "" "modules ont un espace de nommage et peuvent contenir n'importe quels objets " "Python. Charger des modules est appelé :term:`importer `." -#: glossary.rst:800 +#: glossary.rst:817 msgid "See also :term:`package`." msgstr "Voir aussi :term:`paquet`." -#: glossary.rst:801 +#: glossary.rst:818 msgid "module spec" msgstr "spécificateur de module" -#: glossary.rst:803 +#: glossary.rst:820 msgid "" "A namespace containing the import-related information used to load a module. " "An instance of :class:`importlib.machinery.ModuleSpec`." @@ -1942,19 +1972,19 @@ msgstr "" "utilisées pour charger un module. C'est une instance de la classe :class:" "`importlib.machinery.ModuleSpec`." -#: glossary.rst:805 +#: glossary.rst:822 msgid "MRO" msgstr "MRO" -#: glossary.rst:807 +#: glossary.rst:824 msgid "See :term:`method resolution order`." msgstr "Voir :term:`ordre de résolution des méthodes`." -#: glossary.rst:808 +#: glossary.rst:825 msgid "mutable" msgstr "muable" -#: glossary.rst:810 +#: glossary.rst:827 msgid "" "Mutable objects can change their value but keep their :func:`id`. See also :" "term:`immutable`." @@ -1962,11 +1992,11 @@ msgstr "" "Un objet muable peut changer de valeur tout en gardant le même :func:`id`. " "Voir aussi :term:`immuable`." -#: glossary.rst:812 +#: glossary.rst:829 msgid "named tuple" msgstr "n-uplet nommé" -#: glossary.rst:814 +#: glossary.rst:831 msgid "" "The term \"named tuple\" applies to any type or class that inherits from " "tuple and whose indexable elements are also accessible using named " @@ -1977,7 +2007,7 @@ msgstr "" "accessibles en utilisant des attributs nommés. Les types et classes peuvent " "avoir aussi d'autres caractéristiques." -#: glossary.rst:818 +#: glossary.rst:835 msgid "" "Several built-in types are named tuples, including the values returned by :" "func:`time.localtime` and :func:`os.stat`. Another example is :data:`sys." @@ -1987,7 +2017,7 @@ msgstr "" "retournées par :func:`time.localtime` et :func:`os.stat`. Un autre exemple " "est :data:`sys.float_info` ::" -#: glossary.rst:829 +#: glossary.rst:846 msgid "" "Some named tuples are built-in types (such as the above examples). " "Alternatively, a named tuple can be created from a regular class definition " @@ -2004,11 +2034,11 @@ msgstr "" "méthodes supplémentaires qui ne seront pas trouvées dans celles écrites à la " "main ni dans les n-uplets nommés natifs." -#: glossary.rst:836 +#: glossary.rst:853 msgid "namespace" msgstr "espace de nommage" -#: glossary.rst:838 +#: glossary.rst:855 msgid "" "The place where a variable is stored. Namespaces are implemented as " "dictionaries. There are the local, global and built-in namespaces as well " @@ -2032,11 +2062,11 @@ msgstr "" "implémentées respectivement dans les modules :mod:`random` et :mod:" "`itertools`." -#: glossary.rst:848 +#: glossary.rst:865 msgid "namespace package" msgstr "paquet-espace de nommage" -#: glossary.rst:850 +#: glossary.rst:867 msgid "" "A :pep:`420` :term:`package` which serves only as a container for " "subpackages. Namespace packages may have no physical representation, and " @@ -2048,15 +2078,15 @@ msgstr "" "aucune représentation physique et, plus spécifiquement, ne sont pas comme " "un :term:`paquet classique` puisqu'ils n'ont pas de fichier ``__init__.py``." -#: glossary.rst:855 +#: glossary.rst:872 msgid "See also :term:`module`." msgstr "Voir aussi :term:`module`." -#: glossary.rst:856 +#: glossary.rst:873 msgid "nested scope" msgstr "portée imbriquée" -#: glossary.rst:858 +#: glossary.rst:875 msgid "" "The ability to refer to a variable in an enclosing definition. For " "instance, a function defined inside another function can refer to variables " @@ -2074,11 +2104,11 @@ msgstr "" "dans l'espace de nommage global, le mot clef :keyword:`nonlocal` permet " "d'écrire dans l'espace de nommage dans lequel est déclarée la variable." -#: glossary.rst:865 +#: glossary.rst:882 msgid "new-style class" msgstr "nouvelle classe" -#: glossary.rst:867 +#: glossary.rst:884 msgid "" "Old name for the flavor of classes now used for all class objects. In " "earlier Python versions, only new-style classes could use Python's newer, " @@ -2091,11 +2121,11 @@ msgstr "" "__slots__`, les descripteurs, les propriétés, :meth:`__getattribute__`, les " "méthodes de classe et les méthodes statiques." -#: glossary.rst:871 +#: glossary.rst:888 msgid "object" msgstr "objet" -#: glossary.rst:873 +#: glossary.rst:890 msgid "" "Any data with state (attributes or value) and defined behavior (methods). " "Also the ultimate base class of any :term:`new-style class`." @@ -2105,11 +2135,11 @@ msgstr "" "l'ancêtre commun à absolument toutes les :term:`nouvelles classes `." -#: glossary.rst:876 +#: glossary.rst:893 msgid "package" msgstr "paquet" -#: glossary.rst:878 +#: glossary.rst:895 msgid "" "A Python :term:`module` which can contain submodules or recursively, " "subpackages. Technically, a package is a Python module with an ``__path__`` " @@ -2119,15 +2149,15 @@ msgstr "" "paquets. Techniquement, un paquet est un module qui possède un attribut " "``__path__``." -#: glossary.rst:882 +#: glossary.rst:899 msgid "See also :term:`regular package` and :term:`namespace package`." msgstr "Voir aussi :term:`paquet classique` et :term:`namespace package`." -#: glossary.rst:883 +#: glossary.rst:900 msgid "parameter" msgstr "paramètre" -#: glossary.rst:885 +#: glossary.rst:902 msgid "" "A named entity in a :term:`function` (or method) definition that specifies " "an :term:`argument` (or in some cases, arguments) that the function can " @@ -2137,7 +2167,7 @@ msgstr "" "décrivant un :term:`argument` (ou dans certains cas des arguments) que la " "fonction accepte. Il existe cinq sortes de paramètres :" -#: glossary.rst:889 +#: glossary.rst:906 msgid "" ":dfn:`positional-or-keyword`: specifies an argument that can be passed " "either :term:`positionally ` or as a :term:`keyword argument " @@ -2149,7 +2179,7 @@ msgstr "" "C'est le type de paramètre par défaut. Par exemple, *foo* et *bar* dans " "l'exemple suivant ::" -#: glossary.rst:898 +#: glossary.rst:915 msgid "" ":dfn:`positional-only`: specifies an argument that can be supplied only by " "position. Positional-only parameters can be defined by including a ``/`` " @@ -2161,7 +2191,7 @@ msgstr "" "un caractère \"/\" dans la liste de paramètres de la définition de fonction " "après eux. Par exemple : *posonly1* et *posonly2* dans le code suivant ::" -#: glossary.rst:907 +#: glossary.rst:924 msgid "" ":dfn:`keyword-only`: specifies an argument that can be supplied only by " "keyword. Keyword-only parameters can be defined by including a single var-" @@ -2175,7 +2205,7 @@ msgstr "" "liste des paramètres avant eux. Par exemple, *kw_only1* et *kw_only2* dans " "le code suivant ::" -#: glossary.rst:915 +#: glossary.rst:932 msgid "" ":dfn:`var-positional`: specifies that an arbitrary sequence of positional " "arguments can be provided (in addition to any positional arguments already " @@ -2188,7 +2218,7 @@ msgstr "" "d'autres paramètres). Un tel paramètre peut être défini en préfixant son nom " "par une ``*``. Par exemple *args* ci-après ::" -#: glossary.rst:923 +#: glossary.rst:940 msgid "" ":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can be " "provided (in addition to any keyword arguments already accepted by other " @@ -2200,7 +2230,7 @@ msgstr "" "d'autres paramètres). Un tel paramètre est défini en préfixant le nom du " "paramètre par ``**``. Par exemple, *kwargs* ci-dessus." -#: glossary.rst:929 +#: glossary.rst:946 msgid "" "Parameters can specify both optional and required arguments, as well as " "default values for some optional arguments." @@ -2208,7 +2238,7 @@ msgstr "" "Les paramètres peuvent spécifier des arguments obligatoires ou optionnels, " "ainsi que des valeurs par défaut pour les arguments optionnels." -#: glossary.rst:932 +#: glossary.rst:949 msgid "" "See also the :term:`argument` glossary entry, the FAQ question on :ref:`the " "difference between arguments and parameters `, " @@ -2220,11 +2250,11 @@ msgstr "" "parameter>` dans la FAQ, la classe :class:`inspect.Parameter`, la section :" "ref:`function` et la :pep:`362`." -#: glossary.rst:936 +#: glossary.rst:953 msgid "path entry" msgstr "entrée de chemin" -#: glossary.rst:938 +#: glossary.rst:955 msgid "" "A single location on the :term:`import path` which the :term:`path based " "finder` consults to find modules for importing." @@ -2233,11 +2263,11 @@ msgstr "" "path* en anglais, d'où le *path*) que le :term:`chercheur basé sur les " "chemins ` consulte pour trouver des modules à importer." -#: glossary.rst:940 +#: glossary.rst:957 msgid "path entry finder" msgstr "chercheur de chemins" -#: glossary.rst:942 +#: glossary.rst:959 msgid "" "A :term:`finder` returned by a callable on :data:`sys.path_hooks` (i.e. a :" "term:`path entry hook`) which knows how to locate modules given a :term:" @@ -2248,7 +2278,7 @@ msgstr "" "path `) qui sait où trouver des modules lorsqu'on lui donne " "une :term:`entrée de path `." -#: glossary.rst:946 +#: glossary.rst:963 msgid "" "See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " "finders implement." @@ -2256,11 +2286,11 @@ msgstr "" "Voir :class:`importlib.abc.PathEntryFinder` pour les méthodes qu'un " "chercheur d'entrée dans *path* doit implémenter." -#: glossary.rst:948 +#: glossary.rst:965 msgid "path entry hook" msgstr "point d'entrée pour la recherche dans *path*" -#: glossary.rst:950 +#: glossary.rst:967 msgid "" "A callable on the :data:`sys.path_hook` list which returns a :term:`path " "entry finder` if it knows how to find modules on a specific :term:`path " @@ -2270,11 +2300,11 @@ msgstr "" "d'entrée dans path ` s'il sait où trouver des modules " "pour une :term:`entrée dans path ` donnée." -#: glossary.rst:953 +#: glossary.rst:970 msgid "path based finder" msgstr "chercheur basé sur les chemins" -#: glossary.rst:955 +#: glossary.rst:972 msgid "" "One of the default :term:`meta path finders ` which " "searches an :term:`import path` for modules." @@ -2283,11 +2313,11 @@ msgstr "" "défaut qui cherche des modules dans un :term:`chemin des importations " "`." -#: glossary.rst:957 +#: glossary.rst:974 msgid "path-like object" msgstr "objet simili-chemin" -#: glossary.rst:959 +#: glossary.rst:976 msgid "" "An object representing a file system path. A path-like object is either a :" "class:`str` or :class:`bytes` object representing a path, or an object " @@ -2307,11 +2337,11 @@ msgstr "" "peuvent être utilisées, respectivement, pour garantir un résultat de type :" "class:`str` ou :class:`bytes` à la place. A été Introduit par la :pep:`519`." -#: glossary.rst:967 +#: glossary.rst:984 msgid "PEP" msgstr "PEP" -#: glossary.rst:969 +#: glossary.rst:986 msgid "" "Python Enhancement Proposal. A PEP is a design document providing " "information to the Python community, or describing a new feature for Python " @@ -2324,7 +2354,7 @@ msgstr "" "ou son environnement. Les PEP doivent fournir une spécification technique " "concise et une justification des fonctionnalités proposées." -#: glossary.rst:975 +#: glossary.rst:992 msgid "" "PEPs are intended to be the primary mechanisms for proposing major new " "features, for collecting community input on an issue, and for documenting " @@ -2339,15 +2369,15 @@ msgstr "" "l’établissement d’un consensus au sein de la communauté et de documenter les " "opinions contradictoires." -#: glossary.rst:981 +#: glossary.rst:998 msgid "See :pep:`1`." msgstr "Voir :pep:`1`." -#: glossary.rst:982 +#: glossary.rst:999 msgid "portion" msgstr "portion" -#: glossary.rst:984 +#: glossary.rst:1001 msgid "" "A set of files in a single directory (possibly stored in a zip file) that " "contribute to a namespace package, as defined in :pep:`420`." @@ -2356,15 +2386,15 @@ msgstr "" "fichier zip) qui contribue à l'espace de nommage d'un paquet, tel que défini " "dans la :pep:`420`." -#: glossary.rst:986 +#: glossary.rst:1003 msgid "positional argument" msgstr "argument positionnel" -#: glossary.rst:989 +#: glossary.rst:1006 msgid "provisional API" msgstr "API provisoire" -#: glossary.rst:991 +#: glossary.rst:1008 msgid "" "A provisional API is one which has been deliberately excluded from the " "standard library's backwards compatibility guarantees. While major changes " @@ -2383,7 +2413,7 @@ msgstr "" "surviendront que si de sérieux problèmes sont découverts et qu'ils n'avaient " "pas été identifiés avant l'ajout de l'API." -#: glossary.rst:1000 +#: glossary.rst:1017 msgid "" "Even for provisional APIs, backwards incompatible changes are seen as a " "\"solution of last resort\" - every attempt will still be made to find a " @@ -2394,7 +2424,7 @@ msgstr "" "possible sera fait pour tenter de résoudre les problèmes en conservant la " "rétrocompatibilité." -#: glossary.rst:1004 +#: glossary.rst:1021 msgid "" "This process allows the standard library to continue to evolve over time, " "without locking in problematic design errors for extended periods of time. " @@ -2404,19 +2434,19 @@ msgstr "" "le temps, sans se bloquer longtemps sur des erreurs d'architecture. Voir la :" "pep:`411` pour plus de détails." -#: glossary.rst:1007 +#: glossary.rst:1024 msgid "provisional package" msgstr "paquet provisoire" -#: glossary.rst:1009 +#: glossary.rst:1026 msgid "See :term:`provisional API`." msgstr "Voir :term:`provisional API`." -#: glossary.rst:1010 +#: glossary.rst:1027 msgid "Python 3000" msgstr "Python 3000" -#: glossary.rst:1012 +#: glossary.rst:1029 msgid "" "Nickname for the Python 3.x release line (coined long ago when the release " "of version 3 was something in the distant future.) This is also abbreviated " @@ -2425,11 +2455,11 @@ msgstr "" "Surnom donné à la série des Python 3.x (très vieux surnom donné à l'époque " "où Python 3 représentait un futur lointain). Aussi abrégé *Py3k*." -#: glossary.rst:1015 +#: glossary.rst:1032 msgid "Pythonic" msgstr "*Pythonique*" -#: glossary.rst:1017 +#: glossary.rst:1034 msgid "" "An idea or piece of code which closely follows the most common idioms of the " "Python language, rather than implementing code using concepts common to " @@ -2445,16 +2475,16 @@ msgstr "" "les gens qui ne sont pas habitués à Python utilisent parfois un compteur " "numérique à la place ::" -#: glossary.rst:1027 +#: glossary.rst:1044 msgid "As opposed to the cleaner, Pythonic method::" msgstr "" "Plutôt qu'utiliser la méthode, plus propre et élégante, donc *Pythonique* ::" -#: glossary.rst:1031 +#: glossary.rst:1048 msgid "qualified name" msgstr "nom qualifié" -#: glossary.rst:1033 +#: glossary.rst:1050 msgid "" "A dotted name showing the \"path\" from a module's global scope to a class, " "function or method defined in that module, as defined in :pep:`3155`. For " @@ -2466,7 +2496,7 @@ msgstr "" "module, tel que défini dans la :pep:`3155`. Pour les fonctions et classes de " "premier niveau, le nom qualifié est le même que le nom de l'objet ::" -#: glossary.rst:1050 +#: glossary.rst:1067 msgid "" "When used to refer to modules, the *fully qualified name* means the entire " "dotted path to the module, including any parent packages, e.g. ``email.mime." @@ -2477,11 +2507,11 @@ msgstr "" "par des points) vers le module, incluant tous les paquets parents. Par " "exemple : ``email.mime.text`` ::" -#: glossary.rst:1057 +#: glossary.rst:1074 msgid "reference count" msgstr "nombre de références" -#: glossary.rst:1059 +#: glossary.rst:1076 msgid "" "The number of references to an object. When the reference count of an " "object drops to zero, it is deallocated. Reference counting is generally " @@ -2497,11 +2527,11 @@ msgstr "" "func:`~sys.getrefcount` que les développeurs peuvent utiliser pour obtenir " "le nombre de références à un objet donné." -#: glossary.rst:1065 +#: glossary.rst:1082 msgid "regular package" msgstr "paquet classique" -#: glossary.rst:1067 +#: glossary.rst:1084 msgid "" "A traditional :term:`package`, such as a directory containing an ``__init__." "py`` file." @@ -2509,15 +2539,15 @@ msgstr "" ":term:`paquet` traditionnel, tel qu'un dossier contenant un fichier " "``__init__.py``." -#: glossary.rst:1070 +#: glossary.rst:1087 msgid "See also :term:`namespace package`." msgstr "Voir aussi :term:`paquet-espace de nommage `." -#: glossary.rst:1071 +#: glossary.rst:1088 msgid "__slots__" msgstr "__slots__" -#: glossary.rst:1073 +#: glossary.rst:1090 msgid "" "A declaration inside a class that saves memory by pre-declaring space for " "instance attributes and eliminating instance dictionaries. Though popular, " @@ -2532,11 +2562,11 @@ msgstr "" "nombre d'instances dans une application devient un sujet critique pour la " "mémoire." -#: glossary.rst:1078 +#: glossary.rst:1095 msgid "sequence" msgstr "séquence" -#: glossary.rst:1080 +#: glossary.rst:1097 msgid "" "An :term:`iterable` which supports efficient element access using integer " "indices via the :meth:`__getitem__` special method and defines a :meth:" @@ -2555,7 +2585,7 @@ msgstr "" "*mapping* plutôt qu'une séquence, car ses accès se font par une clé " "arbitraire :term:`immuable` plutôt qu'un nombre entier." -#: glossary.rst:1089 +#: glossary.rst:1106 msgid "" "The :class:`collections.abc.Sequence` abstract base class defines a much " "richer interface that goes beyond just :meth:`__getitem__` and :meth:" @@ -2569,11 +2599,11 @@ msgstr "" "et :meth:`__reversed__`. Les types qui implémentent cette interface étendue " "peuvent s'enregistrer explicitement en utilisant :func:`~abc.register`." -#: glossary.rst:1096 +#: glossary.rst:1113 msgid "set comprehension" msgstr "ensemble en compréhension (ou ensemble en intension)" -#: glossary.rst:1098 +#: glossary.rst:1115 msgid "" "A compact way to process all or part of the elements in an iterable and " "return a set with the results. ``results = {c for c in 'abracadabra' if c " @@ -2585,11 +2615,11 @@ msgstr "" "'abracadabra' if c not in 'abc'}`` génère l'ensemble contenant les lettres " "« r » et « d » ``{'r', 'd'}``. Voir :ref:`comprehensions`." -#: glossary.rst:1102 +#: glossary.rst:1119 msgid "single dispatch" msgstr "distribution simple" -#: glossary.rst:1104 +#: glossary.rst:1121 msgid "" "A form of :term:`generic function` dispatch where the implementation is " "chosen based on the type of a single argument." @@ -2598,11 +2628,11 @@ msgstr "" "générique>`, où l'implémentation est choisie en fonction du type d'un seul " "argument." -#: glossary.rst:1106 +#: glossary.rst:1123 msgid "slice" msgstr "tranche" -#: glossary.rst:1108 +#: glossary.rst:1125 msgid "" "An object usually containing a portion of a :term:`sequence`. A slice is " "created using the subscript notation, ``[]`` with colons between numbers " @@ -2615,11 +2645,11 @@ msgstr "" "``variable_name[1:3:5]``. Cette notation utilise des objets :class:`slice` " "en interne." -#: glossary.rst:1112 +#: glossary.rst:1129 msgid "special method" msgstr "méthode spéciale" -#: glossary.rst:1116 +#: glossary.rst:1133 msgid "" "A method that is called implicitly by Python to execute a certain operation " "on a type, such as addition. Such methods have names starting and ending " @@ -2631,11 +2661,11 @@ msgstr "" "ont des noms commençant et terminant par des doubles tirets bas. Les " "méthodes spéciales sont documentées dans :ref:`specialnames`." -#: glossary.rst:1120 +#: glossary.rst:1137 msgid "statement" msgstr "instruction" -#: glossary.rst:1122 +#: glossary.rst:1139 msgid "" "A statement is part of a suite (a \"block\" of code). A statement is either " "an :term:`expression` or one of several constructs with a keyword, such as :" @@ -2646,11 +2676,11 @@ msgstr "" "constructions basées sur un mot-clé, comme :keyword:`if`, :keyword:`while` " "ou :keyword:`for`." -#: glossary.rst:1125 +#: glossary.rst:1142 msgid "strong reference" msgstr "référence forte" -#: glossary.rst:1127 +#: glossary.rst:1144 msgid "" "In Python's C API, a strong reference is a reference to an object which " "increments the object's reference count when it is created and decrements " @@ -2660,7 +2690,7 @@ msgstr "" "qui incrémente son compteur de références lorsqu'elle est créée et le " "décrémente lorsqu'elle est effacée." -#: glossary.rst:1131 +#: glossary.rst:1148 msgid "" "The :c:func:`Py_NewRef` function can be used to create a strong reference to " "an object. Usually, the :c:func:`Py_DECREF` function must be called on the " @@ -2671,38 +2701,38 @@ msgstr "" "Il faut normalement appeler :c:func:`Py_DECREF` dessus avant de sortir de sa " "portée lexicale, sans quoi il y a une fuite de référence." -#: glossary.rst:1136 +#: glossary.rst:1153 msgid "See also :term:`borrowed reference`." msgstr "Voir aussi :term:`référence empruntée`." -#: glossary.rst:1137 +#: glossary.rst:1154 msgid "text encoding" msgstr "encodage de texte" -#: glossary.rst:1139 +#: glossary.rst:1156 msgid "" "A string in Python is a sequence of Unicode code points (in range " "``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " "serialized as a sequence of bytes." msgstr "" -#: glossary.rst:1143 +#: glossary.rst:1160 msgid "" "Serializing a string into a sequence of bytes is known as \"encoding\", and " "recreating the string from the sequence of bytes is known as \"decoding\"." msgstr "" -#: glossary.rst:1146 +#: glossary.rst:1163 msgid "" "There are a variety of different text serialization :ref:`codecs `, which are collectively referred to as \"text encodings\"." msgstr "" -#: glossary.rst:1149 +#: glossary.rst:1166 msgid "text file" msgstr "fichier texte" -#: glossary.rst:1151 +#: glossary.rst:1168 msgid "" "A :term:`file object` able to read and write :class:`str` objects. Often, a " "text file actually accesses a byte-oriented datastream and handles the :term:" @@ -2717,7 +2747,7 @@ msgstr "" "ou ``'w'``), :data:`sys.stdin`, :data:`sys.stdout` et les instances de :" "class:`io.StringIO`." -#: glossary.rst:1158 +#: glossary.rst:1175 msgid "" "See also :term:`binary file` for a file object able to read and write :term:" "`bytes-like objects `." @@ -2725,11 +2755,11 @@ msgstr "" "Voir aussi :term:`binary file` pour un objet fichier capable de lire et " "d'écrire :term:`bytes-like objects `." -#: glossary.rst:1160 +#: glossary.rst:1177 msgid "triple-quoted string" msgstr "chaîne entre triple guillemets" -#: glossary.rst:1162 +#: glossary.rst:1179 msgid "" "A string which is bound by three instances of either a quotation mark (\") " "or an apostrophe ('). While they don't provide any functionality not " @@ -2748,11 +2778,11 @@ msgstr "" "``\\``. Elle est ainsi particulièrement utile pour les chaînes de " "documentation (*docstrings*)." -#: glossary.rst:1169 +#: glossary.rst:1186 msgid "type" msgstr "type" -#: glossary.rst:1171 +#: glossary.rst:1188 msgid "" "The type of a Python object determines what kind of object it is; every " "object has a type. An object's type is accessible as its :attr:`~instance." @@ -2762,15 +2792,15 @@ msgstr "" "objets ont un type. Le type d'un objet peut être obtenu via son attribut :" "attr:`~instance.__class__` ou via ``type(obj)``." -#: glossary.rst:1175 +#: glossary.rst:1192 msgid "type alias" msgstr "alias de type" -#: glossary.rst:1177 +#: glossary.rst:1194 msgid "A synonym for a type, created by assigning the type to an identifier." msgstr "Synonyme d'un type, créé en affectant le type à un identifiant." -#: glossary.rst:1179 +#: glossary.rst:1196 msgid "" "Type aliases are useful for simplifying :term:`type hints `. For " "example::" @@ -2778,19 +2808,19 @@ msgstr "" "Les alias de types sont utiles pour simplifier les :term:`indications de " "types `. Par exemple ::" -#: glossary.rst:1186 +#: glossary.rst:1203 msgid "could be made more readable like this::" msgstr "pourrait être rendu plus lisible comme ceci ::" -#: glossary.rst:1207 +#: glossary.rst:1224 msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." msgstr "Voir :mod:`typing` et :pep:`484`, qui décrivent cette fonctionnalité." -#: glossary.rst:1194 +#: glossary.rst:1211 msgid "type hint" msgstr "indication de type" -#: glossary.rst:1196 +#: glossary.rst:1213 msgid "" "An :term:`annotation` that specifies the expected type for a variable, a " "class attribute, or a function parameter or return value." @@ -2798,7 +2828,7 @@ msgstr "" "Le :term:`annotation` qui spécifie le type attendu pour une variable, un " "attribut de classe, un paramètre de fonction ou une valeur de retour." -#: glossary.rst:1199 +#: glossary.rst:1216 msgid "" "Type hints are optional and are not enforced by Python but they are useful " "to static type analysis tools, and aid IDEs with code completion and " @@ -2809,7 +2839,7 @@ msgstr "" "statique et aident les IDE à compléter et à réusiner (*code refactoring* en " "anglais) le code." -#: glossary.rst:1203 +#: glossary.rst:1220 msgid "" "Type hints of global variables, class attributes, and functions, but not " "local variables, can be accessed using :func:`typing.get_type_hints`." @@ -2818,11 +2848,11 @@ msgstr "" "fonctions, mais pas de variables locales, peuvent être consultés en " "utilisant :func:`typing.get_type_hints`." -#: glossary.rst:1208 +#: glossary.rst:1225 msgid "universal newlines" msgstr "retours à la ligne universels" -#: glossary.rst:1210 +#: glossary.rst:1227 msgid "" "A manner of interpreting text streams in which all of the following are " "recognized as ending a line: the Unix end-of-line convention ``'\\n'``, the " @@ -2836,22 +2866,22 @@ msgstr "" "``'\\r'``. Voir la :pep:`278` et la :pep:`3116`, ainsi que la fonction :func:" "`bytes.splitlines` pour d'autres usages." -#: glossary.rst:1215 +#: glossary.rst:1232 msgid "variable annotation" msgstr "annotation de variable" -#: glossary.rst:1217 +#: glossary.rst:1234 msgid "An :term:`annotation` of a variable or a class attribute." msgstr ":term:`annotation` d'une variable ou d'un attribut de classe." -#: glossary.rst:1219 +#: glossary.rst:1236 msgid "" "When annotating a variable or a class attribute, assignment is optional::" msgstr "" "Lorsque vous annotez une variable ou un attribut de classe, l'affectation " "est facultative ::" -#: glossary.rst:1224 +#: glossary.rst:1241 msgid "" "Variable annotations are usually used for :term:`type hints `: " "for example this variable is expected to take :class:`int` values::" @@ -2860,13 +2890,13 @@ msgstr "" "`indications de types ` : par exemple, cette variable devrait " "prendre des valeurs de type :class:`int` ::" -#: glossary.rst:1230 +#: glossary.rst:1247 msgid "Variable annotation syntax is explained in section :ref:`annassign`." msgstr "" "La syntaxe d'annotation de la variable est expliquée dans la section :ref:" "`annassign`." -#: glossary.rst:1232 +#: glossary.rst:1249 msgid "" "See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " "this functionality. Also see :ref:`annotations-howto` for best practices on " @@ -2876,11 +2906,11 @@ msgstr "" "pep:`484` et à la :pep:`526` qui décrivent cette fonctionnalité. Voir aussi :" "ref:`annotations-howto` sur les bonnes pratiques concernant les annotations." -#: glossary.rst:1236 +#: glossary.rst:1253 msgid "virtual environment" msgstr "environnement virtuel" -#: glossary.rst:1238 +#: glossary.rst:1255 msgid "" "A cooperatively isolated runtime environment that allows Python users and " "applications to install and upgrade Python distribution packages without " @@ -2892,15 +2922,15 @@ msgstr "" "des paquets sans interférer avec d'autres applications Python fonctionnant " "sur le même système." -#: glossary.rst:1243 +#: glossary.rst:1260 msgid "See also :mod:`venv`." msgstr "Voir aussi :mod:`venv`." -#: glossary.rst:1244 +#: glossary.rst:1261 msgid "virtual machine" msgstr "machine virtuelle" -#: glossary.rst:1246 +#: glossary.rst:1263 msgid "" "A computer defined entirely in software. Python's virtual machine executes " "the :term:`bytecode` emitted by the bytecode compiler." @@ -2909,11 +2939,11 @@ msgstr "" "(*virtual machine*) de Python exécute le :term:`bytecode` produit par le " "compilateur de *bytecode*." -#: glossary.rst:1248 +#: glossary.rst:1265 msgid "Zen of Python" msgstr "Le zen de Python" -#: glossary.rst:1250 +#: glossary.rst:1267 msgid "" "Listing of Python design principles and philosophies that are helpful in " "understanding and using the language. The listing can be found by typing " diff --git a/howto/clinic.po b/howto/clinic.po index 0f2853d8c0..43ec50242a 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:29+0200\n" "Last-Translator: Mindiell \n" "Language-Team: FRENCH \n" @@ -806,10 +806,11 @@ msgstr "" "*n'ajoutez pas* de virgule à la fin." #: howto/clinic.rst:542 +#, fuzzy msgid "" "Compile, then run the relevant portions of the regression-test suite. This " "change should not introduce any new compile-time warnings or errors, and " -"there should be no externally-visible change to Python's behavior." +"there should be no externally visible change to Python's behavior." msgstr "" "Compilez, puis faites tourner les portions idoines de la suite de tests de " "régressions. Ce changement ne doit introduire aucun nouveau message d'erreur " @@ -2110,7 +2111,7 @@ msgstr "" #: howto/clinic.rst:1123 msgid "" -"Sorry, there's no syntax for partially-cloning a function, or cloning a " +"Sorry, there's no syntax for partially cloning a function, or cloning a " "function then modifying it. Cloning is an all-or nothing proposition." msgstr "" @@ -2324,7 +2325,7 @@ msgid "" "The default value used to initialize the C variable when there is no " "default, but not specifying a default may result in an \"uninitialized " "variable\" warning. This can easily happen when using option groups—" -"although properly-written code will never actually use this value, the " +"although properly written code will never actually use this value, the " "variable does get passed in to the impl, and the C compiler will complain " "about the \"use\" of the uninitialized value. This value should always be a " "non-empty string." diff --git a/howto/curses.po b/howto/curses.po index 00039b9ca9..9a054a96ac 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-09-04 23:34+0200\n" "Last-Translator: Khaïs COLIN \n" "Language-Team: FRENCH \n" @@ -1039,8 +1039,9 @@ msgstr "" "comment soumettre des améliorations à Python." #: howto/curses.rst:540 +#, fuzzy msgid "" -"`Writing Programs with NCURSES `_: a lengthy tutorial for C programmers." msgstr "" "`Writing Programs with NCURSES `_" msgstr "`La page de manuel ncurses `_" #: howto/curses.rst:543 +#, fuzzy msgid "" -"`The ncurses FAQ `_" +"`The ncurses FAQ `_" msgstr "" "`La FAQ ncurses `_ " "(ressource en anglais)" @@ -1069,10 +1071,11 @@ msgstr "" "gestion des terminaux à l'aide de *curses* et *Urwid* (vidéo en anglais)." #: howto/curses.rst:546 +#, fuzzy msgid "" -"`\"Console Applications with Urwid\" `_: video of a PyCon CA 2012 talk " -"demonstrating some applications written using Urwid." +"`\"Console Applications with Urwid\" `_: video of a PyCon CA 2012 talk demonstrating some " +"applications written using Urwid." msgstr "" "`\"Console Applications with Urwid\" `_ : vidéo d'une conférence lors de PyCon CA " diff --git a/howto/descriptor.po b/howto/descriptor.po index aaa88ac17a..06ceed9b82 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:28+0100\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -570,14 +570,14 @@ msgid "" "is a pure Python equivalent:" msgstr "" -#: howto/descriptor.rst:699 +#: howto/descriptor.rst:719 msgid "" "Note, there is no :meth:`__getattr__` hook in the :meth:`__getattribute__` " "code. That is why calling :meth:`__getattribute__` directly or with " "``super().__getattribute__`` will bypass :meth:`__getattr__` entirely." msgstr "" -#: howto/descriptor.rst:703 +#: howto/descriptor.rst:723 msgid "" "Instead, it is the dot operator and the :func:`getattr` function that are " "responsible for invoking :meth:`__getattr__` whenever :meth:" @@ -585,12 +585,12 @@ msgid "" "encapsulated in a helper function:" msgstr "" -#: howto/descriptor.rst:753 +#: howto/descriptor.rst:773 #, fuzzy msgid "Invocation from a class" msgstr "Appelé depuis un Classe" -#: howto/descriptor.rst:755 +#: howto/descriptor.rst:775 msgid "" "The logic for a dotted lookup such as ``A.x`` is in :meth:`type." "__getattribute__`. The steps are similar to those for :meth:`object." @@ -598,27 +598,27 @@ msgid "" "through the class's :term:`method resolution order`." msgstr "" -#: howto/descriptor.rst:760 +#: howto/descriptor.rst:780 msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." msgstr "" -#: howto/descriptor.rst:762 +#: howto/descriptor.rst:782 msgid "" "The full C implementation can be found in :c:func:`type_getattro()` and :c:" "func:`_PyType_Lookup()` in :source:`Objects/typeobject.c`." msgstr "" -#: howto/descriptor.rst:767 +#: howto/descriptor.rst:787 msgid "Invocation from super" msgstr "" -#: howto/descriptor.rst:769 +#: howto/descriptor.rst:789 msgid "" "The logic for super's dotted lookup is in the :meth:`__getattribute__` " "method for object returned by :class:`super()`." msgstr "" -#: howto/descriptor.rst:772 +#: howto/descriptor.rst:792 #, fuzzy msgid "" "A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__." @@ -634,7 +634,7 @@ msgstr "" "inchangé. S'il n'est pas dans le dictionnaire, la recherche de ``m`` revient " "à une recherche utilisant :meth:`object.__getattribute__`." -#: howto/descriptor.rst:777 +#: howto/descriptor.rst:797 #, fuzzy msgid "" "The full C implementation can be found in :c:func:`super_getattro()` in :" @@ -646,32 +646,32 @@ msgstr "" "source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé " "dans `Guido's Tutorial`_." -#: howto/descriptor.rst:784 +#: howto/descriptor.rst:804 msgid "Summary of invocation logic" msgstr "" -#: howto/descriptor.rst:786 +#: howto/descriptor.rst:806 msgid "" "The mechanism for descriptors is embedded in the :meth:`__getattribute__()` " "methods for :class:`object`, :class:`type`, and :func:`super`." msgstr "" -#: howto/descriptor.rst:789 +#: howto/descriptor.rst:809 msgid "The important points to remember are:" msgstr "Les points importants à retenir sont :" -#: howto/descriptor.rst:791 +#: howto/descriptor.rst:811 #, fuzzy msgid "Descriptors are invoked by the :meth:`__getattribute__` method." msgstr "les descripteurs sont appelés par la méthode :meth:`__getattribute__`" -#: howto/descriptor.rst:793 +#: howto/descriptor.rst:813 msgid "" "Classes inherit this machinery from :class:`object`, :class:`type`, or :func:" "`super`." msgstr "" -#: howto/descriptor.rst:796 +#: howto/descriptor.rst:816 #, fuzzy msgid "" "Overriding :meth:`__getattribute__` prevents automatic descriptor calls " @@ -680,7 +680,7 @@ msgstr "" "redéfinir :meth:`__getattribute____` empêche les appels automatiques de " "descripteurs" -#: howto/descriptor.rst:799 +#: howto/descriptor.rst:819 #, fuzzy msgid "" ":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " @@ -691,25 +691,25 @@ msgstr "" ":meth:`objet.__getattribute__` et :meth:`type.__getattribute__` font " "différents appels à :meth:`__get__`." -#: howto/descriptor.rst:804 +#: howto/descriptor.rst:824 #, fuzzy msgid "Data descriptors always override instance dictionaries." msgstr "" "les descripteurs de données remplacent toujours les dictionnaires " "d'instances." -#: howto/descriptor.rst:806 +#: howto/descriptor.rst:826 #, fuzzy msgid "Non-data descriptors may be overridden by instance dictionaries." msgstr "" "les descripteurs *non-data* peuvent être remplacés par des dictionnaires " "d'instance." -#: howto/descriptor.rst:810 +#: howto/descriptor.rst:830 msgid "Automatic name notification" msgstr "" -#: howto/descriptor.rst:812 +#: howto/descriptor.rst:832 msgid "" "Sometimes it is desirable for a descriptor to know what class variable name " "it was assigned to. When a new class is created, the :class:`type` " @@ -719,7 +719,7 @@ msgid "" "and the *name* is the class variable the descriptor was assigned to." msgstr "" -#: howto/descriptor.rst:819 +#: howto/descriptor.rst:839 #, fuzzy msgid "" "The implementation details are in :c:func:`type_new()` and :c:func:" @@ -729,53 +729,53 @@ msgstr "" "source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé " "dans `Guido's Tutorial`_." -#: howto/descriptor.rst:822 +#: howto/descriptor.rst:842 msgid "" "Since the update logic is in :meth:`type.__new__`, notifications only take " "place at the time of class creation. If descriptors are added to the class " "afterwards, :meth:`__set_name__` will need to be called manually." msgstr "" -#: howto/descriptor.rst:828 +#: howto/descriptor.rst:848 msgid "ORM example" msgstr "" -#: howto/descriptor.rst:830 +#: howto/descriptor.rst:850 msgid "" -"The following code is simplified skeleton showing how data descriptors could " -"be used to implement an `object relational mapping `_." +"The following code is a simplified skeleton showing how data descriptors " +"could be used to implement an `object relational mapping `_." msgstr "" -#: howto/descriptor.rst:834 +#: howto/descriptor.rst:854 msgid "" "The essential idea is that the data is stored in an external database. The " "Python instances only hold keys to the database's tables. Descriptors take " "care of lookups or updates:" msgstr "" -#: howto/descriptor.rst:853 +#: howto/descriptor.rst:873 msgid "" "We can use the :class:`Field` class to define `models `_ that describe the schema for each table in a " "database:" msgstr "" -#: howto/descriptor.rst:878 +#: howto/descriptor.rst:898 msgid "To use the models, first connect to the database::" msgstr "" -#: howto/descriptor.rst:883 +#: howto/descriptor.rst:903 msgid "" "An interactive session shows how data is retrieved from the database and how " "it can be updated:" msgstr "" -#: howto/descriptor.rst:928 +#: howto/descriptor.rst:948 msgid "Pure Python Equivalents" msgstr "" -#: howto/descriptor.rst:930 +#: howto/descriptor.rst:950 #, fuzzy msgid "" "The descriptor protocol is simple and offers exciting possibilities. " @@ -789,11 +789,11 @@ msgstr "" "statiques et les méthodes de classe sont toutes basées sur le protocole du " "descripteur." -#: howto/descriptor.rst:937 +#: howto/descriptor.rst:957 msgid "Properties" msgstr "Propriétés" -#: howto/descriptor.rst:939 +#: howto/descriptor.rst:959 #, fuzzy msgid "" "Calling :func:`property` is a succinct way of building a data descriptor " @@ -804,7 +804,7 @@ msgstr "" "descripteur de données qui déclenche des appels de fonction lors de l'accès " "à un attribut. Sa signature est ::" -#: howto/descriptor.rst:944 +#: howto/descriptor.rst:964 #, fuzzy msgid "" "The documentation shows a typical use to define a managed attribute ``x``:" @@ -812,7 +812,7 @@ msgstr "" "La documentation montre une utilisation typique pour définir un attribut " "géré ``x`` ::" -#: howto/descriptor.rst:968 +#: howto/descriptor.rst:988 #, fuzzy msgid "" "To see how :func:`property` is implemented in terms of the descriptor " @@ -821,7 +821,7 @@ msgstr "" "Pour voir comment :func:`property` est implémenté dans le protocole du " "descripteur, voici un un équivalent Python pur ::" -#: howto/descriptor.rst:1071 +#: howto/descriptor.rst:1091 msgid "" "The :func:`property` builtin helps whenever a user interface has granted " "attribute access and then subsequent changes require the intervention of a " @@ -831,7 +831,7 @@ msgstr "" "utilisateur a accordé l'accès à un attribut et que des modifications " "ultérieures nécessitent l'intervention d'une méthode." -#: howto/descriptor.rst:1075 +#: howto/descriptor.rst:1095 #, fuzzy msgid "" "For instance, a spreadsheet class may grant access to a cell value through " @@ -848,18 +848,18 @@ msgstr "" "directement à l'attribut. La solution consiste à envelopper l'accès à " "l'attribut de valeur dans un descripteur de données de propriété ::" -#: howto/descriptor.rst:1092 +#: howto/descriptor.rst:1112 msgid "" "Either the built-in :func:`property` or our :func:`Property` equivalent " "would work in this example." msgstr "" -#: howto/descriptor.rst:1097 +#: howto/descriptor.rst:1117 #, fuzzy msgid "Functions and methods" msgstr "Fonctions et méthodes" -#: howto/descriptor.rst:1099 +#: howto/descriptor.rst:1119 msgid "" "Python's object oriented features are built upon a function based " "environment. Using non-data descriptors, the two are merged seamlessly." @@ -868,7 +868,7 @@ msgstr "" "environnement basé sur des fonctions. À l'aide de descripteurs *non-data*, " "les deux sont fusionnés de façon transparente." -#: howto/descriptor.rst:1102 +#: howto/descriptor.rst:1122 #, fuzzy msgid "" "Functions stored in class dictionaries get turned into methods when invoked. " @@ -884,13 +884,13 @@ msgstr "" "convention Python, la référence de l'instance est appelée *self* mais peut " "être appelée *this* ou tout autre nom de variable." -#: howto/descriptor.rst:1107 +#: howto/descriptor.rst:1127 msgid "" "Methods can be created manually with :class:`types.MethodType` which is " "roughly equivalent to:" msgstr "" -#: howto/descriptor.rst:1124 +#: howto/descriptor.rst:1144 #, fuzzy msgid "" "To support automatic creation of methods, functions include the :meth:" @@ -904,7 +904,7 @@ msgstr "" "*non-data* qui renvoient des méthodes liées lorsqu'elles sont appelées " "depuis un objet. En Python pur, il fonctionne comme ceci ::" -#: howto/descriptor.rst:1140 +#: howto/descriptor.rst:1160 #, fuzzy msgid "" "Running the following class in the interpreter shows how the function " @@ -913,47 +913,47 @@ msgstr "" "L'exécution de l'interpréteur montre comment le descripteur de fonction se " "comporte dans la pratique ::" -#: howto/descriptor.rst:1149 +#: howto/descriptor.rst:1169 msgid "" "The function has a :term:`qualified name` attribute to support introspection:" msgstr "" -#: howto/descriptor.rst:1156 +#: howto/descriptor.rst:1176 msgid "" "Accessing the function through the class dictionary does not invoke :meth:" "`__get__`. Instead, it just returns the underlying function object::" msgstr "" -#: howto/descriptor.rst:1162 +#: howto/descriptor.rst:1182 msgid "" "Dotted access from a class calls :meth:`__get__` which just returns the " "underlying function unchanged::" msgstr "" -#: howto/descriptor.rst:1168 +#: howto/descriptor.rst:1188 msgid "" "The interesting behavior occurs during dotted access from an instance. The " "dotted lookup calls :meth:`__get__` which returns a bound method object::" msgstr "" -#: howto/descriptor.rst:1175 +#: howto/descriptor.rst:1195 msgid "" "Internally, the bound method stores the underlying function and the bound " "instance::" msgstr "" -#: howto/descriptor.rst:1184 +#: howto/descriptor.rst:1204 msgid "" "If you have ever wondered where *self* comes from in regular methods or " "where *cls* comes from in class methods, this is it!" msgstr "" -#: howto/descriptor.rst:1189 +#: howto/descriptor.rst:1209 #, fuzzy msgid "Kinds of methods" msgstr "Fonctions et méthodes" -#: howto/descriptor.rst:1191 +#: howto/descriptor.rst:1211 msgid "" "Non-data descriptors provide a simple mechanism for variations on the usual " "patterns of binding functions into methods." @@ -961,7 +961,7 @@ msgstr "" "Les descripteurs *non-data* fournissent un mécanisme simple pour les " "variations des patrons habituels des fonctions de liaison dans les méthodes." -#: howto/descriptor.rst:1194 +#: howto/descriptor.rst:1214 #, fuzzy msgid "" "To recap, functions have a :meth:`__get__` method so that they can be " @@ -974,60 +974,60 @@ msgstr "" "descripteur *non-data* transforme un appel ``obj.f(*args)``en ``f(obj, " "*args)``. Appeler ``klass.f(*args)`` devient ``f(*args)``." -#: howto/descriptor.rst:1199 +#: howto/descriptor.rst:1219 msgid "This chart summarizes the binding and its two most useful variants:" msgstr "" "Ce tableau résume le lien (*binding*) et ses deux variantes les plus " "utiles ::" -#: howto/descriptor.rst:1202 +#: howto/descriptor.rst:1222 msgid "Transformation" msgstr "Transformation" -#: howto/descriptor.rst:1202 +#: howto/descriptor.rst:1222 #, fuzzy msgid "Called from an object" msgstr "Appelé depuis un Objet" -#: howto/descriptor.rst:1202 +#: howto/descriptor.rst:1222 #, fuzzy msgid "Called from a class" msgstr "Appelé depuis un Classe" -#: howto/descriptor.rst:1205 +#: howto/descriptor.rst:1225 msgid "function" msgstr "fonction" -#: howto/descriptor.rst:1205 +#: howto/descriptor.rst:1225 msgid "f(obj, \\*args)" msgstr "f(obj, \\*args)" -#: howto/descriptor.rst:1207 +#: howto/descriptor.rst:1227 msgid "f(\\*args)" msgstr "f(\\*args)" -#: howto/descriptor.rst:1207 +#: howto/descriptor.rst:1227 msgid "staticmethod" msgstr "méthode statique" -#: howto/descriptor.rst:1209 +#: howto/descriptor.rst:1229 msgid "classmethod" msgstr "méthode de classe" -#: howto/descriptor.rst:1209 +#: howto/descriptor.rst:1229 msgid "f(type(obj), \\*args)" msgstr "f(type(obj), \\*args)" -#: howto/descriptor.rst:1209 +#: howto/descriptor.rst:1229 msgid "f(cls, \\*args)" msgstr "f(cls, \\*args)" -#: howto/descriptor.rst:1214 +#: howto/descriptor.rst:1234 #, fuzzy msgid "Static methods" msgstr "méthode statique" -#: howto/descriptor.rst:1216 +#: howto/descriptor.rst:1236 msgid "" "Static methods return the underlying function without changes. Calling " "either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object." @@ -1041,7 +1041,7 @@ msgstr "" "__getattribute__(C, \"f\")``. Par conséquent, la fonction devient accessible " "de manière identique à partir d'un objet ou d'une classe." -#: howto/descriptor.rst:1222 +#: howto/descriptor.rst:1242 msgid "" "Good candidates for static methods are methods that do not reference the " "``self`` variable." @@ -1049,7 +1049,7 @@ msgstr "" "Les bonnes candidates pour être méthode statique sont des méthodes qui ne " "font pas référence à la variable ``self``." -#: howto/descriptor.rst:1225 +#: howto/descriptor.rst:1245 msgid "" "For instance, a statistics package may include a container class for " "experimental data. The class provides normal methods for computing the " @@ -1071,7 +1071,7 @@ msgstr "" "appelée à partir d'un objet ou de la classe : ``s.erf(1.5) --> .9332`` ou " "``Sample.erf(1.5) --> .9332``." -#: howto/descriptor.rst:1234 +#: howto/descriptor.rst:1254 #, fuzzy msgid "" "Since static methods return the underlying function with no changes, the " @@ -1080,7 +1080,7 @@ msgstr "" "Depuis que les méthodes statiques renvoient la fonction sous-jacente sans " "changement, les exemples d’appels ne sont pas excitants ::" -#: howto/descriptor.rst:1251 +#: howto/descriptor.rst:1271 #, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" @@ -1089,12 +1089,12 @@ msgstr "" "En utilisant le protocole de descripteur *non-data*, une version Python pure " "de :func:`staticmethod` ressemblerait à ceci ::" -#: howto/descriptor.rst:1290 +#: howto/descriptor.rst:1310 #, fuzzy msgid "Class methods" msgstr "méthode de classe" -#: howto/descriptor.rst:1292 +#: howto/descriptor.rst:1312 #, fuzzy msgid "" "Unlike static methods, class methods prepend the class reference to the " @@ -1105,7 +1105,7 @@ msgstr "" "référence de classe dans la liste d'arguments avant d'appeler la fonction. " "Ce format est le même que l'appelant soit un objet ou une classe ::" -#: howto/descriptor.rst:1310 +#: howto/descriptor.rst:1330 #, fuzzy msgid "" "This behavior is useful whenever the method only needs to have a class " @@ -1121,14 +1121,14 @@ msgstr "" "nouveau dictionnaire à partir d'une liste de clés. L'équivalent Python pur " "est ::" -#: howto/descriptor.rst:1327 +#: howto/descriptor.rst:1347 #, fuzzy msgid "Now a new dictionary of unique keys can be constructed like this:" msgstr "" "Maintenant un nouveau dictionnaire de clés uniques peut être construit comme " "ceci ::" -#: howto/descriptor.rst:1337 +#: howto/descriptor.rst:1357 #, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" @@ -1137,7 +1137,7 @@ msgstr "" "En utilisant le protocole de descripteur *non-data*, une version Python pure " "de :func:`classmethod` ressemblerait à ceci ::" -#: howto/descriptor.rst:1386 +#: howto/descriptor.rst:1406 msgid "" "The code path for ``hasattr(type(self.f), '__get__')`` was added in Python " "3.9 and makes it possible for :func:`classmethod` to support chained " @@ -1145,30 +1145,30 @@ msgid "" "together:" msgstr "" -#: howto/descriptor.rst:1406 +#: howto/descriptor.rst:1426 msgid "Member objects and __slots__" msgstr "" -#: howto/descriptor.rst:1408 +#: howto/descriptor.rst:1428 msgid "" "When a class defines ``__slots__``, it replaces instance dictionaries with a " "fixed-length array of slot values. From a user point of view that has " "several effects:" msgstr "" -#: howto/descriptor.rst:1412 +#: howto/descriptor.rst:1432 msgid "" "1. Provides immediate detection of bugs due to misspelled attribute " "assignments. Only attribute names specified in ``__slots__`` are allowed:" msgstr "" -#: howto/descriptor.rst:1428 +#: howto/descriptor.rst:1448 msgid "" "2. Helps create immutable objects where descriptors manage access to private " "attributes stored in ``__slots__``:" msgstr "" -#: howto/descriptor.rst:1463 +#: howto/descriptor.rst:1483 msgid "" "3. Saves memory. On a 64-bit Linux build, an instance with two attributes " "takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight " @@ -1176,19 +1176,19 @@ msgid "" "only matters when a large number of instances are going to be created." msgstr "" -#: howto/descriptor.rst:1468 +#: howto/descriptor.rst:1488 msgid "" "4. Improves speed. Reading instance variables is 35% faster with " "``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)." msgstr "" -#: howto/descriptor.rst:1471 +#: howto/descriptor.rst:1491 msgid "" "5. Blocks tools like :func:`functools.cached_property` which require an " "instance dictionary to function correctly:" msgstr "" -#: howto/descriptor.rst:1493 +#: howto/descriptor.rst:1513 msgid "" "It is not possible to create an exact drop-in pure Python version of " "``__slots__`` because it requires direct access to C structures and control " @@ -1198,37 +1198,37 @@ msgid "" "managed by member descriptors:" msgstr "" -#: howto/descriptor.rst:1536 +#: howto/descriptor.rst:1558 msgid "" "The :meth:`type.__new__` method takes care of adding member objects to class " "variables:" msgstr "" -#: howto/descriptor.rst:1552 +#: howto/descriptor.rst:1574 msgid "" "The :meth:`object.__new__` method takes care of creating instances that have " "slots instead of an instance dictionary. Here is a rough simulation in pure " "Python:" msgstr "" -#: howto/descriptor.rst:1587 +#: howto/descriptor.rst:1609 msgid "" "To use the simulation in a real class, just inherit from :class:`Object` and " "set the :term:`metaclass` to :class:`Type`:" msgstr "" -#: howto/descriptor.rst:1601 +#: howto/descriptor.rst:1623 msgid "" "At this point, the metaclass has loaded member objects for *x* and *y*::" msgstr "" -#: howto/descriptor.rst:1622 +#: howto/descriptor.rst:1644 msgid "" "When instances are created, they have a ``slot_values`` list where the " "attributes are stored:" msgstr "" -#: howto/descriptor.rst:1634 +#: howto/descriptor.rst:1656 msgid "Misspelled or unassigned attributes will raise an exception:" msgstr "" diff --git a/howto/functional.po b/howto/functional.po index 3b20322da3..161ac12dcd 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-12 09:39+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -623,11 +623,11 @@ msgstr "" "Les ensembles peuvent être créés à partir d'un itérable et autorisent " "l'itération sur les éléments de l'ensemble ::" -#: howto/functional.rst:325 +#: howto/functional.rst:331 msgid "Generator expressions and list comprehensions" msgstr "Expressions génératrices et compréhension de listes" -#: howto/functional.rst:327 +#: howto/functional.rst:333 msgid "" "Two common operations on an iterator's output are 1) performing some " "operation for every element, 2) selecting a subset of elements that meet " @@ -642,7 +642,7 @@ msgstr "" "caractères blancs à la fin de chaque ligne ou extraire toutes les chaînes " "contenant une sous-chaîne précise." -#: howto/functional.rst:333 +#: howto/functional.rst:339 msgid "" "List comprehensions and generator expressions (short form: \"listcomps\" and " "\"genexps\") are a concise notation for such operations, borrowed from the " @@ -655,14 +655,14 @@ msgstr "" "retirer tous les caractères blancs initiaux et finaux d'un flux de chaînes " "de caractères à l'aide du code suivant ::" -#: howto/functional.rst:346 +#: howto/functional.rst:352 msgid "" "You can select only certain elements by adding an ``\"if\"`` condition::" msgstr "" "Vous pouvez ne sélectionner que certains éléments en ajoutant une condition " "« ``if`` » ::" -#: howto/functional.rst:351 +#: howto/functional.rst:357 msgid "" "With a list comprehension, you get back a Python list; ``stripped_list`` is " "a list containing the resulting lines, not an iterator. Generator " @@ -680,7 +680,7 @@ msgstr "" "sur des itérateurs infinis ou produisant une très grande quantité de " "données. Les expressions génératrices sont préférables dans ce cas." -#: howto/functional.rst:358 +#: howto/functional.rst:364 msgid "" "Generator expressions are surrounded by parentheses (\"()\") and list " "comprehensions are surrounded by square brackets (\"[]\"). Generator " @@ -690,7 +690,7 @@ msgstr "" "compréhensions de listes entre crochets (« [] »). Les expressions " "génératrices sont de la forme ::" -#: howto/functional.rst:371 +#: howto/functional.rst:378 msgid "" "Again, for a list comprehension only the outside brackets are different " "(square brackets instead of parentheses)." @@ -698,7 +698,7 @@ msgstr "" "La compréhension de liste équivalente s'écrit de la même manière, utilisez " "juste des crochets à la place des parenthèses." -#: howto/functional.rst:374 +#: howto/functional.rst:381 msgid "" "The elements of the generated output will be the successive values of " "``expression``. The ``if`` clauses are all optional; if present, " @@ -709,7 +709,7 @@ msgstr "" "clause ``if`` est facultative ; si elle est présente, ``expression`` n'est " "évaluée et ajoutée au résultat que si ``condition`` est vérifiée." -#: howto/functional.rst:378 +#: howto/functional.rst:385 msgid "" "Generator expressions always have to be written inside parentheses, but the " "parentheses signalling a function call also count. If you want to create an " @@ -720,7 +720,7 @@ msgstr "" "comptent aussi. Si vous souhaitez créer un itérateur qui soit immédiatement " "passé à une fonction, vous pouvez écrire ::" -#: howto/functional.rst:384 +#: howto/functional.rst:391 msgid "" "The ``for...in`` clauses contain the sequences to be iterated over. The " "sequences do not have to be the same length, because they are iterated over " @@ -736,7 +736,7 @@ msgstr "" "parcourue dans son intégralité pour chaque paire d'éléments de ``sequence1`` " "et ``sequence2``." -#: howto/functional.rst:390 +#: howto/functional.rst:397 msgid "" "To put it another way, a list comprehension or generator expression is " "equivalent to the following Python code::" @@ -744,7 +744,7 @@ msgstr "" "Autrement dit, une compréhension de liste ou une expression génératrice est " "équivalente au code Python ci-dessous ::" -#: howto/functional.rst:407 +#: howto/functional.rst:414 msgid "" "This means that when there are multiple ``for...in`` clauses but no ``if`` " "clauses, the length of the resulting output will be equal to the product of " @@ -756,7 +756,7 @@ msgstr "" "produit des longueurs des séquences itérées. Si vous travaillez sur deux " "listes de longueur 3, la sortie contiendra 9 éléments :" -#: howto/functional.rst:419 +#: howto/functional.rst:426 msgid "" "To avoid introducing an ambiguity into Python's grammar, if ``expression`` " "is creating a tuple, it must be surrounded with parentheses. The first list " @@ -767,11 +767,11 @@ msgstr "" "uplet. La première compréhension de liste ci-dessous n'est pas valide " "syntaxiquement, tandis que la seconde l'est ::" -#: howto/functional.rst:430 +#: howto/functional.rst:437 msgid "Generators" msgstr "Générateurs" -#: howto/functional.rst:432 +#: howto/functional.rst:439 msgid "" "Generators are a special class of functions that simplify the task of " "writing iterators. Regular functions compute a value and return it, but " @@ -782,7 +782,7 @@ msgstr "" "renvoie, tandis que les générateurs renvoient un itérateur qui produit un " "flux de valeurs." -#: howto/functional.rst:436 +#: howto/functional.rst:443 msgid "" "You're doubtless familiar with how regular function calls work in Python or " "C. When you call a function, it gets a private namespace where its local " @@ -807,11 +807,11 @@ msgstr "" "s'agit de fonctions qu'il est possible d'interrompre, puis de relancer sans " "perdre leur progression." -#: howto/functional.rst:445 +#: howto/functional.rst:452 msgid "Here's the simplest example of a generator function:" msgstr "Voici un exemple simple de fonction génératrice :" -#: howto/functional.rst:451 +#: howto/functional.rst:458 msgid "" "Any function containing a :keyword:`yield` keyword is a generator function; " "this is detected by Python's :term:`bytecode` compiler which compiles the " @@ -821,7 +821,7 @@ msgstr "" "générateur ; le compilateur :term:`bytecode` de Python détecte ce mot-clé et " "prend en compte cette particularité de la fonction." -#: howto/functional.rst:455 +#: howto/functional.rst:462 msgid "" "When you call a generator function, it doesn't return a single value; " "instead it returns a generator object that supports the iterator protocol. " @@ -841,11 +841,11 @@ msgstr "" "locales sont conservées. Lors de l'appel suivant à la méthode :meth:" "`~generator.__next__` du générateur, la fonction reprend son exécution." -#: howto/functional.rst:464 +#: howto/functional.rst:471 msgid "Here's a sample usage of the ``generate_ints()`` generator:" msgstr "Voici un exemple d'utilisation du générateur ``generate_ints()`` :" -#: howto/functional.rst:481 +#: howto/functional.rst:488 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a, b, c = " "generate_ints(3)``." @@ -853,7 +853,7 @@ msgstr "" "Vous pourriez de façon équivalente écrire ``for i in generate_ints(5)`` ou " "``a, b, c = generate_ints(3)``." -#: howto/functional.rst:484 +#: howto/functional.rst:491 msgid "" "Inside a generator function, ``return value`` causes " "``StopIteration(value)`` to be raised from the :meth:`~generator.__next__` " @@ -866,7 +866,7 @@ msgstr "" "est atteinte), le flot de nouvelles valeurs s'arrête et le générateur ne " "peut plus rien produire." -#: howto/functional.rst:489 +#: howto/functional.rst:496 msgid "" "You could achieve the effect of generators manually by writing your own " "class and storing all the local variables of the generator as instance " @@ -883,7 +883,7 @@ msgstr "" "le renvoie. Cependant, cela devient beaucoup plus complexe pour des " "générateurs relativement sophistiqués." -#: howto/functional.rst:497 +#: howto/functional.rst:504 msgid "" "The test suite included with Python's library, :source:`Lib/test/" "test_generators.py`, contains a number of more interesting examples. Here's " @@ -895,7 +895,7 @@ msgstr "" "implémente le parcours d'un arbre dans l'ordre en utilisant des générateurs " "de façon récursive. ::" -#: howto/functional.rst:513 +#: howto/functional.rst:520 msgid "" "Two other examples in ``test_generators.py`` produce solutions for the N-" "Queens problem (placing N queens on an NxN chess board so that no queen " @@ -910,11 +910,11 @@ msgstr "" "de visiter toutes les cases d'un échiquier *NxN* sans jamais visiter la même " "case deux fois)." -#: howto/functional.rst:521 +#: howto/functional.rst:528 msgid "Passing values into a generator" msgstr "Transmettre des valeurs au générateur" -#: howto/functional.rst:523 +#: howto/functional.rst:530 msgid "" "In Python 2.4 and earlier, generators only produced output. Once a " "generator's code was invoked to create an iterator, there was no way to pass " @@ -930,7 +930,7 @@ msgstr "" "générateur à consulter des variables globales ou en lui passant des objets " "mutables modifiés hors du générateur, mais ces approches étaient compliquées." -#: howto/functional.rst:530 +#: howto/functional.rst:537 msgid "" "In Python 2.5 there's a simple way to pass values into a generator. :keyword:" "`yield` became an expression, returning a value that can be assigned to a " @@ -941,7 +941,7 @@ msgstr "" "expression qui renvoie une valeur sur laquelle il est possible d'opérer et " "que vous pouvez assigner à une variable ::" -#: howto/functional.rst:536 +#: howto/functional.rst:543 msgid "" "I recommend that you **always** put parentheses around a ``yield`` " "expression when you're doing something with the returned value, as in the " @@ -955,7 +955,7 @@ msgstr "" "systématiquement que de prendre le risque de les oublier là où elles sont " "requises." -#: howto/functional.rst:541 +#: howto/functional.rst:548 msgid "" "(:pep:`342` explains the exact rules, which are that a ``yield``-expression " "must always be parenthesized except when it occurs at the top-level " @@ -969,7 +969,7 @@ msgstr "" "que vous pouvez écrire ``val = yield i`` mais que les parenthèses sont " "requises s'il y a une opération, comme dans ``val = (yield i) + 12``.)" -#: howto/functional.rst:547 +#: howto/functional.rst:554 msgid "" "Values are sent into a generator by calling its :meth:`send(value) " "` method. This method resumes the generator's code and the " @@ -982,7 +982,7 @@ msgstr "" "la méthode :meth:`~generator.__next__` habituelle qui est appelée, alors " "``yield`` renvoie ``None``." -#: howto/functional.rst:552 +#: howto/functional.rst:559 msgid "" "Here's a simple counter that increments by 1 and allows changing the value " "of the internal counter." @@ -990,11 +990,11 @@ msgstr "" "Voici un exemple de compteur qui s'incrémente de 1 mais dont il est possible " "de modifier le compte interne." -#: howto/functional.rst:567 +#: howto/functional.rst:574 msgid "And here's an example of changing the counter:" msgstr "Et voici comment il est possible de modifier le compteur :" -#: howto/functional.rst:584 +#: howto/functional.rst:591 msgid "" "Because ``yield`` will often be returning ``None``, you should always check " "for this case. Don't just use its value in expressions unless you're sure " @@ -1006,7 +1006,7 @@ msgstr "" "seule la méthode :meth:`~generator.send` sera utilisée pour reprendre " "l'exécution de la fonction génératrice." -#: howto/functional.rst:589 +#: howto/functional.rst:596 msgid "" "In addition to :meth:`~generator.send`, there are two other methods on " "generators:" @@ -1015,7 +1015,7 @@ msgstr "" "s'appliquant aux générateurs :" # Énumération -#: howto/functional.rst:592 +#: howto/functional.rst:599 msgid "" ":meth:`throw(value) ` is used to raise an exception inside " "the generator; the exception is raised by the ``yield`` expression where the " @@ -1025,7 +1025,7 @@ msgstr "" "générateur ; celle-ci est levée par l'expression ``yield`` à l'endroit où " "l'exécution a été mise en pause." -#: howto/functional.rst:596 +#: howto/functional.rst:603 msgid "" ":meth:`~generator.close` raises a :exc:`GeneratorExit` exception inside the " "generator to terminate the iteration. On receiving this exception, the " @@ -1043,7 +1043,7 @@ msgstr "" "le ramasse-miette de Python collecte le générateur, il appelle sa méthode :" "meth:`~generator.close`." -#: howto/functional.rst:604 +#: howto/functional.rst:611 msgid "" "If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " "suggest using a ``try: ... finally:`` suite instead of catching :exc:" @@ -1053,7 +1053,7 @@ msgstr "" "`GeneratorExit`, nous vous suggérons d'utiliser une structure ``try: ... " "finally`` plutôt que d'attraper :exc:`GeneratorExit`." -#: howto/functional.rst:607 +#: howto/functional.rst:614 msgid "" "The cumulative effect of these changes is to turn generators from one-way " "producers of information into both producers and consumers." @@ -1062,7 +1062,7 @@ msgstr "" "unidirectionnels d'information vers un statut hybride à la fois producteur " "et consommateur." -#: howto/functional.rst:610 +#: howto/functional.rst:617 msgid "" "Generators also become **coroutines**, a more generalized form of " "subroutines. Subroutines are entered at one point and exited at another " @@ -1077,18 +1077,18 @@ msgstr "" "de reprendre une coroutine à différents endroits (les instructions " "``yield``)." -#: howto/functional.rst:617 +#: howto/functional.rst:624 msgid "Built-in functions" msgstr "Fonctions natives" -#: howto/functional.rst:619 +#: howto/functional.rst:626 msgid "" "Let's look in more detail at built-in functions often used with iterators." msgstr "" "Voyons un peu plus en détail les fonctions natives souvent utilisées de " "concert avec les itérateurs." -#: howto/functional.rst:621 +#: howto/functional.rst:628 msgid "" "Two of Python's built-in functions, :func:`map` and :func:`filter` duplicate " "the features of generator expressions:" @@ -1096,25 +1096,25 @@ msgstr "" ":func:`map` et :func:`filter` sont deux fonctions natives de Python qui " "clonent les propriétés des expressions génératrices :" -#: howto/functional.rst:633 +#: howto/functional.rst:640 msgid "" ":func:`map(f, iterA, iterB, ...) ` returns an iterator over the sequence" msgstr "" ":func:`map(f, iterA, iterB, ...) ` renvoie un itérateur sur une séquence" -#: howto/functional.rst:625 +#: howto/functional.rst:632 msgid "" "``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." msgstr "" "``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." -#: howto/functional.rst:635 +#: howto/functional.rst:642 msgid "You can of course achieve the same effect with a list comprehension." msgstr "" "Vous pouvez obtenir le même comportement à l'aide d'une compréhension de " "liste." -#: howto/functional.rst:637 +#: howto/functional.rst:644 msgid "" ":func:`filter(predicate, iter) ` returns an iterator over all the " "sequence elements that meet a certain condition, and is similarly duplicated " @@ -1129,11 +1129,11 @@ msgstr "" "certaine condition. Dans le cas de :func:`filter`, le prédicat ne doit " "prendre qu'un seul argument." -#: howto/functional.rst:650 +#: howto/functional.rst:657 msgid "This can also be written as a list comprehension:" msgstr "Cela peut se réécrire sous la forme d'une compréhension de liste :" -#: howto/functional.rst:656 +#: howto/functional.rst:663 msgid "" ":func:`enumerate(iter, start=0) ` counts off the elements in the " "iterable returning 2-tuples containing the count (from *start*) and each " @@ -1143,7 +1143,7 @@ msgstr "" "l'itérable en renvoyant des paires contenant le nombre d'éléments déjà " "listés (depuis le *début*) et l'élément en cours ::" -#: howto/functional.rst:666 +#: howto/functional.rst:673 msgid "" ":func:`enumerate` is often used when looping through a list and recording " "the indexes at which certain conditions are met::" @@ -1152,7 +1152,7 @@ msgstr "" "liste tout en listant les indices pour lesquels une certaine condition est " "vérifiée ::" -#: howto/functional.rst:674 +#: howto/functional.rst:681 msgid "" ":func:`sorted(iterable, key=None, reverse=False) ` collects all the " "elements of the iterable into a list, sorts the list, and returns the sorted " @@ -1164,14 +1164,14 @@ msgstr "" "classé. Les arguments *key* et *reverse* sont passés à la méthode :meth:" "`~list.sort` de la liste ainsi construite. ::" -#: howto/functional.rst:689 +#: howto/functional.rst:696 msgid "" "(For a more detailed discussion of sorting, see the :ref:`sortinghowto`.)" msgstr "" "(Pour plus de détails sur les algorithmes de tri, se référer à :ref:" "`sortinghowto`.)" -#: howto/functional.rst:692 +#: howto/functional.rst:699 msgid "" "The :func:`any(iter) ` and :func:`all(iter) ` built-ins look at " "the truth values of an iterable's contents. :func:`any` returns ``True`` if " @@ -1184,7 +1184,7 @@ msgstr "" "comme vrai et :func:`all` renvoie ``True`` si tous les éléments s'évaluent " "comme vrai :" -#: howto/functional.rst:711 +#: howto/functional.rst:718 msgid "" ":func:`zip(iterA, iterB, ...) ` takes one element from each iterable " "and returns them in a tuple::" @@ -1192,7 +1192,7 @@ msgstr "" ":func:`zip(iterA, iterB, ...) ` rassemble un élément de chaque itérable " "dans un *n*-uplet ::" -#: howto/functional.rst:717 +#: howto/functional.rst:724 msgid "" "It doesn't construct an in-memory list and exhaust all the input iterators " "before returning; instead tuples are constructed and returned only if " @@ -1205,7 +1205,7 @@ msgstr "" "d'un comportement d'`évaluation paresseuse `__)." -#: howto/functional.rst:722 +#: howto/functional.rst:729 msgid "" "This iterator is intended to be used with iterables that are all of the same " "length. If the iterables are of different lengths, the resulting stream " @@ -1215,7 +1215,7 @@ msgstr "" "longueur des itérables diffère, le flux résultant a la même longueur que le " "plus court des itérables. ::" -#: howto/functional.rst:729 +#: howto/functional.rst:736 msgid "" "You should avoid doing this, though, because an element may be taken from " "the longer iterators and discarded. This means you can't go on to use the " @@ -1227,13 +1227,14 @@ msgstr "" "plus utiliser cet itérable car vous allez sauter l'élément qui vient d'être " "jeté." -#: howto/functional.rst:735 +#: howto/functional.rst:742 msgid "The itertools module" msgstr "Le module *itertools*" -#: howto/functional.rst:737 +#: howto/functional.rst:744 +#, fuzzy msgid "" -"The :mod:`itertools` module contains a number of commonly-used iterators as " +"The :mod:`itertools` module contains a number of commonly used iterators as " "well as functions for combining several iterators. This section will " "introduce the module's contents by showing small examples." msgstr "" @@ -1241,40 +1242,40 @@ msgstr "" "ainsi que des fonctions pour combiner différents itérateurs. Cette section " "présente le contenu du module au travers de quelques exemples." -#: howto/functional.rst:741 +#: howto/functional.rst:748 msgid "The module's functions fall into a few broad classes:" msgstr "Les fonctions du module se divisent en quelques grandes catégories :" # Énumération -#: howto/functional.rst:743 +#: howto/functional.rst:750 msgid "Functions that create a new iterator based on an existing iterator." msgstr "" "les fonctions qui transforment un itérateur existant en un nouvel itérateur ;" # Énumération -#: howto/functional.rst:744 +#: howto/functional.rst:751 msgid "Functions for treating an iterator's elements as function arguments." msgstr "" "les fonctions qui traitent les éléments d'un itérateur comme les arguments " "d'une fonction ;" # Énumération -#: howto/functional.rst:745 +#: howto/functional.rst:752 msgid "Functions for selecting portions of an iterator's output." msgstr "" "les fonctions qui permettent de sélectionner des portions de la sortie d'un " "itérateur ;" # Énumération -#: howto/functional.rst:746 +#: howto/functional.rst:753 msgid "A function for grouping an iterator's output." msgstr "une fonction qui permet de grouper la sortie d'un itérateur." -#: howto/functional.rst:749 +#: howto/functional.rst:756 msgid "Creating new iterators" msgstr "Créer de nouveaux itérateurs" -#: howto/functional.rst:751 +#: howto/functional.rst:758 msgid "" ":func:`itertools.count(start, step) ` returns an infinite " "stream of evenly spaced values. You can optionally supply the starting " @@ -1285,7 +1286,7 @@ msgstr "" "infini de valeurs régulièrement espacées. Vous pouvez spécifier la valeur de " "départ (par défaut, 0) et l'intervalle entre les nombres (par défaut, 1) ::" -#: howto/functional.rst:762 +#: howto/functional.rst:769 msgid "" ":func:`itertools.cycle(iter) ` saves a copy of the contents " "of a provided iterable and returns a new iterator that returns its elements " @@ -1296,7 +1297,7 @@ msgstr "" "contenu de l'itérable passé en argument et renvoie un nouvel itérateur qui " "produit tous les éléments du premier au dernier et se répète indéfiniment. ::" -#: howto/functional.rst:769 +#: howto/functional.rst:776 msgid "" ":func:`itertools.repeat(elem, [n]) ` returns the provided " "element *n* times, or returns the element endlessly if *n* is not " @@ -1306,7 +1307,7 @@ msgstr "" "passé en argument *n* fois ou répète l'élément à l'infini si *n* n'est pas " "spécifié. ::" -#: howto/functional.rst:777 +#: howto/functional.rst:784 msgid "" ":func:`itertools.chain(iterA, iterB, ...) ` takes an " "arbitrary number of iterables as input, and returns all the elements of the " @@ -1318,7 +1319,7 @@ msgstr "" "éléments du premier itérateur, puis tous ceux du second et ainsi de suite " "jusqu'à ce que tous les itérables aient été épuisés. ::" -#: howto/functional.rst:785 +#: howto/functional.rst:792 msgid "" ":func:`itertools.islice(iter, [start], stop, [step]) ` " "returns a stream that's a slice of the iterator. With a single *stop* " @@ -1336,7 +1337,7 @@ msgstr "" "pour *start*, *stop* ou *step* (contrairement aux listes et chaînes de " "caractères de Python). ::" -#: howto/functional.rst:799 +#: howto/functional.rst:806 msgid "" ":func:`itertools.tee(iter, [n]) ` replicates an iterator; it " "returns *n* independent iterators that will all return the contents of the " @@ -1352,11 +1353,11 @@ msgstr "" "source, ce qui peut consommer beaucoup de mémoire si l'itérateur est grand " "et que l'un des nouveaux itérateurs est plus consommé que les autres. ::" -#: howto/functional.rst:818 +#: howto/functional.rst:825 msgid "Calling functions on elements" msgstr "Appliquer des fonctions au contenu des itérateurs" -#: howto/functional.rst:820 +#: howto/functional.rst:827 msgid "" "The :mod:`operator` module contains a set of functions corresponding to " "Python's operators. Some examples are :func:`operator.add(a, b) ` renvoie un objet appelable qui récupère l'attribut ``.id``." -#: howto/functional.rst:826 +#: howto/functional.rst:833 msgid "" ":func:`itertools.starmap(func, iter) ` assumes that the " "iterable will return a stream of tuples, and calls *func* using these tuples " @@ -1380,11 +1381,11 @@ msgstr "" "l'itérable renvoie une séquence de *n*-uplets et appelle *func* en utilisant " "tous les *n*-uplets comme arguments ::" -#: howto/functional.rst:838 +#: howto/functional.rst:845 msgid "Selecting elements" msgstr "Sélectionner des éléments" -#: howto/functional.rst:840 +#: howto/functional.rst:847 msgid "" "Another group of functions chooses a subset of an iterator's elements based " "on a predicate." @@ -1392,7 +1393,7 @@ msgstr "" "Une autre catégorie de fonctions est celle permettant de sélectionner un " "sous-ensemble des éléments de l'itérateur selon un prédicat donné." -#: howto/functional.rst:843 +#: howto/functional.rst:850 msgid "" ":func:`itertools.filterfalse(predicate, iter) ` is " "the opposite of :func:`filter`, returning all elements for which the " @@ -1402,7 +1403,7 @@ msgstr "" "l'opposé de :func:`filter` et renvoie tous les éléments pour lesquels le " "prédicat est faux ::" -#: howto/functional.rst:850 +#: howto/functional.rst:857 msgid "" ":func:`itertools.takewhile(predicate, iter) ` returns " "elements for as long as the predicate returns true. Once the predicate " @@ -1412,7 +1413,7 @@ msgstr "" "les éléments de l'itérateur tant que ceux-ci vérifient le prédicat. Dès lors " "que le prédicat renvoie faux, l'itération s'arrête. ::" -#: howto/functional.rst:863 +#: howto/functional.rst:870 msgid "" ":func:`itertools.dropwhile(predicate, iter) ` discards " "elements while the predicate returns true, and then returns the rest of the " @@ -1422,7 +1423,7 @@ msgstr "" "des éléments tant que le prédicat renvoie vrai puis renvoie le reste des " "éléments de l'itérable. ::" -#: howto/functional.rst:873 +#: howto/functional.rst:880 msgid "" ":func:`itertools.compress(data, selectors) ` takes two " "iterators and returns only those elements of *data* for which the " @@ -1434,11 +1435,11 @@ msgstr "" "*data* pour lesquels l'élément correspondant de *selectors* est évalué à " "vrai. L'itération s'arrête lorsque l'un des deux itérateurs est épuisé ::" -#: howto/functional.rst:882 +#: howto/functional.rst:889 msgid "Combinatoric functions" msgstr "Fonctions combinatoires" -#: howto/functional.rst:884 +#: howto/functional.rst:891 msgid "" "The :func:`itertools.combinations(iterable, r) ` " "returns an iterator giving all possible *r*-tuple combinations of the " @@ -1448,7 +1449,7 @@ msgstr "" "un itérateur qui produit toutes les combinaisons possibles de *r*-uplets des " "éléments de *iterable*. ::" -#: howto/functional.rst:899 +#: howto/functional.rst:906 msgid "" "The elements within each tuple remain in the same order as *iterable* " "returned them. For example, the number 1 is always before 2, 3, 4, or 5 in " @@ -1463,7 +1464,7 @@ msgstr "" "contrainte sur l'ordre et renvoie tous les arrangements possibles de " "longueur *r* ::" -#: howto/functional.rst:918 +#: howto/functional.rst:925 msgid "" "If you don't supply a value for *r* the length of the iterable is used, " "meaning that all the elements are permuted." @@ -1472,7 +1473,7 @@ msgstr "" "utilisée par défaut, c'est-à-dire que toutes les permutations de la séquence " "sont renvoyées." -#: howto/functional.rst:921 +#: howto/functional.rst:928 msgid "" "Note that these functions produce all of the possible combinations by " "position and don't require that the contents of *iterable* are unique::" @@ -1481,7 +1482,7 @@ msgstr "" "basant sur la position des éléments et ne requièrent pas que les éléments de " "*iterable* soient uniques ::" -#: howto/functional.rst:928 +#: howto/functional.rst:935 msgid "" "The identical tuple ``('a', 'a', 'b')`` occurs twice, but the two 'a' " "strings came from different positions." @@ -1489,7 +1490,7 @@ msgstr "" "Le triplet ``('a', 'a', 'b')`` apparaît deux fois mais les deux chaînes de " "caractères ``'a'`` proviennent de deux positions différentes." -#: howto/functional.rst:931 +#: howto/functional.rst:938 msgid "" "The :func:`itertools.combinations_with_replacement(iterable, r) ` function relaxes a different constraint: " @@ -1503,11 +1504,11 @@ msgstr "" "tirage avec remise : le premier élément sélectionné pour chaque *n*-uplet " "est replacé dans la séquence avant le tirage du deuxième. ::" -#: howto/functional.rst:946 +#: howto/functional.rst:953 msgid "Grouping elements" msgstr "Grouper les éléments" -#: howto/functional.rst:948 +#: howto/functional.rst:955 msgid "" "The last function I'll discuss, :func:`itertools.groupby(iter, " "key_func=None) `, is the most complicated. " @@ -1522,7 +1523,7 @@ msgstr "" "l'identité par défaut (c'est-à-dire que la clé d'un élément est l'élément " "lui-même)." -#: howto/functional.rst:953 +#: howto/functional.rst:960 msgid "" ":func:`~itertools.groupby` collects all the consecutive elements from the " "underlying iterable that have the same key value, and returns a stream of 2-" @@ -1532,7 +1533,7 @@ msgstr "" "sous-jacent qui ont la même clé et renvoie un flux de paires contenant la " "clé et un itérateur produisant la liste des éléments pour cette clé." -#: howto/functional.rst:981 +#: howto/functional.rst:988 msgid "" ":func:`~itertools.groupby` assumes that the underlying iterable's contents " "will already be sorted based on the key. Note that the returned iterators " @@ -1547,11 +1548,11 @@ msgstr "" "itérateur (*iterator-2* dans l'exemple ci-dessus) et la clé à laquelle il " "est associé." -#: howto/functional.rst:988 +#: howto/functional.rst:995 msgid "The functools module" msgstr "Le module *functools*" -#: howto/functional.rst:990 +#: howto/functional.rst:997 msgid "" "The :mod:`functools` module in Python 2.5 contains some higher-order " "functions. A **higher-order function** takes one or more functions as input " @@ -1563,7 +1564,7 @@ msgstr "" "plusieurs fonctions en entrée et renvoie une fonction. L'outil le plus " "important de ce module est la fonction :func:`functools.partial`." -#: howto/functional.rst:995 +#: howto/functional.rst:1002 msgid "" "For programs written in a functional style, you'll sometimes want to " "construct variants of existing functions that have some of the parameters " @@ -1579,7 +1580,7 @@ msgstr "" "b, c)``, c'est-à-dire fixer le premier paramètre de ``f()``. La fonction " "``g()`` est une appelée « application partielle » de ``f()``." -#: howto/functional.rst:1001 +#: howto/functional.rst:1008 msgid "" "The constructor for :func:`~functools.partial` takes the arguments " "``(function, arg1, arg2, ..., kwarg1=value1, kwarg2=value2)``. The " @@ -1590,11 +1591,11 @@ msgstr "" "arg1, arg2, ..., kwarg1=value1, kwarg2=value2, ...)``. Un appel à l'objet " "ainsi créé invoque la fonction ``fonction`` avec les arguments spécifiés." -#: howto/functional.rst:1006 +#: howto/functional.rst:1013 msgid "Here's a small but realistic example::" msgstr "Voici un exemple court mais réaliste ::" -#: howto/functional.rst:1018 +#: howto/functional.rst:1025 msgid "" ":func:`functools.reduce(func, iter, [initial_value]) ` " "cumulatively performs an operation on all the iterable's elements and, " @@ -1620,7 +1621,7 @@ msgstr "" "La valeur initiale *initial_value*, si spécifiée, est utilisée comme point " "de départ et le premier calcul est alors ``func(inital_value, A)``. ::" -#: howto/functional.rst:1042 +#: howto/functional.rst:1049 msgid "" "If you use :func:`operator.add` with :func:`functools.reduce`, you'll add up " "all the elements of the iterable. This case is so common that there's a " @@ -1631,7 +1632,7 @@ msgstr "" "courant pour qu'il existe une fonction native :func:`sum` qui lui est " "équivalent :" -#: howto/functional.rst:1054 +#: howto/functional.rst:1061 msgid "" "For many uses of :func:`functools.reduce`, though, it can be clearer to just " "write the obvious :keyword:`for` loop::" @@ -1640,7 +1641,7 @@ msgstr "" "impliquant :func:`functools.reduce` de simplement écrire la boucle :keyword:" "`for` ::" -#: howto/functional.rst:1066 +#: howto/functional.rst:1073 msgid "" "A related function is :func:`itertools.accumulate(iterable, func=operator." "add) `. It performs the same calculation, but instead " @@ -1653,11 +1654,11 @@ msgstr "" "renvoie un itérateur qui génère la séquence de tous les résultats " "intermédiaires ::" -#: howto/functional.rst:1079 +#: howto/functional.rst:1086 msgid "The operator module" msgstr "Le module *operator*" -#: howto/functional.rst:1081 +#: howto/functional.rst:1088 msgid "" "The :mod:`operator` module was mentioned earlier. It contains a set of " "functions corresponding to Python's operators. These functions are often " @@ -1669,12 +1670,12 @@ msgstr "" "utiles en programmation fonctionnelle car elles permettent de ne pas avoir à " "écrire des fonctions triviales qui ne réalisent qu'une seule opération." -#: howto/functional.rst:1086 +#: howto/functional.rst:1093 msgid "Some of the functions in this module are:" msgstr "Voici quelques fonctions de ce module :" # Énumération -#: howto/functional.rst:1088 +#: howto/functional.rst:1095 msgid "" "Math operations: ``add()``, ``sub()``, ``mul()``, ``floordiv()``, " "``abs()``, ..." @@ -1683,17 +1684,17 @@ msgstr "" "``floordiv()``, ``abs()``… ;" # Énumération -#: howto/functional.rst:1089 +#: howto/functional.rst:1096 msgid "Logical operations: ``not_()``, ``truth()``." msgstr "les opérations logiques : ``not_()``, ``truth()`` ;" # Énumération -#: howto/functional.rst:1090 +#: howto/functional.rst:1097 msgid "Bitwise operations: ``and_()``, ``or_()``, ``invert()``." msgstr "les opérations bit à bit : ``and_()``, ``or_()``, ``invert()`` ;" # Énumération -#: howto/functional.rst:1091 +#: howto/functional.rst:1098 msgid "" "Comparisons: ``eq()``, ``ne()``, ``lt()``, ``le()``, ``gt()``, and ``ge()``." msgstr "" @@ -1701,21 +1702,21 @@ msgstr "" "``ge()`` ;" # Énumération -#: howto/functional.rst:1092 +#: howto/functional.rst:1099 msgid "Object identity: ``is_()``, ``is_not()``." msgstr "l'identification des objets : ``is_()``, ``is_not()``." -#: howto/functional.rst:1094 +#: howto/functional.rst:1101 msgid "Consult the operator module's documentation for a complete list." msgstr "" "Veuillez vous référer à la documentation du module *operator* pour une liste " "complète." -#: howto/functional.rst:1098 +#: howto/functional.rst:1105 msgid "Small functions and the lambda expression" msgstr "Expressions lambda et fonctions courtes" -#: howto/functional.rst:1100 +#: howto/functional.rst:1107 msgid "" "When writing functional-style programs, you'll often need little functions " "that act as predicates or that combine elements in some way." @@ -1724,7 +1725,7 @@ msgstr "" "petites fonctions utilisées comme prédicats ou pour combiner des éléments " "d'une façon ou d'une autre." -#: howto/functional.rst:1103 +#: howto/functional.rst:1110 msgid "" "If there's a Python built-in or a module function that's suitable, you don't " "need to define a new function at all::" @@ -1732,7 +1733,7 @@ msgstr "" "S'il existe une fonction native Python ou une fonction d'un module qui " "convient, vous n'avez pas besoin de définir de nouvelle fonction ::" -#: howto/functional.rst:1109 +#: howto/functional.rst:1116 msgid "" "If the function you need doesn't exist, you need to write it. One way to " "write small functions is to use the :keyword:`lambda` expression. " @@ -1746,7 +1747,7 @@ msgstr "" "combinant ces derniers afin de créer une fonction anonyme qui renvoie la " "valeur de cette expression ::" -#: howto/functional.rst:1118 +#: howto/functional.rst:1125 msgid "" "An alternative is to just use the ``def`` statement and define a function in " "the usual way::" @@ -1754,7 +1755,7 @@ msgstr "" "Une autre façon de faire est de simplement utiliser l'instruction ``def`` " "afin de définir une fonction de la manière habituelle ::" -#: howto/functional.rst:1127 +#: howto/functional.rst:1134 msgid "" "Which alternative is preferable? That's a style question; my usual course " "is to avoid using ``lambda``." @@ -1762,7 +1763,7 @@ msgstr "" "La méthode à préférer est une question de style, en général l'auteur évite " "l'utilisation de ``lambda``." -#: howto/functional.rst:1130 +#: howto/functional.rst:1137 msgid "" "One reason for my preference is that ``lambda`` is quite limited in the " "functions it can define. The result has to be computable as a single " @@ -1779,7 +1780,7 @@ msgstr "" "une expression illisible. Par exemple, pouvez-vous dire du premier coup " "d’œil ce que fait le code ci-dessous ? ::" -#: howto/functional.rst:1140 +#: howto/functional.rst:1147 msgid "" "You can figure it out, but it takes time to disentangle the expression to " "figure out what's going on. Using a short nested ``def`` statements makes " @@ -1789,18 +1790,18 @@ msgstr "" "de démêler l'expression pour y voir plus clair. Une clause ``def`` concise " "améliore la situation ::" -#: howto/functional.rst:1150 +#: howto/functional.rst:1157 msgid "But it would be best of all if I had simply used a ``for`` loop::" msgstr "" "Toutefois l'idéal aurait été de simplement se contenter d'une boucle " "``for`` ::" -#: howto/functional.rst:1156 +#: howto/functional.rst:1163 msgid "Or the :func:`sum` built-in and a generator expression::" msgstr "" "ou de la fonction native :func:`sum` et d'une expression génératrice ::" -#: howto/functional.rst:1160 +#: howto/functional.rst:1167 msgid "" "Many uses of :func:`functools.reduce` are clearer when written as ``for`` " "loops." @@ -1808,7 +1809,7 @@ msgstr "" "Les boucles ``for`` sont souvent plus lisibles que la fonction :func:" "`functools.reduce`." -#: howto/functional.rst:1162 +#: howto/functional.rst:1169 msgid "" "Fredrik Lundh once suggested the following set of rules for refactoring uses " "of ``lambda``:" @@ -1816,16 +1817,16 @@ msgstr "" "Frederik Lundh a suggéré quelques règles pour le réusinage de code " "impliquant les expressions ``lambda`` :" -#: howto/functional.rst:1165 +#: howto/functional.rst:1172 msgid "Write a lambda function." msgstr "Écrire une fonction lambda." -#: howto/functional.rst:1166 +#: howto/functional.rst:1173 msgid "Write a comment explaining what the heck that lambda does." msgstr "" "Écrire un commentaire qui explique ce que fait cette satanée fonction lambda." -#: howto/functional.rst:1167 +#: howto/functional.rst:1174 msgid "" "Study the comment for a while, and think of a name that captures the essence " "of the comment." @@ -1833,16 +1834,16 @@ msgstr "" "Scruter le commentaire pendant quelques temps et réfléchir à un nom qui " "synthétise son essence." -#: howto/functional.rst:1169 +#: howto/functional.rst:1176 msgid "Convert the lambda to a def statement, using that name." msgstr "" "Réécrire la fonction lambda en une définition *def* en utilisant ce nom." -#: howto/functional.rst:1170 +#: howto/functional.rst:1177 msgid "Remove the comment." msgstr "Effacer le commentaire." -#: howto/functional.rst:1172 +#: howto/functional.rst:1179 msgid "" "I really like these rules, but you're free to disagree about whether this " "lambda-free style is better." @@ -1850,11 +1851,11 @@ msgstr "" "J'aime beaucoup ces règles, mais vous êtes libre de ne pas être d'accord et " "de préférer un style avec des lambdas." -#: howto/functional.rst:1177 +#: howto/functional.rst:1184 msgid "Revision History and Acknowledgements" msgstr "Historique des modifications et remerciements" -#: howto/functional.rst:1179 +#: howto/functional.rst:1186 msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " @@ -1867,17 +1868,17 @@ msgstr "" "Jewett, Mike Krell, Leandro Lameiro, Jussi Salmela, Collin Winter, Blake " "Winton." -#: howto/functional.rst:1184 +#: howto/functional.rst:1191 msgid "Version 0.1: posted June 30 2006." msgstr "Version 0.1 : publiée le 30 juin 2006." -#: howto/functional.rst:1186 +#: howto/functional.rst:1193 msgid "Version 0.11: posted July 1 2006. Typo fixes." msgstr "" "Version 0.11 : publiée le 1\\ :sup:`er` juillet 2006. Correction " "orthographique." -#: howto/functional.rst:1188 +#: howto/functional.rst:1195 msgid "" "Version 0.2: posted July 10 2006. Merged genexp and listcomp sections into " "one. Typo fixes." @@ -1885,14 +1886,14 @@ msgstr "" "Version 0.2 : publiée le 10 juillet 2006. Fusion des sections *genexp* et " "*listcomp*. Correction orthographique." -#: howto/functional.rst:1191 +#: howto/functional.rst:1198 msgid "" "Version 0.21: Added more references suggested on the tutor mailing list." msgstr "" "Version 0.21 : ajout de plusieurs références suggérées sur la liste de " "diffusion *tutor*." -#: howto/functional.rst:1193 +#: howto/functional.rst:1200 msgid "" "Version 0.30: Adds a section on the ``functional`` module written by Collin " "Winter; adds short section on the operator module; a few other edits." @@ -1901,15 +1902,15 @@ msgstr "" "Collin Winter ; ajout d'une courte section sur le module ``operator`` ; " "quelques autres modifications." -#: howto/functional.rst:1198 +#: howto/functional.rst:1205 msgid "References" msgstr "Références" -#: howto/functional.rst:1201 +#: howto/functional.rst:1208 msgid "General" msgstr "Général" -#: howto/functional.rst:1203 +#: howto/functional.rst:1210 msgid "" "**Structure and Interpretation of Computer Programs**, by Harold Abelson and " "Gerald Jay Sussman with Julie Sussman. Full text at https://mitpress.mit." @@ -1927,9 +1928,10 @@ msgstr "" "utilisent le langage Scheme mais la plupart des approches décrites dans ces " "chapitres s'appliquent au style fonctionnel de Python." -#: howto/functional.rst:1211 +#: howto/functional.rst:1218 +#, fuzzy msgid "" -"http://www.defmacro.org/ramblings/fp.html: A general introduction to " +"https://www.defmacro.org/ramblings/fp.html: A general introduction to " "functional programming that uses Java examples and has a lengthy historical " "introduction." msgstr "" @@ -1937,7 +1939,7 @@ msgstr "" "programmation fonctionnelle avec une longue introduction historique et des " "exemples en Java." -#: howto/functional.rst:1214 +#: howto/functional.rst:1221 msgid "" "https://en.wikipedia.org/wiki/Functional_programming: General Wikipedia " "entry describing functional programming." @@ -1945,25 +1947,26 @@ msgstr "" "https://fr.wikipedia.org/wiki/Programmation_fonctionnelle : l'entrée " "Wikipédia qui décrit la programmation fonctionnelle." -#: howto/functional.rst:1217 +#: howto/functional.rst:1224 msgid "https://en.wikipedia.org/wiki/Coroutine: Entry for coroutines." msgstr "" "https://fr.wikipedia.org/wiki/Coroutine : l'entrée pour les coroutines." -#: howto/functional.rst:1219 +#: howto/functional.rst:1226 msgid "" "https://en.wikipedia.org/wiki/Currying: Entry for the concept of currying." msgstr "" "https://fr.wikipedia.org/wiki/Curryfication : l'entrée pour le concept de " "curryfication (création d'applications partielles)." -#: howto/functional.rst:1222 +#: howto/functional.rst:1229 msgid "Python-specific" msgstr "Spécifique à Python" -#: howto/functional.rst:1224 +#: howto/functional.rst:1231 +#, fuzzy msgid "" -"http://gnosis.cx/TPiP/: The first chapter of David Mertz's book :title-" +"https://gnosis.cx/TPiP/: The first chapter of David Mertz's book :title-" "reference:`Text Processing in Python` discusses functional programming for " "text processing, in the section titled \"Utilizing Higher-Order Functions in " "Text Processing\"." @@ -1973,7 +1976,7 @@ msgstr "" "programmation fonctionnelle pour le traitement de texte dans la section " "« Utilisation des fonctions d'ordre supérieur pour le traitement de texte »." -#: howto/functional.rst:1229 +#: howto/functional.rst:1236 msgid "" "Mertz also wrote a 3-part series of articles on functional programming for " "IBM's DeveloperWorks site; see `part 1 `__ et `partie 3 `__," -#: howto/functional.rst:1237 +#: howto/functional.rst:1244 msgid "Python documentation" msgstr "Documentation Python" -#: howto/functional.rst:1239 +#: howto/functional.rst:1246 msgid "Documentation for the :mod:`itertools` module." msgstr "Documentation du module :mod:`itertools`." -#: howto/functional.rst:1241 +#: howto/functional.rst:1248 msgid "Documentation for the :mod:`functools` module." msgstr "Documentation du module :mod:`functools`." -#: howto/functional.rst:1243 +#: howto/functional.rst:1250 msgid "Documentation for the :mod:`operator` module." msgstr "Documentation du module :mod:`operator`." -#: howto/functional.rst:1245 +#: howto/functional.rst:1252 msgid ":pep:`289`: \"Generator Expressions\"" msgstr ":pep:`289`: *\"Generator Expressions\"*" -#: howto/functional.rst:1247 +#: howto/functional.rst:1254 msgid "" ":pep:`342`: \"Coroutines via Enhanced Generators\" describes the new " "generator features in Python 2.5." diff --git a/howto/instrumentation.po b/howto/instrumentation.po index 8191fdc44c..b13774144a 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-06 19:31+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -141,9 +141,10 @@ msgstr "" "métadonnées ::" #: howto/instrumentation.rst:125 +#, fuzzy msgid "" "The above metadata contains information for SystemTap describing how it can " -"patch strategically-placed machine code instructions to enable the tracing " +"patch strategically placed machine code instructions to enable the tracing " "hooks used by a SystemTap script." msgstr "" "Les métadonnées ci-dessus contiennent des informations pour *SystemTap* " @@ -421,9 +422,10 @@ msgstr "" "statiques ::" #: howto/instrumentation.rst:412 +#, fuzzy msgid "" "The following script uses the tapset above to provide a top-like view of all " -"running CPython code, showing the top 20 most frequently-entered bytecode " +"running CPython code, showing the top 20 most frequently entered bytecode " "frames, each second, across the whole system:" msgstr "" "Le script suivant utilise le *tapset* ci-dessus pour fournir une vue de " diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 6ca70aa09b..dc949830ca 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-04-30 16:34+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -28,18 +28,20 @@ msgid "Vinay Sajip " msgstr "Vinay Sajip " #: howto/logging-cookbook.rst:9 +#, fuzzy msgid "" "This page contains a number of recipes related to logging, which have been " -"found useful in the past." +"found useful in the past. For links to tutorial and reference information, " +"please see :ref:`cookbook-ref-links`." msgstr "" "Cette page contient des recettes relatives à la journalisation qui se sont " "avérées utiles par le passé." -#: howto/logging-cookbook.rst:15 +#: howto/logging-cookbook.rst:16 msgid "Using logging in multiple modules" msgstr "Journalisation dans plusieurs modules" -#: howto/logging-cookbook.rst:17 +#: howto/logging-cookbook.rst:18 msgid "" "Multiple calls to ``logging.getLogger('someLogger')`` return a reference to " "the same logger object. This is true not only within the same module, but " @@ -59,19 +61,19 @@ msgstr "" "module séparé. Les appels à la journalisation fille passeront alors à la " "journalisation parente. Voici un module principal ::" -#: howto/logging-cookbook.rst:55 +#: howto/logging-cookbook.rst:56 msgid "Here is the auxiliary module::" msgstr "Voici un module auxiliaire ::" -#: howto/logging-cookbook.rst:75 +#: howto/logging-cookbook.rst:76 msgid "The output looks like this:" msgstr "La sortie ressemble à ceci ::" -#: howto/logging-cookbook.rst:101 +#: howto/logging-cookbook.rst:102 msgid "Logging from multiple threads" msgstr "Journalisation avec des fils d'exécution multiples" -#: howto/logging-cookbook.rst:103 +#: howto/logging-cookbook.rst:104 msgid "" "Logging from multiple threads requires no special effort. The following " "example shows logging from the main (initial) thread and another thread::" @@ -80,11 +82,11 @@ msgstr "" "d'effort particulier. L'exemple suivant montre comment journaliser depuis le " "fil principal (c.-à-d. initial) et un autre fil ::" -#: howto/logging-cookbook.rst:132 +#: howto/logging-cookbook.rst:133 msgid "When run, the script should print something like the following:" msgstr "À l'exécution, le script doit afficher quelque chose comme ça ::" -#: howto/logging-cookbook.rst:154 +#: howto/logging-cookbook.rst:155 msgid "" "This shows the logging output interspersed as one might expect. This " "approach works for more threads than shown here, of course." @@ -93,11 +95,11 @@ msgstr "" "attendre. Cette approche fonctionne aussi avec plus de fils que dans " "l'exemple, bien sûr." -#: howto/logging-cookbook.rst:158 +#: howto/logging-cookbook.rst:159 msgid "Multiple handlers and formatters" msgstr "Plusieurs gestionnaires et formateurs" -#: howto/logging-cookbook.rst:160 +#: howto/logging-cookbook.rst:161 msgid "" "Loggers are plain Python objects. The :meth:`~Logger.addHandler` method has " "no minimum or maximum quota for the number of handlers you may add. " @@ -118,7 +120,7 @@ msgstr "" "de l'application resteront les mêmes. Voici une légère modification de " "l'exemple précédent dans une configuration au niveau du module ::" -#: howto/logging-cookbook.rst:193 +#: howto/logging-cookbook.rst:194 msgid "" "Notice that the 'application' code does not care about multiple handlers. " "All that changed was the addition and configuration of a new handler named " @@ -128,7 +130,7 @@ msgstr "" "gestionnaires. Les modifications consistent simplement en l'ajout et la " "configuration d'un nouveau gestionnaire appelé *fh*." -#: howto/logging-cookbook.rst:196 +#: howto/logging-cookbook.rst:197 msgid "" "The ability to create new handlers with higher- or lower-severity filters " "can be very helpful when writing and testing an application. Instead of " @@ -149,11 +151,11 @@ msgstr "" "en ayez à nouveau besoin. À ce moment-là, il suffit de modifier le niveau de " "gravité de la journalisation ou du gestionnaire pour déboguer." -#: howto/logging-cookbook.rst:207 +#: howto/logging-cookbook.rst:208 msgid "Logging to multiple destinations" msgstr "Journalisation vers plusieurs destinations" -#: howto/logging-cookbook.rst:209 +#: howto/logging-cookbook.rst:210 msgid "" "Let's say you want to log to console and file with different message formats " "and in differing circumstances. Say you want to log messages with levels of " @@ -168,15 +170,15 @@ msgstr "" "Supposons également que le fichier doive contenir des horodatages, mais pas " "les messages de la console. Voici comment y parvenir ::" -#: howto/logging-cookbook.rst:247 +#: howto/logging-cookbook.rst:248 msgid "When you run this, on the console you will see" msgstr "Quand vous le lancez, vous devez voir" -#: howto/logging-cookbook.rst:256 +#: howto/logging-cookbook.rst:257 msgid "and in the file you will see something like" msgstr "et, dans le fichier, vous devez trouver" -#: howto/logging-cookbook.rst:266 +#: howto/logging-cookbook.rst:267 msgid "" "As you can see, the DEBUG message only shows up in the file. The other " "messages are sent to both destinations." @@ -184,7 +186,7 @@ msgstr "" "Comme vous pouvez le constater, le message DEBUG n'apparaît que dans le " "fichier. Les autres messages sont envoyés vers les deux destinations." -#: howto/logging-cookbook.rst:269 +#: howto/logging-cookbook.rst:270 msgid "" "This example uses console and file handlers, but you can use any number and " "combination of handlers you choose." @@ -192,17 +194,96 @@ msgstr "" "Cet exemple utilise la console et des gestionnaires de fichier, mais vous " "pouvez utiliser et combiner autant de gestionnaires que de besoin." -#: howto/logging-cookbook.rst:274 +#: howto/logging-cookbook.rst:273 +msgid "" +"Note that the above choice of log filename ``/tmp/myapp.log`` implies use of " +"a standard location for temporary files on POSIX systems. On Windows, you " +"may need to choose a different directory name for the log - just ensure that " +"the directory exists and that you have the permissions to create and update " +"files in it." +msgstr "" + +#: howto/logging-cookbook.rst:282 +msgid "Custom handling of levels" +msgstr "" + +#: howto/logging-cookbook.rst:284 +msgid "" +"Sometimes, you might want to do something slightly different from the " +"standard handling of levels in handlers, where all levels above a threshold " +"get processed by a handler. To do this, you need to use filters. Let's look " +"at a scenario where you want to arrange things as follows:" +msgstr "" + +#: howto/logging-cookbook.rst:289 +msgid "Send messages of severity ``INFO`` and ``WARNING`` to ``sys.stdout``" +msgstr "" + +#: howto/logging-cookbook.rst:290 +msgid "Send messages of severity ``ERROR`` and above to ``sys.stderr``" +msgstr "" + +#: howto/logging-cookbook.rst:291 +msgid "Send messages of severity ``DEBUG`` and above to file ``app.log``" +msgstr "" + +#: howto/logging-cookbook.rst:293 +msgid "Suppose you configure logging with the following JSON:" +msgstr "" + +#: howto/logging-cookbook.rst:335 +msgid "" +"This configuration does *almost* what we want, except that ``sys.stdout`` " +"would show messages of severity ``ERROR`` and above as well as ``INFO`` and " +"``WARNING`` messages. To prevent this, we can set up a filter which excludes " +"those messages and add it to the relevant handler. This can be configured by " +"adding a ``filters`` section parallel to ``formatters`` and ``handlers``:" +msgstr "" + +#: howto/logging-cookbook.rst:350 +msgid "and changing the section on the ``stdout`` handler to add it:" +msgstr "" + +#: howto/logging-cookbook.rst:362 +msgid "" +"A filter is just a function, so we can define the ``filter_maker`` (a " +"factory function) as follows:" +msgstr "" + +#: howto/logging-cookbook.rst:375 +msgid "" +"This converts the string argument passed in to a numeric level, and returns " +"a function which only returns ``True`` if the level of the passed in record " +"is at or below the specified level. Note that in this example I have defined " +"the ``filter_maker`` in a test script ``main.py`` that I run from the " +"command line, so its module will be ``__main__`` - hence the ``__main__." +"filter_maker`` in the filter configuration. You will need to change that if " +"you define it in a different module." +msgstr "" + +#: howto/logging-cookbook.rst:383 +msgid "With the filter added, we can run ``main.py``, which in full is:" +msgstr "" + +#: howto/logging-cookbook.rst:453 +msgid "And after running it like this:" +msgstr "" + +#: howto/logging-cookbook.rst:459 +msgid "We can see the results are as expected:" +msgstr "" + +#: howto/logging-cookbook.rst:485 msgid "Configuration server example" msgstr "Exemple d'un serveur de configuration" -#: howto/logging-cookbook.rst:276 +#: howto/logging-cookbook.rst:487 msgid "Here is an example of a module using the logging configuration server::" msgstr "" "Voici un exemple de module mettant en œuvre la configuration de la " "journalisation *via* un serveur ::" -#: howto/logging-cookbook.rst:307 +#: howto/logging-cookbook.rst:518 msgid "" "And here is a script that takes a filename and sends that file to the " "server, properly preceded with the binary-encoded length, as the new logging " @@ -213,11 +294,11 @@ msgstr "" "fichier au serveur pour définir la nouvelle configuration de " "journalisation ::" -#: howto/logging-cookbook.rst:330 +#: howto/logging-cookbook.rst:543 msgid "Dealing with handlers that block" msgstr "Utilisation de gestionnaires bloquants" -#: howto/logging-cookbook.rst:334 +#: howto/logging-cookbook.rst:547 msgid "" "Sometimes you have to get your logging handlers to do their work without " "blocking the thread you're logging from. This is common in web applications, " @@ -228,7 +309,7 @@ msgstr "" "généralement le cas dans les applications Web, mais aussi bien sûr dans " "d'autres scénarios." -#: howto/logging-cookbook.rst:338 +#: howto/logging-cookbook.rst:551 msgid "" "A common culprit which demonstrates sluggish behaviour is the :class:" "`SMTPHandler`: sending emails can take a long time, for a number of reasons " @@ -248,7 +329,7 @@ msgstr "" "le code de la bibliothèque d'accès réseau, sous la couche Python, et hors de " "votre contrôle)." -#: howto/logging-cookbook.rst:346 +#: howto/logging-cookbook.rst:559 msgid "" "One solution is to use a two-part approach. For the first part, attach only " "a :class:`QueueHandler` to those loggers which are accessed from performance-" @@ -274,7 +355,7 @@ msgstr "" "``QueueHandlers`` à votre journalisation) pour faciliter le travail des " "développeurs qui utilisent votre code." -#: howto/logging-cookbook.rst:357 +#: howto/logging-cookbook.rst:570 msgid "" "The second part of the solution is :class:`QueueListener`, which has been " "designed as the counterpart to :class:`QueueHandler`. A :class:" @@ -292,7 +373,7 @@ msgstr "" "source de ``LogRecords``, d'ailleurs). Les ``LogRecords`` sont supprimés de " "la file d'attente et transmis aux gestionnaires pour traitement." -#: howto/logging-cookbook.rst:365 +#: howto/logging-cookbook.rst:578 msgid "" "The advantage of having a separate :class:`QueueListener` class is that you " "can use the same instance to service multiple ``QueueHandlers``. This is " @@ -305,17 +386,28 @@ msgstr "" "Cela consomme moins de ressources que des instances de gestionnaires " "réparties chacune dans un fil d'exécution séparé." -#: howto/logging-cookbook.rst:370 +#: howto/logging-cookbook.rst:583 msgid "An example of using these two classes follows (imports omitted)::" msgstr "" "Voici un exemple d'utilisation de ces deux classes (les importations sont " "omises) ::" -#: howto/logging-cookbook.rst:388 +#: howto/logging-cookbook.rst:601 msgid "which, when run, will produce:" msgstr "ce qui produit ceci à l'exécution :" -#: howto/logging-cookbook.rst:394 +#: howto/logging-cookbook.rst:607 +msgid "" +"Although the earlier discussion wasn't specifically talking about async " +"code, but rather about slow logging handlers, it should be noted that when " +"logging from async code, network and even file handlers could lead to " +"problems (blocking the event loop) because some logging is done from :mod:" +"`asyncio` internals. It might be best, if any async code is used in an " +"application, to use the above approach for logging, so that any blocking " +"code runs only in the ``QueueListener`` thread." +msgstr "" + +#: howto/logging-cookbook.rst:615 msgid "" "Prior to Python 3.5, the :class:`QueueListener` always passed every message " "received from the queue to every handler it was initialized with. (This was " @@ -335,11 +427,11 @@ msgstr "" "``QueueListener`` compare le niveau de chaque message avec le niveau défini " "dans chaque gestionnaire et ne transmet le message que si c'est opportun." -#: howto/logging-cookbook.rst:407 +#: howto/logging-cookbook.rst:628 msgid "Sending and receiving logging events across a network" msgstr "Envoi et réception d'événements de journalisation à travers le réseau" -#: howto/logging-cookbook.rst:409 +#: howto/logging-cookbook.rst:630 msgid "" "Let's say you want to send logging events across a network, and handle them " "at the receiving end. A simple way of doing this is attaching a :class:" @@ -350,7 +442,7 @@ msgstr "" "d'attacher une instance :class:`SocketHandler` à la journalisation racine de " "l'émetteur ::" -#: howto/logging-cookbook.rst:437 +#: howto/logging-cookbook.rst:658 msgid "" "At the receiving end, you can set up a receiver using the :mod:" "`socketserver` module. Here is a basic working example::" @@ -358,7 +450,7 @@ msgstr "" "Vous pouvez configurer le récepteur en utilisant le module :mod:" "`socketserver`. Voici un exemple élémentaire ::" -#: howto/logging-cookbook.rst:525 +#: howto/logging-cookbook.rst:746 msgid "" "First run the server, and then the client. On the client side, nothing is " "printed on the console; on the server side, you should see something like:" @@ -366,7 +458,7 @@ msgstr "" "Lancez d'abord le serveur, puis le client. Côté client, rien ne s'affiche " "sur la console ; côté serveur, vous devez voir quelque chose comme ça :" -#: howto/logging-cookbook.rst:537 +#: howto/logging-cookbook.rst:758 msgid "" "Note that there are some security issues with pickle in some scenarios. If " "these affect you, you can use an alternative serialization scheme by " @@ -380,19 +472,20 @@ msgstr "" "makePickle` par votre propre implémentation, ainsi qu'en adaptant le script " "ci-dessus pour utiliser votre sérialisation." -#: howto/logging-cookbook.rst:545 +#: howto/logging-cookbook.rst:766 msgid "Running a logging socket listener in production" msgstr "" "Journalisation en production à l'aide d'un connecteur en écoute sur le réseau" -#: howto/logging-cookbook.rst:547 +#: howto/logging-cookbook.rst:768 +#, fuzzy msgid "" "To run a logging listener in production, you may need to use a process-" "management tool such as `Supervisor `_. `Here " "`_ is a " "Gist which provides the bare-bones files to run the above functionality " -"using Supervisor: you will need to change the `/path/to/` parts in the Gist " -"to reflect the actual paths you want to use." +"using Supervisor: you will need to change the ``/path/to/`` parts in the " +"Gist to reflect the actual paths you want to use." msgstr "" "Pour de la journalisation en production *via* un connecteur réseau en " "écoute, il est probable que vous ayez besoin d'utiliser un outil de " @@ -402,12 +495,12 @@ msgstr "" "fonction avec *Supervisor* : vous aurez besoin de modifier les parties `/" "path/to/` du *Gist* pour refléter les chemins réels que vous utilisez." -#: howto/logging-cookbook.rst:558 +#: howto/logging-cookbook.rst:779 msgid "Adding contextual information to your logging output" msgstr "Ajout d'informations contextuelles dans la journalisation" # #no-qa -#: howto/logging-cookbook.rst:560 +#: howto/logging-cookbook.rst:781 msgid "" "Sometimes you want logging output to contain contextual information in " "addition to the parameters passed to the logging call. For example, in a " @@ -437,13 +530,13 @@ msgstr "" "difficile de gérer un nombre potentiellement illimité d'instances de :class:" "`Logger`." -#: howto/logging-cookbook.rst:575 +#: howto/logging-cookbook.rst:796 msgid "Using LoggerAdapters to impart contextual information" msgstr "" "Utilisation d'adaptateurs de journalisation pour transmettre des " "informations contextuelles" -#: howto/logging-cookbook.rst:577 +#: howto/logging-cookbook.rst:798 msgid "" "An easy way in which you can pass contextual information to be output along " "with logging event information is to use the :class:`LoggerAdapter` class. " @@ -462,7 +555,7 @@ msgstr "" "class:`Logger`, vous pouvez donc utiliser les deux types d'instances de " "manière interchangeable." -#: howto/logging-cookbook.rst:585 +#: howto/logging-cookbook.rst:806 msgid "" "When you create an instance of :class:`LoggerAdapter`, you pass it a :class:" "`Logger` instance and a dict-like object which contains your contextual " @@ -480,7 +573,7 @@ msgstr "" "constructeur et s'arrange pour intégrer les informations contextuelles dans " "l'appel délégué. Voici un extrait du code de :class:`LoggerAdapter` ::" -#: howto/logging-cookbook.rst:601 +#: howto/logging-cookbook.rst:822 msgid "" "The :meth:`~LoggerAdapter.process` method of :class:`LoggerAdapter` is where " "the contextual information is added to the logging output. It's passed the " @@ -502,7 +595,7 @@ msgstr "" "sûr, si vous avez passé un argument par mot-clé ``extra`` dans l'appel à " "l'adaptateur, il est écrasé silencieusement." -#: howto/logging-cookbook.rst:610 +#: howto/logging-cookbook.rst:831 msgid "" "The advantage of using 'extra' is that the values in the dict-like object " "are merged into the :class:`LogRecord` instance's __dict__, allowing you to " @@ -522,11 +615,11 @@ msgstr "" "`~LoggerAdapter.process` pour faire ce dont vous avez besoin. Voici un " "exemple simple ::" -#: howto/logging-cookbook.rst:626 +#: howto/logging-cookbook.rst:847 msgid "which you can use like this::" msgstr "que vous pouvez utiliser comme ceci ::" -#: howto/logging-cookbook.rst:631 +#: howto/logging-cookbook.rst:852 msgid "" "Then any events that you log to the adapter will have the value of " "``some_conn_id`` prepended to the log messages." @@ -534,13 +627,13 @@ msgstr "" "Ainsi, tout événement journalisé aura la valeur de ``some_conn_id`` insérée " "en début de message de journalisation." -#: howto/logging-cookbook.rst:635 +#: howto/logging-cookbook.rst:856 msgid "Using objects other than dicts to pass contextual information" msgstr "" "Utilisation d'objets autres que les dictionnaires pour passer des " "informations contextuelles" -#: howto/logging-cookbook.rst:637 +#: howto/logging-cookbook.rst:858 msgid "" "You don't need to pass an actual dict to a :class:`LoggerAdapter` - you " "could pass an instance of a class which implements ``__getitem__`` and " @@ -555,11 +648,11 @@ msgstr "" "valeurs de manière dynamique (alors que les valeurs d'un dictionnaire " "seraient constantes)." -#: howto/logging-cookbook.rst:646 +#: howto/logging-cookbook.rst:867 msgid "Using Filters to impart contextual information" msgstr "Utilisation de filtres pour transmettre des informations contextuelles" -#: howto/logging-cookbook.rst:648 +#: howto/logging-cookbook.rst:869 msgid "" "You can also add contextual information to log output using a user-defined :" "class:`Filter`. ``Filter`` instances are allowed to modify the " @@ -574,7 +667,7 @@ msgstr "" "intégrés à la journalisation en utilisant une chaîne de formatage appropriée " "ou, si nécessaire, un :class:`Formatter` personnalisé." -#: howto/logging-cookbook.rst:653 +#: howto/logging-cookbook.rst:874 msgid "" "For example in a web application, the request being processed (or at least, " "the interesting parts of it) can be stored in a threadlocal (:class:" @@ -595,15 +688,75 @@ msgstr "" "formatage peut être utilisée pour obtenir une sortie similaire à celle " "indiquée ci-dessus. Voici un exemple de script ::" -#: howto/logging-cookbook.rst:699 +#: howto/logging-cookbook.rst:920 msgid "which, when run, produces something like:" msgstr "qui, à l'exécution, produit quelque chose comme ça ::" -#: howto/logging-cookbook.rst:720 +#: howto/logging-cookbook.rst:938 +msgid "Use of ``contextvars``" +msgstr "" + +#: howto/logging-cookbook.rst:940 +msgid "" +"Since Python 3.7, the :mod:`contextvars` module has provided context-local " +"storage which works for both :mod:`threading` and :mod:`asyncio` processing " +"needs. This type of storage may thus be generally preferable to thread-" +"locals. The following example shows how, in a multi-threaded environment, " +"logs can populated with contextual information such as, for example, request " +"attributes handled by web applications." +msgstr "" + +#: howto/logging-cookbook.rst:946 +msgid "" +"For the purposes of illustration, say that you have different web " +"applications, each independent of the other but running in the same Python " +"process and using a library common to them. How can each of these " +"applications have their own log, where all logging messages from the library " +"(and other request processing code) are directed to the appropriate " +"application's log file, while including in the log additional contextual " +"information such as client IP, HTTP request method and client username?" +msgstr "" + +#: howto/logging-cookbook.rst:953 +msgid "Let's assume that the library can be simulated by the following code:" +msgstr "" + +#: howto/logging-cookbook.rst:969 +msgid "" +"We can simulate the multiple web applications by means of two simple " +"classes, ``Request`` and ``WebApp``. These simulate how real threaded web " +"applications work - each request is handled by a thread:" +msgstr "" + +#: howto/logging-cookbook.rst:1113 +msgid "" +"If you run the above, you should find that roughly half the requests go " +"into :file:`app1.log` and the rest into :file:`app2.log`, and the all the " +"requests are logged to :file:`app.log`. Each webapp-specific log will " +"contain only log entries for only that webapp, and the request information " +"will be displayed consistently in the log (i.e. the information in each " +"dummy request will always appear together in a log line). This is " +"illustrated by the following shell output:" +msgstr "" + +#: howto/logging-cookbook.rst:1160 +#, fuzzy +msgid "Imparting contextual information in handlers" +msgstr "Ajout d'informations contextuelles dans la journalisation" + +#: howto/logging-cookbook.rst:1162 +msgid "" +"Each :class:`~Handler` has its own chain of filters. If you want to add " +"contextual information to a :class:`LogRecord` without leaking it to other " +"handlers, you can use a filter that returns a new :class:`~LogRecord` " +"instead of modifying it in-place, as shown in the following script::" +msgstr "" + +#: howto/logging-cookbook.rst:1189 msgid "Logging to a single file from multiple processes" msgstr "Journalisation vers un fichier unique à partir de plusieurs processus" -#: howto/logging-cookbook.rst:722 +#: howto/logging-cookbook.rst:1191 msgid "" "Although logging is thread-safe, and logging to a single file from multiple " "threads in a single process *is* supported, logging to a single file from " @@ -633,7 +786,7 @@ msgstr "" "en détail et inclut un connecteur en écoute réseau fonctionnel qui peut être " "utilisé comme point de départ pour l'adapter à vos propres applications." -#: howto/logging-cookbook.rst:735 +#: howto/logging-cookbook.rst:1204 msgid "" "You could also write your own handler which uses the :class:" "`~multiprocessing.Lock` class from the :mod:`multiprocessing` module to " @@ -652,7 +805,7 @@ msgstr "" "fonctionnel pour toutes les plates-formes (voir https://bugs.python.org/" "issue3770)." -#: howto/logging-cookbook.rst:745 +#: howto/logging-cookbook.rst:1214 msgid "" "Alternatively, you can use a ``Queue`` and a :class:`QueueHandler` to send " "all logging events to one of the processes in your multi-process " @@ -679,7 +832,7 @@ msgstr "" "les autres processus de votre application, et peut être utilisé comme base " "pour répondre à vos propres exigences ::" -#: howto/logging-cookbook.rst:861 +#: howto/logging-cookbook.rst:1330 msgid "" "A variant of the above script keeps the logging in the main process, in a " "separate thread::" @@ -687,7 +840,7 @@ msgstr "" "Une variante du script ci-dessus conserve la journalisation dans le " "processus principal, dans un fil séparé ::" -#: howto/logging-cookbook.rst:956 +#: howto/logging-cookbook.rst:1425 msgid "" "This variant shows how you can e.g. apply configuration for particular " "loggers - e.g. the ``foo`` logger has a special handler which stores all " @@ -704,11 +857,11 @@ msgstr "" "journalisation sont générés dans les processus de travail) pour diriger les " "messages vers les destinations appropriées." -#: howto/logging-cookbook.rst:963 +#: howto/logging-cookbook.rst:1432 msgid "Using concurrent.futures.ProcessPoolExecutor" msgstr "Utilisation de concurrent.futures.ProcessPoolExecutor" -#: howto/logging-cookbook.rst:965 +#: howto/logging-cookbook.rst:1434 msgid "" "If you want to use :class:`concurrent.futures.ProcessPoolExecutor` to start " "your worker processes, you need to create the queue slightly differently. " @@ -718,27 +871,27 @@ msgstr "" "pour démarrer vos processus de travail, vous devez créer la file d'attente " "légèrement différemment. À la place de" -#: howto/logging-cookbook.rst:973 +#: howto/logging-cookbook.rst:1442 msgid "you should use" msgstr "vous devez écrire" -#: howto/logging-cookbook.rst:979 +#: howto/logging-cookbook.rst:1448 msgid "and you can then replace the worker creation from this::" msgstr "" "et vous pouvez alors remplacer la création du processus de travail telle " "que ::" -#: howto/logging-cookbook.rst:990 +#: howto/logging-cookbook.rst:1459 msgid "to this (remembering to first import :mod:`concurrent.futures`)::" msgstr "" "par celle-ci (souvenez-vous d'importer au préalable :mod:`concurrent." "futures`) ::" -#: howto/logging-cookbook.rst:997 +#: howto/logging-cookbook.rst:1466 msgid "Deploying Web applications using Gunicorn and uWSGI" msgstr "Déploiement d'applications Web avec *Gunicorn* et *uWSGI*" -#: howto/logging-cookbook.rst:999 +#: howto/logging-cookbook.rst:1468 msgid "" "When deploying Web applications using `Gunicorn `_ or " "`uWSGI `_ (or similar), " @@ -760,11 +913,11 @@ msgstr "" "tel que *Supervisor* (voir `Journalisation en production à l'aide d'un " "connecteur en écoute sur le réseau`_ pour plus de détails)." -#: howto/logging-cookbook.rst:1009 +#: howto/logging-cookbook.rst:1478 msgid "Using file rotation" msgstr "Utilisation du roulement de fichiers" -#: howto/logging-cookbook.rst:1014 +#: howto/logging-cookbook.rst:1483 msgid "" "Sometimes you want to let a log file grow to a certain size, then open a new " "file and log to that. You may want to keep a certain number of these files, " @@ -781,7 +934,7 @@ msgstr "" "fichiers restent tous deux limités. Pour ce cas d'usage, :class:`~handlers." "RotatingFileHandler` est inclus dans le paquet de journalisation ::" -#: howto/logging-cookbook.rst:1046 +#: howto/logging-cookbook.rst:1515 msgid "" "The result should be 6 separate files, each with part of the log history for " "the application:" @@ -789,7 +942,7 @@ msgstr "" "Vous devez obtenir 6 fichiers séparés, chacun contenant une partie de " "l'historique de journalisation de l'application :" -#: howto/logging-cookbook.rst:1058 +#: howto/logging-cookbook.rst:1527 msgid "" "The most current file is always :file:`logging_rotatingfile_example.out`, " "and each time it reaches the size limit it is renamed with the suffix " @@ -802,7 +955,7 @@ msgstr "" "sauvegarde existants est renommé pour incrémenter le suffixe (``.1`` devient " "``.2``, etc.) et le fichier ``.6`` est effacé." -#: howto/logging-cookbook.rst:1063 +#: howto/logging-cookbook.rst:1532 msgid "" "Obviously this example sets the log length much too small as an extreme " "example. You would want to set *maxBytes* to an appropriate value." @@ -810,11 +963,11 @@ msgstr "" "De toute évidence, la longueur du journal définie dans cet exemple est " "beaucoup trop petite. À vous de définir *maxBytes* à une valeur appropriée." -#: howto/logging-cookbook.rst:1069 +#: howto/logging-cookbook.rst:1538 msgid "Use of alternative formatting styles" msgstr "Utilisation d'autres styles de formatage" -#: howto/logging-cookbook.rst:1071 +#: howto/logging-cookbook.rst:1540 msgid "" "When logging was added to the Python standard library, the only way of " "formatting messages with variable content was to use the %-formatting " @@ -828,7 +981,7 @@ msgstr "" "de deux nouvelles méthode de formatage : :class:`string.Template` (ajouté " "dans Python 2.4) et :meth:`str.format` (ajouté dans Python 2.6)." -#: howto/logging-cookbook.rst:1077 +#: howto/logging-cookbook.rst:1546 msgid "" "Logging (as of 3.2) provides improved support for these two additional " "formatting styles. The :class:`Formatter` class been enhanced to take an " @@ -852,7 +1005,7 @@ msgstr "" "Voici un exemple de session interactive en console pour montrer les " "possibilités :" -#: howto/logging-cookbook.rst:1111 +#: howto/logging-cookbook.rst:1580 msgid "" "Note that the formatting of logging messages for final output to logs is " "completely independent of how an individual logging message is constructed. " @@ -863,7 +1016,7 @@ msgstr "" "individuel est construit. Vous pouvez toujours utiliser formatage *via* " "« % », comme ici ::" -#: howto/logging-cookbook.rst:1119 +#: howto/logging-cookbook.rst:1588 msgid "" "Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -892,7 +1045,7 @@ msgstr "" "préservant la rétrocompatibilité puisque tous les appels de journalisation " "dans le code pré-existant utilisent des chaînes au format « % »." -#: howto/logging-cookbook.rst:1132 +#: howto/logging-cookbook.rst:1601 msgid "" "There is, however, a way that you can use {}- and $- formatting to construct " "your individual log messages. Recall that for a message you can use an " @@ -906,7 +1059,7 @@ msgstr "" "et que le package de journalisation appelle ``str()`` sur cet objet pour " "fabriquer la chaîne finale. Considérez les deux classes suivantes ::" -#: howto/logging-cookbook.rst:1156 +#: howto/logging-cookbook.rst:1625 msgid "" "Either of these can be used in place of a format string, to allow {}- or $-" "formatting to be used to build the actual \"message\" part which appears in " @@ -925,7 +1078,7 @@ msgstr "" "soulignement — à ne pas confondre avec _, le trait de soulignement unique " "utilisé comme alias pour :func:`gettext.gettext` ou ses homologues)." -#: howto/logging-cookbook.rst:1164 +#: howto/logging-cookbook.rst:1633 msgid "" "The above classes are not included in Python, though they're easy enough to " "copy and paste into your own code. They can be used as follows (assuming " @@ -936,7 +1089,7 @@ msgstr "" "utilisées comme suit (en supposant qu'elles soient déclarées dans un module " "appelé ``wherever``) :" -#: howto/logging-cookbook.rst:1186 +#: howto/logging-cookbook.rst:1655 msgid "" "While the above examples use ``print()`` to show how the formatting works, " "you would of course use ``logger.debug()`` or similar to actually log using " @@ -946,7 +1099,7 @@ msgstr "" "fonctionne le formatage, utilisez bien sûr ``logger.debug()`` ou similaire " "pour journaliser avec cette approche." -#: howto/logging-cookbook.rst:1190 +#: howto/logging-cookbook.rst:1659 msgid "" "One thing to note is that you pay no significant performance penalty with " "this approach: the actual formatting happens not when you make the logging " @@ -966,7 +1119,7 @@ msgstr "" "n'est que du sucre syntaxique pour un appel de constructeur à l'une des " "classes `XXXMessage`." -#: howto/logging-cookbook.rst:1198 +#: howto/logging-cookbook.rst:1667 msgid "" "If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar " "effect to the above, as in the following example::" @@ -974,7 +1127,7 @@ msgstr "" "Si vous préférez, vous pouvez utiliser un :class:`LoggerAdapter` pour " "obtenir un effet similaire à ce qui précède, comme dans l'exemple suivant ::" -#: howto/logging-cookbook.rst:1229 +#: howto/logging-cookbook.rst:1698 msgid "" "The above script should log the message ``Hello, world!`` when run with " "Python 3.2 or later." @@ -982,11 +1135,11 @@ msgstr "" "Le script ci-dessus journalise le message ``Hello, world!`` quand il est " "lancé avec Python 3.2 ou ultérieur." -#: howto/logging-cookbook.rst:1238 +#: howto/logging-cookbook.rst:1707 msgid "Customizing ``LogRecord``" msgstr "" -#: howto/logging-cookbook.rst:1240 +#: howto/logging-cookbook.rst:1709 msgid "" "Every logging event is represented by a :class:`LogRecord` instance. When an " "event is logged and not filtered out by a logger's level, a :class:" @@ -997,13 +1150,13 @@ msgid "" "was done:" msgstr "" -#: howto/logging-cookbook.rst:1247 +#: howto/logging-cookbook.rst:1716 msgid "" ":meth:`Logger.makeRecord`, which is called in the normal process of logging " "an event. This invoked :class:`LogRecord` directly to create an instance." msgstr "" -#: howto/logging-cookbook.rst:1250 +#: howto/logging-cookbook.rst:1719 msgid "" ":func:`makeLogRecord`, which is called with a dictionary containing " "attributes to be added to the LogRecord. This is typically invoked when a " @@ -1012,27 +1165,27 @@ msgid "" "`~handlers.HTTPHandler`)." msgstr "" -#: howto/logging-cookbook.rst:1256 +#: howto/logging-cookbook.rst:1725 msgid "" "This has usually meant that if you need to do anything special with a :class:" "`LogRecord`, you've had to do one of the following." msgstr "" -#: howto/logging-cookbook.rst:1259 +#: howto/logging-cookbook.rst:1728 msgid "" "Create your own :class:`Logger` subclass, which overrides :meth:`Logger." "makeRecord`, and set it using :func:`~logging.setLoggerClass` before any " "loggers that you care about are instantiated." msgstr "" -#: howto/logging-cookbook.rst:1262 +#: howto/logging-cookbook.rst:1731 msgid "" "Add a :class:`Filter` to a logger or handler, which does the necessary " "special manipulation you need when its :meth:`~Filter.filter` method is " "called." msgstr "" -#: howto/logging-cookbook.rst:1266 +#: howto/logging-cookbook.rst:1735 msgid "" "The first approach would be a little unwieldy in the scenario where (say) " "several different libraries wanted to do different things. Each would " @@ -1040,7 +1193,7 @@ msgid "" "last would win." msgstr "" -#: howto/logging-cookbook.rst:1271 +#: howto/logging-cookbook.rst:1740 msgid "" "The second approach works reasonably well for many cases, but does not allow " "you to e.g. use a specialized subclass of :class:`LogRecord`. Library " @@ -1049,7 +1202,7 @@ msgid "" "would do simply by adding new packages or modules and doing ::" msgstr "" -#: howto/logging-cookbook.rst:1279 +#: howto/logging-cookbook.rst:1748 msgid "" "at module level). It's probably one too many things to think about. " "Developers could also add the filter to a :class:`~logging.NullHandler` " @@ -1059,7 +1212,7 @@ msgid "" "developer." msgstr "" -#: howto/logging-cookbook.rst:1285 +#: howto/logging-cookbook.rst:1754 msgid "" "In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " "through a factory, which you can specify. The factory is just a callable you " @@ -1069,7 +1222,7 @@ msgid "" "`LogRecord` is the default setting for the factory." msgstr "" -#: howto/logging-cookbook.rst:1292 +#: howto/logging-cookbook.rst:1761 msgid "" "This approach allows a custom factory to control all aspects of LogRecord " "creation. For example, you could return a subclass, or just add some " @@ -1077,7 +1230,7 @@ msgid "" "this::" msgstr "" -#: howto/logging-cookbook.rst:1305 +#: howto/logging-cookbook.rst:1774 msgid "" "This pattern allows different libraries to chain factories together, and as " "long as they don't overwrite each other's attributes or unintentionally " @@ -1087,70 +1240,70 @@ msgid "" "used when the use of a :class:`Filter` does not provide the desired result." msgstr "" -#: howto/logging-cookbook.rst:1316 +#: howto/logging-cookbook.rst:1785 msgid "Subclassing QueueHandler - a ZeroMQ example" msgstr "" -#: howto/logging-cookbook.rst:1318 +#: howto/logging-cookbook.rst:1787 msgid "" "You can use a :class:`QueueHandler` subclass to send messages to other kinds " "of queues, for example a ZeroMQ 'publish' socket. In the example below,the " "socket is created separately and passed to the handler (as its 'queue')::" msgstr "" -#: howto/logging-cookbook.rst:1337 +#: howto/logging-cookbook.rst:1806 msgid "" "Of course there are other ways of organizing this, for example passing in " "the data needed by the handler to create the socket::" msgstr "" -#: howto/logging-cookbook.rst:1355 +#: howto/logging-cookbook.rst:1824 msgid "Subclassing QueueListener - a ZeroMQ example" msgstr "" -#: howto/logging-cookbook.rst:1357 +#: howto/logging-cookbook.rst:1826 msgid "" "You can also subclass :class:`QueueListener` to get messages from other " "kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an example::" msgstr "" -#: howto/logging-cookbook.rst:1376 +#: howto/logging-cookbook.rst:1845 howto/logging-cookbook.rst:3803 msgid "Module :mod:`logging`" msgstr "Module :mod:`logging`" -#: howto/logging-cookbook.rst:1376 +#: howto/logging-cookbook.rst:1845 howto/logging-cookbook.rst:3803 msgid "API reference for the logging module." msgstr "Référence d'API pour le module de journalisation." -#: howto/logging-cookbook.rst:1379 +#: howto/logging-cookbook.rst:1848 howto/logging-cookbook.rst:3806 msgid "Module :mod:`logging.config`" msgstr "Module :mod:`logging.config`" -#: howto/logging-cookbook.rst:1379 +#: howto/logging-cookbook.rst:1848 howto/logging-cookbook.rst:3806 msgid "Configuration API for the logging module." msgstr "API de configuration pour le module de journalisation." -#: howto/logging-cookbook.rst:1382 +#: howto/logging-cookbook.rst:1851 howto/logging-cookbook.rst:3809 msgid "Module :mod:`logging.handlers`" msgstr "Module :mod:`logging.handlers`" -#: howto/logging-cookbook.rst:1382 +#: howto/logging-cookbook.rst:1851 howto/logging-cookbook.rst:3809 msgid "Useful handlers included with the logging module." msgstr "Gestionnaires utiles inclus avec le module de journalisation." -#: howto/logging-cookbook.rst:1384 +#: howto/logging-cookbook.rst:1853 msgid ":ref:`A basic logging tutorial `" msgstr "" -#: howto/logging-cookbook.rst:1386 +#: howto/logging-cookbook.rst:1855 msgid ":ref:`A more advanced logging tutorial `" msgstr "" -#: howto/logging-cookbook.rst:1390 +#: howto/logging-cookbook.rst:1859 msgid "An example dictionary-based configuration" msgstr "" -#: howto/logging-cookbook.rst:1392 +#: howto/logging-cookbook.rst:1861 msgid "" "Below is an example of a logging configuration dictionary - it's taken from " "the `documentation on the Django project `_ of the Django documentation." msgstr "" -#: howto/logging-cookbook.rst:1455 +#: howto/logging-cookbook.rst:1924 msgid "Using a rotator and namer to customize log rotation processing" msgstr "" -#: howto/logging-cookbook.rst:1457 +#: howto/logging-cookbook.rst:1926 msgid "" "An example of how you can define a namer and rotator is given in the " "following snippet, which shows zlib-based compression of the log file::" msgstr "" -#: howto/logging-cookbook.rst:1475 +#: howto/logging-cookbook.rst:1944 msgid "" "These are not \"true\" .gz files, as they are bare compressed data, with no " "\"container\" such as you’d find in an actual gzip file. This snippet is " "just for illustration purposes." msgstr "" -#: howto/logging-cookbook.rst:1480 +#: howto/logging-cookbook.rst:1949 msgid "A more elaborate multiprocessing example" msgstr "" -#: howto/logging-cookbook.rst:1482 +#: howto/logging-cookbook.rst:1951 msgid "" "The following working example shows how logging can be used with " "multiprocessing using configuration files. The configurations are fairly " @@ -1194,7 +1347,7 @@ msgid "" "in a real multiprocessing scenario." msgstr "" -#: howto/logging-cookbook.rst:1487 +#: howto/logging-cookbook.rst:1956 msgid "" "In the example, the main process spawns a listener process and some worker " "processes. Each of the main process, the listener and the workers have three " @@ -1207,17 +1360,17 @@ msgid "" "own scenario." msgstr "" -#: howto/logging-cookbook.rst:1497 +#: howto/logging-cookbook.rst:1966 msgid "" "Here's the script - the docstrings and the comments hopefully explain how it " "works::" msgstr "" -#: howto/logging-cookbook.rst:1709 +#: howto/logging-cookbook.rst:2178 msgid "Inserting a BOM into messages sent to a SysLogHandler" msgstr "" -#: howto/logging-cookbook.rst:1711 +#: howto/logging-cookbook.rst:2180 msgid "" ":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " "set of bytes which have the following structure: an optional pure-ASCII " @@ -1226,7 +1379,7 @@ msgid "" "<5424#section-6>`.)" msgstr "" -#: howto/logging-cookbook.rst:1717 +#: howto/logging-cookbook.rst:2186 msgid "" "In Python 3.1, code was added to :class:`~logging.handlers.SysLogHandler` to " "insert a BOM into the message, but unfortunately, it was implemented " @@ -1234,7 +1387,7 @@ msgid "" "hence not allowing any pure-ASCII component to appear before it." msgstr "" -#: howto/logging-cookbook.rst:1723 +#: howto/logging-cookbook.rst:2192 msgid "" "As this behaviour is broken, the incorrect BOM insertion code is being " "removed from Python 3.2.4 and later. However, it is not being replaced, and " @@ -1243,33 +1396,33 @@ msgid "" "encoded using UTF-8, then you need to do the following:" msgstr "" -#: howto/logging-cookbook.rst:1729 +#: howto/logging-cookbook.rst:2198 msgid "" "Attach a :class:`~logging.Formatter` instance to your :class:`~logging." "handlers.SysLogHandler` instance, with a format string such as::" msgstr "" -#: howto/logging-cookbook.rst:1735 +#: howto/logging-cookbook.rst:2204 msgid "" "The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " "a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." msgstr "" -#: howto/logging-cookbook.rst:1738 +#: howto/logging-cookbook.rst:2207 msgid "" "Replace the ASCII section with whatever placeholders you like, but make sure " "that the data that appears in there after substitution is always ASCII (that " "way, it will remain unchanged after UTF-8 encoding)." msgstr "" -#: howto/logging-cookbook.rst:1742 +#: howto/logging-cookbook.rst:2211 msgid "" "Replace the Unicode section with whatever placeholders you like; if the data " "which appears there after substitution contains characters outside the ASCII " "range, that's fine -- it will be encoded using UTF-8." msgstr "" -#: howto/logging-cookbook.rst:1746 +#: howto/logging-cookbook.rst:2215 msgid "" "The formatted message *will* be encoded using UTF-8 encoding by " "``SysLogHandler``. If you follow the above rules, you should be able to " @@ -1278,11 +1431,11 @@ msgid "" "daemon may complain." msgstr "" -#: howto/logging-cookbook.rst:1753 +#: howto/logging-cookbook.rst:2222 msgid "Implementing structured logging" msgstr "" -#: howto/logging-cookbook.rst:1755 +#: howto/logging-cookbook.rst:2224 msgid "" "Although most logging messages are intended for reading by humans, and thus " "not readily machine-parseable, there might be circumstances where you want " @@ -1294,31 +1447,31 @@ msgid "" "machine-parseable manner::" msgstr "" -#: howto/logging-cookbook.rst:1779 +#: howto/logging-cookbook.rst:2248 msgid "If the above script is run, it prints:" msgstr "" -#: howto/logging-cookbook.rst:1785 howto/logging-cookbook.rst:1834 +#: howto/logging-cookbook.rst:2254 howto/logging-cookbook.rst:2296 msgid "" "Note that the order of items might be different according to the version of " "Python used." msgstr "" -#: howto/logging-cookbook.rst:1788 +#: howto/logging-cookbook.rst:2257 msgid "" "If you need more specialised processing, you can use a custom JSON encoder, " "as in the following complete example::" msgstr "" -#: howto/logging-cookbook.rst:1828 +#: howto/logging-cookbook.rst:2290 msgid "When the above script is run, it prints:" msgstr "" -#: howto/logging-cookbook.rst:1843 +#: howto/logging-cookbook.rst:2305 msgid "Customizing handlers with :func:`dictConfig`" msgstr "" -#: howto/logging-cookbook.rst:1845 +#: howto/logging-cookbook.rst:2307 msgid "" "There are times when you want to customize logging handlers in particular " "ways, and if you use :func:`dictConfig` you may be able to do this without " @@ -1328,24 +1481,24 @@ msgid "" "customize handler creation using a plain function such as::" msgstr "" -#: howto/logging-cookbook.rst:1859 +#: howto/logging-cookbook.rst:2321 msgid "" "You can then specify, in a logging configuration passed to :func:" "`dictConfig`, that a logging handler be created by calling this function::" msgstr "" -#: howto/logging-cookbook.rst:1892 +#: howto/logging-cookbook.rst:2354 msgid "" "In this example I am setting the ownership using the ``pulse`` user and " "group, just for the purposes of illustration. Putting it together into a " "working script, ``chowntest.py``::" msgstr "" -#: howto/logging-cookbook.rst:1939 +#: howto/logging-cookbook.rst:2401 msgid "To run this, you will probably need to run as ``root``:" msgstr "" -#: howto/logging-cookbook.rst:1949 +#: howto/logging-cookbook.rst:2411 msgid "" "Note that this example uses Python 3.3 because that's where :func:`shutil." "chown` makes an appearance. This approach should work with any Python " @@ -1354,17 +1507,17 @@ msgid "" "change using e.g. :func:`os.chown`." msgstr "" -#: howto/logging-cookbook.rst:1955 +#: howto/logging-cookbook.rst:2417 msgid "" "In practice, the handler-creating function may be in a utility module " "somewhere in your project. Instead of the line in the configuration::" msgstr "" -#: howto/logging-cookbook.rst:1960 +#: howto/logging-cookbook.rst:2422 msgid "you could use e.g.::" msgstr "" -#: howto/logging-cookbook.rst:1964 +#: howto/logging-cookbook.rst:2426 msgid "" "where ``project.util`` can be replaced with the actual name of the package " "where the function resides. In the above working script, using ``'ext://" @@ -1372,25 +1525,25 @@ msgid "" "resolved by :func:`dictConfig` from the ``ext://`` specification." msgstr "" -#: howto/logging-cookbook.rst:1969 +#: howto/logging-cookbook.rst:2431 msgid "" "This example hopefully also points the way to how you could implement other " "types of file change - e.g. setting specific POSIX permission bits - in the " "same way, using :func:`os.chmod`." msgstr "" -#: howto/logging-cookbook.rst:1973 +#: howto/logging-cookbook.rst:2435 msgid "" "Of course, the approach could also be extended to types of handler other " "than a :class:`~logging.FileHandler` - for example, one of the rotating file " "handlers, or a different type of handler altogether." msgstr "" -#: howto/logging-cookbook.rst:1983 +#: howto/logging-cookbook.rst:2445 msgid "Using particular formatting styles throughout your application" msgstr "" -#: howto/logging-cookbook.rst:1985 +#: howto/logging-cookbook.rst:2447 msgid "" "In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword " "parameter which, while defaulting to ``%`` for backward compatibility, " @@ -1401,7 +1554,7 @@ msgid "" "is constructed." msgstr "" -#: howto/logging-cookbook.rst:1992 +#: howto/logging-cookbook.rst:2454 msgid "" "Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -1416,7 +1569,7 @@ msgid "" "calls which are out there in existing code will be using %-format strings." msgstr "" -#: howto/logging-cookbook.rst:2004 +#: howto/logging-cookbook.rst:2466 msgid "" "There have been suggestions to associate format styles with specific " "loggers, but that approach also runs into backward compatibility problems " @@ -1424,7 +1577,7 @@ msgid "" "formatting." msgstr "" -#: howto/logging-cookbook.rst:2008 +#: howto/logging-cookbook.rst:2470 msgid "" "For logging to work interoperably between any third-party libraries and your " "code, decisions about formatting need to be made at the level of the " @@ -1432,11 +1585,11 @@ msgid "" "formatting styles can be accommodated." msgstr "" -#: howto/logging-cookbook.rst:2015 +#: howto/logging-cookbook.rst:2477 msgid "Using LogRecord factories" msgstr "" -#: howto/logging-cookbook.rst:2017 +#: howto/logging-cookbook.rst:2479 msgid "" "In Python 3.2, along with the :class:`~logging.Formatter` changes mentioned " "above, the logging package gained the ability to allow users to set their " @@ -1451,17 +1604,17 @@ msgid "" "implementation does." msgstr "" -#: howto/logging-cookbook.rst:2028 +#: howto/logging-cookbook.rst:2490 msgid "" "Refer to the reference documentation on :func:`setLogRecordFactory` and :" "class:`LogRecord` for more information." msgstr "" -#: howto/logging-cookbook.rst:2033 +#: howto/logging-cookbook.rst:2495 msgid "Using custom message objects" msgstr "" -#: howto/logging-cookbook.rst:2035 +#: howto/logging-cookbook.rst:2497 msgid "" "There is another, perhaps simpler way that you can use {}- and $- formatting " "to construct your individual log messages. You may recall (from :ref:" @@ -1471,7 +1624,7 @@ msgid "" "following two classes::" msgstr "" -#: howto/logging-cookbook.rst:2060 +#: howto/logging-cookbook.rst:2522 msgid "" "Either of these can be used in place of a format string, to allow {}- or $-" "formatting to be used to build the actual \"message\" part which appears in " @@ -1482,17 +1635,17 @@ msgid "" "using ``_`` for localization)." msgstr "" -#: howto/logging-cookbook.rst:2068 +#: howto/logging-cookbook.rst:2530 msgid "" "Examples of this approach are given below. Firstly, formatting with :meth:" "`str.format`::" msgstr "" -#: howto/logging-cookbook.rst:2082 +#: howto/logging-cookbook.rst:2544 msgid "Secondly, formatting with :class:`string.Template`::" msgstr "" -#: howto/logging-cookbook.rst:2089 +#: howto/logging-cookbook.rst:2551 msgid "" "One thing to note is that you pay no significant performance penalty with " "this approach: the actual formatting happens not when you make the logging " @@ -1504,11 +1657,11 @@ msgid "" "above." msgstr "" -#: howto/logging-cookbook.rst:2103 +#: howto/logging-cookbook.rst:2565 msgid "Configuring filters with :func:`dictConfig`" msgstr "" -#: howto/logging-cookbook.rst:2105 +#: howto/logging-cookbook.rst:2567 msgid "" "You *can* configure filters using :func:`~logging.config.dictConfig`, though " "it might not be obvious at first glance how to do it (hence this recipe). " @@ -1523,22 +1676,22 @@ msgid "" "complete example::" msgstr "" -#: howto/logging-cookbook.rst:2158 +#: howto/logging-cookbook.rst:2620 msgid "" "This example shows how you can pass configuration data to the callable which " "constructs the instance, in the form of keyword parameters. When run, the " "above script will print:" msgstr "" -#: howto/logging-cookbook.rst:2166 +#: howto/logging-cookbook.rst:2628 msgid "which shows that the filter is working as configured." msgstr "" -#: howto/logging-cookbook.rst:2168 +#: howto/logging-cookbook.rst:2630 msgid "A couple of extra points to note:" msgstr "" -#: howto/logging-cookbook.rst:2170 +#: howto/logging-cookbook.rst:2632 msgid "" "If you can't refer to the callable directly in the configuration (e.g. if it " "lives in a different module, and you can't import it directly where the " @@ -1548,7 +1701,7 @@ msgid "" "the above example." msgstr "" -#: howto/logging-cookbook.rst:2177 +#: howto/logging-cookbook.rst:2639 msgid "" "As well as for filters, this technique can also be used to configure custom " "handlers and formatters. See :ref:`logging-config-dict-userdef` for more " @@ -1557,11 +1710,11 @@ msgid "" "above." msgstr "" -#: howto/logging-cookbook.rst:2186 +#: howto/logging-cookbook.rst:2648 msgid "Customized exception formatting" msgstr "" -#: howto/logging-cookbook.rst:2188 +#: howto/logging-cookbook.rst:2650 msgid "" "There might be times when you want to do customized exception formatting - " "for argument's sake, let's say you want exactly one line per logged event, " @@ -1569,22 +1722,22 @@ msgid "" "formatter class, as shown in the following example::" msgstr "" -#: howto/logging-cookbook.rst:2229 +#: howto/logging-cookbook.rst:2691 msgid "When run, this produces a file with exactly two lines:" msgstr "" -#: howto/logging-cookbook.rst:2236 +#: howto/logging-cookbook.rst:2698 msgid "" "While the above treatment is simplistic, it points the way to how exception " "information can be formatted to your liking. The :mod:`traceback` module may " "be helpful for more specialized needs." msgstr "" -#: howto/logging-cookbook.rst:2243 +#: howto/logging-cookbook.rst:2705 msgid "Speaking logging messages" msgstr "" -#: howto/logging-cookbook.rst:2245 +#: howto/logging-cookbook.rst:2707 msgid "" "There might be situations when it is desirable to have logging messages " "rendered in an audible rather than a visible format. This is easy to do if " @@ -1601,24 +1754,24 @@ msgid "" "approach, which assumes that the ``espeak`` TTS package is available::" msgstr "" -#: howto/logging-cookbook.rst:2287 +#: howto/logging-cookbook.rst:2749 msgid "" "When run, this script should say \"Hello\" and then \"Goodbye\" in a female " "voice." msgstr "" -#: howto/logging-cookbook.rst:2289 +#: howto/logging-cookbook.rst:2751 msgid "" "The above approach can, of course, be adapted to other TTS systems and even " "other systems altogether which can process messages via external programs " "run from a command line." msgstr "" -#: howto/logging-cookbook.rst:2297 +#: howto/logging-cookbook.rst:2759 msgid "Buffering logging messages and outputting them conditionally" msgstr "" -#: howto/logging-cookbook.rst:2299 +#: howto/logging-cookbook.rst:2761 msgid "" "There might be situations where you want to log messages in a temporary area " "and only output them if a certain condition occurs. For example, you may " @@ -1628,7 +1781,7 @@ msgid "" "debug information to be output as well as the error." msgstr "" -#: howto/logging-cookbook.rst:2306 +#: howto/logging-cookbook.rst:2768 msgid "" "Here is an example which shows how you could do this using a decorator for " "your functions where you want logging to behave this way. It makes use of " @@ -1641,7 +1794,7 @@ msgid "" "subclass of ``MemoryHandler`` if you want custom flushing behavior." msgstr "" -#: howto/logging-cookbook.rst:2316 +#: howto/logging-cookbook.rst:2778 msgid "" "The example script has a simple function, ``foo``, which just cycles through " "all the logging levels, writing to ``sys.stderr`` to say what level it's " @@ -1650,7 +1803,7 @@ msgid "" "levels - otherwise, it only logs at DEBUG, INFO and WARNING levels." msgstr "" -#: howto/logging-cookbook.rst:2322 +#: howto/logging-cookbook.rst:2784 msgid "" "The script just arranges to decorate ``foo`` with a decorator which will do " "the conditional logging that's required. The decorator takes a logger as a " @@ -1662,36 +1815,59 @@ msgid "" "respectively." msgstr "" -#: howto/logging-cookbook.rst:2330 +#: howto/logging-cookbook.rst:2792 msgid "Here's the script::" msgstr "" -#: howto/logging-cookbook.rst:2393 +#: howto/logging-cookbook.rst:2855 msgid "When this script is run, the following output should be observed:" msgstr "" -#: howto/logging-cookbook.rst:2423 +#: howto/logging-cookbook.rst:2885 msgid "" "As you can see, actual logging output only occurs when an event is logged " "whose severity is ERROR or greater, but in that case, any previous events at " "lower severities are also logged." msgstr "" -#: howto/logging-cookbook.rst:2427 +#: howto/logging-cookbook.rst:2889 msgid "You can of course use the conventional means of decoration::" msgstr "" -#: howto/logging-cookbook.rst:2437 +#: howto/logging-cookbook.rst:2899 +msgid "Sending logging messages to email, with buffering" +msgstr "" + +#: howto/logging-cookbook.rst:2901 +msgid "" +"To illustrate how you can send log messages via email, so that a set number " +"of messages are sent per email, you can subclass :class:`~logging.handlers." +"BufferingHandler`. In the following example, which you can adapt to suit " +"your specific needs, a simple test harness is provided which allows you to " +"run the script with command line arguments specifying what you typically " +"need to send things via SMTP. (Run the downloaded script with the ``-h`` " +"argument to see the required and optional arguments.)" +msgstr "" + +#: howto/logging-cookbook.rst:2973 +msgid "" +"If you run this script and your SMTP server is correctly set up, you should " +"find that it sends eleven emails to the addressee you specify. The first ten " +"emails will each have ten log messages, and the eleventh will have two " +"messages. That makes up 102 messages as specified in the script." +msgstr "" + +#: howto/logging-cookbook.rst:2981 msgid "Formatting times using UTC (GMT) via configuration" msgstr "" -#: howto/logging-cookbook.rst:2439 +#: howto/logging-cookbook.rst:2983 msgid "" "Sometimes you want to format times using UTC, which can be done using a " -"class such as `UTCFormatter`, shown below::" +"class such as ``UTCFormatter``, shown below::" msgstr "" -#: howto/logging-cookbook.rst:2448 +#: howto/logging-cookbook.rst:2992 msgid "" "and you can then use the ``UTCFormatter`` in your code instead of :class:" "`~logging.Formatter`. If you want to do that via configuration, you can use " @@ -1699,21 +1875,21 @@ msgid "" "the following complete example::" msgstr "" -#: howto/logging-cookbook.rst:2491 +#: howto/logging-cookbook.rst:3035 msgid "When this script is run, it should print something like:" msgstr "" -#: howto/logging-cookbook.rst:2498 +#: howto/logging-cookbook.rst:3042 msgid "" "showing how the time is formatted both as local time and UTC, one for each " "handler." msgstr "" -#: howto/logging-cookbook.rst:2505 +#: howto/logging-cookbook.rst:3049 msgid "Using a context manager for selective logging" msgstr "" -#: howto/logging-cookbook.rst:2507 +#: howto/logging-cookbook.rst:3051 msgid "" "There are times when it would be useful to temporarily change the logging " "configuration and revert it back after doing something. For this, a context " @@ -1723,7 +1899,7 @@ msgid "" "scope of the context manager::" msgstr "" -#: howto/logging-cookbook.rst:2540 +#: howto/logging-cookbook.rst:3084 msgid "" "If you specify a level value, the logger's level is set to that value in the " "scope of the with block covered by the context manager. If you specify a " @@ -1732,13 +1908,13 @@ msgid "" "block exit - you could do this if you don't need the handler any more." msgstr "" -#: howto/logging-cookbook.rst:2546 +#: howto/logging-cookbook.rst:3090 msgid "" "To illustrate how it works, we can add the following block of code to the " "above::" msgstr "" -#: howto/logging-cookbook.rst:2564 +#: howto/logging-cookbook.rst:3108 msgid "" "We initially set the logger's level to ``INFO``, so message #1 appears and " "message #2 doesn't. We then change the level to ``DEBUG`` temporarily in the " @@ -1751,56 +1927,56 @@ msgid "" "(like message #1) whereas message #7 doesn't (just like message #2)." msgstr "" -#: howto/logging-cookbook.rst:2574 +#: howto/logging-cookbook.rst:3118 msgid "If we run the resulting script, the result is as follows:" msgstr "" -#: howto/logging-cookbook.rst:2585 +#: howto/logging-cookbook.rst:3129 msgid "" "If we run it again, but pipe ``stderr`` to ``/dev/null``, we see the " "following, which is the only message written to ``stdout``:" msgstr "" -#: howto/logging-cookbook.rst:2593 +#: howto/logging-cookbook.rst:3137 msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:" msgstr "" -#: howto/logging-cookbook.rst:2603 +#: howto/logging-cookbook.rst:3147 msgid "" "In this case, the message #5 printed to ``stdout`` doesn't appear, as " "expected." msgstr "" -#: howto/logging-cookbook.rst:2605 +#: howto/logging-cookbook.rst:3149 msgid "" "Of course, the approach described here can be generalised, for example to " "attach logging filters temporarily. Note that the above code works in Python " "2 as well as Python 3." msgstr "" -#: howto/logging-cookbook.rst:2613 +#: howto/logging-cookbook.rst:3157 msgid "A CLI application starter template" msgstr "" -#: howto/logging-cookbook.rst:2615 +#: howto/logging-cookbook.rst:3159 msgid "Here's an example which shows how you can:" msgstr "" -#: howto/logging-cookbook.rst:2617 +#: howto/logging-cookbook.rst:3161 msgid "Use a logging level based on command-line arguments" msgstr "" -#: howto/logging-cookbook.rst:2618 +#: howto/logging-cookbook.rst:3162 msgid "" "Dispatch to multiple subcommands in separate files, all logging at the same " "level in a consistent way" msgstr "" -#: howto/logging-cookbook.rst:2620 +#: howto/logging-cookbook.rst:3164 msgid "Make use of simple, minimal configuration" msgstr "" -#: howto/logging-cookbook.rst:2622 +#: howto/logging-cookbook.rst:3166 msgid "" "Suppose we have a command-line application whose job is to stop, start or " "restart some services. This could be organised for the purposes of " @@ -1811,53 +1987,53 @@ msgid "" "``logging.INFO``. Here's one way that ``app.py`` could be written::" msgstr "" -#: howto/logging-cookbook.rst:2671 +#: howto/logging-cookbook.rst:3215 msgid "" "And the ``start``, ``stop`` and ``restart`` commands can be implemented in " "separate modules, like so for starting::" msgstr "" -#: howto/logging-cookbook.rst:2684 +#: howto/logging-cookbook.rst:3228 msgid "and thus for stopping::" msgstr "" -#: howto/logging-cookbook.rst:2705 +#: howto/logging-cookbook.rst:3249 msgid "and similarly for restarting::" msgstr "" -#: howto/logging-cookbook.rst:2726 +#: howto/logging-cookbook.rst:3270 msgid "" "If we run this application with the default log level, we get output like " "this:" msgstr "" -#: howto/logging-cookbook.rst:2739 +#: howto/logging-cookbook.rst:3283 msgid "" "The first word is the logging level, and the second word is the module or " "package name of the place where the event was logged." msgstr "" -#: howto/logging-cookbook.rst:2742 +#: howto/logging-cookbook.rst:3286 msgid "" "If we change the logging level, then we can change the information sent to " "the log. For example, if we want more information:" msgstr "" -#: howto/logging-cookbook.rst:2759 +#: howto/logging-cookbook.rst:3303 msgid "And if we want less:" msgstr "" -#: howto/logging-cookbook.rst:2767 +#: howto/logging-cookbook.rst:3311 msgid "" "In this case, the commands don't print anything to the console, since " "nothing at ``WARNING`` level or above is logged by them." msgstr "" -#: howto/logging-cookbook.rst:2773 +#: howto/logging-cookbook.rst:3317 msgid "A Qt GUI for logging" msgstr "" -#: howto/logging-cookbook.rst:2775 +#: howto/logging-cookbook.rst:3319 msgid "" "A question that comes up from time to time is about how to log to a GUI " "application. The `Qt `_ framework is a popular cross-" @@ -1865,7 +2041,7 @@ msgid "" "project/PySide2/>`_ or `PyQt5 `_ libraries." msgstr "" -#: howto/logging-cookbook.rst:2781 +#: howto/logging-cookbook.rst:3325 msgid "" "The following example shows how to log to a Qt GUI. This introduces a simple " "``QtHandler`` class which takes a callable, which should be a slot in the " @@ -1875,14 +2051,14 @@ msgid "" "logging messages at random levels with random short delays in between)." msgstr "" -#: howto/logging-cookbook.rst:2788 +#: howto/logging-cookbook.rst:3332 msgid "" "The worker thread is implemented using Qt's ``QThread`` class rather than " "the :mod:`threading` module, as there are circumstances where one has to use " "``QThread``, which offers better integration with other ``Qt`` components." msgstr "" -#: howto/logging-cookbook.rst:2792 +#: howto/logging-cookbook.rst:3336 msgid "" "The code should work with recent releases of either ``PySide2`` or " "``PyQt5``. You should be able to adapt the approach to earlier versions of " @@ -1890,11 +2066,78 @@ msgid "" "information." msgstr "" -#: howto/logging-cookbook.rst:3009 +#: howto/logging-cookbook.rst:3550 +msgid "Logging to syslog with RFC5424 support" +msgstr "" + +#: howto/logging-cookbook.rst:3552 +msgid "" +"Although :rfc:`5424` dates from 2009, most syslog servers are configured by " +"detault to use the older :rfc:`3164`, which hails from 2001. When " +"``logging`` was added to Python in 2003, it supported the earlier (and only " +"existing) protocol at the time. Since RFC5424 came out, as there has not " +"been widespread deployment of it in syslog servers, the :class:`~logging." +"handlers.SysLogHandler` functionality has not been updated." +msgstr "" + +#: howto/logging-cookbook.rst:3559 +msgid "" +"RFC 5424 contains some useful features such as support for structured data, " +"and if you need to be able to log to a syslog server with support for it, " +"you can do so with a subclassed handler which looks something like this::" +msgstr "" + +#: howto/logging-cookbook.rst:3625 +msgid "" +"You'll need to be familiar with RFC 5424 to fully understand the above code, " +"and it may be that you have slightly different needs (e.g. for how you pass " +"structural data to the log). Nevertheless, the above should be adaptable to " +"your speciric needs. With the above handler, you'd pass structured data " +"using something like this::" +msgstr "" + +#: howto/logging-cookbook.rst:3639 +msgid "How to treat a logger like an output stream" +msgstr "" + +#: howto/logging-cookbook.rst:3641 +msgid "" +"Sometimes, you need to interface to a third-party API which expects a file-" +"like object to write to, but you want to direct the API's output to a " +"logger. You can do this using a class which wraps a logger with a file-like " +"API. Here's a short script illustrating such a class:" +msgstr "" + +#: howto/logging-cookbook.rst:3681 +msgid "When this script is run, it prints" +msgstr "" + +#: howto/logging-cookbook.rst:3688 +msgid "" +"You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and ``sys." +"stderr`` by doing something like this:" +msgstr "" + +#: howto/logging-cookbook.rst:3698 +msgid "" +"You should do this *after* configuring logging for your needs. In the above " +"example, the :func:`~logging.basicConfig` call does this (using the ``sys." +"stderr`` value *before* it is overwritten by a ``LoggerWriter`` instance). " +"Then, you'd get this kind of result:" +msgstr "" + +#: howto/logging-cookbook.rst:3711 +msgid "" +"Of course, these above examples show output according to the format used by :" +"func:`~logging.basicConfig`, but you can use a different formatter when you " +"configure logging." +msgstr "" + +#: howto/logging-cookbook.rst:3718 msgid "Patterns to avoid" msgstr "" -#: howto/logging-cookbook.rst:3011 +#: howto/logging-cookbook.rst:3720 msgid "" "Although the preceding sections have described ways of doing things you " "might need to do or deal with, it is worth mentioning some usage patterns " @@ -1902,11 +2145,11 @@ msgid "" "The following sections are in no particular order." msgstr "" -#: howto/logging-cookbook.rst:3018 +#: howto/logging-cookbook.rst:3727 msgid "Opening the same log file multiple times" msgstr "" -#: howto/logging-cookbook.rst:3020 +#: howto/logging-cookbook.rst:3729 msgid "" "On Windows, you will generally not be able to open the same file multiple " "times as this will lead to a \"file is in use by another process\" error. " @@ -1914,32 +2157,32 @@ msgid "" "file multiple times. This could be done accidentally, for example by:" msgstr "" -#: howto/logging-cookbook.rst:3025 +#: howto/logging-cookbook.rst:3734 msgid "" "Adding a file handler more than once which references the same file (e.g. by " "a copy/paste/forget-to-change error)." msgstr "" -#: howto/logging-cookbook.rst:3028 +#: howto/logging-cookbook.rst:3737 msgid "" "Opening two files that look different, as they have different names, but are " "the same because one is a symbolic link to the other." msgstr "" -#: howto/logging-cookbook.rst:3031 +#: howto/logging-cookbook.rst:3740 msgid "" "Forking a process, following which both parent and child have a reference to " "the same file. This might be through use of the :mod:`multiprocessing` " "module, for example." msgstr "" -#: howto/logging-cookbook.rst:3035 +#: howto/logging-cookbook.rst:3744 msgid "" "Opening a file multiple times might *appear* to work most of the time, but " "can lead to a number of problems in practice:" msgstr "" -#: howto/logging-cookbook.rst:3038 +#: howto/logging-cookbook.rst:3747 msgid "" "Logging output can be garbled because multiple threads or processes try to " "write to the same file. Although logging guards against concurrent use of " @@ -1948,25 +2191,27 @@ msgid "" "different handler instances which happen to point to the same file." msgstr "" -#: howto/logging-cookbook.rst:3044 +#: howto/logging-cookbook.rst:3753 msgid "" "An attempt to delete a file (e.g. during file rotation) silently fails, " "because there is another reference pointing to it. This can lead to " "confusion and wasted debugging time - log entries end up in unexpected " -"places, or are lost altogether." +"places, or are lost altogether. Or a file that was supposed to be moved " +"remains in place, and grows in size unexpectedly despite size-based rotation " +"being supposedly in place." msgstr "" -#: howto/logging-cookbook.rst:3049 +#: howto/logging-cookbook.rst:3760 msgid "" "Use the techniques outlined in :ref:`multiple-processes` to circumvent such " "issues." msgstr "" -#: howto/logging-cookbook.rst:3053 +#: howto/logging-cookbook.rst:3764 msgid "Using loggers as attributes in a class or passing them as parameters" msgstr "" -#: howto/logging-cookbook.rst:3055 +#: howto/logging-cookbook.rst:3766 msgid "" "While there might be unusual cases where you'll need to do this, in general " "there is no point because loggers are singletons. Code can always access a " @@ -1977,12 +2222,12 @@ msgid "" "module (and not the class) is the unit of software decomposition." msgstr "" -#: howto/logging-cookbook.rst:3065 +#: howto/logging-cookbook.rst:3776 msgid "" "Adding handlers other than :class:`NullHandler` to a logger in a library" msgstr "" -#: howto/logging-cookbook.rst:3067 +#: howto/logging-cookbook.rst:3778 msgid "" "Configuring logging by adding handlers, formatters and filters is the " "responsibility of the application developer, not the library developer. If " @@ -1990,11 +2235,11 @@ msgid "" "your loggers other than a :class:`~logging.NullHandler` instance." msgstr "" -#: howto/logging-cookbook.rst:3074 +#: howto/logging-cookbook.rst:3785 msgid "Creating a lot of loggers" msgstr "" -#: howto/logging-cookbook.rst:3076 +#: howto/logging-cookbook.rst:3787 msgid "" "Loggers are singletons that are never freed during a script execution, and " "so creating lots of loggers will use up memory which can't then be freed. " @@ -2004,3 +2249,15 @@ msgid "" "those describing areas within your application (generally modules, but " "occasionally slightly more fine-grained than that)." msgstr "" + +#: howto/logging-cookbook.rst:3798 +msgid "Other resources" +msgstr "" + +#: howto/logging-cookbook.rst:3811 +msgid ":ref:`Basic Tutorial `" +msgstr "" + +#: howto/logging-cookbook.rst:3813 +msgid ":ref:`Advanced Tutorial `" +msgstr "" diff --git a/howto/logging.po b/howto/logging.po index ec7ce00110..2a20c79daa 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 16:24+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -161,7 +161,7 @@ msgstr "" "sévérité des évènements qu'elles suivent. Les niveaux standards et leurs " "applications sont décrits ci-dessous (par ordre croissant de sévérité) :" -#: howto/logging.rst:854 +#: howto/logging.rst:855 msgid "Level" msgstr "Niveau" @@ -169,7 +169,7 @@ msgstr "Niveau" msgid "When it's used" msgstr "Quand il est utilisé" -#: howto/logging.rst:864 +#: howto/logging.rst:865 msgid "``DEBUG``" msgstr "``DEBUG``" @@ -180,7 +180,7 @@ msgstr "" "Information détaillée, intéressante seulement lorsqu'on diagnostique un " "problème." -#: howto/logging.rst:862 +#: howto/logging.rst:863 msgid "``INFO``" msgstr "``INFO``" @@ -188,7 +188,7 @@ msgstr "``INFO``" msgid "Confirmation that things are working as expected." msgstr "Confirmation que tout fonctionne comme prévu." -#: howto/logging.rst:860 +#: howto/logging.rst:861 msgid "``WARNING``" msgstr "``WARNING``" @@ -202,7 +202,7 @@ msgstr "" "d'un problème dans un futur proche (par exemple « espace disque faible »). " "Le logiciel fonctionne encore normalement." -#: howto/logging.rst:858 +#: howto/logging.rst:859 msgid "``ERROR``" msgstr "``ERROR``" @@ -214,7 +214,7 @@ msgstr "" "Du fait d'un problème plus sérieux, le logiciel n'a pas été capable de " "réaliser une tâche." -#: howto/logging.rst:856 +#: howto/logging.rst:857 msgid "``CRITICAL``" msgstr "``CRITICAL``" @@ -281,9 +281,10 @@ msgid "Logging to a file" msgstr "Enregistrer les évènements dans un fichier" #: howto/logging.rst:126 +#, fuzzy msgid "" "A very common situation is that of recording logging events in a file, so " -"let's look at that next. Be sure to try the following in a newly-started " +"let's look at that next. Be sure to try the following in a newly started " "Python interpreter, and don't just continue from the session described " "above::" msgstr "" @@ -351,18 +352,20 @@ msgstr "" "erreur pour la valeur de ce paramètre, comme dans l'exemple ci-dessous ::" #: howto/logging.rst:181 +#, fuzzy msgid "" "The call to :func:`basicConfig` should come *before* any calls to :func:" -"`debug`, :func:`info` etc. As it's intended as a one-off simple " -"configuration facility, only the first call will actually do anything: " -"subsequent calls are effectively no-ops." +"`debug`, :func:`info`, etc. Otherwise, those functions will call :func:" +"`basicConfig` for you with the default options. As it's intended as a one-" +"off simple configuration facility, only the first call will actually do " +"anything: subsequent calls are effectively no-ops." msgstr "" "L'appel à :func:`basicConfig` doit être fait *avant* un appel à :func:" "`debug`, :func:`info`, etc. Comme l'objectif est d'avoir un outil de " "configuration simple et d'usage unique, seul le premier appel aura un effet, " "les appels suivants ne font rien." -#: howto/logging.rst:186 +#: howto/logging.rst:187 msgid "" "If you run the above script several times, the messages from successive runs " "are appended to the file *example.log*. If you want each run to start " @@ -375,7 +378,7 @@ msgstr "" "exécutions précédentes, vous pouvez spécifier l'argument *filemode*, en " "changeant l'appel à l'exemple précédent par ::" -#: howto/logging.rst:193 +#: howto/logging.rst:194 msgid "" "The output will be the same as before, but the log file is no longer " "appended to, so the messages from earlier runs are lost." @@ -383,11 +386,11 @@ msgstr "" "La sortie est identique à la précédente, mais le texte n'est plus ajouté au " "fichier de log, donc les messages des exécutions précédentes sont perdus." -#: howto/logging.rst:198 +#: howto/logging.rst:199 msgid "Logging from multiple modules" msgstr "Employer *logging* à partir de différents modules" -#: howto/logging.rst:200 +#: howto/logging.rst:201 msgid "" "If your program consists of multiple modules, here's an example of how you " "could organize logging in it::" @@ -396,11 +399,11 @@ msgstr "" "d'organiser\n" "l'outil de journalisation ::" -#: howto/logging.rst:224 +#: howto/logging.rst:225 msgid "If you run *myapp.py*, you should see this in *myapp.log*:" msgstr "Si vous exécutez *myapp.py*, vous verrez ceci dans *myapp.log* :" -#: howto/logging.rst:232 +#: howto/logging.rst:233 msgid "" "which is hopefully what you were expecting to see. You can generalize this " "to multiple modules, using the pattern in *mylib.py*. Note that for this " @@ -418,11 +421,11 @@ msgstr "" "la localisation des messages, référez-vous à la documentation avancée :ref:" "`logging-advanced-tutorial`." -#: howto/logging.rst:242 +#: howto/logging.rst:243 msgid "Logging variable data" msgstr "Journalisation de données variables" -#: howto/logging.rst:244 +#: howto/logging.rst:245 msgid "" "To log variable data, use a format string for the event description message " "and append the variable data as arguments. For example::" @@ -431,11 +434,11 @@ msgstr "" "message de description de l'évènement et ajoutez les données variables comme " "argument. Par exemple ::" -#: howto/logging.rst:250 +#: howto/logging.rst:251 msgid "will display:" msgstr "affichera :" -#: howto/logging.rst:256 +#: howto/logging.rst:257 msgid "" "As you can see, merging of variable data into the event description message " "uses the old, %-style of string formatting. This is for backwards " @@ -452,11 +455,11 @@ msgstr "" "mais leur exploration sort du cadre de ce tutoriel, voyez :ref:`formatting-" "styles` pour plus d'information." -#: howto/logging.rst:265 +#: howto/logging.rst:266 msgid "Changing the format of displayed messages" msgstr "Modifier le format du message affiché" -#: howto/logging.rst:267 +#: howto/logging.rst:268 msgid "" "To change the format which is used to display messages, you need to specify " "the format you want to use::" @@ -464,11 +467,11 @@ msgstr "" "Pour changer le format utilisé pour afficher le message, vous devez préciser " "le format que vous souhaitez employer ::" -#: howto/logging.rst:276 +#: howto/logging.rst:277 msgid "which would print:" msgstr "ce qui affiche :" -#: howto/logging.rst:284 +#: howto/logging.rst:285 msgid "" "Notice that the 'root' which appeared in earlier examples has disappeared. " "For a full set of things that can appear in format strings, you can refer to " @@ -485,11 +488,11 @@ msgstr "" "les données variables) et peut-être du moment auquel l'évènement a eu lieu. " "Nous décrivons ces points dans la prochaine section." -#: howto/logging.rst:293 +#: howto/logging.rst:294 msgid "Displaying the date/time in messages" msgstr "Afficher l'horodatage dans les messages" -#: howto/logging.rst:295 +#: howto/logging.rst:296 msgid "" "To display the date and time of an event, you would place '%(asctime)s' in " "your format string::" @@ -497,11 +500,11 @@ msgstr "" "Pour afficher la date ou le temps d'un évènement, ajoutez `%(asctime)` dans " "votre chaîne de formatage ::" -#: howto/logging.rst:302 +#: howto/logging.rst:303 msgid "which should print something like this:" msgstr "ce qui affichera quelque chose comme :" -#: howto/logging.rst:308 +#: howto/logging.rst:309 msgid "" "The default format for date/time display (shown above) is like ISO8601 or :" "rfc:`3339`. If you need more control over the formatting of the date/time, " @@ -512,21 +515,21 @@ msgstr "" "l'horodatage, vous pouvez fournir à ``basicConfig`` un argument *datefmt*, " "comme dans l'exemple suivant ::" -#: howto/logging.rst:316 +#: howto/logging.rst:317 msgid "which would display something like this:" msgstr "ce qui affichera quelque chose comme :" -#: howto/logging.rst:322 +#: howto/logging.rst:323 msgid "" "The format of the *datefmt* argument is the same as supported by :func:`time." "strftime`." msgstr "Le format de *datefmt* est le même que celui de :func:`time.strftime`." -#: howto/logging.rst:327 +#: howto/logging.rst:328 msgid "Next Steps" msgstr "Étapes suivantes" -#: howto/logging.rst:329 +#: howto/logging.rst:330 msgid "" "That concludes the basic tutorial. It should be enough to get you up and " "running with logging. There's a lot more that the logging package offers, " @@ -540,7 +543,7 @@ msgstr "" "devez prendre le temps de lire les sections suivantes. Si vous êtes prêt, " "servez-vous votre boisson préférée et poursuivons." -#: howto/logging.rst:335 +#: howto/logging.rst:336 msgid "" "If your logging needs are simple, then use the above examples to incorporate " "logging into your own scripts, and if you run into problems or don't " @@ -555,7 +558,7 @@ msgstr "" "groups.google.com/forum/#!forum/comp.lang.python), on vous répondra " "rapidement." -#: howto/logging.rst:341 +#: howto/logging.rst:342 msgid "" "Still here? You can carry on reading the next few sections, which provide a " "slightly more advanced/in-depth tutorial than the basic one above. After " @@ -565,11 +568,11 @@ msgstr "" "un peu plus de détails que l'introduction ci-dessus. Après ça, vous pouvez " "jeter un œil à :ref:`logging-cookbook`." -#: howto/logging.rst:349 +#: howto/logging.rst:350 msgid "Advanced Logging Tutorial" msgstr "Usage avancé de Logging" -#: howto/logging.rst:351 +#: howto/logging.rst:352 msgid "" "The logging library takes a modular approach and offers several categories " "of components: loggers, handlers, filters, and formatters." @@ -578,13 +581,13 @@ msgstr "" "différentes catégories de composants : *loggers*, *handlers*, *filters* et " "*formatters*." -#: howto/logging.rst:354 +#: howto/logging.rst:355 msgid "Loggers expose the interface that application code directly uses." msgstr "" "Les enregistreurs (*loggers* en anglais) exposent l'interface que le code de " "l'application utilise directement." -#: howto/logging.rst:355 +#: howto/logging.rst:356 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -592,7 +595,7 @@ msgstr "" "Les gestionnaires (*handlers*) envoient les entrées de journal (créés par " "les *loggers*) vers les destinations voulues." -#: howto/logging.rst:357 +#: howto/logging.rst:358 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -600,13 +603,13 @@ msgstr "" "Les filtres (*filters*) fournissent un moyen de choisir finement quelles " "entrées de journal doivent être sorties." -#: howto/logging.rst:359 +#: howto/logging.rst:360 msgid "Formatters specify the layout of log records in the final output." msgstr "" "Les formateurs (*formatters*) spécifient la structure de l'entrée de journal " "dans la sortie finale." -#: howto/logging.rst:361 +#: howto/logging.rst:362 msgid "" "Log event information is passed between loggers, handlers, filters and " "formatters in a :class:`LogRecord` instance." @@ -614,7 +617,7 @@ msgstr "" "L'information relative à un événement est passée entre *loggers*, *handlers* " "et *formatters* dans une instance de la classe :class:`LogRecord`." -#: howto/logging.rst:364 +#: howto/logging.rst:365 msgid "" "Logging is performed by calling methods on instances of the :class:`Logger` " "class (hereafter called :dfn:`loggers`). Each instance has a name, and they " @@ -633,7 +636,7 @@ msgstr "" "*loggers* peuvent être ce que vous voulez et indiquent le sous-domaine d'une " "application depuis lequel le message enregistré a été émis." -#: howto/logging.rst:371 +#: howto/logging.rst:372 msgid "" "A good convention to use when naming loggers is to use a module-level " "logger, in each module which uses logging, named as follows::" @@ -642,7 +645,7 @@ msgstr "" "*logger* au niveau du module, dans chaque module qui emploie ``logging``, " "nommé de la façon suivante ::" -#: howto/logging.rst:376 +#: howto/logging.rst:377 msgid "" "This means that logger names track the package/module hierarchy, and it's " "intuitively obvious where events are logged just from the logger name." @@ -651,7 +654,7 @@ msgstr "" "et des modules, et il est évident de voir où un événement a été enregistré " "simplement en regardant le nom du *logger*." -#: howto/logging.rst:379 +#: howto/logging.rst:380 msgid "" "The root of the hierarchy of loggers is called the root logger. That's the " "logger used by the functions :func:`debug`, :func:`info`, :func:`warning`, :" @@ -666,7 +669,7 @@ msgstr "" "ont la même signature. Le nom du *root logger* est affiché comme « `root` » " "dans la sortie." -#: howto/logging.rst:385 +#: howto/logging.rst:386 msgid "" "It is, of course, possible to log messages to different destinations. " "Support is included in the package for writing log messages to files, HTTP " @@ -686,7 +689,7 @@ msgstr "" "classe de destination si vous avez des besoins spéciaux qui ne sont couverts " "par aucune classe *handler* prédéfinie." -#: howto/logging.rst:392 +#: howto/logging.rst:393 msgid "" "By default, no destination is set for any logging messages. You can specify " "a destination (such as console or file) by using :func:`basicConfig` as in " @@ -707,13 +710,13 @@ msgstr "" "défaut pour le message affiché, avant d'être déléguée au *logger* racine, " "qui sort le message." -#: howto/logging.rst:400 +#: howto/logging.rst:401 msgid "The default format set by :func:`basicConfig` for messages is:" msgstr "" "Le format par défaut des messages est défini par :func:`basicConfig` comme " "suit ::" -#: howto/logging.rst:406 +#: howto/logging.rst:407 msgid "" "You can change this by passing a format string to :func:`basicConfig` with " "the *format* keyword argument. For all options regarding how a format string " @@ -724,11 +727,11 @@ msgstr "" "objects` pour toutes les options de construction de cette chaîne de " "formatage." -#: howto/logging.rst:411 +#: howto/logging.rst:412 msgid "Logging Flow" msgstr "Flux du processus de journalisation" -#: howto/logging.rst:413 +#: howto/logging.rst:414 msgid "" "The flow of log event information in loggers and handlers is illustrated in " "the following diagram." @@ -736,11 +739,11 @@ msgstr "" "Le flux des informations associées à un évènement dans les *loggers* et les " "*handlers* est illustré dans le diagramme suivant." -#: howto/logging.rst:419 +#: howto/logging.rst:420 msgid "Loggers" msgstr "Loggers" -#: howto/logging.rst:421 +#: howto/logging.rst:422 msgid "" ":class:`Logger` objects have a threefold job. First, they expose several " "methods to application code so that applications can log messages at " @@ -757,7 +760,7 @@ msgstr "" "Troisièmement, les objets *logger* transmettent les messages pertinents à " "tous les *handlers* concernés." -#: howto/logging.rst:427 +#: howto/logging.rst:428 msgid "" "The most widely used methods on logger objects fall into two categories: " "configuration and message sending." @@ -765,11 +768,11 @@ msgstr "" "Les méthodes des objets *logger* les plus utilisées appartiennent à deux " "catégories : la configuration et l'envoi de messages." -#: howto/logging.rst:430 +#: howto/logging.rst:431 msgid "These are the most common configuration methods:" msgstr "Voici les méthodes de configuration les plus communes :" -#: howto/logging.rst:432 +#: howto/logging.rst:433 msgid "" ":meth:`Logger.setLevel` specifies the lowest-severity log message a logger " "will handle, where debug is the lowest built-in severity level and critical " @@ -784,7 +787,7 @@ msgstr "" "niveau ``INFO``, ``WARNING``, ``ERROR`` et ``CRITICAL`` ; il ignore les " "messages de niveau DEBUG." -#: howto/logging.rst:438 +#: howto/logging.rst:439 msgid "" ":meth:`Logger.addHandler` and :meth:`Logger.removeHandler` add and remove " "handler objects from the logger object. Handlers are covered in more detail " @@ -794,7 +797,7 @@ msgstr "" "enlèvent des objets *handlers* au *logger*. Les objets *handlers* sont " "expliqués plus en détail dans :ref:`handler-basic`." -#: howto/logging.rst:442 +#: howto/logging.rst:443 msgid "" ":meth:`Logger.addFilter` and :meth:`Logger.removeFilter` add and remove " "filter objects from the logger object. Filters are covered in more detail " @@ -804,7 +807,7 @@ msgstr "" "des objets *filter* au *logger*. Les objets *filters* sont expliqués plus en " "détail dans :ref:`filter`." -#: howto/logging.rst:446 +#: howto/logging.rst:447 msgid "" "You don't need to always call these methods on every logger you create. See " "the last two paragraphs in this section." @@ -813,14 +816,14 @@ msgstr "" "n'avez pas besoin de faire appel à ces méthodes à chaque fois que vous créez " "un *logger*." -#: howto/logging.rst:449 +#: howto/logging.rst:450 msgid "" "With the logger object configured, the following methods create log messages:" msgstr "" "Une fois que l'objet *logger* est correctement configuré, les méthodes " "suivantes permettent de créer un message :" -#: howto/logging.rst:451 +#: howto/logging.rst:452 msgid "" ":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:" "`Logger.error`, and :meth:`Logger.critical` all create log records with a " @@ -843,7 +846,7 @@ msgstr "" "pour déterminer s'il faut enregistrer les informations associées à une " "exception." -#: howto/logging.rst:461 +#: howto/logging.rst:462 msgid "" ":meth:`Logger.exception` creates a log message similar to :meth:`Logger." "error`. The difference is that :meth:`Logger.exception` dumps a stack trace " @@ -854,7 +857,7 @@ msgstr "" "d'exécution au message. On ne peut appeler cette méthode qu'à l'intérieur " "d'un bloc de gestion d'exception." -#: howto/logging.rst:465 +#: howto/logging.rst:466 msgid "" ":meth:`Logger.log` takes a log level as an explicit argument. This is a " "little more verbose for logging messages than using the log level " @@ -867,7 +870,7 @@ msgstr "" "d'enregistrer des messages pour des niveaux de sévérité définis par " "l'utilisateur." -#: howto/logging.rst:469 +#: howto/logging.rst:470 msgid "" ":func:`getLogger` returns a reference to a logger instance with the " "specified name if it is provided, or ``root`` if not. The names are period-" @@ -888,7 +891,7 @@ msgstr "" "``foo.bar``, ``foo.bar.baz``, et ``foo.bam`` sont tous des descendants de " "``foo``." -#: howto/logging.rst:477 +#: howto/logging.rst:478 msgid "" "Loggers have a concept of *effective level*. If a level is not explicitly " "set on a logger, the level of its parent is used instead as its effective " @@ -908,7 +911,7 @@ msgstr "" "le *logger* traite un événement, c'est ce niveau effectif qui est utilisé " "pour déterminer si cet événement est transmis à ses *handlers*." -#: howto/logging.rst:485 +#: howto/logging.rst:486 msgid "" "Child loggers propagate messages up to the handlers associated with their " "ancestor loggers. Because of this, it is unnecessary to define and configure " @@ -925,11 +928,11 @@ msgstr "" "cependant empêcher la propagation aux ancêtres des messages en donnant la " "valeur ``False`` à l'attribut *propagate* d'un *logger*)." -#: howto/logging.rst:496 +#: howto/logging.rst:497 msgid "Handlers" msgstr "Handlers" -#: howto/logging.rst:498 +#: howto/logging.rst:499 msgid "" ":class:`~logging.Handler` objects are responsible for dispatching the " "appropriate log messages (based on the log messages' severity) to the " @@ -952,7 +955,7 @@ msgstr "" "besoin de trois *handlers*, responsable chacun d'envoyer des messages d'une " "sévérité donnée vers une destination donnée." -#: howto/logging.rst:508 +#: howto/logging.rst:509 msgid "" "The standard library includes quite a few handler types (see :ref:`useful-" "handlers`); the tutorials use mainly :class:`StreamHandler` and :class:" @@ -962,7 +965,7 @@ msgstr "" "(voir :ref:`useful-handlers`) ; le tutoriel utilise surtout :class:" "`StreamHandler` et :class:`FileHandler` dans ses exemples." -#: howto/logging.rst:512 +#: howto/logging.rst:513 msgid "" "There are very few methods in a handler for application developers to " "concern themselves with. The only handler methods that seem relevant for " @@ -974,7 +977,7 @@ msgstr "" "*handlers* natifs (c'est à dire si l'on ne crée pas de *handler* " "personnalisé) sont les méthodes de configuration suivantes :" -#: howto/logging.rst:517 +#: howto/logging.rst:518 msgid "" "The :meth:`~Handler.setLevel` method, just as in logger objects, specifies " "the lowest severity that will be dispatched to the appropriate destination. " @@ -990,7 +993,7 @@ msgstr "" "message pour être transmis à ses *handlers*. Le niveau mis pour chaque " "*handler* détermine quels messages seront envoyés aux destinations." -#: howto/logging.rst:523 +#: howto/logging.rst:524 msgid "" ":meth:`~Handler.setFormatter` selects a Formatter object for this handler to " "use." @@ -998,7 +1001,7 @@ msgstr "" ":meth:`~Handler.setFormatter` sélectionne l'objet ``Formatter`` utilisé par " "ce ``handler``." -#: howto/logging.rst:526 +#: howto/logging.rst:527 msgid "" ":meth:`~Handler.addFilter` and :meth:`~Handler.removeFilter` respectively " "configure and deconfigure filter objects on handlers." @@ -1006,7 +1009,7 @@ msgstr "" ":meth:`~Handler.addFilter` et :meth:`~Handler.removeFilter` configurent et " "respectivement dé-configurent des objets *filter* sur les *handlers*." -#: howto/logging.rst:529 +#: howto/logging.rst:530 msgid "" "Application code should not directly instantiate and use instances of :class:" "`Handler`. Instead, the :class:`Handler` class is a base class that defines " @@ -1019,11 +1022,11 @@ msgstr "" "avoir et établit les comportements par défaut que les classes filles peuvent " "employer (ou redéfinir)." -#: howto/logging.rst:536 +#: howto/logging.rst:537 msgid "Formatters" msgstr "Formatters" -#: howto/logging.rst:538 +#: howto/logging.rst:539 msgid "" "Formatter objects configure the final order, structure, and contents of the " "log message. Unlike the base :class:`logging.Handler` class, application " @@ -1040,7 +1043,7 @@ msgstr "" "arguments optionnels : une chaîne de formatage du message, un chaîne de " "formatage de la date et un indicateur de style." -#: howto/logging.rst:547 +#: howto/logging.rst:548 msgid "" "If there is no message format string, the default is to use the raw " "message. If there is no date format string, the default date format is:" @@ -1049,22 +1052,25 @@ msgstr "" "défaut. S'il n'y a pas de chaîne de formatage de date, le format de date par " "défaut est :" -#: howto/logging.rst:554 +#: howto/logging.rst:555 +#, fuzzy msgid "" -"with the milliseconds tacked on at the end. The ``style`` is one of `%`, '{' " -"or '$'. If one of these is not specified, then '%' will be used." +"with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``, " +"``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be " +"used." msgstr "" "avec les millisecondes en suffixe. Le ``style`` est `%`, `{` ou `$`. Si " "aucun n'est spécifié, `%` sera utilisé." -#: howto/logging.rst:557 +#: howto/logging.rst:558 +#, fuzzy msgid "" -"If the ``style`` is '%', the message format string uses ``%()s`` styled string substitution; the possible keys are documented in :" -"ref:`logrecord-attributes`. If the style is '{', the message format string " -"is assumed to be compatible with :meth:`str.format` (using keyword " -"arguments), while if the style is '$' then the message format string should " -"conform to what is expected by :meth:`string.Template.substitute`." +"ref:`logrecord-attributes`. If the style is ``'{'``, the message format " +"string is assumed to be compatible with :meth:`str.format` (using keyword " +"arguments), while if the style is ``'$'`` then the message format string " +"should conform to what is expected by :meth:`string.Template.substitute`." msgstr "" "Si l'argument ``style`` est `%`, la chaîne de formatage utilise ``%()s`` comme style de substitution de chaîne de caractères ; les " @@ -1074,11 +1080,11 @@ msgstr "" "style est `$` alors la chaîne de formatage du message doit être conforme à " "ce qui est attendu de :meth:`string.Template.substitute`." -#: howto/logging.rst:564 +#: howto/logging.rst:565 msgid "Added the ``style`` parameter." msgstr "Ajout du paramètre ``style``." -#: howto/logging.rst:567 +#: howto/logging.rst:568 msgid "" "The following message format string will log the time in a human-readable " "format, the severity of the message, and the contents of the message, in " @@ -1088,7 +1094,7 @@ msgstr "" "format lisible par les humains, la sévérité du message et son contenu, dans " "cet ordre ::" -#: howto/logging.rst:573 +#: howto/logging.rst:574 msgid "" "Formatters use a user-configurable function to convert the creation time of " "a record to a tuple. By default, :func:`time.localtime` is used; to change " @@ -1108,15 +1114,15 @@ msgstr "" "affiché en GMT, changez l'attribut ``converter`` de la classe ``Formatter`` " "en ``time.gmtime``." -#: howto/logging.rst:583 +#: howto/logging.rst:584 msgid "Configuring Logging" msgstr "Configuration de ``logging``" -#: howto/logging.rst:587 +#: howto/logging.rst:588 msgid "Programmers can configure logging in three ways:" msgstr "On peut configurer ``logging`` de trois façons :" -#: howto/logging.rst:589 +#: howto/logging.rst:590 msgid "" "Creating loggers, handlers, and formatters explicitly using Python code that " "calls the configuration methods listed above." @@ -1124,7 +1130,7 @@ msgstr "" "Créer des *loggers*, *handlers* et *formatters* explicitement en utilisant " "du code Python qui appelle les méthodes de configuration listées ci-dessus." -#: howto/logging.rst:591 +#: howto/logging.rst:592 msgid "" "Creating a logging config file and reading it using the :func:`fileConfig` " "function." @@ -1132,7 +1138,7 @@ msgstr "" "Créer un fichier de configuration de ``logging`` et le lire en employant la " "fonction :func:`fileConfig`." -#: howto/logging.rst:593 +#: howto/logging.rst:594 msgid "" "Creating a dictionary of configuration information and passing it to the :" "func:`dictConfig` function." @@ -1140,7 +1146,7 @@ msgstr "" "Créer un dictionnaire d'informations de configuration et le passer à la " "fonction :func:`dictConfig`." -#: howto/logging.rst:596 +#: howto/logging.rst:597 msgid "" "For the reference documentation on the last two options, see :ref:`logging-" "config-api`. The following example configures a very simple logger, a " @@ -1151,14 +1157,14 @@ msgstr "" "un *handler* employant la console, et un *formatter* simple en utilisant du " "code Python ::" -#: howto/logging.rst:626 +#: howto/logging.rst:627 msgid "" "Running this module from the command line produces the following output:" msgstr "" "L'exécution de ce module via la ligne de commande produit la sortie " "suivante :" -#: howto/logging.rst:637 +#: howto/logging.rst:638 msgid "" "The following Python module creates a logger, handler, and formatter nearly " "identical to those in the example listed above, with the only difference " @@ -1167,18 +1173,18 @@ msgstr "" "Le module Python suivant crée un *logger*, un *handler* et un *formatter* " "identiques à ceux de l'exemple détaillé au-dessus, au nom des objets près ::" -#: howto/logging.rst:656 +#: howto/logging.rst:657 msgid "Here is the logging.conf file:" msgstr "Voici le fichier *logging.conf* :" -#: howto/logging.rst:688 +#: howto/logging.rst:689 msgid "" "The output is nearly identical to that of the non-config-file-based example:" msgstr "" "La sortie est presque identique à celle de l'exemple qui n'est pas basé sur " "un fichier de configuration :" -#: howto/logging.rst:699 +#: howto/logging.rst:700 msgid "" "You can see that the config file approach has a few advantages over the " "Python code approach, mainly separation of configuration and code and the " @@ -1190,7 +1196,7 @@ msgstr "" "personne qui ne code pas de modifier facilement les propriétés de " "``logging``." -#: howto/logging.rst:703 +#: howto/logging.rst:704 msgid "" "The :func:`fileConfig` function takes a default parameter, " "``disable_existing_loggers``, which defaults to ``True`` for reasons of " @@ -1209,7 +1215,7 @@ msgstr "" "documentation pour plus de détails, et donner la valeur ``False`` à ce " "paramètre si vous le souhaitez." -#: howto/logging.rst:711 +#: howto/logging.rst:712 msgid "" "The dictionary passed to :func:`dictConfig` can also specify a Boolean value " "with key ``disable_existing_loggers``, which if not specified explicitly in " @@ -1224,7 +1230,7 @@ msgstr "" "forcément celui que vous souhaitez ; dans ce cas, donnez explicitement la " "valeur ``False`` à cette clef." -#: howto/logging.rst:721 +#: howto/logging.rst:722 msgid "" "Note that the class names referenced in config files need to be either " "relative to the logging module, or absolute values which can be resolved " @@ -1243,7 +1249,7 @@ msgstr "" "``mymodule``, si ``mypackage`` est disponible dans les chemins d'importation " "de Python)." -#: howto/logging.rst:729 +#: howto/logging.rst:730 msgid "" "In Python 3.2, a new means of configuring logging has been introduced, using " "dictionaries to hold configuration information. This provides a superset of " @@ -1272,7 +1278,7 @@ msgstr "" "forme de *pickle* sur un connecteur, ou utiliser n'importe quelle approche " "suivant la logique de votre application." -#: howto/logging.rst:741 +#: howto/logging.rst:742 msgid "" "Here's an example of the same configuration as above, in YAML format for the " "new dictionary-based approach:" @@ -1280,7 +1286,7 @@ msgstr "" "Voici un exemple définissant la même configuration que ci-dessus, au format " "YAML pour le dictionnaire correspondant à cette nouvelle approche :" -#: howto/logging.rst:765 +#: howto/logging.rst:766 msgid "" "For more information about logging using a dictionary, see :ref:`logging-" "config-api`." @@ -1288,11 +1294,11 @@ msgstr "" "Pour plus d'informations sur la journalisation à l'aide d'un dictionnaire, " "consultez :ref:`logging-config-api`." -#: howto/logging.rst:769 +#: howto/logging.rst:770 msgid "What happens if no configuration is provided" msgstr "Comportement par défaut (si aucune configuration n'est fournie)" -#: howto/logging.rst:771 +#: howto/logging.rst:772 msgid "" "If no logging configuration is provided, it is possible to have a situation " "where a logging event needs to be output, but no handlers can be found to " @@ -1305,13 +1311,13 @@ msgstr "" "l'événement. Le comportement du paquet ```logging``` dans ces circonstances " "dépend de la version Python." -#: howto/logging.rst:776 +#: howto/logging.rst:777 msgid "For versions of Python prior to 3.2, the behaviour is as follows:" msgstr "" "Pour les versions de Python antérieures à 3.2, le comportement est le " "suivant :" -#: howto/logging.rst:778 +#: howto/logging.rst:779 msgid "" "If *logging.raiseExceptions* is ``False`` (production mode), the event is " "silently dropped." @@ -1319,7 +1325,7 @@ msgstr "" "Si *logging.raiseExceptions* vaut ``False`` (mode production), l’événement " "est silencieusement abandonné." -#: howto/logging.rst:781 +#: howto/logging.rst:782 msgid "" "If *logging.raiseExceptions* is ``True`` (development mode), a message 'No " "handlers could be found for logger X.Y.Z' is printed once." @@ -1328,11 +1334,11 @@ msgstr "" "message *No handlers could be found for logger X.Y.Z* est écrit sur la " "sortie standard une fois." -#: howto/logging.rst:784 +#: howto/logging.rst:785 msgid "In Python 3.2 and later, the behaviour is as follows:" msgstr "Dans Python 3.2 et ultérieur, le comportement est le suivant :" -#: howto/logging.rst:786 +#: howto/logging.rst:787 msgid "" "The event is output using a 'handler of last resort', stored in ``logging." "lastResort``. This internal handler is not associated with any logger, and " @@ -1353,7 +1359,7 @@ msgstr "" "gestionnaire est défini sur ``WARNING``, de sorte que tous les événements de " "cette sévérité et plus seront écrits." -#: howto/logging.rst:795 +#: howto/logging.rst:796 msgid "" "To obtain the pre-3.2 behaviour, ``logging.lastResort`` can be set to " "``None``." @@ -1361,11 +1367,11 @@ msgstr "" "Pour obtenir un comportement antérieur à 3.2, ``logging.lastResort`` peut " "être mis à ``None``." -#: howto/logging.rst:800 +#: howto/logging.rst:801 msgid "Configuring Logging for a Library" msgstr "Configuration de la journalisation pour une bibliothèque" -#: howto/logging.rst:802 +#: howto/logging.rst:803 msgid "" "When developing a library which uses logging, you should take care to " "document how the library uses logging - for example, the names of loggers " @@ -1385,7 +1391,7 @@ msgstr "" "``WARNING`` et au-dessus seront écrits sur ``sys.stderr``. Cela est " "considéré comme le meilleur comportement par défaut." -#: howto/logging.rst:810 +#: howto/logging.rst:811 msgid "" "If for some reason you *don't* want these messages printed in the absence of " "any logging configuration, you can attach a do-nothing handler to the top-" @@ -1408,7 +1414,7 @@ msgstr "" "appels effectués dans le code de bibliothèque enverra la sortie à ces " "gestionnaires, comme d'habitude." -#: howto/logging.rst:819 +#: howto/logging.rst:820 msgid "" "A do-nothing handler is included in the logging package: :class:`~logging." "NullHandler` (since Python 3.1). An instance of this handler could be added " @@ -1428,7 +1434,7 @@ msgstr "" "effectuée en utilisant des enregistreurs avec des noms correspondant à *foo." "x*, *foo.x.y*, etc., alors le code ::" -#: howto/logging.rst:830 +#: howto/logging.rst:831 msgid "" "should have the desired effect. If an organisation produces a number of " "libraries, then the logger name specified can be 'orgname.foo' rather than " @@ -1438,7 +1444,7 @@ msgstr "" "bibliothèques, le nom de l'enregistreur spécifié peut être ``orgname.foo`` " "plutôt que simplement ``foo``." -#: howto/logging.rst:834 +#: howto/logging.rst:835 msgid "" "It is strongly advised that you *do not add any handlers other than* :class:" "`~logging.NullHandler` *to your library's loggers*. This is because the " @@ -1457,11 +1463,11 @@ msgstr "" "le manteau », vous pourriez bien interférer avec les tests unitaires et la " "journalisation qui convient à ses exigences." -#: howto/logging.rst:845 +#: howto/logging.rst:846 msgid "Logging Levels" msgstr "Niveaux de journalisation" -#: howto/logging.rst:847 +#: howto/logging.rst:848 msgid "" "The numeric values of logging levels are given in the following table. These " "are primarily of interest if you want to define your own levels, and need " @@ -1475,39 +1481,39 @@ msgstr "" "prédéfinis. Si vous définissez un niveau avec la même valeur numérique, il " "écrase la valeur prédéfinie ; le nom prédéfini est perdu." -#: howto/logging.rst:854 +#: howto/logging.rst:855 msgid "Numeric value" msgstr "Valeur numérique" -#: howto/logging.rst:856 +#: howto/logging.rst:857 msgid "50" msgstr "50" -#: howto/logging.rst:858 +#: howto/logging.rst:859 msgid "40" msgstr "40" -#: howto/logging.rst:860 +#: howto/logging.rst:861 msgid "30" msgstr "30" -#: howto/logging.rst:862 +#: howto/logging.rst:863 msgid "20" msgstr "20" -#: howto/logging.rst:864 +#: howto/logging.rst:865 msgid "10" msgstr "10" -#: howto/logging.rst:866 +#: howto/logging.rst:867 msgid "``NOTSET``" msgstr "``NOTSET``" -#: howto/logging.rst:866 +#: howto/logging.rst:867 msgid "0" msgstr "0" -#: howto/logging.rst:869 +#: howto/logging.rst:870 msgid "" "Levels can also be associated with loggers, being set either by the " "developer or through loading a saved logging configuration. When a logging " @@ -1525,7 +1531,7 @@ msgstr "" "réellement généré. C'est le mécanisme de base contrôlant la verbosité de la " "sortie de journalisation." -#: howto/logging.rst:876 +#: howto/logging.rst:877 msgid "" "Logging messages are encoded as instances of the :class:`~logging.LogRecord` " "class. When a logger decides to actually log an event, a :class:`~logging." @@ -1536,7 +1542,7 @@ msgstr "" "enregistrer un événement, une instance de :class:`~logging.LogRecord` est " "créée à partir du message de journalisation." -#: howto/logging.rst:880 +#: howto/logging.rst:881 msgid "" "Logging messages are subjected to a dispatch mechanism through the use of :" "dfn:`handlers`, which are instances of subclasses of the :class:`Handler` " @@ -1570,7 +1576,7 @@ msgstr "" "enregistreur soit défini sur la valeur ``False``, auquel cas le passage à " "l'ancêtre gestionnaires s'arrête)." -#: howto/logging.rst:894 +#: howto/logging.rst:895 msgid "" "Just as for loggers, handlers can have levels associated with them. A " "handler's level acts as a filter in the same way as a logger's level does. " @@ -1587,11 +1593,11 @@ msgstr "" "classes définies par l'utilisateur de :class:`Handler` devront remplacer ce :" "meth:`~Handler.emit`." -#: howto/logging.rst:903 +#: howto/logging.rst:904 msgid "Custom Levels" msgstr "Niveaux personnalisés" -#: howto/logging.rst:905 +#: howto/logging.rst:906 msgid "" "Defining your own levels is possible, but should not be necessary, as the " "existing levels have been chosen on the basis of practical experience. " @@ -1615,11 +1621,11 @@ msgstr "" "contrôler et/ou interpréter, car une valeur numérique donnée peut signifier " "des choses différentes pour différentes bibliothèques." -#: howto/logging.rst:918 +#: howto/logging.rst:919 msgid "Useful Handlers" msgstr "Gestionnaires utiles" -#: howto/logging.rst:920 +#: howto/logging.rst:921 msgid "" "In addition to the base :class:`Handler` class, many useful subclasses are " "provided:" @@ -1627,7 +1633,7 @@ msgstr "" "En plus de la classe de base :class:`Handler`, de nombreuses sous-classes " "utiles sont fournies :" -#: howto/logging.rst:923 +#: howto/logging.rst:924 msgid "" ":class:`StreamHandler` instances send messages to streams (file-like " "objects)." @@ -1635,13 +1641,13 @@ msgstr "" "Les instances :class:`StreamHandler` envoient des messages aux flux (objets " "de type fichier)." -#: howto/logging.rst:926 +#: howto/logging.rst:927 msgid ":class:`FileHandler` instances send messages to disk files." msgstr "" "Les instances :class:`FileHandler` envoient des messages à des fichiers sur " "le disque." -#: howto/logging.rst:928 +#: howto/logging.rst:929 msgid "" ":class:`~handlers.BaseRotatingHandler` is the base class for handlers that " "rotate log files at a certain point. It is not meant to be instantiated " @@ -1654,7 +1660,7 @@ msgstr "" "directement. Utilisez plutôt :class:`~handlers.RotatingFileHandler` ou :" "class:`~handlers.TimedRotatingFileHandler`." -#: howto/logging.rst:933 +#: howto/logging.rst:934 msgid "" ":class:`~handlers.RotatingFileHandler` instances send messages to disk " "files, with support for maximum log file sizes and log file rotation." @@ -1663,7 +1669,7 @@ msgstr "" "des fichiers sur le disque, avec la prise en charge des tailles maximales de " "fichiers de journalisation et de la rotation des fichiers de journalisation." -#: howto/logging.rst:936 +#: howto/logging.rst:937 msgid "" ":class:`~handlers.TimedRotatingFileHandler` instances send messages to disk " "files, rotating the log file at certain timed intervals." @@ -1672,7 +1678,7 @@ msgstr "" "messages aux fichiers de disque, en permutant le fichier journal à " "intervalles réguliers." -#: howto/logging.rst:939 +#: howto/logging.rst:940 msgid "" ":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. " "Since 3.4, Unix domain sockets are also supported." @@ -1681,7 +1687,7 @@ msgstr "" "connecteurs TCP/IP. Depuis 3.4, les connecteurs UNIX sont également pris en " "charge." -#: howto/logging.rst:942 +#: howto/logging.rst:943 msgid "" ":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. " "Since 3.4, Unix domain sockets are also supported." @@ -1690,7 +1696,7 @@ msgstr "" "aux connecteurs UDP. Depuis 3.4, les connecteurs UNIX sont également pris en " "charge." -#: howto/logging.rst:945 +#: howto/logging.rst:946 msgid "" ":class:`~handlers.SMTPHandler` instances send messages to a designated email " "address." @@ -1698,7 +1704,7 @@ msgstr "" "Les instances de :class:`~handlers.SMTPHandler` envoient des messages à une " "adresse e-mail désignée." -#: howto/logging.rst:948 +#: howto/logging.rst:949 msgid "" ":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog " "daemon, possibly on a remote machine." @@ -1706,7 +1712,7 @@ msgstr "" "Les instances de :class:`~handlers.SysLogHandler` envoient des messages à un " "*daemon* *syslog* UNIX, éventuellement sur un ordinateur distant." -#: howto/logging.rst:951 +#: howto/logging.rst:952 msgid "" ":class:`~handlers.NTEventLogHandler` instances send messages to a Windows " "NT/2000/XP event log." @@ -1714,7 +1720,7 @@ msgstr "" "Les instances de :class:`~handlers.NTEventLogHandler` envoient des messages " "à un journal des événements Windows NT/2000/XP." -#: howto/logging.rst:954 +#: howto/logging.rst:955 msgid "" ":class:`~handlers.MemoryHandler` instances send messages to a buffer in " "memory, which is flushed whenever specific criteria are met." @@ -1723,7 +1729,7 @@ msgstr "" "tampon en mémoire, qui est vidé chaque fois que des critères spécifiques " "sont remplis." -#: howto/logging.rst:957 +#: howto/logging.rst:958 msgid "" ":class:`~handlers.HTTPHandler` instances send messages to an HTTP server " "using either ``GET`` or ``POST`` semantics." @@ -1731,7 +1737,7 @@ msgstr "" "Les instances de :class:`~handlers.HTTPHandler` envoient des messages à un " "serveur HTTP à l'aide de la sémantique ``GET`` ou ``POST``." -#: howto/logging.rst:960 +#: howto/logging.rst:961 msgid "" ":class:`~handlers.WatchedFileHandler` instances watch the file they are " "logging to. If the file changes, it is closed and reopened using the file " @@ -1744,7 +1750,7 @@ msgstr "" "les systèmes de type UNIX ; Windows ne prend pas en charge le mécanisme sous-" "jacent utilisé." -#: howto/logging.rst:965 +#: howto/logging.rst:966 msgid "" ":class:`~handlers.QueueHandler` instances send messages to a queue, such as " "those implemented in the :mod:`queue` or :mod:`multiprocessing` modules." @@ -1753,7 +1759,7 @@ msgstr "" "file d'attente, telles que celles implémentées dans les modules :mod:`queue` " "ou :mod:`multiprocessing`." -#: howto/logging.rst:968 +#: howto/logging.rst:969 msgid "" ":class:`NullHandler` instances do nothing with error messages. They are used " "by library developers who want to use logging, but want to avoid the 'No " @@ -1768,15 +1774,15 @@ msgstr "" "n'a pas configuré la journalisation. Voir :ref:`library-config` pour plus " "d'informations." -#: howto/logging.rst:974 +#: howto/logging.rst:975 msgid "The :class:`NullHandler` class." msgstr "La classe :class:`NullHandler`." -#: howto/logging.rst:977 +#: howto/logging.rst:978 msgid "The :class:`~handlers.QueueHandler` class." msgstr "La classe :class:`~handlers.QueueHandler`." -#: howto/logging.rst:980 +#: howto/logging.rst:981 msgid "" "The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` " "classes are defined in the core logging package. The other handlers are " @@ -1789,7 +1795,7 @@ msgstr "" "handlers` (il existe également un autre sous-module, :mod:`logging.config`, " "pour la fonctionnalité de configuration)." -#: howto/logging.rst:985 +#: howto/logging.rst:986 msgid "" "Logged messages are formatted for presentation through instances of the :" "class:`Formatter` class. They are initialized with a format string suitable " @@ -1800,7 +1806,7 @@ msgstr "" "chaîne de format appropriée pour une utilisation avec l'opérateur % et un " "dictionnaire." -#: howto/logging.rst:989 +#: howto/logging.rst:990 msgid "" "For formatting multiple messages in a batch, instances of :class:`~handlers." "BufferingFormatter` can be used. In addition to the format string (which is " @@ -1812,7 +1818,7 @@ msgstr "" "de format (qui est appliquée à chaque message dans le lot), il existe des " "dispositions pour les chaînes de format d'en-tête et de fin." -#: howto/logging.rst:994 +#: howto/logging.rst:995 msgid "" "When filtering based on logger level and/or handler level is not enough, " "instances of :class:`Filter` can be added to both :class:`Logger` and :class:" @@ -1829,7 +1835,7 @@ msgstr "" "consultent tous leurs filtres pour obtenir l'autorisation. Si un filtre " "renvoie une valeur ``False``, le traitement du message est arrêté." -#: howto/logging.rst:1001 +#: howto/logging.rst:1002 msgid "" "The basic :class:`Filter` functionality allows filtering by specific logger " "name. If this feature is used, messages sent to the named logger and its " @@ -1840,11 +1846,11 @@ msgstr "" "envoyés à l'enregistreur nommé et à ses enfants sont autorisés via le filtre " "et tous les autres sont abandonnés." -#: howto/logging.rst:1009 +#: howto/logging.rst:1010 msgid "Exceptions raised during logging" msgstr "Exceptions levées par la journalisation" -#: howto/logging.rst:1011 +#: howto/logging.rst:1012 msgid "" "The logging package is designed to swallow exceptions which occur while " "logging in production. This is so that errors which occur while handling " @@ -1858,7 +1864,7 @@ msgstr "" "journalisation, une erreur réseau ou d'autres erreurs similaires) ne " "provoquent pas l'arrêt de l'application utilisant la journalisation." -#: howto/logging.rst:1016 +#: howto/logging.rst:1017 msgid "" ":class:`SystemExit` and :class:`KeyboardInterrupt` exceptions are never " "swallowed. Other exceptions which occur during the :meth:`~Handler.emit` " @@ -1870,7 +1876,7 @@ msgstr "" "la méthode :meth:`~Handler.emit` d'une sous classe :class:`Handler` sont " "passées à sa méthode :meth:`~Handler.handleError`." -#: howto/logging.rst:1021 +#: howto/logging.rst:1022 msgid "" "The default implementation of :meth:`~Handler.handleError` in :class:" "`Handler` checks to see if a module-level variable, :data:`raiseExceptions`, " @@ -1883,7 +1889,7 @@ msgstr "" "pile d'appels est affichée sur :data:`sys.stderr`. Si elle n'est pas " "définie, l'exception est passée sous silence." -#: howto/logging.rst:1026 +#: howto/logging.rst:1027 msgid "" "The default value of :data:`raiseExceptions` is ``True``. This is because " "during development, you typically want to be notified of any exceptions that " @@ -1895,11 +1901,11 @@ msgstr "" "toutes les exceptions qui se produisent. Il est conseillé de définir :data:" "`raiseExceptions` à ``False`` pour une utilisation en production." -#: howto/logging.rst:1036 +#: howto/logging.rst:1037 msgid "Using arbitrary objects as messages" msgstr "Utilisation d'objets arbitraires comme messages" -#: howto/logging.rst:1038 +#: howto/logging.rst:1039 msgid "" "In the preceding sections and examples, it has been assumed that the message " "passed when logging the event is a string. However, this is not the only " @@ -1920,11 +1926,11 @@ msgstr "" "gestionnaires :class:`~handlers.SocketHandler` émettent un événement en lui " "appliquant *pickle* et en l'envoyant sur le réseau." -#: howto/logging.rst:1049 +#: howto/logging.rst:1050 msgid "Optimization" msgstr "Optimisation" -#: howto/logging.rst:1051 +#: howto/logging.rst:1052 msgid "" "Formatting of message arguments is deferred until it cannot be avoided. " "However, computing the arguments passed to the logging method can also be " @@ -1943,7 +1949,7 @@ msgstr "" "renvoie ``True`` si un événement est créé par l'enregistreur pour ce niveau " "d'appel. Vous pouvez écrire un code qui ressemble à ça ::" -#: howto/logging.rst:1063 +#: howto/logging.rst:1064 msgid "" "so that if the logger's threshold is set above ``DEBUG``, the calls to :func:" "`expensive_func1` and :func:`expensive_func2` are never made." @@ -1952,7 +1958,7 @@ msgstr "" "les appels à :func:`expensive_func1` et :func:`expensive_func2` ne sont " "jamais faits." -#: howto/logging.rst:1066 +#: howto/logging.rst:1067 msgid "" "In some cases, :meth:`~Logger.isEnabledFor` can itself be more expensive " "than you'd like (e.g. for deeply nested loggers where an explicit level is " @@ -1974,7 +1980,7 @@ msgstr "" "configuration de journalisation change dynamiquement pendant l'exécution de " "l'application (ce qui est rarement le cas)." -#: howto/logging.rst:1075 +#: howto/logging.rst:1076 msgid "" "There are other optimizations which can be made for specific applications " "which need more precise control over what logging information is collected. " @@ -1987,19 +1993,19 @@ msgstr "" "vous pouvez faire pour éviter le traitement pendant la journalisation dont " "vous n'avez pas besoin :" -#: howto/logging.rst:1081 +#: howto/logging.rst:1082 msgid "What you don't want to collect" msgstr "Ce que vous ne voulez pas collecter" -#: howto/logging.rst:1081 +#: howto/logging.rst:1082 msgid "How to avoid collecting it" msgstr "Comment éviter de le collecter" -#: howto/logging.rst:1083 +#: howto/logging.rst:1084 msgid "Information about where calls were made from." msgstr "Informations sur l'endroit où les appels ont été faits." -#: howto/logging.rst:1083 +#: howto/logging.rst:1084 msgid "" "Set ``logging._srcfile`` to ``None``. This avoids calling :func:`sys." "_getframe`, which may help to speed up your code in environments like PyPy " @@ -2010,23 +2016,23 @@ msgstr "" "comme PyPy (qui ne peut pas accélérer le code qui utilise :func:`sys." "_getframe`)." -#: howto/logging.rst:1089 +#: howto/logging.rst:1090 msgid "Threading information." msgstr "Informations de *threading*." -#: howto/logging.rst:1089 +#: howto/logging.rst:1090 msgid "Set ``logging.logThreads`` to ``False``." msgstr "Mettez ``logging.logThreads`` à ``False``." -#: howto/logging.rst:1091 +#: howto/logging.rst:1092 msgid "Current process ID (:func:`os.getpid`)" msgstr "Identifiant du processus courant (résultat de :func:`os.getpid`)" -#: howto/logging.rst:1091 +#: howto/logging.rst:1092 msgid "Set ``logging.logProcesses`` to ``False``." msgstr "Mettez ``logging.logProcesses`` à ``False``." -#: howto/logging.rst:1093 +#: howto/logging.rst:1094 msgid "" "Current process name when using ``multiprocessing`` to manage multiple " "processes." @@ -2034,11 +2040,11 @@ msgstr "" "Nom du processus actuel, si vous vous servez de ``multiprocessing`` pour " "gérer plusieurs processus à la fois" -#: howto/logging.rst:1093 +#: howto/logging.rst:1094 msgid "Set ``logging.logMultiprocessing`` to ``False``." msgstr "Mettez ``logging.logMultiProcessing`` à ``False``." -#: howto/logging.rst:1097 +#: howto/logging.rst:1098 msgid "" "Also note that the core logging module only includes the basic handlers. If " "you don't import :mod:`logging.handlers` and :mod:`logging.config`, they " @@ -2048,31 +2054,31 @@ msgstr "" "les gestionnaires de base. Si vous n'importez pas :mod:`logging.handlers` " "et :mod:`logging.config`, ils ne prendront pas de mémoire." -#: howto/logging.rst:1104 +#: howto/logging.rst:1105 msgid "Module :mod:`logging`" msgstr "Module :mod:`logging`" -#: howto/logging.rst:1104 +#: howto/logging.rst:1105 msgid "API reference for the logging module." msgstr "Référence d'API pour le module de journalisation." -#: howto/logging.rst:1107 +#: howto/logging.rst:1108 msgid "Module :mod:`logging.config`" msgstr "Module :mod:`logging.config`" -#: howto/logging.rst:1107 +#: howto/logging.rst:1108 msgid "Configuration API for the logging module." msgstr "API de configuration pour le module de journalisation." -#: howto/logging.rst:1110 +#: howto/logging.rst:1111 msgid "Module :mod:`logging.handlers`" msgstr "Module :mod:`logging.handlers`" -#: howto/logging.rst:1110 +#: howto/logging.rst:1111 msgid "Useful handlers included with the logging module." msgstr "Gestionnaires utiles inclus avec le module de journalisation." -#: howto/logging.rst:1112 +#: howto/logging.rst:1113 msgid ":ref:`A logging cookbook `" msgstr ":ref:`A logging cookbook `" diff --git a/howto/regex.po b/howto/regex.po index 2bc003467f..4f32574eee 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:27+0200\n" "Last-Translator: Nabil Bendafi \n" "Language-Team: FRENCH \n" @@ -1917,8 +1917,9 @@ msgstr "" "meth:`~re.Match.groupdict` ::" #: howto/regex.rst:952 +#, fuzzy msgid "" -"Named groups are handy because they let you use easily-remembered names, " +"Named groups are handy because they let you use easily remembered names, " "instead of having to remember numbers. Here's an example RE from the :mod:" "`imaplib` module::" msgstr "" diff --git a/howto/sockets.po b/howto/sockets.po index 186c594f55..264103cc4c 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:27+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -472,13 +472,22 @@ msgstr "Données binaires" msgid "" "It is perfectly possible to send binary data over a socket. The major " "problem is that not all machines use the same formats for binary data. For " -"example, a Motorola chip will represent a 16 bit integer with the value 1 as " -"the two hex bytes 00 01. Intel and DEC, however, are byte-reversed - that " -"same 1 is 01 00. Socket libraries have calls for converting 16 and 32 bit " -"integers - ``ntohl, htonl, ntohs, htons`` where \"n\" means *network* and " -"\"h\" means *host*, \"s\" means *short* and \"l\" means *long*. Where " -"network order is host order, these do nothing, but where the machine is byte-" -"reversed, these swap the bytes around appropriately." +"example, `network byte order `_ is big-endian, with the most significant byte " +"first, so a 16 bit integer with the value ``1`` would be the two hex bytes " +"``00 01``. However, most common processors (x86/AMD64, ARM, RISC-V), are " +"little-endian, with the least significant byte first - that same ``1`` would " +"be ``01 00``." +msgstr "" + +#: howto/sockets.rst:262 +#, fuzzy +msgid "" +"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, " +"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, " +"\"s\" means *short* and \"l\" means *long*. Where network order is host " +"order, these do nothing, but where the machine is byte-reversed, these swap " +"the bytes around appropriately." msgstr "" "Il est parfaitement possible d’envoyer des données binaires sur un " "connecteur. Le gros problème est que toutes les machines n’utilisent pas les " @@ -493,13 +502,15 @@ msgstr "" "utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière " "appropriée." -#: howto/sockets.rst:264 +#: howto/sockets.rst:268 +#, fuzzy msgid "" -"In these days of 32 bit machines, the ascii representation of binary data is " +"In these days of 64-bit machines, the ASCII representation of binary data is " "frequently smaller than the binary representation. That's because a " -"surprising amount of the time, all those longs have the value 0, or maybe 1. " -"The string \"0\" would be two bytes, while binary is four. Of course, this " -"doesn't fit well with fixed-length messages. Decisions, decisions." +"surprising amount of the time, most integers have the value 0, or maybe 1. " +"The string ``\"0\"`` would be two bytes, while a full 64-bit integer would " +"be 8. Of course, this doesn't fit well with fixed-length messages. " +"Decisions, decisions." msgstr "" "De nos jours, avec les machines 32 bits, la représentation *ASCII* des " "données binaires est souvent plus compacte que la représentation binaire. " @@ -509,11 +520,11 @@ msgstr "" "très bien avec les messages de longueur fixe. Ah, les décisions, les " "décisions…" -#: howto/sockets.rst:272 +#: howto/sockets.rst:277 msgid "Disconnecting" msgstr "Déconnexion" -#: howto/sockets.rst:274 +#: howto/sockets.rst:279 msgid "" "Strictly speaking, you're supposed to use ``shutdown`` on a socket before " "you ``close`` it. The ``shutdown`` is an advisory to the socket at the " @@ -534,7 +545,7 @@ msgstr "" "un ``close`` est équivalent à ``shutdown() ; close()``. Ainsi, dans la " "plupart des situations, un ``shutdown`` explicite n’est pas nécessaire." -#: howto/sockets.rst:282 +#: howto/sockets.rst:287 msgid "" "One way to use ``shutdown`` effectively is in an HTTP-like exchange. The " "client sends a request and then does a ``shutdown(1)``. This tells the " @@ -551,7 +562,7 @@ msgstr "" "serveur envoie une réponse. Si le ``send`` se termine avec succès, alors, en " "effet, le client était encore en train de recevoir." -#: howto/sockets.rst:289 +#: howto/sockets.rst:294 msgid "" "Python takes the automatic shutdown a step further, and says that when a " "socket is garbage collected, it will automatically do a ``close`` if it's " @@ -568,11 +579,11 @@ msgstr "" "suspendu indéfiniment, pensant que vous êtes juste lent. Fermez vos " "connecteurs quand vous avez terminé *s’il vous plaît*." -#: howto/sockets.rst:297 +#: howto/sockets.rst:302 msgid "When Sockets Die" msgstr "Quand les connecteurs meurent" -#: howto/sockets.rst:299 +#: howto/sockets.rst:304 msgid "" "Probably the worst thing about using blocking sockets is what happens when " "the other side comes down hard (without doing a ``close``). Your socket is " @@ -600,11 +611,11 @@ msgstr "" "ressources. En d'autres termes, si vous parvenez à tuer le fil, tout votre " "processus risque d'être foutu." -#: howto/sockets.rst:313 +#: howto/sockets.rst:318 msgid "Non-blocking Sockets" msgstr "Connecteurs non bloquants" -#: howto/sockets.rst:315 +#: howto/sockets.rst:320 msgid "" "If you've understood the preceding, you already know most of what you need " "to know about the mechanics of using sockets. You'll still use the same " @@ -616,7 +627,7 @@ msgstr "" "toujours les mêmes appels, de la même façon. Il n’y que ça. Si vous le " "faites bien, c’est presque dans la poche." -#: howto/sockets.rst:320 +#: howto/sockets.rst:325 msgid "" "In Python, you use ``socket.setblocking(False)`` to make it non-blocking. In " "C, it's more complex, (for one thing, you'll need to choose between the BSD " @@ -633,7 +644,7 @@ msgstr "" "avoir créé le connecteur mais avant de l’utiliser (en fait, si vous êtes " "fou, vous pouvez alterner)." -#: howto/sockets.rst:327 +#: howto/sockets.rst:332 msgid "" "The major mechanical difference is that ``send``, ``recv``, ``connect`` and " "``accept`` can return without having done anything. You have (of course) a " @@ -650,11 +661,11 @@ msgstr "" "vampiriser le processeur. Alors, évitons les solutions vouées à l’échec dès " "le départ et faisons les choses correctement." -#: howto/sockets.rst:334 +#: howto/sockets.rst:339 msgid "Use ``select``." msgstr "Utilisation de ``select``." -#: howto/sockets.rst:336 +#: howto/sockets.rst:341 msgid "" "In C, coding ``select`` is fairly complex. In Python, it's a piece of cake, " "but it's close enough to the C version that if you understand ``select`` in " @@ -664,7 +675,7 @@ msgstr "" "mais c'est assez proche de la version C ; aussi, si vous comprenez " "``select`` en Python, vous aurez peu de problèmes en C ::" -#: howto/sockets.rst:347 +#: howto/sockets.rst:352 msgid "" "You pass ``select`` three lists: the first contains all sockets that you " "might want to try reading; the second all the sockets you might want to try " @@ -684,7 +695,7 @@ msgstr "" "d'attente (disons une minute), à moins que vous n'ayez une bonne raison de " "ne pas le faire." -#: howto/sockets.rst:355 +#: howto/sockets.rst:360 msgid "" "In return, you will get three lists. They contain the sockets that are " "actually readable, writable and in error. Each of these lists is a subset " @@ -695,7 +706,7 @@ msgstr "" "est un sous-ensemble (éventuellement vide) de la liste correspondante que " "vous avez transmise." -#: howto/sockets.rst:359 +#: howto/sockets.rst:364 msgid "" "If a socket is in the output readable list, you can be as-close-to-certain-" "as-we-ever-get-in-this-business that a ``recv`` on that socket will return " @@ -713,7 +724,7 @@ msgstr "" "des connecteurs inscriptibles — cela signifie simplement que l'espace tampon " "réseau sortant est disponible)." -#: howto/sockets.rst:366 +#: howto/sockets.rst:371 msgid "" "If you have a \"server\" socket, put it in the potential_readers list. If it " "comes out in the readable list, your ``accept`` will (almost certainly) " @@ -730,7 +741,7 @@ msgstr "" "dans la liste renvoyée des connecteurs sur lesquels vous pouvez écrire, vous " "avez une bonne chance qu'il se soit connecté." -#: howto/sockets.rst:372 +#: howto/sockets.rst:377 msgid "" "Actually, ``select`` can be handy even with blocking sockets. It's one way " "of determining whether you will block - the socket returns as readable when " @@ -744,7 +755,7 @@ msgstr "" "Cependant, cela n'aide pas encore à déterminer si l'autre extrémité a " "terminé, ou si elle est simplement occupée par autre chose." -#: howto/sockets.rst:377 +#: howto/sockets.rst:382 msgid "" "**Portability alert**: On Unix, ``select`` works both with the sockets and " "files. Don't try this on Windows. On Windows, ``select`` works with sockets " diff --git a/howto/unicode.po b/howto/unicode.po index 89edbd2db2..b53b59b17a 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 17:16+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -357,9 +357,10 @@ msgstr "" "v=MijmeoH9LT4>`_ (9 minutes et 36 secondes)." #: howto/unicode.rst:169 +#, fuzzy msgid "" "To help understand the standard, Jukka Korpela has written `an introductory " -"guide `_ to reading the Unicode " +"guide `_ to reading the Unicode " "character tables." msgstr "" "Pour aider à comprendre le standard, Jukka Korpela a écrit `un guide " @@ -835,8 +836,9 @@ msgstr "" "sont :" #: howto/unicode.rst:520 +#, fuzzy msgid "" -"`Processing Text Files in Python 3 `_, by Nick Coghlan." msgstr "" "`Processing Text Files in Python 3 `_, a PyCon 2010 talk by David " "Beazley, discusses text processing and binary data handling." msgstr "" @@ -1264,8 +1267,9 @@ msgstr "" "diapositives ne couvrent que Python 2.x." #: howto/unicode.rst:747 +#, fuzzy msgid "" -"`The Guts of Unicode in Python `_ is a PyCon 2013 talk by Benjamin Peterson that " "discusses the internal Unicode representation in Python 3.3." msgstr "" diff --git a/howto/urllib2.po b/howto/urllib2.po index f8a057126a..4be438a1de 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -24,14 +24,15 @@ msgid "Author" msgstr "Auteur" #: howto/urllib2.rst:7 -msgid "`Michael Foord `_" +msgid "`Michael Foord `_" msgstr "" #: howto/urllib2.rst:11 msgid "" "There is a French translation of an earlier revision of this HOWTO, " -"available at `urllib2 - Le Manuel manquant `_." +"available at `urllib2 - Le Manuel manquant `_." msgstr "" #: howto/urllib2.rst:18 @@ -46,8 +47,8 @@ msgstr "" #: howto/urllib2.rst:25 msgid "" -"`Basic Authentication `_" +"`Basic Authentication `_" msgstr "" #: howto/urllib2.rst:27 @@ -355,7 +356,7 @@ msgstr "" #: howto/urllib2.rst:413 msgid "" "Typical headers include 'Content-length', 'Content-type', and so on. See the " -"`Quick Reference to HTTP Headers `_ for a " +"`Quick Reference to HTTP Headers `_ for a " "useful listing of HTTP headers with brief explanations of their meaning and " "use." msgstr "" @@ -367,7 +368,7 @@ msgstr "" #: howto/urllib2.rst:422 msgid "" "When you fetch a URL you use an opener (an instance of the perhaps " -"confusingly-named :class:`urllib.request.OpenerDirector`). Normally we have " +"confusingly named :class:`urllib.request.OpenerDirector`). Normally we have " "been using the default opener - via ``urlopen`` - but you can create custom " "openers. Openers use handlers. All the \"heavy lifting\" is done by the " "handlers. Each handler knows how to open URLs for a particular URL scheme " diff --git a/install/index.po b/install/index.po index 5adc496271..69b75c0702 100644 --- a/install/index.po +++ b/install/index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 17:18+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -126,13 +126,14 @@ msgid "Distutils based source distributions" msgstr "Distributions basées sur *distutils*" #: install/index.rst:64 +#, fuzzy msgid "" "If you download a module source distribution, you can tell pretty quickly if " "it was packaged and distributed in the standard way, i.e. using the " "Distutils. First, the distribution's name and version number will be " "featured prominently in the name of the downloaded archive, e.g. :file:" "`foo-1.0.tar.gz` or :file:`widget-0.9.7.zip`. Next, the archive will unpack " -"into a similarly-named directory: :file:`foo-1.0` or :file:`widget-0.9.7`. " +"into a similarly named directory: :file:`foo-1.0` or :file:`widget-0.9.7`. " "Additionally, the distribution will contain a setup script :file:`setup.py`, " "and a file named :file:`README.txt` or possibly just :file:`README`, which " "should explain that building and installing the module distribution is a " @@ -1335,7 +1336,7 @@ msgstr "\\(5)" #: install/index.rst:763 msgid "" "On all platforms, the \"personal\" file can be temporarily disabled by " -"passing the `--no-user-cfg` option." +"passing the ``--no-user-cfg`` option." msgstr "" #: install/index.rst:769 @@ -1721,8 +1722,8 @@ msgstr "" #: install/index.rst:1065 msgid "" -"`Building Python modules on MS Windows platform with MinGW `_" +"`Building Python modules on MS Windows platform with MinGW `_" msgstr "" #: install/index.rst:1066 diff --git a/installing/index.po b/installing/index.po index a833814a26..b70294c3d2 100644 --- a/installing/index.po +++ b/installing/index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-02-23 18:50+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -407,10 +407,11 @@ msgstr "" "est ::" #: installing/index.rst:216 +#, fuzzy msgid "" "There are also additional resources for `installing pip. `__" +"python.org/en/latest/tutorials/installing-packages/#ensure-pip-setuptools-" +"and-wheel-are-up-to-date>`__" msgstr "" "Voir aussi `installing pip. `__" diff --git a/library/2to3.po b/library/2to3.po index aa46413a4b..7cf91fe18d 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-31 11:33+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-04-29 13:57+0200\n" "Last-Translator: Dimitri Merejkowsky \n" "Language-Team: FRENCH \n" @@ -16,7 +16,8 @@ msgstr "" "X-Generator: Poedit 2.4.1\n" #: library/2to3.rst:4 -msgid "2to3 - Automated Python 2 to 3 code translation" +#, fuzzy +msgid "2to3 --- Automated Python 2 to 3 code translation" msgstr "*2to3* — Traduction automatique de code en Python 2 vers Python 3" #: library/2to3.rst:8 @@ -767,7 +768,8 @@ msgstr "" "désactivé lorsque ``from future_builtins import zip`` apparaît." #: library/2to3.rst:455 -msgid ":mod:`lib2to3` - 2to3's library" +#, fuzzy +msgid ":mod:`lib2to3` --- 2to3's library" msgstr ":mod:`lib2to3` — la bibliothèque de *2to3*" #: library/2to3.rst:464 diff --git a/library/_thread.po b/library/_thread.po index 4954327782..28e6346983 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-06 20:06+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -262,11 +262,12 @@ msgstr "" "acquérir le verrou — c'est leur raison d'être)." #: library/_thread.rst:164 +#, fuzzy msgid "" -"If the integer *waitflag* argument is present, the action depends on its " -"value: if it is zero, the lock is only acquired if it can be acquired " -"immediately without waiting, while if it is nonzero, the lock is acquired " -"unconditionally as above." +"If the *blocking* argument is present, the action depends on its value: if " +"it is False, the lock is only acquired if it can be acquired immediately " +"without waiting, while if it is True, the lock is acquired unconditionally " +"as above." msgstr "" "Si l'argument *waitflag*, un entier, est présent, l'action dépend de sa " "valeur : si elle est de zéro, le verrou est seulement acquis s'il peut être " @@ -274,11 +275,12 @@ msgstr "" "inconditionnellement comme ci-dessus." #: library/_thread.rst:169 +#, fuzzy msgid "" "If the floating-point *timeout* argument is present and positive, it " "specifies the maximum wait time in seconds before returning. A negative " "*timeout* argument specifies an unbounded wait. You cannot specify a " -"*timeout* if *waitflag* is zero." +"*timeout* if *blocking* is False." msgstr "" "Si l'argument *timeout*, en virgule flottante, est présent et positif, il " "spécifie le temps d'attente maximum en secondes avant de renvoyer. Un " diff --git a/library/argparse.po b/library/argparse.po index 21ffdab76e..8def615424 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-30 11:00+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -1473,8 +1473,8 @@ msgid "" "The ``help`` strings can include various format specifiers to avoid " "repetition of things like the program name or the argument default_. The " "available specifiers include the program name, ``%(prog)s`` and most keyword " -"arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, ``" -"%(type)s``, etc.::" +"arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, " +"``%(type)s``, etc.::" msgstr "" "La chaîne ``help`` peut contenir des spécificateurs de formatage afin " "d'éviter la répétition de contenu tel que le nom du programme et la valeur " @@ -2608,8 +2608,8 @@ msgid "" "with the standard Python syntax to use dictionaries to format strings, that " "is, ``%(default)s`` and ``%(prog)s``." msgstr "" -"Remplacer les chaînes avec des arguments de formatage implicite (tels que ``" -"%default`` ou ``%prog``) par la syntaxe standard de Python pour " +"Remplacer les chaînes avec des arguments de formatage implicite (tels que " +"``%default`` ou ``%prog``) par la syntaxe standard de Python pour " "l'interpolation d'un dictionnaire dans les chaînes de formatage (c'est-à-" "dire ``%(default)s`` et ``%(prog)s``) ;" diff --git a/library/array.po b/library/array.po index 7744ea404f..97029b9f2f 100644 --- a/library/array.po +++ b/library/array.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-10-31 12:47+0100\n" "Last-Translator: Cléo Buck \n" "Language-Team: FRENCH \n" @@ -200,7 +200,7 @@ msgstr "" #: library/array.rst:53 msgid "" "``array('u')`` now uses ``wchar_t`` as C type instead of deprecated " -"``Py_UNICODE``. This change doesn't affect to its behavior because " +"``Py_UNICODE``. This change doesn't affect its behavior because " "``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3." msgstr "" diff --git a/library/ast.po b/library/ast.po index c1858da198..b16cf8b624 100644 --- a/library/ast.po +++ b/library/ast.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-09-15 23:54+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -65,10 +65,11 @@ msgid "Node classes" msgstr "Classes de nœuds" #: library/ast.rst:46 +#, fuzzy msgid "" "This is the base of all AST node classes. The actual node classes are " "derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" -"`below `. They are defined in the :mod:`_ast` C module " +"`above `. They are defined in the :mod:`_ast` C module " "and re-exported in :mod:`ast`." msgstr "" "C'est la classe de base de toute classe de nœuds des d'arbres syntaxiques " @@ -1299,7 +1300,7 @@ msgid "" "compilation step does." msgstr "" -#: library/ast.rst:1973 +#: library/ast.rst:1934 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string due to stack depth limitations in Python's AST compiler." @@ -1342,8 +1343,8 @@ msgstr "" #: library/ast.rst:1962 #, fuzzy msgid "" -"Safely evaluate an expression node or a string containing a Python literal " -"or container display. The string or node provided may only consist of the " +"Evaluate an expression node or a string containing only a Python literal or " +"container display. The string or node provided may only consist of the " "following Python literal structures: strings, bytes, numbers, tuples, lists, " "dicts, sets, booleans, ``None`` and ``Ellipsis``." msgstr "" @@ -1354,11 +1355,11 @@ msgstr "" "nombres, *n*-uplets, listes, dictionnaires, ensembles, booléens, et ``None``." #: library/ast.rst:1967 +#, fuzzy msgid "" -"This can be used for safely evaluating strings containing Python values from " -"untrusted sources without the need to parse the values oneself. It is not " -"capable of evaluating arbitrarily complex expressions, for example involving " -"operators or indexing." +"This can be used for evaluating strings containing Python values without the " +"need to parse the values oneself. It is not capable of evaluating " +"arbitrarily complex expressions, for example involving operators or indexing." msgstr "" "Cela peut être utilisé pour évaluer de manière sûre la chaîne de caractères " "contenant des valeurs Python de source non fiable sans avoir besoin " @@ -1366,25 +1367,47 @@ msgstr "" "d'évaluer des expressions arbitrairement complexes, par exemple impliquant " "des opérateurs ou de l'indiçage." -#: library/ast.rst:1977 +#: library/ast.rst:1972 +msgid "" +"This function had been documented as \"safe\" in the past without defining " +"what that meant. That was misleading. This is specifically designed not to " +"execute Python code, unlike the more general :func:`eval`. There is no " +"namespace, no name lookups, or ability to call out. But it is not free from " +"attack: A relatively small input can lead to memory exhaustion or to C stack " +"exhaustion, crashing the process. There is also the possibility for " +"excessive CPU consumption denial of service on some inputs. Calling it on " +"untrusted data is thus not recommended." +msgstr "" + +#: library/ast.rst:1982 +#, fuzzy +msgid "" +"It is possible to crash the Python interpreter due to stack depth " +"limitations in Python's AST compiler." +msgstr "" +"Il est possible de faire planter l'interpréteur Python avec des chaînes " +"suffisamment grandes ou complexes lors de la compilation d'un arbre " +"syntaxique en raison de la limitation de la profondeur de la pile d'appels." + +#: library/ast.rst:1985 msgid "" "It can raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:" "`MemoryError` and :exc:`RecursionError` depending on the malformed input." msgstr "" -#: library/ast.rst:1981 +#: library/ast.rst:1989 msgid "Now allows bytes and set literals." msgstr "accepte maintenant les octets et ensembles littéraux." -#: library/ast.rst:1984 +#: library/ast.rst:1992 msgid "Now supports creating empty sets with ``'set()'``." msgstr "accepte ``set()`` pour les ensembles vides." -#: library/ast.rst:1987 +#: library/ast.rst:1995 msgid "For string inputs, leading spaces and tabs are now stripped." msgstr "" -#: library/ast.rst:1993 +#: library/ast.rst:2001 msgid "" "Return the docstring of the given *node* (which must be a :class:" "`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" @@ -1396,11 +1419,11 @@ msgstr "" "n'a pas de *docstring*. Si *clean* est vrai, cette fonction nettoie " "l'indentation de la *docstring* avec :func:`inspect.cleandoc`." -#: library/ast.rst:1999 +#: library/ast.rst:2007 msgid ":class:`AsyncFunctionDef` is now supported." msgstr ":class:`AsyncFunctionDef` est maintenant gérée." -#: library/ast.rst:2005 +#: library/ast.rst:2013 msgid "" "Get source code segment of the *source* that generated *node*. If some " "location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" @@ -1411,13 +1434,13 @@ msgstr "" "`end_lineno`, :attr:`col_offset` et :attr:`end_col_offset`) n'est pas " "rempli, cette fonction renvoie ``None``." -#: library/ast.rst:2009 +#: library/ast.rst:2017 msgid "" "If *padded* is ``True``, the first line of a multi-line statement will be " "padded with spaces to match its original position." msgstr "" -#: library/ast.rst:2017 +#: library/ast.rst:2025 msgid "" "When you compile a node tree with :func:`compile`, the compiler expects :" "attr:`lineno` and :attr:`col_offset` attributes for every node that supports " @@ -1433,7 +1456,7 @@ msgstr "" "comme les valeurs du nœud parent. Elle fonctionne récursivement en démarrant " "de *node*." -#: library/ast.rst:2026 +#: library/ast.rst:2034 msgid "" "Increment the line number and end line number of each node in the tree " "starting at *node* by *n*. This is useful to \"move code\" to a different " @@ -1443,7 +1466,7 @@ msgstr "" "nœud dans l'arbre, en commençant par le nœud *node*. C'est utile pour " "« déplacer du code » à un endroit différent dans un fichier." -#: library/ast.rst:2033 +#: library/ast.rst:2041 msgid "" "Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" "`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " @@ -1454,7 +1477,7 @@ msgstr "" "*old_node* vers le nouveau nœud *new_node*, si possible, et renvoie " "*new_node*." -#: library/ast.rst:2040 +#: library/ast.rst:2048 msgid "" "Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " "that is present on *node*." @@ -1462,7 +1485,7 @@ msgstr "" "Produit un *n*-uplet de couples ``(nom_du_champ, valeur)`` pour chaque champ " "de ``node._fields`` qui est présent dans *node*." -#: library/ast.rst:2046 +#: library/ast.rst:2054 msgid "" "Yield all direct child nodes of *node*, that is, all fields that are nodes " "and all items of fields that are lists of nodes." @@ -1471,7 +1494,7 @@ msgstr "" "champs qui sont des nœuds et tous les éléments des champs qui sont des " "listes de nœuds." -#: library/ast.rst:2052 +#: library/ast.rst:2060 msgid "" "Recursively yield all descendant nodes in the tree starting at *node* " "(including *node* itself), in no specified order. This is useful if you " @@ -1482,7 +1505,7 @@ msgstr "" "lorsque l'on souhaite modifier les nœuds sur place sans prêter attention au " "contexte." -#: library/ast.rst:2059 +#: library/ast.rst:2067 msgid "" "A node visitor base class that walks the abstract syntax tree and calls a " "visitor function for every node found. This function may return a value " @@ -1493,7 +1516,7 @@ msgstr "" "Cette fonction peut renvoyer une valeur, qui est transmise par la méthode :" "meth:`visit`." -#: library/ast.rst:2063 +#: library/ast.rst:2071 msgid "" "This class is meant to be subclassed, with the subclass adding visitor " "methods." @@ -1501,7 +1524,7 @@ msgstr "" "Cette classe est faite pour être dérivée, en ajoutant des méthodes de visite " "à la sous-classe." -#: library/ast.rst:2068 +#: library/ast.rst:2076 msgid "" "Visit a node. The default implementation calls the method called :samp:" "`self.visit_{classname}` where *classname* is the name of the node class, " @@ -1511,12 +1534,12 @@ msgstr "" "visit_{classe}` où *classe* représente le nom de la classe du nœud, ou :meth:" "`generic_visit` si cette méthode n'existe pas." -#: library/ast.rst:2074 +#: library/ast.rst:2082 msgid "This visitor calls :meth:`visit` on all children of the node." msgstr "" "Le visiteur appelle la méthode :meth:`visit` de tous les enfants du nœud." -#: library/ast.rst:2076 +#: library/ast.rst:2084 msgid "" "Note that child nodes of nodes that have a custom visitor method won't be " "visited unless the visitor calls :meth:`generic_visit` or visits them itself." @@ -1525,7 +1548,7 @@ msgstr "" "sont pas visités à moins que le visiteur n'appelle la méthode :meth:" "`generic_visit` ou ne les visite lui-même." -#: library/ast.rst:2080 +#: library/ast.rst:2088 msgid "" "Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " "during traversal. For this a special visitor exists (:class:" @@ -1535,7 +1558,7 @@ msgstr "" "changements sur les nœuds lors du parcours. Pour cela, un visiteur spécial " "existe (:class:`NodeTransformer`) qui permet les modifications." -#: library/ast.rst:2086 +#: library/ast.rst:2094 msgid "" "Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" "`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " @@ -1548,7 +1571,7 @@ msgstr "" "une méthode :meth:`visit_Constant` pour traiter tous les nœuds qui " "représentent des valeurs constantes." -#: library/ast.rst:2094 +#: library/ast.rst:2102 msgid "" "A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " "allows modification of nodes." @@ -1556,7 +1579,7 @@ msgstr "" "Une sous-classe de :class:`NodeVisitor` qui traverse l'arbre syntaxique " "abstrait et permet de modifier les nœuds." -#: library/ast.rst:2097 +#: library/ast.rst:2105 msgid "" "The :class:`NodeTransformer` will walk the AST and use the return value of " "the visitor methods to replace or remove the old node. If the return value " @@ -1570,7 +1593,7 @@ msgstr "" "est supprimé de sa position, sinon il est remplacé par cette valeur. Elle " "peut être le nœud original, auquel cas il n'y a pas de remplacement." -#: library/ast.rst:2103 +#: library/ast.rst:2111 msgid "" "Here is an example transformer that rewrites all occurrences of name lookups " "(``foo``) to ``data['foo']``::" @@ -1578,7 +1601,7 @@ msgstr "" "Voici un exemple de transformation qui réécrit tous les accès à la valeur " "d'une variable ``toto`` en ``data['toto']`` ::" -#: library/ast.rst:2115 +#: library/ast.rst:2123 msgid "" "Keep in mind that if the node you're operating on has child nodes you must " "either transform the child nodes yourself or call the :meth:`generic_visit` " @@ -1588,7 +1611,7 @@ msgstr "" "enfants, vous devez transformer également ces nœuds enfants vous-même ou " "appeler d'abord la méthode :meth:`generic_visit` sur le nœud." -#: library/ast.rst:2119 +#: library/ast.rst:2127 msgid "" "For nodes that were part of a collection of statements (that applies to all " "statement nodes), the visitor may also return a list of nodes rather than " @@ -1598,7 +1621,7 @@ msgstr "" "instructions), le visiteur peut aussi renvoyer une liste des nœuds plutôt " "qu'un seul nœud." -#: library/ast.rst:2123 +#: library/ast.rst:2131 msgid "" "If :class:`NodeTransformer` introduces new nodes (that weren't part of " "original tree) without giving them location information (such as :attr:" @@ -1610,11 +1633,11 @@ msgstr "" "consorts), il faut passer le nouvel arbre (ou la nouvelle partie de l'arbre) " "à :func:`fix_missing_locations` pour calculer les positions manquantes :" -#: library/ast.rst:2131 +#: library/ast.rst:2139 msgid "Usually you use the transformer like this::" msgstr "Utilisation typique des transformations ::" -#: library/ast.rst:2138 +#: library/ast.rst:2146 msgid "" "Return a formatted dump of the tree in *node*. This is mainly useful for " "debugging purposes. If *annotate_fields* is true (by default), the returned " @@ -1634,7 +1657,7 @@ msgstr "" "masqués par défaut, mais on peut les inclure en mettant *include_attributes* " "à ``True``." -#: library/ast.rst:2146 +#: library/ast.rst:2154 msgid "" "If *indent* is a non-negative integer or string, then the tree will be " "pretty-printed with that indent level. An indent level of 0, negative, or " @@ -1651,15 +1674,15 @@ msgstr "" "0 ou la chaîne vide, c'est-à-dire des retours à la ligne sans indentation. " "Avec la valeur par défaut de ``None``, la sortie tient sur une seule ligne." -#: library/ast.rst:2153 +#: library/ast.rst:2161 msgid "Added the *indent* option." msgstr "ajout du paramètre *indent*." -#: library/ast.rst:2160 +#: library/ast.rst:2168 msgid "Compiler Flags" msgstr "Options du compilateur" -#: library/ast.rst:2162 +#: library/ast.rst:2170 msgid "" "The following flags may be passed to :func:`compile` in order to change " "effects on the compilation of a program:" @@ -1667,7 +1690,7 @@ msgstr "" "Les options suivantes sont prises en charge par la fonction :func:`compile`. " "Elles permettent de modifier le comportement de la compilation." -#: library/ast.rst:2167 +#: library/ast.rst:2175 msgid "" "Enables support for top-level ``await``, ``async for``, ``async with`` and " "async comprehensions." @@ -1675,14 +1698,14 @@ msgstr "" "Active la reconnaissance de ``await``, ``async for``, ``async with`` et des " "compréhensions asynchrones au niveau le plus haut." -#: library/ast.rst:2174 +#: library/ast.rst:2182 msgid "" "Generates and returns an abstract syntax tree instead of returning a " "compiled code object." msgstr "" "Génère et renvoie un arbre syntaxique au lieu d'un objet de code compilé." -#: library/ast.rst:2179 +#: library/ast.rst:2187 msgid "" "Enables support for :pep:`484` and :pep:`526` style type comments (``# type: " "``, ``# type: ignore ``)." @@ -1690,11 +1713,11 @@ msgstr "" "Ajoute la prise en charge des commentaires de types tels que définis dans " "la :pep:`484` et la :pep:`526` (``# type: un_type`` et ``# type: ignore``)." -#: library/ast.rst:2188 +#: library/ast.rst:2196 msgid "Command-Line Usage" msgstr "Utilisation en ligne de commande" -#: library/ast.rst:2192 +#: library/ast.rst:2200 msgid "" "The :mod:`ast` module can be executed as a script from the command line. It " "is as simple as:" @@ -1702,15 +1725,15 @@ msgstr "" "Le module :mod:`ast` peut être exécuté en tant que script en ligne de " "commande. C'est aussi simple que ceci :" -#: library/ast.rst:2199 +#: library/ast.rst:2207 msgid "The following options are accepted:" msgstr "Les options suivantes sont acceptées :" -#: library/ast.rst:2205 +#: library/ast.rst:2213 msgid "Show the help message and exit." msgstr "Affiche un message d'aide et quitte." -#: library/ast.rst:2210 +#: library/ast.rst:2218 msgid "" "Specify what kind of code must be compiled, like the *mode* argument in :" "func:`parse`." @@ -1718,21 +1741,21 @@ msgstr "" "Précise le type de code à compiler, comme l'argument *mode* de la fonction :" "func:`parse`." -#: library/ast.rst:2215 +#: library/ast.rst:2223 msgid "Don't parse type comments." msgstr "Désactive la reconnaissance des commentaires de type." -#: library/ast.rst:2219 +#: library/ast.rst:2227 msgid "Include attributes such as line numbers and column offsets." msgstr "" "Affiche les attributs comme les numéros de lignes et les décalages par " "rapport aux débuts des lignes." -#: library/ast.rst:2224 +#: library/ast.rst:2232 msgid "Indentation of nodes in AST (number of spaces)." msgstr "Nombre d'espaces pour chaque niveau d'indentation dans la sortie." -#: library/ast.rst:2226 +#: library/ast.rst:2234 msgid "" "If :file:`infile` is specified its contents are parsed to AST and dumped to " "stdout. Otherwise, the content is read from stdin." @@ -1741,7 +1764,7 @@ msgstr "" "standard sinon. Le code source est transformé en un arbre syntaxique, qui " "est affiché sur la sortie standard." -#: library/ast.rst:2232 +#: library/ast.rst:2240 msgid "" "`Green Tree Snakes `_, an external " "documentation resource, has good details on working with Python ASTs." @@ -1750,7 +1773,7 @@ msgstr "" "ressource documentaire externe, qui possède plus de détails pour travailler " "avec des arbres syntaxiques Python." -#: library/ast.rst:2235 +#: library/ast.rst:2243 msgid "" "`ASTTokens `_ " "annotates Python ASTs with the positions of tokens and text in the source " @@ -1762,9 +1785,10 @@ msgstr "" "extraits de code source à partir desquels ils sont produits. Ceci est utile " "pour les outils qui transforment du code source." -#: library/ast.rst:2240 +#: library/ast.rst:2248 +#, fuzzy msgid "" -"`leoAst.py `_ unifies the " +"`leoAst.py `_ unifies the " "token-based and parse-tree-based views of python programs by inserting two-" "way links between tokens and ast nodes." msgstr "" @@ -1772,7 +1796,7 @@ msgstr "" "visions des lexèmes et des arbres syntaxiques en insérant des liens " "bidirectionnels entre les deux." -#: library/ast.rst:2244 +#: library/ast.rst:2252 msgid "" "`LibCST `_ parses code as a Concrete Syntax " "Tree that looks like an ast tree and keeps all formatting details. It's " @@ -1783,7 +1807,7 @@ msgstr "" "abstraits et conservent tous les détails du formatage. Cette bibliothèque " "est utile aux outils de réusinage et d'analyse de code." -#: library/ast.rst:2249 +#: library/ast.rst:2257 msgid "" "`Parso `_ is a Python parser that supports " "error recovery and round-trip parsing for different Python versions (in " diff --git a/library/asynchat.po b/library/asynchat.po index 6649f1ef77..57e80557ba 100644 --- a/library/asynchat.po +++ b/library/asynchat.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-06 17:04+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -206,9 +206,10 @@ msgstr "" "par exemple." #: library/asynchat.rst:127 +#, fuzzy msgid "" "Takes a producer object and adds it to the producer queue associated with " -"the channel. When all currently-pushed producers have been exhausted the " +"the channel. When all currently pushed producers have been exhausted the " "channel will consume this producer's data by calling its :meth:`more` method " "and send the data to the remote endpoint." msgstr "" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index 427e894665..c630bbfc85 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-01 16:00+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-06-06 21:29-0400\n" "Last-Translator: Nicolas Haller \n" "Language-Team: FRENCH \n" @@ -213,15 +213,16 @@ msgstr "" "d'évènements se trouve." #: library/asyncio-dev.rst:110 +#, fuzzy msgid "" "There is currently no way to schedule coroutines or callbacks directly from " "a different process (such as one started with :mod:`multiprocessing`). The :" -"ref:`Event Loop Methods ` section lists APIs that can " -"read from pipes and watch file descriptors without blocking the event loop. " -"In addition, asyncio's :ref:`Subprocess ` APIs provide a " -"way to start a process and communicate with it from the event loop. Lastly, " -"the aforementioned :meth:`loop.run_in_executor` method can also be used with " -"a :class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " +"ref:`asyncio-event-loop-methods` section lists APIs that can read from pipes " +"and watch file descriptors without blocking the event loop. In addition, " +"asyncio's :ref:`Subprocess ` APIs provide a way to start " +"a process and communicate with it from the event loop. Lastly, the " +"aforementioned :meth:`loop.run_in_executor` method can also be used with a :" +"class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " "different process." msgstr "" "Il n'y a actuellement aucune façon de planifier des coroutines ou des " @@ -283,11 +284,18 @@ msgstr "" "Le niveau de journalisation par défaut est :py:data:`logging.INFO` mais peut " "être ajusté facilement ::" -#: library/asyncio-dev.rst:154 +#: library/asyncio-dev.rst:151 +msgid "" +"Network logging can block the event loop. It is recommended to use a " +"separate thread for handling logs or use non-blocking IO. For example, see :" +"ref:`blocking-handlers`." +msgstr "" + +#: library/asyncio-dev.rst:159 msgid "Detect never-awaited coroutines" msgstr "Détection des coroutines jamais attendues" -#: library/asyncio-dev.rst:156 +#: library/asyncio-dev.rst:161 msgid "" "When a coroutine function is called, but not awaited (e.g. ``coro()`` " "instead of ``await coro()``) or the coroutine is not scheduled with :meth:" @@ -298,15 +306,15 @@ msgstr "" "pas planifiée avec :meth:`asyncio.create_task`, *asyncio* émet un :exc:" "`RuntimeWarning` ::" -#: library/asyncio-dev.rst:216 +#: library/asyncio-dev.rst:221 msgid "Output::" msgstr "Sortie ::" -#: library/asyncio-dev.rst:232 +#: library/asyncio-dev.rst:237 msgid "Output in debug mode::" msgstr "Affichage en mode débogage ::" -#: library/asyncio-dev.rst:189 +#: library/asyncio-dev.rst:194 msgid "" "The usual fix is to either await the coroutine or call the :meth:`asyncio." "create_task` function::" @@ -314,11 +322,11 @@ msgstr "" "La façon habituelle de régler ce problème est d'attendre (*await*) la " "coroutine ou bien d'appeler la fonction :meth:`asyncio.create_task` ::" -#: library/asyncio-dev.rst:197 +#: library/asyncio-dev.rst:202 msgid "Detect never-retrieved exceptions" msgstr "Détection des exceptions jamais récupérées" -#: library/asyncio-dev.rst:199 +#: library/asyncio-dev.rst:204 msgid "" "If a :meth:`Future.set_exception` is called but the Future object is never " "awaited on, the exception would never be propagated to the user code. In " @@ -330,11 +338,11 @@ msgstr "" "utilisateur. Dans ce cas, *asyncio* écrit un message dans le journal lorsque " "l'objet *Future* est récupéré par le ramasse-miette." -#: library/asyncio-dev.rst:204 +#: library/asyncio-dev.rst:209 msgid "Example of an unhandled exception::" msgstr "Exemple d'une exception non-gérée ::" -#: library/asyncio-dev.rst:227 +#: library/asyncio-dev.rst:232 msgid "" ":ref:`Enable the debug mode ` to get the traceback where " "the task was created::" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index dda6e85a7c..24c8dde097 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-06-10 15:50+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -15,28 +15,28 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.2\n" -#: library/asyncio-eventloop.rst:6 +#: library/asyncio-eventloop.rst:8 msgid "Event Loop" msgstr "Boucle d'évènements" -#: library/asyncio-eventloop.rst:8 +#: library/asyncio-eventloop.rst:10 msgid "" "**Source code:** :source:`Lib/asyncio/events.py`, :source:`Lib/asyncio/" "base_events.py`" msgstr "" -#: library/asyncio-eventloop.rst:14 +#: library/asyncio-eventloop.rst:16 msgid "Preface" msgstr "" -#: library/asyncio-eventloop.rst:15 +#: library/asyncio-eventloop.rst:17 msgid "" "The event loop is the core of every asyncio application. Event loops run " "asynchronous tasks and callbacks, perform network IO operations, and run " "subprocesses." msgstr "" -#: library/asyncio-eventloop.rst:19 +#: library/asyncio-eventloop.rst:21 msgid "" "Application developers should typically use the high-level asyncio " "functions, such as :func:`asyncio.run`, and should rarely need to reference " @@ -45,143 +45,143 @@ msgid "" "control over the event loop behavior." msgstr "" -#: library/asyncio-eventloop.rst:26 +#: library/asyncio-eventloop.rst:28 msgid "Obtaining the Event Loop" msgstr "Obtenir une boucle d'évènements" -#: library/asyncio-eventloop.rst:27 +#: library/asyncio-eventloop.rst:29 msgid "" "The following low-level functions can be used to get, set, or create an " "event loop:" msgstr "" -#: library/asyncio-eventloop.rst:32 +#: library/asyncio-eventloop.rst:34 msgid "Return the running event loop in the current OS thread." msgstr "" -#: library/asyncio-eventloop.rst:34 +#: library/asyncio-eventloop.rst:36 msgid "" "If there is no running event loop a :exc:`RuntimeError` is raised. This " "function can only be called from a coroutine or a callback." msgstr "" -#: library/asyncio-eventloop.rst:41 +#: library/asyncio-eventloop.rst:43 #, fuzzy msgid "Get the current event loop." msgstr "Arrête l'exécution de la boucle d'évènements." -#: library/asyncio-eventloop.rst:43 +#: library/asyncio-eventloop.rst:45 msgid "" "If there is no current event loop set in the current OS thread, the OS " "thread is main, and :func:`set_event_loop` has not yet been called, asyncio " "will create a new event loop and set it as the current one." msgstr "" -#: library/asyncio-eventloop.rst:48 +#: library/asyncio-eventloop.rst:50 msgid "" "Because this function has rather complex behavior (especially when custom " "event loop policies are in use), using the :func:`get_running_loop` function " "is preferred to :func:`get_event_loop` in coroutines and callbacks." msgstr "" -#: library/asyncio-eventloop.rst:53 +#: library/asyncio-eventloop.rst:55 msgid "" "Consider also using the :func:`asyncio.run` function instead of using lower " "level functions to manually create and close an event loop." msgstr "" -#: library/asyncio-eventloop.rst:56 +#: library/asyncio-eventloop.rst:58 msgid "" "Deprecation warning is emitted if there is no running event loop. In future " "Python releases, this function will be an alias of :func:`get_running_loop`." msgstr "" -#: library/asyncio-eventloop.rst:63 +#: library/asyncio-eventloop.rst:65 msgid "Set *loop* as a current event loop for the current OS thread." msgstr "" -#: library/asyncio-eventloop.rst:67 +#: library/asyncio-eventloop.rst:69 msgid "Create and return a new event loop object." msgstr "Crée et renvoie un nouvel objet de boucle d'événements." -#: library/asyncio-eventloop.rst:69 +#: library/asyncio-eventloop.rst:71 msgid "" "Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " "and :func:`new_event_loop` functions can be altered by :ref:`setting a " "custom event loop policy `." msgstr "" -#: library/asyncio-eventloop.rst:75 +#: library/asyncio-eventloop.rst:77 msgid "Contents" msgstr "Sommaire" -#: library/asyncio-eventloop.rst:76 +#: library/asyncio-eventloop.rst:78 msgid "This documentation page contains the following sections:" msgstr "" -#: library/asyncio-eventloop.rst:78 +#: library/asyncio-eventloop.rst:80 msgid "" "The `Event Loop Methods`_ section is the reference documentation of the " "event loop APIs;" msgstr "" -#: library/asyncio-eventloop.rst:81 +#: library/asyncio-eventloop.rst:83 msgid "" "The `Callback Handles`_ section documents the :class:`Handle` and :class:" "`TimerHandle` instances which are returned from scheduling methods such as :" "meth:`loop.call_soon` and :meth:`loop.call_later`;" msgstr "" -#: library/asyncio-eventloop.rst:85 +#: library/asyncio-eventloop.rst:87 msgid "" "The `Server Objects`_ section documents types returned from event loop " "methods like :meth:`loop.create_server`;" msgstr "" -#: library/asyncio-eventloop.rst:88 +#: library/asyncio-eventloop.rst:90 msgid "" "The `Event Loop Implementations`_ section documents the :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" msgstr "" -#: library/asyncio-eventloop.rst:91 +#: library/asyncio-eventloop.rst:93 msgid "" "The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" -#: library/asyncio-eventloop.rst:98 +#: library/asyncio-eventloop.rst:100 msgid "Event Loop Methods" msgstr "Méthodes de la boucle d'évènements" -#: library/asyncio-eventloop.rst:100 +#: library/asyncio-eventloop.rst:102 msgid "Event loops have **low-level** APIs for the following:" msgstr "" -#: library/asyncio-eventloop.rst:108 +#: library/asyncio-eventloop.rst:110 msgid "Running and stopping the loop" msgstr "Démarrer et arrêter une boucle d'évènements" -#: library/asyncio-eventloop.rst:112 +#: library/asyncio-eventloop.rst:114 msgid "Run until the *future* (an instance of :class:`Future`) has completed." msgstr "" "Lance la boucle jusqu'à ce que *future* (une instance de :class:`Future`) " "soit terminée." -#: library/asyncio-eventloop.rst:115 +#: library/asyncio-eventloop.rst:117 msgid "" "If the argument is a :ref:`coroutine object ` it is implicitly " "scheduled to run as a :class:`asyncio.Task`." msgstr "" -#: library/asyncio-eventloop.rst:118 +#: library/asyncio-eventloop.rst:120 msgid "Return the Future's result or raise its exception." msgstr "" -#: library/asyncio-eventloop.rst:122 +#: library/asyncio-eventloop.rst:124 msgid "Run the event loop until :meth:`stop` is called." msgstr "" -#: library/asyncio-eventloop.rst:124 +#: library/asyncio-eventloop.rst:126 msgid "" "If :meth:`stop` is called before :meth:`run_forever()` is called, the loop " "will poll the I/O selector once with a timeout of zero, run all callbacks " @@ -189,7 +189,7 @@ msgid "" "and then exit." msgstr "" -#: library/asyncio-eventloop.rst:129 +#: library/asyncio-eventloop.rst:131 msgid "" "If :meth:`stop` is called while :meth:`run_forever` is running, the loop " "will run the current batch of callbacks and then exit. Note that new " @@ -198,41 +198,41 @@ msgid "" "called." msgstr "" -#: library/asyncio-eventloop.rst:137 +#: library/asyncio-eventloop.rst:139 msgid "Stop the event loop." msgstr "Arrête l'exécution de la boucle d'évènements." -#: library/asyncio-eventloop.rst:141 +#: library/asyncio-eventloop.rst:143 msgid "Return ``True`` if the event loop is currently running." msgstr "Renvoie ``True`` si la boucle d'évènements est démarrée." -#: library/asyncio-eventloop.rst:145 +#: library/asyncio-eventloop.rst:147 msgid "Return ``True`` if the event loop was closed." msgstr "Renvoie ``True`` si la boucle d'évènements est arrêtée." -#: library/asyncio-eventloop.rst:149 +#: library/asyncio-eventloop.rst:151 msgid "Close the event loop." msgstr "Arrête la boucle d'évènements." -#: library/asyncio-eventloop.rst:151 +#: library/asyncio-eventloop.rst:153 msgid "" "The loop must not be running when this function is called. Any pending " "callbacks will be discarded." msgstr "" -#: library/asyncio-eventloop.rst:154 +#: library/asyncio-eventloop.rst:156 msgid "" "This method clears all queues and shuts down the executor, but does not wait " "for the executor to finish." msgstr "" -#: library/asyncio-eventloop.rst:157 +#: library/asyncio-eventloop.rst:159 msgid "" "This method is idempotent and irreversible. No other methods should be " "called after the event loop is closed." msgstr "" -#: library/asyncio-eventloop.rst:162 +#: library/asyncio-eventloop.rst:164 msgid "" "Schedule all currently open :term:`asynchronous generator` objects to close " "with an :meth:`~agen.aclose()` call. After calling this method, the event " @@ -240,18 +240,18 @@ msgid "" "should be used to reliably finalize all scheduled asynchronous generators." msgstr "" -#: library/asyncio-eventloop.rst:168 library/asyncio-eventloop.rst:188 +#: library/asyncio-eventloop.rst:170 library/asyncio-eventloop.rst:190 msgid "" "Note that there is no need to call this function when :func:`asyncio.run` is " "used." msgstr "" -#: library/asyncio-eventloop.rst:171 library/asyncio-eventloop.rst:1078 -#: library/asyncio-eventloop.rst:1464 +#: library/asyncio-eventloop.rst:173 library/asyncio-eventloop.rst:1104 +#: library/asyncio-eventloop.rst:1496 msgid "Example::" msgstr "Exemple ::" -#: library/asyncio-eventloop.rst:183 +#: library/asyncio-eventloop.rst:185 msgid "" "Schedule the closure of the default executor and wait for it to join all of " "the threads in the :class:`ThreadPoolExecutor`. After calling this method, " @@ -259,52 +259,52 @@ msgid "" "called while using the default executor." msgstr "" -#: library/asyncio-eventloop.rst:195 +#: library/asyncio-eventloop.rst:197 msgid "Scheduling callbacks" msgstr "" -#: library/asyncio-eventloop.rst:199 +#: library/asyncio-eventloop.rst:201 msgid "" "Schedule the *callback* :term:`callback` to be called with *args* arguments " "at the next iteration of the event loop." msgstr "" -#: library/asyncio-eventloop.rst:202 +#: library/asyncio-eventloop.rst:204 msgid "" "Callbacks are called in the order in which they are registered. Each " "callback will be called exactly once." msgstr "" -#: library/asyncio-eventloop.rst:205 library/asyncio-eventloop.rst:272 +#: library/asyncio-eventloop.rst:207 library/asyncio-eventloop.rst:274 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *callback* to run in. The current " "context is used when no *context* is provided." msgstr "" -#: library/asyncio-eventloop.rst:209 +#: library/asyncio-eventloop.rst:211 msgid "" "An instance of :class:`asyncio.Handle` is returned, which can be used later " "to cancel the callback." msgstr "" -#: library/asyncio-eventloop.rst:212 +#: library/asyncio-eventloop.rst:214 msgid "This method is not thread-safe." msgstr "" -#: library/asyncio-eventloop.rst:216 +#: library/asyncio-eventloop.rst:218 msgid "" "A thread-safe variant of :meth:`call_soon`. Must be used to schedule " "callbacks *from another thread*." msgstr "" -#: library/asyncio-eventloop.rst:219 +#: library/asyncio-eventloop.rst:221 msgid "" "Raises :exc:`RuntimeError` if called on a loop that's been closed. This can " "happen on a secondary thread when the main application is shutting down." msgstr "" -#: library/asyncio-eventloop.rst:223 +#: library/asyncio-eventloop.rst:225 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -312,142 +312,143 @@ msgstr "" "Voir la section :ref:`exécution concurrente et multi-fils d'exécution " "` de la documentation." -#: library/asyncio-eventloop.rst:226 library/asyncio-eventloop.rst:276 -#: library/asyncio-eventloop.rst:296 +#: library/asyncio-eventloop.rst:228 library/asyncio-eventloop.rst:278 +#: library/asyncio-eventloop.rst:298 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." msgstr "" -#: library/asyncio-eventloop.rst:234 +#: library/asyncio-eventloop.rst:236 msgid "" "Most :mod:`asyncio` scheduling functions don't allow passing keyword " "arguments. To do that, use :func:`functools.partial`::" msgstr "" -#: library/asyncio-eventloop.rst:241 +#: library/asyncio-eventloop.rst:243 msgid "" "Using partial objects is usually more convenient than using lambdas, as " "asyncio can render partial objects better in debug and error messages." msgstr "" -#: library/asyncio-eventloop.rst:249 +#: library/asyncio-eventloop.rst:251 msgid "Scheduling delayed callbacks" msgstr "" -#: library/asyncio-eventloop.rst:251 +#: library/asyncio-eventloop.rst:253 msgid "" "Event loop provides mechanisms to schedule callback functions to be called " "at some point in the future. Event loop uses monotonic clocks to track time." msgstr "" -#: library/asyncio-eventloop.rst:258 +#: library/asyncio-eventloop.rst:260 msgid "" "Schedule *callback* to be called after the given *delay* number of seconds " "(can be either an int or a float)." msgstr "" -#: library/asyncio-eventloop.rst:261 library/asyncio-eventloop.rst:293 +#: library/asyncio-eventloop.rst:263 library/asyncio-eventloop.rst:295 msgid "" "An instance of :class:`asyncio.TimerHandle` is returned which can be used to " "cancel the callback." msgstr "" -#: library/asyncio-eventloop.rst:264 +#: library/asyncio-eventloop.rst:266 msgid "" "*callback* will be called exactly once. If two callbacks are scheduled for " "exactly the same time, the order in which they are called is undefined." msgstr "" -#: library/asyncio-eventloop.rst:268 +#: library/asyncio-eventloop.rst:270 msgid "" "The optional positional *args* will be passed to the callback when it is " "called. If you want the callback to be called with keyword arguments use :" "func:`functools.partial`." msgstr "" -#: library/asyncio-eventloop.rst:280 +#: library/asyncio-eventloop.rst:282 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "*delay* could not exceed one day. This has been fixed in Python 3.8." msgstr "" -#: library/asyncio-eventloop.rst:287 +#: library/asyncio-eventloop.rst:289 msgid "" "Schedule *callback* to be called at the given absolute timestamp *when* (an " "int or a float), using the same time reference as :meth:`loop.time`." msgstr "" -#: library/asyncio-eventloop.rst:291 +#: library/asyncio-eventloop.rst:293 msgid "This method's behavior is the same as :meth:`call_later`." msgstr "" -#: library/asyncio-eventloop.rst:300 +#: library/asyncio-eventloop.rst:302 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "difference between *when* and the current time could not exceed one day. " "This has been fixed in Python 3.8." msgstr "" -#: library/asyncio-eventloop.rst:307 +#: library/asyncio-eventloop.rst:309 msgid "" "Return the current time, as a :class:`float` value, according to the event " "loop's internal monotonic clock." msgstr "" -#: library/asyncio-eventloop.rst:311 +#: library/asyncio-eventloop.rst:313 msgid "" "In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " "should not exceed one day. This has been fixed in Python 3.8." msgstr "" -#: library/asyncio-eventloop.rst:317 +#: library/asyncio-eventloop.rst:319 msgid "The :func:`asyncio.sleep` function." msgstr "La fonction :func:`asyncio.sleep`." -#: library/asyncio-eventloop.rst:321 +#: library/asyncio-eventloop.rst:323 msgid "Creating Futures and Tasks" msgstr "" -#: library/asyncio-eventloop.rst:325 +#: library/asyncio-eventloop.rst:327 msgid "Create an :class:`asyncio.Future` object attached to the event loop." msgstr "" -#: library/asyncio-eventloop.rst:327 +#: library/asyncio-eventloop.rst:329 msgid "" "This is the preferred way to create Futures in asyncio. This lets third-" "party event loops provide alternative implementations of the Future object " "(with better performance or instrumentation)." msgstr "" -#: library/asyncio-eventloop.rst:335 +#: library/asyncio-eventloop.rst:337 msgid "" -"Schedule the execution of a :ref:`coroutine`. Return a :class:`Task` object." +"Schedule the execution of :ref:`coroutine ` *coro*. Return a :" +"class:`Task` object." msgstr "" -#: library/asyncio-eventloop.rst:338 +#: library/asyncio-eventloop.rst:340 msgid "" "Third-party event loops can use their own subclass of :class:`Task` for " "interoperability. In this case, the result type is a subclass of :class:" "`Task`." msgstr "" -#: library/asyncio-eventloop.rst:342 +#: library/asyncio-eventloop.rst:344 msgid "" "If the *name* argument is provided and not ``None``, it is set as the name " "of the task using :meth:`Task.set_name`." msgstr "" -#: library/asyncio-eventloop.rst:345 +#: library/asyncio-eventloop.rst:347 #, fuzzy msgid "Added the *name* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-eventloop.rst:350 +#: library/asyncio-eventloop.rst:352 msgid "Set a task factory that will be used by :meth:`loop.create_task`." msgstr "" -#: library/asyncio-eventloop.rst:353 +#: library/asyncio-eventloop.rst:355 msgid "" "If *factory* is ``None`` the default task factory will be set. Otherwise, " "*factory* must be a *callable* with the signature matching ``(loop, coro)``, " @@ -456,80 +457,80 @@ msgid "" "compatible object." msgstr "" -#: library/asyncio-eventloop.rst:361 +#: library/asyncio-eventloop.rst:363 msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" -#: library/asyncio-eventloop.rst:365 +#: library/asyncio-eventloop.rst:367 msgid "Opening network connections" msgstr "Créer des connexions" -#: library/asyncio-eventloop.rst:374 +#: library/asyncio-eventloop.rst:376 msgid "" "Open a streaming transport connection to a given address specified by *host* " "and *port*." msgstr "" -#: library/asyncio-eventloop.rst:377 +#: library/asyncio-eventloop.rst:379 msgid "" "The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" "`~socket.AF_INET6` depending on *host* (or the *family* argument, if " "provided)." msgstr "" -#: library/asyncio-eventloop.rst:381 +#: library/asyncio-eventloop.rst:383 msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." msgstr "" -#: library/asyncio-eventloop.rst:383 library/asyncio-eventloop.rst:994 -#: library/asyncio-eventloop.rst:1010 +#: library/asyncio-eventloop.rst:385 library/asyncio-eventloop.rst:1020 +#: library/asyncio-eventloop.rst:1036 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." msgstr "" -#: library/asyncio-eventloop.rst:386 +#: library/asyncio-eventloop.rst:388 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." msgstr "" -#: library/asyncio-eventloop.rst:389 +#: library/asyncio-eventloop.rst:391 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "" -#: library/asyncio-eventloop.rst:391 +#: library/asyncio-eventloop.rst:393 msgid "" "The connection is established and a :ref:`transport ` is " "created for it." msgstr "" -#: library/asyncio-eventloop.rst:394 +#: library/asyncio-eventloop.rst:396 msgid "" "*protocol_factory* is called without arguments and is expected to return a :" "ref:`protocol ` instance." msgstr "" -#: library/asyncio-eventloop.rst:397 +#: library/asyncio-eventloop.rst:399 msgid "" "The protocol instance is coupled with the transport by calling its :meth:" "`~BaseProtocol.connection_made` method." msgstr "" -#: library/asyncio-eventloop.rst:400 +#: library/asyncio-eventloop.rst:402 msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "" -#: library/asyncio-eventloop.rst:402 +#: library/asyncio-eventloop.rst:404 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" -#: library/asyncio-eventloop.rst:405 library/asyncio-eventloop.rst:527 +#: library/asyncio-eventloop.rst:407 library/asyncio-eventloop.rst:535 msgid "Other arguments:" msgstr "" -#: library/asyncio-eventloop.rst:407 +#: library/asyncio-eventloop.rst:409 msgid "" "*ssl*: if given and not false, a SSL/TLS transport is created (by default a " "plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " @@ -538,11 +539,11 @@ msgid "" "is used." msgstr "" -#: library/asyncio-eventloop.rst:413 +#: library/asyncio-eventloop.rst:415 msgid ":ref:`SSL/TLS security considerations `" msgstr "" -#: library/asyncio-eventloop.rst:415 +#: library/asyncio-eventloop.rst:417 msgid "" "*server_hostname* sets or overrides the hostname that the target server's " "certificate will be matched against. Should only be passed if *ssl* is not " @@ -553,7 +554,7 @@ msgid "" "potential man-in-the-middle attacks)." msgstr "" -#: library/asyncio-eventloop.rst:423 +#: library/asyncio-eventloop.rst:425 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to getaddrinfo() for *host* resolution. If given, " @@ -561,7 +562,7 @@ msgid "" "constants." msgstr "" -#: library/asyncio-eventloop.rst:428 +#: library/asyncio-eventloop.rst:430 msgid "" "*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " "connection. It should be a floating-point number representing the amount of " @@ -571,7 +572,7 @@ msgid "" "the RFC is ``0.25`` (250 milliseconds)." msgstr "" -#: library/asyncio-eventloop.rst:436 +#: library/asyncio-eventloop.rst:438 msgid "" "*interleave* controls address reordering when a host name resolves to " "multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " @@ -582,7 +583,7 @@ msgid "" "*happy_eyeballs_delay* is not specified, and ``1`` if it is." msgstr "" -#: library/asyncio-eventloop.rst:445 +#: library/asyncio-eventloop.rst:447 msgid "" "*sock*, if given, should be an existing, already connected :class:`socket." "socket` object to be used by the transport. If *sock* is given, none of " @@ -590,40 +591,48 @@ msgid "" "*interleave* and *local_addr* should be specified." msgstr "" -#: library/asyncio-eventloop.rst:451 +#: library/asyncio-eventloop.rst:455 library/asyncio-eventloop.rst:566 +#: library/asyncio-eventloop.rst:752 +msgid "" +"The *sock* argument transfers ownership of the socket to the transport " +"created. To close the socket, call the transport's :meth:`~asyncio." +"BaseTransport.close` method." +msgstr "" + +#: library/asyncio-eventloop.rst:459 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using " "``getaddrinfo()``, similarly to *host* and *port*." msgstr "" -#: library/asyncio-eventloop.rst:455 library/asyncio-eventloop.rst:803 +#: library/asyncio-eventloop.rst:463 library/asyncio-eventloop.rst:829 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: library/asyncio-eventloop.rst:461 library/asyncio-eventloop.rst:673 +#: library/asyncio-eventloop.rst:469 library/asyncio-eventloop.rst:693 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" -#: library/asyncio-eventloop.rst:465 +#: library/asyncio-eventloop.rst:473 msgid "" "The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " "TCP connections." msgstr "" -#: library/asyncio-eventloop.rst:470 library/asyncio-eventloop.rst:743 +#: library/asyncio-eventloop.rst:478 library/asyncio-eventloop.rst:769 #, fuzzy msgid "Added the *ssl_handshake_timeout* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-eventloop.rst:474 +#: library/asyncio-eventloop.rst:482 msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." msgstr "" -#: library/asyncio-eventloop.rst:476 +#: library/asyncio-eventloop.rst:484 msgid "" "Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " "IPv4 path and protocol are working, but the server's IPv6 path and protocol " @@ -634,32 +643,32 @@ msgid "" "visible delay and provides an algorithm." msgstr "" -#: library/asyncio-eventloop.rst:485 +#: library/asyncio-eventloop.rst:493 msgid "For more information: https://tools.ietf.org/html/rfc6555" msgstr "" -#: library/asyncio-eventloop.rst:489 +#: library/asyncio-eventloop.rst:497 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " "used directly in async/await code." msgstr "" -#: library/asyncio-eventloop.rst:500 +#: library/asyncio-eventloop.rst:508 msgid "" "The parameter *reuse_address* is no longer supported, as using :py:data:" "`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " "Explicitly passing ``reuse_address=True`` will raise an exception." msgstr "" -#: library/asyncio-eventloop.rst:504 +#: library/asyncio-eventloop.rst:512 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " "randomly distributed among the sockets." msgstr "" -#: library/asyncio-eventloop.rst:508 +#: library/asyncio-eventloop.rst:516 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " @@ -667,47 +676,47 @@ msgid "" "from assigning sockets to the same socket address." msgstr "" -#: library/asyncio-eventloop.rst:514 +#: library/asyncio-eventloop.rst:522 msgid "Create a datagram connection." msgstr "Créer une connexion par datagramme" -#: library/asyncio-eventloop.rst:516 +#: library/asyncio-eventloop.rst:524 msgid "" "The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" "`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " "the *family* argument, if provided)." msgstr "" -#: library/asyncio-eventloop.rst:520 +#: library/asyncio-eventloop.rst:528 msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." msgstr "" -#: library/asyncio-eventloop.rst:522 library/asyncio-eventloop.rst:614 -#: library/asyncio-eventloop.rst:724 +#: library/asyncio-eventloop.rst:530 library/asyncio-eventloop.rst:628 +#: library/asyncio-eventloop.rst:744 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" -#: library/asyncio-eventloop.rst:525 library/asyncio-eventloop.rst:579 +#: library/asyncio-eventloop.rst:533 library/asyncio-eventloop.rst:593 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "" -#: library/asyncio-eventloop.rst:529 +#: library/asyncio-eventloop.rst:537 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using :" "meth:`getaddrinfo`." msgstr "" -#: library/asyncio-eventloop.rst:533 +#: library/asyncio-eventloop.rst:541 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " "are looked up using :meth:`getaddrinfo`." msgstr "" -#: library/asyncio-eventloop.rst:537 +#: library/asyncio-eventloop.rst:545 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -715,7 +724,7 @@ msgid "" "module constants." msgstr "" -#: library/asyncio-eventloop.rst:542 +#: library/asyncio-eventloop.rst:550 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -724,13 +733,13 @@ msgid "" "this capability is unsupported." msgstr "" -#: library/asyncio-eventloop.rst:548 +#: library/asyncio-eventloop.rst:556 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" -#: library/asyncio-eventloop.rst:551 +#: library/asyncio-eventloop.rst:559 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " @@ -738,107 +747,107 @@ msgid "" "`None`)." msgstr "" -#: library/asyncio-eventloop.rst:556 +#: library/asyncio-eventloop.rst:570 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" -#: library/asyncio-eventloop.rst:559 +#: library/asyncio-eventloop.rst:573 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" -#: library/asyncio-eventloop.rst:563 +#: library/asyncio-eventloop.rst:577 msgid "" "The *reuse_address* parameter is no longer supported due to security " "concerns." msgstr "" -#: library/asyncio-eventloop.rst:567 +#: library/asyncio-eventloop.rst:581 msgid "Added support for Windows." msgstr "Prise en charge sur Windows." -#: library/asyncio-eventloop.rst:574 +#: library/asyncio-eventloop.rst:588 msgid "Create a Unix connection." msgstr "Créer une connexion Unix" -#: library/asyncio-eventloop.rst:576 +#: library/asyncio-eventloop.rst:590 msgid "" "The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" "py:data:`~socket.SOCK_STREAM`." msgstr "" -#: library/asyncio-eventloop.rst:581 +#: library/asyncio-eventloop.rst:595 msgid "" "*path* is the name of a Unix domain socket and is required, unless a *sock* " "parameter is specified. Abstract Unix sockets, :class:`str`, :class:" "`bytes`, and :class:`~pathlib.Path` paths are supported." msgstr "" -#: library/asyncio-eventloop.rst:586 +#: library/asyncio-eventloop.rst:600 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." msgstr "" -#: library/asyncio-eventloop.rst:590 library/asyncio-eventloop.rst:708 -#: library/asyncio-eventloop.rst:1061 +#: library/asyncio-eventloop.rst:604 library/asyncio-eventloop.rst:728 +#: library/asyncio-eventloop.rst:1087 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." -#: library/asyncio-eventloop.rst:591 +#: library/asyncio-eventloop.rst:605 msgid "" "Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " "a :term:`path-like object`." msgstr "" -#: library/asyncio-eventloop.rst:597 +#: library/asyncio-eventloop.rst:611 msgid "Creating network servers" msgstr "Créer des serveurs" -#: library/asyncio-eventloop.rst:607 +#: library/asyncio-eventloop.rst:621 msgid "" "Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." msgstr "" -#: library/asyncio-eventloop.rst:610 +#: library/asyncio-eventloop.rst:624 msgid "Returns a :class:`Server` object." msgstr "" -#: library/asyncio-eventloop.rst:612 +#: library/asyncio-eventloop.rst:626 #, fuzzy msgid "Arguments:" msgstr "Arguments" -#: library/asyncio-eventloop.rst:617 +#: library/asyncio-eventloop.rst:631 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" msgstr "" -#: library/asyncio-eventloop.rst:620 +#: library/asyncio-eventloop.rst:634 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." msgstr "" -#: library/asyncio-eventloop.rst:623 +#: library/asyncio-eventloop.rst:637 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." msgstr "" -#: library/asyncio-eventloop.rst:626 +#: library/asyncio-eventloop.rst:640 msgid "" "If *host* is an empty string or ``None``, all interfaces are assumed and a " "list of multiple sockets will be returned (most likely one for IPv4 and " "another one for IPv6)." msgstr "" -#: library/asyncio-eventloop.rst:630 +#: library/asyncio-eventloop.rst:644 msgid "" "The *port* parameter can be set to specify which port the server should " "listen on. If ``0`` or ``None`` (the default), a random unused port will be " @@ -846,57 +855,63 @@ msgid "" "different random port will be selected for each interface)." msgstr "" -#: library/asyncio-eventloop.rst:635 +#: library/asyncio-eventloop.rst:649 msgid "" "*family* can be set to either :data:`socket.AF_INET` or :data:`~socket." "AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " "will be determined from host name (defaults to :data:`~socket.AF_UNSPEC`)." msgstr "" -#: library/asyncio-eventloop.rst:640 +#: library/asyncio-eventloop.rst:654 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* est un masque de bits pour :meth:`getaddrinfo`." -#: library/asyncio-eventloop.rst:642 +#: library/asyncio-eventloop.rst:656 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." msgstr "" -#: library/asyncio-eventloop.rst:645 +#: library/asyncio-eventloop.rst:661 +msgid "" +"The *sock* argument transfers ownership of the socket to the server created. " +"To close the socket, call the server's :meth:`~asyncio.Server.close` method." +msgstr "" + +#: library/asyncio-eventloop.rst:665 msgid "" "*backlog* is the maximum number of queued connections passed to :meth:" "`~socket.socket.listen` (defaults to 100)." msgstr "" -#: library/asyncio-eventloop.rst:648 +#: library/asyncio-eventloop.rst:668 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." msgstr "" -#: library/asyncio-eventloop.rst:651 +#: library/asyncio-eventloop.rst:671 msgid "" "*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " "state, without waiting for its natural timeout to expire. If not specified " "will automatically be set to ``True`` on Unix." msgstr "" -#: library/asyncio-eventloop.rst:656 +#: library/asyncio-eventloop.rst:676 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows." msgstr "" -#: library/asyncio-eventloop.rst:661 +#: library/asyncio-eventloop.rst:681 msgid "" "*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " "for the TLS handshake to complete before aborting the connection. ``60.0`` " "seconds if ``None`` (default)." msgstr "" -#: library/asyncio-eventloop.rst:665 +#: library/asyncio-eventloop.rst:685 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " @@ -904,104 +919,104 @@ msgid "" "to make the server to start accepting connections." msgstr "" -#: library/asyncio-eventloop.rst:677 +#: library/asyncio-eventloop.rst:697 msgid "The *host* parameter can be a sequence of strings." msgstr "" -#: library/asyncio-eventloop.rst:681 +#: library/asyncio-eventloop.rst:701 msgid "" "Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " "option :py:data:`~socket.TCP_NODELAY` is set by default for all TCP " "connections." msgstr "" -#: library/asyncio-eventloop.rst:687 +#: library/asyncio-eventloop.rst:707 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " "be used in an async/await code." msgstr "" -#: library/asyncio-eventloop.rst:696 +#: library/asyncio-eventloop.rst:716 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." "AF_UNIX` socket family." msgstr "" -#: library/asyncio-eventloop.rst:699 +#: library/asyncio-eventloop.rst:719 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " "and :class:`~pathlib.Path` paths are supported." msgstr "" -#: library/asyncio-eventloop.rst:704 +#: library/asyncio-eventloop.rst:724 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." msgstr "" -#: library/asyncio-eventloop.rst:711 +#: library/asyncio-eventloop.rst:731 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" -#: library/asyncio-eventloop.rst:717 +#: library/asyncio-eventloop.rst:737 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" -#: library/asyncio-eventloop.rst:719 +#: library/asyncio-eventloop.rst:739 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." msgstr "" -#: library/asyncio-eventloop.rst:722 library/asyncio-eventloop.rst:789 +#: library/asyncio-eventloop.rst:742 library/asyncio-eventloop.rst:815 msgid "Parameters:" msgstr "Paramètres :" -#: library/asyncio-eventloop.rst:727 +#: library/asyncio-eventloop.rst:747 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" -#: library/asyncio-eventloop.rst:730 +#: library/asyncio-eventloop.rst:756 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." msgstr "" -#: library/asyncio-eventloop.rst:733 +#: library/asyncio-eventloop.rst:759 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: library/asyncio-eventloop.rst:737 +#: library/asyncio-eventloop.rst:763 msgid "Returns a ``(transport, protocol)`` pair." msgstr "" -#: library/asyncio-eventloop.rst:747 +#: library/asyncio-eventloop.rst:773 msgid "Transferring files" msgstr "" -#: library/asyncio-eventloop.rst:752 +#: library/asyncio-eventloop.rst:778 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" -#: library/asyncio-eventloop.rst:755 +#: library/asyncio-eventloop.rst:781 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" -#: library/asyncio-eventloop.rst:757 +#: library/asyncio-eventloop.rst:783 msgid "*file* must be a regular file object opened in binary mode." msgstr "" -#: library/asyncio-eventloop.rst:759 library/asyncio-eventloop.rst:949 +#: library/asyncio-eventloop.rst:785 library/asyncio-eventloop.rst:975 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " @@ -1010,97 +1025,97 @@ msgid "" "obtain the actual number of bytes sent." msgstr "" -#: library/asyncio-eventloop.rst:766 +#: library/asyncio-eventloop.rst:792 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " "SSL socket on Unix)." msgstr "" -#: library/asyncio-eventloop.rst:770 +#: library/asyncio-eventloop.rst:796 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: library/asyncio-eventloop.rst:777 +#: library/asyncio-eventloop.rst:803 msgid "TLS Upgrade" msgstr "" -#: library/asyncio-eventloop.rst:783 +#: library/asyncio-eventloop.rst:809 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Convertit une connexion existante en connexion TLS." -#: library/asyncio-eventloop.rst:785 +#: library/asyncio-eventloop.rst:811 msgid "" "Return a new transport instance, that the *protocol* must start using " "immediately after the *await*. The *transport* instance passed to the " "*start_tls* method should never be used again." msgstr "" -#: library/asyncio-eventloop.rst:791 +#: library/asyncio-eventloop.rst:817 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." msgstr "" -#: library/asyncio-eventloop.rst:795 +#: library/asyncio-eventloop.rst:821 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "" -#: library/asyncio-eventloop.rst:797 +#: library/asyncio-eventloop.rst:823 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" -#: library/asyncio-eventloop.rst:800 +#: library/asyncio-eventloop.rst:826 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" -#: library/asyncio-eventloop.rst:811 +#: library/asyncio-eventloop.rst:837 msgid "Watching file descriptors" msgstr "Surveiller des descripteurs de fichiers" -#: library/asyncio-eventloop.rst:815 +#: library/asyncio-eventloop.rst:841 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." msgstr "" -#: library/asyncio-eventloop.rst:821 +#: library/asyncio-eventloop.rst:847 msgid "Stop monitoring the *fd* file descriptor for read availability." msgstr "" -#: library/asyncio-eventloop.rst:825 +#: library/asyncio-eventloop.rst:851 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." msgstr "" -#: library/asyncio-eventloop.rst:829 library/asyncio-eventloop.rst:1048 +#: library/asyncio-eventloop.rst:855 library/asyncio-eventloop.rst:1074 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." msgstr "" -#: library/asyncio-eventloop.rst:834 +#: library/asyncio-eventloop.rst:860 msgid "Stop monitoring the *fd* file descriptor for write availability." msgstr "" -#: library/asyncio-eventloop.rst:836 +#: library/asyncio-eventloop.rst:862 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." msgstr "" -#: library/asyncio-eventloop.rst:841 +#: library/asyncio-eventloop.rst:867 msgid "Working with socket objects directly" msgstr "" -#: library/asyncio-eventloop.rst:843 +#: library/asyncio-eventloop.rst:869 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " @@ -1109,46 +1124,46 @@ msgid "" "socket` objects directly is more convenient." msgstr "" -#: library/asyncio-eventloop.rst:852 +#: library/asyncio-eventloop.rst:878 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." msgstr "" -#: library/asyncio-eventloop.rst:855 +#: library/asyncio-eventloop.rst:881 msgid "Return the received data as a bytes object." msgstr "" -#: library/asyncio-eventloop.rst:857 library/asyncio-eventloop.rst:871 -#: library/asyncio-eventloop.rst:886 library/asyncio-eventloop.rst:899 -#: library/asyncio-eventloop.rst:925 library/asyncio-eventloop.rst:963 +#: library/asyncio-eventloop.rst:883 library/asyncio-eventloop.rst:897 +#: library/asyncio-eventloop.rst:912 library/asyncio-eventloop.rst:925 +#: library/asyncio-eventloop.rst:951 library/asyncio-eventloop.rst:989 msgid "*sock* must be a non-blocking socket." msgstr "Le connecteur *sock* ne doit pas être bloquant." -#: library/asyncio-eventloop.rst:859 +#: library/asyncio-eventloop.rst:885 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " "is an ``async def`` method." msgstr "" -#: library/asyncio-eventloop.rst:866 +#: library/asyncio-eventloop.rst:892 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." msgstr "" -#: library/asyncio-eventloop.rst:869 +#: library/asyncio-eventloop.rst:895 msgid "Return the number of bytes written to the buffer." msgstr "" -#: library/asyncio-eventloop.rst:877 +#: library/asyncio-eventloop.rst:903 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." msgstr "" -#: library/asyncio-eventloop.rst:880 +#: library/asyncio-eventloop.rst:906 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " @@ -1157,23 +1172,23 @@ msgid "" "the connection." msgstr "" -#: library/asyncio-eventloop.rst:888 +#: library/asyncio-eventloop.rst:914 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned an :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: library/asyncio-eventloop.rst:895 +#: library/asyncio-eventloop.rst:921 msgid "Connect *sock* to a remote socket at *address*." msgstr "" -#: library/asyncio-eventloop.rst:897 +#: library/asyncio-eventloop.rst:923 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "" -#: library/asyncio-eventloop.rst:901 +#: library/asyncio-eventloop.rst:927 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " "check if the *address* is already resolved by calling :func:`socket." @@ -1181,19 +1196,19 @@ msgid "" "*address*." msgstr "" -#: library/asyncio-eventloop.rst:910 +#: library/asyncio-eventloop.rst:936 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." msgstr "" -#: library/asyncio-eventloop.rst:916 +#: library/asyncio-eventloop.rst:942 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" -#: library/asyncio-eventloop.rst:919 +#: library/asyncio-eventloop.rst:945 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -1201,64 +1216,64 @@ msgid "" "the address bound to the socket on the other end of the connection." msgstr "" -#: library/asyncio-eventloop.rst:927 +#: library/asyncio-eventloop.rst:953 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: library/asyncio-eventloop.rst:934 +#: library/asyncio-eventloop.rst:960 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr "" -#: library/asyncio-eventloop.rst:939 +#: library/asyncio-eventloop.rst:965 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." msgstr "" -#: library/asyncio-eventloop.rst:942 +#: library/asyncio-eventloop.rst:968 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" -#: library/asyncio-eventloop.rst:944 +#: library/asyncio-eventloop.rst:970 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." msgstr "" -#: library/asyncio-eventloop.rst:947 +#: library/asyncio-eventloop.rst:973 msgid "*file* must be a regular file object open in binary mode." msgstr "" -#: library/asyncio-eventloop.rst:956 +#: library/asyncio-eventloop.rst:982 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " "or SSL socket on Unix)." msgstr "" -#: library/asyncio-eventloop.rst:960 +#: library/asyncio-eventloop.rst:986 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: library/asyncio-eventloop.rst:969 +#: library/asyncio-eventloop.rst:995 msgid "DNS" msgstr "" -#: library/asyncio-eventloop.rst:974 +#: library/asyncio-eventloop.rst:1000 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "" -#: library/asyncio-eventloop.rst:978 +#: library/asyncio-eventloop.rst:1004 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "" -#: library/asyncio-eventloop.rst:980 +#: library/asyncio-eventloop.rst:1006 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -1266,67 +1281,67 @@ msgid "" "coroutines." msgstr "" -#: library/asyncio-eventloop.rst:988 +#: library/asyncio-eventloop.rst:1014 msgid "Working with pipes" msgstr "" -#: library/asyncio-eventloop.rst:992 +#: library/asyncio-eventloop.rst:1018 msgid "Register the read end of *pipe* in the event loop." msgstr "" "Branche l'extrémité en lecture du tube *pipe* à la boucle d'évènements." -#: library/asyncio-eventloop.rst:997 +#: library/asyncio-eventloop.rst:1023 msgid "*pipe* is a :term:`file-like object `." msgstr "" -#: library/asyncio-eventloop.rst:999 +#: library/asyncio-eventloop.rst:1025 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1003 library/asyncio-eventloop.rst:1019 +#: library/asyncio-eventloop.rst:1029 library/asyncio-eventloop.rst:1045 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" -#: library/asyncio-eventloop.rst:1008 +#: library/asyncio-eventloop.rst:1034 msgid "Register the write end of *pipe* in the event loop." msgstr "Branche l'extrémité en écriture de *pipe* à la boucle d'évènements." -#: library/asyncio-eventloop.rst:1013 +#: library/asyncio-eventloop.rst:1039 msgid "*pipe* is :term:`file-like object `." msgstr "" -#: library/asyncio-eventloop.rst:1015 +#: library/asyncio-eventloop.rst:1041 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1024 +#: library/asyncio-eventloop.rst:1050 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" -#: library/asyncio-eventloop.rst:1029 +#: library/asyncio-eventloop.rst:1055 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" -#: library/asyncio-eventloop.rst:1034 +#: library/asyncio-eventloop.rst:1060 msgid "Unix signals" msgstr "Signaux Unix" -#: library/asyncio-eventloop.rst:1038 +#: library/asyncio-eventloop.rst:1064 msgid "Set *callback* as the handler for the *signum* signal." msgstr "" -#: library/asyncio-eventloop.rst:1040 +#: library/asyncio-eventloop.rst:1066 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1334,56 +1349,64 @@ msgid "" "function is allowed to interact with the event loop." msgstr "" -#: library/asyncio-eventloop.rst:1045 +#: library/asyncio-eventloop.rst:1071 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." msgstr "" -#: library/asyncio-eventloop.rst:1051 +#: library/asyncio-eventloop.rst:1077 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" -#: library/asyncio-eventloop.rst:1056 +#: library/asyncio-eventloop.rst:1082 msgid "Remove the handler for the *sig* signal." msgstr "Supprime le gestionnaire du signal *sig*." -#: library/asyncio-eventloop.rst:1058 +#: library/asyncio-eventloop.rst:1084 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." msgstr "" -#: library/asyncio-eventloop.rst:1065 +#: library/asyncio-eventloop.rst:1091 msgid "The :mod:`signal` module." msgstr "Le module :mod:`signal`." -#: library/asyncio-eventloop.rst:1069 +#: library/asyncio-eventloop.rst:1095 msgid "Executing code in thread or process pools" msgstr "" -#: library/asyncio-eventloop.rst:1073 +#: library/asyncio-eventloop.rst:1099 msgid "Arrange for *func* to be called in the specified executor." msgstr "" -#: library/asyncio-eventloop.rst:1075 +#: library/asyncio-eventloop.rst:1101 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." msgstr "" -#: library/asyncio-eventloop.rst:1119 +#: library/asyncio-eventloop.rst:1146 +msgid "" +"Note that the entry point guard (``if __name__ == '__main__'``) is required " +"for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " +"used by :class:`~concurrent.futures.ProcessPoolExecutor`. See :ref:`Safe " +"importing of main module `." +msgstr "" + +#: library/asyncio-eventloop.rst:1151 msgid "This method returns a :class:`asyncio.Future` object." msgstr "" -#: library/asyncio-eventloop.rst:1121 +#: library/asyncio-eventloop.rst:1153 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" -#: library/asyncio-eventloop.rst:1124 +#: library/asyncio-eventloop.rst:1156 msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " @@ -1391,38 +1414,38 @@ msgid "" "default." msgstr "" -#: library/asyncio-eventloop.rst:1133 +#: library/asyncio-eventloop.rst:1165 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* should be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" -#: library/asyncio-eventloop.rst:1137 +#: library/asyncio-eventloop.rst:1169 msgid "" "Using an executor that is not an instance of :class:`~concurrent.futures." "ThreadPoolExecutor` is deprecated and will trigger an error in Python 3.9." msgstr "" -#: library/asyncio-eventloop.rst:1142 +#: library/asyncio-eventloop.rst:1174 msgid "" "*executor* must be an instance of :class:`concurrent.futures." "ThreadPoolExecutor`." msgstr "" -#: library/asyncio-eventloop.rst:1147 +#: library/asyncio-eventloop.rst:1179 msgid "Error Handling API" msgstr "API de gestion d'erreur" -#: library/asyncio-eventloop.rst:1149 +#: library/asyncio-eventloop.rst:1181 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" -#: library/asyncio-eventloop.rst:1153 +#: library/asyncio-eventloop.rst:1185 msgid "Set *handler* as the new event loop exception handler." msgstr "" -#: library/asyncio-eventloop.rst:1155 +#: library/asyncio-eventloop.rst:1187 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1431,161 +1454,161 @@ msgid "" "(see :meth:`call_exception_handler` documentation for details about context)." msgstr "" -#: library/asyncio-eventloop.rst:1165 +#: library/asyncio-eventloop.rst:1197 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." msgstr "" -#: library/asyncio-eventloop.rst:1172 +#: library/asyncio-eventloop.rst:1204 msgid "Default exception handler." msgstr "Gestionnaire d'exception par défaut." -#: library/asyncio-eventloop.rst:1174 +#: library/asyncio-eventloop.rst:1206 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " "default handler behavior." msgstr "" -#: library/asyncio-eventloop.rst:1178 +#: library/asyncio-eventloop.rst:1210 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" -#: library/asyncio-eventloop.rst:1183 +#: library/asyncio-eventloop.rst:1215 msgid "Call the current event loop exception handler." msgstr "" "Appelle le gestionnaire d'exception de la boucle d'évènements actuelle." -#: library/asyncio-eventloop.rst:1185 +#: library/asyncio-eventloop.rst:1217 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" msgstr "" -#: library/asyncio-eventloop.rst:1188 +#: library/asyncio-eventloop.rst:1220 msgid "'message': Error message;" msgstr "``message`` : Message d'erreur ;" -#: library/asyncio-eventloop.rst:1189 +#: library/asyncio-eventloop.rst:1221 msgid "'exception' (optional): Exception object;" msgstr "``exception`` (optionnel): Un objet exception ;" -#: library/asyncio-eventloop.rst:1190 +#: library/asyncio-eventloop.rst:1222 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1191 +#: library/asyncio-eventloop.rst:1223 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1192 +#: library/asyncio-eventloop.rst:1224 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1193 +#: library/asyncio-eventloop.rst:1225 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1194 +#: library/asyncio-eventloop.rst:1226 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1195 +#: library/asyncio-eventloop.rst:1227 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1197 +#: library/asyncio-eventloop.rst:1229 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "" -#: library/asyncio-eventloop.rst:1197 +#: library/asyncio-eventloop.rst:1229 #, fuzzy msgid "the exception." msgstr "Gestionnaire d'exception par défaut." -#: library/asyncio-eventloop.rst:1201 +#: library/asyncio-eventloop.rst:1233 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." msgstr "" -#: library/asyncio-eventloop.rst:1206 +#: library/asyncio-eventloop.rst:1238 msgid "Enabling debug mode" msgstr "Active le mode débogage" -#: library/asyncio-eventloop.rst:1210 +#: library/asyncio-eventloop.rst:1242 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "" -#: library/asyncio-eventloop.rst:1212 +#: library/asyncio-eventloop.rst:1244 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" -#: library/asyncio-eventloop.rst:1218 +#: library/asyncio-eventloop.rst:1250 msgid "Set the debug mode of the event loop." msgstr "Active le mode débogage pour la boucle d'évènements." -#: library/asyncio-eventloop.rst:1222 +#: library/asyncio-eventloop.rst:1254 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." msgstr "" -#: library/asyncio-eventloop.rst:1227 +#: library/asyncio-eventloop.rst:1259 msgid "The :ref:`debug mode of asyncio `." msgstr "" -#: library/asyncio-eventloop.rst:1231 +#: library/asyncio-eventloop.rst:1263 msgid "Running Subprocesses" msgstr "" -#: library/asyncio-eventloop.rst:1233 +#: library/asyncio-eventloop.rst:1265 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " "and :func:`asyncio.create_subprocess_exec` convenience functions instead." msgstr "" -#: library/asyncio-eventloop.rst:1240 +#: library/asyncio-eventloop.rst:1272 msgid "" "On Windows, the default event loop :class:`ProactorEventLoop` supports " "subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" "`Subprocess Support on Windows ` for details." msgstr "" -#: library/asyncio-eventloop.rst:1249 +#: library/asyncio-eventloop.rst:1281 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" -#: library/asyncio-eventloop.rst:1252 +#: library/asyncio-eventloop.rst:1284 msgid "*args* must be a list of strings represented by:" msgstr "" -#: library/asyncio-eventloop.rst:1254 +#: library/asyncio-eventloop.rst:1286 #, fuzzy msgid ":class:`str`;" msgstr ":class:`str`" -#: library/asyncio-eventloop.rst:1255 +#: library/asyncio-eventloop.rst:1287 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." msgstr "" -#: library/asyncio-eventloop.rst:1258 +#: library/asyncio-eventloop.rst:1290 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " "program." msgstr "" -#: library/asyncio-eventloop.rst:1262 +#: library/asyncio-eventloop.rst:1294 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " @@ -1593,133 +1616,133 @@ msgid "" "which is list of strings, *subprocess_exec* takes multiple string arguments." msgstr "" -#: library/asyncio-eventloop.rst:1268 +#: library/asyncio-eventloop.rst:1300 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." msgstr "" -#: library/asyncio-eventloop.rst:1271 +#: library/asyncio-eventloop.rst:1303 msgid "Other parameters:" msgstr "Autres paramètres :" -#: library/asyncio-eventloop.rst:1273 +#: library/asyncio-eventloop.rst:1305 msgid "*stdin* can be any of these:" msgstr "" -#: library/asyncio-eventloop.rst:1275 +#: library/asyncio-eventloop.rst:1307 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard input stream using :meth:`~loop.connect_write_pipe`" msgstr "" -#: library/asyncio-eventloop.rst:1278 library/asyncio-eventloop.rst:1290 -#: library/asyncio-eventloop.rst:1302 +#: library/asyncio-eventloop.rst:1310 library/asyncio-eventloop.rst:1322 +#: library/asyncio-eventloop.rst:1334 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," msgstr "" -#: library/asyncio-eventloop.rst:1280 library/asyncio-eventloop.rst:1292 -#: library/asyncio-eventloop.rst:1304 +#: library/asyncio-eventloop.rst:1312 library/asyncio-eventloop.rst:1324 +#: library/asyncio-eventloop.rst:1336 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" msgstr "" -#: library/asyncio-eventloop.rst:1282 library/asyncio-eventloop.rst:1294 -#: library/asyncio-eventloop.rst:1306 +#: library/asyncio-eventloop.rst:1314 library/asyncio-eventloop.rst:1326 +#: library/asyncio-eventloop.rst:1338 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" msgstr "" -#: library/asyncio-eventloop.rst:1285 +#: library/asyncio-eventloop.rst:1317 msgid "*stdout* can be any of these:" msgstr "" -#: library/asyncio-eventloop.rst:1287 +#: library/asyncio-eventloop.rst:1319 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard output stream using :meth:`~loop.connect_write_pipe`" msgstr "" -#: library/asyncio-eventloop.rst:1297 +#: library/asyncio-eventloop.rst:1329 msgid "*stderr* can be any of these:" msgstr "" -#: library/asyncio-eventloop.rst:1299 +#: library/asyncio-eventloop.rst:1331 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard error stream using :meth:`~loop.connect_write_pipe`" msgstr "" -#: library/asyncio-eventloop.rst:1308 +#: library/asyncio-eventloop.rst:1340 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" msgstr "" -#: library/asyncio-eventloop.rst:1311 +#: library/asyncio-eventloop.rst:1343 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " "*encoding* and *errors*, which should not be specified at all." msgstr "" -#: library/asyncio-eventloop.rst:1316 +#: library/asyncio-eventloop.rst:1348 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " "the stream to text." msgstr "" -#: library/asyncio-eventloop.rst:1320 +#: library/asyncio-eventloop.rst:1352 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." msgstr "" -#: library/asyncio-eventloop.rst:1323 +#: library/asyncio-eventloop.rst:1355 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " "object instantiated by the *protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1331 +#: library/asyncio-eventloop.rst:1363 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." msgstr "" -#: library/asyncio-eventloop.rst:1336 +#: library/asyncio-eventloop.rst:1368 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" -#: library/asyncio-eventloop.rst:1339 +#: library/asyncio-eventloop.rst:1371 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." msgstr "" -#: library/asyncio-eventloop.rst:1342 +#: library/asyncio-eventloop.rst:1374 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." msgstr "" -#: library/asyncio-eventloop.rst:1345 +#: library/asyncio-eventloop.rst:1377 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " "instantiated by the *protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1350 +#: library/asyncio-eventloop.rst:1382 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -1729,105 +1752,105 @@ msgid "" "used to construct shell commands." msgstr "" -#: library/asyncio-eventloop.rst:1359 +#: library/asyncio-eventloop.rst:1391 msgid "Callback Handles" msgstr "" -#: library/asyncio-eventloop.rst:1363 +#: library/asyncio-eventloop.rst:1395 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." msgstr "" -#: library/asyncio-eventloop.rst:1368 +#: library/asyncio-eventloop.rst:1400 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." msgstr "" -#: library/asyncio-eventloop.rst:1373 +#: library/asyncio-eventloop.rst:1405 msgid "Return ``True`` if the callback was cancelled." msgstr "Renvoie ``True`` si la fonction de rappel à été annulé." -#: library/asyncio-eventloop.rst:1379 +#: library/asyncio-eventloop.rst:1411 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." msgstr "" -#: library/asyncio-eventloop.rst:1382 +#: library/asyncio-eventloop.rst:1414 msgid "This class is a subclass of :class:`Handle`." msgstr "" -#: library/asyncio-eventloop.rst:1386 +#: library/asyncio-eventloop.rst:1418 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" -#: library/asyncio-eventloop.rst:1388 +#: library/asyncio-eventloop.rst:1420 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." msgstr "" -#: library/asyncio-eventloop.rst:1395 +#: library/asyncio-eventloop.rst:1427 msgid "Server Objects" msgstr "Objets Serveur" -#: library/asyncio-eventloop.rst:1397 +#: library/asyncio-eventloop.rst:1429 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " "functions." msgstr "" -#: library/asyncio-eventloop.rst:1401 +#: library/asyncio-eventloop.rst:1433 msgid "Do not instantiate the class directly." msgstr "" -#: library/asyncio-eventloop.rst:1405 +#: library/asyncio-eventloop.rst:1437 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " "accepting new connections when the ``async with`` statement is completed::" msgstr "" -#: library/asyncio-eventloop.rst:1418 +#: library/asyncio-eventloop.rst:1450 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" -#: library/asyncio-eventloop.rst:1423 +#: library/asyncio-eventloop.rst:1455 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" -#: library/asyncio-eventloop.rst:1426 +#: library/asyncio-eventloop.rst:1458 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" -#: library/asyncio-eventloop.rst:1429 +#: library/asyncio-eventloop.rst:1461 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." msgstr "" -#: library/asyncio-eventloop.rst:1434 +#: library/asyncio-eventloop.rst:1466 msgid "Return the event loop associated with the server object." msgstr "" -#: library/asyncio-eventloop.rst:1440 +#: library/asyncio-eventloop.rst:1472 msgid "Start accepting connections." msgstr "Commence à accepter les connexions." -#: library/asyncio-eventloop.rst:1442 +#: library/asyncio-eventloop.rst:1474 msgid "" "This method is idempotent, so it can be called when the server is already " "being serving." msgstr "" -#: library/asyncio-eventloop.rst:1445 +#: library/asyncio-eventloop.rst:1477 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " @@ -1836,97 +1859,96 @@ msgid "" "accepting connections." msgstr "" -#: library/asyncio-eventloop.rst:1456 +#: library/asyncio-eventloop.rst:1488 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" -#: library/asyncio-eventloop.rst:1460 +#: library/asyncio-eventloop.rst:1492 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." msgstr "" -#: library/asyncio-eventloop.rst:1482 +#: library/asyncio-eventloop.rst:1514 msgid "Return ``True`` if the server is accepting new connections." msgstr "Donne ``True`` si le serveur accepte de nouvelles connexions." -#: library/asyncio-eventloop.rst:1488 +#: library/asyncio-eventloop.rst:1520 msgid "Wait until the :meth:`close` method completes." msgstr "Attends que la méthode :meth:`close` se termine." -#: library/asyncio-eventloop.rst:1492 +#: library/asyncio-eventloop.rst:1524 msgid "List of :class:`socket.socket` objects the server is listening on." msgstr "" -#: library/asyncio-eventloop.rst:1494 +#: library/asyncio-eventloop.rst:1526 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." msgstr "" -#: library/asyncio-eventloop.rst:1503 +#: library/asyncio-eventloop.rst:1536 msgid "Event Loop Implementations" msgstr "Implémentations de boucle d'évènements" -#: library/asyncio-eventloop.rst:1505 +#: library/asyncio-eventloop.rst:1538 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" -#: library/asyncio-eventloop.rst:1508 +#: library/asyncio-eventloop.rst:1541 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." msgstr "" -#: library/asyncio-eventloop.rst:1514 +#: library/asyncio-eventloop.rst:1547 msgid "An event loop based on the :mod:`selectors` module." msgstr "" -#: library/asyncio-eventloop.rst:1516 +#: library/asyncio-eventloop.rst:1549 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " "used::" msgstr "" -#: library/asyncio-eventloop.rst:1528 +#: library/asyncio-eventloop.rst:1564 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." -#: library/asyncio-eventloop.rst:1533 +#: library/asyncio-eventloop.rst:1569 msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" -#: library/asyncio-eventloop.rst:1536 +#: library/asyncio-eventloop.rst:1572 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/asyncio-eventloop.rst:1539 +#: library/asyncio-eventloop.rst:1575 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" -#: library/asyncio-eventloop.rst:1545 +#: library/asyncio-eventloop.rst:1581 msgid "Abstract base class for asyncio-compliant event loops." msgstr "" -#: library/asyncio-eventloop.rst:1547 +#: library/asyncio-eventloop.rst:1583 msgid "" -"The :ref:`Event Loop Methods ` section lists all methods " -"that an alternative implementation of ``AbstractEventLoop`` should have " -"defined." +"The :ref:`asyncio-event-loop-methods` section lists all methods that an " +"alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" -#: library/asyncio-eventloop.rst:1553 +#: library/asyncio-eventloop.rst:1589 msgid "Examples" msgstr "Exemples" -#: library/asyncio-eventloop.rst:1555 +#: library/asyncio-eventloop.rst:1591 msgid "" "Note that all examples in this section **purposefully** show how to use the " "low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." @@ -1934,70 +1956,70 @@ msgid "" "consider using the high-level functions like :func:`asyncio.run`." msgstr "" -#: library/asyncio-eventloop.rst:1565 +#: library/asyncio-eventloop.rst:1601 msgid "Hello World with call_soon()" msgstr "\"Hello World\" avec ``call_soon()``" -#: library/asyncio-eventloop.rst:1567 +#: library/asyncio-eventloop.rst:1603 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" msgstr "" -#: library/asyncio-eventloop.rst:1591 +#: library/asyncio-eventloop.rst:1627 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." msgstr "" -#: library/asyncio-eventloop.rst:1598 +#: library/asyncio-eventloop.rst:1634 msgid "Display the current date with call_later()" msgstr "Afficher la date actuelle avec ``call_later()``" -#: library/asyncio-eventloop.rst:1600 +#: library/asyncio-eventloop.rst:1636 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " "5 seconds, and then stops the event loop::" msgstr "" -#: library/asyncio-eventloop.rst:1628 +#: library/asyncio-eventloop.rst:1664 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." msgstr "" -#: library/asyncio-eventloop.rst:1635 +#: library/asyncio-eventloop.rst:1671 msgid "Watch a file descriptor for read events" msgstr "" -#: library/asyncio-eventloop.rst:1637 +#: library/asyncio-eventloop.rst:1673 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" msgstr "" -#: library/asyncio-eventloop.rst:1675 +#: library/asyncio-eventloop.rst:1711 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" -#: library/asyncio-eventloop.rst:1679 +#: library/asyncio-eventloop.rst:1715 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" -#: library/asyncio-eventloop.rst:1687 +#: library/asyncio-eventloop.rst:1723 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Définit les gestionnaires de signaux pour *SIGINT* et *SIGTERM*" -#: library/asyncio-eventloop.rst:1689 +#: library/asyncio-eventloop.rst:1725 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Cet exemple ne fonctionne que sur Unix.)" -#: library/asyncio-eventloop.rst:1691 +#: library/asyncio-eventloop.rst:1727 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " "the :meth:`loop.add_signal_handler` method::" diff --git a/library/asyncio-future.po b/library/asyncio-future.po index f30329cc3e..67adbd1989 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-08-22 22:57-0400\n" "Last-Translator: Nicolas Haller \n" "Language-Team: FRENCH \n" @@ -67,9 +67,8 @@ msgid "" "*obj* argument as is, if *obj* is a :class:`Future`, a :class:`Task`, or a " "Future-like object (:func:`isfuture` is used for the test.)" msgstr "" -"l'objet *obj* tel quel si c'est un objet :class:`Future`, :class:" -"`Task` ou se comportant comme un *Future*. :func:`isfuture` est utilisée " -"pour le test ;" +"l'objet *obj* tel quel si c'est un objet :class:`Future`, :class:`Task` ou " +"se comportant comme un *Future*. :func:`isfuture` est utilisée pour le test ;" #: library/asyncio-future.rst:42 msgid "" @@ -77,18 +76,17 @@ msgid "" "`iscoroutine` is used for the test); in this case the coroutine will be " "scheduled by ``ensure_future()``." msgstr "" -"un objet :class:`Task` encapsulant *obj* si ce dernier est une " -"coroutine (:func:`iscoroutine` est utilisée pour le test). Dans ce cas, " -"l’exécution de la coroutine sera planifiée par ``ensure_future()`` ;" +"un objet :class:`Task` encapsulant *obj* si ce dernier est une coroutine (:" +"func:`iscoroutine` est utilisée pour le test). Dans ce cas, l’exécution de " +"la coroutine sera planifiée par ``ensure_future()`` ;" #: library/asyncio-future.rst:47 msgid "" "a :class:`Task` object that would await on *obj*, if *obj* is an awaitable (:" "func:`inspect.isawaitable` is used for the test.)" msgstr "" -"un objet :class:`Task` qui attendra (*await*) *obj* si ce " -"dernier peut être attendu (*awaitable*). :func:`iscoroutine` est utilisée " -"pour le test." +"un objet :class:`Task` qui attendra (*await*) *obj* si ce dernier peut être " +"attendu (*awaitable*). :func:`iscoroutine` est utilisée pour le test." #: library/asyncio-future.rst:50 msgid "If *obj* is neither of the above a :exc:`TypeError` is raised." @@ -105,9 +103,10 @@ msgstr "" "pour créer des nouvelles tâches." #: library/asyncio-future.rst:57 +#, fuzzy msgid "" "Save a reference to the result of this function, to avoid a task " -"disappearing mid execution." +"disappearing mid-execution." msgstr "" "Gardez une référence au résultat de cette fonction pour éviter de voir une " "tâche disparaitre au milieu de son exécution." @@ -155,16 +154,17 @@ msgstr "" "n'est pas conçu pour pouvoir être utilisé par plusieurs fils d'exécution." #: library/asyncio-future.rst:86 +#, fuzzy msgid "" "Future is an :term:`awaitable` object. Coroutines can await on Future " "objects until they either have a result or an exception set, or until they " -"are cancelled." +"are cancelled. A Future can be awaited multiple times and the result is same." msgstr "" "*Future* est un objet qui peut être attendu (:term:`awaitable`). Les " "coroutines peuvent attendre les objets *Future* jusqu'à ce qu'ils renvoient " "un résultat, ils lèvent une exception ou qu'ils soient annulés." -#: library/asyncio-future.rst:90 +#: library/asyncio-future.rst:91 msgid "" "Typically Futures are used to enable low-level callback-based code (e.g. in " "protocols implemented using asyncio :ref:`transports `) " "d'interagir avec du code haut niveau utilisant *async* et *await*." -#: library/asyncio-future.rst:95 +#: library/asyncio-future.rst:96 msgid "" "The rule of thumb is to never expose Future objects in user-facing APIs, and " "the recommended way to create a Future object is to call :meth:`loop." @@ -188,11 +188,11 @@ msgstr "" "permet aux implémentations alternatives de la boucle d'évènements d'utiliser " "leur propre implémentation de l'objet *Future*." -#: library/asyncio-future.rst:101 +#: library/asyncio-future.rst:102 msgid "Added support for the :mod:`contextvars` module." msgstr "Ajout du support du module :mod:`contextvars`." -#: library/asyncio-future.rst:104 +#: library/asyncio-future.rst:105 msgid "" "Deprecation warning is emitted if *loop* is not specified and there is no " "running event loop." @@ -200,11 +200,11 @@ msgstr "" "Un ``DeprecationWarning`` est levé si *loop* n'est pas spécifié et s'il n'y " "a pas de boucle d'évènements en cours d'exécution." -#: library/asyncio-future.rst:110 +#: library/asyncio-future.rst:111 msgid "Return the result of the Future." msgstr "Renvoie le résultat du *Future*." -#: library/asyncio-future.rst:112 +#: library/asyncio-future.rst:113 msgid "" "If the Future is *done* and has a result set by the :meth:`set_result` " "method, the result value is returned." @@ -212,7 +212,7 @@ msgstr "" "Si le *Future* est « terminé » et a un résultat défini par la méthode :meth:" "`set_result`, ce résultat est renvoyé." -#: library/asyncio-future.rst:115 +#: library/asyncio-future.rst:116 msgid "" "If the Future is *done* and has an exception set by the :meth:" "`set_exception` method, this method raises the exception." @@ -220,7 +220,7 @@ msgstr "" "Si le *Future* est « terminé » et a une exception définie par la méthode :" "meth:`set_exception`, cette méthode lève l'exception." -#: library/asyncio-future.rst:206 +#: library/asyncio-future.rst:207 msgid "" "If the Future has been *cancelled*, this method raises a :exc:" "`CancelledError` exception." @@ -228,7 +228,7 @@ msgstr "" "Si le *Future* a été *annulé*, cette méthode lève une exception :exc:" "`CancelledError`." -#: library/asyncio-future.rst:121 +#: library/asyncio-future.rst:122 msgid "" "If the Future's result isn't yet available, this method raises a :exc:" "`InvalidStateError` exception." @@ -236,25 +236,25 @@ msgstr "" "Si le résultat de la tâche n'est pas encore disponible, cette méthode lève " "une exception :exc:`InvalidStateError`." -#: library/asyncio-future.rst:126 +#: library/asyncio-future.rst:127 msgid "Mark the Future as *done* and set its result." msgstr "Marque le *Future* comme « terminé » et définit son résultat." -#: library/asyncio-future.rst:135 +#: library/asyncio-future.rst:136 msgid "" "Raises a :exc:`InvalidStateError` error if the Future is already *done*." msgstr "" "Lève une erreur :exc:`InvalidStateError` si le *Future* est déjà « terminé »." -#: library/asyncio-future.rst:133 +#: library/asyncio-future.rst:134 msgid "Mark the Future as *done* and set an exception." msgstr "Marque le *Future* comme « terminé » et définit une exception." -#: library/asyncio-future.rst:140 +#: library/asyncio-future.rst:141 msgid "Return ``True`` if the Future is *done*." msgstr "Renvoie ``True`` si le *Future* est « terminé »." -#: library/asyncio-future.rst:142 +#: library/asyncio-future.rst:143 msgid "" "A Future is *done* if it was *cancelled* or if it has a result or an " "exception set with :meth:`set_result` or :meth:`set_exception` calls." @@ -263,11 +263,11 @@ msgstr "" "exception a été définie par les méthodes :meth:`set_result` ou :meth:" "`set_exception`." -#: library/asyncio-future.rst:148 +#: library/asyncio-future.rst:149 msgid "Return ``True`` if the Future was *cancelled*." msgstr "Renvoie ``True`` si le *Future* a été « annulé »." -#: library/asyncio-future.rst:150 +#: library/asyncio-future.rst:151 msgid "" "The method is usually used to check if a Future is not *cancelled* before " "setting a result or an exception for it::" @@ -275,17 +275,17 @@ msgstr "" "Cette méthode est habituellement utilisée pour vérifier qu'un *Future* n'est " "pas « annulé » avant de définir un résultat ou une exception pour celui-ci ::" -#: library/asyncio-future.rst:158 +#: library/asyncio-future.rst:159 msgid "Add a callback to be run when the Future is *done*." msgstr "" "Ajoute une fonction de rappel à exécuter lorsque le *Future* est « terminé »." -#: library/asyncio-future.rst:160 +#: library/asyncio-future.rst:161 msgid "The *callback* is called with the Future object as its only argument." msgstr "" "L'argument *callback* est appelé avec l'objet *Future* comme seul argument." -#: library/asyncio-future.rst:163 +#: library/asyncio-future.rst:164 msgid "" "If the Future is already *done* when this method is called, the callback is " "scheduled with :meth:`loop.call_soon`." @@ -294,7 +294,7 @@ msgstr "" "l'exécution de la fonction de rappel est planifiée avec :meth:`loop." "call_soon`." -#: library/asyncio-future.rst:166 +#: library/asyncio-future.rst:167 msgid "" "An optional keyword-only *context* argument allows specifying a custom :" "class:`contextvars.Context` for the *callback* to run in. The current " @@ -304,7 +304,7 @@ msgstr "" "`contextvars.Context` personnalisée dans laquelle la fonction de rappel " "s’exécutera. Le contexte actuel est utilisé si *context* n'est pas fourni." -#: library/asyncio-future.rst:170 +#: library/asyncio-future.rst:171 msgid "" ":func:`functools.partial` can be used to pass parameters to the callback, e." "g.::" @@ -312,18 +312,18 @@ msgstr "" ":func:`functools.partial` peut être utilisée pour passer des paramètres à la " "fonction de rappel ::" -#: library/asyncio-future.rst:177 +#: library/asyncio-future.rst:178 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." msgstr "" "Ajout de l'argument nommé *context*. Voir :pep:`567` pour plus de détails." -#: library/asyncio-future.rst:183 +#: library/asyncio-future.rst:184 msgid "Remove *callback* from the callbacks list." msgstr "Retire *callback* de la liste de fonctions de rappel." -#: library/asyncio-future.rst:185 +#: library/asyncio-future.rst:186 msgid "" "Returns the number of callbacks removed, which is typically 1, unless a " "callback was added more than once." @@ -331,11 +331,11 @@ msgstr "" "Renvoie le nombre de fonctions de rappel retiré. La méthode renvoie " "généralement 1, à moins que la fonction ait été ajoutée plus d'une fois." -#: library/asyncio-future.rst:190 +#: library/asyncio-future.rst:191 msgid "Cancel the Future and schedule callbacks." msgstr "Annule le *Future* et planifie l'exécution des fonctions de rappel." -#: library/asyncio-future.rst:192 +#: library/asyncio-future.rst:193 msgid "" "If the Future is already *done* or *cancelled*, return ``False``. Otherwise, " "change the Future's state to *cancelled*, schedule the callbacks, and return " @@ -345,15 +345,15 @@ msgstr "" "Autrement, change l'état du *Future* à « annulé », planifie l'exécution des " "fonctions de rappel et renvoie ``True``." -#: library/asyncio-future.rst:196 +#: library/asyncio-future.rst:197 msgid "Added the *msg* parameter." msgstr "Ajout du paramètre *msg*." -#: library/asyncio-future.rst:201 +#: library/asyncio-future.rst:202 msgid "Return the exception that was set on this Future." msgstr "Renvoie l'exception définie pour ce *Future*." -#: library/asyncio-future.rst:203 +#: library/asyncio-future.rst:204 msgid "" "The exception (or ``None`` if no exception was set) is returned only if the " "Future is *done*." @@ -361,7 +361,7 @@ msgstr "" "L'exception, ou ``None`` si aucune exception n'a été définie, est renvoyé " "seulement si le *Future* est « terminé »." -#: library/asyncio-future.rst:209 +#: library/asyncio-future.rst:210 msgid "" "If the Future isn't *done* yet, this method raises an :exc:" "`InvalidStateError` exception." @@ -369,11 +369,11 @@ msgstr "" "Si le *Future* n'est pas encore « terminé », cette méthode lève une " "exception :exc:`InvalidStateError`." -#: library/asyncio-future.rst:214 +#: library/asyncio-future.rst:215 msgid "Return the event loop the Future object is bound to." msgstr "Renvoie la boucle d'évènements à laquelle le *Future* est attaché." -#: library/asyncio-future.rst:221 +#: library/asyncio-future.rst:222 msgid "" "This example creates a Future object, creates and schedules an asynchronous " "Task to set result for the Future, and waits until the Future has a result::" @@ -382,7 +382,7 @@ msgstr "" "tâche asynchrone qui définira le résultat du *Future* et attend jusqu'à ce " "que le *Future* ait un résultat ::" -#: library/asyncio-future.rst:256 +#: library/asyncio-future.rst:257 msgid "" "The Future object was designed to mimic :class:`concurrent.futures.Future`. " "Key differences include:" @@ -390,7 +390,7 @@ msgstr "" "L'objet *Future* est conçu pour imiter la classe :class:`concurrent.futures." "Future`. Les principales différences sont :" -#: library/asyncio-future.rst:259 +#: library/asyncio-future.rst:260 msgid "" "unlike asyncio Futures, :class:`concurrent.futures.Future` instances cannot " "be awaited." @@ -398,7 +398,7 @@ msgstr "" "contrairement au *Future asyncio*, les instances de :class:`concurrent." "futures.Future` ne peuvent pas être attendues ;" -#: library/asyncio-future.rst:262 +#: library/asyncio-future.rst:263 msgid "" ":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` do not " "accept the *timeout* argument." @@ -406,7 +406,7 @@ msgstr "" ":meth:`asyncio.Future.result` et :meth:`asyncio.Future.exception` " "n'acceptent pas d'argument *timeout* ;" -#: library/asyncio-future.rst:265 +#: library/asyncio-future.rst:266 msgid "" ":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :" "exc:`InvalidStateError` exception when the Future is not *done*." @@ -415,7 +415,7 @@ msgstr "" "exception :exc:`InvalidStateError` lorsque le *Future* n'est pas " "« terminé » ;" -#: library/asyncio-future.rst:269 +#: library/asyncio-future.rst:270 msgid "" "Callbacks registered with :meth:`asyncio.Future.add_done_callback` are not " "called immediately. They are scheduled with :meth:`loop.call_soon` instead." @@ -424,7 +424,7 @@ msgstr "" "add_done_callback` ne sont pas exécutées immédiatement mais planifiées avec :" "meth:`loop.call_soon` ;" -#: library/asyncio-future.rst:273 +#: library/asyncio-future.rst:274 msgid "" "asyncio Future is not compatible with the :func:`concurrent.futures.wait` " "and :func:`concurrent.futures.as_completed` functions." @@ -432,7 +432,7 @@ msgstr "" "les *Future asyncio* ne sont pas compatibles avec les fonctions :func:" "`concurrent.futures.wait` et :func:`concurrent.futures.as_completed` ;" -#: library/asyncio-future.rst:277 +#: library/asyncio-future.rst:278 msgid "" ":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :" "func:`concurrent.futures.cancel` does not." diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index a82e872e89..9eabf7b30f 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -72,8 +72,8 @@ msgstr "Méthodes de la boucle d'évènements" #: library/asyncio-llapi-index.rst:39 msgid "" -"See also the main documentation section about the :ref:`event loop methods " -"`." +"See also the main documentation section about the :ref:`asyncio-event-loop-" +"methods`." msgstr "" #: library/asyncio-llapi-index.rst:42 @@ -686,7 +686,7 @@ msgstr "" msgid ":meth:`transport.abort() `" msgstr "" -#: library/asyncio-llapi-index.rst:348 library/asyncio-llapi-index.rst:370 +#: library/asyncio-llapi-index.rst:348 library/asyncio-llapi-index.rst:374 msgid "Close the transport immediately." msgstr "" @@ -697,226 +697,237 @@ msgid "" msgstr "" #: library/asyncio-llapi-index.rst:352 +#, fuzzy +msgid "Return the current size of the output buffer." +msgstr "Renvoie le protocole courant." + +#: library/asyncio-llapi-index.rst:354 +msgid "" +":meth:`transport.get_write_buffer_limits() `" +msgstr "" + +#: library/asyncio-llapi-index.rst:356 msgid "Return high and low water marks for write flow control." msgstr "" -#: library/asyncio-llapi-index.rst:354 +#: library/asyncio-llapi-index.rst:358 msgid "" ":meth:`transport.set_write_buffer_limits() `" msgstr "" -#: library/asyncio-llapi-index.rst:356 +#: library/asyncio-llapi-index.rst:360 msgid "Set new high and low water marks for write flow control." msgstr "" -#: library/asyncio-llapi-index.rst:359 +#: library/asyncio-llapi-index.rst:363 msgid "Transports returned by :meth:`loop.create_datagram_endpoint`:" msgstr "" -#: library/asyncio-llapi-index.rst:361 +#: library/asyncio-llapi-index.rst:365 msgid "Datagram Transports" msgstr "Transports de datagrammes" -#: library/asyncio-llapi-index.rst:366 +#: library/asyncio-llapi-index.rst:370 msgid ":meth:`transport.sendto() `" msgstr "" -#: library/asyncio-llapi-index.rst:367 +#: library/asyncio-llapi-index.rst:371 msgid "Send data to the remote peer." msgstr "" -#: library/asyncio-llapi-index.rst:369 +#: library/asyncio-llapi-index.rst:373 msgid ":meth:`transport.abort() `" msgstr "" -#: library/asyncio-llapi-index.rst:373 +#: library/asyncio-llapi-index.rst:377 msgid "" "Low-level transport abstraction over subprocesses. Returned by :meth:`loop." "subprocess_exec` and :meth:`loop.subprocess_shell`:" msgstr "" -#: library/asyncio-llapi-index.rst:377 +#: library/asyncio-llapi-index.rst:381 msgid "Subprocess Transports" msgstr "Transports vers des sous-processus" -#: library/asyncio-llapi-index.rst:382 +#: library/asyncio-llapi-index.rst:386 msgid ":meth:`transport.get_pid() `" msgstr "" -#: library/asyncio-llapi-index.rst:383 +#: library/asyncio-llapi-index.rst:387 msgid "Return the subprocess process id." msgstr "" -#: library/asyncio-llapi-index.rst:385 +#: library/asyncio-llapi-index.rst:389 msgid "" ":meth:`transport.get_pipe_transport() `" msgstr "" -#: library/asyncio-llapi-index.rst:387 +#: library/asyncio-llapi-index.rst:391 msgid "" "Return the transport for the requested communication pipe (*stdin*, " "*stdout*, or *stderr*)." msgstr "" -#: library/asyncio-llapi-index.rst:390 +#: library/asyncio-llapi-index.rst:394 msgid ":meth:`transport.get_returncode() `" msgstr "" -#: library/asyncio-llapi-index.rst:391 +#: library/asyncio-llapi-index.rst:395 msgid "Return the subprocess return code." msgstr "" -#: library/asyncio-llapi-index.rst:393 +#: library/asyncio-llapi-index.rst:397 msgid ":meth:`transport.kill() `" msgstr "" -#: library/asyncio-llapi-index.rst:394 +#: library/asyncio-llapi-index.rst:398 msgid "Kill the subprocess." msgstr "Tue le sous-processus." -#: library/asyncio-llapi-index.rst:396 +#: library/asyncio-llapi-index.rst:400 msgid ":meth:`transport.send_signal() `" msgstr "" -#: library/asyncio-llapi-index.rst:397 +#: library/asyncio-llapi-index.rst:401 msgid "Send a signal to the subprocess." msgstr "" -#: library/asyncio-llapi-index.rst:399 +#: library/asyncio-llapi-index.rst:403 msgid ":meth:`transport.terminate() `" msgstr "" -#: library/asyncio-llapi-index.rst:400 +#: library/asyncio-llapi-index.rst:404 msgid "Stop the subprocess." msgstr "Termine le sous-processus." -#: library/asyncio-llapi-index.rst:402 +#: library/asyncio-llapi-index.rst:406 msgid ":meth:`transport.close() `" msgstr "" -#: library/asyncio-llapi-index.rst:403 +#: library/asyncio-llapi-index.rst:407 msgid "Kill the subprocess and close all pipes." msgstr "" -#: library/asyncio-llapi-index.rst:407 +#: library/asyncio-llapi-index.rst:411 msgid "Protocols" msgstr "" -#: library/asyncio-llapi-index.rst:409 +#: library/asyncio-llapi-index.rst:413 msgid "Protocol classes can implement the following **callback methods**:" msgstr "" -#: library/asyncio-llapi-index.rst:415 +#: library/asyncio-llapi-index.rst:419 msgid "``callback`` :meth:`connection_made() `" msgstr "" -#: library/asyncio-llapi-index.rst:416 +#: library/asyncio-llapi-index.rst:420 msgid "Called when a connection is made." msgstr "Appelé lorsqu'une connexion est établie." -#: library/asyncio-llapi-index.rst:418 +#: library/asyncio-llapi-index.rst:422 msgid "``callback`` :meth:`connection_lost() `" msgstr "" -#: library/asyncio-llapi-index.rst:419 +#: library/asyncio-llapi-index.rst:423 msgid "Called when the connection is lost or closed." msgstr "Appelé lorsqu'une connexion est perdue ou fermée." -#: library/asyncio-llapi-index.rst:421 +#: library/asyncio-llapi-index.rst:425 msgid "``callback`` :meth:`pause_writing() `" msgstr "" -#: library/asyncio-llapi-index.rst:422 +#: library/asyncio-llapi-index.rst:426 msgid "Called when the transport's buffer goes over the high water mark." msgstr "" -#: library/asyncio-llapi-index.rst:424 +#: library/asyncio-llapi-index.rst:428 msgid "``callback`` :meth:`resume_writing() `" msgstr "" -#: library/asyncio-llapi-index.rst:425 +#: library/asyncio-llapi-index.rst:429 msgid "Called when the transport's buffer drains below the low water mark." msgstr "" -#: library/asyncio-llapi-index.rst:428 +#: library/asyncio-llapi-index.rst:432 msgid "Streaming Protocols (TCP, Unix Sockets, Pipes)" msgstr "" -#: library/asyncio-llapi-index.rst:433 +#: library/asyncio-llapi-index.rst:437 msgid "``callback`` :meth:`data_received() `" msgstr "" -#: library/asyncio-llapi-index.rst:434 +#: library/asyncio-llapi-index.rst:438 msgid "Called when some data is received." msgstr "" -#: library/asyncio-llapi-index.rst:436 +#: library/asyncio-llapi-index.rst:440 msgid "``callback`` :meth:`eof_received() `" msgstr "" -#: library/asyncio-llapi-index.rst:437 library/asyncio-llapi-index.rst:452 +#: library/asyncio-llapi-index.rst:441 library/asyncio-llapi-index.rst:456 msgid "Called when an EOF is received." msgstr "" -#: library/asyncio-llapi-index.rst:440 +#: library/asyncio-llapi-index.rst:444 msgid "Buffered Streaming Protocols" msgstr "" -#: library/asyncio-llapi-index.rst:445 +#: library/asyncio-llapi-index.rst:449 msgid "``callback`` :meth:`get_buffer() `" msgstr "" -#: library/asyncio-llapi-index.rst:446 +#: library/asyncio-llapi-index.rst:450 msgid "Called to allocate a new receive buffer." msgstr "" -#: library/asyncio-llapi-index.rst:448 +#: library/asyncio-llapi-index.rst:452 msgid "``callback`` :meth:`buffer_updated() `" msgstr "" -#: library/asyncio-llapi-index.rst:449 +#: library/asyncio-llapi-index.rst:453 msgid "Called when the buffer was updated with the received data." msgstr "" -#: library/asyncio-llapi-index.rst:451 +#: library/asyncio-llapi-index.rst:455 msgid "``callback`` :meth:`eof_received() `" msgstr "" -#: library/asyncio-llapi-index.rst:455 +#: library/asyncio-llapi-index.rst:459 msgid "Datagram Protocols" msgstr "Protocoles non-connectés" -#: library/asyncio-llapi-index.rst:460 +#: library/asyncio-llapi-index.rst:464 msgid "" "``callback`` :meth:`datagram_received() `" msgstr "" -#: library/asyncio-llapi-index.rst:462 +#: library/asyncio-llapi-index.rst:466 msgid "Called when a datagram is received." msgstr "" -#: library/asyncio-llapi-index.rst:464 +#: library/asyncio-llapi-index.rst:468 msgid "``callback`` :meth:`error_received() `" msgstr "" -#: library/asyncio-llapi-index.rst:465 +#: library/asyncio-llapi-index.rst:469 msgid "" "Called when a previous send or receive operation raises an :class:`OSError`." msgstr "" -#: library/asyncio-llapi-index.rst:469 +#: library/asyncio-llapi-index.rst:473 msgid "Subprocess Protocols" msgstr "Protocoles liés aux sous-processus" -#: library/asyncio-llapi-index.rst:474 +#: library/asyncio-llapi-index.rst:478 msgid "" "``callback`` :meth:`pipe_data_received() `" msgstr "" -#: library/asyncio-llapi-index.rst:476 +#: library/asyncio-llapi-index.rst:480 #, fuzzy msgid "" "Called when the child process writes data into its *stdout* or *stderr* pipe." @@ -924,63 +935,63 @@ msgstr "" "Appelé lorsqu'un processus enfant écrit sur sa sortie d'erreur ou sa sortie " "standard." -#: library/asyncio-llapi-index.rst:479 +#: library/asyncio-llapi-index.rst:483 msgid "" "``callback`` :meth:`pipe_connection_lost() `" msgstr "" -#: library/asyncio-llapi-index.rst:481 +#: library/asyncio-llapi-index.rst:485 msgid "" "Called when one of the pipes communicating with the child process is closed." msgstr "" "Appelé lorsqu'une des *pipe*\\ s de communication avec un sous-processus est " "fermée." -#: library/asyncio-llapi-index.rst:484 +#: library/asyncio-llapi-index.rst:488 msgid "" "``callback`` :meth:`process_exited() `" msgstr "" -#: library/asyncio-llapi-index.rst:486 +#: library/asyncio-llapi-index.rst:490 msgid "Called when the child process has exited." msgstr "Appelé lorsqu'un processus enfant se termine." -#: library/asyncio-llapi-index.rst:490 +#: library/asyncio-llapi-index.rst:494 msgid "Event Loop Policies" msgstr "" -#: library/asyncio-llapi-index.rst:492 +#: library/asyncio-llapi-index.rst:496 msgid "" "Policies is a low-level mechanism to alter the behavior of functions like :" "func:`asyncio.get_event_loop`. See also the main :ref:`policies section " "` for more details." msgstr "" -#: library/asyncio-llapi-index.rst:498 +#: library/asyncio-llapi-index.rst:502 msgid "Accessing Policies" msgstr "" -#: library/asyncio-llapi-index.rst:503 +#: library/asyncio-llapi-index.rst:507 msgid ":meth:`asyncio.get_event_loop_policy`" msgstr ":meth:`asyncio.get_event_loop_policy`" -#: library/asyncio-llapi-index.rst:504 +#: library/asyncio-llapi-index.rst:508 msgid "Return the current process-wide policy." msgstr "Renvoie la stratégie actuelle à l'échelle du processus." -#: library/asyncio-llapi-index.rst:506 +#: library/asyncio-llapi-index.rst:510 msgid ":meth:`asyncio.set_event_loop_policy`" msgstr ":meth:`asyncio.set_event_loop_policy`" -#: library/asyncio-llapi-index.rst:507 +#: library/asyncio-llapi-index.rst:511 msgid "Set a new process-wide policy." msgstr "" -#: library/asyncio-llapi-index.rst:509 +#: library/asyncio-llapi-index.rst:513 msgid ":class:`AbstractEventLoopPolicy`" msgstr ":class:`AbstractEventLoopPolicy`" -#: library/asyncio-llapi-index.rst:510 +#: library/asyncio-llapi-index.rst:514 msgid "Base class for policy objects." msgstr "" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 2d380dadc9..d850f62723 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-17 16:05+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-11-17 01:26+0100\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -21,35 +21,36 @@ msgstr "Stratégies" #: library/asyncio-policy.rst:10 msgid "" -"An event loop policy is a global per-process object that controls the " -"management of the event loop. Each event loop has a default policy, which " -"can be changed and customized using the policy API." +"An event loop policy is a global object used to get and set the current :ref:" +"`event loop `, as well as create new event loops. The " +"default policy can be :ref:`replaced ` with :ref:" +"`built-in alternatives ` to use different event loop " +"implementations, or substituted by a :ref:`custom policy ` that can override these behaviors." msgstr "" -"Une stratégie de boucle d'événements est un objet global, pour chaque " -"processus, qui contrôle la gestion de la boucle d'événement. Chaque boucle " -"d'événement a une stratégie par défaut, qui peut être modifiée et " -"personnalisée à l'aide de l'API de la stratégie." -#: library/asyncio-policy.rst:14 +#: library/asyncio-policy.rst:19 +#, fuzzy msgid "" -"A policy defines the notion of *context* and manages a separate event loop " -"per context. The default policy defines *context* to be the current thread." +"The :ref:`policy object ` gets and sets a separate " +"event loop per *context*. This is per-thread by default, though custom " +"policies could define *context* differently." msgstr "" "Une stratégie définit la notion de *contexte* et gère une boucle d'événement " "distincte par contexte. La stratégie par défaut définit le *contexte* comme " "étant le fil d'exécution actuel." -#: library/asyncio-policy.rst:18 +#: library/asyncio-policy.rst:24 +#, fuzzy msgid "" -"By using a custom event loop policy, the behavior of :func:" -"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop` " -"functions can be customized." +"Custom event loop policies can control the behavior of :func:" +"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`." msgstr "" "En utilisant une stratégie de boucle d'événement personnalisée, le " "comportement des fonctions :func:`get_event_loop`, :func:`set_event_loop` " "et :func:`new_event_loop` peut être personnalisé." -#: library/asyncio-policy.rst:22 +#: library/asyncio-policy.rst:27 msgid "" "Policy objects should implement the APIs defined in the :class:" "`AbstractEventLoopPolicy` abstract base class." @@ -57,11 +58,11 @@ msgstr "" "Les objets de stratégie doivent implémenter les API définies dans la classe " "de base abstraite :class:`AbstractEventLoopPolicy`." -#: library/asyncio-policy.rst:27 +#: library/asyncio-policy.rst:34 msgid "Getting and Setting the Policy" msgstr "Obtenir et définir la stratégie" -#: library/asyncio-policy.rst:29 +#: library/asyncio-policy.rst:36 msgid "" "The following functions can be used to get and set the policy for the " "current process:" @@ -69,39 +70,39 @@ msgstr "" "Les fonctions suivantes peuvent être utilisées pour obtenir et définir la " "stratégie du processus en cours :" -#: library/asyncio-policy.rst:34 +#: library/asyncio-policy.rst:41 msgid "Return the current process-wide policy." msgstr "Renvoie la stratégie actuelle à l'échelle du processus." -#: library/asyncio-policy.rst:38 +#: library/asyncio-policy.rst:45 msgid "Set the current process-wide policy to *policy*." msgstr "" "Définit la stratégie actuelle sur l'ensemble du processus sur *policy*." -#: library/asyncio-policy.rst:40 +#: library/asyncio-policy.rst:47 msgid "If *policy* is set to ``None``, the default policy is restored." msgstr "" "Si *policy* est définie sur ``None``, la stratégie par défaut est restaurée." -#: library/asyncio-policy.rst:44 +#: library/asyncio-policy.rst:53 msgid "Policy Objects" msgstr "Sujets de stratégie" -#: library/asyncio-policy.rst:46 +#: library/asyncio-policy.rst:55 msgid "The abstract event loop policy base class is defined as follows:" msgstr "" "La classe de base abstraite de la stratégie de boucle d'événements est " "définie comme suit:" -#: library/asyncio-policy.rst:50 +#: library/asyncio-policy.rst:59 msgid "An abstract base class for asyncio policies." msgstr "Une classe de base abstraite pour les stratégies *asyncio*." -#: library/asyncio-policy.rst:54 +#: library/asyncio-policy.rst:63 msgid "Get the event loop for the current context." msgstr "Récupère la boucle d'évènements pour le contexte actuel." -#: library/asyncio-policy.rst:56 +#: library/asyncio-policy.rst:65 msgid "" "Return an event loop object implementing the :class:`AbstractEventLoop` " "interface." @@ -109,23 +110,23 @@ msgstr "" "Renvoie un objet de boucle d'événements en implémentant l'interface :class:" "`AbstractEventLoop`." -#: library/asyncio-policy.rst:71 +#: library/asyncio-policy.rst:80 msgid "This method should never return ``None``." msgstr "Cette méthode ne devrait jamais renvoyer ``None``." -#: library/asyncio-policy.rst:65 +#: library/asyncio-policy.rst:74 msgid "Set the event loop for the current context to *loop*." msgstr "Définit la boucle d'événements du contexte actuel sur *loop*." -#: library/asyncio-policy.rst:69 +#: library/asyncio-policy.rst:78 msgid "Create and return a new event loop object." msgstr "Crée et renvoie un nouvel objet de boucle d'événements." -#: library/asyncio-policy.rst:75 +#: library/asyncio-policy.rst:84 msgid "Get a child process watcher object." msgstr "Récupère un objet observateur du processus enfant." -#: library/asyncio-policy.rst:77 +#: library/asyncio-policy.rst:86 msgid "" "Return a watcher object implementing the :class:`AbstractChildWatcher` " "interface." @@ -133,19 +134,19 @@ msgstr "" "Renvoie un objet observateur implémentant l'interface :class:" "`AbstractChildWatcher`." -#: library/asyncio-policy.rst:86 +#: library/asyncio-policy.rst:95 msgid "This function is Unix specific." msgstr "Cette fonction est spécifique à Unix." -#: library/asyncio-policy.rst:84 +#: library/asyncio-policy.rst:93 msgid "Set the current child process watcher to *watcher*." msgstr "Définit l'observateur du processus enfant actuel à *watcher*." -#: library/asyncio-policy.rst:89 +#: library/asyncio-policy.rst:100 msgid "asyncio ships with the following built-in policies:" msgstr "*asyncio* est livré avec les stratégies intégrées suivantes :" -#: library/asyncio-policy.rst:94 +#: library/asyncio-policy.rst:105 msgid "" "The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" "class:`ProactorEventLoop` on Windows." @@ -153,7 +154,7 @@ msgstr "" "La stratégie *asyncio* par défaut. Utilise :class:`SelectorEventLoop` sur " "les plates-formes Unix et :class:`ProactorEventLoop` sur Windows." -#: library/asyncio-policy.rst:97 +#: library/asyncio-policy.rst:108 msgid "" "There is no need to install the default policy manually. asyncio is " "configured to use the default policy automatically." @@ -162,11 +163,11 @@ msgstr "" "*asyncio* est configuré pour utiliser automatiquement la stratégie par " "défaut." -#: library/asyncio-policy.rst:102 +#: library/asyncio-policy.rst:113 msgid "On Windows, :class:`ProactorEventLoop` is now used by default." msgstr "" -#: library/asyncio-policy.rst:107 +#: library/asyncio-policy.rst:118 msgid "" "An alternative event loop policy that uses the :class:`SelectorEventLoop` " "event loop implementation." @@ -174,11 +175,11 @@ msgstr "" "Stratégie de boucle d'événements alternative utilisant l'implémentation de " "la boucle d'événements :class:`ProactorEventLoop`." -#: library/asyncio-policy.rst:118 +#: library/asyncio-policy.rst:129 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/asyncio-policy.rst:115 +#: library/asyncio-policy.rst:126 #, fuzzy msgid "" "An alternative event loop policy that uses the :class:`ProactorEventLoop` " @@ -187,11 +188,11 @@ msgstr "" "Stratégie de boucle d'événements alternative utilisant l'implémentation de " "la boucle d'événements :class:`ProactorEventLoop`." -#: library/asyncio-policy.rst:123 +#: library/asyncio-policy.rst:135 msgid "Process Watchers" msgstr "Observateurs de processus" -#: library/asyncio-policy.rst:125 +#: library/asyncio-policy.rst:137 msgid "" "A process watcher allows customization of how an event loop monitors child " "processes on Unix. Specifically, the event loop needs to know when a child " @@ -202,7 +203,7 @@ msgstr "" "précisément, la boucle d'événements a besoin de savoir quand un processus " "enfant s'est terminé." -#: library/asyncio-policy.rst:129 +#: library/asyncio-policy.rst:141 msgid "" "In asyncio, child processes are created with :func:`create_subprocess_exec` " "and :meth:`loop.subprocess_exec` functions." @@ -210,7 +211,7 @@ msgstr "" "Dans *asyncio*, les processus enfants sont créés avec les fonctions :func:" "`create_subprocess_exec` et :meth:`loop.subprocess_exec`." -#: library/asyncio-policy.rst:133 +#: library/asyncio-policy.rst:145 #, fuzzy msgid "" "asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " @@ -224,7 +225,7 @@ msgstr "" "implémentations différentes : :class:`SafeChildWatcher` (configurée pour " "être utilisé par défaut) et :class:`FastChildWatcher`." -#: library/asyncio-policy.rst:139 +#: library/asyncio-policy.rst:151 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." @@ -232,7 +233,7 @@ msgstr "" "Voir aussi la section :ref:`sous-processus et fils d'exécution `." -#: library/asyncio-policy.rst:142 +#: library/asyncio-policy.rst:154 msgid "" "The following two functions can be used to customize the child process " "watcher implementation used by the asyncio event loop:" @@ -241,11 +242,11 @@ msgstr "" "l'implémentation de l'observateur de processus enfant utilisé par la boucle " "d'événements *asyncio* :" -#: library/asyncio-policy.rst:147 +#: library/asyncio-policy.rst:159 msgid "Return the current child watcher for the current policy." msgstr "Renvoie l'observateur enfant actuel pour la stratégie actuelle." -#: library/asyncio-policy.rst:151 +#: library/asyncio-policy.rst:163 msgid "" "Set the current child watcher to *watcher* for the current policy. " "*watcher* must implement methods defined in the :class:" @@ -255,7 +256,7 @@ msgstr "" "*watcher* doit implémenter les méthodes définies dans la classe de base :" "class:`AbstractChildWatcher`." -#: library/asyncio-policy.rst:156 +#: library/asyncio-policy.rst:168 msgid "" "Third-party event loops implementations might not support custom child " "watchers. For such event loops, using :func:`set_child_watcher` might be " @@ -266,11 +267,11 @@ msgstr "" "d'événements, utiliser :func:`set_child_watcher` pourrait être interdit ou " "n'avoir aucun effet." -#: library/asyncio-policy.rst:164 +#: library/asyncio-policy.rst:176 msgid "Register a new child handler." msgstr "Enregistre un nouveau gestionnaire." -#: library/asyncio-policy.rst:166 +#: library/asyncio-policy.rst:178 msgid "" "Arrange for ``callback(pid, returncode, *args)`` to be called when a process " "with PID equal to *pid* terminates. Specifying another callback for the " @@ -280,17 +281,17 @@ msgstr "" "processus dont le PID est égal à *pid* se termine. La spécification d'un " "autre rappel pour le même processus remplace le gestionnaire précédent." -#: library/asyncio-policy.rst:171 +#: library/asyncio-policy.rst:183 msgid "The *callback* callable must be thread-safe." msgstr "" "L'appelable *callback* doit être compatible avec les programmes à fils " "d'exécution multiples." -#: library/asyncio-policy.rst:175 +#: library/asyncio-policy.rst:187 msgid "Removes the handler for process with PID equal to *pid*." msgstr "Supprime le gestionnaire de processus avec un PID égal à *pid*." -#: library/asyncio-policy.rst:177 +#: library/asyncio-policy.rst:189 msgid "" "The function returns ``True`` if the handler was successfully removed, " "``False`` if there was nothing to remove." @@ -298,11 +299,11 @@ msgstr "" "La fonction renvoie ``True`` si le gestionnaire a été supprimé avec succès, " "``False`` s'il n'y a rien à supprimer." -#: library/asyncio-policy.rst:182 +#: library/asyncio-policy.rst:194 msgid "Attach the watcher to an event loop." msgstr "Attache l'observateur à une boucle d'événement." -#: library/asyncio-policy.rst:184 +#: library/asyncio-policy.rst:196 msgid "" "If the watcher was previously attached to an event loop, then it is first " "detached before attaching to the new loop." @@ -310,25 +311,25 @@ msgstr "" "Si l'observateur était précédemment attaché à une boucle d'événements, il " "est d'abord détaché avant d'être rattaché à la nouvelle boucle." -#: library/asyncio-policy.rst:187 +#: library/asyncio-policy.rst:199 msgid "Note: loop may be ``None``." msgstr "Remarque : la boucle peut être ``None``." -#: library/asyncio-policy.rst:191 +#: library/asyncio-policy.rst:203 msgid "Return ``True`` if the watcher is ready to use." msgstr "" -#: library/asyncio-policy.rst:193 +#: library/asyncio-policy.rst:205 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." msgstr "" -#: library/asyncio-policy.rst:200 +#: library/asyncio-policy.rst:212 msgid "Close the watcher." msgstr "Ferme l'observateur." -#: library/asyncio-policy.rst:202 +#: library/asyncio-policy.rst:214 msgid "" "This method has to be called to ensure that underlying resources are cleaned-" "up." @@ -336,7 +337,7 @@ msgstr "" "Cette méthode doit être appelée pour s'assurer que les ressources sous-" "jacentes sont nettoyées." -#: library/asyncio-policy.rst:207 +#: library/asyncio-policy.rst:219 #, fuzzy msgid "" "This implementation starts a new waiting thread for every subprocess spawn." @@ -345,7 +346,7 @@ msgstr "" "générer des processus en interrogeant chaque processus explicitement par un " "signal :py:data:`SIGCHLD`." -#: library/asyncio-policy.rst:209 +#: library/asyncio-policy.rst:221 #, fuzzy msgid "" "It works reliably even when the asyncio event loop is run in a non-main OS " @@ -355,7 +356,7 @@ msgstr "" "de la manipulation d'un grand nombre de processus (*O(n)* à chaque fois que " "un :py:data:`SIGCHLD` est reçu)." -#: library/asyncio-policy.rst:211 +#: library/asyncio-policy.rst:223 #, fuzzy msgid "" "There is no noticeable overhead when handling a big number of children " @@ -365,50 +366,50 @@ msgstr "" "Il n'y a pas de surcharge visible lors de la manipulation d'un grand nombre " "d'enfants (*O(1)* à chaque fois qu'un enfant se termine)." -#: library/asyncio-policy.rst:214 +#: library/asyncio-policy.rst:226 msgid "This watcher is used by default." msgstr "" -#: library/asyncio-policy.rst:220 +#: library/asyncio-policy.rst:232 msgid "" "This implementation registers a :py:data:`SIGCHLD` signal handler on " "instantiation. That can break third-party code that installs a custom " "handler for :py:data:`SIGCHLD` signal." msgstr "" -#: library/asyncio-policy.rst:242 +#: library/asyncio-policy.rst:254 msgid "" "The watcher avoids disrupting other code spawning processes by polling every " "process explicitly on a :py:data:`SIGCHLD` signal." msgstr "" -#: library/asyncio-policy.rst:227 +#: library/asyncio-policy.rst:239 msgid "" "There is no limitation for running subprocesses from different threads once " "the watcher is installed." msgstr "" -#: library/asyncio-policy.rst:230 +#: library/asyncio-policy.rst:242 msgid "" "The solution is safe but it has a significant overhead when handling a big " "number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." msgstr "" -#: library/asyncio-policy.rst:238 +#: library/asyncio-policy.rst:250 msgid "" "This implementation uses active event loop from the main thread to handle :" "py:data:`SIGCHLD` signal. If the main thread has no running event loop " "another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." msgstr "" -#: library/asyncio-policy.rst:245 +#: library/asyncio-policy.rst:257 msgid "" "This solution is as safe as :class:`MultiLoopChildWatcher` and has the same " "*O(N)* complexity but requires a running event loop in the main thread to " "work." msgstr "" -#: library/asyncio-policy.rst:250 +#: library/asyncio-policy.rst:262 msgid "" "This implementation reaps every terminated processes by calling ``os." "waitpid(-1)`` directly, possibly breaking other code spawning processes and " @@ -418,7 +419,7 @@ msgstr "" "directement ``os.waitpid(-1)``, cassant éventuellement un autre code qui " "génère des processus et attend leur fin." -#: library/asyncio-policy.rst:254 +#: library/asyncio-policy.rst:266 msgid "" "There is no noticeable overhead when handling a big number of children " "(*O(1)* each time a child terminates)." @@ -426,13 +427,13 @@ msgstr "" "Il n'y a pas de surcharge visible lors de la manipulation d'un grand nombre " "d'enfants (*O(1)* à chaque fois qu'un enfant se termine)." -#: library/asyncio-policy.rst:257 +#: library/asyncio-policy.rst:269 msgid "" "This solution requires a running event loop in the main thread to work, as :" "class:`SafeChildWatcher`." msgstr "" -#: library/asyncio-policy.rst:262 +#: library/asyncio-policy.rst:274 msgid "" "This implementation polls process file descriptors (pidfds) to await child " "process termination. In some respects, :class:`PidfdChildWatcher` is a " @@ -443,11 +444,11 @@ msgid "" "only work on recent (5.3+) kernels." msgstr "" -#: library/asyncio-policy.rst:274 +#: library/asyncio-policy.rst:288 msgid "Custom Policies" msgstr "Stratégies personnalisées" -#: library/asyncio-policy.rst:276 +#: library/asyncio-policy.rst:290 msgid "" "To implement a new event loop policy, it is recommended to subclass :class:" "`DefaultEventLoopPolicy` and override the methods for which custom behavior " @@ -457,3 +458,13 @@ msgstr "" "recommandé de sous-classer :class:`DefaultEventLoopPolicy` et de " "réimplémenter les méthodes pour lesquelles un comportement personnalisé est " "souhaité, par exemple ::" + +#~ msgid "" +#~ "An event loop policy is a global per-process object that controls the " +#~ "management of the event loop. Each event loop has a default policy, which " +#~ "can be changed and customized using the policy API." +#~ msgstr "" +#~ "Une stratégie de boucle d'événements est un objet global, pour chaque " +#~ "processus, qui contrôle la gestion de la boucle d'événement. Chaque " +#~ "boucle d'événement a une stratégie par défaut, qui peut être modifiée et " +#~ "personnalisée à l'aide de l'API de la stratégie." diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index fed7d71a98..e6f1766df6 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-06-18 22:29+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -749,7 +749,7 @@ msgstr "" #: library/asyncio-protocol.rst:555 msgid "" "However, :meth:`protocol.eof_received() ` is called " -"at most once. Once `eof_received()` is called, ``data_received()`` is not " +"at most once. Once ``eof_received()`` is called, ``data_received()`` is not " "called anymore." msgstr "" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 46af2fc621..8100073c41 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-09-06 13:48+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -60,7 +60,7 @@ msgid "" "`StreamReader` and :class:`StreamWriter` classes." msgstr "" -#: library/asyncio-stream.rst:99 +#: library/asyncio-stream.rst:105 msgid "" "*limit* determines the buffer size limit used by the returned :class:" "`StreamReader` instance. By default the *limit* is set to 64 KiB." @@ -72,23 +72,30 @@ msgid "" "create_connection`." msgstr "" -#: library/asyncio-stream.rst:70 +#: library/asyncio-stream.rst:140 +msgid "" +"The *sock* argument transfers ownership of the socket to the :class:" +"`StreamWriter` created. To close the socket, call its :meth:`~asyncio." +"StreamWriter.close` method." +msgstr "" + +#: library/asyncio-stream.rst:76 msgid "Added the *ssl_handshake_timeout* parameter." msgstr "" -#: library/asyncio-stream.rst:73 +#: library/asyncio-stream.rst:79 msgid "Added *happy_eyeballs_delay* and *interleave* parameters." msgstr "" -#: library/asyncio-stream.rst:109 library/asyncio-stream.rst:152 +#: library/asyncio-stream.rst:121 library/asyncio-stream.rst:176 msgid "Removed the *loop* parameter." msgstr "" -#: library/asyncio-stream.rst:88 +#: library/asyncio-stream.rst:94 msgid "Start a socket server." msgstr "" -#: library/asyncio-stream.rst:90 +#: library/asyncio-stream.rst:96 msgid "" "The *client_connected_cb* callback is called whenever a new client " "connection is established. It receives a ``(reader, writer)`` pair as two " @@ -96,141 +103,147 @@ msgid "" "classes." msgstr "" -#: library/asyncio-stream.rst:95 +#: library/asyncio-stream.rst:101 msgid "" "*client_connected_cb* can be a plain callable or a :ref:`coroutine function " "`; if it is a coroutine function, it will be automatically " "scheduled as a :class:`Task`." msgstr "" -#: library/asyncio-stream.rst:103 +#: library/asyncio-stream.rst:109 msgid "" "The rest of the arguments are passed directly to :meth:`loop.create_server`." msgstr "" -#: library/asyncio-stream.rst:106 +#: library/asyncio-stream.rst:166 +msgid "" +"The *sock* argument transfers ownership of the socket to the server created. " +"To close the socket, call the server's :meth:`~asyncio.Server.close` method." +msgstr "" + +#: library/asyncio-stream.rst:118 msgid "Added the *ssl_handshake_timeout* and *start_serving* parameters." msgstr "" -#: library/asyncio-stream.rst:114 +#: library/asyncio-stream.rst:126 msgid "Unix Sockets" msgstr "" -#: library/asyncio-stream.rst:119 +#: library/asyncio-stream.rst:131 msgid "" "Establish a Unix socket connection and return a pair of ``(reader, writer)``." msgstr "" -#: library/asyncio-stream.rst:122 +#: library/asyncio-stream.rst:134 msgid "Similar to :func:`open_connection` but operates on Unix sockets." msgstr "" -#: library/asyncio-stream.rst:124 +#: library/asyncio-stream.rst:136 msgid "See also the documentation of :meth:`loop.create_unix_connection`." msgstr "" -#: library/asyncio-stream.rst:147 +#: library/asyncio-stream.rst:171 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." -#: library/asyncio-stream.rst:128 +#: library/asyncio-stream.rst:146 msgid "" "Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " "a :term:`path-like object`" msgstr "" -#: library/asyncio-stream.rst:140 +#: library/asyncio-stream.rst:158 msgid "Start a Unix socket server." msgstr "" -#: library/asyncio-stream.rst:142 +#: library/asyncio-stream.rst:160 msgid "Similar to :func:`start_server` but works with Unix sockets." msgstr "" -#: library/asyncio-stream.rst:144 +#: library/asyncio-stream.rst:162 msgid "See also the documentation of :meth:`loop.create_unix_server`." msgstr "" -#: library/asyncio-stream.rst:148 +#: library/asyncio-stream.rst:172 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :term:`path-like object`." msgstr "" -#: library/asyncio-stream.rst:157 +#: library/asyncio-stream.rst:181 msgid "StreamReader" msgstr "StreamReader" -#: library/asyncio-stream.rst:161 +#: library/asyncio-stream.rst:185 msgid "" "Represents a reader object that provides APIs to read data from the IO " "stream." msgstr "" -#: library/asyncio-stream.rst:164 +#: library/asyncio-stream.rst:188 msgid "" "It is not recommended to instantiate *StreamReader* objects directly; use :" "func:`open_connection` and :func:`start_server` instead." msgstr "" -#: library/asyncio-stream.rst:170 +#: library/asyncio-stream.rst:194 msgid "" "Read up to *n* bytes. If *n* is not provided, or set to ``-1``, read until " "EOF and return all read bytes." msgstr "" -#: library/asyncio-stream.rst:173 +#: library/asyncio-stream.rst:197 msgid "" "If EOF was received and the internal buffer is empty, return an empty " "``bytes`` object." msgstr "" -#: library/asyncio-stream.rst:178 +#: library/asyncio-stream.rst:202 msgid "" "Read one line, where \"line\" is a sequence of bytes ending with ``\\n``." msgstr "" -#: library/asyncio-stream.rst:181 +#: library/asyncio-stream.rst:205 msgid "" "If EOF is received and ``\\n`` was not found, the method returns partially " "read data." msgstr "" -#: library/asyncio-stream.rst:184 +#: library/asyncio-stream.rst:208 msgid "" "If EOF is received and the internal buffer is empty, return an empty " "``bytes`` object." msgstr "" -#: library/asyncio-stream.rst:189 +#: library/asyncio-stream.rst:213 msgid "Read exactly *n* bytes." msgstr "" -#: library/asyncio-stream.rst:191 +#: library/asyncio-stream.rst:215 msgid "" "Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " "read. Use the :attr:`IncompleteReadError.partial` attribute to get the " "partially read data." msgstr "" -#: library/asyncio-stream.rst:197 +#: library/asyncio-stream.rst:221 msgid "Read data from the stream until *separator* is found." msgstr "" -#: library/asyncio-stream.rst:199 +#: library/asyncio-stream.rst:223 msgid "" "On success, the data and separator will be removed from the internal buffer " "(consumed). Returned data will include the separator at the end." msgstr "" -#: library/asyncio-stream.rst:203 +#: library/asyncio-stream.rst:227 msgid "" "If the amount of data read exceeds the configured stream limit, a :exc:" "`LimitOverrunError` exception is raised, and the data is left in the " "internal buffer and can be read again." msgstr "" -#: library/asyncio-stream.rst:207 +#: library/asyncio-stream.rst:231 msgid "" "If EOF is reached before the complete separator is found, an :exc:" "`IncompleteReadError` exception is raised, and the internal buffer is " @@ -238,77 +251,77 @@ msgid "" "portion of the separator." msgstr "" -#: library/asyncio-stream.rst:216 +#: library/asyncio-stream.rst:240 msgid "Return ``True`` if the buffer is empty and :meth:`feed_eof` was called." msgstr "" -#: library/asyncio-stream.rst:221 +#: library/asyncio-stream.rst:245 msgid "StreamWriter" msgstr "StreamWriter" -#: library/asyncio-stream.rst:225 +#: library/asyncio-stream.rst:249 msgid "" "Represents a writer object that provides APIs to write data to the IO stream." msgstr "" -#: library/asyncio-stream.rst:228 +#: library/asyncio-stream.rst:252 msgid "" "It is not recommended to instantiate *StreamWriter* objects directly; use :" "func:`open_connection` and :func:`start_server` instead." msgstr "" -#: library/asyncio-stream.rst:234 +#: library/asyncio-stream.rst:258 msgid "" "The method attempts to write the *data* to the underlying socket " "immediately. If that fails, the data is queued in an internal write buffer " "until it can be sent." msgstr "" -#: library/asyncio-stream.rst:250 +#: library/asyncio-stream.rst:274 msgid "The method should be used along with the ``drain()`` method::" msgstr "" -#: library/asyncio-stream.rst:245 +#: library/asyncio-stream.rst:269 msgid "" "The method writes a list (or any iterable) of bytes to the underlying socket " "immediately. If that fails, the data is queued in an internal write buffer " "until it can be sent." msgstr "" -#: library/asyncio-stream.rst:257 +#: library/asyncio-stream.rst:281 msgid "The method closes the stream and the underlying socket." msgstr "" -#: library/asyncio-stream.rst:259 +#: library/asyncio-stream.rst:283 msgid "The method should be used along with the ``wait_closed()`` method::" msgstr "" -#: library/asyncio-stream.rst:266 +#: library/asyncio-stream.rst:290 msgid "" "Return ``True`` if the underlying transport supports the :meth:`write_eof` " "method, ``False`` otherwise." msgstr "" -#: library/asyncio-stream.rst:271 +#: library/asyncio-stream.rst:295 msgid "" "Close the write end of the stream after the buffered write data is flushed." msgstr "" -#: library/asyncio-stream.rst:276 +#: library/asyncio-stream.rst:300 msgid "Return the underlying asyncio transport." msgstr "" -#: library/asyncio-stream.rst:280 +#: library/asyncio-stream.rst:304 msgid "" "Access optional transport information; see :meth:`BaseTransport." "get_extra_info` for details." msgstr "" -#: library/asyncio-stream.rst:285 +#: library/asyncio-stream.rst:309 msgid "Wait until it is appropriate to resume writing to the stream. Example::" msgstr "" -#: library/asyncio-stream.rst:291 +#: library/asyncio-stream.rst:315 msgid "" "This is a flow control method that interacts with the underlying IO write " "buffer. When the size of the buffer reaches the high watermark, *drain()* " @@ -317,90 +330,90 @@ msgid "" "`drain` returns immediately." msgstr "" -#: library/asyncio-stream.rst:300 +#: library/asyncio-stream.rst:324 msgid "" "Return ``True`` if the stream is closed or in the process of being closed." msgstr "" -#: library/asyncio-stream.rst:307 +#: library/asyncio-stream.rst:331 msgid "Wait until the stream is closed." msgstr "" -#: library/asyncio-stream.rst:309 +#: library/asyncio-stream.rst:333 msgid "" "Should be called after :meth:`close` to wait until the underlying connection " "is closed." msgstr "" -#: library/asyncio-stream.rst:316 +#: library/asyncio-stream.rst:340 msgid "Examples" msgstr "Exemples" -#: library/asyncio-stream.rst:321 +#: library/asyncio-stream.rst:345 msgid "TCP echo client using streams" msgstr "" -#: library/asyncio-stream.rst:323 +#: library/asyncio-stream.rst:347 msgid "TCP echo client using the :func:`asyncio.open_connection` function::" msgstr "" -#: library/asyncio-stream.rst:345 +#: library/asyncio-stream.rst:369 msgid "" "The :ref:`TCP echo client protocol " "` example uses the low-level :meth:" "`loop.create_connection` method." msgstr "" -#: library/asyncio-stream.rst:352 +#: library/asyncio-stream.rst:376 msgid "TCP echo server using streams" msgstr "" -#: library/asyncio-stream.rst:354 +#: library/asyncio-stream.rst:378 msgid "TCP echo server using the :func:`asyncio.start_server` function::" msgstr "" -#: library/asyncio-stream.rst:387 +#: library/asyncio-stream.rst:411 msgid "" "The :ref:`TCP echo server protocol " "` example uses the :meth:`loop." "create_server` method." msgstr "" -#: library/asyncio-stream.rst:392 +#: library/asyncio-stream.rst:416 msgid "Get HTTP headers" msgstr "Récupère les en-têtes HTTP" -#: library/asyncio-stream.rst:394 +#: library/asyncio-stream.rst:418 msgid "" "Simple example querying HTTP headers of the URL passed on the command line::" msgstr "" -#: library/asyncio-stream.rst:432 +#: library/asyncio-stream.rst:456 msgid "Usage::" msgstr "Utilisation ::" -#: library/asyncio-stream.rst:436 +#: library/asyncio-stream.rst:460 msgid "or with HTTPS::" msgstr "ou avec HTTPS ::" -#: library/asyncio-stream.rst:444 +#: library/asyncio-stream.rst:468 msgid "Register an open socket to wait for data using streams" msgstr "" -#: library/asyncio-stream.rst:446 +#: library/asyncio-stream.rst:470 msgid "" "Coroutine waiting until a socket receives data using the :func:" "`open_connection` function::" msgstr "" -#: library/asyncio-stream.rst:480 +#: library/asyncio-stream.rst:504 msgid "" "The :ref:`register an open socket to wait for data using a protocol " "` example uses a low-level protocol and " "the :meth:`loop.create_connection` method." msgstr "" -#: library/asyncio-stream.rst:484 +#: library/asyncio-stream.rst:508 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." diff --git a/library/asyncio-task.po b/library/asyncio-task.po index e34b7eee2f..54dde68de9 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-09-22 17:11+0200\n" "Last-Translator: Philippe GALVAN \n" "Language-Team: FRENCH \n" @@ -267,7 +267,7 @@ msgstr "" "fin. Elle doit être utilisée comme point d'entrée principal des programmes " "*asyncio* et ne doit être idéalement appelée qu'une seule fois." -#: library/asyncio-task.rst:357 library/asyncio-task.rst:626 +#: library/asyncio-task.rst:374 library/asyncio-task.rst:652 msgid "Example::" msgstr "Exemple ::" @@ -315,23 +315,26 @@ msgstr "" #: library/asyncio-task.rst:264 msgid "" "Save a reference to the result of this function, to avoid a task " -"disappearing mid execution." +"disappearing mid-execution. The event loop only keeps weak references to " +"tasks. A task that isn't referenced elsewhere may get garbage collected at " +"any time, even before it's done. For reliable \"fire-and-forget\" background " +"tasks, gather them in a collection::" msgstr "" -#: library/asyncio-task.rst:815 +#: library/asyncio-task.rst:841 #, fuzzy msgid "Added the *name* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-task.rst:274 +#: library/asyncio-task.rst:291 msgid "Sleeping" msgstr "Attente" -#: library/asyncio-task.rst:278 +#: library/asyncio-task.rst:295 msgid "Block for *delay* seconds." msgstr "Attend pendant *delay* secondes." -#: library/asyncio-task.rst:280 +#: library/asyncio-task.rst:297 msgid "" "If *result* is provided, it is returned to the caller when the coroutine " "completes." @@ -339,46 +342,46 @@ msgstr "" "Si *result* est spécifié, il est renvoyé à l'appelant quand la coroutine se " "termine." -#: library/asyncio-task.rst:283 +#: library/asyncio-task.rst:300 msgid "" "``sleep()`` always suspends the current task, allowing other tasks to run." msgstr "" "``sleep()`` suspend systématiquement la tâche courante, ce qui permet aux " "autres tâches de s'exécuter." -#: library/asyncio-task.rst:286 +#: library/asyncio-task.rst:303 msgid "" "Setting the delay to 0 provides an optimized path to allow other tasks to " "run. This can be used by long-running functions to avoid blocking the event " "loop for the full duration of the function call." msgstr "" -#: library/asyncio-task.rst:295 +#: library/asyncio-task.rst:312 msgid "" "The ``loop`` parameter. This function has been implicitly getting the " "current running loop since 3.7. See :ref:`What's New in 3.10's Removed " "section ` for more information." msgstr "" -#: library/asyncio-task.rst:298 +#: library/asyncio-task.rst:315 msgid "" "Example of coroutine displaying the current date every second for 5 seconds::" msgstr "" "Exemple d'une coroutine affichant la date toutes les secondes pendant 5 " "secondes ::" -#: library/asyncio-task.rst:352 library/asyncio-task.rst:451 -#: library/asyncio-task.rst:515 library/asyncio-task.rst:609 -#: library/asyncio-task.rst:632 +#: library/asyncio-task.rst:369 library/asyncio-task.rst:477 +#: library/asyncio-task.rst:541 library/asyncio-task.rst:635 +#: library/asyncio-task.rst:658 #, fuzzy msgid "Removed the *loop* parameter." msgstr "Le paramètre *loop*." -#: library/asyncio-task.rst:321 +#: library/asyncio-task.rst:338 msgid "Running Tasks Concurrently" msgstr "Exécution de tâches de manière concurrente" -#: library/asyncio-task.rst:325 +#: library/asyncio-task.rst:342 msgid "" "Run :ref:`awaitable objects ` in the *aws* sequence " "*concurrently*." @@ -386,7 +389,7 @@ msgstr "" "Exécute les objets :ref:`awaitable ` de la séquence " "*aws*, *de manière concurrente*." -#: library/asyncio-task.rst:328 +#: library/asyncio-task.rst:345 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task." @@ -394,7 +397,7 @@ msgstr "" "Si un *attendable* de *aws* est une coroutine, celui-ci est automatiquement " "planifié comme une tâche *Task*." -#: library/asyncio-task.rst:331 +#: library/asyncio-task.rst:348 msgid "" "If all awaitables are completed successfully, the result is an aggregate " "list of returned values. The order of result values corresponds to the " @@ -404,7 +407,7 @@ msgstr "" "des valeurs renvoyées. L'ordre de cette liste correspond à l'ordre des " "*awaitables* dans *aws*." -#: library/asyncio-task.rst:335 +#: library/asyncio-task.rst:352 msgid "" "If *return_exceptions* is ``False`` (default), the first raised exception is " "immediately propagated to the task that awaits on ``gather()``. Other " @@ -416,7 +419,7 @@ msgstr "" "``gather()``. Les autres *attendables* dans la séquence *aws* **ne sont pas " "annulés** et poursuivent leur exécution." -#: library/asyncio-task.rst:340 +#: library/asyncio-task.rst:357 msgid "" "If *return_exceptions* is ``True``, exceptions are treated the same as " "successful results, and aggregated in the result list." @@ -425,7 +428,7 @@ msgstr "" "même manière que les exécutions normales, et incluses dans la liste des " "résultats." -#: library/asyncio-task.rst:343 +#: library/asyncio-task.rst:360 msgid "" "If ``gather()`` is *cancelled*, all submitted awaitables (that have not " "completed yet) are also *cancelled*." @@ -433,7 +436,7 @@ msgstr "" "Si ``gather()`` est *annulé*, tous les *awaitables* en cours (ceux qui n'ont " "pas encore fini de s'exécuter) sont également *annulés*." -#: library/asyncio-task.rst:346 +#: library/asyncio-task.rst:363 msgid "" "If any Task or Future from the *aws* sequence is *cancelled*, it is treated " "as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " @@ -446,7 +449,7 @@ msgstr "" "l'annulation d'une tâche ou d'un futur entraîne l'annulation des autres " "tâches ou futurs." -#: library/asyncio-task.rst:395 +#: library/asyncio-task.rst:412 msgid "" "If *return_exceptions* is False, cancelling gather() after it has been " "marked done won't cancel any submitted awaitables. For instance, gather can " @@ -455,7 +458,7 @@ msgid "" "the awaitables) from gather won't cancel any other awaitables." msgstr "" -#: library/asyncio-task.rst:402 +#: library/asyncio-task.rst:419 msgid "" "If the *gather* itself is cancelled, the cancellation is propagated " "regardless of *return_exceptions*." @@ -463,18 +466,18 @@ msgstr "" "Si *gather* est lui-même annulé, l'annulation est propagée indépendamment de " "*return_exceptions*." -#: library/asyncio-task.rst:409 +#: library/asyncio-task.rst:426 msgid "" "Deprecation warning is emitted if no positional arguments are provided or " "not all positional arguments are Future-like objects and there is no running " "event loop." msgstr "" -#: library/asyncio-task.rst:416 +#: library/asyncio-task.rst:433 msgid "Shielding From Cancellation" msgstr "Protection contre l'annulation" -#: library/asyncio-task.rst:420 +#: library/asyncio-task.rst:437 msgid "" "Protect an :ref:`awaitable object ` from being :meth:" "`cancelled `." @@ -482,21 +485,21 @@ msgstr "" "Empêche qu'un objet :ref:`awaitable ` puisse être :meth:" "`annulé `." -#: library/asyncio-task.rst:467 +#: library/asyncio-task.rst:493 msgid "If *aw* is a coroutine it is automatically scheduled as a Task." msgstr "" "Si *aw* est une coroutine, elle est planifiée automatiquement comme une " "tâche." -#: library/asyncio-task.rst:425 +#: library/asyncio-task.rst:442 msgid "The statement::" msgstr "L'instruction ::" -#: library/asyncio-task.rst:429 +#: library/asyncio-task.rst:447 msgid "is equivalent to::" msgstr "est équivalente à ::" -#: library/asyncio-task.rst:433 +#: library/asyncio-task.rst:451 msgid "" "*except* that if the coroutine containing it is cancelled, the Task running " "in ``something()`` is not cancelled. From the point of view of " @@ -509,7 +512,7 @@ msgstr "" "``something()``, il n'y a pas eu d'annulation. Cependant, son appelant est " "bien annulé, donc l'expression *await* lève bien une :exc:`CancelledError`." -#: library/asyncio-task.rst:439 +#: library/asyncio-task.rst:457 msgid "" "If ``something()`` is cancelled by other means (i.e. from within itself) " "that would also cancel ``shield()``." @@ -517,7 +520,7 @@ msgstr "" "Si ``something()`` est annulée d'une autre façon (c.-à-d. depuis elle-même) " "ceci annule également ``shield()``." -#: library/asyncio-task.rst:442 +#: library/asyncio-task.rst:460 msgid "" "If it is desired to completely ignore cancellation (not recommended) the " "``shield()`` function should be combined with a try/except clause, as " @@ -527,17 +530,25 @@ msgstr "" "``shield()`` peut être combinée à une clause *try* / *except*, comme dans le " "code ci-dessous ::" -#: library/asyncio-task.rst:454 +#: library/asyncio-task.rst:472 +msgid "" +"Save a reference to tasks passed to this function, to avoid a task " +"disappearing mid-execution. The event loop only keeps weak references to " +"tasks. A task that isn't referenced elsewhere may get garbage collected at " +"any time, even before it's done." +msgstr "" + +#: library/asyncio-task.rst:480 msgid "" "Deprecation warning is emitted if *aw* is not Future-like object and there " "is no running event loop." msgstr "" -#: library/asyncio-task.rst:460 +#: library/asyncio-task.rst:486 msgid "Timeouts" msgstr "Délais d'attente" -#: library/asyncio-task.rst:464 +#: library/asyncio-task.rst:490 msgid "" "Wait for the *aw* :ref:`awaitable ` to complete with a " "timeout." @@ -545,7 +556,7 @@ msgstr "" "Attend la fin de l':ref:`awaitable ` *aw* avec délai " "d'attente." -#: library/asyncio-task.rst:469 +#: library/asyncio-task.rst:495 msgid "" "*timeout* can either be ``None`` or a float or int number of seconds to wait " "for. If *timeout* is ``None``, block until the future completes." @@ -554,7 +565,7 @@ msgstr "" "décimal) d'attente. Si *timeout* vaut ``None``, la fonction s'interrompt " "jusqu'à ce que le futur s'achève." -#: library/asyncio-task.rst:473 +#: library/asyncio-task.rst:499 msgid "" "If a timeout occurs, it cancels the task and raises :exc:`asyncio." "TimeoutError`." @@ -562,7 +573,7 @@ msgstr "" "Si le délai d'attente maximal est dépassé, la tâche est annulée et " "l'exception :exc:`asyncio.TimeoutError` est levée." -#: library/asyncio-task.rst:476 +#: library/asyncio-task.rst:502 msgid "" "To avoid the task :meth:`cancellation `, wrap it in :func:" "`shield`." @@ -570,7 +581,7 @@ msgstr "" "Pour empêcher :meth:`l'annulation ` de la tâche, il est " "nécessaire de l'encapsuler dans une fonction :func:`shield`." -#: library/asyncio-task.rst:479 +#: library/asyncio-task.rst:505 #, fuzzy msgid "" "The function will wait until the future is actually cancelled, so the total " @@ -580,11 +591,11 @@ msgstr "" "Cette fonction attend que le futur soit réellement annulé, donc le temps " "d'attente total peut être supérieur à *timeout*." -#: library/asyncio-task.rst:483 +#: library/asyncio-task.rst:509 msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si l'attente est annulée, le futur *aw* est également annulé." -#: library/asyncio-task.rst:510 +#: library/asyncio-task.rst:536 msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`asyncio.TimeoutError` immediately." @@ -593,11 +604,11 @@ msgstr "" "``wait_for`` attend que *aw* soit annulée. Auparavant, l'exception :exc:" "`asyncio.TimeoutError` était immédiatement levée." -#: library/asyncio-task.rst:520 +#: library/asyncio-task.rst:546 msgid "Waiting Primitives" msgstr "Primitives d'attente" -#: library/asyncio-task.rst:524 +#: library/asyncio-task.rst:550 #, fuzzy msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " @@ -607,19 +618,19 @@ msgstr "" "*aws* de manière concurrente, et s'interrompt jusqu'à ce que la condition " "décrite dans *return_when* soit vraie." -#: library/asyncio-task.rst:528 +#: library/asyncio-task.rst:554 msgid "The *aws* iterable must not be empty." msgstr "" -#: library/asyncio-task.rst:530 +#: library/asyncio-task.rst:556 msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." msgstr "Renvoie deux ensembles de *Tasks* / *Futures* : ``(done, pending)``." -#: library/asyncio-task.rst:532 +#: library/asyncio-task.rst:558 msgid "Usage::" msgstr "Utilisation ::" -#: library/asyncio-task.rst:536 +#: library/asyncio-task.rst:562 msgid "" "*timeout* (a float or int), if specified, can be used to control the maximum " "number of seconds to wait before returning." @@ -627,7 +638,7 @@ msgstr "" "*timeout* (entier ou décimal), si précisé, peut-être utilisé pour contrôler " "le nombre maximal de secondes d'attente avant de se terminer." -#: library/asyncio-task.rst:539 +#: library/asyncio-task.rst:565 msgid "" "Note that this function does not raise :exc:`asyncio.TimeoutError`. Futures " "or Tasks that aren't done when the timeout occurs are simply returned in the " @@ -637,7 +648,7 @@ msgstr "" "tâches qui ne sont pas finis quand le délai d'attente maximal est dépassé " "sont tout simplement renvoyés dans le second ensemble." -#: library/asyncio-task.rst:543 +#: library/asyncio-task.rst:569 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -645,28 +656,28 @@ msgstr "" "*return_when* indique quand la fonction doit se terminer. Il peut prendre " "les valeurs suivantes :" -#: library/asyncio-task.rst:549 +#: library/asyncio-task.rst:575 msgid "Constant" msgstr "Constante" -#: library/asyncio-task.rst:549 +#: library/asyncio-task.rst:575 msgid "Description" msgstr "Description" -#: library/asyncio-task.rst:551 +#: library/asyncio-task.rst:577 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: library/asyncio-task.rst:551 +#: library/asyncio-task.rst:577 msgid "The function will return when any future finishes or is cancelled." msgstr "" "La fonction se termine lorsque n'importe quel futur se termine ou est annulé." -#: library/asyncio-task.rst:554 +#: library/asyncio-task.rst:580 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: library/asyncio-task.rst:554 +#: library/asyncio-task.rst:580 msgid "" "The function will return when any future finishes by raising an exception. " "If no future raises an exception then it is equivalent to :const:" @@ -676,16 +687,16 @@ msgstr "" "exception. Si aucun *futur* ne lève d'exception, équivaut à :const:" "`ALL_COMPLETED`." -#: library/asyncio-task.rst:560 +#: library/asyncio-task.rst:586 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: library/asyncio-task.rst:560 +#: library/asyncio-task.rst:586 msgid "The function will return when all futures finish or are cancelled." msgstr "" "La fonction se termine lorsque les *futurs* sont tous finis ou annulés." -#: library/asyncio-task.rst:564 +#: library/asyncio-task.rst:590 msgid "" "Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " "when a timeout occurs." @@ -693,7 +704,7 @@ msgstr "" "À la différence de :func:`~asyncio.wait_for`, ``wait()`` n'annule pas les " "futurs quand le délai d'attente est dépassé." -#: library/asyncio-task.rst:569 +#: library/asyncio-task.rst:595 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task. Passing coroutines objects to ``wait()`` directly is deprecated as it " @@ -704,7 +715,7 @@ msgstr "" "``wait()`` est obsolète, car ceci conduisait :ref:`à un comportement portant " "à confusion `." -#: library/asyncio-task.rst:580 +#: library/asyncio-task.rst:606 msgid "" "``wait()`` schedules coroutines as Tasks automatically and later returns " "those implicitly created Task objects in ``(done, pending)`` sets. " @@ -714,15 +725,15 @@ msgstr "" "renvoie les objets *Task* ainsi créés dans les ensembles ``(done, " "pending)``. Le code suivant ne fonctionne donc pas comme voulu ::" -#: library/asyncio-task.rst:593 +#: library/asyncio-task.rst:619 msgid "Here is how the above snippet can be fixed::" msgstr "Voici comment corriger le morceau de code ci-dessus ::" -#: library/asyncio-task.rst:606 +#: library/asyncio-task.rst:632 msgid "Passing coroutine objects to ``wait()`` directly is deprecated." msgstr "Passer directement des objets coroutines à ``wait()`` est obsolète." -#: library/asyncio-task.rst:615 +#: library/asyncio-task.rst:641 #, fuzzy msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " @@ -735,7 +746,7 @@ msgstr "" "`Future`. Chaque objet *futur* renvoyé représente le résultat le plus récent " "de l'ensemble des *awaitables* restants." -#: library/asyncio-task.rst:620 +#: library/asyncio-task.rst:646 msgid "" "Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " "are done." @@ -743,21 +754,21 @@ msgstr "" "Lève une exception :exc:`asyncio.TimeoutError` si le délai d'attente est " "dépassé avant que tous les futurs ne soient achevés." -#: library/asyncio-task.rst:635 +#: library/asyncio-task.rst:661 msgid "" "Deprecation warning is emitted if not all awaitable objects in the *aws* " "iterable are Future-like objects and there is no running event loop." msgstr "" -#: library/asyncio-task.rst:641 +#: library/asyncio-task.rst:667 msgid "Running in Threads" msgstr "" -#: library/asyncio-task.rst:645 +#: library/asyncio-task.rst:671 msgid "Asynchronously run function *func* in a separate thread." msgstr "" -#: library/asyncio-task.rst:647 +#: library/asyncio-task.rst:673 msgid "" "Any \\*args and \\*\\*kwargs supplied for this function are directly passed " "to *func*. Also, the current :class:`contextvars.Context` is propagated, " @@ -765,46 +776,46 @@ msgid "" "separate thread." msgstr "" -#: library/asyncio-task.rst:652 +#: library/asyncio-task.rst:678 msgid "" "Return a coroutine that can be awaited to get the eventual result of *func*." msgstr "" -#: library/asyncio-task.rst:654 +#: library/asyncio-task.rst:680 msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " "were ran in the main thread. For example::" msgstr "" -#: library/asyncio-task.rst:684 +#: library/asyncio-task.rst:710 msgid "" -"Directly calling `blocking_io()` in any coroutine would block the event loop " -"for its duration, resulting in an additional 1 second of run time. Instead, " -"by using `asyncio.to_thread()`, we can run it in a separate thread without " -"blocking the event loop." +"Directly calling ``blocking_io()`` in any coroutine would block the event " +"loop for its duration, resulting in an additional 1 second of run time. " +"Instead, by using ``asyncio.to_thread()``, we can run it in a separate " +"thread without blocking the event loop." msgstr "" -#: library/asyncio-task.rst:691 +#: library/asyncio-task.rst:717 msgid "" -"Due to the :term:`GIL`, `asyncio.to_thread()` can typically only be used to " -"make IO-bound functions non-blocking. However, for extension modules that " +"Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " +"to make IO-bound functions non-blocking. However, for extension modules that " "release the GIL or alternative Python implementations that don't have one, " -"`asyncio.to_thread()` can also be used for CPU-bound functions." +"``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -#: library/asyncio-task.rst:700 +#: library/asyncio-task.rst:726 msgid "Scheduling From Other Threads" msgstr "Planification depuis d'autres fils d'exécution" -#: library/asyncio-task.rst:704 +#: library/asyncio-task.rst:730 msgid "Submit a coroutine to the given event loop. Thread-safe." msgstr "" "Enregistre une coroutine dans la boucle d'exécution actuelle. Cette " "opération est compatible avec les programmes à multiples fils d'exécution " "(*thread-safe*)." -#: library/asyncio-task.rst:706 +#: library/asyncio-task.rst:732 msgid "" "Return a :class:`concurrent.futures.Future` to wait for the result from " "another OS thread." @@ -812,7 +823,7 @@ msgstr "" "Renvoie un :class:`concurrent.futures.Future` pour attendre le résultat d'un " "autre fil d'exécution du système d'exploitation." -#: library/asyncio-task.rst:709 +#: library/asyncio-task.rst:735 msgid "" "This function is meant to be called from a different OS thread than the one " "where the event loop is running. Example::" @@ -820,7 +831,7 @@ msgstr "" "Cette fonction est faite pour être appelée par un fil d'exécution distinct " "de celui dans laquelle la boucle d'événement s'exécute. Exemple ::" -#: library/asyncio-task.rst:721 +#: library/asyncio-task.rst:747 msgid "" "If an exception is raised in the coroutine, the returned Future will be " "notified. It can also be used to cancel the task in the event loop::" @@ -829,7 +840,7 @@ msgstr "" "averti. Elle peut également être utilisée pour annuler la tâche de la boucle " "d'événement ::" -#: library/asyncio-task.rst:735 +#: library/asyncio-task.rst:761 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -837,7 +848,7 @@ msgstr "" "Voir la section :ref:`exécution concurrente et multi-fils d'exécution " "` de la documentation." -#: library/asyncio-task.rst:738 +#: library/asyncio-task.rst:764 msgid "" "Unlike other asyncio functions this function requires the *loop* argument to " "be passed explicitly." @@ -845,11 +856,11 @@ msgstr "" "À la différence des autres fonctions d'*asyncio*, cette fonction requiert " "que *loop* soit passé de manière explicite." -#: library/asyncio-task.rst:745 +#: library/asyncio-task.rst:771 msgid "Introspection" msgstr "Introspection" -#: library/asyncio-task.rst:750 +#: library/asyncio-task.rst:776 msgid "" "Return the currently running :class:`Task` instance, or ``None`` if no task " "is running." @@ -857,7 +868,7 @@ msgstr "" "Renvoie l'instance de la :class:`Task` en cours d'exécution, ou ``None`` " "s'il n'y a pas de tâche en cours." -#: library/asyncio-task.rst:753 +#: library/asyncio-task.rst:779 msgid "" "If *loop* is ``None`` :func:`get_running_loop` is used to get the current " "loop." @@ -865,13 +876,13 @@ msgstr "" "Si *loop* vaut ``None``, :func:`get_running_loop` est appelée pour récupérer " "la boucle en cours d'exécution." -#: library/asyncio-task.rst:761 +#: library/asyncio-task.rst:787 msgid "Return a set of not yet finished :class:`Task` objects run by the loop." msgstr "" "Renvoie l'ensemble des :class:`Task` non terminés en cours d'exécution dans " "la boucle." -#: library/asyncio-task.rst:764 +#: library/asyncio-task.rst:790 msgid "" "If *loop* is ``None``, :func:`get_running_loop` is used for getting current " "loop." @@ -879,11 +890,11 @@ msgstr "" "Si *loop* vaut ``None``, :func:`get_running_loop` est appelée pour récupérer " "la boucle en cours d'exécution." -#: library/asyncio-task.rst:771 +#: library/asyncio-task.rst:797 msgid "Task Object" msgstr "Objets *Task*" -#: library/asyncio-task.rst:775 +#: library/asyncio-task.rst:801 msgid "" "A :class:`Future-like ` object that runs a Python :ref:`coroutine " "`. Not thread-safe." @@ -892,7 +903,7 @@ msgstr "" "`coroutine ` Python. Cet objet n'est pas utilisable dans des " "programmes à fils d'exécution multiples." -#: library/asyncio-task.rst:778 +#: library/asyncio-task.rst:804 msgid "" "Tasks are used to run coroutines in event loops. If a coroutine awaits on a " "Future, the Task suspends the execution of the coroutine and waits for the " @@ -904,7 +915,7 @@ msgstr "" "attend la fin de ce *futur*. Quand celui-ci est terminé, l'exécution de la " "coroutine encapsulée reprend." -#: library/asyncio-task.rst:784 +#: library/asyncio-task.rst:810 msgid "" "Event loops use cooperative scheduling: an event loop runs one Task at a " "time. While a Task awaits for the completion of a Future, the event loop " @@ -915,7 +926,7 @@ msgstr "" "futur, la boucle d'événement exécute d'autres tâches, des fonctions de " "rappel, ou effectue des opérations d'entrées-sorties." -#: library/asyncio-task.rst:789 +#: library/asyncio-task.rst:815 msgid "" "Use the high-level :func:`asyncio.create_task` function to create Tasks, or " "the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " @@ -926,7 +937,7 @@ msgstr "" "créer des tâches. Il est déconseillé d'instancier manuellement des objets " "*Task*." -#: library/asyncio-task.rst:794 +#: library/asyncio-task.rst:820 msgid "" "To cancel a running Task use the :meth:`cancel` method. Calling it will " "cause the Task to throw a :exc:`CancelledError` exception into the wrapped " @@ -938,7 +949,7 @@ msgstr "" "`CancelledError` dans la coroutine encapsulée. Si la coroutine attendait un " "*futur* au moment de l'annulation, celui-ci est annulé." -#: library/asyncio-task.rst:799 +#: library/asyncio-task.rst:825 msgid "" ":meth:`cancelled` can be used to check if the Task was cancelled. The method " "returns ``True`` if the wrapped coroutine did not suppress the :exc:" @@ -948,7 +959,7 @@ msgstr "" "Elle renvoie ``True`` si la coroutine encapsulée n'a pas ignoré l'exception :" "exc:`CancelledError` et a bien été annulée." -#: library/asyncio-task.rst:804 +#: library/asyncio-task.rst:830 msgid "" ":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" "meth:`Future.set_result` and :meth:`Future.set_exception`." @@ -956,7 +967,7 @@ msgstr "" ":class:`asyncio.Task` hérite de :class:`Future`, de toute son API, à " "l'exception de :meth:`Future.set_result` et de :meth:`Future.set_exception`." -#: library/asyncio-task.rst:808 +#: library/asyncio-task.rst:834 msgid "" "Tasks support the :mod:`contextvars` module. When a Task is created it " "copies the current context and later runs its coroutine in the copied " @@ -966,21 +977,21 @@ msgstr "" "tâche effectue une copie du contexte actuel et exécutera ses coroutines dans " "cette copie." -#: library/asyncio-task.rst:812 +#: library/asyncio-task.rst:838 msgid "Added support for the :mod:`contextvars` module." msgstr "Ajout du support du module :mod:`contextvars`." -#: library/asyncio-task.rst:818 +#: library/asyncio-task.rst:844 msgid "" "Deprecation warning is emitted if *loop* is not specified and there is no " "running event loop." msgstr "" -#: library/asyncio-task.rst:824 +#: library/asyncio-task.rst:850 msgid "Request the Task to be cancelled." msgstr "Demande l'annulation d'une tâche." -#: library/asyncio-task.rst:826 +#: library/asyncio-task.rst:852 msgid "" "This arranges for a :exc:`CancelledError` exception to be thrown into the " "wrapped coroutine on the next cycle of the event loop." @@ -989,7 +1000,7 @@ msgstr "" "encapsulée. L'exception sera levée au prochain cycle de la boucle " "d'exécution." -#: library/asyncio-task.rst:829 +#: library/asyncio-task.rst:855 msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -1005,12 +1016,12 @@ msgstr "" "annulée, bien qu'ignorer totalement une annulation ne soit ni une pratique " "courante, ni encouragé." -#: library/asyncio-task.rst:837 +#: library/asyncio-task.rst:863 #, fuzzy msgid "Added the *msg* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-task.rst:842 +#: library/asyncio-task.rst:868 msgid "" "The following example illustrates how coroutines can intercept the " "cancellation request::" @@ -1018,11 +1029,11 @@ msgstr "" "L'exemple ci-dessous illustre comment une coroutine peut intercepter une " "requête d'annulation ::" -#: library/asyncio-task.rst:881 +#: library/asyncio-task.rst:907 msgid "Return ``True`` if the Task is *cancelled*." msgstr "Renvoie ``True`` si la tâche est *annulée*." -#: library/asyncio-task.rst:883 +#: library/asyncio-task.rst:909 msgid "" "The Task is *cancelled* when the cancellation was requested with :meth:" "`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " @@ -1032,11 +1043,11 @@ msgstr "" "et la coroutine encapsulée a propagé l'exception :exc:`CancelledError` qui a " "été levée en son sein." -#: library/asyncio-task.rst:889 +#: library/asyncio-task.rst:915 msgid "Return ``True`` if the Task is *done*." msgstr "Renvoie ``True`` si la tâche est *achevée*." -#: library/asyncio-task.rst:891 +#: library/asyncio-task.rst:917 msgid "" "A Task is *done* when the wrapped coroutine either returned a value, raised " "an exception, or the Task was cancelled." @@ -1044,11 +1055,11 @@ msgstr "" "Une tâche est dite *achevée* quand la coroutine encapsulée a soit renvoyé " "une valeur, soit levé une exception, ou que la tâche a été annulée." -#: library/asyncio-task.rst:896 +#: library/asyncio-task.rst:922 msgid "Return the result of the Task." msgstr "Renvoie le résultat de la tâche." -#: library/asyncio-task.rst:898 +#: library/asyncio-task.rst:924 msgid "" "If the Task is *done*, the result of the wrapped coroutine is returned (or " "if the coroutine raised an exception, that exception is re-raised.)" @@ -1057,7 +1068,7 @@ msgstr "" "renvoyé (sinon, dans le cas où la coroutine a levé une exception, cette " "exception est de nouveau levée)." -#: library/asyncio-task.rst:916 +#: library/asyncio-task.rst:942 msgid "" "If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " "exception." @@ -1065,7 +1076,7 @@ msgstr "" "Si la tâche a été *annulée*, cette méthode lève une exception :exc:" "`CancelledError`." -#: library/asyncio-task.rst:905 +#: library/asyncio-task.rst:931 msgid "" "If the Task's result isn't yet available, this method raises a :exc:" "`InvalidStateError` exception." @@ -1073,11 +1084,11 @@ msgstr "" "Si le résultat de la tâche n'est pas encore disponible, cette méthode lève " "une exception :exc:`InvalidStateError`." -#: library/asyncio-task.rst:910 +#: library/asyncio-task.rst:936 msgid "Return the exception of the Task." msgstr "Renvoie l'exception de la tâche." -#: library/asyncio-task.rst:912 +#: library/asyncio-task.rst:938 msgid "" "If the wrapped coroutine raised an exception that exception is returned. If " "the wrapped coroutine returned normally this method returns ``None``." @@ -1085,7 +1096,7 @@ msgstr "" "Si la coroutine encapsulée lève une exception, cette exception est renvoyée. " "Si la coroutine s'est exécutée normalement, cette méthode renvoie ``None``." -#: library/asyncio-task.rst:919 +#: library/asyncio-task.rst:945 msgid "" "If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " "exception." @@ -1093,30 +1104,30 @@ msgstr "" "Si la tâche n'est pas encore *achevée*, cette méthode lève une exception :" "exc:`InvalidStateError`." -#: library/asyncio-task.rst:924 +#: library/asyncio-task.rst:950 msgid "Add a callback to be run when the Task is *done*." msgstr "" "Ajoute une fonction de rappel qui sera exécutée quand la tâche sera " "*achevée*." -#: library/asyncio-task.rst:935 +#: library/asyncio-task.rst:961 msgid "This method should only be used in low-level callback-based code." msgstr "" "Cette méthode ne doit être utilisée que dans du code basé sur les fonctions " "de rappel de bas-niveau." -#: library/asyncio-task.rst:928 +#: library/asyncio-task.rst:954 msgid "" "See the documentation of :meth:`Future.add_done_callback` for more details." msgstr "" "Se référer à la documentation de :meth:`Future.add_done_callback` pour plus " "de détails." -#: library/asyncio-task.rst:933 +#: library/asyncio-task.rst:959 msgid "Remove *callback* from the callbacks list." msgstr "Retire *callback* de la liste de fonctions de rappel." -#: library/asyncio-task.rst:937 +#: library/asyncio-task.rst:963 msgid "" "See the documentation of :meth:`Future.remove_done_callback` for more " "details." @@ -1124,11 +1135,11 @@ msgstr "" "Se référer à la documentation de :meth:`Future.remove_done_callback` pour " "plus de détails." -#: library/asyncio-task.rst:942 +#: library/asyncio-task.rst:968 msgid "Return the list of stack frames for this Task." msgstr "Renvoie une liste représentant la pile d'appels de la tâche." -#: library/asyncio-task.rst:944 +#: library/asyncio-task.rst:970 msgid "" "If the wrapped coroutine is not done, this returns the stack where it is " "suspended. If the coroutine has completed successfully or was cancelled, " @@ -1141,15 +1152,15 @@ msgstr "" "renvoie une liste vide. Si la coroutine a été terminée par une exception, " "ceci renvoie la pile d'erreurs." -#: library/asyncio-task.rst:950 +#: library/asyncio-task.rst:976 msgid "The frames are always ordered from oldest to newest." msgstr "La pile est toujours affichée de l'appelant à l'appelé." -#: library/asyncio-task.rst:952 +#: library/asyncio-task.rst:978 msgid "Only one stack frame is returned for a suspended coroutine." msgstr "Une seule ligne est renvoyée si la coroutine est suspendue." -#: library/asyncio-task.rst:954 +#: library/asyncio-task.rst:980 msgid "" "The optional *limit* argument sets the maximum number of frames to return; " "by default all available frames are returned. The ordering of the returned " @@ -1163,11 +1174,11 @@ msgstr "" "renvoyés, si la pile est une pile d'erreurs, ce sont les appels les plus " "anciens qui le sont (dans un souci de cohérence avec le module *traceback*)." -#: library/asyncio-task.rst:963 +#: library/asyncio-task.rst:989 msgid "Print the stack or traceback for this Task." msgstr "Affiche la pile d'appels ou d'erreurs de la tâche." -#: library/asyncio-task.rst:965 +#: library/asyncio-task.rst:991 msgid "" "This produces output similar to that of the traceback module for the frames " "retrieved by :meth:`get_stack`." @@ -1175,11 +1186,11 @@ msgstr "" "Le format de sortie des appels produits par :meth:`get_stack` est similaire " "à celui du module *traceback*." -#: library/asyncio-task.rst:968 +#: library/asyncio-task.rst:994 msgid "The *limit* argument is passed to :meth:`get_stack` directly." msgstr "Le paramètre *limit* est directement passé à :meth:`get_stack`." -#: library/asyncio-task.rst:970 +#: library/asyncio-task.rst:996 msgid "" "The *file* argument is an I/O stream to which the output is written; by " "default output is written to :data:`sys.stderr`." @@ -1187,15 +1198,15 @@ msgstr "" "Le paramètre *file* est un flux d'entrées-sorties sur lequel le résultat est " "écrit ; par défaut, :data:`sys.stderr`." -#: library/asyncio-task.rst:975 +#: library/asyncio-task.rst:1001 msgid "Return the coroutine object wrapped by the :class:`Task`." msgstr "Renvoie l’objet *coroutine* encapsulé par la :class:`Task`." -#: library/asyncio-task.rst:981 +#: library/asyncio-task.rst:1007 msgid "Return the name of the Task." msgstr "Renvoie le nom de la tâche." -#: library/asyncio-task.rst:983 +#: library/asyncio-task.rst:1009 msgid "" "If no name has been explicitly assigned to the Task, the default asyncio " "Task implementation generates a default name during instantiation." @@ -1204,18 +1215,18 @@ msgstr "" "défaut d’une *Task* *asyncio* génère un nom par défaut durant " "l’instanciation." -#: library/asyncio-task.rst:991 +#: library/asyncio-task.rst:1017 msgid "Set the name of the Task." msgstr "Définit le nom de la tâche." -#: library/asyncio-task.rst:993 +#: library/asyncio-task.rst:1019 msgid "" "The *value* argument can be any object, which is then converted to a string." msgstr "" "L’argument *value* peut être n’importe quel objet qui sera ensuite converti " "en chaine de caractères." -#: library/asyncio-task.rst:996 +#: library/asyncio-task.rst:1022 msgid "" "In the default Task implementation, the name will be visible in the :func:" "`repr` output of a task object." @@ -1223,11 +1234,11 @@ msgstr "" "Dans l’implémentation par défaut de *Task*, le nom sera visible dans le " "résultat de :func:`repr` d’un objet *Task*." -#: library/asyncio-task.rst:1005 +#: library/asyncio-task.rst:1031 msgid "Generator-based Coroutines" msgstr "Coroutines basées sur des générateurs" -#: library/asyncio-task.rst:1009 +#: library/asyncio-task.rst:1035 #, fuzzy msgid "" "Support for generator-based coroutines is **deprecated** and is removed in " @@ -1236,7 +1247,7 @@ msgstr "" "Les coroutines basées sur des générateurs sont **obsolètes** et il est prévu " "de les supprimer en Python 3.10." -#: library/asyncio-task.rst:1012 +#: library/asyncio-task.rst:1038 msgid "" "Generator-based coroutines predate async/await syntax. They are Python " "generators that use ``yield from`` expressions to await on Futures and other " @@ -1246,7 +1257,7 @@ msgstr "" "*async* / *await*. Il existe des générateurs *Python* qui utilisent les " "expressions ``yield from`` pour attendre des *futurs* et autres coroutines." -#: library/asyncio-task.rst:1016 +#: library/asyncio-task.rst:1042 msgid "" "Generator-based coroutines should be decorated with :func:`@asyncio." "coroutine `, although this is not enforced." @@ -1255,11 +1266,11 @@ msgstr "" "`@asyncio.coroutine `, même si ce n'est pas vérifié par " "l'interpréteur." -#: library/asyncio-task.rst:1023 +#: library/asyncio-task.rst:1049 msgid "Decorator to mark generator-based coroutines." msgstr "Décorateur pour coroutines basées sur des générateurs." -#: library/asyncio-task.rst:1025 +#: library/asyncio-task.rst:1051 msgid "" "This decorator enables legacy generator-based coroutines to be compatible " "with async/await code::" @@ -1267,22 +1278,22 @@ msgstr "" "Ce décorateur rend compatibles les coroutines basées sur des générateurs " "avec le code *async* / *await* ::" -#: library/asyncio-task.rst:1035 +#: library/asyncio-task.rst:1061 msgid "This decorator should not be used for :keyword:`async def` coroutines." msgstr "" "Ce décorateur ne doit pas être utilisé avec des coroutines :keyword:`async " "def`." # pas de majuscule car suit un deux-points -#: library/asyncio-task.rst:1040 +#: library/asyncio-task.rst:1066 msgid "Use :keyword:`async def` instead." msgstr "utilisez :keyword:`async def` à la place." -#: library/asyncio-task.rst:1044 +#: library/asyncio-task.rst:1070 msgid "Return ``True`` if *obj* is a :ref:`coroutine object `." msgstr "Renvoie ``True`` si *obj* est un :ref:`objet coroutine `." -#: library/asyncio-task.rst:1046 +#: library/asyncio-task.rst:1072 msgid "" "This method is different from :func:`inspect.iscoroutine` because it returns " "``True`` for generator-based coroutines." @@ -1290,12 +1301,12 @@ msgstr "" "Cette méthode est différente de :func:`inspect.iscoroutine` car elle renvoie " "``True`` pour des coroutines basées sur des générateurs." -#: library/asyncio-task.rst:1051 +#: library/asyncio-task.rst:1077 msgid "Return ``True`` if *func* is a :ref:`coroutine function `." msgstr "" "Renvoie ``True`` si *func* est une :ref:`fonction coroutine `." -#: library/asyncio-task.rst:1054 +#: library/asyncio-task.rst:1080 msgid "" "This method is different from :func:`inspect.iscoroutinefunction` because it " "returns ``True`` for generator-based coroutine functions decorated with :" diff --git a/library/bdb.po b/library/bdb.po index 7b5cd871b7..76a48e1f32 100644 --- a/library/bdb.po +++ b/library/bdb.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -56,79 +56,130 @@ msgstr "" #: library/bdb.rst:33 msgid "" -"When creating a breakpoint, its associated filename should be in canonical " -"form. If a *funcname* is defined, a breakpoint hit will be counted when the " -"first line of that function is executed. A conditional breakpoint always " -"counts a hit." +"When creating a breakpoint, its associated :attr:`file name ` should " +"be in canonical form. If a :attr:`funcname` is defined, a breakpoint :attr:" +"`hit ` will be counted when the first line of that function is " +"executed. A :attr:`conditional ` breakpoint always counts a :attr:" +"`hit `." msgstr "" -#: library/bdb.rst:38 +#: library/bdb.rst:39 msgid ":class:`Breakpoint` instances have the following methods:" msgstr "" -#: library/bdb.rst:42 +#: library/bdb.rst:43 msgid "" "Delete the breakpoint from the list associated to a file/line. If it is the " "last breakpoint in that position, it also deletes the entry for the file/" "line." msgstr "" -#: library/bdb.rst:49 +#: library/bdb.rst:50 msgid "Mark the breakpoint as enabled." msgstr "Active le point d'arrêt." -#: library/bdb.rst:54 +#: library/bdb.rst:55 msgid "Mark the breakpoint as disabled." msgstr "Désactive le point d'arrêt." -#: library/bdb.rst:59 +#: library/bdb.rst:60 msgid "" "Return a string with all the information about the breakpoint, nicely " "formatted:" msgstr "" -#: library/bdb.rst:62 -msgid "The breakpoint number." -msgstr "Le numéro du point d'arrêt." - #: library/bdb.rst:63 -msgid "If it is temporary or not." -msgstr "S'il est temporaire ou non." +#, fuzzy +msgid "Breakpoint number." +msgstr "Le numéro du point d'arrêt." #: library/bdb.rst:64 -msgid "Its file,line position." +msgid "Temporary status (del or keep)." msgstr "" #: library/bdb.rst:65 -msgid "The condition that causes a break." +msgid "File/line position." msgstr "" #: library/bdb.rst:66 -msgid "If it must be ignored the next N times." +msgid "Break condition." msgstr "" #: library/bdb.rst:67 -msgid "The breakpoint hit count." +msgid "Number of times to ignore." msgstr "" -#: library/bdb.rst:73 +#: library/bdb.rst:68 +msgid "Number of times hit." +msgstr "" + +#: library/bdb.rst:74 msgid "" "Print the output of :meth:`bpformat` to the file *out*, or if it is " "``None``, to standard output." msgstr "" -#: library/bdb.rst:79 -msgid "The :class:`Bdb` class acts as a generic Python debugger base class." +#: library/bdb.rst:77 +msgid ":class:`Breakpoint` instances have the following attributes:" msgstr "" #: library/bdb.rst:81 +msgid "File name of the :class:`Breakpoint`." +msgstr "" + +#: library/bdb.rst:85 +msgid "Line number of the :class:`Breakpoint` within :attr:`file`." +msgstr "" + +#: library/bdb.rst:89 +msgid "True if a :class:`Breakpoint` at (file, line) is temporary." +msgstr "" + +#: library/bdb.rst:93 +msgid "Condition for evaluating a :class:`Breakpoint` at (file, line)." +msgstr "" + +#: library/bdb.rst:97 +msgid "" +"Function name that defines whether a :class:`Breakpoint` is hit upon " +"entering the function." +msgstr "" + +#: library/bdb.rst:102 +#, fuzzy +msgid "True if :class:`Breakpoint` is enabled." +msgstr "Active le point d'arrêt." + +#: library/bdb.rst:106 +msgid "Numeric index for a single instance of a :class:`Breakpoint`." +msgstr "" + +#: library/bdb.rst:110 +msgid "" +"Dictionary of :class:`Breakpoint` instances indexed by (:attr:`file`, :attr:" +"`line`) tuples." +msgstr "" + +#: library/bdb.rst:115 +msgid "Number of times to ignore a :class:`Breakpoint`." +msgstr "" + +#: library/bdb.rst:119 +msgid "Count of the number of times a :class:`Breakpoint` has been hit." +msgstr "" + +#: library/bdb.rst:123 +msgid "The :class:`Bdb` class acts as a generic Python debugger base class." +msgstr "" + +#: library/bdb.rst:125 msgid "" "This class takes care of the details of the trace facility; a derived class " "should implement user interaction. The standard debugger class (:class:`pdb." "Pdb`) is an example." msgstr "" -#: library/bdb.rst:85 +#: library/bdb.rst:129 msgid "" "The *skip* argument, if given, must be an iterable of glob-style module name " "patterns. The debugger will not step into frames that originate in a module " @@ -137,89 +188,94 @@ msgid "" "globals." msgstr "" -#: library/bdb.rst:91 +#: library/bdb.rst:135 msgid "The *skip* argument." msgstr "L'argument *skip*." -#: library/bdb.rst:94 +#: library/bdb.rst:138 msgid "" "The following methods of :class:`Bdb` normally don't need to be overridden." msgstr "" -#: library/bdb.rst:98 +#: library/bdb.rst:142 +msgid "Return canonical form of *filename*." +msgstr "" + +#: library/bdb.rst:144 msgid "" -"Auxiliary method for getting a filename in a canonical form, that is, as a " -"case-normalized (on case-insensitive filesystems) absolute path, stripped of " -"surrounding angle brackets." +"For real file names, the canonical form is an operating-system-dependent, :" +"func:`case-normalized ` :func:`absolute path `. A *filename* with angle brackets, such as ``\"\"`` " +"generated in interactive mode, is returned unchanged." msgstr "" -#: library/bdb.rst:104 +#: library/bdb.rst:151 msgid "" "Set the :attr:`botframe`, :attr:`stopframe`, :attr:`returnframe` and :attr:" "`quitting` attributes with values ready to start debugging." msgstr "" -#: library/bdb.rst:109 +#: library/bdb.rst:156 msgid "" "This function is installed as the trace function of debugged frames. Its " "return value is the new trace function (in most cases, that is, itself)." msgstr "" -#: library/bdb.rst:112 +#: library/bdb.rst:159 msgid "" "The default implementation decides how to dispatch a frame, depending on the " "type of event (passed as a string) that is about to be executed. *event* can " "be one of the following:" msgstr "" -#: library/bdb.rst:116 +#: library/bdb.rst:163 msgid "``\"line\"``: A new line of code is going to be executed." msgstr "" -#: library/bdb.rst:117 +#: library/bdb.rst:164 msgid "" "``\"call\"``: A function is about to be called, or another code block " "entered." msgstr "" -#: library/bdb.rst:119 +#: library/bdb.rst:166 msgid "``\"return\"``: A function or other code block is about to return." msgstr "" -#: library/bdb.rst:120 +#: library/bdb.rst:167 msgid "``\"exception\"``: An exception has occurred." msgstr "``\"exception\"`` : Une exception est survenue." -#: library/bdb.rst:121 +#: library/bdb.rst:168 msgid "``\"c_call\"``: A C function is about to be called." msgstr "``\"c_call\"`` : Une fonction C est sur le point d'être appelée." -#: library/bdb.rst:122 +#: library/bdb.rst:169 msgid "``\"c_return\"``: A C function has returned." msgstr "``\"c_return\"`` : Une fonction C s'est terminée." -#: library/bdb.rst:123 +#: library/bdb.rst:170 msgid "``\"c_exception\"``: A C function has raised an exception." msgstr "" -#: library/bdb.rst:125 +#: library/bdb.rst:172 msgid "" "For the Python events, specialized functions (see below) are called. For " "the C events, no action is taken." msgstr "" -#: library/bdb.rst:128 +#: library/bdb.rst:175 msgid "The *arg* parameter depends on the previous event." msgstr "Le paramètre *arg* dépend de l'événement précédent." -#: library/bdb.rst:130 +#: library/bdb.rst:177 msgid "" "See the documentation for :func:`sys.settrace` for more information on the " "trace function. For more information on code and frame objects, refer to :" "ref:`types`." msgstr "" -#: library/bdb.rst:136 +#: library/bdb.rst:183 msgid "" "If the debugger should stop on the current line, invoke the :meth:" "`user_line` method (which should be overridden in subclasses). Raise a :exc:" @@ -228,7 +284,7 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: library/bdb.rst:144 +#: library/bdb.rst:191 msgid "" "If the debugger should stop on this function call, invoke the :meth:" "`user_call` method (which should be overridden in subclasses). Raise a :exc:" @@ -237,7 +293,7 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: library/bdb.rst:152 +#: library/bdb.rst:199 msgid "" "If the debugger should stop on this function return, invoke the :meth:" "`user_return` method (which should be overridden in subclasses). Raise a :" @@ -246,7 +302,7 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: library/bdb.rst:160 +#: library/bdb.rst:207 msgid "" "If the debugger should stop at this exception, invokes the :meth:" "`user_exception` method (which should be overridden in subclasses). Raise a :" @@ -255,150 +311,152 @@ msgid "" "`trace_dispatch` method for further tracing in that scope." msgstr "" -#: library/bdb.rst:166 +#: library/bdb.rst:213 msgid "" "Normally derived classes don't override the following methods, but they may " "if they want to redefine the definition of stopping and breakpoints." msgstr "" -#: library/bdb.rst:171 -msgid "" -"This method checks if the *frame* is somewhere below :attr:`botframe` in the " -"call stack. :attr:`botframe` is the frame in which debugging started." +#: library/bdb.rst:218 +msgid "Return True if *module_name* matches any skip pattern." msgstr "" -#: library/bdb.rst:176 -msgid "" -"This method checks if there is a breakpoint in the filename and line " -"belonging to *frame* or, at least, in the current function. If the " -"breakpoint is a temporary one, this method deletes it." +#: library/bdb.rst:222 +msgid "Return True if *frame* is below the starting frame in the stack." msgstr "" -#: library/bdb.rst:182 +#: library/bdb.rst:226 +msgid "Return True if there is an effective breakpoint for this line." +msgstr "" + +#: library/bdb.rst:228 msgid "" -"This method checks if there is a breakpoint in the filename of the current " -"frame." +"Check whether a line or function breakpoint exists and is in effect. Delete " +"temporary breakpoints based on information from :func:`effective`." +msgstr "" + +#: library/bdb.rst:233 +msgid "Return True if any breakpoint exists for *frame*'s filename." msgstr "" -#: library/bdb.rst:185 +#: library/bdb.rst:235 msgid "" "Derived classes should override these methods to gain control over debugger " "operation." msgstr "" -#: library/bdb.rst:190 +#: library/bdb.rst:240 msgid "" -"This method is called from :meth:`dispatch_call` when there is the " -"possibility that a break might be necessary anywhere inside the called " +"Called from :meth:`dispatch_call` if a break might stop inside the called " "function." msgstr "" -#: library/bdb.rst:196 +#: library/bdb.rst:245 msgid "" -"This method is called from :meth:`dispatch_line` when either :meth:" -"`stop_here` or :meth:`break_here` yields ``True``." +"Called from :meth:`dispatch_line` when either :meth:`stop_here` or :meth:" +"`break_here` returns ``True``." msgstr "" -#: library/bdb.rst:201 +#: library/bdb.rst:250 msgid "" -"This method is called from :meth:`dispatch_return` when :meth:`stop_here` " -"yields ``True``." +"Called from :meth:`dispatch_return` when :meth:`stop_here` returns ``True``." msgstr "" -#: library/bdb.rst:206 +#: library/bdb.rst:254 msgid "" -"This method is called from :meth:`dispatch_exception` when :meth:`stop_here` " -"yields ``True``." +"Called from :meth:`dispatch_exception` when :meth:`stop_here` returns " +"``True``." msgstr "" -#: library/bdb.rst:211 +#: library/bdb.rst:259 msgid "Handle how a breakpoint must be removed when it is a temporary one." msgstr "" -#: library/bdb.rst:213 +#: library/bdb.rst:261 msgid "This method must be implemented by derived classes." msgstr "" -#: library/bdb.rst:216 +#: library/bdb.rst:264 msgid "" "Derived classes and clients can call the following methods to affect the " "stepping state." msgstr "" -#: library/bdb.rst:221 +#: library/bdb.rst:269 msgid "Stop after one line of code." msgstr "Arrête après une ligne de code." -#: library/bdb.rst:225 +#: library/bdb.rst:273 msgid "Stop on the next line in or below the given frame." msgstr "" -#: library/bdb.rst:229 +#: library/bdb.rst:277 msgid "Stop when returning from the given frame." msgstr "" -#: library/bdb.rst:233 +#: library/bdb.rst:281 msgid "" -"Stop when the line with the line no greater than the current one is reached " +"Stop when the line with the *lineno* greater than the current one is reached " "or when returning from current frame." msgstr "" -#: library/bdb.rst:238 +#: library/bdb.rst:286 msgid "" "Start debugging from *frame*. If *frame* is not specified, debugging starts " "from caller's frame." msgstr "" -#: library/bdb.rst:243 +#: library/bdb.rst:291 msgid "" "Stop only at breakpoints or when finished. If there are no breakpoints, set " "the system trace function to ``None``." msgstr "" -#: library/bdb.rst:248 +#: library/bdb.rst:296 msgid "" "Set the :attr:`quitting` attribute to ``True``. This raises :exc:`BdbQuit` " "in the next call to one of the :meth:`dispatch_\\*` methods." msgstr "" -#: library/bdb.rst:252 +#: library/bdb.rst:300 msgid "" "Derived classes and clients can call the following methods to manipulate " "breakpoints. These methods return a string containing an error message if " "something went wrong, or ``None`` if all is well." msgstr "" -#: library/bdb.rst:258 +#: library/bdb.rst:306 msgid "" "Set a new breakpoint. If the *lineno* line doesn't exist for the *filename* " "passed as argument, return an error message. The *filename* should be in " "canonical form, as described in the :meth:`canonic` method." msgstr "" -#: library/bdb.rst:264 +#: library/bdb.rst:312 msgid "" -"Delete the breakpoints in *filename* and *lineno*. If none were set, an " -"error message is returned." +"Delete the breakpoints in *filename* and *lineno*. If none were set, return " +"an error message." msgstr "" -#: library/bdb.rst:269 +#: library/bdb.rst:317 msgid "" "Delete the breakpoint which has the index *arg* in the :attr:`Breakpoint." "bpbynumber`. If *arg* is not numeric or out of range, return an error " "message." msgstr "" -#: library/bdb.rst:275 +#: library/bdb.rst:323 msgid "" -"Delete all breakpoints in *filename*. If none were set, an error message is " -"returned." +"Delete all breakpoints in *filename*. If none were set, return an error " +"message." msgstr "" -#: library/bdb.rst:280 -msgid "Delete all existing breakpoints." -msgstr "Supprime tous les points d'arrêt définis." +#: library/bdb.rst:328 +msgid "" +"Delete all existing breakpoints. If none were set, return an error message." +msgstr "" -#: library/bdb.rst:284 +#: library/bdb.rst:333 msgid "" "Return a breakpoint specified by the given number. If *arg* is a string, it " "will be converted to a number. If *arg* is a non-numeric string, if the " @@ -406,114 +464,141 @@ msgid "" "raised." msgstr "" -#: library/bdb.rst:293 -msgid "Check if there is a breakpoint for *lineno* of *filename*." +#: library/bdb.rst:342 +msgid "Return True if there is a breakpoint for *lineno* in *filename*." msgstr "" -#: library/bdb.rst:297 +#: library/bdb.rst:346 msgid "" "Return all breakpoints for *lineno* in *filename*, or an empty list if none " "are set." msgstr "" -#: library/bdb.rst:302 +#: library/bdb.rst:351 msgid "Return all breakpoints in *filename*, or an empty list if none are set." msgstr "" -#: library/bdb.rst:306 +#: library/bdb.rst:355 msgid "Return all breakpoints that are set." msgstr "Donne tous les points d'arrêt définis." -#: library/bdb.rst:309 +#: library/bdb.rst:358 msgid "" "Derived classes and clients can call the following methods to get a data " "structure representing a stack trace." msgstr "" -#: library/bdb.rst:314 +#: library/bdb.rst:363 +msgid "Return a list of (frame, lineno) tuples in a stack trace, and a size." +msgstr "" + +#: library/bdb.rst:365 msgid "" -"Get a list of records for a frame and all higher (calling) and lower frames, " -"and the size of the higher part." +"The most recently called frame is last in the list. The size is the number " +"of frames below the frame where the debugger was invoked." msgstr "" -#: library/bdb.rst:319 +#: library/bdb.rst:370 msgid "" -"Return a string with information about a stack entry, identified by a " -"``(frame, lineno)`` tuple:" +"Return a string with information about a stack entry, which is a ``(frame, " +"lineno)`` tuple. The return string contains:" msgstr "" -#: library/bdb.rst:322 -msgid "The canonical form of the filename which contains the frame." +#: library/bdb.rst:373 +msgid "The canonical filename which contains the frame." msgstr "" -#: library/bdb.rst:323 -msgid "The function name, or ``\"\"``." +#: library/bdb.rst:374 +#, fuzzy +msgid "The function name or ``\"\"``." msgstr "Le nom de la fonction, ou ``\"\"``." -#: library/bdb.rst:324 +#: library/bdb.rst:375 msgid "The input arguments." msgstr "Les arguments donnés." -#: library/bdb.rst:325 +#: library/bdb.rst:376 msgid "The return value." msgstr "Le résultat." -#: library/bdb.rst:326 +#: library/bdb.rst:377 msgid "The line of code (if it exists)." msgstr "La ligne de code (si elle existe)." -#: library/bdb.rst:329 +#: library/bdb.rst:380 msgid "" "The following two methods can be called by clients to use a debugger to " "debug a :term:`statement`, given as a string." msgstr "" -#: library/bdb.rst:334 +#: library/bdb.rst:385 msgid "" "Debug a statement executed via the :func:`exec` function. *globals* " "defaults to :attr:`__main__.__dict__`, *locals* defaults to *globals*." msgstr "" -#: library/bdb.rst:339 +#: library/bdb.rst:390 msgid "" "Debug an expression executed via the :func:`eval` function. *globals* and " "*locals* have the same meaning as in :meth:`run`." msgstr "" -#: library/bdb.rst:344 +#: library/bdb.rst:395 msgid "For backwards compatibility. Calls the :meth:`run` method." msgstr "" -#: library/bdb.rst:348 +#: library/bdb.rst:399 msgid "Debug a single function call, and return its result." msgstr "" -#: library/bdb.rst:351 +#: library/bdb.rst:402 msgid "Finally, the module defines the following functions:" msgstr "" -#: library/bdb.rst:355 +#: library/bdb.rst:406 msgid "" -"Check whether we should break here, depending on the way the breakpoint *b* " -"was set." +"Return True if we should break here, depending on the way the :class:" +"`Breakpoint` *b* was set." msgstr "" -#: library/bdb.rst:358 +#: library/bdb.rst:409 msgid "" -"If it was set via line number, it checks if ``b.line`` is the same as the " -"one in the frame also passed as argument. If the breakpoint was set via " -"function name, we have to check we are in the right frame (the right " -"function) and if we are in its first executable line." +"If it was set via line number, it checks if :attr:`b.line ` is the same as the one in *frame*. If the breakpoint was set via :" +"attr:`function name `, we have to check we are in " +"the right *frame* (the right function) and if we are on its first executable " +"line." msgstr "" -#: library/bdb.rst:365 +#: library/bdb.rst:418 +msgid "" +"Return ``(active breakpoint, delete temporary flag)`` or ``(None, None)`` as " +"the breakpoint to act upon." +msgstr "" + +#: library/bdb.rst:421 msgid "" -"Determine if there is an effective (active) breakpoint at this line of code. " -"Return a tuple of the breakpoint and a boolean that indicates if it is ok to " -"delete a temporary breakpoint. Return ``(None, None)`` if there is no " -"matching breakpoint." +"The *active breakpoint* is the first entry in :attr:`bplist ` for the (:attr:`file `, :attr:`line `) (which must exist) that is :attr:`enabled `, for which :func:`checkfuncname` is True, and that has neither a " +"False :attr:`condition ` nor positive :attr:`ignore " +"` count. The *flag*, meaning that a temporary " +"breakpoint should be deleted, is False only when the :attr:`cond ` cannot be evaluated (in which case, :attr:`ignore ` count is ignored)." +msgstr "" + +#: library/bdb.rst:432 +msgid "If no such entry exists, then (None, None) is returned." msgstr "" -#: library/bdb.rst:372 +#: library/bdb.rst:437 msgid "Start debugging with a :class:`Bdb` instance from caller's frame." msgstr "" + +#~ msgid "If it is temporary or not." +#~ msgstr "S'il est temporaire ou non." + +#~ msgid "Delete all existing breakpoints." +#~ msgstr "Supprime tous les points d'arrêt définis." diff --git a/library/bisect.po b/library/bisect.po index 47d1d14ccd..af06024d3a 100644 --- a/library/bisect.po +++ b/library/bisect.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-17 12:13+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -205,10 +205,11 @@ msgstr "" "les exemples plus bas)." #: library/bisect.rst:129 +#, fuzzy msgid "" -"`Sorted Collections `_ is " -"a high performance module that uses *bisect* to managed sorted collections " -"of data." +"`Sorted Collections `_ is a " +"high performance module that uses *bisect* to managed sorted collections of " +"data." msgstr "" "`Sorted Collections `_ " "est un module de haute performance qui fait appel à *bisect* pour maintenir " diff --git a/library/bz2.po b/library/bz2.po index 4a7db26dd7..e48efee44d 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-06 20:24+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -392,10 +392,11 @@ msgstr "" "négatif), l'attribut :attr:`~.needs_input` sera configuré sur ``True``." #: library/bz2.rst:208 +#, fuzzy msgid "" -"Attempting to decompress data after the end of stream is reached raises an " -"`EOFError`. Any data found after the end of the stream is ignored and saved " -"in the :attr:`~.unused_data` attribute." +"Attempting to decompress data after the end of stream is reached raises an :" +"exc:`EOFError`. Any data found after the end of the stream is ignored and " +"saved in the :attr:`~.unused_data` attribute." msgstr "" "Essayer de décompresser des données après que la fin du flux soit atteinte " "lève une erreur ``EOFError``. Toute donnée trouvée après la fin du flux est " @@ -490,9 +491,10 @@ msgstr "" "incrémentielle :" #: library/bz2.rst:305 +#, fuzzy msgid "" "The example above uses a very \"nonrandom\" stream of data (a stream of " -"`b\"z\"` chunks). Random data tends to compress poorly, while ordered, " +"``b\"z\"`` chunks). Random data tends to compress poorly, while ordered, " "repetitive data usually yields a high compression ratio." msgstr "" "L'exemple ci-dessus utilise un flux de données vraiment pas aléatoire (un " diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 3feec97ee8..0204292d80 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -171,6 +171,16 @@ msgstr "" #: library/concurrent.futures.rst:152 msgid "" +"All threads enqueued to ``ThreadPoolExecutor`` will be joined before the " +"interpreter can exit. Note that the exit handler which does this is executed " +"*before* any exit handlers added using ``atexit``. This means exceptions in " +"the main thread must be caught and handled in order to signal threads to " +"exit gracefully. For this reason, it is recommended that " +"``ThreadPoolExecutor`` not be used for long-running tasks." +msgstr "" + +#: library/concurrent.futures.rst:159 +msgid "" "*initializer* is an optional callable that is called at the start of each " "worker thread; *initargs* is a tuple of arguments passed to the " "initializer. Should *initializer* raise an exception, all currently pending " @@ -178,7 +188,7 @@ msgid "" "well as any attempt to submit more jobs to the pool." msgstr "" -#: library/concurrent.futures.rst:158 +#: library/concurrent.futures.rst:165 msgid "" "If *max_workers* is ``None`` or not given, it will default to the number of " "processors on the machine, multiplied by ``5``, assuming that :class:" @@ -187,18 +197,18 @@ msgid "" "`ProcessPoolExecutor`." msgstr "" -#: library/concurrent.futures.rst:166 +#: library/concurrent.futures.rst:173 msgid "" "The *thread_name_prefix* argument was added to allow users to control the :" "class:`threading.Thread` names for worker threads created by the pool for " "easier debugging." msgstr "" -#: library/concurrent.futures.rst:171 library/concurrent.futures.rst:265 +#: library/concurrent.futures.rst:178 library/concurrent.futures.rst:272 msgid "Added the *initializer* and *initargs* arguments." msgstr "" -#: library/concurrent.futures.rst:174 +#: library/concurrent.futures.rst:181 msgid "" "Default value of *max_workers* is changed to ``min(32, os.cpu_count() + " "4)``. This default value preserves at least 5 workers for I/O bound tasks. " @@ -206,21 +216,21 @@ msgid "" "And it avoids using very large resources implicitly on many-core machines." msgstr "" -#: library/concurrent.futures.rst:180 +#: library/concurrent.futures.rst:187 msgid "" "ThreadPoolExecutor now reuses idle worker threads before starting " "*max_workers* worker threads too." msgstr "" -#: library/concurrent.futures.rst:187 +#: library/concurrent.futures.rst:194 msgid "ThreadPoolExecutor Example" msgstr "" -#: library/concurrent.futures.rst:219 +#: library/concurrent.futures.rst:226 msgid "ProcessPoolExecutor" msgstr "ProcessPoolExecutor" -#: library/concurrent.futures.rst:221 +#: library/concurrent.futures.rst:228 msgid "" "The :class:`ProcessPoolExecutor` class is an :class:`Executor` subclass that " "uses a pool of processes to execute calls asynchronously. :class:" @@ -230,20 +240,20 @@ msgid "" "returned." msgstr "" -#: library/concurrent.futures.rst:228 +#: library/concurrent.futures.rst:235 msgid "" "The ``__main__`` module must be importable by worker subprocesses. This " "means that :class:`ProcessPoolExecutor` will not work in the interactive " "interpreter." msgstr "" -#: library/concurrent.futures.rst:231 +#: library/concurrent.futures.rst:238 msgid "" "Calling :class:`Executor` or :class:`Future` methods from a callable " "submitted to a :class:`ProcessPoolExecutor` will result in deadlock." msgstr "" -#: library/concurrent.futures.rst:236 +#: library/concurrent.futures.rst:243 msgid "" "An :class:`Executor` subclass that executes calls asynchronously using a " "pool of at most *max_workers* processes. If *max_workers* is ``None`` or " @@ -257,7 +267,7 @@ msgid "" "not given, the default multiprocessing context is used." msgstr "" -#: library/concurrent.futures.rst:249 +#: library/concurrent.futures.rst:256 msgid "" "*initializer* is an optional callable that is called at the start of each " "worker process; *initargs* is a tuple of arguments passed to the " @@ -266,7 +276,7 @@ msgid "" "well as any attempt to submit more jobs to the pool." msgstr "" -#: library/concurrent.futures.rst:255 +#: library/concurrent.futures.rst:262 msgid "" "When one of the worker processes terminates abruptly, a :exc:" "`BrokenProcessPool` error is now raised. Previously, behaviour was " @@ -274,34 +284,34 @@ msgid "" "or deadlock." msgstr "" -#: library/concurrent.futures.rst:261 +#: library/concurrent.futures.rst:268 msgid "" "The *mp_context* argument was added to allow users to control the " "start_method for worker processes created by the pool." msgstr "" -#: library/concurrent.futures.rst:271 +#: library/concurrent.futures.rst:278 msgid "ProcessPoolExecutor Example" msgstr "" -#: library/concurrent.futures.rst:309 +#: library/concurrent.futures.rst:316 msgid "Future Objects" msgstr "" -#: library/concurrent.futures.rst:311 +#: library/concurrent.futures.rst:318 msgid "" "The :class:`Future` class encapsulates the asynchronous execution of a " "callable. :class:`Future` instances are created by :meth:`Executor.submit`." msgstr "" -#: library/concurrent.futures.rst:316 +#: library/concurrent.futures.rst:323 msgid "" "Encapsulates the asynchronous execution of a callable. :class:`Future` " "instances are created by :meth:`Executor.submit` and should not be created " "directly except for testing." msgstr "" -#: library/concurrent.futures.rst:322 +#: library/concurrent.futures.rst:329 msgid "" "Attempt to cancel the call. If the call is currently being executed or " "finished running and cannot be cancelled then the method will return " @@ -309,22 +319,22 @@ msgid "" "``True``." msgstr "" -#: library/concurrent.futures.rst:329 +#: library/concurrent.futures.rst:336 msgid "Return ``True`` if the call was successfully cancelled." msgstr "" -#: library/concurrent.futures.rst:333 +#: library/concurrent.futures.rst:340 msgid "" "Return ``True`` if the call is currently being executed and cannot be " "cancelled." msgstr "" -#: library/concurrent.futures.rst:338 +#: library/concurrent.futures.rst:345 msgid "" "Return ``True`` if the call was successfully cancelled or finished running." msgstr "" -#: library/concurrent.futures.rst:343 +#: library/concurrent.futures.rst:350 msgid "" "Return the value returned by the call. If the call hasn't yet completed then " "this method will wait up to *timeout* seconds. If the call hasn't completed " @@ -333,18 +343,18 @@ msgid "" "``None``, there is no limit to the wait time." msgstr "" -#: library/concurrent.futures.rst:350 library/concurrent.futures.rst:364 +#: library/concurrent.futures.rst:357 library/concurrent.futures.rst:371 msgid "" "If the future is cancelled before completing then :exc:`.CancelledError` " "will be raised." msgstr "" -#: library/concurrent.futures.rst:353 +#: library/concurrent.futures.rst:360 msgid "" "If the call raised an exception, this method will raise the same exception." msgstr "" -#: library/concurrent.futures.rst:357 +#: library/concurrent.futures.rst:364 msgid "" "Return the exception raised by the call. If the call hasn't yet completed " "then this method will wait up to *timeout* seconds. If the call hasn't " @@ -353,18 +363,18 @@ msgid "" "*timeout* is not specified or ``None``, there is no limit to the wait time." msgstr "" -#: library/concurrent.futures.rst:367 +#: library/concurrent.futures.rst:374 msgid "If the call completed without raising, ``None`` is returned." msgstr "" -#: library/concurrent.futures.rst:371 +#: library/concurrent.futures.rst:378 msgid "" "Attaches the callable *fn* to the future. *fn* will be called, with the " "future as its only argument, when the future is cancelled or finishes " "running." msgstr "" -#: library/concurrent.futures.rst:375 +#: library/concurrent.futures.rst:382 msgid "" "Added callables are called in the order that they were added and are always " "called in a thread belonging to the process that added them. If the " @@ -373,74 +383,74 @@ msgid "" "behavior is undefined." msgstr "" -#: library/concurrent.futures.rst:381 +#: library/concurrent.futures.rst:388 msgid "" "If the future has already completed or been cancelled, *fn* will be called " "immediately." msgstr "" -#: library/concurrent.futures.rst:384 +#: library/concurrent.futures.rst:391 msgid "" "The following :class:`Future` methods are meant for use in unit tests and :" "class:`Executor` implementations." msgstr "" -#: library/concurrent.futures.rst:389 +#: library/concurrent.futures.rst:396 msgid "" "This method should only be called by :class:`Executor` implementations " "before executing the work associated with the :class:`Future` and by unit " "tests." msgstr "" -#: library/concurrent.futures.rst:393 +#: library/concurrent.futures.rst:400 msgid "" "If the method returns ``False`` then the :class:`Future` was cancelled, i." -"e. :meth:`Future.cancel` was called and returned `True`. Any threads " +"e. :meth:`Future.cancel` was called and returned ``True``. Any threads " "waiting on the :class:`Future` completing (i.e. through :func:`as_completed` " "or :func:`wait`) will be woken up." msgstr "" -#: library/concurrent.futures.rst:398 +#: library/concurrent.futures.rst:405 msgid "" "If the method returns ``True`` then the :class:`Future` was not cancelled " "and has been put in the running state, i.e. calls to :meth:`Future.running` " -"will return `True`." +"will return ``True``." msgstr "" -#: library/concurrent.futures.rst:402 +#: library/concurrent.futures.rst:409 msgid "" "This method can only be called once and cannot be called after :meth:`Future." "set_result` or :meth:`Future.set_exception` have been called." msgstr "" -#: library/concurrent.futures.rst:408 +#: library/concurrent.futures.rst:415 msgid "" "Sets the result of the work associated with the :class:`Future` to *result*." msgstr "" -#: library/concurrent.futures.rst:411 library/concurrent.futures.rst:424 +#: library/concurrent.futures.rst:418 library/concurrent.futures.rst:431 msgid "" "This method should only be used by :class:`Executor` implementations and " "unit tests." msgstr "" -#: library/concurrent.futures.rst:414 library/concurrent.futures.rst:427 +#: library/concurrent.futures.rst:421 library/concurrent.futures.rst:434 msgid "" "This method raises :exc:`concurrent.futures.InvalidStateError` if the :class:" "`Future` is already done." msgstr "" -#: library/concurrent.futures.rst:421 +#: library/concurrent.futures.rst:428 msgid "" "Sets the result of the work associated with the :class:`Future` to the :" "class:`Exception` *exception*." msgstr "" -#: library/concurrent.futures.rst:433 +#: library/concurrent.futures.rst:440 msgid "Module Functions" msgstr "" -#: library/concurrent.futures.rst:437 +#: library/concurrent.futures.rst:444 msgid "" "Wait for the :class:`Future` instances (possibly created by different :class:" "`Executor` instances) given by *fs* to complete. Duplicate futures given to " @@ -451,14 +461,14 @@ msgid "" "running futures)." msgstr "" -#: library/concurrent.futures.rst:445 +#: library/concurrent.futures.rst:452 msgid "" "*timeout* can be used to control the maximum number of seconds to wait " "before returning. *timeout* can be an int or float. If *timeout* is not " "specified or ``None``, there is no limit to the wait time." msgstr "" -#: library/concurrent.futures.rst:449 +#: library/concurrent.futures.rst:456 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -466,28 +476,28 @@ msgstr "" "*return_when* indique quand la fonction doit se terminer. Il peut prendre " "les valeurs suivantes :" -#: library/concurrent.futures.rst:455 +#: library/concurrent.futures.rst:462 msgid "Constant" msgstr "Constante" -#: library/concurrent.futures.rst:455 +#: library/concurrent.futures.rst:462 msgid "Description" msgstr "Description" -#: library/concurrent.futures.rst:457 +#: library/concurrent.futures.rst:464 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: library/concurrent.futures.rst:457 +#: library/concurrent.futures.rst:464 msgid "The function will return when any future finishes or is cancelled." msgstr "" "La fonction se termine lorsque n'importe quel futur se termine ou est annulé." -#: library/concurrent.futures.rst:460 +#: library/concurrent.futures.rst:467 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: library/concurrent.futures.rst:460 +#: library/concurrent.futures.rst:467 msgid "" "The function will return when any future finishes by raising an exception. " "If no future raises an exception then it is equivalent to :const:" @@ -497,16 +507,16 @@ msgstr "" "exception. Si aucun *futur* ne lève d'exception, équivaut à :const:" "`ALL_COMPLETED`." -#: library/concurrent.futures.rst:466 +#: library/concurrent.futures.rst:473 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: library/concurrent.futures.rst:466 +#: library/concurrent.futures.rst:473 msgid "The function will return when all futures finish or are cancelled." msgstr "" "La fonction se termine lorsque les *futurs* sont tous finis ou annulés." -#: library/concurrent.futures.rst:472 +#: library/concurrent.futures.rst:479 msgid "" "Returns an iterator over the :class:`Future` instances (possibly created by " "different :class:`Executor` instances) given by *fs* that yields futures as " @@ -520,49 +530,49 @@ msgid "" "wait time." msgstr "" -#: library/concurrent.futures.rst:486 +#: library/concurrent.futures.rst:493 msgid ":pep:`3148` -- futures - execute computations asynchronously" msgstr "" -#: library/concurrent.futures.rst:486 +#: library/concurrent.futures.rst:493 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" -#: library/concurrent.futures.rst:491 +#: library/concurrent.futures.rst:498 msgid "Exception classes" msgstr "" -#: library/concurrent.futures.rst:497 +#: library/concurrent.futures.rst:504 msgid "Raised when a future is cancelled." msgstr "" -#: library/concurrent.futures.rst:501 +#: library/concurrent.futures.rst:508 msgid "Raised when a future operation exceeds the given timeout." msgstr "" -#: library/concurrent.futures.rst:505 +#: library/concurrent.futures.rst:512 msgid "" "Derived from :exc:`RuntimeError`, this exception class is raised when an " "executor is broken for some reason, and cannot be used to submit or execute " "new tasks." msgstr "" -#: library/concurrent.futures.rst:513 +#: library/concurrent.futures.rst:520 msgid "" "Raised when an operation is performed on a future that is not allowed in the " "current state." msgstr "" -#: library/concurrent.futures.rst:522 +#: library/concurrent.futures.rst:529 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class " "is raised when one of the workers of a :class:`ThreadPoolExecutor` has " "failed initializing." msgstr "" -#: library/concurrent.futures.rst:532 +#: library/concurrent.futures.rst:539 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:" "`RuntimeError`), this exception class is raised when one of the workers of " diff --git a/library/contextlib.po b/library/contextlib.po index 722f785597..4db366b1d5 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-06 21:37+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -105,7 +105,11 @@ msgstr "" "L'exemple abstrait suivant présente comment assurer une gestion correcte des " "ressources ::" -#: library/contextlib.rst:73 +#: library/contextlib.rst:69 +msgid "The function can then be used like this::" +msgstr "" + +#: library/contextlib.rst:75 msgid "" "The function being decorated must return a :term:`generator`-iterator when " "called. This iterator must yield exactly one value, which will be bound to " @@ -116,7 +120,7 @@ msgstr "" "seule valeur, qui est récupérée dans le bloc :keyword:`with` à l'aide de la " "clause :keyword:`!as` si précisée." -#: library/contextlib.rst:77 +#: library/contextlib.rst:79 msgid "" "At the point where the generator yields, the block nested in the :keyword:" "`with` statement is executed. The generator is then resumed after the block " @@ -144,7 +148,7 @@ msgstr "" "l'instruction :keyword:`!with` que l'exception a été gérée, et l'exécution " "reprend sur l'instruction qui suit directement le bloc :keyword:`!with`." -#: library/contextlib.rst:89 +#: library/contextlib.rst:91 msgid "" ":func:`contextmanager` uses :class:`ContextDecorator` so the context " "managers it creates can be used as decorators as well as in :keyword:`with` " @@ -163,11 +167,11 @@ msgstr "" "`contextmanager` de remplir la condition de pouvoir être invoqués plusieurs " "fois afin d'être utilisés comme décorateurs)." -#: library/contextlib.rst:96 +#: library/contextlib.rst:98 msgid "Use of :class:`ContextDecorator`." msgstr "Utilisation de la classe :class:`ContextDecorator`." -#: library/contextlib.rst:102 +#: library/contextlib.rst:104 msgid "" "Similar to :func:`~contextlib.contextmanager`, but creates an :ref:" "`asynchronous context manager `." @@ -175,7 +179,7 @@ msgstr "" "Similaire à :func:`~contextlib.contextmanager`, mais crée un :ref:" "`gestionnaire de contexte asynchrone `." -#: library/contextlib.rst:105 +#: library/contextlib.rst:107 msgid "" "This function is a :term:`decorator` that can be used to define a factory " "function for :keyword:`async with` statement asynchronous context managers, " @@ -190,11 +194,11 @@ msgstr "" "doit être appliqué à une fonction renvoyant un :term:`asynchronous " "generator`." -#: library/contextlib.rst:111 +#: library/contextlib.rst:113 msgid "A simple example::" msgstr "Un exemple simple ::" -#: library/contextlib.rst:129 +#: library/contextlib.rst:131 msgid "" "Context managers defined with :func:`asynccontextmanager` can be used either " "as decorators or with :keyword:`async with` statements::" @@ -203,7 +207,7 @@ msgstr "" "peuvent s'utiliser comme décorateurs ou dans les instructions :keyword:" "`async with` :" -#: library/contextlib.rst:147 +#: library/contextlib.rst:149 msgid "" "When used as a decorator, a new generator instance is implicitly created on " "each function call. This allows the otherwise \"one-shot\" context managers " @@ -211,7 +215,7 @@ msgid "" "managers support multiple invocations in order to be used as decorators." msgstr "" -#: library/contextlib.rst:152 +#: library/contextlib.rst:154 #, fuzzy msgid "" "Async context managers created with :func:`asynccontextmanager` can be used " @@ -220,7 +224,7 @@ msgstr "" "Une classe mère qui permet à un gestionnaire de contexte d'être aussi " "utilisé comme décorateur." -#: library/contextlib.rst:159 +#: library/contextlib.rst:161 msgid "" "Return a context manager that closes *thing* upon completion of the block. " "This is basically equivalent to::" @@ -228,11 +232,11 @@ msgstr "" "Renvoie un gestionnaire de contexte qui ferme *thing* à la fin du bloc. " "C'est essentiellement équivalent à ::" -#: library/contextlib.rst:171 +#: library/contextlib.rst:173 msgid "And lets you write code like this::" msgstr "Et cela vous permet d'écrire du code tel que ::" -#: library/contextlib.rst:180 +#: library/contextlib.rst:182 msgid "" "without needing to explicitly close ``page``. Even if an error occurs, " "``page.close()`` will be called when the :keyword:`with` block is exited." @@ -240,7 +244,7 @@ msgstr "" "sans besoin de fermer explicitement ``page``. Même si une erreur survient, " "``page.close()`` est appelée à la fermeture du bloc :keyword:`with`." -#: library/contextlib.rst:186 +#: library/contextlib.rst:188 #, fuzzy msgid "" "Return an async context manager that calls the ``aclose()`` method of " @@ -249,14 +253,14 @@ msgstr "" "Renvoie un gestionnaire de contexte qui ferme *thing* à la fin du bloc. " "C'est essentiellement équivalent à ::" -#: library/contextlib.rst:198 +#: library/contextlib.rst:200 msgid "" "Significantly, ``aclosing()`` supports deterministic cleanup of async " "generators when they happen to exit early by :keyword:`break` or an " "exception. For example::" msgstr "" -#: library/contextlib.rst:209 +#: library/contextlib.rst:211 msgid "" "This pattern ensures that the generator's async exit code is executed in the " "same context as its iterations (so that exceptions and context variables " @@ -264,7 +268,7 @@ msgid "" "task it depends on)." msgstr "" -#: library/contextlib.rst:221 +#: library/contextlib.rst:223 msgid "" "Return a context manager that returns *enter_result* from ``__enter__``, but " "otherwise does nothing. It is intended to be used as a stand-in for an " @@ -274,11 +278,11 @@ msgstr "" "*enter_result*, mais ne fait rien d'autre. L'idée est de l'utiliser comme " "remplaçant pour un gestionnaire de contexte optionnel, par exemple ::" -#: library/contextlib.rst:235 +#: library/contextlib.rst:237 msgid "An example using *enter_result*::" msgstr "Un exemple utilisant *enter_result* ::" -#: library/contextlib.rst:248 +#: library/contextlib.rst:250 #, fuzzy msgid "" "It can also be used as a stand-in for :ref:`asynchronous context managers " @@ -287,11 +291,11 @@ msgstr "" "Similaire à :func:`~contextlib.contextmanager`, mais crée un :ref:" "`gestionnaire de contexte asynchrone `." -#: library/contextlib.rst:264 +#: library/contextlib.rst:266 msgid ":term:`asynchronous context manager` support was added." msgstr "" -#: library/contextlib.rst:271 +#: library/contextlib.rst:273 #, fuzzy msgid "" "Return a context manager that suppresses any of the specified exceptions if " @@ -303,7 +307,7 @@ msgstr "" "spécifiées si elles surviennent dans le corps du bloc *with*, et reprend " "l'exécution sur la première instruction qui suit la fin du bloc *with*." -#: library/contextlib.rst:276 +#: library/contextlib.rst:278 msgid "" "As with any other mechanism that completely suppresses exceptions, this " "context manager should be used only to cover very specific errors where " @@ -315,19 +319,19 @@ msgstr "" "très spécifiques d'erreurs où il est certain que continuer silencieusement " "l'exécution du programme est la bonne chose à faire." -#: library/contextlib.rst:281 +#: library/contextlib.rst:283 msgid "For example::" msgstr "Par exemple ::" -#: library/contextlib.rst:291 +#: library/contextlib.rst:293 msgid "This code is equivalent to::" msgstr "Ce code est équivalent à ::" -#: library/contextlib.rst:343 library/contextlib.rst:353 +#: library/contextlib.rst:345 library/contextlib.rst:355 msgid "This context manager is :ref:`reentrant `." msgstr "Ce gestionnaire de contexte est :ref:`réentrant `." -#: library/contextlib.rst:310 +#: library/contextlib.rst:312 msgid "" "Context manager for temporarily redirecting :data:`sys.stdout` to another " "file or file-like object." @@ -335,7 +339,7 @@ msgstr "" "Gestionnaire de contexte servant à rediriger temporairement :data:`sys." "stdout` vers un autre fichier ou objet fichier-compatible." -#: library/contextlib.rst:313 +#: library/contextlib.rst:315 msgid "" "This tool adds flexibility to existing functions or classes whose output is " "hardwired to stdout." @@ -343,7 +347,7 @@ msgstr "" "Cet outil ajoute une certaine flexibilité aux fonctions ou classes " "existantes dont la sortie est envoyée vers la sortie standard." -#: library/contextlib.rst:316 +#: library/contextlib.rst:318 #, fuzzy msgid "" "For example, the output of :func:`help` normally is sent to *sys.stdout*. " @@ -356,7 +360,7 @@ msgstr "" "stdout*. Vous pouvez capturer cette sortie dans une chaîne de caractères en " "la redirigeant vers un objet :class:`io.StringIO` ::" -#: library/contextlib.rst:326 +#: library/contextlib.rst:328 msgid "" "To send the output of :func:`help` to a file on disk, redirect the output to " "a regular file::" @@ -364,11 +368,11 @@ msgstr "" "Pour envoyer la sortie de :func:`help` vers un fichier sur le disque, " "redirigez-la sur un fichier normal ::" -#: library/contextlib.rst:333 +#: library/contextlib.rst:335 msgid "To send the output of :func:`help` to *sys.stderr*::" msgstr "Pour envoyer la sortie de :func:`help` sur *sys.stderr* ::" -#: library/contextlib.rst:338 +#: library/contextlib.rst:340 msgid "" "Note that the global side effect on :data:`sys.stdout` means that this " "context manager is not suitable for use in library code and most threaded " @@ -382,7 +386,7 @@ msgstr "" "Cependant, cela reste une approche utile pour beaucoup de scripts " "utilitaires." -#: library/contextlib.rst:350 +#: library/contextlib.rst:352 msgid "" "Similar to :func:`~contextlib.redirect_stdout` but redirecting :data:`sys." "stderr` to another file or file-like object." @@ -390,14 +394,14 @@ msgstr "" "Similaire à :func:`~contextlib.redirect_stdout` mais redirige :data:`sys." "stderr` vers un autre fichier ou objet fichier-compatible." -#: library/contextlib.rst:360 +#: library/contextlib.rst:362 msgid "" "A base class that enables a context manager to also be used as a decorator." msgstr "" "Une classe mère qui permet à un gestionnaire de contexte d'être aussi " "utilisé comme décorateur." -#: library/contextlib.rst:362 +#: library/contextlib.rst:364 msgid "" "Context managers inheriting from ``ContextDecorator`` have to implement " "``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional " @@ -408,7 +412,7 @@ msgstr "" "conserve sa gestion optionnelle des exceptions même lors de l'utilisation en " "décorateur." -#: library/contextlib.rst:366 +#: library/contextlib.rst:368 msgid "" "``ContextDecorator`` is used by :func:`contextmanager`, so you get this " "functionality automatically." @@ -416,22 +420,26 @@ msgstr "" "``ContextDecorator`` est utilisé par :func:`contextmanager`, donc vous " "bénéficiez automatiquement de cette fonctionnalité." -#: library/contextlib.rst:369 +#: library/contextlib.rst:371 msgid "Example of ``ContextDecorator``::" msgstr "Exemple de ``ContextDecorator`` ::" -#: library/contextlib.rst:398 +#: library/contextlib.rst:456 +msgid "The class can then be used like this::" +msgstr "" + +#: library/contextlib.rst:402 msgid "" "This change is just syntactic sugar for any construct of the following form::" msgstr "" "Ce changement est simplement un sucre syntaxique pour les constructions de " "la forme suivante ::" -#: library/contextlib.rst:404 +#: library/contextlib.rst:408 msgid "``ContextDecorator`` lets you instead write::" msgstr "``ContextDecorator`` vous permet d'écrire à la place ::" -#: library/contextlib.rst:410 +#: library/contextlib.rst:414 msgid "" "It makes it clear that the ``cm`` applies to the whole function, rather than " "just a piece of it (and saving an indentation level is nice, too)." @@ -440,7 +448,7 @@ msgstr "" "seulement à un morceau en particulier (et gagner un niveau d'indentation est " "toujours appréciable)." -#: library/contextlib.rst:413 +#: library/contextlib.rst:417 msgid "" "Existing context managers that already have a base class can be extended by " "using ``ContextDecorator`` as a mixin class::" @@ -448,7 +456,7 @@ msgstr "" "Les gestionnaires de contexte existants qui ont déjà une classe mère peuvent " "être étendus en utilisant ``ContextDecorator`` comme une *mixin* ::" -#: library/contextlib.rst:426 +#: library/contextlib.rst:430 msgid "" "As the decorated function must be able to be called multiple times, the " "underlying context manager must support use in multiple :keyword:`with` " @@ -461,7 +469,7 @@ msgstr "" "construction d'origine avec de multiples instructions :keyword:`!with` au " "sein de la fonction doit être utilisée." -#: library/contextlib.rst:436 +#: library/contextlib.rst:440 #, fuzzy msgid "" "Similar to :class:`ContextDecorator` but only for asynchronous functions." @@ -469,12 +477,12 @@ msgstr "" "Similaire à :meth:`enter_context` mais attend un gestionnaire de contexte " "asynchrone." -#: library/contextlib.rst:438 +#: library/contextlib.rst:442 #, fuzzy msgid "Example of ``AsyncContextDecorator``::" msgstr "Exemple de ``ContextDecorator`` ::" -#: library/contextlib.rst:475 +#: library/contextlib.rst:481 msgid "" "A context manager that is designed to make it easy to programmatically " "combine other context managers and cleanup functions, especially those that " @@ -485,7 +493,7 @@ msgstr "" "nettoyage, spécifiquement ceux qui sont optionnels ou pilotés par des " "données d'entrée." -#: library/contextlib.rst:479 +#: library/contextlib.rst:485 msgid "" "For example, a set of files may easily be handled in a single with statement " "as follows::" @@ -493,13 +501,13 @@ msgstr "" "Par exemple, un ensemble de fichiers peut facilement être géré dans une " "unique instruction *with* comme suit ::" -#: library/contextlib.rst:488 +#: library/contextlib.rst:494 msgid "" "The :meth:`__enter__` method returns the :class:`ExitStack` instance, and " "performs no additional operations." msgstr "" -#: library/contextlib.rst:491 +#: library/contextlib.rst:497 msgid "" "Each instance maintains a stack of registered callbacks that are called in " "reverse order when the instance is closed (either explicitly or implicitly " @@ -512,7 +520,7 @@ msgstr "" "que ces fonctions ne sont *pas* invoquées implicitement quand l'instance de " "la pile de contextes est collectée par le ramasse-miettes." -#: library/contextlib.rst:496 +#: library/contextlib.rst:502 msgid "" "This stack model is used so that context managers that acquire their " "resources in their ``__init__`` method (such as file objects) can be handled " @@ -522,7 +530,7 @@ msgstr "" "acquièrent leurs ressources dans leur méthode ``__init__`` (tels que les " "objets-fichiers) puissent être gérés correctement." -#: library/contextlib.rst:500 +#: library/contextlib.rst:506 msgid "" "Since registered callbacks are invoked in the reverse order of registration, " "this ends up behaving as if multiple nested :keyword:`with` statements had " @@ -538,7 +546,7 @@ msgstr "" "de rappel intérieure supprime ou remplace une exception, alors les fonctions " "extérieures reçoivent des arguments basés sur ce nouvel état." -#: library/contextlib.rst:507 +#: library/contextlib.rst:513 msgid "" "This is a relatively low level API that takes care of the details of " "correctly unwinding the stack of exit callbacks. It provides a suitable " @@ -550,7 +558,7 @@ msgstr "" "pour des gestionnaires de contexte de plus haut niveau qui manipulent la " "pile de sortie de manière spécifique à l'application." -#: library/contextlib.rst:516 +#: library/contextlib.rst:522 msgid "" "Enters a new context manager and adds its :meth:`__exit__` method to the " "callback stack. The return value is the result of the context manager's own :" @@ -560,7 +568,7 @@ msgstr "" "`__exit__` à la pile d'appels. La valeur de retour est le résultat de la " "méthode :meth:`__enter__` du gestionnaire de contexte donné." -#: library/contextlib.rst:520 +#: library/contextlib.rst:526 msgid "" "These context managers may suppress exceptions just as they normally would " "if used directly as part of a :keyword:`with` statement." @@ -569,13 +577,13 @@ msgstr "" "feraient normalement s'ils étaient utilisés directement derrière une " "instruction :keyword:`with`." -#: library/contextlib.rst:525 +#: library/contextlib.rst:531 msgid "Adds a context manager's :meth:`__exit__` method to the callback stack." msgstr "" "Ajoute la méthode :meth:`__exit__` d'un gestionnaire de contexte à la pile " "d'appels." -#: library/contextlib.rst:527 +#: library/contextlib.rst:533 msgid "" "As ``__enter__`` is *not* invoked, this method can be used to cover part of " "an :meth:`__enter__` implementation with a context manager's own :meth:" @@ -585,7 +593,7 @@ msgstr "" "pour couvrir une partie de l'implémentation de :meth:`__enter__` avec la " "propre méthode :meth:`__exit__` d'un gestionnaire de contexte." -#: library/contextlib.rst:531 +#: library/contextlib.rst:537 msgid "" "If passed an object that is not a context manager, this method assumes it is " "a callback with the same signature as a context manager's :meth:`__exit__` " @@ -596,7 +604,7 @@ msgstr "" "meth:`__exit__` des gestionnaires de contexte pour l'ajouter directement à " "la pile d'appels." -#: library/contextlib.rst:535 +#: library/contextlib.rst:541 msgid "" "By returning true values, these callbacks can suppress exceptions the same " "way context manager :meth:`__exit__` methods can." @@ -605,7 +613,7 @@ msgstr "" "exceptions de la même manière que le peuvent les méthodes :meth:`__exit__` " "des gestionnaires de contexte." -#: library/contextlib.rst:538 +#: library/contextlib.rst:544 msgid "" "The passed in object is returned from the function, allowing this method to " "be used as a function decorator." @@ -613,7 +621,7 @@ msgstr "" "L'objet passé en paramètre est renvoyé par la fonction, ce qui permet à la " "méthode d'être utilisée comme décorateur de fonction." -#: library/contextlib.rst:543 +#: library/contextlib.rst:549 msgid "" "Accepts an arbitrary callback function and arguments and adds it to the " "callback stack." @@ -621,7 +629,7 @@ msgstr "" "Accepte une fonction arbitraire et ses arguments et les ajoute à la pile des " "fonctions de rappel." -#: library/contextlib.rst:546 +#: library/contextlib.rst:552 msgid "" "Unlike the other methods, callbacks added this way cannot suppress " "exceptions (as they are never passed the exception details)." @@ -630,7 +638,7 @@ msgstr "" "cette manière ne peuvent pas supprimer les exceptions (puisqu'elles ne " "reçoivent jamais les détails de l'exception)." -#: library/contextlib.rst:549 +#: library/contextlib.rst:555 msgid "" "The passed in callback is returned from the function, allowing this method " "to be used as a function decorator." @@ -638,7 +646,7 @@ msgstr "" "La fonction passée en paramètre est renvoyée par la méthode, ce qui permet à " "la méthode d'être utilisée comme décorateur de fonction." -#: library/contextlib.rst:554 +#: library/contextlib.rst:560 msgid "" "Transfers the callback stack to a fresh :class:`ExitStack` instance and " "returns it. No callbacks are invoked by this operation - instead, they will " @@ -650,7 +658,7 @@ msgstr "" "la place, elles sont dorénavant invoquées quand la nouvelle pile sera close " "(soit explicitement soit implicitement à la fin d'un bloc :keyword:`with`)." -#: library/contextlib.rst:559 +#: library/contextlib.rst:565 msgid "" "For example, a group of files can be opened as an \"all or nothing\" " "operation as follows::" @@ -658,7 +666,7 @@ msgstr "" "Par exemple, un groupe de fichiers peut être ouvert comme une opération " "« tout ou rien » comme suit ::" -#: library/contextlib.rst:573 +#: library/contextlib.rst:579 msgid "" "Immediately unwinds the callback stack, invoking callbacks in the reverse " "order of registration. For any context managers and exit callbacks " @@ -669,7 +677,7 @@ msgstr "" "et fonction de sortie enregistré, les arguments passés indiqueront qu'aucune " "exception n'est survenue." -#: library/contextlib.rst:580 +#: library/contextlib.rst:586 msgid "" "An :ref:`asynchronous context manager `, similar to :" "class:`ExitStack`, that supports combining both synchronous and asynchronous " @@ -680,7 +688,7 @@ msgstr "" "de contexte synchrones et asynchrones, ainsi que la gestion de coroutines " "pour la logique de nettoyage." -#: library/contextlib.rst:585 +#: library/contextlib.rst:591 msgid "" "The :meth:`close` method is not implemented, :meth:`aclose` must be used " "instead." @@ -688,14 +696,14 @@ msgstr "" "La méthode :meth:`close` n'est pas implémentée, :meth:`aclose` doit plutôt " "être utilisée." -#: library/contextlib.rst:590 +#: library/contextlib.rst:596 msgid "" "Similar to :meth:`enter_context` but expects an asynchronous context manager." msgstr "" "Similaire à :meth:`enter_context` mais attend un gestionnaire de contexte " "asynchrone." -#: library/contextlib.rst:595 +#: library/contextlib.rst:601 msgid "" "Similar to :meth:`push` but expects either an asynchronous context manager " "or a coroutine function." @@ -703,24 +711,24 @@ msgstr "" "Similaire à :meth:`push` mais attend soit un gestionnaire de contexte " "asynchrone soit une fonction coroutine." -#: library/contextlib.rst:600 +#: library/contextlib.rst:606 msgid "Similar to :meth:`callback` but expects a coroutine function." msgstr "Similaire à :meth:`callback` mais attend une fonction coroutine." -#: library/contextlib.rst:604 +#: library/contextlib.rst:610 msgid "Similar to :meth:`close` but properly handles awaitables." msgstr "" "Similaire à :meth:`close` mais gère correctement les tâches asynchrones." -#: library/contextlib.rst:606 +#: library/contextlib.rst:612 msgid "Continuing the example for :func:`asynccontextmanager`::" msgstr "En continuité de l'exemple de :func:`asynccontextmanager` ::" -#: library/contextlib.rst:618 +#: library/contextlib.rst:624 msgid "Examples and Recipes" msgstr "Exemples et Recettes" -#: library/contextlib.rst:620 +#: library/contextlib.rst:626 msgid "" "This section describes some examples and recipes for making effective use of " "the tools provided by :mod:`contextlib`." @@ -728,11 +736,11 @@ msgstr "" "Cette section décrit quelques exemples et recettes pour décrire une " "utilisation réelle des outils fournis par :mod:`contextlib`." -#: library/contextlib.rst:625 +#: library/contextlib.rst:631 msgid "Supporting a variable number of context managers" msgstr "Gérer un nombre variable de gestionnaires de contexte" -#: library/contextlib.rst:627 +#: library/contextlib.rst:633 msgid "" "The primary use case for :class:`ExitStack` is the one given in the class " "documentation: supporting a variable number of context managers and other " @@ -749,7 +757,7 @@ msgstr "" "collection spécifique de fichiers de l'utilisateur), ou de certains " "gestionnaires de contexte qui peuvent être optionnels ::" -#: library/contextlib.rst:642 +#: library/contextlib.rst:648 msgid "" "As shown, :class:`ExitStack` also makes it quite easy to use :keyword:`with` " "statements to manage arbitrary resources that don't natively support the " @@ -759,11 +767,11 @@ msgstr "" "instructions :keyword:`with` pour gérer des ressources arbitraires qui ne " "gèrent pas nativement le protocole des gestionnaires de contexte." -#: library/contextlib.rst:648 +#: library/contextlib.rst:654 msgid "Catching exceptions from ``__enter__`` methods" msgstr "Attraper des exceptions depuis les méthodes ``__enter__``" -#: library/contextlib.rst:650 +#: library/contextlib.rst:656 msgid "" "It is occasionally desirable to catch exceptions from an ``__enter__`` " "method implementation, *without* inadvertently catching exceptions from the :" @@ -778,7 +786,7 @@ msgstr "" "`ExitStack`, les étapes du protocole des gestionnaires de contexte peuvent " "être légèrement séparées pour permettre le code suivant ::" -#: library/contextlib.rst:665 +#: library/contextlib.rst:671 msgid "" "Actually needing to do this is likely to indicate that the underlying API " "should be providing a direct resource management interface for use with :" @@ -797,11 +805,11 @@ msgstr "" "gestion de plusieurs situations qui ne peuvent pas être traitées directement " "dans une instruction :keyword:`with`." -#: library/contextlib.rst:675 +#: library/contextlib.rst:681 msgid "Cleaning up in an ``__enter__`` implementation" msgstr "Nettoyer dans une méthode ``__enter__``" -#: library/contextlib.rst:677 +#: library/contextlib.rst:683 msgid "" "As noted in the documentation of :meth:`ExitStack.push`, this method can be " "useful in cleaning up an already allocated resource if later steps in the :" @@ -811,7 +819,7 @@ msgstr "" "peut être utile pour nettoyer une ressource déjà allouée si les dernières " "étapes de l'implémentation de :meth:`__enter__` échouent." -#: library/contextlib.rst:681 +#: library/contextlib.rst:687 msgid "" "Here's an example of doing this for a context manager that accepts resource " "acquisition and release functions, along with an optional validation " @@ -821,11 +829,11 @@ msgstr "" "d'acquisition de ressources et de libération, avec une méthode de validation " "optionnelle, et qui les adapte au protocole des gestionnaires de contexte ::" -#: library/contextlib.rst:721 +#: library/contextlib.rst:727 msgid "Replacing any use of ``try-finally`` and flag variables" msgstr "Remplacer un ``try-finally`` avec une option variable" -#: library/contextlib.rst:723 +#: library/contextlib.rst:729 msgid "" "A pattern you will sometimes see is a ``try-finally`` statement with a flag " "variable to indicate whether or not the body of the ``finally`` clause " @@ -837,7 +845,7 @@ msgstr "" "ou non. Dans sa forme la plus simple (qui ne peut pas déjà être gérée avec " "juste une clause ``except``), cela ressemble à ::" -#: library/contextlib.rst:737 +#: library/contextlib.rst:743 msgid "" "As with any ``try`` statement based code, this can cause problems for " "development and review, because the setup code and the cleanup code can end " @@ -848,7 +856,7 @@ msgstr "" "codes d'installation et de nettoyage peuvent finir par être séparés par des " "sections de code arbitrairement longues." -#: library/contextlib.rst:741 +#: library/contextlib.rst:747 msgid "" ":class:`ExitStack` makes it possible to instead register a callback for " "execution at the end of a ``with`` statement, and then later decide to skip " @@ -858,7 +866,7 @@ msgstr "" "rappel pour être exécutée à la fin d'une instruction ``with``, et décider " "ensuite de passer l'exécution de cet appel ::" -#: library/contextlib.rst:753 +#: library/contextlib.rst:759 msgid "" "This allows the intended cleanup up behaviour to be made explicit up front, " "rather than requiring a separate flag variable." @@ -866,7 +874,7 @@ msgstr "" "Cela permet de rendre explicite dès le départ le comportement de nettoyage " "attendu, plutôt que de nécessiter une option séparée." -#: library/contextlib.rst:756 +#: library/contextlib.rst:762 msgid "" "If a particular application uses this pattern a lot, it can be simplified " "even further by means of a small helper class::" @@ -874,7 +882,7 @@ msgstr "" "Si une application particulière utilise beaucoup ce modèle, cela peut-être " "simplifié encore plus au moyen d'une petite classe d'aide ::" -#: library/contextlib.rst:774 +#: library/contextlib.rst:780 msgid "" "If the resource cleanup isn't already neatly bundled into a standalone " "function, then it is still possible to use the decorator form of :meth:" @@ -885,7 +893,7 @@ msgstr "" "`ExitStack.callback` pour déclarer la fonction de nettoyage de ressource en " "avance ::" -#: library/contextlib.rst:789 +#: library/contextlib.rst:795 msgid "" "Due to the way the decorator protocol works, a callback function declared " "this way cannot take any parameters. Instead, any resources to be released " @@ -896,12 +904,12 @@ msgstr "" "doivent être récupérées depuis l'extérieur comme des variables de fermeture " "(*closure*)." -#: library/contextlib.rst:795 +#: library/contextlib.rst:801 msgid "Using a context manager as a function decorator" msgstr "" "Utiliser un gestionnaire de contexte en tant que décorateur de fonction" -#: library/contextlib.rst:797 +#: library/contextlib.rst:803 msgid "" ":class:`ContextDecorator` makes it possible to use a context manager in both " "an ordinary ``with`` statement and also as a function decorator." @@ -910,7 +918,7 @@ msgstr "" "contexte à la fois ordinairement avec une instruction ``with`` ou comme un " "décorateur de fonction." -#: library/contextlib.rst:800 +#: library/contextlib.rst:806 msgid "" "For example, it is sometimes useful to wrap functions or groups of " "statements with a logger that can track the time of entry and time of exit. " @@ -925,17 +933,17 @@ msgstr "" "`ContextDecorator` fournit les deux fonctionnalités en une seule " "définition ::" -#: library/contextlib.rst:821 +#: library/contextlib.rst:827 msgid "Instances of this class can be used as both a context manager::" msgstr "" "Les instances de cette classe peuvent être utilisées comme gestionnaires de " "contexte ::" -#: library/contextlib.rst:827 +#: library/contextlib.rst:833 msgid "And also as a function decorator::" msgstr "Et comme décorateurs de fonctions ::" -#: library/contextlib.rst:834 +#: library/contextlib.rst:840 msgid "" "Note that there is one additional limitation when using context managers as " "function decorators: there's no way to access the return value of :meth:" @@ -947,11 +955,11 @@ msgstr "" "de retour de :meth:`__enter__`. Si cette valeur est nécessaire, il faut " "utiliser explicitement une instruction ``with``." -#: library/contextlib.rst:842 +#: library/contextlib.rst:848 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - The \"with\" statement" -#: library/contextlib.rst:842 +#: library/contextlib.rst:848 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -959,11 +967,11 @@ msgstr "" "La spécification, les motivations et des exemples de l'instruction :keyword:" "`with` en Python." -#: library/contextlib.rst:848 +#: library/contextlib.rst:854 msgid "Single use, reusable and reentrant context managers" msgstr "Gestionnaires de contexte à usage unique, réutilisables et réentrants" -#: library/contextlib.rst:850 +#: library/contextlib.rst:856 msgid "" "Most context managers are written in a way that means they can only be used " "effectively in a :keyword:`with` statement once. These single use context " @@ -976,7 +984,7 @@ msgstr "" "chaque fois qu'ils sont utilisés — tenter de les utiliser une seconde fois " "lève une exception ou ne fonctionne pas correctement." -#: library/contextlib.rst:856 +#: library/contextlib.rst:862 msgid "" "This common limitation means that it is generally advisable to create " "context managers directly in the header of the :keyword:`with` statement " @@ -987,7 +995,7 @@ msgstr "" "`with` où ils sont utilisés (comme montré dans tous les exemples " "d'utilisation au-dessus)." -#: library/contextlib.rst:860 +#: library/contextlib.rst:866 msgid "" "Files are an example of effectively single use context managers, since the " "first :keyword:`with` statement will close the file, preventing any further " @@ -998,7 +1006,7 @@ msgstr "" "`with` ferme le fichier, empêchant d'autres opérations d'entrée/sortie " "d'être exécutées sur ce fichier." -#: library/contextlib.rst:864 +#: library/contextlib.rst:870 msgid "" "Context managers created using :func:`contextmanager` are also single use " "context managers, and will complain about the underlying generator failing " @@ -1008,11 +1016,11 @@ msgstr "" "usage unique, et se plaindront du fait que le générateur sous-jacent ne " "produise plus de valeur si vous essayez de les utiliser une seconde fois ::" -#: library/contextlib.rst:892 +#: library/contextlib.rst:898 msgid "Reentrant context managers" msgstr "Gestionnaires de contexte réentrants" -#: library/contextlib.rst:894 +#: library/contextlib.rst:900 msgid "" "More sophisticated context managers may be \"reentrant\". These context " "managers can not only be used in multiple :keyword:`with` statements, but " @@ -1025,7 +1033,7 @@ msgstr "" "l'intérieur* d'une instruction :keyword:`!with` qui utilise déjà ce même " "gestionnaire de contexte." -#: library/contextlib.rst:899 +#: library/contextlib.rst:905 msgid "" ":class:`threading.RLock` is an example of a reentrant context manager, as " "are :func:`suppress` and :func:`redirect_stdout`. Here's a very simple " @@ -1035,7 +1043,7 @@ msgstr "" "réentrant, comme le sont aussi :func:`suppress` et :func:`redirect_stdout`. " "Voici un très simple exemple d'utilisation réentrante ::" -#: library/contextlib.rst:918 +#: library/contextlib.rst:924 msgid "" "Real world examples of reentrancy are more likely to involve multiple " "functions calling each other and hence be far more complicated than this " @@ -1045,7 +1053,7 @@ msgstr "" "fonctions s'entre-appelant, et donc être bien plus compliqués que cet " "exemple." -#: library/contextlib.rst:922 +#: library/contextlib.rst:928 msgid "" "Note also that being reentrant is *not* the same thing as being thread " "safe. :func:`redirect_stdout`, for example, is definitely not thread safe, " @@ -1057,11 +1065,11 @@ msgstr "" "puisqu'il effectue des changements globaux sur l'état du système en " "branchant :data:`sys.stdout` sur différents flux." -#: library/contextlib.rst:931 +#: library/contextlib.rst:937 msgid "Reusable context managers" msgstr "Gestionnaires de contexte réutilisables" -#: library/contextlib.rst:933 +#: library/contextlib.rst:939 msgid "" "Distinct from both single use and reentrant context managers are " "\"reusable\" context managers (or, to be completely explicit, \"reusable, " @@ -1079,7 +1087,7 @@ msgstr "" "contexte référencée a déjà été utilisée dans une instruction *with* " "englobante." -#: library/contextlib.rst:940 +#: library/contextlib.rst:946 msgid "" ":class:`threading.Lock` is an example of a reusable, but not reentrant, " "context manager (for a reentrant lock, it is necessary to use :class:" @@ -1089,7 +1097,7 @@ msgstr "" "réutilisable mais pas réentrant (pour un verrou réentrant, il faut à la " "place utiliser :class:`threading.RLock`)." -#: library/contextlib.rst:944 +#: library/contextlib.rst:950 msgid "" "Another example of a reusable, but not reentrant, context manager is :class:" "`ExitStack`, as it invokes *all* currently registered callbacks when leaving " @@ -1100,7 +1108,7 @@ msgstr "" "actuellement enregistrées en quittant l'instruction *with*, sans regarder où " "ces fonctions ont été ajoutées ::" -#: library/contextlib.rst:975 +#: library/contextlib.rst:981 msgid "" "As the output from the example shows, reusing a single stack object across " "multiple with statements works correctly, but attempting to nest them will " @@ -1112,7 +1120,7 @@ msgstr "" "imbriquer fait que la pile est vidée à la fin du *with* le plus imbriqué, ce " "qui n'est probablement pas le comportement voulu." -#: library/contextlib.rst:980 +#: library/contextlib.rst:986 msgid "" "Using separate :class:`ExitStack` instances instead of reusing a single " "instance avoids that problem::" diff --git a/library/copyreg.po b/library/copyreg.po index a59c1419f8..bfd4b8a3cf 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-11-23 15:14+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -49,36 +49,30 @@ msgstr "" "`TypeError` est levée." #: library/copyreg.rst:30 +#, fuzzy msgid "" "Declares that *function* should be used as a \"reduction\" function for " "objects of type *type*. *function* should return either a string or a tuple " -"containing two or three elements." +"containing two or three elements. See the :attr:`~pickle.Pickler." +"dispatch_table` for more details on the interface of *function*." msgstr "" "Déclare que *function* devrait être utilisée en tant que fonction de " "*réduction* pour des objets de type *type*. *function* doit soit renvoyer " "une chaîne de caractères soit un *n*-uplet qui contient deux ou trois " "éléments." -#: library/copyreg.rst:34 -#, fuzzy +#: library/copyreg.rst:35 msgid "" -"The optional *constructor* parameter, if provided, is a callable object " -"which can be used to reconstruct the object when called with the tuple of " -"arguments returned by *function* at pickling time. A :exc:`TypeError` is " -"raised if the *constructor* is not callable." +"The *constructor_ob* parameter is a legacy feature and is now ignored, but " +"if passed it must be a callable." msgstr "" -"Le paramètre optionnel *contructor*, s'il est donné, est un objet appelable " -"qui peux être utilisé pour reconstruire l’objet lorsqu'il est appelé avec un " -"*n*-uplet d'arguments renvoyés par *function* durant la sérialisation avec " -"*pickle*. Une exception :exc:`TypeError` est levée si *object* est une " -"classe ou si *constructor* n'est pas appelable." -#: library/copyreg.rst:39 +#: library/copyreg.rst:38 +#, fuzzy msgid "" -"See the :mod:`pickle` module for more details on the interface expected of " -"*function* and *constructor*. Note that the :attr:`~pickle.Pickler." -"dispatch_table` attribute of a pickler object or subclass of :class:`pickle." -"Pickler` can also be used for declaring reduction functions." +"Note that the :attr:`~pickle.Pickler.dispatch_table` attribute of a pickler " +"object or subclass of :class:`pickle.Pickler` can also be used for declaring " +"reduction functions." msgstr "" "Voir le module :mod:`pickle` pour plus de détails sur l'interface attendue " "de *function* et *constructor*. Notez que l’attribut :attr:`~pickle.Pickler." @@ -86,14 +80,27 @@ msgstr "" "`pickle.Pickler` peut aussi être utilisée pour déclarer des fonctions " "réductrices." -#: library/copyreg.rst:46 +#: library/copyreg.rst:43 msgid "Example" msgstr "Exemple" -#: library/copyreg.rst:48 +#: library/copyreg.rst:45 msgid "" "The example below would like to show how to register a pickle function and " "how it will be used:" msgstr "" "L'exemple si-dessous essaye de démontrer comment enregistrer une fonction " "*pickle* et comment elle sera utilisée :" + +#, fuzzy +#~ msgid "" +#~ "The optional *constructor* parameter, if provided, is a callable object " +#~ "which can be used to reconstruct the object when called with the tuple of " +#~ "arguments returned by *function* at pickling time. A :exc:`TypeError` is " +#~ "raised if the *constructor* is not callable." +#~ msgstr "" +#~ "Le paramètre optionnel *contructor*, s'il est donné, est un objet " +#~ "appelable qui peux être utilisé pour reconstruire l’objet lorsqu'il est " +#~ "appelé avec un *n*-uplet d'arguments renvoyés par *function* durant la " +#~ "sérialisation avec *pickle*. Une exception :exc:`TypeError` est levée si " +#~ "*object* est une classe ou si *constructor* n'est pas appelable." diff --git a/library/csv.po b/library/csv.po index a048f9d4b6..cb00babdca 100644 --- a/library/csv.po +++ b/library/csv.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-20 10:21+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -324,12 +324,12 @@ msgid "" "subtly different CSV data. :class:`Dialect` instances define how :class:" "`reader` and :class:`writer` instances behave." msgstr "" -"La classe :class:`Dialect` est une classe dont les attributs " -"contiennent des informations sur la façon de gérer les guillemets, les " -"espaces, les délimiteurs, etc. En raison de l’absence d’une spécification " -"CSV stricte, différentes applications produisent des données CSV subtilement " -"différentes. Les instances :class:`Dialect` définissent le comportement des " -"instances :class:`reader` et :class:`writer`." +"La classe :class:`Dialect` est une classe dont les attributs contiennent des " +"informations sur la façon de gérer les guillemets, les espaces, les " +"délimiteurs, etc. En raison de l’absence d’une spécification CSV stricte, " +"différentes applications produisent des données CSV subtilement différentes. " +"Les instances :class:`Dialect` définissent le comportement des instances :" +"class:`reader` et :class:`writer`." #: library/csv.rst:234 msgid "" @@ -610,8 +610,9 @@ msgstr "" "const:`QUOTE_MINIMAL`." #: library/csv.rst:415 +#, fuzzy msgid "" -"When :const:`True`, whitespace immediately following the *delimiter* is " +"When :const:`True`, spaces immediately following the *delimiter* are " "ignored. The default is :const:`False`." msgstr "" "Quand il vaut :const:`True`, les espaces suivant directement *delimiter* " diff --git a/library/ctypes.po b/library/ctypes.po index e8c7c37d38..1cef24dd19 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-09 08:06+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -262,13 +262,14 @@ msgstr "" "C)." #: library/ctypes.rst:197 +#, fuzzy msgid "" "``None``, integers, bytes objects and (unicode) strings are the only native " "Python objects that can directly be used as parameters in these function " "calls. ``None`` is passed as a C ``NULL`` pointer, bytes objects and strings " -"are passed as pointer to the memory block that contains their data (:c:type:" -"`char *` or :c:type:`wchar_t *`). Python integers are passed as the " -"platforms default C :c:type:`int` type, their value is masked to fit into " +"are passed as pointer to the memory block that contains their data (:c:expr:" +"`char *` or :c:expr:`wchar_t *`). Python integers are passed as the " +"platforms default C :c:expr:`int` type, their value is masked to fit into " "the C type." msgstr "" "``None``, les entiers, les objets octets et les chaînes de caractères " @@ -316,7 +317,8 @@ msgid ":class:`c_bool`" msgstr ":class:`c_bool`" #: library/ctypes.rst:218 -msgid ":c:type:`_Bool`" +#, fuzzy +msgid ":c:expr:`_Bool`" msgstr ":c:type:`_Bool`" #: library/ctypes.rst:218 @@ -328,7 +330,8 @@ msgid ":class:`c_char`" msgstr ":class:`c_char`" #: library/ctypes.rst:224 -msgid ":c:type:`char`" +#, fuzzy +msgid ":c:expr:`char`" msgstr ":c:type:`char`" #: library/ctypes.rst:220 @@ -340,7 +343,8 @@ msgid ":class:`c_wchar`" msgstr ":class:`c_wchar`" #: library/ctypes.rst:222 -msgid ":c:type:`wchar_t`" +#, fuzzy +msgid ":c:expr:`wchar_t`" msgstr ":c:type:`wchar_t`" #: library/ctypes.rst:222 @@ -361,7 +365,8 @@ msgid ":class:`c_ubyte`" msgstr ":class:`c_ubyte`" #: library/ctypes.rst:226 -msgid ":c:type:`unsigned char`" +#, fuzzy +msgid ":c:expr:`unsigned char`" msgstr ":c:type:`unsigned char`" #: library/ctypes.rst:228 @@ -369,7 +374,8 @@ msgid ":class:`c_short`" msgstr ":class:`c_short`" #: library/ctypes.rst:228 -msgid ":c:type:`short`" +#, fuzzy +msgid ":c:expr:`short`" msgstr ":c:type:`short`" #: library/ctypes.rst:230 @@ -377,7 +383,8 @@ msgid ":class:`c_ushort`" msgstr ":class:`c_ushort`" #: library/ctypes.rst:230 -msgid ":c:type:`unsigned short`" +#, fuzzy +msgid ":c:expr:`unsigned short`" msgstr ":c:type:`unsigned short`" #: library/ctypes.rst:232 @@ -385,7 +392,8 @@ msgid ":class:`c_int`" msgstr ":class:`c_int`" #: library/ctypes.rst:232 -msgid ":c:type:`int`" +#, fuzzy +msgid ":c:expr:`int`" msgstr ":c:type:`int`" #: library/ctypes.rst:234 @@ -393,7 +401,8 @@ msgid ":class:`c_uint`" msgstr ":class:`c_uint`" #: library/ctypes.rst:234 -msgid ":c:type:`unsigned int`" +#, fuzzy +msgid ":c:expr:`unsigned int`" msgstr ":c:type:`unsigned int`" #: library/ctypes.rst:236 @@ -401,7 +410,8 @@ msgid ":class:`c_long`" msgstr ":class:`c_long`" #: library/ctypes.rst:236 -msgid ":c:type:`long`" +#, fuzzy +msgid ":c:expr:`long`" msgstr ":c:type:`long`" #: library/ctypes.rst:238 @@ -409,7 +419,8 @@ msgid ":class:`c_ulong`" msgstr ":class:`c_ulong`" #: library/ctypes.rst:238 -msgid ":c:type:`unsigned long`" +#, fuzzy +msgid ":c:expr:`unsigned long`" msgstr ":c:type:`unsigned long`" #: library/ctypes.rst:240 @@ -417,7 +428,8 @@ msgid ":class:`c_longlong`" msgstr ":class:`c_longlong`" #: library/ctypes.rst:240 -msgid ":c:type:`__int64` or :c:type:`long long`" +#, fuzzy +msgid ":c:expr:`__int64` or :c:expr:`long long`" msgstr ":c:type:`__int64` ou :c:type:`long long`" #: library/ctypes.rst:242 @@ -425,7 +437,8 @@ msgid ":class:`c_ulonglong`" msgstr ":class:`c_ulonglong`" #: library/ctypes.rst:242 -msgid ":c:type:`unsigned __int64` or :c:type:`unsigned long long`" +#, fuzzy +msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" msgstr ":c:type:`unsigned __int64` ou :c:type:`unsigned long long`" #: library/ctypes.rst:245 @@ -433,7 +446,8 @@ msgid ":class:`c_size_t`" msgstr ":class:`c_size_t`" #: library/ctypes.rst:245 -msgid ":c:type:`size_t`" +#, fuzzy +msgid ":c:expr:`size_t`" msgstr ":c:type:`size_t`" #: library/ctypes.rst:247 @@ -441,7 +455,8 @@ msgid ":class:`c_ssize_t`" msgstr ":class:`c_ssize_t`" #: library/ctypes.rst:247 -msgid ":c:type:`ssize_t` or :c:type:`Py_ssize_t`" +#, fuzzy +msgid ":c:expr:`ssize_t` or :c:expr:`Py_ssize_t`" msgstr ":c:type:`ssize_t` ou :c:type:`Py_ssize_t`" #: library/ctypes.rst:250 @@ -449,7 +464,8 @@ msgid ":class:`c_float`" msgstr ":class:`c_float`" #: library/ctypes.rst:250 -msgid ":c:type:`float`" +#, fuzzy +msgid ":c:expr:`float`" msgstr ":c:type:`float`" #: library/ctypes.rst:252 library/ctypes.rst:254 @@ -461,7 +477,8 @@ msgid ":class:`c_double`" msgstr ":class:`c_double`" #: library/ctypes.rst:252 -msgid ":c:type:`double`" +#, fuzzy +msgid ":c:expr:`double`" msgstr ":c:type:`double`" #: library/ctypes.rst:254 @@ -469,7 +486,8 @@ msgid ":class:`c_longdouble`" msgstr ":class:`c_longdouble`" #: library/ctypes.rst:254 -msgid ":c:type:`long double`" +#, fuzzy +msgid ":c:expr:`long double`" msgstr ":c:type:`long double`" #: library/ctypes.rst:256 @@ -477,7 +495,8 @@ msgid ":class:`c_char_p`" msgstr ":class:`c_char_p`" #: library/ctypes.rst:256 -msgid ":c:type:`char *` (NUL terminated)" +#, fuzzy +msgid ":c:expr:`char *` (NUL terminated)" msgstr ":c:type:`char *` (terminé par NUL)" #: library/ctypes.rst:256 @@ -489,7 +508,8 @@ msgid ":class:`c_wchar_p`" msgstr ":class:`c_wchar_p`" #: library/ctypes.rst:258 -msgid ":c:type:`wchar_t *` (NUL terminated)" +#, fuzzy +msgid ":c:expr:`wchar_t *` (NUL terminated)" msgstr ":c:type:`wchar_t *` (terminé par NUL)" #: library/ctypes.rst:258 @@ -501,7 +521,8 @@ msgid ":class:`c_void_p`" msgstr ":class:`c_void_p`" #: library/ctypes.rst:260 -msgid ":c:type:`void *`" +#, fuzzy +msgid ":c:expr:`void *`" msgstr ":c:type:`void *`" #: library/ctypes.rst:260 @@ -556,11 +577,12 @@ msgstr "" "permet d'y accéder comme à une chaîne de caractères terminée par NUL ::" #: library/ctypes.rst:333 +#, fuzzy msgid "" "The :func:`create_string_buffer` function replaces the :func:`c_buffer` " "function (which is still available as an alias), as well as the :func:" "`c_string` function from earlier ctypes releases. To create a mutable " -"memory block containing unicode characters of the C type :c:type:`wchar_t` " +"memory block containing unicode characters of the C type :c:expr:`wchar_t` " "use the :func:`create_unicode_buffer` function." msgstr "" "La fonction :func:`create_string_buffer` remplace les fonctions :func:" @@ -683,8 +705,9 @@ msgid "Return types" msgstr "Types de sortie" #: library/ctypes.rst:447 +#, fuzzy msgid "" -"By default functions are assumed to return the C :c:type:`int` type. Other " +"By default functions are assumed to return the C :c:expr:`int` type. Other " "return types can be specified by setting the :attr:`restype` attribute of " "the function object." msgstr "" @@ -1350,8 +1373,9 @@ msgid "Quoting the docs for that value:" msgstr "Citons la documentation :" #: library/ctypes.rst:1078 +#, fuzzy msgid "" -"This pointer is initialized to point to an array of :c:type:`struct _frozen` " +"This pointer is initialized to point to an array of :c:struct:`_frozen` " "records, terminated by one whose members are all ``NULL`` or zero. When a " "frozen module is imported, it is searched in this table. Third-party code " "could play tricks with this to provide a dynamically created collection of " @@ -1373,9 +1397,10 @@ msgstr "" "avec :mod:`ctypes` ::" #: library/ctypes.rst:1095 +#, fuzzy msgid "" -"We have defined the :c:type:`struct _frozen` data type, so we can get the " -"pointer to the table::" +"We have defined the :c:struct:`_frozen` data type, so we can get the pointer " +"to the table::" msgstr "" "Le type de donnée :c:type:`struct _frozen` ayant été défini, nous pouvons " "récupérer le pointeur vers le tableau ::" @@ -1656,10 +1681,11 @@ msgstr "" "suivantes :" #: library/ctypes.rst:1325 +#, fuzzy msgid "" "Instances of this class represent loaded shared libraries. Functions in " "these libraries use the standard C calling convention, and are assumed to " -"return :c:type:`int`." +"return :c:expr:`int`." msgstr "" "Une instance de cette classe représente une bibliothèque partagée déjà " "chargée. Les fonctions de cette bibliothèque utilisent la convention d'appel " @@ -1715,10 +1741,11 @@ msgid ":exc:`WindowsError` used to be raised." msgstr ":exc:`WindowsError` était levée auparavant." #: library/ctypes.rst:1360 +#, fuzzy msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " -"assumed to return :c:type:`int` by default." +"assumed to return :c:expr:`int` by default." msgstr "" "En Windows seulement : une instance de cette classe représente une " "bibliothèque partagée déjà chargée. Les fonctions de cette bibliothèque " @@ -1962,9 +1989,10 @@ msgid "" msgstr "Il existe un moyen rapide d'accéder directement à l'API C Python :" #: library/ctypes.rst:1516 +#, fuzzy msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " -"attributes. Note that all these functions are assumed to return C :c:type:" +"attributes. Note that all these functions are assumed to return C :c:expr:" "`int`, which is of course not always the truth, so you have to assign the " "correct :attr:`restype` attribute to use these functions." msgstr "" @@ -2072,18 +2100,20 @@ msgstr "" "spécifiques de l'objet représentant la fonction externe." #: library/ctypes.rst:1563 +#, fuzzy msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " -"``None`` for :c:type:`void`, a function not returning anything." +"``None`` for :c:expr:`void`, a function not returning anything." msgstr "" "Fait correspondre le type de retour de la fonction externe à un type " "*ctypes*. Dans le cas où la fonction ne renvoie rien (:c:type:`void`), " "utilisez ``None``." #: library/ctypes.rst:1566 +#, fuzzy msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " -"in this case the function is assumed to return a C :c:type:`int`, and the " +"in this case the function is assumed to return a C :c:expr:`int`, and the " "callable will be called with this integer, allowing further processing or " "error checking. Using this is deprecated, for more flexible post processing " "or error checking use a ctypes data type as :attr:`restype` and assign a " @@ -2644,8 +2674,8 @@ msgstr "" #: library/ctypes.rst:1937 msgid "" "Windows only: Returns the last error code set by Windows in the calling " -"thread. This function calls the Windows `GetLastError()` function directly, " -"it does not return the ctypes-private copy of the error code." +"thread. This function calls the Windows ``GetLastError()`` function " +"directly, it does not return the ctypes-private copy of the error code." msgstr "" #: library/ctypes.rst:1943 @@ -2945,21 +2975,21 @@ msgstr "" #: library/ctypes.rst:2180 msgid "" -"Represents the C :c:type:`signed char` datatype, and interprets the value as " +"Represents the C :c:expr:`signed char` datatype, and interprets the value as " "small integer. The constructor accepts an optional integer initializer; no " "overflow checking is done." msgstr "" #: library/ctypes.rst:2187 msgid "" -"Represents the C :c:type:`char` datatype, and interprets the value as a " +"Represents the C :c:expr:`char` datatype, and interprets the value as a " "single character. The constructor accepts an optional string initializer, " "the length of the string must be exactly one character." msgstr "" #: library/ctypes.rst:2194 msgid "" -"Represents the C :c:type:`char *` datatype when it points to a zero-" +"Represents the C :c:expr:`char *` datatype when it points to a zero-" "terminated string. For a general character pointer that may also point to " "binary data, ``POINTER(c_char)`` must be used. The constructor accepts an " "integer address, or a bytes object." @@ -2967,69 +2997,69 @@ msgstr "" #: library/ctypes.rst:2202 msgid "" -"Represents the C :c:type:`double` datatype. The constructor accepts an " +"Represents the C :c:expr:`double` datatype. The constructor accepts an " "optional float initializer." msgstr "" #: library/ctypes.rst:2208 msgid "" -"Represents the C :c:type:`long double` datatype. The constructor accepts an " +"Represents the C :c:expr:`long double` datatype. The constructor accepts an " "optional float initializer. On platforms where ``sizeof(long double) == " "sizeof(double)`` it is an alias to :class:`c_double`." msgstr "" #: library/ctypes.rst:2214 msgid "" -"Represents the C :c:type:`float` datatype. The constructor accepts an " +"Represents the C :c:expr:`float` datatype. The constructor accepts an " "optional float initializer." msgstr "" #: library/ctypes.rst:2220 msgid "" -"Represents the C :c:type:`signed int` datatype. The constructor accepts an " +"Represents the C :c:expr:`signed int` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done. On platforms " "where ``sizeof(int) == sizeof(long)`` it is an alias to :class:`c_long`." msgstr "" #: library/ctypes.rst:2227 msgid "" -"Represents the C 8-bit :c:type:`signed int` datatype. Usually an alias for :" +"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :" "class:`c_byte`." msgstr "" #: library/ctypes.rst:2233 msgid "" -"Represents the C 16-bit :c:type:`signed int` datatype. Usually an alias " +"Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_short`." msgstr "" #: library/ctypes.rst:2239 msgid "" -"Represents the C 32-bit :c:type:`signed int` datatype. Usually an alias " +"Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_int`." msgstr "" #: library/ctypes.rst:2245 msgid "" -"Represents the C 64-bit :c:type:`signed int` datatype. Usually an alias " +"Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_longlong`." msgstr "" #: library/ctypes.rst:2251 msgid "" -"Represents the C :c:type:`signed long` datatype. The constructor accepts an " +"Represents the C :c:expr:`signed long` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done." msgstr "" #: library/ctypes.rst:2257 msgid "" -"Represents the C :c:type:`signed long long` datatype. The constructor " +"Represents the C :c:expr:`signed long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." msgstr "" #: library/ctypes.rst:2263 msgid "" -"Represents the C :c:type:`signed short` datatype. The constructor accepts " +"Represents the C :c:expr:`signed short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" @@ -3043,83 +3073,83 @@ msgstr "" #: library/ctypes.rst:2281 msgid "" -"Represents the C :c:type:`unsigned char` datatype, it interprets the value " +"Represents the C :c:expr:`unsigned char` datatype, it interprets the value " "as small integer. The constructor accepts an optional integer initializer; " "no overflow checking is done." msgstr "" #: library/ctypes.rst:2288 msgid "" -"Represents the C :c:type:`unsigned int` datatype. The constructor accepts " +"Represents the C :c:expr:`unsigned int` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done. On platforms " "where ``sizeof(int) == sizeof(long)`` it is an alias for :class:`c_ulong`." msgstr "" #: library/ctypes.rst:2295 msgid "" -"Represents the C 8-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ubyte`." msgstr "" #: library/ctypes.rst:2301 msgid "" -"Represents the C 16-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ushort`." msgstr "" #: library/ctypes.rst:2307 msgid "" -"Represents the C 32-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_uint`." msgstr "" #: library/ctypes.rst:2313 msgid "" -"Represents the C 64-bit :c:type:`unsigned int` datatype. Usually an alias " +"Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ulonglong`." msgstr "" #: library/ctypes.rst:2319 msgid "" -"Represents the C :c:type:`unsigned long` datatype. The constructor accepts " +"Represents the C :c:expr:`unsigned long` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" #: library/ctypes.rst:2325 msgid "" -"Represents the C :c:type:`unsigned long long` datatype. The constructor " +"Represents the C :c:expr:`unsigned long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." msgstr "" #: library/ctypes.rst:2331 msgid "" -"Represents the C :c:type:`unsigned short` datatype. The constructor accepts " +"Represents the C :c:expr:`unsigned short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" #: library/ctypes.rst:2337 msgid "" -"Represents the C :c:type:`void *` type. The value is represented as " +"Represents the C :c:expr:`void *` type. The value is represented as " "integer. The constructor accepts an optional integer initializer." msgstr "" #: library/ctypes.rst:2343 msgid "" -"Represents the C :c:type:`wchar_t` datatype, and interprets the value as a " +"Represents the C :c:expr:`wchar_t` datatype, and interprets the value as a " "single character unicode string. The constructor accepts an optional string " "initializer, the length of the string must be exactly one character." msgstr "" #: library/ctypes.rst:2350 msgid "" -"Represents the C :c:type:`wchar_t *` datatype, which must be a pointer to a " +"Represents the C :c:expr:`wchar_t *` datatype, which must be a pointer to a " "zero-terminated wide character string. The constructor accepts an integer " "address, or a string." msgstr "" #: library/ctypes.rst:2357 msgid "" -"Represent the C :c:type:`bool` datatype (more accurately, :c:type:`_Bool` " +"Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` " "from C99). Its value can be ``True`` or ``False``, and the constructor " "accepts any object that has a truth value." msgstr "" @@ -3132,8 +3162,8 @@ msgstr "" #: library/ctypes.rst:2370 msgid "" -"Represents the C :c:type:`PyObject *` datatype. Calling this without an " -"argument creates a ``NULL`` :c:type:`PyObject *` pointer." +"Represents the C :c:expr:`PyObject *` datatype. Calling this without an " +"argument creates a ``NULL`` :c:expr:`PyObject *` pointer." msgstr "" #: library/ctypes.rst:2373 diff --git a/library/curses.po b/library/curses.po index daba4d72d2..30305922fa 100644 --- a/library/curses.po +++ b/library/curses.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-04 11:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -347,7 +347,7 @@ msgid "" "Change the definition of a color, taking the number of the color to be " "changed followed by three RGB values (for the amounts of red, green, and " "blue components). The value of *color_number* must be between ``0`` and " -"`COLORS - 1`. Each of *r*, *g*, *b*, must be a value between ``0`` and " +"``COLORS - 1``. Each of *r*, *g*, *b*, must be a value between ``0`` and " "``1000``. When :func:`init_color` is used, all occurrences of that color on " "the screen immediately change to the new definition. This function is a no-" "op on most terminals; it is active only if :func:`can_change_color` returns " diff --git a/library/custominterp.po b/library/custominterp.po index cab65c9d29..9a52f5c87e 100644 --- a/library/custominterp.po +++ b/library/custominterp.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-29 19:08+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -19,12 +19,13 @@ msgid "Custom Python Interpreters" msgstr "Interpréteurs Python personnalisés" #: library/custominterp.rst:7 +#, fuzzy msgid "" "The modules described in this chapter allow writing interfaces similar to " "Python's interactive interpreter. If you want a Python interpreter that " "supports some special feature in addition to the Python language, you should " "look at the :mod:`code` module. (The :mod:`codeop` module is lower-level, " -"used to support compiling a possibly-incomplete chunk of Python code.)" +"used to support compiling a possibly incomplete chunk of Python code.)" msgstr "" "Les modules décrits dans ce chapitre permettent d'écrire des interfaces " "similaires à l'interpréteur interactif de Python. Si vous voulez un " diff --git a/library/dataclasses.po b/library/dataclasses.po index 10de53a109..252d3417f5 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-28 11:44+0200\n" "Last-Translator: David GIRAUD \n" "Language-Team: FRENCH \n" @@ -1124,6 +1124,47 @@ msgstr "" "Pour qu'un champ d'un type muable soit par défaut initialisé à un nouvel " "objet pour chaque instance, utilisez une fonction de fabrique :" +#: library/dataclasses.rst:731 +msgid "Descriptor-typed fields" +msgstr "" + +#: library/dataclasses.rst:733 +msgid "" +"Fields that are assigned :ref:`descriptor objects ` as their " +"default value have the following special behaviors:" +msgstr "" + +#: library/dataclasses.rst:736 +msgid "" +"The value for the field passed to the dataclass's ``__init__`` method is " +"passed to the descriptor's ``__set__`` method rather than overwriting the " +"descriptor object." +msgstr "" + +#: library/dataclasses.rst:739 +msgid "" +"Similarly, when getting or setting the field, the descriptor's ``__get__`` " +"or ``__set__`` method is called rather than returning or overwriting the " +"descriptor object." +msgstr "" + +#: library/dataclasses.rst:742 +msgid "" +"To determine whether a field contains a default value, ``dataclasses`` will " +"call the descriptor's ``__get__`` method using its class access form (i.e. " +"``descriptor.__get__(obj=None, type=cls)``. If the descriptor returns a " +"value in this case, it will be used as the field's default. On the other " +"hand, if the descriptor raises :exc:`AttributeError` in this situation, no " +"default value will be provided for the field." +msgstr "" + +#: library/dataclasses.rst:777 +msgid "" +"Note that if a field is annotated with a descriptor type, but is not " +"assigned a descriptor object as its default value, the field will act like a " +"normal field." +msgstr "" + #~ msgid "Module-level decorators, classes, and functions" #~ msgstr "Décorateurs, classes et fonctions du module" diff --git a/library/datetime.po b/library/datetime.po index b99ab9ad92..22ddbe679b 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 17:37+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" @@ -998,7 +998,8 @@ msgid "``date2 = date1 + timedelta``" msgstr "``date2 = date1 + timedelta``" #: library/datetime.rst:584 -msgid "*date2* is ``timedelta.days`` days removed from *date1*. (1)" +#, fuzzy +msgid "*date2* will be ``timedelta.days`` days after *date1*. (1)" msgstr "" "*date2* est décalée de ``timedelta.days`` jours par rapport à *date1*. (1)" @@ -3247,8 +3248,9 @@ msgstr "" "``offset.hours`` et ``offset.minutes``." #: library/datetime.rst:2248 +#, fuzzy msgid "" -"Name generated from ``offset=timedelta(0)`` is now plain `'UTC'`, not " +"Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not " "``'UTC+00:00'``." msgstr "" "Le nom généré à partir de ``offset=timedelta(0)`` est maintenant \"UTC\" " @@ -4145,10 +4147,11 @@ msgstr "" "conversion entre calendriers grégorien proleptique et les autres systèmes." #: library/datetime.rst:2586 +#, fuzzy msgid "" "See R. H. van Gent's `guide to the mathematics of the ISO 8601 calendar " -"`_ for a " -"good explanation." +"`_ for a good explanation." msgstr "" "Voir R. H. van Gent `guide des mathématiques du calendrier ISO 8601 `_ pour une bonne " diff --git a/library/decimal.po b/library/decimal.po index 23c7852786..f63c6ea85b 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-07 18:55+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -24,8 +24,9 @@ msgid "**Source code:** :source:`Lib/decimal.py`" msgstr "**Code source :** :source:`Lib/decimal.py`" #: library/decimal.rst:33 +#, fuzzy msgid "" -"The :mod:`decimal` module provides support for fast correctly-rounded " +"The :mod:`decimal` module provides support for fast correctly rounded " "decimal floating point arithmetic. It offers several advantages over the :" "class:`float` datatype:" msgstr "" @@ -206,9 +207,10 @@ msgstr "" "surveiller." #: library/decimal.rst:116 +#, fuzzy msgid "" "IBM's General Decimal Arithmetic Specification, `The General Decimal " -"Arithmetic Specification `_." +"Arithmetic Specification `_." msgstr "" "La spécification d'IBM sur l'arithmétique décimale : `The General Decimal " "Arithmetic Specification `_." @@ -685,11 +687,11 @@ msgstr "" #: library/decimal.rst:579 msgid "" -"Note `Decimal.from_float(0.1)` is not the same as `Decimal('0.1')`. Since " -"0.1 is not exactly representable in binary floating point, the value is " -"stored as the nearest representable value which is `0x1.999999999999ap-4`. " -"That equivalent value in decimal is " -"`0.1000000000000000055511151231257827021181583404541015625`." +"Note ``Decimal.from_float(0.1)`` is not the same as ``Decimal('0.1')``. " +"Since 0.1 is not exactly representable in binary floating point, the value " +"is stored as the nearest representable value which is " +"``0x1.999999999999ap-4``. That equivalent value in decimal is " +"``0.1000000000000000055511151231257827021181583404541015625``." msgstr "" #: library/decimal.rst:585 @@ -735,8 +737,8 @@ msgid "" "Return :const:`True` if the argument is a (quiet or signaling) NaN and :" "const:`False` otherwise." msgstr "" -"Renvoie :const:`True` si l'argument est un NaN (signalétique ou " -"silencieux) et :const:`False` sinon." +"Renvoie :const:`True` si l'argument est un NaN (signalétique ou silencieux) " +"et :const:`False` sinon." #: library/decimal.rst:632 msgid "" @@ -1405,7 +1407,8 @@ msgid "Divides two numbers and returns the integer part of the result." msgstr "Renvoie la partie entière de la division entre deux nombres." #: library/decimal.rst:1196 -msgid "Returns `e ** x`." +#, fuzzy +msgid "Returns ``e ** x``." msgstr "Renvoie `e ** x`." #: library/decimal.rst:1201 @@ -1427,8 +1430,8 @@ msgstr "Renvoie ``True`` si *x* est infini et ``False`` sinon." #: library/decimal.rst:1221 msgid "Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``." msgstr "" -"Renvoie ``True`` si *x* est un NaN (silencieux ou signalétique) et " -"``False`` sinon." +"Renvoie ``True`` si *x* est un NaN (silencieux ou signalétique) et ``False`` " +"sinon." #: library/decimal.rst:1226 msgid "" @@ -1437,8 +1440,7 @@ msgstr "" #: library/decimal.rst:1231 msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``." -msgstr "" -"Renvoie ``True`` si *x* est un NaN silencieux et ``False`` sinon." +msgstr "Renvoie ``True`` si *x* est un NaN silencieux et ``False`` sinon." #: library/decimal.rst:1236 msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``." @@ -1447,8 +1449,7 @@ msgstr "Renvoie ``True`` si *x* est négatif et ``False`` sinon." #: library/decimal.rst:1241 msgid "" "Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``." -msgstr "" -"Renvoie ``True`` si *x* est un NaN signalétique et ``False`` sinon." +msgstr "Renvoie ``True`` si *x* est un NaN signalétique et ``False`` sinon." #: library/decimal.rst:1246 msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``." @@ -1542,7 +1543,7 @@ msgid "" "With two arguments, compute ``x**y``. If ``x`` is negative then ``y`` must " "be integral. The result will be inexact unless ``y`` is integral and the " "result is finite and can be expressed exactly in 'precision' digits. The " -"rounding mode of the context is used. Results are always correctly-rounded " +"rounding mode of the context is used. Results are always correctly rounded " "in the Python version." msgstr "" @@ -1554,9 +1555,9 @@ msgstr "" #: library/decimal.rst:1364 msgid "" -"The C module computes :meth:`power` in terms of the correctly-rounded :meth:" +"The C module computes :meth:`power` in terms of the correctly rounded :meth:" "`exp` and :meth:`ln` functions. The result is well-defined but only \"almost " -"always correctly-rounded\"." +"always correctly rounded\"." msgstr "" #: library/decimal.rst:1369 @@ -2107,8 +2108,8 @@ msgid "" "to handle the :meth:`quantize` step:" msgstr "" "Lors du développement d'applications en virgule fixe, il est pratique de " -"définir des fonctions pour gérer cette étape de quantification " -"par :meth:`quantize` :" +"définir des fonctions pour gérer cette étape de quantification par :meth:" +"`quantize` :" #: library/decimal.rst:2052 msgid "" @@ -2207,7 +2208,7 @@ msgid "" "A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " "the decimal module integrate the high speed `libmpdec `_ library for arbitrary precision " -"correctly-rounded decimal floating point arithmetic [#]_. ``libmpdec`` uses " +"correctly rounded decimal floating point arithmetic [#]_. ``libmpdec`` uses " "`Karatsuba multiplication `_ for medium-sized numbers and the `Number Theoretic " "Transform \n" "Language-Team: FRENCH \n" @@ -519,14 +519,14 @@ msgstr "" #: library/difflib.rst:357 msgid "" -"`Pattern Matching: The Gestalt Approach `_" msgstr "" #: library/difflib.rst:357 msgid "" "Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " -"This was published in `Dr. Dobb's Journal `_ in " +"This was published in `Dr. Dobb's Journal `_ in " "July, 1988." msgstr "" diff --git a/library/dis.po b/library/dis.po index 4d679a5156..bbbd8b63bf 100644 --- a/library/dis.po +++ b/library/dis.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-07-18 21:03+0200\n" "Last-Translator: Aya Keddam \n" "Language-Team: FRENCH \n" @@ -56,11 +56,17 @@ msgstr "" "Utilisez 2 bits pour chaque instruction. Avant, le nombre de bits variait " "par instruction." -#: library/dis.rst:28 +#: library/dis.rst:27 +msgid "" +"The argument of jump, exception handling and loop instructions is now the " +"instruction offset rather than the byte offset." +msgstr "" + +#: library/dis.rst:32 msgid "Example: Given the function :func:`myfunc`::" msgstr "Exemple : Etant donné la fonction :func:`myfunc` ::" -#: library/dis.rst:33 +#: library/dis.rst:37 msgid "" "the following command can be used to display the disassembly of :func:" "`myfunc`::" @@ -68,15 +74,15 @@ msgstr "" "la commande suivante peut-être utilisé pour afficher le désassemblage de :" "func:`myfunc` ::" -#: library/dis.rst:42 +#: library/dis.rst:46 msgid "(The \"2\" is a line number)." msgstr "(Le \"2\" est un numéro de ligne)." -#: library/dis.rst:45 +#: library/dis.rst:49 msgid "Bytecode analysis" msgstr "Analyse du code intermédiaire" -#: library/dis.rst:49 +#: library/dis.rst:53 msgid "" "The bytecode analysis API allows pieces of Python code to be wrapped in a :" "class:`Bytecode` object that provides easy access to details of the compiled " @@ -86,7 +92,7 @@ msgstr "" "code en Python dans une classe :class:`Bytecode`, qui permet un accès facile " "aux détails du code compilé." -#: library/dis.rst:56 +#: library/dis.rst:60 msgid "" "Analyse the bytecode corresponding to a function, generator, asynchronous " "generator, coroutine, method, string of source code, or a code object (as " @@ -97,7 +103,7 @@ msgstr "" "caractères du code source, ou bien une classe (comme retourne la fonction :" "func:`compile`)." -#: library/dis.rst:60 +#: library/dis.rst:64 msgid "" "This is a convenience wrapper around many of the functions listed below, " "most notably :func:`get_instructions`, as iterating over a :class:`Bytecode` " @@ -108,7 +114,7 @@ msgstr "" "instance de la classe :class:`Bytecode` rend les opérations du code " "intermédiaire des instances de :class:`Instruction`." -#: library/dis.rst:225 +#: library/dis.rst:229 msgid "" "If *first_line* is not ``None``, it indicates the line number that should be " "reported for the first source line in the disassembled code. Otherwise, the " @@ -120,7 +126,7 @@ msgstr "" "Autrement, les informations sur la ligne source sont prises directement à " "partir de la classe du code désassemblé." -#: library/dis.rst:69 +#: library/dis.rst:73 msgid "" "If *current_offset* is not ``None``, it refers to an instruction offset in " "the disassembled code. Setting this means :meth:`.dis` will display a " @@ -131,7 +137,7 @@ msgstr "" "dire que :meth:`.dis` va générer un marqueur de \" l'instruction en cours\" " "contre le code d'opération donné." -#: library/dis.rst:75 +#: library/dis.rst:79 msgid "" "Construct a :class:`Bytecode` instance from the given traceback, setting " "*current_offset* to the instruction responsible for the exception." @@ -139,15 +145,15 @@ msgstr "" "Construisez une instance :class:`Bytecode` à partir de la trace d'appel, en " "mettant *current_offet* à l'instruction responsable de l'exception." -#: library/dis.rst:80 +#: library/dis.rst:84 msgid "The compiled code object." msgstr "Le code compilé objet." -#: library/dis.rst:84 +#: library/dis.rst:88 msgid "The first source line of the code object (if available)" msgstr "La première ligne source du code objet (si disponible)" -#: library/dis.rst:88 +#: library/dis.rst:92 msgid "" "Return a formatted view of the bytecode operations (the same as printed by :" "func:`dis.dis`, but returned as a multi-line string)." @@ -156,7 +162,7 @@ msgstr "" "celle envoyée par :func:`dis.dis`, mais comme une chaîne de caractères de " "plusieurs lignes )." -#: library/dis.rst:93 +#: library/dis.rst:97 msgid "" "Return a formatted multi-line string with detailed information about the " "code object, like :func:`code_info`." @@ -164,20 +170,20 @@ msgstr "" "Retourne une chaîne de caractères de plusieurs lignes formatée avec des " "informations détaillées sur l'objet code comme :func:`code_info`." -#: library/dis.rst:130 library/dis.rst:176 +#: library/dis.rst:134 library/dis.rst:180 msgid "This can now handle coroutine and asynchronous generator objects." msgstr "" "Cette version supporte la coroutine et les objets générateurs asynchrones." -#: library/dis.rst:99 +#: library/dis.rst:103 msgid "Example::" msgstr "Exemple ::" -#: library/dis.rst:112 +#: library/dis.rst:116 msgid "Analysis functions" msgstr "Analyse de fonctions" -#: library/dis.rst:114 +#: library/dis.rst:118 msgid "" "The :mod:`dis` module also defines the following analysis functions that " "convert the input directly to the desired output. They can be useful if only " @@ -189,7 +195,7 @@ msgstr "" "peuvent être utiles si il n'y a qu'une seule opération à effectuer, la " "représentation intermédiaire objet n'étant donc pas utile dans ce cas:" -#: library/dis.rst:120 +#: library/dis.rst:124 msgid "" "Return a formatted multi-line string with detailed code object information " "for the supplied function, generator, asynchronous generator, coroutine, " @@ -200,7 +206,7 @@ msgstr "" "générateurs asynchrone, coroutine, la méthode, la chaine de caractères du " "code source ou objet." -#: library/dis.rst:124 +#: library/dis.rst:128 msgid "" "Note that the exact contents of code info strings are highly implementation " "dependent and they may change arbitrarily across Python VMs or Python " @@ -211,7 +217,7 @@ msgstr "" "peuvent changer arbitrairement sous machines virtuelles Python ou les " "versions de Python." -#: library/dis.rst:136 +#: library/dis.rst:140 msgid "" "Print detailed code object information for the supplied function, method, " "source code string or code object to *file* (or ``sys.stdout`` if *file* is " @@ -221,7 +227,7 @@ msgstr "" "méthode, la chaîne de caractère du code source ou du code objet à *file* (ou " "bien ``sys.stdout`` si *file* n'est pas spécifié)." -#: library/dis.rst:140 +#: library/dis.rst:144 msgid "" "This is a convenient shorthand for ``print(code_info(x), file=file)``, " "intended for interactive exploration at the interpreter prompt." @@ -230,11 +236,11 @@ msgstr "" "principalement fait pour l'exploration interactive sur l'invite de " "l'interpréteur." -#: library/dis.rst:170 library/dis.rst:213 +#: library/dis.rst:174 library/dis.rst:217 msgid "Added *file* parameter." msgstr "Ajout du paramètre *file*." -#: library/dis.rst:151 +#: library/dis.rst:155 msgid "" "Disassemble the *x* object. *x* can denote either a module, a class, a " "method, a function, a generator, an asynchronous generator, a coroutine, a " @@ -263,7 +269,7 @@ msgstr "" "`compile` avant qu'elles ne soient désassemblées. Si aucun objet n'est " "fourni, cette fonction désassemble les dernières traces d'appel." -#: library/dis.rst:186 library/dis.rst:210 +#: library/dis.rst:190 library/dis.rst:214 msgid "" "The disassembly is written as text to the supplied *file* argument if " "provided and to ``sys.stdout`` otherwise." @@ -271,7 +277,7 @@ msgstr "" "Le désassemblage est envoyé sous forme de texte à l'argument du fichier " "*file* si il est fourni, et à ``sys.stdout`` sinon." -#: library/dis.rst:167 +#: library/dis.rst:171 msgid "" "The maximal depth of recursion is limited by *depth* unless it is ``None``. " "``depth=0`` means no recursion." @@ -279,13 +285,13 @@ msgstr "" "La profondeur maximale de récursion est limitée par *depth* sauf si elle " "correspond à ``None``. ``depth=0`` indique qu'il n'y a pas de récursion." -#: library/dis.rst:173 +#: library/dis.rst:177 msgid "Implemented recursive disassembling and added *depth* parameter." msgstr "" "Le désassemblage récursif a été implémenté, et le paramètre *depth* a été " "ajouté." -#: library/dis.rst:182 +#: library/dis.rst:186 msgid "" "Disassemble the top-of-stack function of a traceback, using the last " "traceback if none was passed. The instruction causing the exception is " @@ -295,7 +301,7 @@ msgstr "" "la dernière trace d'appels si rien n'a été envoyé. L'instruction à l'origine " "de l'exception est indiquée." -#: library/dis.rst:196 +#: library/dis.rst:200 msgid "" "Disassemble a code object, indicating the last instruction if *lasti* was " "provided. The output is divided in the following columns:" @@ -303,35 +309,35 @@ msgstr "" "Désassemble un code objet, en indiquant la dernière instruction si *lasti* " "est fournie. La sortie est répartie sur les colonnes suivantes :" -#: library/dis.rst:199 +#: library/dis.rst:203 msgid "the line number, for the first instruction of each line" msgstr "le numéro de ligne, pour la première instruction de chaque ligne" -#: library/dis.rst:200 +#: library/dis.rst:204 msgid "the current instruction, indicated as ``-->``," msgstr "l'instruction en cours, indiquée par ``-->``," -#: library/dis.rst:201 +#: library/dis.rst:205 msgid "a labelled instruction, indicated with ``>>``," msgstr "une instruction libellée, indiquée par ``> >``," -#: library/dis.rst:202 +#: library/dis.rst:206 msgid "the address of the instruction," msgstr "l'adresse de l'instruction," -#: library/dis.rst:203 +#: library/dis.rst:207 msgid "the operation code name," msgstr "le nom de le code d'opération," -#: library/dis.rst:204 +#: library/dis.rst:208 msgid "operation parameters, and" msgstr "paramètres de l'opération, et" -#: library/dis.rst:205 +#: library/dis.rst:209 msgid "interpretation of the parameters in parentheses." msgstr "interprétation des paramètres entre parenthèses." -#: library/dis.rst:207 +#: library/dis.rst:211 msgid "" "The parameter interpretation recognizes local and global variable names, " "constant values, branch targets, and compare operators." @@ -340,7 +346,7 @@ msgstr "" "globales, des valeurs constantes, des branchements cibles, et des opérateurs " "de comparaison." -#: library/dis.rst:219 +#: library/dis.rst:223 msgid "" "Return an iterator over the instructions in the supplied function, method, " "source code string or code object." @@ -348,7 +354,7 @@ msgstr "" "Retourne un itérateur sur les instructions dans la fonction fournie, la " "méthode, les chaînes de caractères du code source ou objet." -#: library/dis.rst:222 +#: library/dis.rst:226 msgid "" "The iterator generates a series of :class:`Instruction` named tuples giving " "the details of each operation in the supplied code." @@ -356,32 +362,36 @@ msgstr "" "Cet itérateur génère une série de *n*-uplets de :class:`Instruction` qui " "donnent les détails de chacune des opérations dans le code fourni." -#: library/dis.rst:235 +#: library/dis.rst:239 msgid "" -"This generator function uses the ``co_firstlineno`` and ``co_lnotab`` " -"attributes of the code object *code* to find the offsets which are starts of " -"lines in the source code. They are generated as ``(offset, lineno)`` pairs. " -"See :source:`Objects/lnotab_notes.txt` for the ``co_lnotab`` format and how " -"to decode it." +"This generator function uses the ``co_lines`` method of the code object " +"*code* to find the offsets which are starts of lines in the source code. " +"They are generated as ``(offset, lineno)`` pairs." msgstr "" -#: library/dis.rst:241 +#: library/dis.rst:243 msgid "Line numbers can be decreasing. Before, they were always increasing." msgstr "" "Les numéros de lignes peuvent être décroissants. Avant, ils étaient toujours " "croissants." -#: library/dis.rst:247 +#: library/dis.rst:246 +msgid "" +"The :pep:`626` ``co_lines`` method is used instead of the ``co_firstlineno`` " +"and ``co_lnotab`` attributes of the code object." +msgstr "" + +#: library/dis.rst:253 msgid "" "Detect all offsets in the raw compiled bytecode string *code* which are jump " "targets, and return a list of these offsets." msgstr "" -#: library/dis.rst:253 +#: library/dis.rst:259 msgid "Compute the stack effect of *opcode* with argument *oparg*." msgstr "" -#: library/dis.rst:255 +#: library/dis.rst:261 msgid "" "If the code has a jump target and *jump* is ``True``, :func:`~stack_effect` " "will return the stack effect of jumping. If *jump* is ``False``, it will " @@ -389,16 +399,16 @@ msgid "" "it will return the maximal stack effect of both cases." msgstr "" -#: library/dis.rst:262 +#: library/dis.rst:268 #, fuzzy msgid "Added *jump* parameter." msgstr "Ajout du paramètre *file*." -#: library/dis.rst:269 +#: library/dis.rst:275 msgid "Python Bytecode Instructions" msgstr "Les instructions du code intermédiaire en Python" -#: library/dis.rst:271 +#: library/dis.rst:277 msgid "" "The :func:`get_instructions` function and :class:`Bytecode` class provide " "details of bytecode instructions as :class:`Instruction` instances:" @@ -407,11 +417,11 @@ msgstr "" "des détails sur le code intermédiaire des instructions comme :class:" "`Instruction` instances:" -#: library/dis.rst:276 +#: library/dis.rst:282 msgid "Details for a bytecode operation" msgstr "Détails sur le code intermédiaire de l'opération" -#: library/dis.rst:280 +#: library/dis.rst:286 msgid "" "numeric code for operation, corresponding to the opcode values listed below " "and the bytecode values in the :ref:`opcode_collections`." @@ -420,185 +430,185 @@ msgstr "" "dessous et les valeurs du code intermédiaire dans la :ref:" "`opcode_collections`." -#: library/dis.rst:286 +#: library/dis.rst:292 msgid "human readable name for operation" msgstr "nom lisible/compréhensible de l'opération" -#: library/dis.rst:291 +#: library/dis.rst:297 msgid "numeric argument to operation (if any), otherwise ``None``" msgstr "le cas échéant, argument numérique de l'opération sinon ``None``" -#: library/dis.rst:296 +#: library/dis.rst:302 msgid "resolved arg value (if known), otherwise same as arg" msgstr "" -#: library/dis.rst:301 +#: library/dis.rst:307 msgid "human readable description of operation argument" msgstr "" -#: library/dis.rst:306 +#: library/dis.rst:312 msgid "start index of operation within bytecode sequence" msgstr "" -#: library/dis.rst:311 +#: library/dis.rst:317 msgid "line started by this opcode (if any), otherwise ``None``" msgstr "" -#: library/dis.rst:316 +#: library/dis.rst:322 msgid "``True`` if other code jumps to here, otherwise ``False``" msgstr "" -#: library/dis.rst:321 +#: library/dis.rst:327 msgid "" "The Python compiler currently generates the following bytecode instructions." msgstr "" -#: library/dis.rst:324 +#: library/dis.rst:330 msgid "**General instructions**" msgstr "" -#: library/dis.rst:328 +#: library/dis.rst:334 msgid "Do nothing code. Used as a placeholder by the bytecode optimizer." msgstr "" -#: library/dis.rst:333 +#: library/dis.rst:339 msgid "Removes the top-of-stack (TOS) item." msgstr "" -#: library/dis.rst:338 +#: library/dis.rst:344 msgid "Swaps the two top-most stack items." msgstr "" -#: library/dis.rst:343 +#: library/dis.rst:349 msgid "" "Lifts second and third stack item one position up, moves top down to " "position three." msgstr "" -#: library/dis.rst:349 +#: library/dis.rst:355 msgid "" "Lifts second, third and fourth stack items one position up, moves top down " "to position four." msgstr "" -#: library/dis.rst:357 +#: library/dis.rst:363 msgid "Duplicates the reference on top of the stack." msgstr "" -#: library/dis.rst:364 +#: library/dis.rst:370 msgid "" "Duplicates the two references on top of the stack, leaving them in the same " "order." msgstr "" -#: library/dis.rst:370 +#: library/dis.rst:376 msgid "**Unary operations**" msgstr "" -#: library/dis.rst:372 +#: library/dis.rst:378 msgid "" "Unary operations take the top of the stack, apply the operation, and push " "the result back on the stack." msgstr "" -#: library/dis.rst:377 +#: library/dis.rst:383 msgid "Implements ``TOS = +TOS``." msgstr "" -#: library/dis.rst:382 +#: library/dis.rst:388 msgid "Implements ``TOS = -TOS``." msgstr "" -#: library/dis.rst:387 +#: library/dis.rst:393 msgid "Implements ``TOS = not TOS``." msgstr "" -#: library/dis.rst:392 +#: library/dis.rst:398 msgid "Implements ``TOS = ~TOS``." msgstr "" -#: library/dis.rst:397 +#: library/dis.rst:403 msgid "Implements ``TOS = iter(TOS)``." msgstr "" -#: library/dis.rst:402 +#: library/dis.rst:408 msgid "" "If ``TOS`` is a :term:`generator iterator` or :term:`coroutine` object it is " "left as is. Otherwise, implements ``TOS = iter(TOS)``." msgstr "" -#: library/dis.rst:408 +#: library/dis.rst:414 msgid "**Binary operations**" msgstr "" -#: library/dis.rst:410 +#: library/dis.rst:416 msgid "" "Binary operations remove the top of the stack (TOS) and the second top-most " "stack item (TOS1) from the stack. They perform the operation, and put the " "result back on the stack." msgstr "" -#: library/dis.rst:416 +#: library/dis.rst:422 msgid "Implements ``TOS = TOS1 ** TOS``." msgstr "" -#: library/dis.rst:421 +#: library/dis.rst:427 msgid "Implements ``TOS = TOS1 * TOS``." msgstr "" -#: library/dis.rst:426 +#: library/dis.rst:432 msgid "Implements ``TOS = TOS1 @ TOS``." msgstr "" -#: library/dis.rst:433 +#: library/dis.rst:439 msgid "Implements ``TOS = TOS1 // TOS``." msgstr "" -#: library/dis.rst:438 +#: library/dis.rst:444 msgid "Implements ``TOS = TOS1 / TOS``." msgstr "" -#: library/dis.rst:443 +#: library/dis.rst:449 msgid "Implements ``TOS = TOS1 % TOS``." msgstr "" -#: library/dis.rst:448 +#: library/dis.rst:454 msgid "Implements ``TOS = TOS1 + TOS``." msgstr "" -#: library/dis.rst:453 +#: library/dis.rst:459 msgid "Implements ``TOS = TOS1 - TOS``." msgstr "" -#: library/dis.rst:458 +#: library/dis.rst:464 msgid "Implements ``TOS = TOS1[TOS]``." msgstr "" -#: library/dis.rst:463 +#: library/dis.rst:469 msgid "Implements ``TOS = TOS1 << TOS``." msgstr "" -#: library/dis.rst:468 +#: library/dis.rst:474 msgid "Implements ``TOS = TOS1 >> TOS``." msgstr "" -#: library/dis.rst:473 +#: library/dis.rst:479 msgid "Implements ``TOS = TOS1 & TOS``." msgstr "" -#: library/dis.rst:478 +#: library/dis.rst:484 msgid "Implements ``TOS = TOS1 ^ TOS``." msgstr "" -#: library/dis.rst:483 +#: library/dis.rst:489 msgid "Implements ``TOS = TOS1 | TOS``." msgstr "" -#: library/dis.rst:486 +#: library/dis.rst:492 msgid "**In-place operations**" msgstr "" -#: library/dis.rst:488 +#: library/dis.rst:494 msgid "" "In-place operations are like binary operations, in that they remove TOS and " "TOS1, and push the result back on the stack, but the operation is done in-" @@ -606,92 +616,92 @@ msgid "" "to be) the original TOS1." msgstr "" -#: library/dis.rst:495 +#: library/dis.rst:501 msgid "Implements in-place ``TOS = TOS1 ** TOS``." msgstr "" -#: library/dis.rst:500 +#: library/dis.rst:506 msgid "Implements in-place ``TOS = TOS1 * TOS``." msgstr "" -#: library/dis.rst:505 +#: library/dis.rst:511 msgid "Implements in-place ``TOS = TOS1 @ TOS``." msgstr "" -#: library/dis.rst:512 +#: library/dis.rst:518 msgid "Implements in-place ``TOS = TOS1 // TOS``." msgstr "" -#: library/dis.rst:517 +#: library/dis.rst:523 msgid "Implements in-place ``TOS = TOS1 / TOS``." msgstr "" -#: library/dis.rst:522 +#: library/dis.rst:528 msgid "Implements in-place ``TOS = TOS1 % TOS``." msgstr "" -#: library/dis.rst:527 +#: library/dis.rst:533 msgid "Implements in-place ``TOS = TOS1 + TOS``." msgstr "" -#: library/dis.rst:532 +#: library/dis.rst:538 msgid "Implements in-place ``TOS = TOS1 - TOS``." msgstr "" -#: library/dis.rst:537 +#: library/dis.rst:543 msgid "Implements in-place ``TOS = TOS1 << TOS``." msgstr "" -#: library/dis.rst:542 +#: library/dis.rst:548 msgid "Implements in-place ``TOS = TOS1 >> TOS``." msgstr "" -#: library/dis.rst:547 +#: library/dis.rst:553 msgid "Implements in-place ``TOS = TOS1 & TOS``." msgstr "" -#: library/dis.rst:552 +#: library/dis.rst:558 msgid "Implements in-place ``TOS = TOS1 ^ TOS``." msgstr "" -#: library/dis.rst:557 +#: library/dis.rst:563 msgid "Implements in-place ``TOS = TOS1 | TOS``." msgstr "" -#: library/dis.rst:562 +#: library/dis.rst:568 msgid "Implements ``TOS1[TOS] = TOS2``." msgstr "" -#: library/dis.rst:567 +#: library/dis.rst:573 msgid "Implements ``del TOS1[TOS]``." msgstr "" -#: library/dis.rst:570 +#: library/dis.rst:576 msgid "**Coroutine opcodes**" msgstr "" -#: library/dis.rst:574 +#: library/dis.rst:580 msgid "" "Implements ``TOS = get_awaitable(TOS)``, where ``get_awaitable(o)`` returns " "``o`` if ``o`` is a coroutine object or a generator object with the " "CO_ITERABLE_COROUTINE flag, or resolves ``o.__await__``." msgstr "" -#: library/dis.rst:584 +#: library/dis.rst:590 msgid "Implements ``TOS = TOS.__aiter__()``." msgstr "" -#: library/dis.rst:587 +#: library/dis.rst:593 msgid "Returning awaitable objects from ``__aiter__`` is no longer supported." msgstr "" -#: library/dis.rst:594 +#: library/dis.rst:600 msgid "" -"Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE`` " -"for details about ``get_awaitable``" +"Pushes ``get_awaitable(TOS.__anext__())`` to the stack. See " +"``GET_AWAITABLE`` for details about ``get_awaitable``." msgstr "" -#: library/dis.rst:602 +#: library/dis.rst:608 msgid "" "Terminates an :keyword:`async for` loop. Handles an exception raised when " "awaiting a next item. If TOS is :exc:`StopAsyncIteration` pop 7 values from " @@ -700,48 +710,48 @@ msgid "" "exception handler block is removed from the block stack." msgstr "" -#: library/dis.rst:613 +#: library/dis.rst:619 msgid "" "Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the " "stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack." msgstr "" -#: library/dis.rst:621 +#: library/dis.rst:627 msgid "Creates a new frame object." msgstr "" -#: library/dis.rst:627 +#: library/dis.rst:633 msgid "**Miscellaneous opcodes**" msgstr "" -#: library/dis.rst:631 +#: library/dis.rst:637 msgid "" "Implements the expression statement for the interactive mode. TOS is " "removed from the stack and printed. In non-interactive mode, an expression " "statement is terminated with :opcode:`POP_TOP`." msgstr "" -#: library/dis.rst:638 +#: library/dis.rst:644 msgid "" "Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions." msgstr "" -#: library/dis.rst:643 +#: library/dis.rst:649 msgid "" "Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions." msgstr "" -#: library/dis.rst:648 +#: library/dis.rst:654 msgid "" "Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict " "comprehensions." msgstr "" -#: library/dis.rst:652 +#: library/dis.rst:658 msgid "Map value is TOS and map key is TOS1. Before, those were reversed." msgstr "" -#: library/dis.rst:655 +#: library/dis.rst:661 msgid "" "For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and :opcode:" "`MAP_ADD` instructions, while the added value or key/value pair is popped " @@ -749,19 +759,19 @@ msgid "" "further iterations of the loop." msgstr "" -#: library/dis.rst:663 +#: library/dis.rst:669 msgid "Returns with TOS to the caller of the function." msgstr "" -#: library/dis.rst:668 +#: library/dis.rst:674 msgid "Pops TOS and yields it from a :term:`generator`." msgstr "" -#: library/dis.rst:673 +#: library/dis.rst:679 msgid "Pops TOS and delegates to it as a subiterator from a :term:`generator`." msgstr "" -#: library/dis.rst:680 +#: library/dis.rst:686 msgid "" "Checks whether ``__annotations__`` is defined in ``locals()``, if not it is " "set up to an empty ``dict``. This opcode is only emitted if a class or " @@ -769,20 +779,20 @@ msgid "" "statically." msgstr "" -#: library/dis.rst:690 +#: library/dis.rst:696 msgid "" "Loads all symbols not starting with ``'_'`` directly from the module TOS to " "the local namespace. The module is popped after loading all names. This " "opcode implements ``from module import *``." msgstr "" -#: library/dis.rst:697 +#: library/dis.rst:703 msgid "" "Removes one block from the block stack. Per frame, there is a stack of " "blocks, denoting :keyword:`try` statements, and such." msgstr "" -#: library/dis.rst:703 +#: library/dis.rst:709 msgid "" "Removes one block from the block stack. The popped block must be an " "exception handler block, as implicitly created when entering an except " @@ -790,14 +800,14 @@ msgid "" "last three popped values are used to restore the exception state." msgstr "" -#: library/dis.rst:711 +#: library/dis.rst:717 msgid "" "Re-raises the exception currently on top of the stack. If oparg is non-zero, " "restores ``f_lasti`` of the current frame to its value when the exception " "was raised." msgstr "" -#: library/dis.rst:719 +#: library/dis.rst:725 msgid "" "Calls the function in position 7 on the stack with the top three items on " "the stack as arguments. Used to implement the call ``context_manager." @@ -805,19 +815,19 @@ msgid "" "statement." msgstr "" -#: library/dis.rst:729 +#: library/dis.rst:735 msgid "" "Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` " "statement." msgstr "" -#: library/dis.rst:737 +#: library/dis.rst:743 msgid "" "Pushes :func:`builtins.__build_class__` onto the stack. It is later called " "by :opcode:`CALL_FUNCTION` to construct a class." msgstr "" -#: library/dis.rst:743 +#: library/dis.rst:749 msgid "" "This opcode performs several operations before a with block starts. First, " "it loads :meth:`~object.__exit__` from the context manager and pushes it " @@ -829,18 +839,18 @@ msgid "" "or :opcode:`UNPACK_SEQUENCE`)." msgstr "" -#: library/dis.rst:757 +#: library/dis.rst:763 msgid "" "TOS is a tuple of mapping keys, and TOS1 is the match subject. Replace TOS " "with a :class:`dict` formed from the items of TOS1, but without any of the " "keys in TOS." msgstr "" -#: library/dis.rst:766 +#: library/dis.rst:772 msgid "Push ``len(TOS)`` onto the stack." msgstr "" -#: library/dis.rst:773 +#: library/dis.rst:779 msgid "" "If TOS is an instance of :class:`collections.abc.Mapping` (or, more " "technically: if it has the :const:`Py_TPFLAGS_MAPPING` flag set in its :c:" @@ -848,7 +858,7 @@ msgid "" "push ``False``." msgstr "" -#: library/dis.rst:783 +#: library/dis.rst:789 msgid "" "If TOS is an instance of :class:`collections.abc.Sequence` and is *not* an " "instance of :class:`str`/:class:`bytes`/:class:`bytearray` (or, more " @@ -857,7 +867,7 @@ msgid "" "push ``False``." msgstr "" -#: library/dis.rst:793 +#: library/dis.rst:799 msgid "" "TOS is a tuple of mapping keys, and TOS1 is the match subject. If TOS1 " "contains all of the keys in TOS, push a :class:`tuple` containing the " @@ -865,30 +875,30 @@ msgid "" "followed by ``False``." msgstr "" -#: library/dis.rst:801 +#: library/dis.rst:807 msgid "All of the following opcodes use their arguments." msgstr "" -#: library/dis.rst:805 +#: library/dis.rst:811 msgid "" "Implements ``name = TOS``. *namei* is the index of *name* in the attribute :" "attr:`co_names` of the code object. The compiler tries to use :opcode:" "`STORE_FAST` or :opcode:`STORE_GLOBAL` if possible." msgstr "" -#: library/dis.rst:812 +#: library/dis.rst:818 msgid "" "Implements ``del name``, where *namei* is the index into :attr:`co_names` " "attribute of the code object." msgstr "" -#: library/dis.rst:818 +#: library/dis.rst:824 msgid "" "Unpacks TOS into *count* individual values, which are put onto the stack " "right-to-left." msgstr "" -#: library/dis.rst:824 +#: library/dis.rst:830 msgid "" "Implements assignment with a starred target: Unpacks an iterable in TOS into " "individual values, where the total number of values can be smaller than the " @@ -896,119 +906,119 @@ msgid "" "leftover items." msgstr "" -#: library/dis.rst:829 +#: library/dis.rst:835 msgid "" "The low byte of *counts* is the number of values before the list value, the " "high byte of *counts* the number of values after it. The resulting values " "are put onto the stack right-to-left." msgstr "" -#: library/dis.rst:836 +#: library/dis.rst:842 msgid "" "Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:" "`co_names`." msgstr "" -#: library/dis.rst:842 +#: library/dis.rst:848 msgid "" "Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`." msgstr "" -#: library/dis.rst:847 +#: library/dis.rst:853 msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global." msgstr "" -#: library/dis.rst:852 +#: library/dis.rst:858 msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name." msgstr "" -#: library/dis.rst:857 +#: library/dis.rst:863 msgid "Pushes ``co_consts[consti]`` onto the stack." msgstr "" -#: library/dis.rst:862 +#: library/dis.rst:868 msgid "Pushes the value associated with ``co_names[namei]`` onto the stack." msgstr "" -#: library/dis.rst:867 +#: library/dis.rst:873 msgid "" "Creates a tuple consuming *count* items from the stack, and pushes the " "resulting tuple onto the stack." msgstr "" -#: library/dis.rst:873 +#: library/dis.rst:879 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." msgstr "" -#: library/dis.rst:878 +#: library/dis.rst:884 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." msgstr "" -#: library/dis.rst:883 +#: library/dis.rst:889 msgid "" "Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so " "that the dictionary holds *count* entries: ``{..., TOS3: TOS2, TOS1: TOS}``." msgstr "" -#: library/dis.rst:887 +#: library/dis.rst:893 msgid "" "The dictionary is created from stack items instead of creating an empty " "dictionary pre-sized to hold *count* items." msgstr "" -#: library/dis.rst:894 +#: library/dis.rst:900 msgid "" "The version of :opcode:`BUILD_MAP` specialized for constant keys. Pops the " "top element on the stack which contains a tuple of keys, then starting from " "``TOS1``, pops *count* values to form values in the built dictionary." msgstr "" -#: library/dis.rst:903 +#: library/dis.rst:909 msgid "" "Concatenates *count* strings from the stack and pushes the resulting string " "onto the stack." msgstr "" -#: library/dis.rst:911 +#: library/dis.rst:917 msgid "" "Pops a list from the stack and pushes a tuple containing the same values." msgstr "" -#: library/dis.rst:918 +#: library/dis.rst:924 msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists." msgstr "" -#: library/dis.rst:925 +#: library/dis.rst:931 msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets." msgstr "" -#: library/dis.rst:932 +#: library/dis.rst:938 msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts." msgstr "" -#: library/dis.rst:939 +#: library/dis.rst:945 msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." msgstr "" -#: library/dis.rst:946 +#: library/dis.rst:952 msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." msgstr "" -#: library/dis.rst:951 +#: library/dis.rst:957 msgid "" "Performs a Boolean operation. The operation name can be found in " "``cmp_op[opname]``." msgstr "" -#: library/dis.rst:957 +#: library/dis.rst:963 msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." msgstr "" -#: library/dis.rst:964 +#: library/dis.rst:970 msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." msgstr "" -#: library/dis.rst:971 +#: library/dis.rst:977 msgid "" "Imports the module ``co_names[namei]``. TOS and TOS1 are popped and provide " "the *fromlist* and *level* arguments of :func:`__import__`. The module " @@ -1017,48 +1027,48 @@ msgid "" "modifies the namespace." msgstr "" -#: library/dis.rst:980 +#: library/dis.rst:986 msgid "" "Loads the attribute ``co_names[namei]`` from the module found in TOS. The " "resulting object is pushed onto the stack, to be subsequently stored by a :" "opcode:`STORE_FAST` instruction." msgstr "" -#: library/dis.rst:987 +#: library/dis.rst:993 msgid "Increments bytecode counter by *delta*." msgstr "" -#: library/dis.rst:992 +#: library/dis.rst:998 msgid "If TOS is true, sets the bytecode counter to *target*. TOS is popped." msgstr "" -#: library/dis.rst:999 +#: library/dis.rst:1005 msgid "If TOS is false, sets the bytecode counter to *target*. TOS is popped." msgstr "" -#: library/dis.rst:1005 +#: library/dis.rst:1011 msgid "" "Tests whether the second value on the stack is an exception matching TOS, " "and jumps if it is not. Pops two values from the stack." msgstr "" -#: library/dis.rst:1013 +#: library/dis.rst:1019 msgid "" "If TOS is true, sets the bytecode counter to *target* and leaves TOS on the " "stack. Otherwise (TOS is false), TOS is popped." msgstr "" -#: library/dis.rst:1021 +#: library/dis.rst:1027 msgid "" "If TOS is false, sets the bytecode counter to *target* and leaves TOS on the " "stack. Otherwise (TOS is true), TOS is popped." msgstr "" -#: library/dis.rst:1029 +#: library/dis.rst:1035 msgid "Set bytecode counter to *target*." msgstr "" -#: library/dis.rst:1034 +#: library/dis.rst:1040 msgid "" "TOS is an :term:`iterator`. Call its :meth:`~iterator.__next__` method. If " "this yields a new value, push it on the stack (leaving the iterator below " @@ -1066,30 +1076,30 @@ msgid "" "code counter is incremented by *delta*." msgstr "" -#: library/dis.rst:1042 +#: library/dis.rst:1048 msgid "Loads the global named ``co_names[namei]`` onto the stack." msgstr "" -#: library/dis.rst:1047 +#: library/dis.rst:1053 msgid "" "Pushes a try block from a try-finally or try-except clause onto the block " "stack. *delta* points to the finally block or the first except block." msgstr "" -#: library/dis.rst:1053 +#: library/dis.rst:1059 msgid "" "Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." msgstr "" -#: library/dis.rst:1058 +#: library/dis.rst:1064 msgid "Stores TOS into the local ``co_varnames[var_num]``." msgstr "" -#: library/dis.rst:1063 +#: library/dis.rst:1069 msgid "Deletes local ``co_varnames[var_num]``." msgstr "" -#: library/dis.rst:1068 +#: library/dis.rst:1074 msgid "" "Pushes a reference to the cell contained in slot *i* of the cell and free " "variable storage. The name of the variable is ``co_cellvars[i]`` if *i* is " @@ -1097,52 +1107,52 @@ msgid "" "len(co_cellvars)]``." msgstr "" -#: library/dis.rst:1076 +#: library/dis.rst:1082 msgid "" "Loads the cell contained in slot *i* of the cell and free variable storage. " "Pushes a reference to the object the cell contains on the stack." msgstr "" -#: library/dis.rst:1082 +#: library/dis.rst:1088 msgid "" "Much like :opcode:`LOAD_DEREF` but first checks the locals dictionary before " "consulting the cell. This is used for loading free variables in class " "bodies." msgstr "" -#: library/dis.rst:1091 +#: library/dis.rst:1097 msgid "" "Stores TOS into the cell contained in slot *i* of the cell and free variable " "storage." msgstr "" -#: library/dis.rst:1097 +#: library/dis.rst:1103 msgid "" "Empties the cell contained in slot *i* of the cell and free variable " "storage. Used by the :keyword:`del` statement." msgstr "" -#: library/dis.rst:1105 +#: library/dis.rst:1111 msgid "" "Raises an exception using one of the 3 forms of the ``raise`` statement, " "depending on the value of *argc*:" msgstr "" -#: library/dis.rst:1108 +#: library/dis.rst:1114 msgid "0: ``raise`` (re-raise previous exception)" msgstr "" -#: library/dis.rst:1109 +#: library/dis.rst:1115 msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)" msgstr "" -#: library/dis.rst:1110 +#: library/dis.rst:1116 msgid "" "2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` " "with ``__cause__`` set to ``TOS``)" msgstr "" -#: library/dis.rst:1116 +#: library/dis.rst:1122 msgid "" "Calls a callable object with positional arguments. *argc* indicates the " "number of positional arguments. The top of the stack contains positional " @@ -1152,11 +1162,11 @@ msgid "" "arguments, and pushes the return value returned by the callable object." msgstr "" -#: library/dis.rst:1124 +#: library/dis.rst:1130 msgid "This opcode is used only for calls with positional arguments." msgstr "" -#: library/dis.rst:1130 +#: library/dis.rst:1136 msgid "" "Calls a callable object with positional (if any) and keyword arguments. " "*argc* indicates the total number of positional and keyword arguments. The " @@ -1170,13 +1180,13 @@ msgid "" "object." msgstr "" -#: library/dis.rst:1142 +#: library/dis.rst:1148 msgid "" "Keyword arguments are packed in a tuple instead of a dictionary, *argc* " "indicates the total number of arguments." msgstr "" -#: library/dis.rst:1149 +#: library/dis.rst:1155 msgid "" "Calls a callable object with variable set of positional and keyword " "arguments. If the lowest bit of *flags* is set, the top of the stack " @@ -1188,7 +1198,7 @@ msgid "" "arguments, and pushes the return value returned by the callable object." msgstr "" -#: library/dis.rst:1164 +#: library/dis.rst:1170 msgid "" "Loads a method named ``co_names[namei]`` from the TOS object. TOS is popped. " "This bytecode distinguishes two cases: if TOS has a method with the correct " @@ -1198,7 +1208,7 @@ msgid "" "lookup are pushed." msgstr "" -#: library/dis.rst:1176 +#: library/dis.rst:1182 msgid "" "Calls a method. *argc* is the number of positional arguments. Keyword " "arguments are not supported. This opcode is designed to be used with :" @@ -1208,50 +1218,50 @@ msgid "" "callable). All of them are popped and the return value is pushed." msgstr "" -#: library/dis.rst:1188 +#: library/dis.rst:1194 msgid "" "Pushes a new function object on the stack. From bottom to top, the consumed " "stack must consist of values if the argument carries a specified flag value" msgstr "" -#: library/dis.rst:1191 +#: library/dis.rst:1197 msgid "" "``0x01`` a tuple of default values for positional-only and positional-or-" "keyword parameters in positional order" msgstr "" -#: library/dis.rst:1193 +#: library/dis.rst:1199 msgid "``0x02`` a dictionary of keyword-only parameters' default values" msgstr "" -#: library/dis.rst:1194 +#: library/dis.rst:1200 msgid "``0x04`` a tuple of strings containing parameters' annotations" msgstr "" -#: library/dis.rst:1195 +#: library/dis.rst:1201 msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" -#: library/dis.rst:1196 +#: library/dis.rst:1202 msgid "the code associated with the function (at TOS1)" msgstr "" -#: library/dis.rst:1197 +#: library/dis.rst:1203 msgid "the :term:`qualified name` of the function (at TOS)" msgstr "" -#: library/dis.rst:1199 +#: library/dis.rst:1205 msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary" msgstr "" -#: library/dis.rst:1206 +#: library/dis.rst:1212 msgid "" "Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " "``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is " "pushed. See the :func:`slice` built-in function for more information." msgstr "" -#: library/dis.rst:1213 +#: library/dis.rst:1219 msgid "" "Prefixes any opcode which has an argument too big to fit into the default " "one byte. *ext* holds an additional byte which act as higher bits in the " @@ -1259,113 +1269,113 @@ msgid "" "allowed, forming an argument from two-byte to four-byte." msgstr "" -#: library/dis.rst:1221 +#: library/dis.rst:1227 msgid "" "Used for implementing formatted literal strings (f-strings). Pops an " "optional *fmt_spec* from the stack, then a required *value*. *flags* is " "interpreted as follows:" msgstr "" -#: library/dis.rst:1225 +#: library/dis.rst:1231 msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." msgstr "" -#: library/dis.rst:1226 +#: library/dis.rst:1232 msgid "" "``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." msgstr "" -#: library/dis.rst:1228 +#: library/dis.rst:1234 msgid "" "``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " "it." msgstr "" -#: library/dis.rst:1230 +#: library/dis.rst:1236 msgid "" "``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " "it." msgstr "" -#: library/dis.rst:1232 +#: library/dis.rst:1238 msgid "" "``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " "use an empty *fmt_spec*." msgstr "" -#: library/dis.rst:1235 +#: library/dis.rst:1241 msgid "" "Formatting is performed using :c:func:`PyObject_Format`. The result is " "pushed on the stack." msgstr "" -#: library/dis.rst:1243 +#: library/dis.rst:1249 msgid "" "TOS is a tuple of keyword attribute names, TOS1 is the class being matched " "against, and TOS2 is the match subject. *count* is the number of positional " "sub-patterns." msgstr "" -#: library/dis.rst:1247 +#: library/dis.rst:1253 msgid "" "Pop TOS. If TOS2 is an instance of TOS1 and has the positional and keyword " "attributes required by *count* and TOS, set TOS to ``True`` and TOS1 to a " "tuple of extracted attributes. Otherwise, set TOS to ``False``." msgstr "" -#: library/dis.rst:1255 +#: library/dis.rst:1261 msgid "" "Pops TOS. The ``kind`` operand corresponds to the type of generator or " "coroutine. The legal kinds are 0 for generator, 1 for coroutine, and 2 for " "async generator." msgstr "" -#: library/dis.rst:1264 +#: library/dis.rst:1270 msgid "" "Lift the top *count* stack items one position up, and move TOS down to " "position *count*." msgstr "" -#: library/dis.rst:1272 +#: library/dis.rst:1278 msgid "" "This is not really an opcode. It identifies the dividing line between " "opcodes which don't use their argument and those that do (``< " "HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively)." msgstr "" -#: library/dis.rst:1276 +#: library/dis.rst:1282 msgid "" "Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` " "ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument." msgstr "" -#: library/dis.rst:1284 +#: library/dis.rst:1290 msgid "Opcode collections" msgstr "" -#: library/dis.rst:1286 +#: library/dis.rst:1292 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" msgstr "" -#: library/dis.rst:1291 +#: library/dis.rst:1297 msgid "Sequence of operation names, indexable using the bytecode." msgstr "" -#: library/dis.rst:1296 +#: library/dis.rst:1302 msgid "Dictionary mapping operation names to bytecodes." msgstr "" -#: library/dis.rst:1301 +#: library/dis.rst:1307 msgid "Sequence of all compare operation names." msgstr "" -#: library/dis.rst:1306 +#: library/dis.rst:1312 msgid "Sequence of bytecodes that access a constant." msgstr "" -#: library/dis.rst:1311 +#: library/dis.rst:1317 msgid "" "Sequence of bytecodes that access a free variable (note that 'free' in this " "context refers to names in the current scope that are referenced by inner " @@ -1373,22 +1383,22 @@ msgid "" "does *not* include references to global or builtin scopes)." msgstr "" -#: library/dis.rst:1319 +#: library/dis.rst:1325 msgid "Sequence of bytecodes that access an attribute by name." msgstr "" -#: library/dis.rst:1324 +#: library/dis.rst:1330 msgid "Sequence of bytecodes that have a relative jump target." msgstr "" -#: library/dis.rst:1329 +#: library/dis.rst:1335 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "" -#: library/dis.rst:1334 +#: library/dis.rst:1340 msgid "Sequence of bytecodes that access a local variable." msgstr "" -#: library/dis.rst:1339 +#: library/dis.rst:1345 msgid "Sequence of bytecodes of Boolean operations." msgstr "" diff --git a/library/doctest.po b/library/doctest.po index f85d709bf5..3c53e58458 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-09-12 09:38-0400\n" "Last-Translator: Edith Viau \n" "Language-Team: FRENCH \n" @@ -789,7 +789,7 @@ msgstr "" #: library/doctest.rst:567 msgid "" "When specified, doctests expecting exceptions pass so long as an exception " -"of the expected type is raised, even if the details (message and fully-" +"of the expected type is raised, even if the details (message and fully " "qualified exception name) don't match." msgstr "" @@ -797,7 +797,7 @@ msgstr "" msgid "" "For example, an example expecting ``ValueError: 42`` will pass if the actual " "exception raised is ``ValueError: 3*14``, but will fail if, say, a :exc:" -"`TypeError` is raised instead. It will also ignore any fully-qualified name " +"`TypeError` is raised instead. It will also ignore any fully qualified name " "included before the exception class, which can vary between implementations " "and versions of Python and the code/libraries in use. Hence, all three of " "these variations will work with the flag specified:" diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po index ffabfe044d..9e00ce1bb0 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -120,7 +120,7 @@ msgstr "" msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " -"mangling of lines that begin with ``From`` that is required by the unix mbox " +"mangling of lines that begin with ``From`` that is required by the Unix mbox " "format. For more flexibility, instantiate a :class:`~email.generator." "Generator` instance and use its :meth:`~email.generator.Generator.flatten` " "method directly. For example::" @@ -158,7 +158,7 @@ msgstr "" msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " -"mangling of lines that begin with ``From`` that is required by the unix mbox " +"mangling of lines that begin with ``From`` that is required by the Unix mbox " "format. For more flexibility, instantiate a :class:`~email.generator." "BytesGenerator` instance and use its :meth:`~email.generator.BytesGenerator." "flatten` method directly. For example::" @@ -351,7 +351,7 @@ msgid "" "In a model generated from bytes, any header values that (in contravention of " "the RFCs) contain non-ASCII bytes will, when retrieved through this " "interface, be represented as :class:`~email.header.Header` objects with a " -"charset of `unknown-8bit`." +"charset of ``unknown-8bit``." msgstr "" #: library/email.compat32-message.rst:306 diff --git a/library/email.generator.po b/library/email.generator.po index 4d6e60d06c..9c762aacb4 100644 --- a/library/email.generator.po +++ b/library/email.generator.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -83,7 +83,7 @@ msgid "" "defaults to the value of the :attr:`~email.policy.Policy.mangle_from_` " "setting of the *policy* (which is ``True`` for the :data:`~email.policy." "compat32` policy and ``False`` for all others). *mangle_from_* is intended " -"for use when messages are stored in unix mbox format (see :mod:`mailbox` and " +"for use when messages are stored in Unix mbox format (see :mod:`mailbox` and " "`WHY THE CONTENT-LENGTH FORMAT IS BAD `_)." msgstr "" diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index c32c99c486..c5eeadd12d 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-09-06 13:49+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -192,7 +192,7 @@ msgid "" "representing that date. If the timezone of the input date is specified as " "``-0000`` (indicating it is in UTC but contains no information about the " "source timezone), then :attr:`.datetime` will be a naive :class:`~datetime." -"datetime`. If a specific timezone offset is found (including `+0000`), " +"datetime`. If a specific timezone offset is found (including ``+0000``), " "then :attr:`.datetime` will contain an aware ``datetime`` that uses :class:" "`datetime.timezone` to record the timezone offset." msgstr "" diff --git a/library/functions.po b/library/functions.po index edec4ef225..fb9a567359 100644 --- a/library/functions.po +++ b/library/functions.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-01-27 22:46+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -487,7 +487,7 @@ msgstr "" "Vous pouvez contrôler l'affichage du préfixe ``0b`` à l'aide d'un des moyens " "suivants." -#: library/functions.rst:804 library/functions.rst:1100 +#: library/functions.rst:808 library/functions.rst:1112 msgid "See also :func:`format` for more information." msgstr "Voir aussi :func:`format` pour plus d'informations." @@ -509,11 +509,12 @@ msgstr "" "ses seules instances sont ``False`` et ``True`` (voir :ref:`bltin-boolean-" "values`)." -#: library/functions.rst:672 library/functions.rst:888 +#: library/functions.rst:675 library/functions.rst:892 msgid "*x* is now a positional-only parameter." msgstr "*x* est désormais un argument exclusivement optionnel." #: library/functions.rst:158 +#, fuzzy msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -522,7 +523,8 @@ msgid "" "so you don't have to explicitly import :mod:`pdb` or type as much code to " "enter the debugger. However, :func:`sys.breakpointhook` can be set to some " "other function and :func:`breakpoint` will automatically call that, allowing " -"you to drop into the debugger of choice." +"you to drop into the debugger of choice. If :func:`sys.breakpointhook` is " +"not accessible, this function will raise :exc:`RuntimeError`." msgstr "" "Cette fonction vous place dans le débogueur lorsqu'elle est appelée. Plus " "précisément, elle appelle :func:`sys.breakpointhook`, en lui passant les " @@ -534,7 +536,7 @@ msgstr "" "`sys.breakpointhook`, que :func:`breakpoint` appellera automatiquement, vous " "permettant ainsi de basculer dans le débogueur de votre choix." -#: library/functions.rst:168 +#: library/functions.rst:170 msgid "" "Raises an :ref:`auditing event ` ``builtins.breakpoint`` with " "argument ``breakpointhook``." @@ -542,7 +544,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``builtins.breakpoint`` avec " "l'argument ``breakpointhook``." -#: library/functions.rst:176 +#: library/functions.rst:178 msgid "" "Return a new array of bytes. The :class:`bytearray` class is a mutable " "sequence of integers in the range 0 <= x < 256. It has most of the usual " @@ -555,7 +557,7 @@ msgstr "" "`typesseq-mutable`, ainsi que la plupart des méthodes de la classe :class:" "`bytes`, voir :ref:`bytes-methods`." -#: library/functions.rst:181 +#: library/functions.rst:183 msgid "" "The optional *source* parameter can be used to initialize the array in a few " "different ways:" @@ -563,7 +565,7 @@ msgstr "" "Le paramètre optionnel *source* peut être utilisé pour initialiser le " "tableau de plusieurs façons :" -#: library/functions.rst:184 +#: library/functions.rst:186 msgid "" "If it is a *string*, you must also give the *encoding* (and optionally, " "*errors*) parameters; :func:`bytearray` then converts the string to bytes " @@ -573,7 +575,7 @@ msgstr "" "l'encodage (et éventuellement *errors*). La fonction :func:`bytearray` " "convertit ensuite la chaîne en octets via la méthode :meth:`str.encode` ;" -#: library/functions.rst:188 +#: library/functions.rst:190 msgid "" "If it is an *integer*, the array will have that size and will be initialized " "with null bytes." @@ -581,7 +583,7 @@ msgstr "" "si c'est un *entier*, le tableau a cette taille et est initialisé d'octets " "*null* ;" -#: library/functions.rst:191 +#: library/functions.rst:193 #, fuzzy msgid "" "If it is an object conforming to the :ref:`buffer interface " @@ -591,7 +593,7 @@ msgstr "" "si c'est un objet conforme à :ref:`l'interface tampon `, un " "tampon en lecture seule de l'objet est utilisé pour initialiser le tableau ;" -#: library/functions.rst:194 +#: library/functions.rst:196 msgid "" "If it is an *iterable*, it must be an iterable of integers in the range ``0 " "<= x < 256``, which are used as the initial contents of the array." @@ -600,15 +602,15 @@ msgstr "" "l'intervalle ``0 <= x < 256``, qui sont utilisés pour initialiser le contenu " "du tableau." -#: library/functions.rst:197 +#: library/functions.rst:199 msgid "Without an argument, an array of size 0 is created." msgstr "Sans argument, un tableau vide est créé." -#: library/functions.rst:199 +#: library/functions.rst:201 msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." msgstr "Voir :ref:`binaryseq` et :ref:`typebytearray`." -#: library/functions.rst:206 +#: library/functions.rst:208 #, fuzzy msgid "" "Return a new \"bytes\" object which is an immutable sequence of integers in " @@ -621,25 +623,25 @@ msgstr "" "version immuable de :class:`bytearray` — avec les mêmes méthodes d'accès, et " "le même comportement lors de l'indexation ou la découpe." -#: library/functions.rst:211 +#: library/functions.rst:213 msgid "" "Accordingly, constructor arguments are interpreted as for :func:`bytearray`." msgstr "" "En conséquence, les arguments du constructeur sont les mêmes que pour :func:" "`bytearray`." -#: library/functions.rst:213 +#: library/functions.rst:215 msgid "Bytes objects can also be created with literals, see :ref:`strings`." msgstr "" "Les objets *bytes* peuvent aussi être créés à partir de littéraux, voir :ref:" "`strings`." -#: library/functions.rst:215 +#: library/functions.rst:217 msgid "See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`." msgstr "" "Voir aussi :ref:`binaryseq`, :ref:`typebytes`, et :ref:`bytes-methods`." -#: library/functions.rst:220 +#: library/functions.rst:222 msgid "" "Return :const:`True` if the *object* argument appears callable, :const:" "`False` if not. If this returns ``True``, it is still possible that a call " @@ -654,7 +656,7 @@ msgstr "" "(appeler une classe donne une nouvelle instance) ; une instance n'est " "appelable que si sa classe définit une méthode :meth:`__call__`." -#: library/functions.rst:226 +#: library/functions.rst:228 msgid "" "This function was first removed in Python 3.0 and then brought back in " "Python 3.2." @@ -662,7 +664,7 @@ msgstr "" "cette fonction a d'abord été supprimée avec Python 3.0 puis elle a été " "remise dans Python 3.2." -#: library/functions.rst:233 +#: library/functions.rst:235 msgid "" "Return the string representing a character whose Unicode code point is the " "integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " @@ -673,7 +675,7 @@ msgstr "" "de caractères ``'a'``, tandis que ``chr(8364)`` renvoie ``'€'``. Il s'agit " "de l'inverse de :func:`ord`." -#: library/functions.rst:237 +#: library/functions.rst:239 msgid "" "The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " "base 16). :exc:`ValueError` will be raised if *i* is outside that range." @@ -682,11 +684,11 @@ msgstr "" "(``0x10FFFF`` en base 16). Une exception :exc:`ValueError` est levée si *i* " "est en dehors de l'intervalle." -#: library/functions.rst:243 +#: library/functions.rst:245 msgid "Transform a method into a class method." msgstr "Transforme une méthode en méthode de classe." -#: library/functions.rst:245 +#: library/functions.rst:247 #, fuzzy msgid "" "A class method receives the class as an implicit first argument, just like " @@ -697,7 +699,7 @@ msgstr "" "tout comme une méthode d'instance reçoit l'instance. Voici comment déclarer " "une méthode de classe ::" -#: library/functions.rst:253 +#: library/functions.rst:255 msgid "" "The ``@classmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -705,7 +707,7 @@ msgstr "" "La forme ``@classmethod`` est un :term:`décorateur ` de fonction " "— consultez :ref:`function` pour plus de détails." -#: library/functions.rst:256 +#: library/functions.rst:258 msgid "" "A class method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). The instance is ignored except for its " @@ -717,7 +719,7 @@ msgstr "" "sa classe. Si la méthode est appelée sur une instance de classe fille, c'est " "la classe fille qui sera donnée en premier argument implicite." -#: library/functions.rst:261 +#: library/functions.rst:263 msgid "" "Class methods are different than C++ or Java static methods. If you want " "those, see :func:`staticmethod` in this section. For more information on " @@ -727,7 +729,7 @@ msgstr "" "Java. Si ce sont elles dont vous avez besoin, regardez du côté de :func:" "`staticmethod` dans cette section. Voir aussi :ref:`types`." -#: library/functions.rst:265 +#: library/functions.rst:267 msgid "" "Class methods can now wrap other :term:`descriptors ` such as :" "func:`property`." @@ -735,14 +737,14 @@ msgstr "" "les méthodes de classe peuvent encapsuler d'autres :term:`descripteurs " "` comme :func:`property`." -#: library/functions.rst:269 +#: library/functions.rst:271 msgid "" "Class methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``) and " "have a new ``__wrapped__`` attribute." msgstr "" -#: library/functions.rst:276 +#: library/functions.rst:278 msgid "" "Compile the *source* into a code or AST object. Code objects can be " "executed by :func:`exec` or :func:`eval`. *source* can either be a normal " @@ -754,7 +756,7 @@ msgstr "" "une chaîne d'octets, ou un objet AST. Consultez la documentation du module :" "mod:`ast` pour des informations sur la manipulation d'objets AST." -#: library/functions.rst:281 +#: library/functions.rst:283 msgid "" "The *filename* argument should give the file from which the code was read; " "pass some recognizable value if it wasn't read from a file (``''`` " @@ -764,7 +766,7 @@ msgstr "" "lu. Donnez quelque chose de reconnaissable lorsqu'il n'a pas été lu depuis " "un fichier (typiquement ``\"\"``)." -#: library/functions.rst:285 +#: library/functions.rst:287 msgid "" "The *mode* argument specifies what kind of code must be compiled; it can be " "``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if " @@ -778,7 +780,7 @@ msgstr "" "(dans ce dernier cas, les résultats d'expressions donnant autre chose que " "``None`` sont affichés)." -#: library/functions.rst:291 +#: library/functions.rst:293 #, fuzzy msgid "" "The optional arguments *flags* and *dont_inherit* control which :ref:" @@ -803,7 +805,7 @@ msgstr "" "un entier différent de zéro, *flags* est utilisé seul — les instructions " "futures déclarées autour de l'appel à *compile* sont ignorées." -#: library/functions.rst:302 +#: library/functions.rst:304 #, fuzzy msgid "" "Compiler options and future statements are specified by bits which can be " @@ -819,7 +821,7 @@ msgstr "" "l'attribut :attr:`~__future__._Feature.compiler_flag` de la classe :class:" "`~__future__.Feature` du module :mod:`__future__`." -#: library/functions.rst:310 +#: library/functions.rst:312 msgid "" "The argument *optimize* specifies the optimization level of the compiler; " "the default value of ``-1`` selects the optimization level of the " @@ -834,7 +836,7 @@ msgstr "" "``1`` (les ``assert`` sont supprimés, ``__debug__`` est ``False``) ou ``2`` " "(les *docstrings* sont également supprimées)." -#: library/functions.rst:316 +#: library/functions.rst:318 msgid "" "This function raises :exc:`SyntaxError` if the compiled source is invalid, " "and :exc:`ValueError` if the source contains null bytes." @@ -842,7 +844,7 @@ msgstr "" "Cette fonction lève une :exc:`SyntaxError` si la source n'est pas valide, " "et :exc:`ValueError` si la source contient des octets *null*." -#: library/functions.rst:319 +#: library/functions.rst:321 msgid "" "If you want to parse Python code into its AST representation, see :func:`ast." "parse`." @@ -850,7 +852,7 @@ msgstr "" "Si vous voulez transformer du code Python en sa représentation AST, voyez :" "func:`ast.parse`." -#: library/functions.rst:322 +#: library/functions.rst:324 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " @@ -859,7 +861,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``compile`` avec les arguments " "``source`` et ``filename``." -#: library/functions.rst:324 +#: library/functions.rst:326 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source`` and ``filename``. This event may also be raised by implicit " @@ -869,7 +871,7 @@ msgstr "" "``source`` et ``filename``. Cet événement peut également être levé par une " "compilation implicite." -#: library/functions.rst:330 +#: library/functions.rst:332 msgid "" "When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " "mode, input must be terminated by at least one newline character. This is " @@ -881,7 +883,7 @@ msgstr "" "moins un retour à la ligne. Cela permet de faciliter la distinction entre " "les instructions complètes et incomplètes dans le module :mod:`code`." -#: library/functions.rst:337 +#: library/functions.rst:339 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string when compiling to an AST object due to stack depth " @@ -891,7 +893,7 @@ msgstr "" "suffisamment grandes ou complexes lors de la compilation d'un objet AST. " "Ceci est dû à limitation de la profondeur de la pile d'appels." -#: library/functions.rst:341 +#: library/functions.rst:343 #, fuzzy msgid "" "Allowed use of Windows and Mac newlines. Also, input in ``'exec'`` mode " @@ -901,7 +903,7 @@ msgstr "" "la chaîne donnée à ``'exec'`` n'a plus besoin de terminer par un retour à la " "ligne. Ajout du paramètre *optimize*." -#: library/functions.rst:345 +#: library/functions.rst:347 msgid "" "Previously, :exc:`TypeError` was raised when null bytes were encountered in " "*source*." @@ -909,7 +911,7 @@ msgstr "" "précédemment, l'exception :exc:`TypeError` était levée quand un caractère " "nul était rencontré dans *source*." -#: library/functions.rst:349 +#: library/functions.rst:351 msgid "" "``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " "support for top-level ``await``, ``async for``, and ``async with``." @@ -918,7 +920,7 @@ msgstr "" "pour permettre une gestion de ``await``, ``async for``, et ``async with`` de " "haut niveau." -#: library/functions.rst:356 +#: library/functions.rst:358 msgid "" "Return a complex number with the value *real* + *imag*\\*1j or convert a " "string or number to a complex number. If the first parameter is a string, " @@ -939,7 +941,7 @@ msgstr "" "class:`int` ou :class:`float`. Si aucun argument n'est fourni, renvoie " "``0j``." -#: library/functions.rst:365 +#: library/functions.rst:367 msgid "" "For a general Python object ``x``, ``complex(x)`` delegates to ``x." "__complex__()``. If ``__complex__()`` is not defined then it falls back to :" @@ -951,7 +953,7 @@ msgstr "" "meth:`__float__`. Si ``__float__()`` n'est pas défini, alors il délègue à :" "meth:`__index__`." -#: library/functions.rst:372 +#: library/functions.rst:374 msgid "" "When converting from a string, the string must not contain whitespace around " "the central ``+`` or ``-`` operator. For example, ``complex('1+2j')`` is " @@ -962,17 +964,17 @@ msgstr "" "``complex('1+2j')`` est correct, mais ``complex('1 + 2j')`` lève une :exc:" "`ValueError`." -#: library/functions.rst:377 +#: library/functions.rst:379 msgid "The complex type is described in :ref:`typesnumeric`." msgstr "Le type complexe est décrit dans :ref:`typesnumeric`." -#: library/functions.rst:669 library/functions.rst:885 +#: library/functions.rst:672 library/functions.rst:889 msgid "Grouping digits with underscores as in code literals is allowed." msgstr "" "les chiffres peuvent être groupés avec des tirets bas comme dans les " "expressions littérales." -#: library/functions.rst:382 +#: library/functions.rst:384 msgid "" "Falls back to :meth:`__index__` if :meth:`__complex__` and :meth:`__float__` " "are not defined." @@ -980,19 +982,21 @@ msgstr "" "revient à :meth:`__index__` si :meth:`__complex__` et :meth:`__float__` ne " "sont pas définies." -#: library/functions.rst:389 +#: library/functions.rst:391 +#, fuzzy msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " "string. The string must be the name of one of the object's attributes. The " "function deletes the named attribute, provided the object allows it. For " -"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``." +"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. *name* " +"need not be a Python identifier (see :func:`setattr`)." msgstr "" "C'est un cousin de :func:`setattr`. Les arguments sont un objet et une " "chaîne. La chaîne doit être le nom de l'un des attributs de l'objet. La " "fonction supprime l'attribut nommé, si l'objet l'y autorise. Par exemple " "``delattr(x, 'foobar')`` est l'équivalent de ``del x.foobar``." -#: library/functions.rst:401 +#: library/functions.rst:404 msgid "" "Create a new dictionary. The :class:`dict` object is the dictionary class. " "See :class:`dict` and :ref:`typesmapping` for documentation about this class." @@ -1001,7 +1005,7 @@ msgstr "" "dictionnaire. Voir :class:`dict` et :ref:`typesmapping` pour vous documenter " "sur cette classe." -#: library/functions.rst:404 +#: library/functions.rst:407 msgid "" "For other containers see the built-in :class:`list`, :class:`set`, and :" "class:`tuple` classes, as well as the :mod:`collections` module." @@ -1009,7 +1013,7 @@ msgstr "" "Pour les autres conteneurs, voir les classes natives :class:`list`, :class:" "`set`, et :class:`tuple`, ainsi que le module :mod:`collections`." -#: library/functions.rst:410 +#: library/functions.rst:413 msgid "" "Without arguments, return the list of names in the current local scope. " "With an argument, attempt to return a list of valid attributes for that " @@ -1019,7 +1023,7 @@ msgstr "" "Avec un argument, elle essaye de donner une liste d'attributs valides pour " "cet objet." -#: library/functions.rst:413 +#: library/functions.rst:416 msgid "" "If the object has a method named :meth:`__dir__`, this method will be called " "and must return the list of attributes. This allows objects that implement a " @@ -1031,7 +1035,7 @@ msgstr "" "`__getattr__` ou :func:`__getattribute__` de personnaliser ce que donnera :" "func:`dir`." -#: library/functions.rst:418 +#: library/functions.rst:421 #, fuzzy msgid "" "If the object does not provide :meth:`__dir__`, the function tries its best " @@ -1046,7 +1050,7 @@ msgstr "" "n'est pas nécessairement complète, et peut être erronée quand l'objet a un :" "func:`__getattr__` personnalisé." -#: library/functions.rst:423 +#: library/functions.rst:426 msgid "" "The default :func:`dir` mechanism behaves differently with different types " "of objects, as it attempts to produce the most relevant, rather than " @@ -1056,7 +1060,7 @@ msgstr "" "différents types d'objets, car elle préfère donner une information " "pertinente plutôt qu'exhaustive :" -#: library/functions.rst:427 +#: library/functions.rst:430 msgid "" "If the object is a module object, the list contains the names of the " "module's attributes." @@ -1064,7 +1068,7 @@ msgstr "" "si l'objet est un module, la liste contiendra les noms des attributs du " "module ;" -#: library/functions.rst:430 +#: library/functions.rst:433 msgid "" "If the object is a type or class object, the list contains the names of its " "attributes, and recursively of the attributes of its bases." @@ -1072,7 +1076,7 @@ msgstr "" "si l'objet est un type ou une classe, la liste contiendra les noms de ses " "attributs et, récursivement, des attributs de ses parents ;" -#: library/functions.rst:433 +#: library/functions.rst:436 msgid "" "Otherwise, the list contains the object's attributes' names, the names of " "its class's attributes, and recursively of the attributes of its class's " @@ -1082,11 +1086,11 @@ msgstr "" "attributs de la classe, et récursivement des attributs des parents de la " "classe." -#: library/functions.rst:437 +#: library/functions.rst:440 msgid "The resulting list is sorted alphabetically. For example:" msgstr "La liste donnée est triée par ordre alphabétique, par exemple :" -#: library/functions.rst:456 +#: library/functions.rst:459 msgid "" "Because :func:`dir` is supplied primarily as a convenience for use at an " "interactive prompt, it tries to supply an interesting set of names more than " @@ -1100,7 +1104,7 @@ msgstr "" "peut aussi changer d'une version à l'autre. Par exemple, les attributs de " "méta-classes ne sont pas donnés lorsque l'argument est une classe." -#: library/functions.rst:466 +#: library/functions.rst:469 #, fuzzy msgid "" "Take two (non-complex) numbers as arguments and return a pair of numbers " @@ -1122,7 +1126,7 @@ msgstr "" "b`` est différent de zéro, il a le même signe que *b*, et ``0 <= abs(a % b) " "< abs(b)``." -#: library/functions.rst:478 +#: library/functions.rst:481 msgid "" "Return an enumerate object. *iterable* must be a sequence, an :term:" "`iterator`, or some other object which supports iteration. The :meth:" @@ -1136,11 +1140,11 @@ msgstr "" "`enumerate` renvoie un *n*-uplet contenant un compte (démarrant à *start*, 0 " "par défaut) et les valeurs obtenues de l'itération sur *iterable*." -#: library/functions.rst:490 +#: library/functions.rst:493 msgid "Equivalent to::" msgstr "Équivalent à ::" -#: library/functions.rst:501 +#: library/functions.rst:504 msgid "" "The arguments are a string and optional globals and locals. If provided, " "*globals* must be a dictionary. If provided, *locals* can be any mapping " @@ -1150,7 +1154,7 @@ msgstr "" "globales. S'il est fourni, *globals* doit être un dictionnaire. S'il est " "fourni, *locals* peut être n'importe quel objet *mapping*." -#: library/functions.rst:505 +#: library/functions.rst:508 #, fuzzy msgid "" "The *expression* argument is parsed and evaluated as a Python expression " @@ -1181,7 +1185,7 @@ msgstr "" "`eval` est appelée. Note, *eval()* n'a pas accès aux :term:`portées " "imbriquées ` (non locales) dans l'environnement englobant." -#: library/functions.rst:520 +#: library/functions.rst:523 msgid "" "The return value is the result of the evaluated expression. Syntax errors " "are reported as exceptions. Example:" @@ -1189,7 +1193,7 @@ msgstr "" "La valeur de retour est le résultat de l'expression évaluée. Les erreurs de " "syntaxe sont signalées comme des exceptions. Exemple :" -#: library/functions.rst:527 +#: library/functions.rst:530 #, fuzzy msgid "" "This function can also be used to execute arbitrary code objects (such as " @@ -1202,7 +1206,7 @@ msgstr "" "code plutôt qu'une chaîne. Si l'objet code a été compilé avec l'argument " "*mode* à ``'exec'``, :func:`eval` donnera ``None``." -#: library/functions.rst:532 +#: library/functions.rst:535 #, fuzzy msgid "" "Hints: dynamic execution of statements is supported by the :func:`exec` " @@ -1215,13 +1219,13 @@ msgstr "" "respectivement les dictionnaires globaux et locaux, qui peuvent être utiles " "lors de l'usage de :func:`eval` et :func:`exec`." -#: library/functions.rst:537 +#: library/functions.rst:540 msgid "" "If the given source is a string, then leading and trailing spaces and tabs " "are stripped." msgstr "" -#: library/functions.rst:540 +#: library/functions.rst:543 msgid "" "See :func:`ast.literal_eval` for a function that can safely evaluate strings " "with expressions containing only literals." @@ -1230,7 +1234,7 @@ msgstr "" "peut évaluer en toute sécurité des chaînes avec des expressions ne contenant " "que des valeurs littérales." -#: library/functions.rst:579 +#: library/functions.rst:582 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``exec`` with argument " @@ -1239,7 +1243,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``exec`` avec l'argument " "``code_object``." -#: library/functions.rst:581 +#: library/functions.rst:584 msgid "" "Raises an :ref:`auditing event ` ``exec`` with the code object as " "the argument. Code compilation events may also be raised." @@ -1248,7 +1252,7 @@ msgstr "" "comme argument. Les événements de compilation de code peuvent également être " "levés." -#: library/functions.rst:552 +#: library/functions.rst:555 #, fuzzy msgid "" "This function supports dynamic execution of Python code. *object* must be " @@ -1272,7 +1276,7 @@ msgstr "" "utilisés en dehors d'une fonction, même dans du code passé à :func:`exec`. " "La fonction renvoie ``None``." -#: library/functions.rst:563 +#: library/functions.rst:566 #, fuzzy msgid "" "In all cases, if the optional parts are omitted, the code is executed in the " @@ -1295,7 +1299,7 @@ msgstr "" "``exec`` reçoit deux objets distincts dans *globals* et *locals*, le code " "est exécuté comme s'il était inclus dans une définition de classe." -#: library/functions.rst:573 +#: library/functions.rst:576 msgid "" "If the *globals* dictionary does not contain a value for the key " "``__builtins__``, a reference to the dictionary of the built-in module :mod:" @@ -1309,7 +1313,7 @@ msgstr "" "exposées au code exécuté en insérant votre propre dictionnaire " "``__builtins__`` dans *globals* avant de le donner à :func:`exec`." -#: library/functions.rst:586 +#: library/functions.rst:589 msgid "" "The built-in functions :func:`globals` and :func:`locals` return the current " "global and local dictionary, respectively, which may be useful to pass " @@ -1319,7 +1323,7 @@ msgstr "" "respectivement les dictionnaires globaux et locaux, qui peuvent être utiles " "en deuxième et troisième argument de :func:`exec`." -#: library/functions.rst:592 +#: library/functions.rst:595 msgid "" "The default *locals* act as described for function :func:`locals` below: " "modifications to the default *locals* dictionary should not be attempted. " @@ -1332,7 +1336,7 @@ msgstr "" "observer l'effet du code sur les variables locales, après que :func:`exec` " "soit terminée." -#: library/functions.rst:600 +#: library/functions.rst:603 msgid "" "Construct an iterator from those elements of *iterable* for which *function* " "returns true. *iterable* may be either a sequence, a container which " @@ -1346,7 +1350,7 @@ msgstr "" "est ``None``, la fonction identité est prise, c'est-à-dire que tous les " "éléments faux d'*iterable* sont supprimés." -#: library/functions.rst:606 +#: library/functions.rst:609 msgid "" "Note that ``filter(function, iterable)`` is equivalent to the generator " "expression ``(item for item in iterable if function(item))`` if function is " @@ -1358,7 +1362,7 @@ msgstr "" "``None``, et de ``(item for item in iterable if item)`` si *function* est " "``None``." -#: library/functions.rst:611 +#: library/functions.rst:614 msgid "" "See :func:`itertools.filterfalse` for the complementary function that " "returns elements of *iterable* for which *function* returns false." @@ -1366,12 +1370,12 @@ msgstr "" "Voir :func:`itertools.filterfalse` pour la fonction complémentaire qui donne " "les éléments d'*iterable* pour lesquels *function* renvoie ``False``." -#: library/functions.rst:621 +#: library/functions.rst:624 msgid "Return a floating point number constructed from a number or string *x*." msgstr "" "Renvoie un nombre a virgule flottante depuis un nombre ou une chaîne *x*." -#: library/functions.rst:623 +#: library/functions.rst:626 #, fuzzy msgid "" "If the argument is a string, it should contain a decimal number, optionally " @@ -1391,7 +1395,7 @@ msgstr "" "conformer à la grammaire suivante, après que les espaces en début et fin de " "chaîne aient été retirées :" -#: library/functions.rst:638 +#: library/functions.rst:641 #, fuzzy msgid "" "Here ``floatnumber`` is the form of a Python floating-point literal, " @@ -1404,7 +1408,7 @@ msgstr "" "exemple, ``\"inf\"``, ``\" Inf\"``, ``\"INFINITY\"``, et ``\" iNfiNity\"`` " "sont tous des orthographes valides pour un infini positif." -#: library/functions.rst:643 +#: library/functions.rst:646 msgid "" "Otherwise, if the argument is an integer or a floating point number, a " "floating point number with the same value (within Python's floating point " @@ -1417,7 +1421,7 @@ msgstr "" "dehors de l'intervalle d'un nombre a virgule flottante pour Python, :exc:" "`OverflowError` est levée." -#: library/functions.rst:648 +#: library/functions.rst:651 msgid "" "For a general Python object ``x``, ``float(x)`` delegates to ``x." "__float__()``. If ``__float__()`` is not defined then it falls back to :" @@ -1427,23 +1431,23 @@ msgstr "" "__float__()``. Si ``__float__()`` n'est pas défini alors il est délégué à :" "meth:`__index__`." -#: library/functions.rst:652 +#: library/functions.rst:655 msgid "If no argument is given, ``0.0`` is returned." msgstr "Sans argument, ``0.0`` est renvoyé." -#: library/functions.rst:654 +#: library/functions.rst:657 msgid "Examples::" msgstr "Exemples ::" -#: library/functions.rst:667 +#: library/functions.rst:670 msgid "The float type is described in :ref:`typesnumeric`." msgstr "Le type *float* est décrit dans :ref:`typesnumeric`." -#: library/functions.rst:675 +#: library/functions.rst:678 msgid "Falls back to :meth:`__index__` if :meth:`__float__` is not defined." msgstr "revient à :meth:`__index__` si :meth:`__float__` n'est pas définie." -#: library/functions.rst:685 +#: library/functions.rst:688 #, fuzzy msgid "" "Convert a *value* to a \"formatted\" representation, as controlled by " @@ -1456,7 +1460,7 @@ msgstr "" "valeur, cependant il existe une syntaxe standard utilisée par la plupart des " "types natifs : :ref:`formatspec`." -#: library/functions.rst:690 +#: library/functions.rst:693 msgid "" "The default *format_spec* is an empty string which usually gives the same " "effect as calling :func:`str(value) `." @@ -1464,7 +1468,7 @@ msgstr "" "Par défaut, *format_spec* est une chaîne vide. Dans ce cas, appeler cette " "fonction a généralement le même effet qu'appeler :func:`str(value) `." -#: library/functions.rst:693 +#: library/functions.rst:696 msgid "" "A call to ``format(value, format_spec)`` is translated to ``type(value)." "__format__(value, format_spec)`` which bypasses the instance dictionary when " @@ -1480,7 +1484,7 @@ msgstr "" "mod:`object` et que *format_spec* n'est pas vide, ou si *format_spec* ou le " "résultat ne sont pas des chaînes de caractères." -#: library/functions.rst:700 +#: library/functions.rst:703 msgid "" "``object().__format__(format_spec)`` raises :exc:`TypeError` if " "*format_spec* is not an empty string." @@ -1488,7 +1492,7 @@ msgstr "" "``object().__format__(format_spec)`` lève :exc:`TypeError` si *format_spec* " "n'est pas une chaîne vide." -#: library/functions.rst:709 +#: library/functions.rst:712 msgid "" "Return a new :class:`frozenset` object, optionally with elements taken from " "*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` and :" @@ -1498,7 +1502,7 @@ msgstr "" "tirés d'*iterable*. ``frozenset`` est une classe native. Voir :class:" "`frozenset` et :ref:`types-set` pour la documentation sur cette classe." -#: library/functions.rst:713 +#: library/functions.rst:716 msgid "" "For other containers see the built-in :class:`set`, :class:`list`, :class:" "`tuple`, and :class:`dict` classes, as well as the :mod:`collections` module." @@ -1507,14 +1511,15 @@ msgstr "" "`list`, :class:`tuple`, et :class:`dict`, ainsi que le module :mod:" "`collections`." -#: library/functions.rst:720 +#: library/functions.rst:723 +#, fuzzy msgid "" "Return the value of the named attribute of *object*. *name* must be a " "string. If the string is the name of one of the object's attributes, the " "result is the value of that attribute. For example, ``getattr(x, " "'foobar')`` is equivalent to ``x.foobar``. If the named attribute does not " "exist, *default* is returned if provided, otherwise :exc:`AttributeError` is " -"raised." +"raised. *name* need not be a Python identifier (see :func:`setattr`)." msgstr "" "Renvoie la valeur de l'attribut nommé *name* de l'objet *object*. *name* " "doit être une chaîne. Si la chaîne est le nom d'un des attributs de l'objet, " @@ -1523,7 +1528,7 @@ msgstr "" "que *default* est fourni, celui-ci est renvoyé. Sinon l'exception :exc:" "`AttributeError` est levée." -#: library/functions.rst:728 +#: library/functions.rst:732 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " @@ -1531,7 +1536,7 @@ msgid "" "`getattr`." msgstr "" -#: library/functions.rst:736 +#: library/functions.rst:740 #, fuzzy msgid "" "Return the dictionary implementing the current module namespace. For code " @@ -1543,7 +1548,7 @@ msgstr "" "fonction ou méthode, c'est le module où elle est définie, et non le module " "d'où elle est appelée)." -#: library/functions.rst:743 +#: library/functions.rst:747 msgid "" "The arguments are an object and a string. The result is ``True`` if the " "string is the name of one of the object's attributes, ``False`` if not. " @@ -1555,7 +1560,7 @@ msgstr "" "``False`` (l'implémentation appelle ``getattr(object, name)`` et regarde si " "une exception :exc:`AttributeError` a été levée)." -#: library/functions.rst:751 +#: library/functions.rst:755 msgid "" "Return the hash value of the object (if it has one). Hash values are " "integers. They are used to quickly compare dictionary keys during a " @@ -1568,7 +1573,7 @@ msgstr "" "ont la même valeur de hachage (même si leurs types sont différents, comme " "pour ``1`` et ``1.0``)." -#: library/functions.rst:758 +#: library/functions.rst:762 msgid "" "For objects with custom :meth:`__hash__` methods, note that :func:`hash` " "truncates the return value based on the bit width of the host machine. See :" @@ -1578,7 +1583,7 @@ msgstr "" "func:`hash` tronque la valeur donnée en fonction du nombre de bits de la " "machine hôte. Voir :meth:`__hash__` pour plus d'information." -#: library/functions.rst:764 +#: library/functions.rst:768 msgid "" "Invoke the built-in help system. (This function is intended for interactive " "use.) If no argument is given, the interactive help system starts on the " @@ -1595,7 +1600,7 @@ msgstr "" "la console. Si l'argument est d'un autre type, une page d'aide sur cet objet " "est générée." -#: library/functions.rst:771 +#: library/functions.rst:775 #, fuzzy msgid "" "Note that if a slash(/) appears in the parameter list of a function when " @@ -1609,14 +1614,14 @@ msgstr "" "plus d'informations, voir :ref:`La FAQ sur les arguments positionnels `." -#: library/functions.rst:776 +#: library/functions.rst:780 msgid "" "This function is added to the built-in namespace by the :mod:`site` module." msgstr "" "Cette fonction est ajoutée à l'espace de nommage natif par le module :mod:" "`site`." -#: library/functions.rst:778 +#: library/functions.rst:782 msgid "" "Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " "for callables are now more comprehensive and consistent." @@ -1624,7 +1629,7 @@ msgstr "" "les changements aux modules :mod:`pydoc` et :mod:`inspect` rendent les " "signatures des appelables plus compréhensibles et cohérentes." -#: library/functions.rst:785 +#: library/functions.rst:789 msgid "" "Convert an integer number to a lowercase hexadecimal string prefixed with " "\"0x\". If *x* is not a Python :class:`int` object, it has to define an :" @@ -1634,7 +1639,7 @@ msgstr "" "pas un :class:`int`, il doit définir une méthode :meth:`__index__` qui " "renvoie un entier. Quelques exemples :" -#: library/functions.rst:794 +#: library/functions.rst:798 msgid "" "If you want to convert an integer number to an uppercase or lower " "hexadecimal string with prefix or not, you can use either of the following " @@ -1644,7 +1649,7 @@ msgstr "" "majuscule ou non, préfixée ou non, vous pouvez utiliser l'une des méthodes " "suivantes :" -#: library/functions.rst:806 +#: library/functions.rst:810 msgid "" "See also :func:`int` for converting a hexadecimal string to an integer using " "a base of 16." @@ -1652,7 +1657,7 @@ msgstr "" "Voir aussi :func:`int` pour convertir une chaîne hexadécimale en un entier " "(en affectant 16 à l'argument *base*)." -#: library/functions.rst:811 +#: library/functions.rst:815 msgid "" "To obtain a hexadecimal string representation for a float, use the :meth:" "`float.hex` method." @@ -1660,7 +1665,7 @@ msgstr "" "Pour obtenir une représentation hexadécimale sous forme de chaîne d'un " "nombre à virgule flottante, utilisez la méthode :meth:`float.hex`." -#: library/functions.rst:817 +#: library/functions.rst:821 msgid "" "Return the \"identity\" of an object. This is an integer which is " "guaranteed to be unique and constant for this object during its lifetime. " @@ -1671,7 +1676,11 @@ msgstr "" "constant pour cet objet durant sa durée de vie. Deux objets dont les durées " "de vie ne se chevauchent pas peuvent partager le même :func:`id`." -#: library/functions.rst:824 +#: library/functions.rst:826 +msgid "This is the address of the object in memory." +msgstr "" + +#: library/functions.rst:828 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.id`` with argument " @@ -1680,7 +1689,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``builtins.id`` avec l'argument " "``id``." -#: library/functions.rst:829 +#: library/functions.rst:833 msgid "" "If the *prompt* argument is present, it is written to standard output " "without a trailing newline. The function then reads a line from input, " @@ -1692,7 +1701,7 @@ msgstr "" "standard et la convertit en chaîne (supprimant le retour à la ligne final) " "quelle renvoie. Lorsque EOF est lu, :exc:`EOFError` est levée. Exemple ::" -#: library/functions.rst:839 +#: library/functions.rst:843 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -1700,7 +1709,7 @@ msgstr "" "Si le module :mod:`readline` est chargé, :func:`input` l'utilisera pour " "fournir des fonctionnalités d'édition et d'historique élaborées." -#: library/functions.rst:842 +#: library/functions.rst:846 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " @@ -1709,7 +1718,7 @@ msgstr "" "Lève un :ref:`auditing event ` ``builtins.input`` avec l'argument " "``prompt``." -#: library/functions.rst:844 +#: library/functions.rst:848 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -1717,7 +1726,7 @@ msgstr "" "Lève un :ref:`auditing event ` ``builtins.input`` avec l'argument " "``prompt`` avant de lire l'entrée." -#: library/functions.rst:847 +#: library/functions.rst:851 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " @@ -1726,7 +1735,7 @@ msgstr "" "Lève un :ref:`auditing event ` ``builtins.input/result`` avec " "l'argument ``result``." -#: library/functions.rst:849 +#: library/functions.rst:853 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " @@ -1735,7 +1744,7 @@ msgstr "" "Lève un événement d'audit ``builtins.input/result`` avec le résultat après " "avoir lu avec succès l'entrée." -#: library/functions.rst:856 +#: library/functions.rst:860 msgid "" "Return an integer object constructed from a number or string *x*, or return " "``0`` if no arguments are given. If *x* defines :meth:`__int__`, ``int(x)`` " @@ -1750,7 +1759,7 @@ msgstr "" "``int(x)`` renvoie ``x.__trunc__()``. Les nombres à virgule flottante sont " "tronqués vers zéro." -#: library/functions.rst:863 +#: library/functions.rst:867 msgid "" "If *x* is not a number or if *base* is given, then *x* must be a string, :" "class:`bytes`, or :class:`bytearray` instance representing an :ref:`integer " @@ -1779,11 +1788,11 @@ msgstr "" "0)`` n'est pas légal, alors que ``int('010')`` l'est tout comme ``int('010', " "8)``." -#: library/functions.rst:876 +#: library/functions.rst:880 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "Le type des entiers est décrit dans :ref:`typesnumeric`." -#: library/functions.rst:878 +#: library/functions.rst:882 msgid "" "If *base* is not an instance of :class:`int` and the *base* object has a :" "meth:`base.__index__ ` method, that method is called to " @@ -1796,11 +1805,21 @@ msgstr "" "meth:`base.__int__ ` au lieu de :meth:`base.__index__ " "`." -#: library/functions.rst:891 +#: library/functions.rst:895 msgid "Falls back to :meth:`__index__` if :meth:`__int__` is not defined." msgstr "Revient à :meth:`__index__` si :meth:`__int__` n'est pas définie." -#: library/functions.rst:897 +#: library/functions.rst:898 +msgid "" +":class:`int` string inputs and string representations can be limited to help " +"avoid denial of service attacks. A :exc:`ValueError` is raised when the " +"limit is exceeded while converting a string *x* to an :class:`int` or when " +"converting an :class:`int` into a string would exceed the limit. See the :" +"ref:`integer string conversion length limitation ` " +"documentation." +msgstr "" + +#: library/functions.rst:909 #, fuzzy msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " @@ -1821,11 +1840,11 @@ msgstr "" "un *n*-uplet de types (et récursivement), une exception :exc:`TypeError` est " "levée." -#: library/functions.rst:921 +#: library/functions.rst:933 msgid "*classinfo* can be a :ref:`types-union`." msgstr "" -#: library/functions.rst:913 +#: library/functions.rst:925 #, fuzzy msgid "" "Return ``True`` if *class* is a subclass (direct, indirect, or :term:" @@ -1841,7 +1860,7 @@ msgstr "" "classes, dans ce cas la vérification sera faite pour chaque classe de " "*classinfo*. Dans tous les autres cas, :exc:`TypeError` est levée." -#: library/functions.rst:927 +#: library/functions.rst:939 #, fuzzy msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " @@ -1867,11 +1886,11 @@ msgstr "" "de :meth:`~iterator.__next__`. Si la valeur reçue est égale à *sentinel* :" "exc:`StopIteration` est levée, sinon la valeur est renvoyée." -#: library/functions.rst:940 +#: library/functions.rst:952 msgid "See also :ref:`typeiter`." msgstr "Voir aussi :ref:`typeiter`." -#: library/functions.rst:942 +#: library/functions.rst:954 msgid "" "One useful application of the second form of :func:`iter` is to build a " "block-reader. For example, reading fixed-width blocks from a binary database " @@ -1881,7 +1900,7 @@ msgstr "" "construire un lecteur par blocs. Par exemple, lire des blocs de taille fixe " "d'une base de donnée binaire jusqu'à ce que la fin soit atteinte ::" -#: library/functions.rst:954 +#: library/functions.rst:966 msgid "" "Return the length (the number of items) of an object. The argument may be a " "sequence (such as a string, bytes, tuple, list, or range) or a collection " @@ -1892,13 +1911,13 @@ msgstr "" "liste ou un intervalle) ou une collection (telle qu'un dictionnaire, un " "ensemble ou un ensemble figé)." -#: library/functions.rst:960 +#: library/functions.rst:972 msgid "" "``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." "maxsize`, such as :class:`range(2 ** 100) `." msgstr "" -#: library/functions.rst:968 +#: library/functions.rst:980 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -1907,7 +1926,7 @@ msgstr "" "type séquentiel muable, comme décrit dans :ref:`typesseq-list` et :ref:" "`typesseq`." -#: library/functions.rst:974 +#: library/functions.rst:986 msgid "" "Update and return a dictionary representing the current local symbol table. " "Free variables are returned by :func:`locals` when it is called in function " @@ -1920,7 +1939,7 @@ msgstr "" "corps d'une classe. Notez qu’au niveau d’un module, :func:`locals` et :func:" "`globals` sont le même dictionnaire." -#: library/functions.rst:980 +#: library/functions.rst:992 msgid "" "The contents of this dictionary should not be modified; changes may not " "affect the values of local and free variables used by the interpreter." @@ -1929,7 +1948,7 @@ msgstr "" "n'affectent pas les valeurs des variables locales ou libres utilisées par " "l'interpréteur." -#: library/functions.rst:985 +#: library/functions.rst:997 msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterable* arguments are passed, " @@ -1946,7 +1965,7 @@ msgstr "" "où les arguments sont déjà rangés sous forme de *n*-uplets, voir :func:" "`itertools.starmap`." -#: library/functions.rst:996 +#: library/functions.rst:1008 msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." @@ -1954,7 +1973,7 @@ msgstr "" "Renvoie le plus grand élément d'un itérable, ou l'argument le plus grand " "parmi au moins deux arguments." -#: library/functions.rst:999 +#: library/functions.rst:1011 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " @@ -1965,7 +1984,7 @@ msgstr "" "deux arguments positionnels sont fournis, l'argument le plus grand sera " "renvoyé." -#: library/functions.rst:1041 +#: library/functions.rst:1053 msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " "a one-argument ordering function like that used for :meth:`list.sort`. The " @@ -1979,7 +1998,7 @@ msgstr "" "fourni est vide. Si l'itérable est vide et que *default* n'est pas fourni, :" "exc:`ValueError` est levée." -#: library/functions.rst:1010 +#: library/functions.rst:1022 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -1991,15 +2010,15 @@ msgstr "" "stabilité lors du tri, tels que ``sorted(iterable, key=keyfunc, reverse=True)" "[0]`` et ``heapq.nlargest(1, iterable, key=keyfunc)``." -#: library/functions.rst:1052 +#: library/functions.rst:1064 msgid "The *default* keyword-only argument." msgstr "L'argument nommé (et seulement donné par son nom) *default*." -#: library/functions.rst:1055 +#: library/functions.rst:1067 msgid "The *key* can be ``None``." msgstr "l'argument *key* peut être ``None``." -#: library/functions.rst:1026 +#: library/functions.rst:1038 msgid "" "Return a \"memory view\" object created from the given argument. See :ref:" "`typememoryview` for more information." @@ -2007,7 +2026,7 @@ msgstr "" "Renvoie une « vue mémoire » (*memory view*) créée depuis l'argument. Voir :" "ref:`typememoryview` pour plus d'informations." -#: library/functions.rst:1033 +#: library/functions.rst:1045 msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." @@ -2015,7 +2034,7 @@ msgstr "" "Renvoie le plus petit élément d'un itérable ou le plus petit d'au moins deux " "arguments." -#: library/functions.rst:1036 +#: library/functions.rst:1048 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The smallest item in the iterable is returned. If two or more positional " @@ -2025,7 +2044,7 @@ msgstr "" "plus petit élément de l'itérable est renvoyé. Si au moins deux arguments " "positionnels sont fournis, le plus petit argument positionnel est renvoyé." -#: library/functions.rst:1047 +#: library/functions.rst:1059 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2037,7 +2056,7 @@ msgstr "" "du tri, tels que ``sorted(iterable, key=keyfunc)[0]`` et ``heapq." "nsmallest(1, iterable, key=keyfunc)``." -#: library/functions.rst:1061 +#: library/functions.rst:1073 #, fuzzy msgid "" "Retrieve the next item from the :term:`iterator` by calling its :meth:" @@ -2048,7 +2067,7 @@ msgstr "" "__next__`. Si *default* est fourni, il sera renvoyé si l'itérateur est " "épuisé, sinon :exc:`StopIteration` est levée." -#: library/functions.rst:1068 +#: library/functions.rst:1080 #, fuzzy msgid "" "Return a new featureless object. :class:`object` is a base for all classes. " @@ -2059,7 +2078,7 @@ msgstr "" "classes. C'est elle qui porte les méthodes communes à toutes les instances " "de classes en Python. Cette fonction n'accepte aucun argument." -#: library/functions.rst:1074 +#: library/functions.rst:1086 msgid "" ":class:`object` does *not* have a :attr:`~object.__dict__`, so you can't " "assign arbitrary attributes to an instance of the :class:`object` class." @@ -2068,7 +2087,7 @@ msgstr "" "pouvez donc pas assigner d'attributs arbitraires à une instance d':class:" "`object`." -#: library/functions.rst:1080 +#: library/functions.rst:1092 msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " "result is a valid Python expression. If *x* is not a Python :class:`int` " @@ -2080,7 +2099,7 @@ msgstr "" "objet :class:`int`, il doit définir une méthode :meth:`__index__` qui donne " "un entier, par exemple :" -#: library/functions.rst:1090 +#: library/functions.rst:1102 #, fuzzy msgid "" "If you want to convert an integer number to an octal string either with the " @@ -2089,7 +2108,7 @@ msgstr "" "Si vous voulez convertir un nombre entier en chaîne octale, avec ou sans le " "préfixe ``0o``, vous pouvez utiliser l'une des méthodes suivantes." -#: library/functions.rst:1107 +#: library/functions.rst:1119 msgid "" "Open *file* and return a corresponding :term:`file object`. If the file " "cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " @@ -2099,7 +2118,7 @@ msgstr "" "Si le fichier ne peut pas être ouvert, une :exc:`OSError` est levée. Voir :" "ref:`tut-files` pour plus d'exemple d'utilisation de cette fonction." -#: library/functions.rst:1111 +#: library/functions.rst:1123 #, fuzzy msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " @@ -2114,7 +2133,7 @@ msgstr "" "descripteur de fichier est donné, il sera fermé en même temps que l'objet " "d'entrée-sortie renvoyé, sauf si *closefd* est mis à ``False``)." -#: library/functions.rst:1117 +#: library/functions.rst:1129 #, fuzzy msgid "" "*mode* is an optional string that specifies the mode in which the file is " @@ -2142,72 +2161,72 @@ msgstr "" "mode binaire sans préciser *encoding* non spécifié). Les modes disponibles " "sont :" -#: library/functions.rst:1134 +#: library/functions.rst:1146 msgid "Character" msgstr "Caractère" -#: library/functions.rst:1134 +#: library/functions.rst:1146 msgid "Meaning" msgstr "Signification" -#: library/functions.rst:1136 +#: library/functions.rst:1148 msgid "``'r'``" msgstr "``'r'``" -#: library/functions.rst:1136 +#: library/functions.rst:1148 msgid "open for reading (default)" msgstr "ouvre en lecture (par défaut)" -#: library/functions.rst:1137 +#: library/functions.rst:1149 msgid "``'w'``" msgstr "``'w'``" -#: library/functions.rst:1137 +#: library/functions.rst:1149 msgid "open for writing, truncating the file first" msgstr "ouvre en écriture, en effaçant le contenu du fichier" -#: library/functions.rst:1138 +#: library/functions.rst:1150 msgid "``'x'``" msgstr "``'x'``" -#: library/functions.rst:1138 +#: library/functions.rst:1150 msgid "open for exclusive creation, failing if the file already exists" msgstr "ouvre pour une création exclusive, échouant si le fichier existe déjà" -#: library/functions.rst:1139 +#: library/functions.rst:1151 msgid "``'a'``" msgstr "``'a'``" -#: library/functions.rst:1139 +#: library/functions.rst:1151 #, fuzzy msgid "open for writing, appending to the end of file if it exists" msgstr "ouvre en écriture, ajoutant à la fin du fichier s'il existe" -#: library/functions.rst:1140 +#: library/functions.rst:1152 msgid "``'b'``" msgstr "``'b'``" -#: library/functions.rst:1140 +#: library/functions.rst:1152 msgid "binary mode" msgstr "mode binaire" -#: library/functions.rst:1141 +#: library/functions.rst:1153 msgid "``'t'``" msgstr "``'t'``" -#: library/functions.rst:1141 +#: library/functions.rst:1153 msgid "text mode (default)" msgstr "mode texte (par défaut)" -#: library/functions.rst:1142 +#: library/functions.rst:1154 msgid "``'+'``" msgstr "``'+'``" -#: library/functions.rst:1142 +#: library/functions.rst:1154 msgid "open for updating (reading and writing)" msgstr "ouvre en modification (lecture et écriture)" -#: library/functions.rst:1145 +#: library/functions.rst:1157 #, fuzzy msgid "" "The default mode is ``'r'`` (open for reading text, a synonym of ``'rt'``). " @@ -2218,7 +2237,7 @@ msgstr "" "``'rt'``). Les modes ``'w+'`` et ``'w+b'`` ouvrent et vident le fichier. Les " "modes ``'r+'`` et ``'r+b'`` ouvrent le fichier sans le vider." -#: library/functions.rst:1149 +#: library/functions.rst:1161 msgid "" "As mentioned in the :ref:`io-overview`, Python distinguishes between binary " "and text I/O. Files opened in binary mode (including ``'b'`` in the *mode* " @@ -2236,7 +2255,7 @@ msgstr "" "octets ayant été décodés au préalable en utilisant un encodage déduit de " "l'environnement ou *encoding* s'il est donné." -#: library/functions.rst:1157 +#: library/functions.rst:1169 #, fuzzy msgid "" "There is an additional mode character permitted, ``'U'``, which no longer " @@ -2252,7 +2271,7 @@ msgstr "" "documentation du paramètre :ref:`newline ` pour plus " "de détails." -#: library/functions.rst:1165 +#: library/functions.rst:1177 msgid "" "Python doesn't depend on the underlying operating system's notion of text " "files; all the processing is done by Python itself, and is therefore " @@ -2262,7 +2281,7 @@ msgstr "" "jacent. Tout le traitement est effectué par Python lui-même, et est ainsi " "indépendant de la plate-forme." -#: library/functions.rst:1169 +#: library/functions.rst:1181 #, fuzzy msgid "" "*buffering* is an optional integer used to set the buffering policy. Pass 0 " @@ -2282,7 +2301,7 @@ msgstr "" "en octets d'un tampon de taille fixe. Sans l'argument *buffering*, les " "comportements par défaut sont les suivants :" -#: library/functions.rst:1179 +#: library/functions.rst:1191 msgid "" "Binary files are buffered in fixed-size chunks; the size of the buffer is " "chosen using a heuristic trying to determine the underlying device's \"block " @@ -2295,7 +2314,7 @@ msgstr "" "DEFAULT_BUFFER_SIZE`. Sur de nombreux systèmes, le tampon sera de 4096 ou " "8192 octets." -#: library/functions.rst:1184 +#: library/functions.rst:1196 msgid "" "\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " "returns ``True``) use line buffering. Other text files use the policy " @@ -2305,7 +2324,7 @@ msgstr "" "isatty` renvoie ``True``) utilisent un tampon par lignes. Les autres " "fichiers texte sont traités comme les fichiers binaires." -#: library/functions.rst:1188 +#: library/functions.rst:1200 msgid "" "*encoding* is the name of the encoding used to decode or encode the file. " "This should only be used in text mode. The default encoding is platform " @@ -2320,7 +2339,7 @@ msgstr "" "par Python peut être utilisé. Voir :mod:`codecs` pour une liste des " "encodages pris en charge." -#: library/functions.rst:1195 +#: library/functions.rst:1207 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled—this cannot be used in binary mode. A variety of " @@ -2335,7 +2354,7 @@ msgstr "" "d'erreur enregistré avec :func:`codecs.register_error` est aussi un argument " "valide. Les noms standards sont :" -#: library/functions.rst:1203 +#: library/functions.rst:1215 msgid "" "``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " "error. The default value of ``None`` has the same effect." @@ -2343,7 +2362,7 @@ msgstr "" "``'strict'`` pour lever une :exc:`ValueError` si une erreur d'encodage est " "rencontrée. La valeur par défaut, ``None``, a le même effet." -#: library/functions.rst:1207 +#: library/functions.rst:1219 msgid "" "``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " "data loss." @@ -2351,7 +2370,7 @@ msgstr "" "``'ignore'`` ignore les erreurs. Notez qu'ignorer les erreurs d'encodage " "peut mener à des pertes de données." -#: library/functions.rst:1210 +#: library/functions.rst:1222 msgid "" "``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " "where there is malformed data." @@ -2359,7 +2378,7 @@ msgstr "" "``'replace'`` insère un marqueur de substitution (tel que ``'?'``) en place " "des données mal formées." -#: library/functions.rst:1213 +#: library/functions.rst:1225 #, fuzzy msgid "" "``'surrogateescape'`` will represent any incorrect bytes as low surrogate " @@ -2375,7 +2394,7 @@ msgstr "" "l'écriture de la donnée. C'est utile pour traiter des fichiers d'un encodage " "inconnu." -#: library/functions.rst:1220 +#: library/functions.rst:1232 msgid "" "``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " "not supported by the encoding are replaced with the appropriate XML " @@ -2385,7 +2404,7 @@ msgstr "" "fichier. Les caractères non gérés par l'encodage sont remplacés par une " "entité XML de la forme ``&#nnn;``." -#: library/functions.rst:1224 +#: library/functions.rst:1236 msgid "" "``'backslashreplace'`` replaces malformed data by Python's backslashed " "escape sequences." @@ -2393,7 +2412,7 @@ msgstr "" "``'backslashreplace'`` remplace les données mal formées par des séquences " "d'échappement Python (utilisant des barres obliques inverses)." -#: library/functions.rst:1227 +#: library/functions.rst:1239 msgid "" "``'namereplace'`` (also only supported when writing) replaces unsupported " "characters with ``\\N{...}`` escape sequences." @@ -2401,18 +2420,19 @@ msgstr "" "``'namereplace'`` (aussi supporté lors de l'écriture) remplace les " "caractères non gérés par des séquences d'échappement ``\\N{...}``." -#: library/functions.rst:1235 +#: library/functions.rst:1247 +#, fuzzy msgid "" -"*newline* controls how :term:`universal newlines` mode works (it only " -"applies to text mode). It can be ``None``, ``''``, ``'\\n'``, ``'\\r'``, " -"and ``'\\r\\n'``. It works as follows:" +"*newline* determines how to parse newline characters from the stream. It can " +"be ``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as " +"follows:" msgstr "" "*newline* contrôle comment le mode :term:`retours à la ligne universels " "` fonctionne (seulement en mode texte). Il peut être " "``None``, ``''``, ``'\\n'``, ``'\\r'``, et ``'\\r\\n'``. Il fonctionne comme " "suit :" -#: library/functions.rst:1239 +#: library/functions.rst:1251 msgid "" "When reading input from the stream, if *newline* is ``None``, universal " "newlines mode is enabled. Lines in the input can end in ``'\\n'``, " @@ -2430,7 +2450,7 @@ msgstr "" "valeur autorisée, les lignes sont seulement terminées par la chaîne donnée, " "qui est rendue telle quelle." -#: library/functions.rst:1247 +#: library/functions.rst:1259 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -2444,7 +2464,7 @@ msgstr "" "*newline* est un autre caractère valide, chaque ``'\\n'`` sera remplacé par " "la chaîne donnée." -#: library/functions.rst:1253 +#: library/functions.rst:1265 #, fuzzy msgid "" "If *closefd* is ``False`` and a file descriptor rather than a filename was " @@ -2457,7 +2477,7 @@ msgstr "" "le fichier sera fermé. Si un nom de fichier est donné, *closefd* doit rester " "``True`` (la valeur par défaut) sans quoi une erreur est levée." -#: library/functions.rst:1258 +#: library/functions.rst:1270 msgid "" "A custom opener can be used by passing a callable as *opener*. The " "underlying file descriptor for the file object is then obtained by calling " @@ -2471,13 +2491,13 @@ msgstr "" "descripteur de fichier ouvert (fournir :mod:`os.open` en tant qu'*opener* " "aura le même effet que donner ``None``)." -#: library/functions.rst:1264 +#: library/functions.rst:1276 msgid "The newly created file is :ref:`non-inheritable `." msgstr "" "Il n'est :ref:`pas possible d'hériter du fichier ` " "nouvellement créé." -#: library/functions.rst:1266 +#: library/functions.rst:1278 msgid "" "The following example uses the :ref:`dir_fd ` parameter of the :func:" "`os.open` function to open a file relative to a given directory::" @@ -2485,7 +2505,7 @@ msgstr "" "L'exemple suivant utilise le paramètre :ref:`dir_fd ` de la " "fonction :func:`os.open` pour ouvrir un fichier relatif au dossier courant ::" -#: library/functions.rst:1279 +#: library/functions.rst:1291 msgid "" "The type of :term:`file object` returned by the :func:`open` function " "depends on the mode. When :func:`open` is used to open a file in a text " @@ -2511,7 +2531,7 @@ msgstr "" "BufferedRandom`. Lorsque le tampon est désactivé, le flux brut, une classe " "fille de :class:`io.RawIOBase`, :class:`io.FileIO` est renvoyée." -#: library/functions.rst:1300 +#: library/functions.rst:1312 #, fuzzy msgid "" "See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " @@ -2522,7 +2542,7 @@ msgstr "" "`fileinput`, :mod:`io` (où :func:`open` est déclarée), :mod:`os`, :mod:`os." "path`, :mod:`tmpfile`, et :mod:`shutil`." -#: library/functions.rst:1304 +#: library/functions.rst:1316 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``file``, " "``mode``, ``flags``." @@ -2530,7 +2550,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``open`` avec les arguments " "``file``, ``mode`` et ``flags``." -#: library/functions.rst:1306 +#: library/functions.rst:1318 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -2538,21 +2558,21 @@ msgstr "" "Les arguments ``mode`` et ``flags`` peuvent avoir été modifiés ou déduits de " "l'appel original." -#: library/functions.rst:1312 +#: library/functions.rst:1324 msgid "The *opener* parameter was added." msgstr "ajout du paramètre *opener*." -#: library/functions.rst:1313 +#: library/functions.rst:1325 msgid "The ``'x'`` mode was added." msgstr "ajout du mode ``'x'``." -#: library/functions.rst:1314 +#: library/functions.rst:1326 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" ":exc:`IOError` était normalement levée, elle est maintenant un alias de :exc:" "`OSError`." -#: library/functions.rst:1315 +#: library/functions.rst:1327 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -2560,15 +2580,15 @@ msgstr "" ":exc:`FileExistsError` est maintenant levée si le fichier ouvert en mode " "création exclusive (``'x'``) existe déjà." -#: library/functions.rst:1321 +#: library/functions.rst:1333 msgid "The file is now non-inheritable." msgstr "Il n'est plus possible d'hériter de *file*." -#: library/functions.rst:1325 +#: library/functions.rst:1337 msgid "The ``'U'`` mode." msgstr "Le mode ``'U'``." -#: library/functions.rst:1330 +#: library/functions.rst:1342 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -2578,15 +2598,15 @@ msgstr "" "aucune exception, la fonction réessaye l'appel système au lieu de lever une :" "exc:`InterruptedError` (voir la :pep:`475` pour la justification)." -#: library/functions.rst:1333 +#: library/functions.rst:1345 msgid "The ``'namereplace'`` error handler was added." msgstr "ajout du gestionnaire d'erreurs ``'namereplace'``." -#: library/functions.rst:1338 +#: library/functions.rst:1350 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "prise en charge des objets implémentant :class:`os.PathLike`." -#: library/functions.rst:1339 +#: library/functions.rst:1351 msgid "" "On Windows, opening a console buffer may return a subclass of :class:`io." "RawIOBase` other than :class:`io.FileIO`." @@ -2594,7 +2614,7 @@ msgstr "" "Sous Windows, ouvrir un *buffer* du terminal peut renvoyer une sous-classe " "de :class:`io.RawIOBase` autre que :class:`io.FileIO`." -#: library/functions.rst:1344 +#: library/functions.rst:1356 msgid "" "Given a string representing one Unicode character, return an integer " "representing the Unicode code point of that character. For example, " @@ -2606,7 +2626,7 @@ msgstr "" "entier ``97`` et ``ord('€')`` (symbole euro) renvoie ``8364``. Il s'agit de " "l'inverse de :func:`chr`." -#: library/functions.rst:1352 +#: library/functions.rst:1364 msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " "power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " @@ -2618,7 +2638,7 @@ msgstr "" "``pow(base, exp) % mod``). La forme à deux arguments ``pow(base, exp)`` est " "équivalente à l'opérateur puissance : ``base**exp``." -#: library/functions.rst:1357 +#: library/functions.rst:1369 #, fuzzy msgid "" "The arguments must have numeric types. With mixed operand types, the " @@ -2639,7 +2659,7 @@ msgstr "" "convertis en ``float``, et le résultat sera un ``float`` aussi. Par exemple, " "``10**2`` donne ``100``, alors que ``10**-2`` donne ``0.01``." -#: library/functions.rst:1367 +#: library/functions.rst:1379 msgid "" "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " "also be of integer type and *mod* must be nonzero. If *mod* is present and " @@ -2653,11 +2673,11 @@ msgstr "" "être premiers entre eux. Dans ce cas, ``pow(inv_base, -exp, mod)`` est " "renvoyé, où *inv_base* est un inverse de *base* modulo *mod*." -#: library/functions.rst:1373 +#: library/functions.rst:1385 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" msgstr "Voici un exemple de calcul d'un inverse de ``38`` modulo ``97`` ::" -#: library/functions.rst:1380 +#: library/functions.rst:1392 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -2666,14 +2686,14 @@ msgstr "" "permet maintenant au deuxième argument d'être négatif, permettant le calcul " "des inverses modulaires." -#: library/functions.rst:1385 +#: library/functions.rst:1397 msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" "Autorise les arguments par mots-clés. Auparavant, seuls les arguments " "positionnels étaient autorisés." -#: library/functions.rst:1392 +#: library/functions.rst:1404 #, fuzzy msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " @@ -2684,7 +2704,7 @@ msgstr "" "*end*. Les arguments *sep*, *end*, *file*, et *flush*, s'ils sont présents, " "doivent être nommés." -#: library/functions.rst:1396 +#: library/functions.rst:1408 msgid "" "All non-keyword arguments are converted to strings like :func:`str` does and " "written to the stream, separated by *sep* and followed by *end*. Both *sep* " @@ -2698,7 +2718,7 @@ msgstr "" "les valeurs par défaut. Si aucun *objects* n'est donné :func:`print` écris " "seulement *end*." -#: library/functions.rst:1402 +#: library/functions.rst:1414 msgid "" "The *file* argument must be an object with a ``write(string)`` method; if it " "is not present or ``None``, :data:`sys.stdout` will be used. Since printed " @@ -2711,7 +2731,7 @@ msgstr "" "peut pas être utilisé avec des fichiers ouverts en mode binaire. Pour ceux-" "ci utilisez plutôt ``file.write(...)``." -#: library/functions.rst:1407 +#: library/functions.rst:1419 #, fuzzy msgid "" "Whether the output is buffered is usually determined by *file*, but if the " @@ -2720,15 +2740,15 @@ msgstr "" "Que la sortie utilise un *buffer* ou non est souvent décidé par *file*, mais " "si l'argument *flush* est vrai, le tampon du flux est vidé explicitement." -#: library/functions.rst:1410 +#: library/functions.rst:1422 msgid "Added the *flush* keyword argument." msgstr "ajout de l'argument nommé *flush*." -#: library/functions.rst:1416 +#: library/functions.rst:1428 msgid "Return a property attribute." msgstr "Renvoie un attribut propriété." -#: library/functions.rst:1418 +#: library/functions.rst:1430 msgid "" "*fget* is a function for getting an attribute value. *fset* is a function " "for setting an attribute value. *fdel* is a function for deleting an " @@ -2739,11 +2759,11 @@ msgstr "" "supprimer la valeur d'un attribut, et *doc* créé une *docstring* pour " "l'attribut." -#: library/functions.rst:1422 +#: library/functions.rst:1434 msgid "A typical use is to define a managed attribute ``x``::" msgstr "Une utilisation courante : définir un attribut managé ``x`` ::" -#: library/functions.rst:1439 +#: library/functions.rst:1451 #, fuzzy msgid "" "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " @@ -2753,7 +2773,7 @@ msgstr "" "anglais), ``c.x = value`` invoque le mutateur (*setter*), et ``del x`` le " "destructeur (*deleter*)." -#: library/functions.rst:1442 +#: library/functions.rst:1454 msgid "" "If given, *doc* will be the docstring of the property attribute. Otherwise, " "the property will copy *fget*'s docstring (if it exists). This makes it " @@ -2765,7 +2785,7 @@ msgstr "" "création de propriétés en lecture seule en utilisant simplement :func:" "`property` comme un :term:`décorateur ` ::" -#: library/functions.rst:1455 +#: library/functions.rst:1467 msgid "" "The ``@property`` decorator turns the :meth:`voltage` method into a " "\"getter\" for a read-only attribute with the same name, and it sets the " @@ -2775,7 +2795,7 @@ msgstr "" "*getter* d'un attribut du même nom, et donne *\"Get the current voltage\"* " "comme *docstring* de *voltage*." -#: library/functions.rst:1459 +#: library/functions.rst:1471 msgid "" "A property object has :attr:`~property.getter`, :attr:`~property.setter`, " "and :attr:`~property.deleter` methods usable as decorators that create a " @@ -2787,7 +2807,7 @@ msgstr "" "une copie de la propriété avec les accesseurs correspondants définis par la " "fonction de décoration. C'est plus clair avec un exemple ::" -#: library/functions.rst:1481 +#: library/functions.rst:1493 msgid "" "This code is exactly equivalent to the first example. Be sure to give the " "additional functions the same name as the original property (``x`` in this " @@ -2797,7 +2817,7 @@ msgstr "" "donner aux fonctions additionnelles le même nom que la propriété (``x`` dans " "ce cas)." -#: library/functions.rst:1485 +#: library/functions.rst:1497 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -2805,11 +2825,11 @@ msgstr "" "L'objet propriété renvoyé à aussi les attributs ``fget``, ``fset`` et " "``fdel`` correspondants aux arguments du constructeur." -#: library/functions.rst:1488 +#: library/functions.rst:1500 msgid "The docstrings of property objects are now writeable." msgstr "Les *docstrings* des objets propriété peuvent maintenant être écrits." -#: library/functions.rst:1497 +#: library/functions.rst:1509 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -2818,7 +2838,7 @@ msgstr "" "type de séquence immuable, comme décrit dans :ref:`typesseq-range` et :ref:" "`typesseq`." -#: library/functions.rst:1503 +#: library/functions.rst:1515 #, fuzzy msgid "" "Return a string containing a printable representation of an object. For " @@ -2827,7 +2847,9 @@ msgid "" "the representation is a string enclosed in angle brackets that contains the " "name of the type of the object together with additional information often " "including the name and address of the object. A class can control what this " -"function returns for its instances by defining a :meth:`__repr__` method." +"function returns for its instances by defining a :meth:`__repr__` method. " +"If :func:`sys.displayhook` is not accessible, this function will raise :exc:" +"`RuntimeError`." msgstr "" "Renvoie une chaîne contenant une représentation affichable de l'objet. Pour " "de nombreux types, cette fonction essaye de renvoyer une chaîne qui donnera " @@ -2837,7 +2859,7 @@ msgstr "" "l'adresse de l'objet. Une classe peut contrôler ce que cette fonction " "renvoie pour ses instances en définissant une méthode :meth:`__repr__`." -#: library/functions.rst:1514 +#: library/functions.rst:1528 msgid "" "Return a reverse :term:`iterator`. *seq* must be an object which has a :" "meth:`__reversed__` method or supports the sequence protocol (the :meth:" @@ -2849,7 +2871,7 @@ msgstr "" "séquence (la méthode :meth:`__len__` et la méthode :meth:`__getitem__` avec " "des arguments entiers commençant à zéro)." -#: library/functions.rst:1522 +#: library/functions.rst:1536 msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " "*ndigits* is omitted or is ``None``, it returns the nearest integer to its " @@ -2859,7 +2881,7 @@ msgstr "" "virgule. Si *ndigits* est omis (ou est ``None``), l'entier le plus proche " "est renvoyé." -#: library/functions.rst:1526 +#: library/functions.rst:1540 #, fuzzy msgid "" "For the built-in types supporting :func:`round`, values are rounded to the " @@ -2878,7 +2900,7 @@ msgstr "" "zéro, ou négatif). La valeur renvoyée est un entier si *ndigits* n'est pas " "donné, (ou est ``None``). Sinon elle est du même type que *number*." -#: library/functions.rst:1535 +#: library/functions.rst:1549 msgid "" "For a general Python object ``number``, ``round`` delegates to ``number." "__round__``." @@ -2886,7 +2908,7 @@ msgstr "" "Pour tout autre objet Python ``number``, ``round`` délègue à ``number." "__round__``." -#: library/functions.rst:1540 +#: library/functions.rst:1554 msgid "" "The behavior of :func:`round` for floats can be surprising: for example, " "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " @@ -2900,7 +2922,7 @@ msgstr "" "fractions de décimaux ne peuvent pas être représentés exactement en nombre a " "virgule flottante. Voir :ref:`tut-fp-issues` pour plus d'information." -#: library/functions.rst:1551 +#: library/functions.rst:1565 msgid "" "Return a new :class:`set` object, optionally with elements taken from " "*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-" @@ -2910,7 +2932,7 @@ msgstr "" "d'*iterable*. ``set`` est une classe native. Voir :class:`set` et :ref:" "`types-set` pour la documentation de cette classe." -#: library/functions.rst:1555 +#: library/functions.rst:1569 msgid "" "For other containers see the built-in :class:`frozenset`, :class:`list`, :" "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " @@ -2919,7 +2941,7 @@ msgstr "" "D'autres conteneurs existent, comme : :class:`frozenset`, :class:`list`, :" "class:`tuple`, et :class:`dict`, ainsi que le module :mod:`collections`." -#: library/functions.rst:1562 +#: library/functions.rst:1576 #, fuzzy msgid "" "This is the counterpart of :func:`getattr`. The arguments are an object, a " @@ -2934,14 +2956,23 @@ msgstr "" "si l'objet l'autorise. Par exemple, ``setattr(x, 'foobar', 123)`` équivaut à " "``x.foobar = 123``." -#: library/functions.rst:1570 +#: library/functions.rst:1582 +msgid "" +"*name* need not be a Python identifier as defined in :ref:`identifiers` " +"unless the object chooses to enforce that, for example in a custom :meth:" +"`~object.__getattribute__` or via :attr:`~object.__slots__`. An attribute " +"whose name is not an identifier will not be accessible using the dot " +"notation, but is accessible through :func:`getattr` etc.." +msgstr "" + +#: library/functions.rst:1590 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " "with two leading underscores) name in order to set it with :func:`setattr`." msgstr "" -#: library/functions.rst:1579 +#: library/functions.rst:1599 #, fuzzy msgid "" "Return a :term:`slice` object representing the set of indices specified by " @@ -2966,16 +2997,16 @@ msgstr "" "Voir :func:`itertools.islice` pour une version alternative renvoyant un " "itérateur." -#: library/functions.rst:1592 +#: library/functions.rst:1612 msgid "Return a new sorted list from the items in *iterable*." msgstr "Renvoie une nouvelle liste triée depuis les éléments d'*iterable*." -#: library/functions.rst:1594 +#: library/functions.rst:1614 msgid "" "Has two optional arguments which must be specified as keyword arguments." msgstr "A deux arguments optionnels qui doivent être nommés." -#: library/functions.rst:1596 +#: library/functions.rst:1616 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each element in *iterable* (for example, ``key=str." @@ -2986,7 +3017,7 @@ msgstr "" "lower``). La valeur par défaut est ``None`` (compare les éléments " "directement)." -#: library/functions.rst:1600 +#: library/functions.rst:1620 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2994,7 +3025,7 @@ msgstr "" "*reverse*, une valeur booléenne. Si elle est ``True``, la liste d'éléments " "est triée comme si toutes les comparaisons étaient inversées." -#: library/functions.rst:1603 +#: library/functions.rst:1623 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -3002,7 +3033,7 @@ msgstr "" "Utilisez :func:`functools.cmp_to_key` pour convertir l'ancienne notation " "*cmp* en une fonction *key*." -#: library/functions.rst:1606 +#: library/functions.rst:1626 msgid "" "The built-in :func:`sorted` function is guaranteed to be stable. A sort is " "stable if it guarantees not to change the relative order of elements that " @@ -3014,7 +3045,7 @@ msgstr "" "eux. C'est utile pour trier en plusieurs passes (par exemple par département " "puis par salaire)." -#: library/functions.rst:1611 +#: library/functions.rst:1631 msgid "" "The sort algorithm uses only ``<`` comparisons between items. While " "defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " @@ -3026,17 +3057,17 @@ msgid "" "method." msgstr "" -#: library/functions.rst:1620 +#: library/functions.rst:1640 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Pour des exemples de tris et un bref tutoriel, consultez :ref:`sortinghowto`." -#: library/functions.rst:1624 +#: library/functions.rst:1644 msgid "Transform a method into a static method." msgstr "Transforme une méthode en méthode statique." -#: library/functions.rst:1626 +#: library/functions.rst:1646 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -3044,7 +3075,7 @@ msgstr "" "Une méthode statique ne reçoit pas de premier argument implicitement. Voilà " "comment déclarer une méthode statique ::" -#: library/functions.rst:1633 +#: library/functions.rst:1653 msgid "" "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -3052,7 +3083,7 @@ msgstr "" "La forme ``@staticmethod`` est un :term:`décorateur ` de " "fonction. Consultez :ref:`function` pour plus de détails." -#: library/functions.rst:1636 +#: library/functions.rst:1656 #, fuzzy msgid "" "A static method can be called either on the class (such as ``C.f()``) or on " @@ -3063,7 +3094,7 @@ msgstr "" "f()``) comme sur une instance (par exemple, ``C().f()``). De plus, elles " "peuvent être appelées comme des fonctions régulières (comme ``f()``)." -#: library/functions.rst:1640 +#: library/functions.rst:1660 #, fuzzy msgid "" "Static methods in Python are similar to those found in Java or C++. Also, " @@ -3074,7 +3105,7 @@ msgstr "" "ou en C++. Consultez :func:`classmethod` pour une variante utile pour créer " "des constructeurs alternatifs." -#: library/functions.rst:1644 +#: library/functions.rst:1664 msgid "" "Like all decorators, it is also possible to call ``staticmethod`` as a " "regular function and do something with its result. This is needed in some " @@ -3088,26 +3119,26 @@ msgstr "" "depuis le corps d'une classe, et souhaiteriez éviter sa transformation en " "méthode d'instance. Pour ces cas, faites comme suit ::" -#: library/functions.rst:1656 +#: library/functions.rst:1676 msgid "For more information on static methods, see :ref:`types`." msgstr "" "Pour plus d'informations sur les méthodes statiques, consultez :ref:`types`." -#: library/functions.rst:1658 +#: library/functions.rst:1678 msgid "" "Static methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a " "new ``__wrapped__`` attribute, and are now callable as regular functions." msgstr "" -#: library/functions.rst:1673 +#: library/functions.rst:1693 msgid "" "Return a :class:`str` version of *object*. See :func:`str` for details." msgstr "" "Renvoie une version d'*object* sous forme de :class:`str`. Voir :func:`str` " "pour plus de détails." -#: library/functions.rst:1675 +#: library/functions.rst:1695 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -3115,7 +3146,7 @@ msgstr "" "``str`` est la :term:`classe ` native des chaînes de caractères. Pour " "des informations générales à propos des chaînes, consultez :ref:`textseq`." -#: library/functions.rst:1681 +#: library/functions.rst:1701 msgid "" "Sums *start* and the items of an *iterable* from left to right and returns " "the total. The *iterable*'s items are normally numbers, and the start value " @@ -3125,7 +3156,7 @@ msgstr "" "donne le total. Les éléments de l'*iterable* sont normalement des nombres, " "et la valeur de *start* ne peut pas être une chaîne de caractères." -#: library/functions.rst:1685 +#: library/functions.rst:1705 msgid "" "For some use cases, there are good alternatives to :func:`sum`. The " "preferred, fast way to concatenate a sequence of strings is by calling ``''." @@ -3139,11 +3170,11 @@ msgstr "" "meilleure précision, voir :func:`math.fsum`. Pour concaténer une série " "d'itérables, utilisez plutôt :func:`itertools.chain`." -#: library/functions.rst:1691 +#: library/functions.rst:1711 msgid "The *start* parameter can be specified as a keyword argument." msgstr "le paramètre *start* peut être passé comme un argument nommé." -#: library/functions.rst:1696 +#: library/functions.rst:1716 msgid "" "Return a proxy object that delegates method calls to a parent or sibling " "class of *type*. This is useful for accessing inherited methods that have " @@ -3153,7 +3184,7 @@ msgstr "" "de méthode à une classe parente ou sœur de *type*. C'est utile pour accéder " "aux méthodes héritées qui ont été remplacées dans une classe." -#: library/functions.rst:1700 +#: library/functions.rst:1720 msgid "" "The *object-or-type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -3162,7 +3193,7 @@ msgstr "" "` est utilisé pour la recherche. La recherche " "commence à partir de la classe qui suit immédiatement le *type*." -#: library/functions.rst:1704 +#: library/functions.rst:1724 msgid "" "For example, if :attr:`~class.__mro__` of *object-or-type* is ``D -> B -> C -" "> A -> object`` and the value of *type* is ``B``, then :func:`super` " @@ -3172,7 +3203,7 @@ msgstr "" "-> A -> object`` et la valeur de *type* est ``B``, alors :func:`super` " "recherche ``C -> A -> object``." -#: library/functions.rst:1708 +#: library/functions.rst:1728 msgid "" "The :attr:`~class.__mro__` attribute of the *object-or-type* lists the " "method resolution search order used by both :func:`getattr` and :func:" @@ -3184,7 +3215,7 @@ msgstr "" "`super`. L'attribut est dynamique et peut changer lorsque la hiérarchie " "d'héritage est modifiée." -#: library/functions.rst:1713 +#: library/functions.rst:1733 msgid "" "If the second argument is omitted, the super object returned is unbound. If " "the second argument is an object, ``isinstance(obj, type)`` must be true. " @@ -3196,7 +3227,7 @@ msgstr "" "le second argument est un type, ``issubclass(type2, type)`` doit être vrai " "(c'est utile pour les méthodes de classe)." -#: library/functions.rst:1718 +#: library/functions.rst:1738 msgid "" "There are two typical use cases for *super*. In a class hierarchy with " "single inheritance, *super* can be used to refer to parent classes without " @@ -3209,7 +3240,7 @@ msgstr "" "maintenable. Cet usage se rapproche de l'usage de *super* dans d'autres " "langages de programmation." -#: library/functions.rst:1723 +#: library/functions.rst:1743 #, fuzzy msgid "" "The second use case is to support cooperative multiple inheritance in a " @@ -3233,12 +3264,12 @@ msgstr "" "dans la hiérarchie, et parce que l'ordre peut inclure des classes sœurs " "inconnues avant l'exécution)." -#: library/functions.rst:1733 +#: library/functions.rst:1753 msgid "For both use cases, a typical superclass call looks like this::" msgstr "" "Dans tous les cas, un appel typique à une classe parente ressemble à ::" -#: library/functions.rst:1740 +#: library/functions.rst:1760 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -3248,7 +3279,7 @@ msgstr "" "la recherche d'attributs. Un cas d'utilisation possible est l'appel d'un :" "term:`descripteur ` d'une classe parente ou sœur." -#: library/functions.rst:1744 +#: library/functions.rst:1764 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " @@ -3265,7 +3296,7 @@ msgstr "" "n'est pas défini pour les recherches implicites via des instructions ou des " "opérateurs tels que ``super()[name]``." -#: library/functions.rst:1751 +#: library/functions.rst:1771 msgid "" "Also note that, aside from the zero argument form, :func:`super` is not " "limited to use inside methods. The two argument form specifies the " @@ -3282,7 +3313,7 @@ msgstr "" "propos de la classe en cours de définition, ainsi qu'accéder à l'instance " "courante pour les méthodes ordinaires." -#: library/functions.rst:1758 +#: library/functions.rst:1778 msgid "" "For practical suggestions on how to design cooperative classes using :func:" "`super`, see `guide to using super() `_." -#: library/functions.rst:1767 +#: library/functions.rst:1787 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -3300,7 +3331,7 @@ msgstr "" "Plutôt qu'être une fonction, :class:`tuple` est en fait un type de séquence " "immuable, comme documenté dans :ref:`typesseq-tuple` et :ref:`typesseq`." -#: library/functions.rst:1776 +#: library/functions.rst:1796 msgid "" "With one argument, return the type of an *object*. The return value is a " "type object and generally the same object as returned by :attr:`object." @@ -3310,7 +3341,7 @@ msgstr "" "objet type et généralement la même que la valeur de l'attribut :attr:`object." "__class__ `." -#: library/functions.rst:1780 +#: library/functions.rst:1800 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -3318,7 +3349,7 @@ msgstr "" "La fonction native :func:`isinstance` est recommandée pour tester le type " "d'un objet, car elle prend en compte l'héritage." -#: library/functions.rst:1784 +#: library/functions.rst:1804 #, fuzzy msgid "" "With three arguments, return a new type object. This is essentially a " @@ -3342,11 +3373,11 @@ msgstr "" "`~object.__dict__`. Par exemple, les deux instructions suivantes créent deux " "instances identiques de :class:`type` :" -#: library/functions.rst:1799 +#: library/functions.rst:1819 msgid "See also :ref:`bltin-type-objects`." msgstr "Voir aussi :ref:`bltin-type-objects`." -#: library/functions.rst:1801 +#: library/functions.rst:1821 msgid "" "Keyword arguments provided to the three argument form are passed to the " "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " @@ -3354,12 +3385,12 @@ msgid "" "would." msgstr "" -#: library/functions.rst:1806 +#: library/functions.rst:1826 #, fuzzy msgid "See also :ref:`class-customization`." msgstr "Voir aussi :ref:`class-customization`." -#: library/functions.rst:1808 +#: library/functions.rst:1828 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -3368,7 +3399,7 @@ msgstr "" "ne doivent plus utiliser la forme à un argument pour récupérer le type d'un " "objet." -#: library/functions.rst:1814 +#: library/functions.rst:1834 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`~object.__dict__` attribute." @@ -3377,7 +3408,7 @@ msgstr "" "instance ou de n'importe quel objet avec un attribut :attr:`~object." "__dict__`." -#: library/functions.rst:1817 +#: library/functions.rst:1837 msgid "" "Objects such as modules and instances have an updateable :attr:`~object." "__dict__` attribute; however, other objects may have write restrictions on " @@ -3390,7 +3421,7 @@ msgstr "" "exemple, les classes utilisent un :class:`types.MappingProxyType` pour " "éviter les modifications directes du dictionnaire)." -#: library/functions.rst:1822 +#: library/functions.rst:1842 msgid "" "Without an argument, :func:`vars` acts like :func:`locals`. Note, the " "locals dictionary is only useful for reads since updates to the locals " @@ -3400,45 +3431,45 @@ msgstr "" "dictionnaire des variables locales n'est utile qu'en lecture, car ses " "écritures sont ignorées." -#: library/functions.rst:1826 +#: library/functions.rst:1846 msgid "" "A :exc:`TypeError` exception is raised if an object is specified but it " "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " "defines the :attr:`~object.__slots__` attribute)." msgstr "" -#: library/functions.rst:1832 +#: library/functions.rst:1852 msgid "" "Iterate over several iterables in parallel, producing tuples with an item " "from each one." msgstr "" -#: library/functions.rst:1835 +#: library/functions.rst:1855 #, fuzzy msgid "Example::" msgstr "Exemple ::" -#: library/functions.rst:1844 +#: library/functions.rst:1864 msgid "" "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " "tuple contains the *i*-th element from each of the argument iterables." msgstr "" -#: library/functions.rst:1847 +#: library/functions.rst:1867 msgid "" "Another way to think of :func:`zip` is that it turns rows into columns, and " "columns into rows. This is similar to `transposing a matrix `_." msgstr "" -#: library/functions.rst:1851 +#: library/functions.rst:1871 msgid "" ":func:`zip` is lazy: The elements won't be processed until the iterable is " "iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:" "`list`." msgstr "" -#: library/functions.rst:1855 +#: library/functions.rst:1875 msgid "" "One thing to consider is that the iterables passed to :func:`zip` could have " "different lengths; sometimes by design, and sometimes because of a bug in " @@ -3446,51 +3477,51 @@ msgid "" "approaches to dealing with this issue:" msgstr "" -#: library/functions.rst:1860 +#: library/functions.rst:1880 msgid "" "By default, :func:`zip` stops when the shortest iterable is exhausted. It " "will ignore the remaining items in the longer iterables, cutting off the " "result to the length of the shortest iterable::" msgstr "" -#: library/functions.rst:1867 +#: library/functions.rst:1887 msgid "" ":func:`zip` is often used in cases where the iterables are assumed to be of " "equal length. In such cases, it's recommended to use the ``strict=True`` " "option. Its output is the same as regular :func:`zip`::" msgstr "" -#: library/functions.rst:1874 +#: library/functions.rst:1894 msgid "" "Unlike the default behavior, it checks that the lengths of iterables are " "identical, raising a :exc:`ValueError` if they aren't:" msgstr "" -#: library/functions.rst:1882 +#: library/functions.rst:1902 msgid "" "Without the ``strict=True`` argument, any bug that results in iterables of " "different lengths will be silenced, possibly manifesting as a hard-to-find " "bug in another part of the program." msgstr "" -#: library/functions.rst:1886 +#: library/functions.rst:1906 msgid "" "Shorter iterables can be padded with a constant value to make all the " "iterables have the same length. This is done by :func:`itertools." "zip_longest`." msgstr "" -#: library/functions.rst:1890 +#: library/functions.rst:1910 msgid "" "Edge cases: With a single iterable argument, :func:`zip` returns an iterator " "of 1-tuples. With no arguments, it returns an empty iterator." msgstr "" -#: library/functions.rst:1893 +#: library/functions.rst:1913 msgid "Tips and tricks:" msgstr "" -#: library/functions.rst:1895 +#: library/functions.rst:1915 #, fuzzy msgid "" "The left-to-right evaluation order of the iterables is guaranteed. This " @@ -3506,7 +3537,7 @@ msgstr "" "``n`` appels à l'itérateur. Cela a pour effet de diviser la séquence en " "morceaux de taille *n*." -#: library/functions.rst:1901 +#: library/functions.rst:1921 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -3514,12 +3545,12 @@ msgstr "" ":func:`zip` peut être utilisée conjointement avec l'opérateur ``*`` pour " "dézipper une liste ::" -#: library/functions.rst:1912 +#: library/functions.rst:1932 #, fuzzy msgid "Added the ``strict`` argument." msgstr "ajout de l'argument ``strict``." -#: library/functions.rst:1924 +#: library/functions.rst:1944 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -3527,7 +3558,7 @@ msgstr "" "C'est une fonction avancée qui n'est pas fréquemment nécessaire, " "contrairement à :func:`importlib.import_module`." -#: library/functions.rst:1927 +#: library/functions.rst:1947 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -3547,7 +3578,7 @@ msgstr "" "à trouver l'implémentation par défaut. L'usage direct de :func:`__import__` " "est aussi déconseillé en faveur de :func:`importlib.import_module`." -#: library/functions.rst:1936 +#: library/functions.rst:1956 #, fuzzy msgid "" "The function imports the module *name*, potentially using the given " @@ -3564,7 +3595,7 @@ msgstr "" "l'argument *locals* et n'utilise *globals* que pour déterminer le contexte " "du paquet de l'instruction :keyword:`import`." -#: library/functions.rst:1943 +#: library/functions.rst:1963 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -3577,7 +3608,7 @@ msgstr "" "positive indique le nombre de dossiers parents relativement au dossier du " "module appelant :func:`__import__` (voir la :pep:`328`)." -#: library/functions.rst:1949 +#: library/functions.rst:1969 msgid "" "When the *name* variable is of the form ``package.module``, normally, the " "top-level package (the name up till the first dot) is returned, *not* the " @@ -3589,7 +3620,7 @@ msgstr "" "et *pas* le module nommé par *name*. Cependant, lorsqu'un argument " "*fromlist* est fourni, le module nommé par *name* est renvoyé." -#: library/functions.rst:1954 +#: library/functions.rst:1974 msgid "" "For example, the statement ``import spam`` results in bytecode resembling " "the following code::" @@ -3597,11 +3628,11 @@ msgstr "" "Par exemple, l'instruction ``import spam`` renvoie un code intermédiaire " "(*bytecode* en anglais) ressemblant au code suivant ::" -#: library/functions.rst:1959 +#: library/functions.rst:1979 msgid "The statement ``import spam.ham`` results in this call::" msgstr "L'instruction ``import spam.ham`` appelle ::" -#: library/functions.rst:1963 +#: library/functions.rst:1983 msgid "" "Note how :func:`__import__` returns the toplevel module here because this is " "the object that is bound to a name by the :keyword:`import` statement." @@ -3609,7 +3640,7 @@ msgstr "" "Notez comment :func:`__import__` renvoie ici le module de plus haut niveau " "parce que c'est l'objet lié à un nom par l'instruction :keyword:`import`." -#: library/functions.rst:1966 +#: library/functions.rst:1986 msgid "" "On the other hand, the statement ``from spam.ham import eggs, sausage as " "saus`` results in ::" @@ -3617,7 +3648,7 @@ msgstr "" "En revanche, l'instruction ``from spam.ham import eggs, sausage as saus`` " "donne ::" -#: library/functions.rst:1973 +#: library/functions.rst:1993 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -3626,7 +3657,7 @@ msgstr "" "Ici le module ``spam.ham`` est renvoyé par :func:`__import__`. De cet objet, " "les noms à importer sont récupérés et assignés à leurs noms respectifs." -#: library/functions.rst:1977 +#: library/functions.rst:1997 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -3634,7 +3665,7 @@ msgstr "" "Si vous voulez simplement importer un module (potentiellement dans un " "paquet) par son nom, utilisez :func:`importlib.import_module`." -#: library/functions.rst:1980 +#: library/functions.rst:2000 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -3642,7 +3673,7 @@ msgstr "" "les valeurs négatives pour *level* ne sont plus prises en charge (et sa " "valeur par défaut est 0)." -#: library/functions.rst:1984 +#: library/functions.rst:2004 msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." @@ -3650,11 +3681,11 @@ msgstr "" "Quand les options :option:`-E` ou :option:`-I` sont précisées dans la ligne " "de commande, la variable d'environnement :envvar:`PYTHONCASEOK` est ignorée." -#: library/functions.rst:1989 +#: library/functions.rst:2009 msgid "Footnotes" msgstr "Notes" -#: library/functions.rst:1990 +#: library/functions.rst:2010 msgid "" "Note that the parser only accepts the Unix-style end of line convention. If " "you are reading the code from a file, make sure to use newline conversion " diff --git a/library/functools.po b/library/functools.po index e2ff9862ef..2a80a35049 100644 --- a/library/functools.po +++ b/library/functools.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-02-06 18:15+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -142,8 +142,9 @@ msgstr "" "Python 3." #: library/functools.rst:122 +#, fuzzy msgid "" -"A comparison function is any callable that accept two arguments, compares " +"A comparison function is any callable that accepts two arguments, compares " "them, and returns a negative number for less-than, zero for equality, or a " "positive number for greater-than. A key function is a callable that accepts " "one argument and returns another value to be used as the sort key." diff --git a/library/gettext.po b/library/gettext.po index 8eb7483314..ee0710d677 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-05-23 15:53-0400\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -852,12 +852,13 @@ msgstr "" "traduite, contrairement aux chaînes ``'mylog.txt'`` et ``'w'``." #: library/gettext.rst:527 +#, fuzzy msgid "" "There are a few tools to extract the strings meant for translation. The " "original GNU :program:`gettext` only supported C or C++ source code but its " "extended version :program:`xgettext` scans code written in a number of " "languages, including Python, to find strings marked as translatable. `Babel " -"`__ is a Python internationalization library that " +"`__ is a Python internationalization library that " "includes a :file:`pybabel` script to extract and compile message catalogs. " "François Pinard's program called :program:`xpot` does a similar job and is " "available as part of his `po-utils package \n" "Language-Team: FRENCH \n" @@ -70,7 +70,7 @@ msgstr "" #: library/glob.rst:44 #, fuzzy msgid "" -"Return a possibly-empty list of path names that match *pathname*, which must " +"Return a possibly empty list of path names that match *pathname*, which must " "be a string containing a path specification. *pathname* can be either " "absolute (like :file:`/usr/src/Python-1.5/Makefile`) or relative (like :file:" "`../../Tools/\\*/\\*.gif`), and can contain shell-style wildcards. Broken " diff --git a/library/grp.po b/library/grp.po index a43c922a6c..26a523e5e2 100644 --- a/library/grp.po +++ b/library/grp.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -114,35 +114,34 @@ msgstr "" #: library/grp.rst:46 msgid "" -"Since Python 3.6 the support of non-integer arguments like floats or strings " -"in :func:`getgrgid` is deprecated." +":exc:`TypeError` is raised for non-integer arguments like floats or strings." msgstr "" -#: library/grp.rst:52 +#: library/grp.rst:51 msgid "" "Return the group database entry for the given group name. :exc:`KeyError` is " "raised if the entry asked for cannot be found." msgstr "" -#: library/grp.rst:58 +#: library/grp.rst:57 msgid "Return a list of all available group entries, in arbitrary order." msgstr "" -#: library/grp.rst:64 +#: library/grp.rst:63 msgid "Module :mod:`pwd`" msgstr "Module :mod:`pwd`" -#: library/grp.rst:64 +#: library/grp.rst:63 #, fuzzy msgid "An interface to the user database, similar to this." msgstr "Interface pour la base de données des groupes, similaire à celle-ci." -#: library/grp.rst:66 +#: library/grp.rst:65 #, fuzzy msgid "Module :mod:`spwd`" msgstr "Module :mod:`pwd`" -#: library/grp.rst:67 +#: library/grp.rst:66 #, fuzzy msgid "An interface to the shadow password database, similar to this." msgstr "" diff --git a/library/hashlib.po b/library/hashlib.po index 8441b9361c..c71288d313 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-04-27 22:47+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -658,9 +658,10 @@ msgstr "" "BLAKE2s, 0 en mode séquentiel)." #: library/hashlib.rst:393 +#, fuzzy msgid "" "*last_node*: boolean indicating whether the processed node is the last one " -"(`False` for sequential mode)." +"(``False`` for sequential mode)." msgstr "" "*last_node*: booléen indiquant si le nœud traité est le dernier (`False` " "pour le mode séquentiel)." @@ -925,9 +926,10 @@ msgstr "" "utilisée dans le protocole stoppe immédiatement ce genre d'attaque." #: library/hashlib.rst:629 +#, fuzzy msgid "" -"(`The Skein Hash Function Family `_, p. 21)" +"(`The Skein Hash Function Family `_, p. 21)" msgstr "" "(`The Skein Hash Function Family `_, p. 21, article en anglais)" diff --git a/library/hmac.po b/library/hmac.po index 6ac9edc9bc..a2cb9a639c 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-04-28 21:10+0200\n" "Last-Translator: Dimitri Merejkowsky \n" "Language-Team: FRENCH \n" @@ -124,8 +124,9 @@ msgstr "" "qui ne sont pas dans la table ASCII, y compris des octets NUL." #: library/hmac.rst:72 +#, fuzzy msgid "" -"When comparing the output of :meth:`digest` to an externally-supplied digest " +"When comparing the output of :meth:`digest` to an externally supplied digest " "during a verification routine, it is recommended to use the :func:" "`compare_digest` function instead of the ``==`` operator to reduce the " "vulnerability to timing attacks." @@ -147,8 +148,9 @@ msgstr "" "d'autres environnements ne gérant pas les données binaires." #: library/hmac.rst:86 +#, fuzzy msgid "" -"When comparing the output of :meth:`hexdigest` to an externally-supplied " +"When comparing the output of :meth:`hexdigest` to an externally supplied " "digest during a verification routine, it is recommended to use the :func:" "`compare_digest` function instead of the ``==`` operator to reduce the " "vulnerability to timing attacks." diff --git a/library/html.entities.po b/library/html.entities.po index 1c5ffd39b7..9a3d407a60 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-11-06 21:41+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -72,9 +72,10 @@ msgid "Footnotes" msgstr "Notes" #: library/html.entities.rst:47 +#, fuzzy msgid "" -"See https://html.spec.whatwg.org/multipage/syntax.html#named-character-" -"references" +"See https://html.spec.whatwg.org/multipage/named-characters.html#named-" +"character-references" msgstr "" "Voir https://html.spec.whatwg.org/multipage/syntax.html#named-character-" "references" diff --git a/library/http.client.po b/library/http.client.po index c411b8d04e..9eb2463f8e 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-03-23 16:31+0100\n" "Last-Translator: Thierry Pellé \n" "Language-Team: FRENCH \n" @@ -24,8 +24,9 @@ msgid "**Source code:** :source:`Lib/http/client.py`" msgstr "**Code source :** :source:`Lib/http/client.py`" #: library/http.client.rst:17 +#, fuzzy msgid "" -"This module defines classes which implement the client side of the HTTP and " +"This module defines classes that implement the client side of the HTTP and " "HTTPS protocols. It is normally not used directly --- the module :mod:" "`urllib.request` uses it to handle URLs that use HTTP and HTTPS." msgstr "" @@ -56,9 +57,10 @@ msgstr "Le module fournit les classes suivantes :" # Le style est un peu lourd et pourrait être amélioré. #: library/http.client.rst:37 +#, fuzzy msgid "" "An :class:`HTTPConnection` instance represents one transaction with an HTTP " -"server. It should be instantiated passing it a host and optional port " +"server. It should be instantiated by passing it a host and optional port " "number. If no port number is passed, the port is extracted from the host " "string if it has the form ``host:port``, else the default HTTP port (80) is " "used. If the optional *timeout* parameter is given, blocking operations " @@ -94,9 +96,10 @@ msgid "*source_address* was added." msgstr "Le paramètre *source_address* a été ajouté." #: library/http.client.rst:60 +#, fuzzy msgid "" "The *strict* parameter was removed. HTTP 0.9-style \"Simple Responses\" are " -"not longer supported." +"no longer supported." msgstr "" "Le paramètre *strict* a été supprimé. Les « réponses simples » de HTTP 0.9 " "ne sont plus prises en charge." @@ -714,10 +717,11 @@ msgstr "" "le tampon *b*. Renvoie le nombre d'octets lus." #: library/http.client.rst:473 +#, fuzzy msgid "" "Return the value of the header *name*, or *default* if there is no header " "matching *name*. If there is more than one header with the name *name*, " -"return all of the values joined by ', '. If 'default' is any iterable other " +"return all of the values joined by ', '. If *default* is any iterable other " "than a single string, its elements are similarly returned joined by commas." msgstr "" "Renvoie la valeur de l'en-tête *name*, ou *default* si aucun en-tête " @@ -817,18 +821,19 @@ msgstr "" "méthode ``HEAD`` ne renvoie jamais de données. ::" #: library/http.client.rst:579 -msgid "Here is an example session that shows how to ``POST`` requests::" -msgstr "" -"Voici un exemple de session montrant l'utilisation de la méthode ``POST`` ::" +#, fuzzy +msgid "Here is an example session that uses the ``POST`` method::" +msgstr "Voici un exemple de session utilisant la méthode ``GET`` ::" #: library/http.client.rst:595 +#, fuzzy msgid "" -"Client side ``HTTP PUT`` requests are very similar to ``POST`` requests. The " -"difference lies only the server side where HTTP server will allow resources " -"to be created via ``PUT`` request. It should be noted that custom HTTP " -"methods are also handled in :class:`urllib.request.Request` by setting the " -"appropriate method attribute. Here is an example session that shows how to " -"send a ``PUT`` request using http.client::" +"Client side HTTP ``PUT`` requests are very similar to ``POST`` requests. The " +"difference lies only on the server side where HTTP servers will allow " +"resources to be created via ``PUT`` requests. It should be noted that custom " +"HTTP methods are also handled in :class:`urllib.request.Request` by setting " +"the appropriate method attribute. Here is an example session that uses the " +"``PUT`` method::" msgstr "" "Les requêtes ``HTTP PUT`` côté client ressemblent aux requêtes ``POST``. La " "différence est uniquement du côté serveur, le serveur HTTP créant des " @@ -838,11 +843,11 @@ msgstr "" "exemple une session qui montre comment envoyer une requête ``PUT`` en " "utilisant http.client ::" -#: library/http.client.rst:617 +#: library/http.client.rst:616 msgid "HTTPMessage Objects" msgstr "Les objets HTTPMessage" -#: library/http.client.rst:619 +#: library/http.client.rst:618 msgid "" "An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP " "response. It is implemented using the :class:`email.message.Message` class." @@ -850,3 +855,8 @@ msgstr "" "Une instance de classe :class:`http.client.HTTPMessage` contient les en-" "têtes d'une réponse HTTP. Elle est implémentée en utilisant la classe :class:" "`email.message.Message`." + +#~ msgid "Here is an example session that shows how to ``POST`` requests::" +#~ msgstr "" +#~ "Voici un exemple de session montrant l'utilisation de la méthode " +#~ "``POST`` ::" diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index 9a80209570..e9b4b0cd48 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -101,17 +101,22 @@ msgid "" "this class are documented in section :ref:`file-cookie-jar-classes`." msgstr "" -#: library/http.cookiejar.rst:350 +#: library/http.cookiejar.rst:74 +msgid "" +"This should not be initialized directly – use its subclasses below instead." +msgstr "" + +#: library/http.cookiejar.rst:351 msgid "The filename parameter supports a :term:`path-like object`." msgstr "" -#: library/http.cookiejar.rst:81 +#: library/http.cookiejar.rst:83 msgid "" "This class is responsible for deciding whether each cookie should be " "accepted from / returned to the server." msgstr "" -#: library/http.cookiejar.rst:87 +#: library/http.cookiejar.rst:89 msgid "" "Constructor arguments should be passed as keyword arguments only. " "*blocked_domains* is a sequence of domain names that we never accept cookies " @@ -123,7 +128,7 @@ msgid "" "`CookiePolicy` and :class:`DefaultCookiePolicy` objects." msgstr "" -#: library/http.cookiejar.rst:96 +#: library/http.cookiejar.rst:98 msgid "" ":class:`DefaultCookiePolicy` implements the standard accept / reject rules " "for Netscape and :rfc:`2965` cookies. By default, :rfc:`2109` cookies (ie. " @@ -136,7 +141,7 @@ msgid "" "parameters to allow some fine-tuning of policy." msgstr "" -#: library/http.cookiejar.rst:109 +#: library/http.cookiejar.rst:111 msgid "" "This class represents Netscape, :rfc:`2109` and :rfc:`2965` cookies. It is " "not expected that users of :mod:`http.cookiejar` construct their own :class:" @@ -144,30 +149,30 @@ msgid "" "class:`CookieJar` instance." msgstr "" -#: library/http.cookiejar.rst:118 +#: library/http.cookiejar.rst:120 msgid "Module :mod:`urllib.request`" msgstr "" -#: library/http.cookiejar.rst:118 +#: library/http.cookiejar.rst:120 msgid "URL opening with automatic cookie handling." msgstr "" -#: library/http.cookiejar.rst:123 +#: library/http.cookiejar.rst:125 #, fuzzy msgid "Module :mod:`http.cookies`" msgstr "Module :mod:`http.cookiejar`" -#: library/http.cookiejar.rst:121 +#: library/http.cookiejar.rst:123 msgid "" "HTTP cookie classes, principally useful for server-side code. The :mod:" "`http.cookiejar` and :mod:`http.cookies` modules do not depend on each other." msgstr "" -#: library/http.cookiejar.rst:129 +#: library/http.cookiejar.rst:131 msgid "https://curl.se/rfc/cookie_spec.html" msgstr "" -#: library/http.cookiejar.rst:126 +#: library/http.cookiejar.rst:128 msgid "" "The specification of the original Netscape cookie protocol. Though this is " "still the dominant protocol, the 'Netscape cookie protocol' implemented by " @@ -175,56 +180,56 @@ msgid "" "resemblance to the one sketched out in ``cookie_spec.html``." msgstr "" -#: library/http.cookiejar.rst:132 +#: library/http.cookiejar.rst:134 msgid ":rfc:`2109` - HTTP State Management Mechanism" msgstr ":rfc:`2109` - HTTP State Management Mechanism" -#: library/http.cookiejar.rst:132 +#: library/http.cookiejar.rst:134 msgid "Obsoleted by :rfc:`2965`. Uses :mailheader:`Set-Cookie` with version=1." msgstr "" -#: library/http.cookiejar.rst:136 +#: library/http.cookiejar.rst:138 #, fuzzy msgid ":rfc:`2965` - HTTP State Management Mechanism" msgstr ":rfc:`2109` - HTTP State Management Mechanism" -#: library/http.cookiejar.rst:135 +#: library/http.cookiejar.rst:137 msgid "" "The Netscape protocol with the bugs fixed. Uses :mailheader:`Set-Cookie2` " "in place of :mailheader:`Set-Cookie`. Not widely used." msgstr "" -#: library/http.cookiejar.rst:139 +#: library/http.cookiejar.rst:141 msgid "http://kristol.org/cookie/errata.html" msgstr "" -#: library/http.cookiejar.rst:139 +#: library/http.cookiejar.rst:141 msgid "Unfinished errata to :rfc:`2965`." msgstr "" -#: library/http.cookiejar.rst:141 +#: library/http.cookiejar.rst:143 msgid ":rfc:`2964` - Use of HTTP State Management" msgstr "" -#: library/http.cookiejar.rst:146 +#: library/http.cookiejar.rst:148 msgid "CookieJar and FileCookieJar Objects" msgstr "" -#: library/http.cookiejar.rst:148 +#: library/http.cookiejar.rst:150 msgid "" ":class:`CookieJar` objects support the :term:`iterator` protocol for " "iterating over contained :class:`Cookie` objects." msgstr "" -#: library/http.cookiejar.rst:151 +#: library/http.cookiejar.rst:153 msgid ":class:`CookieJar` has the following methods:" msgstr "" -#: library/http.cookiejar.rst:156 +#: library/http.cookiejar.rst:158 msgid "Add correct :mailheader:`Cookie` header to *request*." msgstr "" -#: library/http.cookiejar.rst:158 +#: library/http.cookiejar.rst:160 msgid "" "If policy allows (ie. the :attr:`rfc2965` and :attr:`hide_cookie2` " "attributes of the :class:`CookieJar`'s :class:`CookiePolicy` instance are " @@ -232,28 +237,28 @@ msgid "" "when appropriate." msgstr "" -#: library/http.cookiejar.rst:162 +#: library/http.cookiejar.rst:164 msgid "" "The *request* object (usually a :class:`urllib.request.Request` instance) " -"must support the methods :meth:`get_full_url`, :meth:`get_host`, :meth:" -"`get_type`, :meth:`unverifiable`, :meth:`has_header`, :meth:`get_header`, :" -"meth:`header_items`, :meth:`add_unredirected_header` and :attr:" -"`origin_req_host` attribute as documented by :mod:`urllib.request`." +"must support the methods :meth:`get_full_url`, :meth:`has_header`, :meth:" +"`get_header`, :meth:`header_items`, :meth:`add_unredirected_header` and the " +"attributes :attr:`host`, :attr:`!type`, :attr:`unverifiable` and :attr:" +"`origin_req_host` as documented by :mod:`urllib.request`." msgstr "" -#: library/http.cookiejar.rst:197 +#: library/http.cookiejar.rst:198 msgid "" "*request* object needs :attr:`origin_req_host` attribute. Dependency on a " "deprecated method :meth:`get_origin_req_host` has been removed." msgstr "" -#: library/http.cookiejar.rst:177 +#: library/http.cookiejar.rst:178 msgid "" "Extract cookies from HTTP *response* and store them in the :class:" "`CookieJar`, where allowed by policy." msgstr "" -#: library/http.cookiejar.rst:180 +#: library/http.cookiejar.rst:181 msgid "" "The :class:`CookieJar` will look for allowable :mailheader:`Set-Cookie` and :" "mailheader:`Set-Cookie2` headers in the *response* argument, and store " @@ -261,52 +266,52 @@ msgid "" "approval)." msgstr "" -#: library/http.cookiejar.rst:184 +#: library/http.cookiejar.rst:185 msgid "" "The *response* object (usually the result of a call to :meth:`urllib.request." "urlopen`, or similar) should support an :meth:`info` method, which returns " "an :class:`email.message.Message` instance." msgstr "" -#: library/http.cookiejar.rst:188 +#: library/http.cookiejar.rst:189 msgid "" "The *request* object (usually a :class:`urllib.request.Request` instance) " -"must support the methods :meth:`get_full_url`, :meth:`get_host`, :meth:" -"`unverifiable`, and :attr:`origin_req_host` attribute, as documented by :mod:" -"`urllib.request`. The request is used to set default values for cookie-" +"must support the method :meth:`get_full_url` and the attributes :attr:" +"`host`, :attr:`unverifiable` and :attr:`origin_req_host`, as documented by :" +"mod:`urllib.request`. The request is used to set default values for cookie-" "attributes as well as for checking that the cookie is allowed to be set." msgstr "" -#: library/http.cookiejar.rst:202 +#: library/http.cookiejar.rst:203 msgid "Set the :class:`CookiePolicy` instance to be used." msgstr "" -#: library/http.cookiejar.rst:207 +#: library/http.cookiejar.rst:208 msgid "" "Return sequence of :class:`Cookie` objects extracted from *response* object." msgstr "" -#: library/http.cookiejar.rst:209 +#: library/http.cookiejar.rst:210 msgid "" "See the documentation for :meth:`extract_cookies` for the interfaces " "required of the *response* and *request* arguments." msgstr "" -#: library/http.cookiejar.rst:215 +#: library/http.cookiejar.rst:216 msgid "Set a :class:`Cookie` if policy says it's OK to do so." msgstr "" -#: library/http.cookiejar.rst:220 +#: library/http.cookiejar.rst:221 msgid "" "Set a :class:`Cookie`, without checking with policy to see whether or not it " "should be set." msgstr "" -#: library/http.cookiejar.rst:226 +#: library/http.cookiejar.rst:227 msgid "Clear some cookies." msgstr "" -#: library/http.cookiejar.rst:228 +#: library/http.cookiejar.rst:229 msgid "" "If invoked without arguments, clear all cookies. If given a single " "argument, only cookies belonging to that *domain* will be removed. If given " @@ -315,15 +320,15 @@ msgid "" "*domain*, *path* and *name* is removed." msgstr "" -#: library/http.cookiejar.rst:234 +#: library/http.cookiejar.rst:235 msgid "Raises :exc:`KeyError` if no matching cookie exists." msgstr "" -#: library/http.cookiejar.rst:239 +#: library/http.cookiejar.rst:240 msgid "Discard all session cookies." msgstr "" -#: library/http.cookiejar.rst:241 +#: library/http.cookiejar.rst:242 msgid "" "Discards all contained cookies that have a true :attr:`discard` attribute " "(usually because they had either no ``max-age`` or ``expires`` cookie-" @@ -332,27 +337,27 @@ msgid "" "window." msgstr "" -#: library/http.cookiejar.rst:246 +#: library/http.cookiejar.rst:247 msgid "" "Note that the :meth:`save` method won't save session cookies anyway, unless " "you ask otherwise by passing a true *ignore_discard* argument." msgstr "" -#: library/http.cookiejar.rst:249 +#: library/http.cookiejar.rst:250 msgid ":class:`FileCookieJar` implements the following additional methods:" msgstr "" -#: library/http.cookiejar.rst:254 +#: library/http.cookiejar.rst:255 msgid "Save cookies to a file." msgstr "" -#: library/http.cookiejar.rst:256 +#: library/http.cookiejar.rst:257 msgid "" "This base class raises :exc:`NotImplementedError`. Subclasses may leave " "this method unimplemented." msgstr "" -#: library/http.cookiejar.rst:259 +#: library/http.cookiejar.rst:260 msgid "" "*filename* is the name of file in which to save cookies. If *filename* is " "not specified, :attr:`self.filename` is used (whose default is the value " @@ -360,65 +365,65 @@ msgid "" "`None`, :exc:`ValueError` is raised." msgstr "" -#: library/http.cookiejar.rst:264 +#: library/http.cookiejar.rst:265 msgid "" "*ignore_discard*: save even cookies set to be discarded. *ignore_expires*: " "save even cookies that have expired" msgstr "" -#: library/http.cookiejar.rst:267 +#: library/http.cookiejar.rst:268 msgid "" "The file is overwritten if it already exists, thus wiping all the cookies it " "contains. Saved cookies can be restored later using the :meth:`load` or :" "meth:`revert` methods." msgstr "" -#: library/http.cookiejar.rst:274 +#: library/http.cookiejar.rst:275 msgid "Load cookies from a file." msgstr "" -#: library/http.cookiejar.rst:276 +#: library/http.cookiejar.rst:277 msgid "Old cookies are kept unless overwritten by newly loaded ones." msgstr "" -#: library/http.cookiejar.rst:278 +#: library/http.cookiejar.rst:279 msgid "Arguments are as for :meth:`save`." msgstr "" -#: library/http.cookiejar.rst:280 +#: library/http.cookiejar.rst:281 msgid "" "The named file must be in the format understood by the class, or :exc:" "`LoadError` will be raised. Also, :exc:`OSError` may be raised, for example " "if the file does not exist." msgstr "" -#: library/http.cookiejar.rst:284 +#: library/http.cookiejar.rst:285 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" ":exc:`IOError` était normalement levée, elle est maintenant un alias de :exc:" "`OSError`." -#: library/http.cookiejar.rst:290 +#: library/http.cookiejar.rst:291 msgid "Clear all cookies and reload cookies from a saved file." msgstr "" -#: library/http.cookiejar.rst:292 +#: library/http.cookiejar.rst:293 msgid "" ":meth:`revert` can raise the same exceptions as :meth:`load`. If there is a " "failure, the object's state will not be altered." msgstr "" -#: library/http.cookiejar.rst:295 +#: library/http.cookiejar.rst:296 msgid ":class:`FileCookieJar` instances have the following public attributes:" msgstr "" -#: library/http.cookiejar.rst:300 +#: library/http.cookiejar.rst:301 msgid "" "Filename of default file in which to keep cookies. This attribute may be " "assigned to." msgstr "" -#: library/http.cookiejar.rst:306 +#: library/http.cookiejar.rst:307 msgid "" "If true, load cookies lazily from disk. This attribute should not be " "assigned to. This is only a hint, since this only affects performance, not " @@ -427,43 +432,43 @@ msgid "" "in the standard library lazily loads cookies." msgstr "" -#: library/http.cookiejar.rst:316 +#: library/http.cookiejar.rst:317 msgid "FileCookieJar subclasses and co-operation with web browsers" msgstr "" -#: library/http.cookiejar.rst:318 +#: library/http.cookiejar.rst:319 msgid "" "The following :class:`CookieJar` subclasses are provided for reading and " "writing." msgstr "" -#: library/http.cookiejar.rst:323 +#: library/http.cookiejar.rst:324 msgid "" "A :class:`FileCookieJar` that can load from and save cookies to disk in the " -"Mozilla ``cookies.txt`` file format (which is also used by the Lynx and " -"Netscape browsers)." +"Mozilla ``cookies.txt`` file format (which is also used by curl and the Lynx " +"and Netscape browsers)." msgstr "" -#: library/http.cookiejar.rst:329 +#: library/http.cookiejar.rst:330 msgid "" "This loses information about :rfc:`2965` cookies, and also about newer or " "non-standard cookie-attributes such as ``port``." msgstr "" -#: library/http.cookiejar.rst:334 +#: library/http.cookiejar.rst:335 msgid "" "Back up your cookies before saving if you have cookies whose loss / " "corruption would be inconvenient (there are some subtleties which may lead " "to slight changes in the file over a load / save round-trip)." msgstr "" -#: library/http.cookiejar.rst:338 +#: library/http.cookiejar.rst:339 msgid "" "Also note that cookies saved while Mozilla is running will get clobbered by " "Mozilla." msgstr "" -#: library/http.cookiejar.rst:344 +#: library/http.cookiejar.rst:345 msgid "" "A :class:`FileCookieJar` that can load from and save cookies to disk in " "format compatible with the libwww-perl library's ``Set-Cookie3`` file " @@ -471,47 +476,47 @@ msgid "" "file." msgstr "" -#: library/http.cookiejar.rst:355 +#: library/http.cookiejar.rst:356 msgid "CookiePolicy Objects" msgstr "" -#: library/http.cookiejar.rst:357 +#: library/http.cookiejar.rst:358 msgid "" "Objects implementing the :class:`CookiePolicy` interface have the following " "methods:" msgstr "" -#: library/http.cookiejar.rst:363 +#: library/http.cookiejar.rst:364 msgid "" "Return boolean value indicating whether cookie should be accepted from " "server." msgstr "" -#: library/http.cookiejar.rst:365 +#: library/http.cookiejar.rst:366 msgid "" "*cookie* is a :class:`Cookie` instance. *request* is an object implementing " "the interface defined by the documentation for :meth:`CookieJar." "extract_cookies`." msgstr "" -#: library/http.cookiejar.rst:372 +#: library/http.cookiejar.rst:373 msgid "" "Return boolean value indicating whether cookie should be returned to server." msgstr "" -#: library/http.cookiejar.rst:374 +#: library/http.cookiejar.rst:375 msgid "" "*cookie* is a :class:`Cookie` instance. *request* is an object implementing " "the interface defined by the documentation for :meth:`CookieJar." "add_cookie_header`." msgstr "" -#: library/http.cookiejar.rst:381 +#: library/http.cookiejar.rst:382 msgid "" "Return ``False`` if cookies should not be returned, given cookie domain." msgstr "" -#: library/http.cookiejar.rst:383 +#: library/http.cookiejar.rst:384 msgid "" "This method is an optimization. It removes the need for checking every " "cookie with a particular domain (which might involve reading many files). " @@ -519,7 +524,7 @@ msgid "" "leaves all the work to :meth:`return_ok`." msgstr "" -#: library/http.cookiejar.rst:388 +#: library/http.cookiejar.rst:389 msgid "" "If :meth:`domain_return_ok` returns true for the cookie domain, :meth:" "`path_return_ok` is called for the cookie path. Otherwise, :meth:" @@ -529,7 +534,7 @@ msgid "" "`return_ok` is never called for that cookie path." msgstr "" -#: library/http.cookiejar.rst:395 +#: library/http.cookiejar.rst:396 msgid "" "Note that :meth:`domain_return_ok` is called for every *cookie* domain, not " "just for the *request* domain. For example, the function might be called " @@ -537,19 +542,19 @@ msgid "" "domain is ``\"www.example.com\"``. The same goes for :meth:`path_return_ok`." msgstr "" -#: library/http.cookiejar.rst:400 +#: library/http.cookiejar.rst:401 msgid "The *request* argument is as documented for :meth:`return_ok`." msgstr "" -#: library/http.cookiejar.rst:405 +#: library/http.cookiejar.rst:406 msgid "Return ``False`` if cookies should not be returned, given cookie path." msgstr "" -#: library/http.cookiejar.rst:407 +#: library/http.cookiejar.rst:408 msgid "See the documentation for :meth:`domain_return_ok`." msgstr "" -#: library/http.cookiejar.rst:409 +#: library/http.cookiejar.rst:410 msgid "" "In addition to implementing the methods above, implementations of the :class:" "`CookiePolicy` interface must also supply the following attributes, " @@ -557,21 +562,21 @@ msgid "" "may be assigned to." msgstr "" -#: library/http.cookiejar.rst:417 +#: library/http.cookiejar.rst:418 msgid "Implement Netscape protocol." msgstr "" -#: library/http.cookiejar.rst:422 +#: library/http.cookiejar.rst:423 msgid "Implement :rfc:`2965` protocol." msgstr "" -#: library/http.cookiejar.rst:427 +#: library/http.cookiejar.rst:428 msgid "" "Don't add :mailheader:`Cookie2` header to requests (the presence of this " "header indicates to the server that we understand :rfc:`2965` cookies)." msgstr "" -#: library/http.cookiejar.rst:430 +#: library/http.cookiejar.rst:431 msgid "" "The most useful way to define a :class:`CookiePolicy` class is by " "subclassing from :class:`DefaultCookiePolicy` and overriding some or all of " @@ -580,28 +585,28 @@ msgid "" "to be useful)." msgstr "" -#: library/http.cookiejar.rst:439 +#: library/http.cookiejar.rst:440 msgid "DefaultCookiePolicy Objects" msgstr "" -#: library/http.cookiejar.rst:441 +#: library/http.cookiejar.rst:442 msgid "Implements the standard rules for accepting and returning cookies." msgstr "" -#: library/http.cookiejar.rst:443 +#: library/http.cookiejar.rst:444 msgid "" "Both :rfc:`2965` and Netscape cookies are covered. RFC 2965 handling is " "switched off by default." msgstr "" -#: library/http.cookiejar.rst:446 +#: library/http.cookiejar.rst:447 msgid "" "The easiest way to provide your own policy is to override this class and " "call its methods in your overridden implementations before adding your own " "additional checks::" msgstr "" -#: library/http.cookiejar.rst:459 +#: library/http.cookiejar.rst:460 msgid "" "In addition to the features required to implement the :class:`CookiePolicy` " "interface, this class allows you to block and allow domains from setting and " @@ -610,7 +615,7 @@ msgid "" "cost of blocking some benign cookies)." msgstr "" -#: library/http.cookiejar.rst:465 +#: library/http.cookiejar.rst:466 msgid "" "A domain blocklist and allowlist is provided (both off by default). Only " "domains not in the blocklist and present in the allowlist (if the allowlist " @@ -621,7 +626,7 @@ msgid "" "off again by setting it to :const:`None`." msgstr "" -#: library/http.cookiejar.rst:473 +#: library/http.cookiejar.rst:474 msgid "" "Domains in block or allow lists that do not start with a dot must equal the " "cookie domain to be matched. For example, ``\"example.com\"`` matches a " @@ -634,46 +639,46 @@ msgid "" "192.168.1.2 is blocked, but 193.168.1.2 is not." msgstr "" -#: library/http.cookiejar.rst:482 +#: library/http.cookiejar.rst:483 msgid "" ":class:`DefaultCookiePolicy` implements the following additional methods:" msgstr "" -#: library/http.cookiejar.rst:487 +#: library/http.cookiejar.rst:488 msgid "Return the sequence of blocked domains (as a tuple)." msgstr "" -#: library/http.cookiejar.rst:492 +#: library/http.cookiejar.rst:493 msgid "Set the sequence of blocked domains." msgstr "" -#: library/http.cookiejar.rst:497 +#: library/http.cookiejar.rst:498 msgid "" "Return whether *domain* is on the blocklist for setting or receiving cookies." msgstr "" -#: library/http.cookiejar.rst:502 +#: library/http.cookiejar.rst:503 msgid "Return :const:`None`, or the sequence of allowed domains (as a tuple)." msgstr "" -#: library/http.cookiejar.rst:507 +#: library/http.cookiejar.rst:508 msgid "Set the sequence of allowed domains, or :const:`None`." msgstr "" -#: library/http.cookiejar.rst:512 +#: library/http.cookiejar.rst:513 msgid "" "Return whether *domain* is not on the allowlist for setting or receiving " "cookies." msgstr "" -#: library/http.cookiejar.rst:515 +#: library/http.cookiejar.rst:516 msgid "" ":class:`DefaultCookiePolicy` instances have the following attributes, which " "are all initialised from the constructor arguments of the same name, and " "which may all be assigned to." msgstr "" -#: library/http.cookiejar.rst:522 +#: library/http.cookiejar.rst:523 msgid "" "If true, request that the :class:`CookieJar` instance downgrade :rfc:`2109` " "cookies (ie. cookies received in a :mailheader:`Set-Cookie` header with a " @@ -684,22 +689,22 @@ msgid "" "by default." msgstr "" -#: library/http.cookiejar.rst:530 +#: library/http.cookiejar.rst:531 msgid "General strictness switches:" msgstr "" -#: library/http.cookiejar.rst:534 +#: library/http.cookiejar.rst:535 msgid "" "Don't allow sites to set two-component domains with country-code top-level " "domains like ``.co.uk``, ``.gov.uk``, ``.co.nz``.etc. This is far from " "perfect and isn't guaranteed to work!" msgstr "" -#: library/http.cookiejar.rst:539 +#: library/http.cookiejar.rst:540 msgid ":rfc:`2965` protocol strictness switches:" msgstr "" -#: library/http.cookiejar.rst:543 +#: library/http.cookiejar.rst:544 msgid "" "Follow :rfc:`2965` rules on unverifiable transactions (usually, an " "unverifiable transaction is one resulting from a redirect or a request for " @@ -707,46 +712,46 @@ msgid "" "blocked on the basis of verifiability" msgstr "" -#: library/http.cookiejar.rst:549 +#: library/http.cookiejar.rst:550 msgid "Netscape protocol strictness switches:" msgstr "" -#: library/http.cookiejar.rst:553 +#: library/http.cookiejar.rst:554 msgid "" "Apply :rfc:`2965` rules on unverifiable transactions even to Netscape " "cookies." msgstr "" -#: library/http.cookiejar.rst:558 +#: library/http.cookiejar.rst:559 msgid "" "Flags indicating how strict to be with domain-matching rules for Netscape " "cookies. See below for acceptable values." msgstr "" -#: library/http.cookiejar.rst:564 +#: library/http.cookiejar.rst:565 msgid "" "Ignore cookies in Set-Cookie: headers that have names starting with ``'$'``." msgstr "" -#: library/http.cookiejar.rst:569 +#: library/http.cookiejar.rst:570 msgid "Don't allow setting cookies whose path doesn't path-match request URI." msgstr "" -#: library/http.cookiejar.rst:571 +#: library/http.cookiejar.rst:572 msgid "" ":attr:`strict_ns_domain` is a collection of flags. Its value is constructed " "by or-ing together (for example, ``DomainStrictNoDots|" "DomainStrictNonDomain`` means both flags are set)." msgstr "" -#: library/http.cookiejar.rst:578 +#: library/http.cookiejar.rst:579 msgid "" "When setting cookies, the 'host prefix' must not contain a dot (eg. ``www." "foo.bar.com`` can't set a cookie for ``.bar.com``, because ``www.foo`` " "contains a dot)." msgstr "" -#: library/http.cookiejar.rst:585 +#: library/http.cookiejar.rst:586 msgid "" "Cookies that did not explicitly specify a ``domain`` cookie-attribute can " "only be returned to a domain equal to the domain that set the cookie (eg. " @@ -754,31 +759,31 @@ msgid "" "no ``domain`` cookie-attribute)." msgstr "" -#: library/http.cookiejar.rst:593 +#: library/http.cookiejar.rst:594 msgid "When setting cookies, require a full :rfc:`2965` domain-match." msgstr "" -#: library/http.cookiejar.rst:595 +#: library/http.cookiejar.rst:596 msgid "" "The following attributes are provided for convenience, and are the most " "useful combinations of the above flags:" msgstr "" -#: library/http.cookiejar.rst:601 +#: library/http.cookiejar.rst:602 msgid "" "Equivalent to 0 (ie. all of the above Netscape domain strictness flags " "switched off)." msgstr "" -#: library/http.cookiejar.rst:607 +#: library/http.cookiejar.rst:608 msgid "Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``." msgstr "" -#: library/http.cookiejar.rst:611 +#: library/http.cookiejar.rst:612 msgid "Cookie Objects" msgstr "Objets *Cookie*" -#: library/http.cookiejar.rst:613 +#: library/http.cookiejar.rst:614 msgid "" ":class:`Cookie` instances have Python attributes roughly corresponding to " "the standard cookie-attributes specified in the various cookie standards. " @@ -789,14 +794,14 @@ msgid "" "(Netscape) cookies." msgstr "" -#: library/http.cookiejar.rst:621 +#: library/http.cookiejar.rst:622 msgid "" "Assignment to these attributes should not be necessary other than in rare " "circumstances in a :class:`CookiePolicy` method. The class does not enforce " "internal consistency, so you should know what you're doing if you do that." msgstr "" -#: library/http.cookiejar.rst:628 +#: library/http.cookiejar.rst:629 msgid "" "Integer or :const:`None`. Netscape cookies have :attr:`version` 0. :rfc:" "`2965` and :rfc:`2109` cookies have a ``version`` cookie-attribute of 1. " @@ -804,51 +809,51 @@ msgid "" "Netscape cookies, in which case :attr:`version` is 0." msgstr "" -#: library/http.cookiejar.rst:636 +#: library/http.cookiejar.rst:637 msgid "Cookie name (a string)." msgstr "" -#: library/http.cookiejar.rst:641 +#: library/http.cookiejar.rst:642 msgid "Cookie value (a string), or :const:`None`." msgstr "" -#: library/http.cookiejar.rst:646 +#: library/http.cookiejar.rst:647 msgid "" "String representing a port or a set of ports (eg. '80', or '80,8080'), or :" "const:`None`." msgstr "" -#: library/http.cookiejar.rst:652 +#: library/http.cookiejar.rst:653 msgid "Cookie path (a string, eg. ``'/acme/rocket_launchers'``)." msgstr "" -#: library/http.cookiejar.rst:657 +#: library/http.cookiejar.rst:658 msgid "``True`` if cookie should only be returned over a secure connection." msgstr "" -#: library/http.cookiejar.rst:662 +#: library/http.cookiejar.rst:663 msgid "" "Integer expiry date in seconds since epoch, or :const:`None`. See also the :" "meth:`is_expired` method." msgstr "" -#: library/http.cookiejar.rst:668 +#: library/http.cookiejar.rst:669 msgid "``True`` if this is a session cookie." msgstr "" -#: library/http.cookiejar.rst:673 +#: library/http.cookiejar.rst:674 msgid "" "String comment from the server explaining the function of this cookie, or :" "const:`None`." msgstr "" -#: library/http.cookiejar.rst:679 +#: library/http.cookiejar.rst:680 msgid "" "URL linking to a comment from the server explaining the function of this " "cookie, or :const:`None`." msgstr "" -#: library/http.cookiejar.rst:685 +#: library/http.cookiejar.rst:686 msgid "" "``True`` if this cookie was received as an :rfc:`2109` cookie (ie. the " "cookie arrived in a :mailheader:`Set-Cookie` header, and the value of the " @@ -857,70 +862,70 @@ msgid "" "cookies, in which case :attr:`version` is 0." msgstr "" -#: library/http.cookiejar.rst:694 +#: library/http.cookiejar.rst:695 msgid "" "``True`` if a port or set of ports was explicitly specified by the server " "(in the :mailheader:`Set-Cookie` / :mailheader:`Set-Cookie2` header)." msgstr "" -#: library/http.cookiejar.rst:700 +#: library/http.cookiejar.rst:701 msgid "``True`` if a domain was explicitly specified by the server." msgstr "" -#: library/http.cookiejar.rst:705 +#: library/http.cookiejar.rst:706 msgid "" "``True`` if the domain explicitly specified by the server began with a dot " "(``'.'``)." msgstr "" -#: library/http.cookiejar.rst:708 +#: library/http.cookiejar.rst:709 msgid "" "Cookies may have additional non-standard cookie-attributes. These may be " "accessed using the following methods:" msgstr "" -#: library/http.cookiejar.rst:714 +#: library/http.cookiejar.rst:715 msgid "Return ``True`` if cookie has the named cookie-attribute." msgstr "" -#: library/http.cookiejar.rst:719 +#: library/http.cookiejar.rst:720 msgid "" "If cookie has the named cookie-attribute, return its value. Otherwise, " "return *default*." msgstr "" -#: library/http.cookiejar.rst:725 +#: library/http.cookiejar.rst:726 msgid "Set the value of the named cookie-attribute." msgstr "" -#: library/http.cookiejar.rst:727 +#: library/http.cookiejar.rst:728 msgid "The :class:`Cookie` class also defines the following method:" msgstr "" -#: library/http.cookiejar.rst:732 +#: library/http.cookiejar.rst:733 msgid "" "``True`` if cookie has passed the time at which the server requested it " "should expire. If *now* is given (in seconds since the epoch), return " "whether the cookie has expired at the specified time." msgstr "" -#: library/http.cookiejar.rst:738 +#: library/http.cookiejar.rst:739 msgid "Examples" msgstr "Exemples" -#: library/http.cookiejar.rst:740 +#: library/http.cookiejar.rst:741 msgid "" "The first example shows the most common usage of :mod:`http.cookiejar`::" msgstr "" -#: library/http.cookiejar.rst:747 +#: library/http.cookiejar.rst:748 msgid "" "This example illustrates how to open a URL using your Netscape, Mozilla, or " "Lynx cookies (assumes Unix/Netscape convention for location of the cookies " "file)::" msgstr "" -#: library/http.cookiejar.rst:756 +#: library/http.cookiejar.rst:757 msgid "" "The next example illustrates the use of :class:`DefaultCookiePolicy`. Turn " "on :rfc:`2965` cookies, be more strict about domains when setting and " diff --git a/library/http.server.po b/library/http.server.po index 2b0ce59e48..c156276955 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-04-27 06:17-0400\n" "Last-Translator: Edith Viau \n" "Language-Team: FRENCH \n" @@ -28,9 +28,10 @@ msgid "This module defines classes for implementing HTTP servers." msgstr "Ce module définit des classes implémentant des serveurs HTTP." #: library/http.server.rst:22 +#, fuzzy msgid "" -":mod:`http.server` is not recommended for production. It only implements " -"basic security checks." +":mod:`http.server` is not recommended for production. It only implements :" +"ref:`basic security checks `." msgstr "" ":mod:`http.server` n'est pas recommandé pour la mise en production. Les " "vérifications de sécurité implémentées ne sont qu'élémentaires." @@ -551,8 +552,8 @@ msgstr "" #: library/http.server.rst:391 msgid "" -"For example usage, see the implementation of the :func:`test` function " -"invocation in the :mod:`http.server` module." +"For example usage, see the implementation of the ``test`` function in :" +"source:`Lib/http/server.py`." msgstr "" #: library/http.server.rst:394 @@ -667,3 +668,14 @@ msgid "" ":class:`CGIHTTPRequestHandler` can be enabled in the command line by passing " "the ``--cgi`` option::" msgstr "" + +#: library/http.server.rst:495 +msgid "Security Considerations" +msgstr "" + +#: library/http.server.rst:499 +msgid "" +":class:`SimpleHTTPRequestHandler` will follow symbolic links when handling " +"requests, this makes it possible for files outside of the specified " +"directory to be served." +msgstr "" diff --git a/library/idle.po b/library/idle.po index b838792153..fec21031a3 100644 --- a/library/idle.po +++ b/library/idle.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:32+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -142,24 +142,25 @@ msgstr "" "Ouvre un fichier existant avec une fenêtre de dialogue pour l'ouverture." #: library/idle.rst:65 -msgid "Recent Files" -msgstr "*Recent Files*" +msgid "Open Module..." +msgstr "*Open Module...*" #: library/idle.rst:65 -msgid "Open a list of recent files. Click one to open it." -msgstr "" -"Ouvre une liste des fichiers récents. Cliquez sur l'un d'eux pour l'ouvrir." +msgid "Open an existing module (searches sys.path)." +msgstr "Ouvre un module existant (cherche dans *sys.path*)." #: library/idle.rst:68 -msgid "Open Module..." -msgstr "*Open Module...*" +msgid "Recent Files" +msgstr "*Recent Files*" #: library/idle.rst:68 -msgid "Open an existing module (searches sys.path)." -msgstr "Ouvre un module existant (cherche dans *sys.path*)." +msgid "Open a list of recent files. Click one to open it." +msgstr "" +"Ouvre une liste des fichiers récents. Cliquez sur l'un d'eux pour l'ouvrir." #: library/idle.rst:76 -msgid "Class Browser" +#, fuzzy +msgid "Module Browser" msgstr "*Class Browser*" #: library/idle.rst:75 @@ -198,70 +199,72 @@ msgstr "" "enregistrement ont un \\* avant et après le titre de la fenêtre. S'il n'y a " "aucun fichier associé, exécute *Save As* à la place." -#: library/idle.rst:90 +#: library/idle.rst:93 msgid "Save As..." msgstr "*Save As...*" #: library/idle.rst:89 msgid "" "Save the current window with a Save As dialog. The file saved becomes the " -"new associated file for the window." +"new associated file for the window. (If your file namager is set to hide " +"extensions, the current extension will be omitted in the file name box. If " +"the new filename has no '.', '.py' and '.txt' will be added for Python and " +"text files, except that on macOS Aqua,'.py' is added for all files.)" msgstr "" -"Enregistre la fenêtre active avec une fenêtre de dialogue d'enregistrement. " -"Le fichier enregistré devient le nouveau fichier associé pour cette fenêtre." -#: library/idle.rst:94 +#: library/idle.rst:97 msgid "Save Copy As..." msgstr "*Save Copy As...*" -#: library/idle.rst:93 +#: library/idle.rst:96 +#, fuzzy msgid "" "Save the current window to different file without changing the associated " -"file." +"file. (See Save As note above about filename extensions.)" msgstr "" "Enregistre la fenêtre active sous un fichier différent sans changer le " "fichier associé." -#: library/idle.rst:97 +#: library/idle.rst:100 msgid "Print Window" msgstr "*Print Window*" -#: library/idle.rst:97 +#: library/idle.rst:100 msgid "Print the current window to the default printer." msgstr "Imprime la fenêtre active avec l'imprimante par défaut." -#: library/idle.rst:102 +#: library/idle.rst:105 msgid "Close Window" msgstr "" -#: library/idle.rst:100 +#: library/idle.rst:103 msgid "" "Close the current window (if an unsaved editor, ask to save; if an unsaved " "Shell, ask to quit execution). Calling ``exit()`` or ``close()`` in the " "Shell window also closes Shell. If this is the only window, also exit IDLE." msgstr "" -#: library/idle.rst:105 +#: library/idle.rst:108 #, fuzzy msgid "Exit IDLE" msgstr "About *IDLE*" -#: library/idle.rst:105 +#: library/idle.rst:108 #, fuzzy msgid "Close all windows and quit IDLE (ask to save unsaved edit windows)." msgstr "" "Ferme toutes les fenêtres et quitte *IDLE* (demande à enregistrer les " "fenêtres non sauvegardées)." -#: library/idle.rst:108 +#: library/idle.rst:111 msgid "Edit menu (Shell and Editor)" msgstr "Menu *Edit* (console et éditeur)" -#: library/idle.rst:112 +#: library/idle.rst:115 msgid "Undo" msgstr "*Undo*" -#: library/idle.rst:111 +#: library/idle.rst:114 msgid "" "Undo the last change to the current window. A maximum of 1000 changes may " "be undone." @@ -269,112 +272,112 @@ msgstr "" "Annule le dernier changement dans la fenêtre active. Un maximum de 1000 " "changements peut être annulé." -#: library/idle.rst:115 +#: library/idle.rst:118 msgid "Redo" msgstr "*Redo*" -#: library/idle.rst:115 +#: library/idle.rst:118 msgid "Redo the last undone change to the current window." msgstr "Ré-applique le dernier changement annulé dans la fenêtre active." -#: library/idle.rst:367 +#: library/idle.rst:121 +msgid "Select All" +msgstr "*Select All*" + +#: library/idle.rst:121 +msgid "Select the entire contents of the current window." +msgstr "Sélectionne la totalité du contenu de la fenêtre active." + +#: library/idle.rst:370 msgid "Cut" msgstr "*Cut*" -#: library/idle.rst:367 +#: library/idle.rst:370 msgid "" "Copy selection into the system-wide clipboard; then delete the selection." msgstr "" "Copie la sélection dans le presse-papier global ; puis supprime la sélection." -#: library/idle.rst:370 +#: library/idle.rst:373 msgid "Copy" msgstr "*Copy*" -#: library/idle.rst:370 +#: library/idle.rst:373 msgid "Copy selection into the system-wide clipboard." msgstr "Copie la sélection dans le presse-papier global." -#: library/idle.rst:373 +#: library/idle.rst:376 msgid "Paste" msgstr "*Paste*" -#: library/idle.rst:373 +#: library/idle.rst:376 msgid "Insert contents of the system-wide clipboard into the current window." msgstr "Insère le contenu du presse-papier global dans la fenêtre active." -#: library/idle.rst:126 +#: library/idle.rst:132 msgid "The clipboard functions are also available in context menus." msgstr "" "Les fonctions du presse-papier sont aussi disponibles dans les menus " "contextuels." -#: library/idle.rst:129 -msgid "Select All" -msgstr "*Select All*" - -#: library/idle.rst:129 -msgid "Select the entire contents of the current window." -msgstr "Sélectionne la totalité du contenu de la fenêtre active." - -#: library/idle.rst:132 +#: library/idle.rst:135 msgid "Find..." msgstr "*Find...*" -#: library/idle.rst:132 +#: library/idle.rst:135 msgid "Open a search dialog with many options" msgstr "Ouvre une fenêtre de recherche avec de nombreuses options" -#: library/idle.rst:135 +#: library/idle.rst:138 msgid "Find Again" msgstr "*Find Again*" -#: library/idle.rst:135 +#: library/idle.rst:138 msgid "Repeat the last search, if there is one." msgstr "Répète la dernière recherche, s'il y en a une." -#: library/idle.rst:138 +#: library/idle.rst:141 msgid "Find Selection" msgstr "*Find Selection*" -#: library/idle.rst:138 +#: library/idle.rst:141 msgid "Search for the currently selected string, if there is one." msgstr "Cherche la chaîne sélectionnée, s'il y en a une." -#: library/idle.rst:141 +#: library/idle.rst:144 msgid "Find in Files..." msgstr "*Find in Files...*" -#: library/idle.rst:141 +#: library/idle.rst:144 msgid "Open a file search dialog. Put results in a new output window." msgstr "" "Ouvre une fenêtre de recherche de fichiers. Présente les résultats dans une " "nouvelle fenêtre d'affichage." -#: library/idle.rst:144 +#: library/idle.rst:147 msgid "Replace..." msgstr "*Replace...*" -#: library/idle.rst:144 +#: library/idle.rst:147 msgid "Open a search-and-replace dialog." msgstr "Ouvre une fenêtre de recherche et remplacement." -#: library/idle.rst:149 +#: library/idle.rst:152 msgid "Go to Line" msgstr "*Go to Line*" -#: library/idle.rst:147 +#: library/idle.rst:150 msgid "" "Move the cursor to the beginning of the line requested and make that line " "visible. A request past the end of the file goes to the end. Clear any " "selection and update the line and column status." msgstr "" -#: library/idle.rst:153 +#: library/idle.rst:156 msgid "Show Completions" msgstr "*Show Completions*" -#: library/idle.rst:152 +#: library/idle.rst:155 #, fuzzy msgid "" "Open a scrollable list allowing selection of existing names. See :ref:" @@ -384,11 +387,11 @@ msgstr "" "attributs. Reportez-vous à :ref:`Complétions ` dans la section " "Édition et navigation ci-dessous." -#: library/idle.rst:157 +#: library/idle.rst:160 msgid "Expand Word" msgstr "*Expand Word*" -#: library/idle.rst:156 +#: library/idle.rst:159 msgid "" "Expand a prefix you have typed to match a full word in the same window; " "repeat to get a different expansion." @@ -396,11 +399,12 @@ msgstr "" "Complète un préfixe que vous avez saisi pour correspondre à un mot complet " "de la même fenêtre ; recommencez pour obtenir un autre complément." -#: library/idle.rst:162 -msgid "Show call tip" +#: library/idle.rst:165 +#, fuzzy +msgid "Show Call Tip" msgstr "*Show call tip*" -#: library/idle.rst:160 +#: library/idle.rst:163 msgid "" "After an unclosed parenthesis for a function, open a small window with " "function parameter hints. See :ref:`Calltips ` in the Editing and " @@ -411,59 +415,75 @@ msgstr "" "`Aides aux appels ` dans la section Édition et navigation ci-" "dessous." -#: library/idle.rst:165 -msgid "Show surrounding parens" +#: library/idle.rst:168 +#, fuzzy +msgid "Show Surrounding Parens" msgstr "*Show surrounding parens*" -#: library/idle.rst:165 +#: library/idle.rst:168 msgid "Highlight the surrounding parenthesis." msgstr "Surligne les parenthèses encadrantes." -#: library/idle.rst:170 +#: library/idle.rst:173 msgid "Format menu (Editor window only)" msgstr "Menu *Format* (fenêtre d'édition uniquement)" -#: library/idle.rst:173 +#: library/idle.rst:178 +msgid "Format Paragraph" +msgstr "*Format Paragraph*" + +#: library/idle.rst:176 +msgid "" +"Reformat the current blank-line-delimited paragraph in comment block or " +"multiline string or selected line in a string. All lines in the paragraph " +"will be formatted to less than N columns, where N defaults to 72." +msgstr "" +"Reformate le paragraphe actif, délimité par des lignes vides, en un bloc de " +"commentaires, ou la chaîne de caractères multi-lignes ou ligne sélectionnée " +"en chaîne de caractères. Toutes les lignes du paragraphe seront formatées à " +"moins de N colonnes, avec N valant 72 par défaut." + +#: library/idle.rst:181 msgid "Indent Region" msgstr "*Indent Region*" -#: library/idle.rst:173 +#: library/idle.rst:181 msgid "Shift selected lines right by the indent width (default 4 spaces)." msgstr "" "Décale les lignes sélectionnées vers la droite d'un niveau d'indentation (4 " "espaces par défaut)." -#: library/idle.rst:176 +#: library/idle.rst:184 msgid "Dedent Region" msgstr "*Dedent Region*" -#: library/idle.rst:176 +#: library/idle.rst:184 msgid "Shift selected lines left by the indent width (default 4 spaces)." msgstr "" "Décale les lignes sélectionnées vers la gauche d'un niveau d'indentation (4 " "espaces par défaut)." -#: library/idle.rst:179 +#: library/idle.rst:187 msgid "Comment Out Region" msgstr "*Comment Out Region*" -#: library/idle.rst:179 +#: library/idle.rst:187 msgid "Insert ## in front of selected lines." msgstr "Insère ## devant les lignes sélectionnées." -#: library/idle.rst:182 +#: library/idle.rst:190 msgid "Uncomment Region" msgstr "*Uncomment Region*" -#: library/idle.rst:182 +#: library/idle.rst:190 msgid "Remove leading # or ## from selected lines." msgstr "Enlève les # ou ## au début des lignes sélectionnées." -#: library/idle.rst:186 +#: library/idle.rst:194 msgid "Tabify Region" msgstr "*Tabify Region*" -#: library/idle.rst:185 +#: library/idle.rst:193 msgid "" "Turn *leading* stretches of spaces into tabs. (Note: We recommend using 4 " "space blocks to indent Python code.)" @@ -472,29 +492,29 @@ msgstr "" "(Note : Nous recommandons d'utiliser des blocs de 4 espaces pour indenter du " "code Python.)" -#: library/idle.rst:189 +#: library/idle.rst:197 msgid "Untabify Region" msgstr "*Untabify Region*" -#: library/idle.rst:189 +#: library/idle.rst:197 msgid "Turn *all* tabs into the correct number of spaces." msgstr "Transforme *toutes* les tabulations en le bon nombre d'espaces." -#: library/idle.rst:192 +#: library/idle.rst:200 msgid "Toggle Tabs" msgstr "*Toggle Tabs*" -#: library/idle.rst:192 +#: library/idle.rst:200 msgid "Open a dialog to switch between indenting with spaces and tabs." msgstr "" "Ouvre une boîte de dialogue permettant de passer des espaces aux tabulations " "(et inversement) pour l'indentation." -#: library/idle.rst:196 +#: library/idle.rst:204 msgid "New Indent Width" msgstr "*New Indent Width*" -#: library/idle.rst:195 +#: library/idle.rst:203 msgid "" "Open a dialog to change indent width. The accepted default by the Python " "community is 4 spaces." @@ -502,26 +522,12 @@ msgstr "" "Ouvre une boîte de dialogue pour changer la taille de l'indentation. La " "valeur par défaut acceptée par la communauté Python est de 4 espaces." -#: library/idle.rst:201 -msgid "Format Paragraph" -msgstr "*Format Paragraph*" - -#: library/idle.rst:199 -msgid "" -"Reformat the current blank-line-delimited paragraph in comment block or " -"multiline string or selected line in a string. All lines in the paragraph " -"will be formatted to less than N columns, where N defaults to 72." -msgstr "" -"Reformate le paragraphe actif, délimité par des lignes vides, en un bloc de " -"commentaires, ou la chaîne de caractères multi-lignes ou ligne sélectionnée " -"en chaîne de caractères. Toutes les lignes du paragraphe seront formatées à " -"moins de N colonnes, avec N valant 72 par défaut." - -#: library/idle.rst:207 -msgid "Strip trailing whitespace" +#: library/idle.rst:210 +#, fuzzy +msgid "Strip Trailing Chitespace" msgstr "*Strip trailing whitespace*" -#: library/idle.rst:204 +#: library/idle.rst:207 msgid "" "Remove trailing space and other whitespace characters after the last non-" "whitespace character of a line by applying str.rstrip to each line, " @@ -533,15 +539,15 @@ msgstr "" "chaînes de caractères multi-lignes. À l'exception des fenêtres de terminal, " "supprime les lignes supplémentaires à la fin du fichier." -#: library/idle.rst:213 +#: library/idle.rst:216 msgid "Run menu (Editor window only)" msgstr "Menu *Run* (fenêtre d'édition uniquement)" -#: library/idle.rst:224 +#: library/idle.rst:227 msgid "Run Module" msgstr "*Run Module*" -#: library/idle.rst:218 +#: library/idle.rst:221 msgid "" "Do :ref:`Check Module `. If no error, restart the shell to " "clean the environment, then execute the module. Output is displayed in the " @@ -559,11 +565,11 @@ msgstr "" "l'exécution. Ceci est similaire à l'exécution d'un fichier avec ``python -i " "fichier`` sur un terminal." -#: library/idle.rst:231 +#: library/idle.rst:234 msgid "Run... Customized" msgstr "Run... Customized" -#: library/idle.rst:229 +#: library/idle.rst:232 msgid "" "Same as :ref:`Run Module `, but run the module with customized " "settings. *Command Line Arguments* extend :data:`sys.argv` as if passed on " @@ -574,11 +580,11 @@ msgstr "" "`sys.argv` comme s'ils étaient passés par la ligne de commande. Le module " "peut être lancé dans le terminal sans avoir à le redémarrer." -#: library/idle.rst:240 +#: library/idle.rst:243 msgid "Check Module" msgstr "*Check Module*" -#: library/idle.rst:236 +#: library/idle.rst:239 msgid "" "Check the syntax of the module currently open in the Editor window. If the " "module has not been saved IDLE will either prompt the user to save or " @@ -593,80 +599,80 @@ msgstr "" "une erreur de syntaxe, l'emplacement approximatif est indiqué dans la " "fenêtre d'édition." -#: library/idle.rst:246 +#: library/idle.rst:249 msgid "Python Shell" msgstr "Console Python" -#: library/idle.rst:245 +#: library/idle.rst:248 msgid "Open or wake up the Python Shell window." msgstr "Ouvre ou active la fenêtre de console Python." -#: library/idle.rst:249 +#: library/idle.rst:252 msgid "Shell menu (Shell window only)" msgstr "Menu Shell (fenêtre de console uniquement)" -#: library/idle.rst:252 +#: library/idle.rst:255 msgid "View Last Restart" msgstr "*View Last Restart*" -#: library/idle.rst:252 +#: library/idle.rst:255 msgid "Scroll the shell window to the last Shell restart." msgstr "" "Fait défiler la fenêtre de console jusqu'au dernier redémarrage de la " "console." -#: library/idle.rst:255 +#: library/idle.rst:258 msgid "Restart Shell" msgstr "*Restart Shell*" -#: library/idle.rst:255 +#: library/idle.rst:258 #, fuzzy msgid "" "Restart the shell to clean the environment and reset display and exception " "handling." msgstr "Redémarre la console pour nettoyer l'environnement." -#: library/idle.rst:258 +#: library/idle.rst:261 msgid "Previous History" msgstr "*Previous History*" -#: library/idle.rst:258 +#: library/idle.rst:261 msgid "" "Cycle through earlier commands in history which match the current entry." msgstr "" "Parcours les commandes précédentes dans l'historique qui correspondent à " "l'entrée actuelle." -#: library/idle.rst:261 +#: library/idle.rst:264 msgid "Next History" msgstr "*Next History*" -#: library/idle.rst:261 +#: library/idle.rst:264 msgid "Cycle through later commands in history which match the current entry." msgstr "" "Parcours les commandes suivantes dans l'historique qui correspondent à " "l'entrée actuelle." -#: library/idle.rst:264 +#: library/idle.rst:267 msgid "Interrupt Execution" msgstr "*Interrupt Execution*" -#: library/idle.rst:264 +#: library/idle.rst:267 msgid "Stop a running program." msgstr "Arrête un programme en cours d'exécution." -#: library/idle.rst:267 +#: library/idle.rst:270 msgid "Debug menu (Shell window only)" msgstr "Menu *Debug* (fenêtre de console uniquement)" -#: library/idle.rst:274 +#: library/idle.rst:277 msgid "Go to File/Line" msgstr "*Go to File/Line*" # Look on the current line. with the cursor, and the line above for a filename # and line number. # Il y a des erreurs d'anglais là-dedans... -#: library/idle.rst:270 +#: library/idle.rst:273 msgid "" "Look on the current line. with the cursor, and the line above for a filename " "and line number. If found, open the file if not already open, and show the " @@ -681,11 +687,11 @@ msgstr "" "par *Find in Files*. Également disponible dans le menu contextuel des " "fenêtres de console et d'affichage." -#: library/idle.rst:283 +#: library/idle.rst:286 msgid "Debugger (toggle)" msgstr "*Debugger* ([dés]activer)" -#: library/idle.rst:281 +#: library/idle.rst:284 msgid "" "When activated, code entered in the Shell or run from an Editor will run " "under the debugger. In the Editor, breakpoints can be set with the context " @@ -696,11 +702,11 @@ msgstr "" "points d'arrêt peuvent être placés avec le menu contextuel. Cette " "fonctionnalité est encore incomplète et plus ou moins expérimentale." -#: library/idle.rst:287 +#: library/idle.rst:290 msgid "Stack Viewer" msgstr "*Stack Viewer*" -#: library/idle.rst:286 +#: library/idle.rst:289 msgid "" "Show the stack traceback of the last exception in a tree widget, with access " "to locals and globals." @@ -708,26 +714,26 @@ msgstr "" "Montre l'état de la pile au moment de la dernière erreur dans une " "arborescence, avec accès aux variables locales et globales." -#: library/idle.rst:290 +#: library/idle.rst:293 msgid "Auto-open Stack Viewer" msgstr "*Auto-open Stack Viewer*" -#: library/idle.rst:290 +#: library/idle.rst:293 msgid "" "Toggle automatically opening the stack viewer on an unhandled exception." msgstr "" "Active ou désactive l'ouverture automatique de l'afficheur de pile après une " "erreur non gérée." -#: library/idle.rst:293 +#: library/idle.rst:296 msgid "Options menu (Shell and Editor)" msgstr "Menu *Options* (console et éditeur)" -#: library/idle.rst:301 +#: library/idle.rst:304 msgid "Configure IDLE" msgstr "*Configure IDLE*" -#: library/idle.rst:296 +#: library/idle.rst:299 msgid "" "Open a configuration dialog and change preferences for the following: fonts, " "indentation, keybindings, text color themes, startup windows and size, " @@ -743,7 +749,7 @@ msgstr "" "Pour plus de détails, référez-vous à :ref:`Modifier les préférences " "` dans Aide et paramètres." -#: library/idle.rst:303 +#: library/idle.rst:306 msgid "" "Most configuration options apply to all windows or all future windows. The " "option items below only apply to the active window." @@ -752,11 +758,11 @@ msgstr "" "fenêtres, ouvertes ou non. Les éléments d'option ci-dessous s'appliquent " "uniquement à la fenêtre active." -#: library/idle.rst:310 +#: library/idle.rst:313 msgid "Show/Hide Code Context (Editor Window only)" msgstr "*Show/Hide Code Context* (fenêtres d'édition uniquement)" -#: library/idle.rst:307 +#: library/idle.rst:310 msgid "" "Open a pane at the top of the edit window which shows the block context of " "the code which has scrolled above the top of the window. See :ref:`Code " @@ -767,11 +773,11 @@ msgstr "" "*General* de la fenêtre de configuration d'*IDLE*. Consultez :ref:`Code " "Context ` dans la section « Édition et navigation » ci-dessous." -#: library/idle.rst:315 +#: library/idle.rst:318 msgid "Show/Hide Line Numbers (Editor Window only)" msgstr "*Show/Hide Line Numbers* (fenêtre de l'éditeur uniquement)" -#: library/idle.rst:313 +#: library/idle.rst:316 msgid "" "Open a column to the left of the edit window which shows the number of each " "line of text. The default is off, which may be changed in the preferences " @@ -782,11 +788,11 @@ msgstr "" "être modifié dans les préférences (voir :ref:`Modifier les préférences " "`)." -#: library/idle.rst:323 +#: library/idle.rst:326 msgid "Zoom/Restore Height" msgstr "*Zoom/Restore Height*" -#: library/idle.rst:318 +#: library/idle.rst:321 msgid "" "Toggles the window between normal size and maximum height. The initial size " "defaults to 40 lines by 80 chars unless changed on the General tab of the " @@ -803,11 +809,11 @@ msgstr "" "des paramètres d'écran peut invalider la hauteur enregistrée. Cette bascule " "n'a aucun effet lorsqu'une fenêtre est agrandie." -#: library/idle.rst:326 +#: library/idle.rst:329 msgid "Window menu (Shell and Editor)" msgstr "Menu *Windows* (console et éditeur)" -#: library/idle.rst:328 +#: library/idle.rst:331 msgid "" "Lists the names of all open windows; select one to bring it to the " "foreground (deiconifying it if necessary)." @@ -815,24 +821,24 @@ msgstr "" "Liste les noms de toutes les fenêtres ouvertes ; sélectionnez-en une pour " "l'amener au premier plan (en l'ouvrant si nécessaire)." -#: library/idle.rst:332 +#: library/idle.rst:335 msgid "Help menu (Shell and Editor)" msgstr "Menu *Help* (console et éditeur)" -#: library/idle.rst:335 +#: library/idle.rst:338 msgid "About IDLE" msgstr "About *IDLE*" -#: library/idle.rst:335 +#: library/idle.rst:338 msgid "Display version, copyright, license, credits, and more." msgstr "" "Affiche la version, les copyrights, la licence, les crédits, entre autres." -#: library/idle.rst:339 +#: library/idle.rst:342 msgid "IDLE Help" msgstr "*IDLE Help*" -#: library/idle.rst:338 +#: library/idle.rst:341 msgid "" "Display this IDLE document, detailing the menu options, basic editing and " "navigation, and other tips." @@ -840,11 +846,11 @@ msgstr "" "Affiche ce document *IDLE*, qui détaille les options des menus, les bases de " "l'édition et de la navigation ainsi que d'autres astuces." -#: library/idle.rst:343 +#: library/idle.rst:346 msgid "Python Docs" msgstr "*Python Docs*" -#: library/idle.rst:342 +#: library/idle.rst:345 msgid "" "Access local Python documentation, if installed, or start a web browser and " "open docs.python.org showing the latest Python documentation." @@ -852,17 +858,17 @@ msgstr "" "Accède à la documentation Python locale, si installée, ou ouvre docs.python." "org dans un navigateur pour afficher la documentation Python la plus récente." -#: library/idle.rst:346 +#: library/idle.rst:349 msgid "Turtle Demo" msgstr "*Turtle Demo*" -#: library/idle.rst:346 +#: library/idle.rst:349 msgid "Run the turtledemo module with example Python code and turtle drawings." msgstr "" "Exécute le module *turtledemo* avec des exemples de code Python et de " "dessins *turtle*." -#: library/idle.rst:348 +#: library/idle.rst:351 msgid "" "Additional help sources may be added here with the Configure IDLE dialog " "under the General tab. See the :ref:`Help sources ` subsection " @@ -873,11 +879,12 @@ msgstr "" "section :ref:`Sources d'aide ` ci-dessous pour plus de détails " "sur les choix du menu d'aide." -#: library/idle.rst:361 -msgid "Context Menus" +#: library/idle.rst:364 +#, fuzzy +msgid "Context menus" msgstr "Menus Contextuels" -#: library/idle.rst:363 +#: library/idle.rst:366 msgid "" "Open a context menu by right-clicking in a window (Control-click on macOS). " "Context menus have the standard clipboard functions also on the Edit menu." @@ -886,7 +893,7 @@ msgstr "" "(Contrôle-clic sous *macOS*). Les menus contextuels ont les fonctions de " "presse-papier standard, également disponibles dans le menu *Edit*." -#: library/idle.rst:375 +#: library/idle.rst:378 msgid "" "Editor windows also have breakpoint functions. Lines with a breakpoint set " "are specially marked. Breakpoints only have an effect when running under " @@ -899,37 +906,37 @@ msgstr "" "déroule sous débogueur. Les points d'arrêt pour un fichier sont enregistrés " "dans le dossier ``.idlerc`` de l'utilisateur." -#: library/idle.rst:381 +#: library/idle.rst:384 msgid "Set Breakpoint" msgstr "*Set Breakpoint*" -#: library/idle.rst:381 +#: library/idle.rst:384 msgid "Set a breakpoint on the current line." msgstr "Place un point d'arrêt sur la ligne active." -#: library/idle.rst:384 +#: library/idle.rst:387 msgid "Clear Breakpoint" msgstr "*Clear Breakpoint*" -#: library/idle.rst:384 +#: library/idle.rst:387 msgid "Clear the breakpoint on that line." msgstr "Enlève le point d'arrêt sur cette ligne." -#: library/idle.rst:386 +#: library/idle.rst:389 msgid "Shell and Output windows also have the following." msgstr "" "Les fenêtres de console et d'affichage disposent en plus des éléments " "suivants." -#: library/idle.rst:389 +#: library/idle.rst:392 msgid "Go to file/line" msgstr "*Go to file/line*" -#: library/idle.rst:389 +#: library/idle.rst:392 msgid "Same as in Debug menu." msgstr "Même effet que dans le menu *Debug*." -#: library/idle.rst:391 +#: library/idle.rst:394 msgid "" "The Shell window also has an output squeezing facility explained in the " "*Python Shell window* subsection below." @@ -937,11 +944,11 @@ msgstr "" "Les fenêtres de console ont également une fonction de réduction des sorties " "détaillée dans la sous-section *fenêtre de console de Python* ci-dessous." -#: library/idle.rst:397 +#: library/idle.rst:400 msgid "Squeeze" msgstr "*Squeeze*" -#: library/idle.rst:395 +#: library/idle.rst:398 msgid "" "If the cursor is over an output line, squeeze all the output between the " "code above and the prompt below down to a 'Squeezed text' label." @@ -949,15 +956,16 @@ msgstr "" "Si le curseur est sur une ligne d'affichage, compacte toute la sortie entre " "le code au-dessus et l'invite en-dessous en un bouton *\"Squeezed text\"*." -#: library/idle.rst:402 -msgid "Editing and navigation" +#: library/idle.rst:405 +#, fuzzy +msgid "Editing and Navigation" msgstr "Édition et navigation" -#: library/idle.rst:405 +#: library/idle.rst:408 msgid "Editor windows" msgstr "Fenêtre d'édition" -#: library/idle.rst:407 +#: library/idle.rst:410 msgid "" "IDLE may open editor windows when it starts, depending on settings and how " "you start IDLE. Thereafter, use the File menu. There can be only one open " @@ -968,7 +976,7 @@ msgstr "" "menu *File*. Il ne peut y avoir qu'une fenêtre d'édition pour un fichier " "donné." -#: library/idle.rst:411 +#: library/idle.rst:414 msgid "" "The title bar contains the name of the file, the full path, and the version " "of Python and IDLE running the window. The status bar contains the line " @@ -981,7 +989,7 @@ msgstr "" "(\"*Col\"*). Les numéros de ligne commencent à 1 ; les numéros de colonne " "commencent à 0." -#: library/idle.rst:416 +#: library/idle.rst:419 msgid "" "IDLE assumes that files with a known .py* extension contain Python code and " "that other files do not. Run Python code with the Run menu." @@ -990,11 +998,11 @@ msgstr "" "contiennent du code Python, mais pas les autres fichiers. Exécutez du code " "Python avec le menu *Run*." -#: library/idle.rst:420 +#: library/idle.rst:423 msgid "Key bindings" msgstr "Raccourcis clavier" -#: library/idle.rst:422 +#: library/idle.rst:425 msgid "" "In this section, 'C' refers to the :kbd:`Control` key on Windows and Unix " "and the :kbd:`Command` key on macOS." @@ -1002,59 +1010,59 @@ msgstr "" "Dans cette section, *\"C\"* renvoie à la touche :kbd:`Contrôle` sous Windows " "et *Unix* et à la touche :kbd:`Commande` sous *macOS*." -#: library/idle.rst:425 +#: library/idle.rst:428 msgid ":kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right" msgstr "" ":kbd:`Retour arrière` supprime à gauche ; :kbd:`Suppr` supprime à droite" -#: library/idle.rst:427 +#: library/idle.rst:430 msgid "" ":kbd:`C-Backspace` delete word left; :kbd:`C-Del` delete word to the right" msgstr "" ":kbd:`C-Retour arrière` supprime le mot à gauche ; :kbd:`C-Suppr` supprime " "le mot à droite" -#: library/idle.rst:429 +#: library/idle.rst:432 msgid "Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around" msgstr "" "Utilisez les touches flèche et :kbd:`Page Haut` / :kbd:`Page Bas` pour vous " "déplacer" -#: library/idle.rst:431 +#: library/idle.rst:434 msgid ":kbd:`C-LeftArrow` and :kbd:`C-RightArrow` moves by words" msgstr "" ":kbd:`C-Flèche Gauche` et :kbd:`C-Flèche Droite` déplacent de mot en mot" -#: library/idle.rst:433 +#: library/idle.rst:436 msgid ":kbd:`Home`/:kbd:`End` go to begin/end of line" msgstr ":kbd:`Début`/:kbd:`Fin` vont au début / à la fin de la ligne" -#: library/idle.rst:435 +#: library/idle.rst:438 msgid ":kbd:`C-Home`/:kbd:`C-End` go to begin/end of file" msgstr ":kbd:`C-Début` / :kbd:`C-Fin` vont au début / à la fin du fichier" -#: library/idle.rst:437 +#: library/idle.rst:440 msgid "Some useful Emacs bindings are inherited from Tcl/Tk:" msgstr "Quelques raccourcis *Emacs* utiles sont hérités de *Tcl/Tk* :" -#: library/idle.rst:439 +#: library/idle.rst:442 msgid ":kbd:`C-a` beginning of line" msgstr ":kbd:`C-a` début de ligne" -#: library/idle.rst:441 +#: library/idle.rst:444 msgid ":kbd:`C-e` end of line" msgstr ":kbd:`C-e` fin de ligne" -#: library/idle.rst:443 +#: library/idle.rst:446 msgid ":kbd:`C-k` kill line (but doesn't put it in clipboard)" msgstr "" ":kbd:`C-k` supprime la ligne (mais ne la met pas dans le presse-papier)" -#: library/idle.rst:445 +#: library/idle.rst:448 msgid ":kbd:`C-l` center window around the insertion point" msgstr ":kbd:`C-l` centre la fenêtre autour du point d’insertion" -#: library/idle.rst:447 +#: library/idle.rst:450 msgid "" ":kbd:`C-b` go backward one character without deleting (usually you can also " "use the cursor key for this)" @@ -1062,7 +1070,7 @@ msgstr "" ":kbd:`C-b` recule d'un caractère sans le supprimer (habituellement vous " "pouvez également utiliser les touches flèches pour faire cela)" -#: library/idle.rst:450 +#: library/idle.rst:453 msgid "" ":kbd:`C-f` go forward one character without deleting (usually you can also " "use the cursor key for this)" @@ -1070,18 +1078,18 @@ msgstr "" ":kbd:`C-f` avance d'un caractère sans le supprimer (habituellement vous " "pouvez également utiliser les touches flèches pour faire cela)" -#: library/idle.rst:453 +#: library/idle.rst:456 msgid "" ":kbd:`C-p` go up one line (usually you can also use the cursor key for this)" msgstr "" ":kbd:`C-p` remonte d'une ligne (habituellement vous pouvez également " "utiliser les touches flèches pour faire cela)" -#: library/idle.rst:456 +#: library/idle.rst:459 msgid ":kbd:`C-d` delete next character" msgstr ":kbd:`C-d` supprime le caractère suivant" -#: library/idle.rst:458 +#: library/idle.rst:461 msgid "" "Standard keybindings (like :kbd:`C-c` to copy and :kbd:`C-v` to paste) may " "work. Keybindings are selected in the Configure IDLE dialog." @@ -1090,11 +1098,11 @@ msgstr "" "pour coller) peuvent fonctionner. Les raccourcis clavier sont sélectionnés " "dans la fenêtre de configuration d'*IDLE*." -#: library/idle.rst:462 +#: library/idle.rst:465 msgid "Automatic indentation" msgstr "Indentation automatique" -#: library/idle.rst:464 +#: library/idle.rst:467 msgid "" "After a block-opening statement, the next line is indented by 4 spaces (in " "the Python Shell window by one tab). After certain keywords (break, return " @@ -1111,7 +1119,7 @@ msgstr "" "tabulation), en nombre dépendant de la configuration. Les tabulations sont " "actuellement restreintes à quatre espaces à cause de limitations de *Tcl/Tk*." -#: library/idle.rst:471 +#: library/idle.rst:474 msgid "" "See also the indent/dedent region commands on the :ref:`Format menu `." @@ -1119,11 +1127,23 @@ msgstr "" "Cf. les commandes *indent/dedent region* dans le :ref:`menu *Format* `." -#: library/idle.rst:477 +#: library/idle.rst:478 +msgid "Search and Replace" +msgstr "" + +#: library/idle.rst:480 +msgid "" +"Any selection becomes a search target. However, only selections within a " +"line work because searches are only performed within lines with the terminal " +"newline removed. If ``[x] Regular expresion`` is checked, the target is " +"interpreted according to the Python re module." +msgstr "" + +#: library/idle.rst:488 msgid "Completions" msgstr "Complétions" -#: library/idle.rst:479 +#: library/idle.rst:490 msgid "" "Completions are supplied, when requested and available, for module names, " "attributes of classes or functions, or filenames. Each request method " @@ -1136,7 +1156,7 @@ msgid "" "box. A double click within the box selects and closes." msgstr "" -#: library/idle.rst:490 +#: library/idle.rst:501 msgid "" "One way to open a box is to type a key character and wait for a predefined " "interval. This defaults to 2 seconds; customize it in the settings dialog. " @@ -1148,7 +1168,7 @@ msgid "" "directory name and a separator." msgstr "" -#: library/idle.rst:500 +#: library/idle.rst:511 msgid "" "Instead of waiting, or after a box is closed, open a completion box " "immediately with Show Completions on the Edit menu. The default hot key is :" @@ -1159,7 +1179,7 @@ msgid "" "directory." msgstr "" -#: library/idle.rst:508 +#: library/idle.rst:519 msgid "" "Hitting :kbd:`Tab` after a prefix usually has the same effect as Show " "Completions. (With no prefix, it indents.) However, if there is only one " @@ -1167,14 +1187,14 @@ msgid "" "without opening a box." msgstr "" -#: library/idle.rst:513 +#: library/idle.rst:524 msgid "" "Invoking 'Show Completions', or hitting :kbd:`Tab` after a prefix, outside " "of a string and without a preceding '.' opens a box with keywords, builtin " "names, and available module-level names." msgstr "" -#: library/idle.rst:517 +#: library/idle.rst:528 msgid "" "When editing code in an editor (as oppose to Shell), increase the available " "module-level names by running your code and not restarting the Shell " @@ -1182,18 +1202,18 @@ msgid "" "file. This also increases possible attribute completions." msgstr "" -#: library/idle.rst:523 +#: library/idle.rst:534 msgid "" "Completion boxes initially exclude names beginning with '_' or, for modules, " "not included in '__all__'. The hidden names can be accessed by typing '_' " "after '.', either before or after the box is opened." msgstr "" -#: library/idle.rst:530 +#: library/idle.rst:541 msgid "Calltips" msgstr "Info-bulles" -#: library/idle.rst:532 +#: library/idle.rst:543 #, fuzzy msgid "" "A calltip is shown automatically when one types :kbd:`(` after the name of " @@ -1210,7 +1230,7 @@ msgstr "" "soit saisi. Quand le curseur est dans la partie *\"arguments\"* de la " "définition, le menu ou raccourci affiche une info-bulle." -#: library/idle.rst:539 +#: library/idle.rst:550 msgid "" "The calltip consists of the function's signature and docstring up to the " "latter's first blank line or the fifth non-blank line. (Some builtin " @@ -1219,7 +1239,7 @@ msgid "" "or name (keyword) only. Details are subject to change." msgstr "" -#: library/idle.rst:545 +#: library/idle.rst:556 #, fuzzy msgid "" "In Shell, the accessible functions depends on what modules have been " @@ -1231,7 +1251,7 @@ msgstr "" "lui-même et quelles définitions ont été exécutées, le tout depuis le dernier " "redémarrage." -#: library/idle.rst:549 +#: library/idle.rst:560 #, fuzzy msgid "" "For example, restart the Shell and enter ``itertools.count(``. A calltip " @@ -1248,7 +1268,7 @@ msgstr "" "menu ou le raccourci ne font rien non plus. Saisir ``import *turtle`` puis " "``turtle.write(`` fonctionnera." -#: library/idle.rst:556 +#: library/idle.rst:567 #, fuzzy msgid "" "In an editor, import statements have no effect until one runs the file. One " @@ -1260,11 +1280,11 @@ msgstr "" "les commandes d'importation au début, ou immédiatement exécuter un fichier " "existant avant de l'éditer." -#: library/idle.rst:563 +#: library/idle.rst:574 msgid "Code Context" msgstr "Contexte du code" -#: library/idle.rst:565 +#: library/idle.rst:576 msgid "" "Within an editor window containing Python code, code context can be toggled " "in order to show or hide a pane at the top of the window. When shown, this " @@ -1289,7 +1309,7 @@ msgstr "" "activée, une unique ligne vide est affichée. Un clic sur une ligne dans la " "zone de contexte déplace cette ligne en haut de l'éditeur." -#: library/idle.rst:576 +#: library/idle.rst:587 msgid "" "The text and background colors for the context pane can be configured under " "the Highlights tab in the Configure IDLE dialog." @@ -1298,25 +1318,37 @@ msgstr "" "configurées dans l'onglet *Highlights* de la fenêtre de configuration " "d'*IDLE*." -#: library/idle.rst:580 -msgid "Python Shell window" +#: library/idle.rst:591 +#, fuzzy +msgid "Shell window" msgstr "Fenêtre de console Python" -#: library/idle.rst:582 +#: library/idle.rst:593 +#, fuzzy msgid "" -"With IDLE's Shell, one enters, edits, and recalls complete statements. Most " -"consoles and terminals only work with a single physical line at a time." +"In IDLE's Shell, enter, edit, and recall complete statements. (Most consoles " +"and terminals only work with a single physical line at a time)." msgstr "" "Avec la console d'*IDLE*, vous pouvez saisir, éditer et rappeler des " "commandes entières. La plupart des consoles et des terminaux ne travaillent " "qu'avec une seule ligne physique à la fois." -#: library/idle.rst:585 +#: library/idle.rst:596 +msgid "" +"Submit a single-line statement for execution by hitting :kbd:`Return` with " +"the cursor anywhere on the line. If a line is extended with Backslash (:kbd:" +"`\\\\`), the cursor must be on the last physical line. Submit a multi-line " +"compound statement by entering a blank line after the statement." +msgstr "" + +#: library/idle.rst:602 +#, fuzzy msgid "" "When one pastes code into Shell, it is not compiled and possibly executed " -"until one hits :kbd:`Return`. One may edit pasted code first. If one pastes " -"more that one statement into Shell, the result will be a :exc:`SyntaxError` " -"when multiple statements are compiled as if they were one." +"until one hits :kbd:`Return`, as specified above. One may edit pasted code " +"first. If one pastes more than one statement into Shell, the result will be " +"a :exc:`SyntaxError` when multiple statements are compiled as if they were " +"one." msgstr "" "Quand du texte est collé dans la console, il n'est ni compilé, ni exécuté " "jusqu'à la ce qu'on saisisse :kbd:`Entrée`. On peut éditer le code collé " @@ -1324,7 +1356,15 @@ msgstr "" "`SyntaxError` est levée si plusieurs commandes sont compilées comme une " "seule." -#: library/idle.rst:590 +#: library/idle.rst:608 +msgid "" +"Lines containing ``RESTART`` mean that the user execution process has been " +"re-started. This occurs when the user execution process has crashed, when " +"one requests a restart on the Shell menu, or when one runs code in an editor " +"window." +msgstr "" + +#: library/idle.rst:613 msgid "" "The editing features described in previous subsections work when entering " "code interactively. IDLE's Shell window also responds to the following keys." @@ -1333,28 +1373,28 @@ msgstr "" "fonctionnent du code est saisi de façon interactive. La fenêtre de console " "d'*IDLE* réagit également aux touches suivantes." -#: library/idle.rst:593 +#: library/idle.rst:616 msgid ":kbd:`C-c` interrupts executing command" msgstr ":kbd:`C-c` interrompt l'exécution de la commande" -#: library/idle.rst:595 +#: library/idle.rst:618 msgid "" ":kbd:`C-d` sends end-of-file; closes window if typed at a ``>>>`` prompt" msgstr "" ":kbd:`C-d` envoie fin-de-fichier (*EOF*) ; cela ferme la fenêtre s'il est " "saisi à une invite ``>>>``" -#: library/idle.rst:597 +#: library/idle.rst:620 msgid ":kbd:`Alt-/` (Expand word) is also useful to reduce typing" msgstr "" ":kbd:`Alt-/` (Compléter le mot) est également utile pour réduire la quantité " "de texte saisie" -#: library/idle.rst:599 +#: library/idle.rst:622 msgid "Command history" msgstr "Historique des commandes" -#: library/idle.rst:601 +#: library/idle.rst:624 msgid "" ":kbd:`Alt-p` retrieves previous command matching what you have typed. On " "macOS use :kbd:`C-p`." @@ -1362,20 +1402,23 @@ msgstr "" ":kbd:`Alt-p` récupère la précédente commande qui correspond à ce que vous " "avez saisi. Sous *macOS*, utilisez :kbd:`C-p`." -#: library/idle.rst:604 +#: library/idle.rst:627 msgid ":kbd:`Alt-n` retrieves next. On macOS use :kbd:`C-n`." msgstr ":kbd:`Alt-n` récupère la suivante. Sous *macOS*, utilisez :kbd:`C-n`." -#: library/idle.rst:606 -msgid ":kbd:`Return` while on any previous command retrieves that command" +#: library/idle.rst:629 +#, fuzzy +msgid "" +":kbd:`Return` while the cursor is on any previous command retrieves that " +"command" msgstr "" ":kbd:`Entrée` sur une des commandes précédentes récupère cette commande" -#: library/idle.rst:609 +#: library/idle.rst:633 msgid "Text colors" msgstr "Coloration du texte" -#: library/idle.rst:611 +#: library/idle.rst:635 msgid "" "Idle defaults to black on white text, but colors text with special meanings. " "For the shell, these are shell output, shell error, user output, and user " @@ -1394,7 +1437,7 @@ msgstr "" "sont le curseur (si présent), le texte trouvé (s'il y en a) et le texte " "sélectionné." -#: library/idle.rst:618 +#: library/idle.rst:642 msgid "" "IDLE also highlights the :ref:`soft keywords ` :keyword:" "`match`, :keyword:`case `, and :keyword:`_ ` in " @@ -1403,7 +1446,7 @@ msgid "" "patterns." msgstr "" -#: library/idle.rst:624 +#: library/idle.rst:648 msgid "" "Text coloring is done in the background, so uncolorized text is occasionally " "visible. To change the color scheme, use the Configure IDLE dialog " @@ -1416,11 +1459,12 @@ msgstr "" "points d'arrêt du débogueur dans l'éditeur et du texte dans les dialogues " "n'est pas configurable." -#: library/idle.rst:631 -msgid "Startup and code execution" +#: library/idle.rst:655 +#, fuzzy +msgid "Startup and Code Execution" msgstr "Démarrage et exécution du code" -#: library/idle.rst:633 +#: library/idle.rst:657 msgid "" "Upon startup with the ``-s`` option, IDLE will execute the file referenced " "by the environment variables :envvar:`IDLESTARTUP` or :envvar:" @@ -1440,7 +1484,7 @@ msgstr "" "fonctions qui sont utilisées fréquemment depuis la console d'*IDLE* ou pour " "exécuter des commandes d'importation des modules communs." -#: library/idle.rst:641 +#: library/idle.rst:665 msgid "" "In addition, ``Tk`` also loads a startup file if it is present. Note that " "the Tk file is loaded unconditionally. This additional file is ``.Idle.py`` " @@ -1455,15 +1499,15 @@ msgstr "" "nommage de *Tk*, donc ce fichier n'est pas utile pour importer des fonctions " "à utiliser depuis la console Python d'*IDLE*." -#: library/idle.rst:648 +#: library/idle.rst:672 msgid "Command line usage" msgstr "Utilisation de la ligne de commande" -#: library/idle.rst:664 +#: library/idle.rst:688 msgid "If there are arguments:" msgstr "S'il y a des arguments :" -#: library/idle.rst:666 +#: library/idle.rst:690 msgid "" "If ``-``, ``-c``, or ``r`` is used, all arguments are placed in ``sys." "argv[1:...]`` and ``sys.argv[0]`` is set to ``''``, ``'-c'``, or ``'-r'``. " @@ -1475,7 +1519,7 @@ msgstr "" "ou ``'-r'``. Aucune fenêtre d'édition n'est ouverte, même si c'est le " "comportement par défaut fixé dans la fenêtre d'options." -#: library/idle.rst:671 +#: library/idle.rst:695 msgid "" "Otherwise, arguments are files opened for editing and ``sys.argv`` reflects " "the arguments passed to IDLE itself." @@ -1483,11 +1527,11 @@ msgstr "" "Sinon, les arguments sont des fichiers ouverts pour édition et ``sys.argv`` " "reflète les arguments passés à *IDLE* lui-même." -#: library/idle.rst:675 +#: library/idle.rst:699 msgid "Startup failure" msgstr "Échec au démarrage" -#: library/idle.rst:677 +#: library/idle.rst:701 #, fuzzy msgid "" "IDLE uses a socket to communicate between the IDLE GUI process and the user " @@ -1506,7 +1550,7 @@ msgstr "" "message *\"connexion impossible\"* qui redirige l'utilisateur ici. Ensuite, " "il s'arrête." -#: library/idle.rst:684 +#: library/idle.rst:708 msgid "" "One specific connection failure on Unix systems results from misconfigured " "masquerading rules somewhere in a system's network setup. When IDLE is " @@ -1516,7 +1560,7 @@ msgid "" "``tcplisten `` in another." msgstr "" -#: library/idle.rst:692 +#: library/idle.rst:716 msgid "" "A common cause of failure is a user-written file with the same name as a " "standard library module, such as *random.py* and *tkinter.py*. When such a " @@ -1531,7 +1575,7 @@ msgstr "" "standard. La solution actuelle consiste à renommer le fichier de " "l'utilisateur." -#: library/idle.rst:698 +#: library/idle.rst:722 msgid "" "Though less common than in the past, an antivirus or firewall program may " "stop the connection. If the program cannot be taught to allow the " @@ -1547,7 +1591,7 @@ msgstr "" "visible depuis un port extérieur. Un problème similaire est une mauvaise " "configuration du réseau qui bloque les connexions." -#: library/idle.rst:705 +#: library/idle.rst:729 msgid "" "Python installation issues occasionally stop IDLE: multiple versions can " "clash, or a single installation might need admin access. If one undo the " @@ -1560,7 +1604,7 @@ msgstr "" "ne veut pas accorder de privilège, il peut être plus facile de désinstaller " "complètement Python et de recommencer." -#: library/idle.rst:710 +#: library/idle.rst:734 #, fuzzy msgid "" "A zombie pythonw.exe process could be a problem. On Windows, use Task " @@ -1579,7 +1623,7 @@ msgstr "" # ... this can be prevented by never editing the files by hand, using the # configuration dialog, under Options, instead Options. # Qu'est-ce que ça veut dire ??? -#: library/idle.rst:716 +#: library/idle.rst:740 #, fuzzy msgid "" "When IDLE first starts, it attempts to read user configuration files in ``~/." @@ -1601,7 +1645,7 @@ msgstr "" # Je suppose que c'est (``python -m idlelib)``, et pas (``python -m # idlelib``)... -#: library/idle.rst:724 +#: library/idle.rst:748 #, fuzzy msgid "" "If IDLE quits with no message, and it was not started from a console, try " @@ -1612,7 +1656,7 @@ msgstr "" "console, essayez de le démarrer depuis une console (``python -m idlelib``) " "et regardez si un message apparaît." -#: library/idle.rst:728 +#: library/idle.rst:752 msgid "" "On Unix-based systems with tcl/tk older than ``8.6.11`` (see ``About IDLE``) " "certain characters of certain fonts can cause a tk failure with a message to " @@ -1621,11 +1665,11 @@ msgid "" "upgrade tcl/tk, then re-configure IDLE to use a font that works better." msgstr "" -#: library/idle.rst:736 +#: library/idle.rst:760 msgid "Running user code" msgstr "Exécuter le code de l'utilisateur" -#: library/idle.rst:738 +#: library/idle.rst:762 #, fuzzy msgid "" "With rare exceptions, the result of executing Python code with IDLE is " @@ -1643,7 +1687,7 @@ msgstr "" "modules`` démarre avec plus d'entrées et ``threading.activeCount()`` renvoie " "2 plutôt que 1." -#: library/idle.rst:745 +#: library/idle.rst:769 msgid "" "By default, IDLE runs user code in a separate OS process rather than in the " "user interface process that runs the shell and editor. In the execution " @@ -1660,7 +1704,7 @@ msgstr "" "valeurs originales stockées dans ``sys.__stdin__``, ``sys.__stdout__`` et " "``sys.__stderr__`` ne sont pas touchées, mais peuvent être ``None``." -#: library/idle.rst:752 +#: library/idle.rst:776 msgid "" "Sending print output from one process to a text widget in another is slower " "than printing to a system terminal in the same process. This has the most " @@ -1672,13 +1716,15 @@ msgid "" "fields and lines." msgstr "" -#: library/idle.rst:761 +#: library/idle.rst:785 +#, fuzzy msgid "" "IDLE's standard stream replacements are not inherited by subprocesses " "created in the execution process, whether directly by user code or by " "modules such as multiprocessing. If such subprocess use ``input`` from sys." "stdin or ``print`` or ``write`` to sys.stdout or sys.stderr, IDLE should be " -"started in a command line window. The secondary subprocess will then be " +"started in a command line window. (On Windows, use ``python`` or ``py`` " +"rather than ``pythonw`` or ``pyw``.) The secondary subprocess will then be " "attached to that window for input and output." msgstr "" "Les remplacements des flux standards par *IDLE* ne sont pas hérités par les " @@ -1689,7 +1735,7 @@ msgstr "" "de commande. Le sous-processus secondaire sera ensuite attaché à cette " "fenêtre pour les entrées et les sorties." -#: library/idle.rst:768 +#: library/idle.rst:794 msgid "" "If ``sys`` is reset by user code, such as with ``importlib.reload(sys)``, " "IDLE's changes are lost and input from the keyboard and output to the screen " @@ -1700,7 +1746,7 @@ msgstr "" "l'entrée du clavier et la sortie à l'écran ne fonctionneront pas " "correctement." -#: library/idle.rst:772 +#: library/idle.rst:798 msgid "" "When Shell has the focus, it controls the keyboard and screen. This is " "normally transparent, but functions that directly access the keyboard and " @@ -1713,7 +1759,7 @@ msgstr "" "fonctions spécifiques du système qui déterminent si une touche a été pressée " "et, le cas échéant, laquelle." -#: library/idle.rst:777 +#: library/idle.rst:803 msgid "" "The IDLE code running in the execution process adds frames to the call stack " "that would not be there otherwise. IDLE wraps ``sys.getrecursionlimit`` and " @@ -1725,7 +1771,7 @@ msgstr "" "encapsule ``sys.getrecursionlimit`` et ``sys.setrecursionlimit`` pour " "réduire l'effet des piles de fonctions supplémentaires." -#: library/idle.rst:782 +#: library/idle.rst:808 msgid "" "When user code raises SystemExit either directly or by calling sys.exit, " "IDLE returns to a Shell prompt instead of exiting." @@ -1733,11 +1779,11 @@ msgstr "" "Lorsque l'utilisateur lève ``SystemExit`` directement ou en appelant ``sys." "exit``, IDLE revient au terminal IDLE au lieu de quitter." -#: library/idle.rst:786 +#: library/idle.rst:812 msgid "User output in Shell" msgstr "Sortie de l'utilisateur sur la console" -#: library/idle.rst:788 +#: library/idle.rst:814 msgid "" "When a program outputs text, the result is determined by the corresponding " "output device. When IDLE executes user code, ``sys.stdout`` and ``sys." @@ -1754,7 +1800,7 @@ msgstr "" "programmées. Quand cela importe, la console est conçue pour le développement " "plutôt que l'exécution en production." -#: library/idle.rst:795 +#: library/idle.rst:821 msgid "" "For instance, Shell never throws away output. A program that sends " "unlimited output to Shell will eventually fill memory, resulting in a memory " @@ -1769,7 +1815,7 @@ msgstr "" "exemple, conserve une quantité de lignes configurable entre 1 et 9999, avec " "une valeur par défaut de 300." -#: library/idle.rst:801 +#: library/idle.rst:827 msgid "" "A Tk Text widget, and hence IDLE's Shell, displays characters (codepoints) " "in the BMP (Basic Multilingual Plane) subset of Unicode. Which characters " @@ -1795,7 +1841,7 @@ msgstr "" "texte sur un affichage de ce genre peut provoquer un comportement surprenant " "du point de vue de l'espacement). ::" -#: library/idle.rst:819 +#: library/idle.rst:845 msgid "" "The ``repr`` function is used for interactive echo of expression values. It " "returns an altered version of the input string in which control codes, some " @@ -1810,7 +1856,7 @@ msgstr "" "d'échappement. Comme montré ci-dessus, ceci permet d'identifier les " "caractères dans une chaîne, quelle que soit la façon dont elle est affichée." -#: library/idle.rst:825 +#: library/idle.rst:851 msgid "" "Normal and error output are generally kept separate (on separate lines) from " "code input and each other. They each get different highlight colors." @@ -1819,7 +1865,7 @@ msgstr "" "séparées) de l'entrée de code et entre elles. Elles ont chacune une " "coloration différente." -#: library/idle.rst:828 +#: library/idle.rst:854 msgid "" "For SyntaxError tracebacks, the normal '^' marking where the error was " "detected is replaced by coloring the text with an error highlight. When code " @@ -1834,7 +1880,7 @@ msgstr "" "d'accéder à la ligne correspondante dans un éditeur *IDLE*. Le fichier est " "ouvert si nécessaire." -#: library/idle.rst:834 +#: library/idle.rst:860 msgid "" "Shell has a special facility for squeezing output lines down to a 'Squeezed " "text' label. This is done automatically for output over N lines (N = 50 by " @@ -1850,7 +1896,7 @@ msgstr "" "sortie. Ceci peut être utile sur des lignes si longues qu'elles ralentissent " "la navigation." -#: library/idle.rst:842 +#: library/idle.rst:868 msgid "" "Squeezed output is expanded in place by double-clicking the label. It can " "also be sent to the clipboard or a separate view window by right-clicking " @@ -1860,11 +1906,11 @@ msgstr "" "l'étiquette Elles peuvent aussi être envoyées au presse-papier ou sur un " "fenêtre séparée par un clic-droit sur l'étiquette." -#: library/idle.rst:847 +#: library/idle.rst:873 msgid "Developing tkinter applications" msgstr "Développer des applications *tkinter*" -#: library/idle.rst:849 +#: library/idle.rst:875 msgid "" "IDLE is intentionally different from standard Python in order to facilitate " "development of tkinter programs. Enter ``import tkinter as tk; root = tk." @@ -1886,7 +1932,7 @@ msgstr "" "changement n'est visible en Python standard jusqu'à la saisie de ``root." "update()``." -#: library/idle.rst:858 +#: library/idle.rst:884 msgid "" "Most tkinter programs run ``root.mainloop()``, which usually does not return " "until the tk app is destroyed. If the program is run with ``python -i`` or " @@ -1899,7 +1945,7 @@ msgstr "" "une invite de commande ``>>>`` n'apparaît pas tant que ``mainloop()`` ne " "termine pas, c'est-à-dire quand il ne reste plus rien avec lequel interagir." -#: library/idle.rst:864 +#: library/idle.rst:890 msgid "" "When running a tkinter program from an IDLE editor, one can comment out the " "mainloop call. One then gets a shell prompt immediately and can interact " @@ -1912,11 +1958,11 @@ msgstr "" "se rappeler de réactiver l'appel à *mainloop* lors de l'exécution en Python " "standard." -#: library/idle.rst:870 +#: library/idle.rst:896 msgid "Running without a subprocess" msgstr "Exécution sans sous-processus" -#: library/idle.rst:872 +#: library/idle.rst:898 #, fuzzy msgid "" "By default, IDLE executes user code in a separate subprocess via a socket, " @@ -1929,7 +1975,7 @@ msgstr "" "connexion n'est pas visible de l'extérieur et rien n'est envoyé ou reçu " "d'Internet. Si un pare-feu s'en plaint quand même, vous pouvez l'ignorer." -#: library/idle.rst:877 +#: library/idle.rst:903 msgid "" "If the attempt to make the socket connection fails, Idle will notify you. " "Such failures are sometimes transient, but if persistent, the problem may be " @@ -1944,7 +1990,7 @@ msgstr "" "résolu, vous pouvez exécuter *IDLE* avec l'option *-n* de la ligne de " "commande." -#: library/idle.rst:883 +#: library/idle.rst:909 msgid "" "If IDLE is started with the -n command line switch it will run in a single " "process and will not create the subprocess which runs the RPC Python " @@ -1969,15 +2015,16 @@ msgstr "" "effet. Pour toutes ces raisons, il est préférable d'exécuter *IDLE* avec le " "sous-processus par défaut si c'est possible." -#: library/idle.rst:898 -msgid "Help and preferences" +#: library/idle.rst:924 +#, fuzzy +msgid "Help and Preferences" msgstr "Aide et préférences" -#: library/idle.rst:903 +#: library/idle.rst:929 msgid "Help sources" msgstr "Sources d'aide" -#: library/idle.rst:905 +#: library/idle.rst:931 msgid "" "Help menu entry \"IDLE Help\" displays a formatted html version of the IDLE " "chapter of the Library Reference. The result, in a read-only tkinter text " @@ -1994,7 +2041,7 @@ msgstr "" "enfoncées. Ou cliquez sur le bouton TOC (*Table of Contents* : sommaire) et " "sélectionnez un titre de section dans l'espace ouvert." -#: library/idle.rst:913 +#: library/idle.rst:939 msgid "" "Help menu entry \"Python Docs\" opens the extensive sources of help, " "including tutorials, available at ``docs.python.org/x.y``, where 'x.y' is " @@ -2008,7 +2055,7 @@ msgstr "" "système a une copie locale de la documentation (cela peut être une option " "d'installation), c'est elle qui est ouverte." -#: library/idle.rst:919 +#: library/idle.rst:945 msgid "" "Selected URLs can be added or removed from the help menu at any time using " "the General tab of the Configure IDLE dialog." @@ -2017,11 +2064,11 @@ msgstr "" "n'importe quel moment en utilisant l'onglet « *General* » de la fenêtre " "« Configure IDLE »." -#: library/idle.rst:925 +#: library/idle.rst:951 msgid "Setting preferences" msgstr "Modifier les préférences" -#: library/idle.rst:927 +#: library/idle.rst:953 msgid "" "The font preferences, highlighting, keys, and general preferences can be " "changed via Configure IDLE on the Option menu. Non-default user settings are " @@ -2036,7 +2083,7 @@ msgstr "" "par des fichiers de configuration utilisateur corrompus sont résolus en " "modifiant ou en supprimant un ou plusieurs fichiers dans *.idlerc*." -#: library/idle.rst:933 +#: library/idle.rst:959 msgid "" "On the Font tab, see the text sample for the effect of font face and size on " "multiple characters in multiple languages. Edit the sample to add other " @@ -2052,7 +2099,7 @@ msgstr "" "console ou l'éditeur, ajoutez-les en haut des échantillons et essayez de " "changer d'abord la taille, puis la fonte." -#: library/idle.rst:940 +#: library/idle.rst:966 msgid "" "On the Highlights and Keys tab, select a built-in or custom color theme and " "key set. To use a newer built-in color theme or key set with older IDLEs, " @@ -2065,12 +2112,12 @@ msgstr "" "ancienne, enregistrez-le en tant que nouveau thème ou ensemble de raccourcis " "personnalisé ; il sera alors accessible aux *IDLE* plus anciens." -#: library/idle.rst:946 +#: library/idle.rst:972 msgid "IDLE on macOS" msgstr "*IDLE* sous *macOS*" # framework=>cadriciel ne pose pas de problème ? -#: library/idle.rst:948 +#: library/idle.rst:974 msgid "" "Under System Preferences: Dock, one can set \"Prefer tabs when opening " "documents\" to \"Always\". This setting is not compatible with the tk/" @@ -2081,11 +2128,11 @@ msgstr "" "avec le cadriciel *tk/tkinter* utilisé par *IDLE* et il casse quelques " "fonctionnalités d'*IDLE*." -#: library/idle.rst:953 +#: library/idle.rst:979 msgid "Extensions" msgstr "Extensions" -#: library/idle.rst:955 +#: library/idle.rst:981 msgid "" "IDLE contains an extension facility. Preferences for extensions can be " "changed with the Extensions tab of the preferences dialog. See the beginning " @@ -2099,6 +2146,38 @@ msgstr "" "plus d'informations. La seule extension actuellement utilisée par défaut est " "*zzdummy*, un exemple également utilisé pour les tests." +#: library/idle.rst:989 +msgid "idlelib" +msgstr "" + +#: library/idle.rst:994 +#, fuzzy +msgid "**Source code:** :source:`Lib/idlelib`" +msgstr "**Code source** : :source:`Lib/idlelib/`" + +#: library/idle.rst:998 +msgid "" +"The Lib/idlelib package implements the IDLE application. See the rest of " +"this page for how to use IDLE." +msgstr "" + +#: library/idle.rst:1001 +msgid "" +"The files in idlelib are described in idlelib/README.txt. Access it either " +"in idlelib or click Help => About IDLE on the IDLE menu. This file also " +"maps IDLE menu items to the code that implements the item. Except for files " +"listed under 'Startup', the idlelib code is 'private' in sense that feature " +"changes can be backported (see :pep:`434`)." +msgstr "" + +#~ msgid "" +#~ "Save the current window with a Save As dialog. The file saved becomes " +#~ "the new associated file for the window." +#~ msgstr "" +#~ "Enregistre la fenêtre active avec une fenêtre de dialogue " +#~ "d'enregistrement. Le fichier enregistré devient le nouveau fichier " +#~ "associé pour cette fenêtre." + #~ msgid "Close" #~ msgstr "*Close*" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index e41ae6385f..3b269d30b1 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-09-04 11:42+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -142,9 +142,9 @@ msgstr "" msgid "" "The ``group`` and ``name`` are arbitrary values defined by the package " "author and usually a client will wish to resolve all entry points for a " -"particular group. Read `the setuptools docs `_ " -"for more information on entry points, their definition, and usage." +"particular group. Read `the setuptools docs `_ for more information on entry points, " +"their definition, and usage." msgstr "" #: library/importlib.metadata.rst:142 diff --git a/library/importlib.po b/library/importlib.po index d1839f5e18..ecc100a73b 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-04 11:26+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -429,8 +429,8 @@ msgid "" "Can use :meth:`find_spec` to provide functionality." msgstr "" -#: library/importlib.rst:360 library/importlib.rst:1188 -#: library/importlib.rst:1245 +#: library/importlib.rst:360 library/importlib.rst:1192 +#: library/importlib.rst:1249 msgid "Use :meth:`find_spec` instead." msgstr "utilisez plutôt :meth:`find_spec`." @@ -508,7 +508,7 @@ msgid "" "definition for a loader." msgstr "" -#: library/importlib.rst:909 +#: library/importlib.rst:913 msgid "" "Loaders that wish to support resource reading should implement a " "``get_resource_reader(fullname)`` method as specified by :class:`importlib." @@ -610,7 +610,7 @@ msgstr ":attr:`__package__`" #: library/importlib.rst:450 msgid "" -"The fully-qualified name of the package under which the module was loaded as " +"The fully qualified name of the package under which the module was loaded as " "a submodule (or the empty string for top-level modules). For packages, it is " "the same as :attr:`__name__`. The :func:`importlib.util.module_for_loader` " "decorator can handle the details for :attr:`__package__`." @@ -899,7 +899,7 @@ msgstr "" msgid "Use :meth:`Loader.exec_module` instead." msgstr "" -#: library/importlib.rst:1390 +#: library/importlib.rst:1394 msgid "Returns :attr:`path`." msgstr "" @@ -1071,7 +1071,13 @@ msgstr "" msgid "Read contents of self as text." msgstr "" -#: library/importlib.rst:860 +#: library/importlib.rst:873 +msgid "" +"Note: In Python 3.11 and later, this class is found in ``importlib.resources." +"abc``." +msgstr "" + +#: library/importlib.rst:862 msgid "" "An abstract base class for resource readers capable of serving the ``files`` " "interface. Subclasses ResourceReader and provides concrete implementations " @@ -1079,21 +1085,21 @@ msgid "" "TraversableReader also supplies ResourceReader." msgstr "" -#: library/importlib.rst:866 +#: library/importlib.rst:868 msgid "" "Loaders that wish to support resource reading are expected to implement this " "interface." msgstr "" -#: library/importlib.rst:873 +#: library/importlib.rst:877 msgid ":mod:`importlib.resources` -- Resources" msgstr "" -#: library/importlib.rst:878 +#: library/importlib.rst:882 msgid "**Source code:** :source:`Lib/importlib/resources.py`" msgstr "" -#: library/importlib.rst:884 +#: library/importlib.rst:888 msgid "" "This module leverages Python's import system to provide access to " "*resources* within *packages*. If you can import a package, you can access " @@ -1101,7 +1107,7 @@ msgid "" "binary or text mode." msgstr "" -#: library/importlib.rst:889 +#: library/importlib.rst:893 msgid "" "Resources are roughly akin to files inside directories, though it's " "important to keep in mind that this is just a metaphor. Resources and " @@ -1109,7 +1115,7 @@ msgid "" "file system." msgstr "" -#: library/importlib.rst:895 +#: library/importlib.rst:899 msgid "" "This module provides functionality similar to `pkg_resources `_ `Basic Resource " @@ -1119,7 +1125,7 @@ msgid "" "consistent semantics." msgstr "" -#: library/importlib.rst:903 +#: library/importlib.rst:907 msgid "" "The standalone backport of this module provides more information on `using " "importlib.resources `_." msgstr "" -#: library/importlib.rst:913 +#: library/importlib.rst:917 msgid "The following types are defined." msgstr "" -#: library/importlib.rst:917 +#: library/importlib.rst:921 msgid "" "The ``Package`` type is defined as ``Union[str, ModuleType]``. This means " "that where the function describes accepting a ``Package``, you can pass in " @@ -1139,55 +1145,55 @@ msgid "" "``__spec__.submodule_search_locations`` that is not ``None``." msgstr "" -#: library/importlib.rst:924 +#: library/importlib.rst:928 msgid "" "This type describes the resource names passed into the various functions in " "this package. This is defined as ``Union[str, os.PathLike]``." msgstr "" -#: library/importlib.rst:928 +#: library/importlib.rst:932 msgid "The following functions are available." msgstr "" -#: library/importlib.rst:933 +#: library/importlib.rst:937 msgid "" -"Returns an :class:`importlib.resources.abc.Traversable` object representing " -"the resource container for the package (think directory) and its resources " +"Returns an :class:`importlib.abc.Traversable` object representing the " +"resource container for the package (think directory) and its resources " "(think files). A Traversable may contain other containers (think " "subdirectories)." msgstr "" -#: library/importlib.rst:1039 +#: library/importlib.rst:1043 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements." msgstr "" -#: library/importlib.rst:945 +#: library/importlib.rst:949 msgid "" -"Given a :class:`importlib.resources.abc.Traversable` object representing a " -"file, typically from :func:`importlib.resources.files`, return a context " -"manager for use in a :keyword:`with` statement. The context manager provides " -"a :class:`pathlib.Path` object." +"Given a :class:`importlib.abc.Traversable` object representing a file, " +"typically from :func:`importlib.resources.files`, return a context manager " +"for use in a :keyword:`with` statement. The context manager provides a :" +"class:`pathlib.Path` object." msgstr "" -#: library/importlib.rst:950 +#: library/importlib.rst:954 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource was extracted from e.g. a zip file." msgstr "" -#: library/importlib.rst:953 +#: library/importlib.rst:957 msgid "" "Use ``as_file`` when the Traversable methods (``read_text``, etc) are " "insufficient and an actual file on the file system is required." msgstr "" -#: library/importlib.rst:961 +#: library/importlib.rst:965 msgid "Open for binary reading the *resource* within *package*." msgstr "" -#: library/importlib.rst:963 +#: library/importlib.rst:967 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1196,13 +1202,13 @@ msgid "" "BinaryIO`` instance, a binary I/O stream open for reading." msgstr "" -#: library/importlib.rst:972 +#: library/importlib.rst:976 msgid "" "Open for text reading the *resource* within *package*. By default, the " "resource is opened for reading as UTF-8." msgstr "" -#: library/importlib.rst:975 +#: library/importlib.rst:979 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1211,18 +1217,18 @@ msgid "" "same meaning as with built-in :func:`open`." msgstr "" -#: library/importlib.rst:981 +#: library/importlib.rst:985 msgid "" "This function returns a ``typing.TextIO`` instance, a text I/O stream open " "for reading." msgstr "" -#: library/importlib.rst:987 +#: library/importlib.rst:991 msgid "" "Read and return the contents of the *resource* within *package* as ``bytes``." msgstr "" -#: library/importlib.rst:990 +#: library/importlib.rst:994 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1231,13 +1237,13 @@ msgid "" "contents of the resource as :class:`bytes`." msgstr "" -#: library/importlib.rst:999 +#: library/importlib.rst:1003 msgid "" "Read and return the contents of *resource* within *package* as a ``str``. By " "default, the contents are read as strict UTF-8." msgstr "" -#: library/importlib.rst:1002 +#: library/importlib.rst:1006 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1247,20 +1253,20 @@ msgid "" "contents of the resource as :class:`str`." msgstr "" -#: library/importlib.rst:1012 +#: library/importlib.rst:1016 msgid "" "Return the path to the *resource* as an actual file system path. This " "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" -#: library/importlib.rst:1016 +#: library/importlib.rst:1020 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource needs to be extracted from e.g. a zip file." msgstr "" -#: library/importlib.rst:1019 +#: library/importlib.rst:1023 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1268,7 +1274,7 @@ msgid "" "resources (i.e. it cannot be a directory)." msgstr "" -#: library/importlib.rst:1027 +#: library/importlib.rst:1031 msgid "" "Return ``True`` if there is a resource named *name* in the package, " "otherwise ``False``. Remember that directories are *not* resources! " @@ -1276,66 +1282,66 @@ msgid "" "``Package`` requirements." msgstr "" -#: library/importlib.rst:1035 +#: library/importlib.rst:1039 msgid "" "Return an iterable over the named items within the package. The iterable " "returns :class:`str` resources (e.g. files) and non-resources (e.g. " "directories). The iterable does not recurse into subdirectories." msgstr "" -#: library/importlib.rst:1044 +#: library/importlib.rst:1048 msgid ":mod:`importlib.machinery` -- Importers and path hooks" msgstr "" -#: library/importlib.rst:1049 +#: library/importlib.rst:1053 msgid "**Source code:** :source:`Lib/importlib/machinery.py`" msgstr "" -#: library/importlib.rst:1053 +#: library/importlib.rst:1057 msgid "" "This module contains the various objects that help :keyword:`import` find " "and load modules." msgstr "" -#: library/importlib.rst:1058 +#: library/importlib.rst:1062 msgid "" "A list of strings representing the recognized file suffixes for source " "modules." msgstr "" -#: library/importlib.rst:1065 +#: library/importlib.rst:1069 msgid "" "A list of strings representing the file suffixes for non-optimized bytecode " "modules." msgstr "" -#: library/importlib.rst:1080 +#: library/importlib.rst:1084 msgid "Use :attr:`BYTECODE_SUFFIXES` instead." msgstr "" -#: library/importlib.rst:1075 +#: library/importlib.rst:1079 msgid "" "A list of strings representing the file suffixes for optimized bytecode " "modules." msgstr "" -#: library/importlib.rst:1085 +#: library/importlib.rst:1089 msgid "" "A list of strings representing the recognized file suffixes for bytecode " "modules (including the leading dot)." msgstr "" -#: library/importlib.rst:1090 +#: library/importlib.rst:1094 msgid "The value is no longer dependent on ``__debug__``." msgstr "" -#: library/importlib.rst:1095 +#: library/importlib.rst:1099 msgid "" "A list of strings representing the recognized file suffixes for extension " "modules." msgstr "" -#: library/importlib.rst:1102 +#: library/importlib.rst:1106 msgid "" "Returns a combined list of strings representing all file suffixes for " "modules recognized by the standard import machinery. This is a helper for " @@ -1344,56 +1350,56 @@ msgid "" "`inspect.getmodulename`)." msgstr "" -#: library/importlib.rst:1113 +#: library/importlib.rst:1117 msgid "" "An :term:`importer` for built-in modules. All known built-in modules are " "listed in :data:`sys.builtin_module_names`. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: library/importlib.rst:1132 library/importlib.rst:1160 +#: library/importlib.rst:1136 library/importlib.rst:1164 msgid "" "Only class methods are defined by this class to alleviate the need for " "instantiation." msgstr "" -#: library/importlib.rst:1121 +#: library/importlib.rst:1125 msgid "" "As part of :pep:`489`, the builtin importer now implements :meth:`Loader." "create_module` and :meth:`Loader.exec_module`" msgstr "" -#: library/importlib.rst:1128 +#: library/importlib.rst:1132 msgid "" "An :term:`importer` for frozen modules. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: library/importlib.rst:1135 +#: library/importlib.rst:1139 msgid "" "Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." msgstr "" -#: library/importlib.rst:1142 +#: library/importlib.rst:1146 msgid "" ":term:`Finder ` for modules declared in the Windows registry. This " "class implements the :class:`importlib.abc.MetaPathFinder` ABC." msgstr "" -#: library/importlib.rst:1150 +#: library/importlib.rst:1154 msgid "" "Use :mod:`site` configuration instead. Future versions of Python may not " "enable this finder by default." msgstr "" -#: library/importlib.rst:1157 +#: library/importlib.rst:1161 msgid "" "A :term:`Finder ` for :data:`sys.path` and package ``__path__`` " "attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " "ABC." msgstr "" -#: library/importlib.rst:1165 +#: library/importlib.rst:1169 msgid "" "Class method that attempts to find a :term:`spec ` for the " "module specified by *fullname* on :data:`sys.path` or, if defined, on " @@ -1407,47 +1413,47 @@ msgid "" "cache and returned." msgstr "" -#: library/importlib.rst:1179 +#: library/importlib.rst:1183 msgid "" "If the current working directory -- represented by an empty string -- is no " "longer valid then ``None`` is returned but no value is cached in :data:`sys." "path_importer_cache`." msgstr "" -#: library/importlib.rst:1186 +#: library/importlib.rst:1190 msgid "A legacy wrapper around :meth:`find_spec`." msgstr "" -#: library/importlib.rst:1193 +#: library/importlib.rst:1197 msgid "" "Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders " "stored in :data:`sys.path_importer_cache` that define the method. Otherwise " "entries in :data:`sys.path_importer_cache` set to ``None`` are deleted." msgstr "" -#: library/importlib.rst:1198 +#: library/importlib.rst:1202 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." msgstr "" -#: library/importlib.rst:1201 +#: library/importlib.rst:1205 msgid "" "Calls objects in :data:`sys.path_hooks` with the current working directory " "for ``''`` (i.e. the empty string)." msgstr "" -#: library/importlib.rst:1208 +#: library/importlib.rst:1212 msgid "" "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " "caches results from the file system." msgstr "" -#: library/importlib.rst:1211 +#: library/importlib.rst:1215 msgid "" "The *path* argument is the directory for which the finder is in charge of " "searching." msgstr "" -#: library/importlib.rst:1214 +#: library/importlib.rst:1218 msgid "" "The *loader_details* argument is a variable number of 2-item tuples each " "containing a loader and a sequence of file suffixes the loader recognizes. " @@ -1455,7 +1461,7 @@ msgid "" "module's name and the path to the file found." msgstr "" -#: library/importlib.rst:1219 +#: library/importlib.rst:1223 msgid "" "The finder will cache the directory contents as necessary, making stat calls " "for each module search to verify the cache is not outdated. Because cache " @@ -1468,152 +1474,152 @@ msgid "" "to call :func:`importlib.invalidate_caches`." msgstr "" -#: library/importlib.rst:1233 +#: library/importlib.rst:1237 msgid "The path the finder will search in." msgstr "" -#: library/importlib.rst:1237 +#: library/importlib.rst:1241 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." msgstr "" -#: library/importlib.rst:1243 +#: library/importlib.rst:1247 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." msgstr "" -#: library/importlib.rst:1250 +#: library/importlib.rst:1254 msgid "Clear out the internal cache." msgstr "" -#: library/importlib.rst:1254 +#: library/importlib.rst:1258 msgid "" "A class method which returns a closure for use on :attr:`sys.path_hooks`. An " "instance of :class:`FileFinder` is returned by the closure using the path " "argument given to the closure directly and *loader_details* indirectly." msgstr "" -#: library/importlib.rst:1259 +#: library/importlib.rst:1263 msgid "" "If the argument to the closure is not an existing directory, :exc:" "`ImportError` is raised." msgstr "" -#: library/importlib.rst:1265 +#: library/importlib.rst:1269 msgid "" "A concrete implementation of :class:`importlib.abc.SourceLoader` by " "subclassing :class:`importlib.abc.FileLoader` and providing some concrete " "implementations of other methods." msgstr "" -#: library/importlib.rst:1273 +#: library/importlib.rst:1277 msgid "The name of the module that this loader will handle." msgstr "" -#: library/importlib.rst:1277 +#: library/importlib.rst:1281 msgid "The path to the source file." msgstr "" -#: library/importlib.rst:1281 +#: library/importlib.rst:1285 msgid "Return ``True`` if :attr:`path` appears to be for a package." msgstr "" -#: library/importlib.rst:1285 +#: library/importlib.rst:1289 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" -#: library/importlib.rst:1289 +#: library/importlib.rst:1293 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." msgstr "" -#: library/importlib.rst:1336 +#: library/importlib.rst:1340 msgid "" "Concrete implementation of :meth:`importlib.abc.Loader.load_module` where " "specifying the name of the module to load is optional." msgstr "" -#: library/importlib.rst:1341 +#: library/importlib.rst:1345 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." msgstr "" -#: library/importlib.rst:1303 +#: library/importlib.rst:1307 msgid "" "A concrete implementation of :class:`importlib.abc.FileLoader` which can " "import bytecode files (i.e. no source code files exist)." msgstr "" -#: library/importlib.rst:1306 +#: library/importlib.rst:1310 msgid "" "Please note that direct use of bytecode files (and thus not source code " "files) inhibits your modules from being usable by all Python implementations " "or new versions of Python which change the bytecode format." msgstr "" -#: library/importlib.rst:1315 +#: library/importlib.rst:1319 msgid "The name of the module the loader will handle." msgstr "" -#: library/importlib.rst:1319 +#: library/importlib.rst:1323 msgid "The path to the bytecode file." msgstr "" -#: library/importlib.rst:1323 +#: library/importlib.rst:1327 msgid "Determines if the module is a package based on :attr:`path`." msgstr "" -#: library/importlib.rst:1327 +#: library/importlib.rst:1331 msgid "Returns the code object for :attr:`name` created from :attr:`path`." msgstr "" -#: library/importlib.rst:1331 +#: library/importlib.rst:1335 msgid "" "Returns ``None`` as bytecode files have no source when this loader is used." msgstr "" -#: library/importlib.rst:1346 +#: library/importlib.rst:1350 msgid "" "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " "extension modules." msgstr "" -#: library/importlib.rst:1349 +#: library/importlib.rst:1353 msgid "" "The *fullname* argument specifies the name of the module the loader is to " "support. The *path* argument is the path to the extension module's file." msgstr "" -#: library/importlib.rst:1356 +#: library/importlib.rst:1360 msgid "Name of the module the loader supports." msgstr "" -#: library/importlib.rst:1360 +#: library/importlib.rst:1364 msgid "Path to the extension module." msgstr "" -#: library/importlib.rst:1364 +#: library/importlib.rst:1368 msgid "" "Creates the module object from the given specification in accordance with :" "pep:`489`." msgstr "" -#: library/importlib.rst:1371 +#: library/importlib.rst:1375 msgid "Initializes the given module object in accordance with :pep:`489`." msgstr "" -#: library/importlib.rst:1377 +#: library/importlib.rst:1381 msgid "" "Returns ``True`` if the file path points to a package's ``__init__`` module " "based on :attr:`EXTENSION_SUFFIXES`." msgstr "" -#: library/importlib.rst:1382 +#: library/importlib.rst:1386 msgid "Returns ``None`` as extension modules lack a code object." msgstr "" -#: library/importlib.rst:1386 +#: library/importlib.rst:1390 msgid "Returns ``None`` as extension modules do not have source code." msgstr "" -#: library/importlib.rst:1397 +#: library/importlib.rst:1401 msgid "" "A specification for a module's import-system-related state. This is " "typically exposed as the module's ``__spec__`` attribute. In the " @@ -1626,29 +1632,29 @@ msgid "" "``__spec__.submodule_search_locations``." msgstr "" -#: library/importlib.rst:1411 +#: library/importlib.rst:1415 msgid "(``__name__``)" msgstr "" -#: library/importlib.rst:1413 -msgid "A string for the fully-qualified name of the module." +#: library/importlib.rst:1417 +msgid "A string for the fully qualified name of the module." msgstr "" -#: library/importlib.rst:1417 +#: library/importlib.rst:1421 msgid "(``__loader__``)" msgstr "" -#: library/importlib.rst:1419 +#: library/importlib.rst:1423 msgid "" "The :term:`Loader ` that should be used when loading the module. :" "term:`Finders ` should always set this." msgstr "" -#: library/importlib.rst:1424 +#: library/importlib.rst:1428 msgid "(``__file__``)" msgstr "" -#: library/importlib.rst:1426 +#: library/importlib.rst:1430 msgid "" "Name of the place from which the module is loaded, e.g. \"builtin\" for " "built-in modules and the filename for modules loaded from source. Normally " @@ -1656,67 +1662,67 @@ msgid "" "indicates it is unspecified (e.g. for namespace packages)." msgstr "" -#: library/importlib.rst:1433 +#: library/importlib.rst:1437 msgid "(``__path__``)" msgstr "" -#: library/importlib.rst:1435 +#: library/importlib.rst:1439 msgid "" "List of strings for where to find submodules, if a package (``None`` " "otherwise)." msgstr "" -#: library/importlib.rst:1440 +#: library/importlib.rst:1444 msgid "" "Container of extra module-specific data for use during loading (or ``None``)." msgstr "" -#: library/importlib.rst:1445 +#: library/importlib.rst:1449 msgid "(``__cached__``)" msgstr "" -#: library/importlib.rst:1447 +#: library/importlib.rst:1451 msgid "String for where the compiled module should be stored (or ``None``)." msgstr "" -#: library/importlib.rst:1451 +#: library/importlib.rst:1455 msgid "(``__package__``)" msgstr "" -#: library/importlib.rst:1453 +#: library/importlib.rst:1457 msgid "" -"(Read-only) The fully-qualified name of the package under which the module " +"(Read-only) The fully qualified name of the package under which the module " "should be loaded as a submodule (or the empty string for top-level modules). " "For packages, it is the same as :attr:`__name__`." msgstr "" -#: library/importlib.rst:1459 +#: library/importlib.rst:1463 msgid "" "Boolean indicating whether or not the module's \"origin\" attribute refers " "to a loadable location." msgstr "" -#: library/importlib.rst:1463 +#: library/importlib.rst:1467 msgid ":mod:`importlib.util` -- Utility code for importers" msgstr "" -#: library/importlib.rst:1469 +#: library/importlib.rst:1473 msgid "**Source code:** :source:`Lib/importlib/util.py`" msgstr "" -#: library/importlib.rst:1473 +#: library/importlib.rst:1477 msgid "" "This module contains the various objects that help in the construction of " "an :term:`importer`." msgstr "" -#: library/importlib.rst:1478 +#: library/importlib.rst:1482 msgid "" "The bytes which represent the bytecode version number. If you need help with " "loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`." msgstr "" -#: library/importlib.rst:1485 +#: library/importlib.rst:1489 msgid "" "Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated " "with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the " @@ -1726,7 +1732,7 @@ msgid "" "`NotImplementedError` will be raised)." msgstr "" -#: library/importlib.rst:1492 +#: library/importlib.rst:1496 msgid "" "The *optimization* parameter is used to specify the optimization level of " "the bytecode file. An empty string represents no optimization, so ``/foo/bar/" @@ -1739,7 +1745,7 @@ msgid "" "be alphanumeric, else :exc:`ValueError` is raised." msgstr "" -#: library/importlib.rst:1502 +#: library/importlib.rst:1506 msgid "" "The *debug_override* parameter is deprecated and can be used to override the " "system's value for ``__debug__``. A ``True`` value is the equivalent of " @@ -1748,17 +1754,17 @@ msgid "" "are not ``None`` then :exc:`TypeError` is raised." msgstr "" -#: library/importlib.rst:1510 +#: library/importlib.rst:1514 msgid "" "The *optimization* parameter was added and the *debug_override* parameter " "was deprecated." msgstr "" -#: library/importlib.rst:1530 library/importlib.rst:1679 +#: library/importlib.rst:1534 library/importlib.rst:1683 msgid "Accepts a :term:`path-like object`." msgstr "Accepte un :term:`path-like object`." -#: library/importlib.rst:1520 +#: library/importlib.rst:1524 msgid "" "Given the *path* to a :pep:`3147` file name, return the associated source " "code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." @@ -1768,25 +1774,25 @@ msgid "" "cache_tag` is not defined, :exc:`NotImplementedError` is raised." msgstr "" -#: library/importlib.rst:1535 +#: library/importlib.rst:1539 msgid "" "Decode the given bytes representing source code and return it as a string " "with universal newlines (as required by :meth:`importlib.abc.InspectLoader." "get_source`)." msgstr "" -#: library/importlib.rst:1543 +#: library/importlib.rst:1547 msgid "Resolve a relative module name to an absolute one." msgstr "" -#: library/importlib.rst:1545 +#: library/importlib.rst:1549 msgid "" "If **name** has no leading dots, then **name** is simply returned. This " "allows for usage such as ``importlib.util.resolve_name('sys', __spec__." "parent)`` without doing a check to see if the **package** argument is needed." msgstr "" -#: library/importlib.rst:1550 +#: library/importlib.rst:1554 msgid "" ":exc:`ImportError` is raised if **name** is a relative module name but " "**package** is a false value (e.g. ``None`` or the empty string). :exc:" @@ -1794,13 +1800,13 @@ msgid "" "package (e.g. requesting ``..bacon`` from within the ``spam`` package)." msgstr "" -#: library/importlib.rst:1557 +#: library/importlib.rst:1561 msgid "" "To improve consistency with import statements, raise :exc:`ImportError` " "instead of :exc:`ValueError` for invalid relative import attempts." msgstr "" -#: library/importlib.rst:1564 +#: library/importlib.rst:1568 msgid "" "Find the :term:`spec ` for a module, optionally relative to the " "specified **package** name. If the module is in :attr:`sys.modules`, then " @@ -1810,30 +1816,30 @@ msgid "" "if no spec is found." msgstr "" -#: library/importlib.rst:1571 +#: library/importlib.rst:1575 msgid "" "If **name** is for a submodule (contains a dot), the parent module is " "automatically imported." msgstr "" -#: library/importlib.rst:1574 +#: library/importlib.rst:1578 msgid "**name** and **package** work the same as for :func:`import_module`." msgstr "" -#: library/importlib.rst:1578 +#: library/importlib.rst:1582 msgid "" "Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if " "**package** is in fact not a package (i.e. lacks a :attr:`__path__` " "attribute)." msgstr "" -#: library/importlib.rst:1585 +#: library/importlib.rst:1589 msgid "" "Create a new module based on **spec** and :meth:`spec.loader.create_module " "`." msgstr "" -#: library/importlib.rst:1588 +#: library/importlib.rst:1592 msgid "" "If :meth:`spec.loader.create_module ` " "does not return ``None``, then any pre-existing attributes will not be " @@ -1841,14 +1847,14 @@ msgid "" "accessing **spec** or setting an attribute on the module." msgstr "" -#: library/importlib.rst:1593 +#: library/importlib.rst:1597 msgid "" "This function is preferred over using :class:`types.ModuleType` to create a " "new module as **spec** is used to set as many import-controlled attributes " "on the module as possible." msgstr "" -#: library/importlib.rst:1601 +#: library/importlib.rst:1605 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle " "selecting the proper module object to load with. The decorated method is " @@ -1858,7 +1864,7 @@ msgid "" "work on static methods because of the assumption of two arguments." msgstr "" -#: library/importlib.rst:1610 +#: library/importlib.rst:1614 msgid "" "The decorated method will take in the **name** of the module to be loaded as " "expected for a :term:`loader`. If the module is not found in :data:`sys." @@ -1868,7 +1874,7 @@ msgid "" "available). These attributes are set unconditionally to support reloading." msgstr "" -#: library/importlib.rst:1618 +#: library/importlib.rst:1622 msgid "" "If an exception is raised by the decorated method and a module was added to :" "data:`sys.modules`, then the module will be removed to prevent a partially " @@ -1876,25 +1882,25 @@ msgid "" "was already in :data:`sys.modules` then it is left alone." msgstr "" -#: library/importlib.rst:1623 +#: library/importlib.rst:1627 msgid "" ":attr:`__loader__` and :attr:`__package__` are automatically set (when " "possible)." msgstr "" -#: library/importlib.rst:1627 +#: library/importlib.rst:1631 msgid "" "Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally " "to support reloading." msgstr "" -#: library/importlib.rst:1631 +#: library/importlib.rst:1635 msgid "" "The import machinery now directly performs all the functionality provided by " "this function." msgstr "" -#: library/importlib.rst:1637 +#: library/importlib.rst:1641 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" "attr:`__loader__` attribute on the returned module. If the attribute is " @@ -1903,23 +1909,23 @@ msgid "" "`__loader__` should be set to." msgstr "" -#: library/importlib.rst:1644 +#: library/importlib.rst:1648 msgid "" "Set ``__loader__`` if set to ``None``, as if the attribute does not exist." msgstr "" -#: library/importlib.rst:1657 +#: library/importlib.rst:1661 msgid "The import machinery takes care of this automatically." msgstr "" -#: library/importlib.rst:1653 +#: library/importlib.rst:1657 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" "attr:`__package__` attribute on the returned module. If :attr:`__package__` " "is set and has a value other than ``None`` it will not be changed." msgstr "" -#: library/importlib.rst:1662 +#: library/importlib.rst:1666 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on a loader. The parameters have the same meaning as they do " @@ -1928,7 +1934,7 @@ msgid "" "spec." msgstr "" -#: library/importlib.rst:1672 +#: library/importlib.rst:1676 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on the path to a file. Missing information will be filled in " @@ -1936,20 +1942,20 @@ msgid "" "module will be file-based." msgstr "" -#: library/importlib.rst:1684 +#: library/importlib.rst:1688 msgid "" "Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file " "embeds the :func:`source_hash` of the corresponding source file's contents " "in its header." msgstr "" -#: library/importlib.rst:1692 +#: library/importlib.rst:1696 msgid "" "A class which postpones the execution of the loader of a module until the " "module has an attribute accessed." msgstr "" -#: library/importlib.rst:1695 +#: library/importlib.rst:1699 msgid "" "This class **only** works with loaders that define :meth:`~importlib.abc." "Loader.exec_module` as control over what module type is used for the module " @@ -1962,7 +1968,7 @@ msgid "" "raised if such a substitution is detected." msgstr "" -#: library/importlib.rst:1706 +#: library/importlib.rst:1710 msgid "" "For projects where startup time is critical, this class allows for " "potentially minimizing the cost of loading a module if it is never used. For " @@ -1971,66 +1977,72 @@ msgid "" "postponed and thus occurring out of context." msgstr "" -#: library/importlib.rst:1714 +#: library/importlib.rst:1718 msgid "" "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" "class:`importlib.machinery.ExtensionFileLoader`." msgstr "" -#: library/importlib.rst:1721 +#: library/importlib.rst:1725 msgid "" "A static method which returns a callable that creates a lazy loader. This is " "meant to be used in situations where the loader is passed by class instead " "of by instance. ::" msgstr "" -#: library/importlib.rst:1734 +#: library/importlib.rst:1738 msgid "Examples" msgstr "Exemples" -#: library/importlib.rst:1737 +#: library/importlib.rst:1741 msgid "Importing programmatically" msgstr "" -#: library/importlib.rst:1739 +#: library/importlib.rst:1743 msgid "" "To programmatically import a module, use :func:`importlib.import_module`. ::" msgstr "" -#: library/importlib.rst:1748 +#: library/importlib.rst:1752 msgid "Checking if a module can be imported" msgstr "" -#: library/importlib.rst:1750 +#: library/importlib.rst:1754 msgid "" "If you need to find out if a module can be imported without actually doing " -"the import, then you should use :func:`importlib.util.find_spec`. ::" +"the import, then you should use :func:`importlib.util.find_spec`." +msgstr "" + +#: library/importlib.rst:1757 +msgid "" +"Note that if ``name`` is a submodule (contains a dot), :func:`importlib.util." +"find_spec` will import the parent module. ::" msgstr "" -#: library/importlib.rst:1773 +#: library/importlib.rst:1780 msgid "Importing a source file directly" msgstr "" -#: library/importlib.rst:1775 +#: library/importlib.rst:1782 msgid "" "To import a Python source file directly, use the following recipe (Python " "3.5 and newer only)::" msgstr "" -#: library/importlib.rst:1793 +#: library/importlib.rst:1800 msgid "Implementing lazy imports" msgstr "" -#: library/importlib.rst:1795 +#: library/importlib.rst:1802 msgid "The example below shows how to implement lazy imports::" msgstr "" -#: library/importlib.rst:1817 +#: library/importlib.rst:1824 msgid "Setting up an importer" msgstr "" -#: library/importlib.rst:1819 +#: library/importlib.rst:1826 msgid "" "For deep customizations of import, you typically want to implement an :term:" "`importer`. This means managing both the :term:`finder` and :term:`loader` " @@ -2044,11 +2056,11 @@ msgid "" "for the appropriate classes defined within this package)::" msgstr "" -#: library/importlib.rst:1851 +#: library/importlib.rst:1858 msgid "Approximating :func:`importlib.import_module`" msgstr "" -#: library/importlib.rst:1853 +#: library/importlib.rst:1860 msgid "" "Import itself is implemented in Python code, making it possible to expose " "most of the import machinery through importlib. The following helps " diff --git a/library/inspect.po b/library/inspect.po index b5c431804c..86e15ef468 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-09-23 16:27+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -1447,7 +1447,7 @@ msgid "" msgstr "" #: library/inspect.rst:1150 -msgid "Always, always, always returns a freshly-created dict." +msgid "Always, always, always returns a freshly created dict." msgstr "" #: library/inspect.rst:1152 diff --git a/library/io.po b/library/io.po index 9e9c81647b..13d2400bc8 100644 --- a/library/io.po +++ b/library/io.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-03 11:13+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -346,7 +346,7 @@ msgid "" "The :class:`BufferedIOBase` ABC extends :class:`IOBase`. It deals with " "buffering on a raw binary stream (:class:`RawIOBase`). Its subclasses, :" "class:`BufferedWriter`, :class:`BufferedReader`, and :class:`BufferedRWPair` " -"buffer raw binary streams that are readable, writable, and both readable and " +"buffer raw binary streams that are writable, readable, and both readable and " "writable, respectively. :class:`BufferedRandom` provides a buffered " "interface to seekable streams. Another :class:`BufferedIOBase` subclass, :" "class:`BytesIO`, is a stream of in-memory bytes." diff --git a/library/json.po b/library/json.po index 8a06a3a125..948857645e 100644 --- a/library/json.po +++ b/library/json.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-21 10:32+0200\n" "Last-Translator: Caliendo Julien \n" "Language-Team: FRENCH \n" @@ -40,7 +40,14 @@ msgstr "" "JavaScript>`_ (bien que ce ne soit pas un sous-ensemble de Javascript [#rfc-" "errata]_ )." -#: library/json.rst:21 +#: library/json.rst:22 +msgid "" +"Be cautious when parsing JSON data from untrusted sources. A malicious JSON " +"string may cause the decoder to consume considerable CPU and memory " +"resources. Limiting the size of data to be parsed is recommended." +msgstr "" + +#: library/json.rst:26 msgid "" ":mod:`json` exposes an API familiar to users of the standard library :mod:" "`marshal` and :mod:`pickle` modules." @@ -48,43 +55,44 @@ msgstr "" ":mod:`json` fournit une API familière aux utilisateurs des modules :mod:" "`marshal` et :mod:`pickle` de la bibliothèque standard." -#: library/json.rst:24 +#: library/json.rst:29 msgid "Encoding basic Python object hierarchies::" msgstr "Encodage de quelques objets de base Python ::" -#: library/json.rst:43 +#: library/json.rst:48 msgid "Compact encoding::" msgstr "Encodage compact ::" -#: library/json.rst:49 +#: library/json.rst:54 msgid "Pretty printing::" msgstr "Affichage plus lisible ::" -#: library/json.rst:58 +#: library/json.rst:63 msgid "Decoding JSON::" msgstr "Décodage JSON ::" -#: library/json.rst:70 +#: library/json.rst:75 msgid "Specializing JSON object decoding::" msgstr "Spécialisation du décodage JSON pour un objet ::" -#: library/json.rst:85 +#: library/json.rst:90 msgid "Extending :class:`JSONEncoder`::" msgstr "Extension de la classe :class:`JSONEncoder` ::" -#: library/json.rst:103 +#: library/json.rst:108 msgid "Using :mod:`json.tool` from the shell to validate and pretty-print:" msgstr "" "Utilisation du module :mod:`json.tool` depuis l'invite de commandes pour " "valider un flux et l'afficher lisiblement :" -#: library/json.rst:114 +#: library/json.rst:119 msgid "See :ref:`json-commandline` for detailed documentation." msgstr "Voir :ref:`json-commandline` pour une documentation détaillée." -#: library/json.rst:118 +#: library/json.rst:123 +#, fuzzy msgid "" -"JSON is a subset of `YAML `_ 1.2. The JSON produced by " +"JSON is a subset of `YAML `_ 1.2. The JSON produced by " "this module's default settings (in particular, the default *separators* " "value) is also a subset of YAML 1.0 and 1.1. This module can thus also be " "used as a YAML serializer." @@ -94,7 +102,7 @@ msgstr "" "défaut de *separators*) est aussi un sous-ensemble de YAML 1.0 et 1.1. Ce " "module peut alors aussi être utilisé comme sérialiseur YAML." -#: library/json.rst:125 +#: library/json.rst:130 msgid "" "This module's encoders and decoders preserve input and output order by " "default. Order is only lost if the underlying containers are unordered." @@ -103,11 +111,11 @@ msgstr "" "sortie par défaut. L'ordre n'est perdu que si les conteneurs sous-jacents ne " "sont pas ordonnés." -#: library/json.rst:130 +#: library/json.rst:135 msgid "Basic Usage" msgstr "Utilisation de base" -#: library/json.rst:137 +#: library/json.rst:142 msgid "" "Serialize *obj* as a JSON formatted stream to *fp* (a ``.write()``-" "supporting :term:`file-like object`) using this :ref:`conversion table ` prenant en charge ``.write()``), en utilisant cette :ref:" "`table de conversion `." -#: library/json.rst:141 +#: library/json.rst:146 msgid "" "If *skipkeys* is true (default: ``False``), then dict keys that are not of a " "basic type (:class:`str`, :class:`int`, :class:`float`, :class:`bool`, " @@ -128,7 +136,7 @@ msgstr "" "class:`float`, :class:`bool`, ``None``) sont ignorées. Elles provoquent " "normalement la levée d'une :exc:`TypeError`." -#: library/json.rst:145 +#: library/json.rst:150 msgid "" "The :mod:`json` module always produces :class:`str` objects, not :class:" "`bytes` objects. Therefore, ``fp.write()`` must support :class:`str` input." @@ -137,7 +145,7 @@ msgstr "" "objets :class:`bytes`. ``fp.write()`` doit ainsi prendre en charge un objet :" "class:`str` en entrée." -#: library/json.rst:422 +#: library/json.rst:433 msgid "" "If *ensure_ascii* is true (the default), the output is guaranteed to have " "all incoming non-ASCII characters escaped. If *ensure_ascii* is false, " @@ -147,7 +155,7 @@ msgstr "" "ASCII sont tous échappés à la sortie. Si *ensure_ascii* vaut ``False``, ils " "sont écrits tels quels." -#: library/json.rst:153 +#: library/json.rst:158 msgid "" "If *check_circular* is false (default: ``True``), then the circular " "reference check for container types will be skipped and a circular reference " @@ -157,7 +165,7 @@ msgstr "" "des références circulaires pour les conteneurs est ignorée, et une référence " "circulaire cause une :exc:`RecursionError` (ou pire)." -#: library/json.rst:157 +#: library/json.rst:162 msgid "" "If *allow_nan* is false (default: ``True``), then it will be a :exc:" "`ValueError` to serialize out of range :class:`float` values (``nan``, " @@ -171,7 +179,7 @@ msgstr "" "Si *allow_nan* vaut ``True``, les équivalents JavaScript (``NaN``, " "``Infinity``, ``-Infinity``) sont utilisés." -#: library/json.rst:441 +#: library/json.rst:452 msgid "" "If *indent* is a non-negative integer or string, then JSON array elements " "and object members will be pretty-printed with that indent level. An indent " @@ -189,11 +197,11 @@ msgstr "" "une chaîne (telle que ``\"\\t\"``), cette chaîne est utilisée pour indenter " "à chaque niveau." -#: library/json.rst:448 +#: library/json.rst:459 msgid "Allow strings for *indent* in addition to integers." msgstr "Autorise les chaînes en plus des nombres entiers pour *indent*." -#: library/json.rst:451 +#: library/json.rst:462 msgid "" "If specified, *separators* should be an ``(item_separator, key_separator)`` " "tuple. The default is ``(', ', ': ')`` if *indent* is ``None`` and ``(',', " @@ -205,11 +213,11 @@ msgstr "" "``None``, et ``(',', ': ')`` autrement. Pour obtenir la représentation JSON " "la plus compacte possible, passez ``(',', ':')`` pour éliminer les espaces." -#: library/json.rst:456 +#: library/json.rst:467 msgid "Use ``(',', ': ')`` as default if *indent* is not ``None``." msgstr "Utilise ``(',', ': ')`` par défaut si *indent* n'est pas ``None``." -#: library/json.rst:459 +#: library/json.rst:470 msgid "" "If specified, *default* should be a function that gets called for objects " "that can't otherwise be serialized. It should return a JSON encodable " @@ -221,7 +229,7 @@ msgstr "" "représentation composée d'objets Python sérialisable en JSON ou lever une :" "exc:`TypeError`. Si non spécifié, une :exc:`TypeError` est levée." -#: library/json.rst:186 +#: library/json.rst:191 msgid "" "If *sort_keys* is true (default: ``False``), then the output of dictionaries " "will be sorted by key." @@ -229,7 +237,7 @@ msgstr "" "Si *sort_keys* vaut ``True`` (``False`` par défaut), les dictionnaires sont " "retranscrits triés selon leurs clés." -#: library/json.rst:189 +#: library/json.rst:194 msgid "" "To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the :" "meth:`default` method to serialize additional types), specify it with the " @@ -240,14 +248,14 @@ msgstr "" "additionnels), spécifiez-la avec le paramètre nommé *cls* ; autrement, :" "class:`JSONEncoder` est utilisée." -#: library/json.rst:266 +#: library/json.rst:277 msgid "" "All optional parameters are now :ref:`keyword-only `." msgstr "" "tous les paramètres optionnels sont maintenant des :ref:`keyword-only " "`." -#: library/json.rst:198 +#: library/json.rst:203 msgid "" "Unlike :mod:`pickle` and :mod:`marshal`, JSON is not a framed protocol, so " "trying to serialize multiple objects with repeated calls to :func:`dump` " @@ -258,7 +266,7 @@ msgstr "" "répétés à :func:`dump` en utilisant le même *fp* résulte en un fichier JSON " "invalide." -#: library/json.rst:207 +#: library/json.rst:212 msgid "" "Serialize *obj* to a JSON formatted :class:`str` using this :ref:`conversion " "table `. The arguments have the same meaning as in :func:" @@ -268,7 +276,7 @@ msgstr "" "ref:`table de conversion `. Les arguments ont la même " "signification que ceux de :func:`dump`." -#: library/json.rst:213 +#: library/json.rst:218 msgid "" "Keys in key/value pairs of JSON are always of the type :class:`str`. When a " "dictionary is converted into JSON, all the keys of the dictionary are " @@ -283,7 +291,7 @@ msgstr "" "résultat peut ne pas être égal à l'original. Ainsi, ``loads(dumps(x)) != x`` " "si x contient des clés qui ne sont pas des chaînes." -#: library/json.rst:222 +#: library/json.rst:227 msgid "" "Deserialize *fp* (a ``.read()``-supporting :term:`text file` or :term:" "`binary file` containing a JSON document) to a Python object using this :ref:" @@ -293,12 +301,13 @@ msgstr "" "``.read()`` et contenant un document JSON) vers un objet Python en utilisant " "cette :ref:`table de conversion `." -#: library/json.rst:226 +#: library/json.rst:231 +#, fuzzy msgid "" "*object_hook* is an optional function that will be called with the result of " "any object literal decoded (a :class:`dict`). The return value of " "*object_hook* will be used instead of the :class:`dict`. This feature can " -"be used to implement custom decoders (e.g. `JSON-RPC `_ class hinting)." msgstr "" "*object_hook* est une fonction optionnelle qui est appelée avec le résultat " @@ -308,7 +317,7 @@ msgstr "" "personnalisés (p. ex. les *class hinting* de `JSON-RPC `_)." -#: library/json.rst:232 +#: library/json.rst:237 msgid "" "*object_pairs_hook* is an optional function that will be called with the " "result of any object literal decoded with an ordered list of pairs. The " @@ -323,11 +332,11 @@ msgstr "" "personnalisés. *object_pairs_hook* prend la priorité sur *object_hook*, si " "cette dernière est aussi définie." -#: library/json.rst:337 +#: library/json.rst:348 msgid "Added support for *object_pairs_hook*." msgstr "ajout du support de *object_pairs_hook*." -#: library/json.rst:340 +#: library/json.rst:351 msgid "" "*parse_float*, if specified, will be called with the string of every JSON " "float to be decoded. By default, this is equivalent to ``float(num_str)``. " @@ -340,7 +349,7 @@ msgstr "" "autre type de données ou un autre analyseur pour les nombres réels JSON (p. " "ex. :class:`decimal.Decimal`)." -#: library/json.rst:345 +#: library/json.rst:356 msgid "" "*parse_int*, if specified, will be called with the string of every JSON int " "to be decoded. By default, this is equivalent to ``int(num_str)``. This " @@ -353,7 +362,14 @@ msgstr "" "autre type de données ou un autre analyseur pour les nombres entiers JSON " "(p. ex. :class:`float`)." -#: library/json.rst:350 +#: library/json.rst:256 +msgid "" +"The default *parse_int* of :func:`int` now limits the maximum length of the " +"integer string via the interpreter's :ref:`integer string conversion length " +"limitation ` to help avoid denial of service attacks." +msgstr "" + +#: library/json.rst:361 msgid "" "*parse_constant*, if specified, will be called with one of the following " "strings: ``'-Infinity'``, ``'Infinity'``, ``'NaN'``. This can be used to " @@ -364,11 +380,11 @@ msgstr "" "``'NaN'``. Cela peut servir à lever une exception si des nombres JSON " "invalides sont rencontrés." -#: library/json.rst:256 +#: library/json.rst:267 msgid "*parse_constant* doesn't get called on 'null', 'true', 'false' anymore." msgstr "*parse_constant* n'est plus appelée pour *null*, *true* ou *false*." -#: library/json.rst:259 +#: library/json.rst:270 msgid "" "To use a custom :class:`JSONDecoder` subclass, specify it with the ``cls`` " "kwarg; otherwise :class:`JSONDecoder` is used. Additional keyword arguments " @@ -379,7 +395,7 @@ msgstr "" "utilisée. Les arguments nommés additionnels sont passés au constructeur de " "cette classe." -#: library/json.rst:281 library/json.rst:360 +#: library/json.rst:292 library/json.rst:371 msgid "" "If the data being deserialized is not a valid JSON document, a :exc:" "`JSONDecodeError` will be raised." @@ -387,7 +403,7 @@ msgstr "" "Si les données à désérialiser ne sont pas un document JSON valide, une :exc:" "`JSONDecodeError` est levée." -#: library/json.rst:269 +#: library/json.rst:280 msgid "" "*fp* can now be a :term:`binary file`. The input encoding should be UTF-8, " "UTF-16 or UTF-32." @@ -395,7 +411,7 @@ msgstr "" "*fp* peut maintenant être un :class:`binary file`. Son encodage doit être " "UTF-8, UTF-16 ou UTF-32." -#: library/json.rst:275 +#: library/json.rst:286 msgid "" "Deserialize *s* (a :class:`str`, :class:`bytes` or :class:`bytearray` " "instance containing a JSON document) to a Python object using this :ref:" @@ -405,11 +421,11 @@ msgstr "" "`bytearray` contenant un document JSON) vers un objet Python en utilisant " "cette :ref:`table de conversion `." -#: library/json.rst:279 +#: library/json.rst:290 msgid "The other arguments have the same meaning as in :func:`load`." msgstr "Les autres arguments ont la même signification que dans :func:`load`." -#: library/json.rst:284 +#: library/json.rst:295 msgid "" "*s* can now be of type :class:`bytes` or :class:`bytearray`. The input " "encoding should be UTF-8, UTF-16 or UTF-32." @@ -417,95 +433,95 @@ msgstr "" "*s* peut maintenant être de type :class:`bytes` ou :class:`bytearray`. " "L'encodage d'entrée doit être UTF-8, UTF-16 ou UTF-32." -#: library/json.rst:288 +#: library/json.rst:299 msgid "The keyword argument *encoding* has been removed." msgstr "suppression de l’argument nommé *encoding*." -#: library/json.rst:293 +#: library/json.rst:304 msgid "Encoders and Decoders" msgstr "Encodeurs et décodeurs" -#: library/json.rst:297 +#: library/json.rst:308 msgid "Simple JSON decoder." msgstr "Décodeur simple JSON." -#: library/json.rst:299 +#: library/json.rst:310 msgid "Performs the following translations in decoding by default:" msgstr "Applique par défaut les conversions suivantes en décodant :" -#: library/json.rst:393 +#: library/json.rst:404 msgid "JSON" msgstr "JSON" -#: library/json.rst:393 +#: library/json.rst:404 msgid "Python" msgstr "Python" -#: library/json.rst:395 +#: library/json.rst:406 msgid "object" msgstr "objet" -#: library/json.rst:395 +#: library/json.rst:406 msgid "dict" msgstr "*dict*" -#: library/json.rst:397 +#: library/json.rst:408 msgid "array" msgstr "*array*" -#: library/json.rst:308 +#: library/json.rst:319 msgid "list" msgstr "*list*" -#: library/json.rst:399 +#: library/json.rst:410 msgid "string" msgstr "*string*" -#: library/json.rst:399 +#: library/json.rst:410 msgid "str" msgstr "*str*" -#: library/json.rst:312 +#: library/json.rst:323 msgid "number (int)" msgstr "*number* (nombre entier)" -#: library/json.rst:312 +#: library/json.rst:323 msgid "int" msgstr "*int*" -#: library/json.rst:314 +#: library/json.rst:325 msgid "number (real)" msgstr "*number* (nombre réel)" -#: library/json.rst:314 +#: library/json.rst:325 msgid "float" msgstr "*float*" -#: library/json.rst:403 +#: library/json.rst:414 msgid "true" msgstr "*true*" -#: library/json.rst:403 +#: library/json.rst:414 msgid "True" msgstr "*True*" -#: library/json.rst:405 +#: library/json.rst:416 msgid "false" msgstr "*false*" -#: library/json.rst:405 +#: library/json.rst:416 msgid "False" msgstr "*False*" -#: library/json.rst:407 +#: library/json.rst:418 msgid "null" msgstr "*null*" -#: library/json.rst:407 +#: library/json.rst:418 msgid "None" msgstr "``None``" -#: library/json.rst:323 +#: library/json.rst:334 msgid "" "It also understands ``NaN``, ``Infinity``, and ``-Infinity`` as their " "corresponding ``float`` values, which is outside the JSON spec." @@ -514,12 +530,13 @@ msgstr "" "comme leurs valeurs ``float`` correspondantes, bien que ne faisant pas " "partie de la spécification JSON." -#: library/json.rst:326 +#: library/json.rst:337 +#, fuzzy msgid "" "*object_hook*, if specified, will be called with the result of every JSON " "object decoded and its return value will be used in place of the given :" "class:`dict`. This can be used to provide custom deserializations (e.g. to " -"support `JSON-RPC `_ class hinting)." +"support `JSON-RPC `_ class hinting)." msgstr "" "Si *object_hook* est donnée, elle est appelée avec le résultat de chaque " "objet JSON décodé et sa valeur de retour est utilisée à la place du :class:" @@ -527,7 +544,7 @@ msgstr "" "décodeurs personnalisés (p. ex prendre en charge les indications de classe " "de `JSON-RPC `_)." -#: library/json.rst:331 +#: library/json.rst:342 msgid "" "*object_pairs_hook*, if specified will be called with the result of every " "JSON object decoded with an ordered list of pairs. The return value of " @@ -542,7 +559,7 @@ msgstr "" "*object_pairs_hook* prend la priorité sur *object_hook*, si cette dernière " "est aussi définie." -#: library/json.rst:355 +#: library/json.rst:366 msgid "" "If *strict* is false (``True`` is the default), then control characters will " "be allowed inside strings. Control characters in this context are those " @@ -554,13 +571,13 @@ msgstr "" "contrôle dans ce contexte sont ceux dont les codes sont dans l'intervalle " "0--31, incluant ``'\\t'`` (tabulation), ``'\\n'``, ``'\\r'`` et ``'\\0'``." -#: library/json.rst:464 +#: library/json.rst:475 msgid "All parameters are now :ref:`keyword-only `." msgstr "" "Tous les paramètres sont maintenant des :ref:`keyword-only `." -#: library/json.rst:368 +#: library/json.rst:379 msgid "" "Return the Python representation of *s* (a :class:`str` instance containing " "a JSON document)." @@ -568,7 +585,7 @@ msgstr "" "Renvoie la représentation Python de *s* (une instance :class:`str` contenant " "un document JSON)." -#: library/json.rst:371 +#: library/json.rst:382 msgid "" ":exc:`JSONDecodeError` will be raised if the given JSON document is not " "valid." @@ -576,7 +593,7 @@ msgstr "" "Une :exc:`JSONDecodeError` est levée si le document JSON donné n'est pas " "valide." -#: library/json.rst:376 +#: library/json.rst:387 msgid "" "Decode a JSON document from *s* (a :class:`str` beginning with a JSON " "document) and return a 2-tuple of the Python representation and the index in " @@ -587,7 +604,7 @@ msgstr "" "représentation Python de l'objet et l'index dans *s* où le document se " "terminait." -#: library/json.rst:380 +#: library/json.rst:391 msgid "" "This can be used to decode a JSON document from a string that may have " "extraneous data at the end." @@ -595,33 +612,33 @@ msgstr "" "Elle peut être utilisée pour décoder un document JSON depuis une chaîne qui " "peut contenir des données supplémentaires à la fin." -#: library/json.rst:386 +#: library/json.rst:397 msgid "Extensible JSON encoder for Python data structures." msgstr "Encodeur JSON extensible pour les structures de données Python." -#: library/json.rst:388 +#: library/json.rst:399 msgid "Supports the following objects and types by default:" msgstr "Prend en charge par défaut les objets et types suivants :" -#: library/json.rst:397 +#: library/json.rst:408 msgid "list, tuple" msgstr "*list*, *tuple*" -#: library/json.rst:401 +#: library/json.rst:412 msgid "int, float, int- & float-derived Enums" msgstr "*int*, *float*, et *Enums* dérivées d'*int* ou de *float*" -#: library/json.rst:401 +#: library/json.rst:412 msgid "number" msgstr "*number*" -#: library/json.rst:410 +#: library/json.rst:421 msgid "Added support for int- and float-derived Enum classes." msgstr "" "ajout de la prise en charge des classes *Enum* dérivées d'*int* ou de " "*float*." -#: library/json.rst:413 +#: library/json.rst:424 msgid "" "To extend this to recognize other objects, subclass and implement a :meth:" "`default` method with another method that returns a serializable object for " @@ -634,7 +651,7 @@ msgstr "" "il convient d'appeler l'implémentation de la classe mère (pour lever une :" "exc:`TypeError`)." -#: library/json.rst:418 +#: library/json.rst:429 msgid "" "If *skipkeys* is false (the default), a :exc:`TypeError` will be raised when " "trying to encode keys that are not :class:`str`, :class:`int`, :class:" @@ -645,7 +662,7 @@ msgstr "" "`float` ou ``None``. Si *skipkeys* vaut ``True``, ces éléments sont " "simplement ignorés." -#: library/json.rst:426 +#: library/json.rst:437 msgid "" "If *check_circular* is true (the default), then lists, dicts, and custom " "encoded objects will be checked for circular references during encoding to " @@ -658,7 +675,7 @@ msgstr "" "causeraient une :exc:`RecursionError`). Autrement, la vérification n'a pas " "lieu." -#: library/json.rst:431 +#: library/json.rst:442 msgid "" "If *allow_nan* is true (the default), then ``NaN``, ``Infinity``, and ``-" "Infinity`` will be encoded as such. This behavior is not JSON specification " @@ -671,7 +688,7 @@ msgstr "" "encodeurs-décodeurs JavaScript. Autrement, une :exc:`ValueError` est levée " "pour de telles valeurs." -#: library/json.rst:437 +#: library/json.rst:448 msgid "" "If *sort_keys* is true (default: ``False``), then the output of dictionaries " "will be sorted by key; this is useful for regression tests to ensure that " @@ -681,7 +698,7 @@ msgstr "" "sont triés par clés en sortie ; cela est utile lors de tests de régression " "pour pouvoir comparer les sérialisations JSON au jour le jour." -#: library/json.rst:470 +#: library/json.rst:481 msgid "" "Implement this method in a subclass such that it returns a serializable " "object for *o*, or calls the base implementation (to raise a :exc:" @@ -691,7 +708,7 @@ msgstr "" "sérialisable pour *o*, ou appelle l'implémentation de base (qui lèvera une :" "exc:`TypeError`)." -#: library/json.rst:474 +#: library/json.rst:485 msgid "" "For example, to support arbitrary iterators, you could implement :meth:" "`default` like this::" @@ -699,7 +716,7 @@ msgstr "" "Par exemple, pour prendre en charge les itérations arbitraires, la :meth:" "`default` peut être écrite ainsi ::" -#: library/json.rst:490 +#: library/json.rst:501 msgid "" "Return a JSON string representation of a Python data structure, *o*. For " "example::" @@ -707,7 +724,7 @@ msgstr "" "Renvoie une chaîne JSON représentant la structure de données Python *o*. " "Par exemple ::" -#: library/json.rst:499 +#: library/json.rst:510 msgid "" "Encode the given object, *o*, and yield each string representation as " "available. For example::" @@ -715,40 +732,40 @@ msgstr "" "Encode l'objet *o* donné, et produit chaque chaîne représentant l'objet " "selon disponibilité. Par exemple ::" -#: library/json.rst:507 +#: library/json.rst:518 msgid "Exceptions" msgstr "Exceptions" -#: library/json.rst:511 +#: library/json.rst:522 msgid "Subclass of :exc:`ValueError` with the following additional attributes:" msgstr "" "Sous-classe de :exc:`ValueError` avec les attributs additionnels suivants :" -#: library/json.rst:515 +#: library/json.rst:526 msgid "The unformatted error message." msgstr "Le message d'erreur non formaté." -#: library/json.rst:519 +#: library/json.rst:530 msgid "The JSON document being parsed." msgstr "Le document JSON en cours de traitement." -#: library/json.rst:523 +#: library/json.rst:534 msgid "The start index of *doc* where parsing failed." msgstr "L'index de *doc* à partir duquel l'analyse a échoué." -#: library/json.rst:527 +#: library/json.rst:538 msgid "The line corresponding to *pos*." msgstr "La ligne correspondant à *pos*." -#: library/json.rst:531 +#: library/json.rst:542 msgid "The column corresponding to *pos*." msgstr "La colonne correspondant à *pos*." -#: library/json.rst:537 +#: library/json.rst:548 msgid "Standard Compliance and Interoperability" msgstr "Conformité au standard et Interopérabilité" -#: library/json.rst:539 +#: library/json.rst:550 msgid "" "The JSON format is specified by :rfc:`7159` and by `ECMA-404 `_. " @@ -763,7 +780,7 @@ msgstr "" "class:`JSONDecoder`, et les paramètres autres que ceux explicitement " "mentionnés ne sont pas considérés." -#: library/json.rst:545 +#: library/json.rst:556 msgid "" "This module does not comply with the RFC in a strict fashion, implementing " "some extensions that are valid JavaScript but not valid JSON. In particular:" @@ -771,11 +788,11 @@ msgstr "" "Ce module ne se conforme pas strictement à la RFC, implémentant quelques " "extensions qui sont valides en JavaScript mais pas en JSON. En particulier :" -#: library/json.rst:548 +#: library/json.rst:559 msgid "Infinite and NaN number values are accepted and output;" msgstr "Les nombres infinis et *NaN* sont acceptés et retranscrits ;" -#: library/json.rst:549 +#: library/json.rst:560 msgid "" "Repeated names within an object are accepted, and only the value of the last " "name-value pair is used." @@ -783,7 +800,7 @@ msgstr "" "Les noms répétés au sein d'un objet sont acceptés, seule la valeur du " "dernier couple nom-valeur est utilisée." -#: library/json.rst:552 +#: library/json.rst:563 msgid "" "Since the RFC permits RFC-compliant parsers to accept input texts that are " "not RFC-compliant, this module's deserializer is technically RFC-compliant " @@ -793,11 +810,11 @@ msgstr "" "non conformes, le désérialiseur de ce module avec ses paramètres par défaut " "est techniquement conforme à la RFC." -#: library/json.rst:557 +#: library/json.rst:568 msgid "Character Encodings" msgstr "Encodage des caractères" -#: library/json.rst:559 +#: library/json.rst:570 msgid "" "The RFC requires that JSON be represented using either UTF-8, UTF-16, or " "UTF-32, with UTF-8 being the recommended default for maximum " @@ -807,7 +824,7 @@ msgstr "" "UTF-16 ou UTF-32, avec UTF-8 recommandé par défaut pour une interopérabilité " "maximale." -#: library/json.rst:562 +#: library/json.rst:573 msgid "" "As permitted, though not required, by the RFC, this module's serializer sets " "*ensure_ascii=True* by default, thus escaping the output so that the " @@ -818,7 +835,7 @@ msgstr "" "façon à ce que les chaînes résultants ne contiennent que des caractères " "ASCII." -#: library/json.rst:566 +#: library/json.rst:577 msgid "" "Other than the *ensure_ascii* parameter, this module is defined strictly in " "terms of conversion between Python objects and :class:`Unicode strings " @@ -829,7 +846,7 @@ msgstr "" "class:`chaînes Unicode ` de ce module sont strictement définies, et ne " "résolvent donc pas directement le problème de l'encodage des caractères." -#: library/json.rst:571 +#: library/json.rst:582 msgid "" "The RFC prohibits adding a byte order mark (BOM) to the start of a JSON " "text, and this module's serializer does not add a BOM to its output. The RFC " @@ -843,7 +860,7 @@ msgstr "" "ignorent ces BOM. Le désérialiseur de ce module lève une :exc:`ValueError` " "quand un BOM est présent au début du fichier." -#: library/json.rst:577 +#: library/json.rst:588 msgid "" "The RFC does not explicitly forbid JSON strings which contain byte sequences " "that don't correspond to valid Unicode characters (e.g. unpaired UTF-16 " @@ -858,11 +875,11 @@ msgstr "" "retranscrit (quand présents dans la :class:`str` originale) les *code " "points* de telles séquences." -#: library/json.rst:585 +#: library/json.rst:596 msgid "Infinite and NaN Number Values" msgstr "Valeurs numériques infinies et NaN" -#: library/json.rst:587 +#: library/json.rst:598 msgid "" "The RFC does not permit the representation of infinite or NaN number values. " "Despite that, by default, this module accepts and outputs ``Infinity``, ``-" @@ -873,7 +890,7 @@ msgstr "" "Infinity`` et ``NaN`` comme s'ils étaient des valeurs numériques littérales " "JSON valides ::" -#: library/json.rst:602 +#: library/json.rst:613 msgid "" "In the serializer, the *allow_nan* parameter can be used to alter this " "behavior. In the deserializer, the *parse_constant* parameter can be used " @@ -883,11 +900,11 @@ msgstr "" "ce comportement. Dans le désérialiseur, le paramètre *parse_constant* peut " "être utilisé pour changer ce comportement." -#: library/json.rst:608 +#: library/json.rst:619 msgid "Repeated Names Within an Object" msgstr "Noms répétés au sein d'un objet" -#: library/json.rst:610 +#: library/json.rst:621 msgid "" "The RFC specifies that the names within a JSON object should be unique, but " "does not mandate how repeated names in JSON objects should be handled. By " @@ -899,17 +916,17 @@ msgstr "" "ce module ne lève pas d'exception ; à la place, il ignore tous les couples " "nom-valeur sauf le dernier pour un nom donné ::" -#: library/json.rst:619 +#: library/json.rst:630 msgid "The *object_pairs_hook* parameter can be used to alter this behavior." msgstr "" "Le paramètre *object_pairs_hook* peut être utilisé pour modifier ce " "comportement." -#: library/json.rst:623 +#: library/json.rst:634 msgid "Top-level Non-Object, Non-Array Values" msgstr "Valeurs de plus haut niveau (hors objets ou tableaux)" -#: library/json.rst:625 +#: library/json.rst:636 msgid "" "The old version of JSON specified by the obsolete :rfc:`4627` required that " "the top-level value of a JSON text must be either a JSON object or array " @@ -925,7 +942,7 @@ msgstr "" "restriction, jamais implémentée par ce module, que ce soit dans le " "sérialiseur ou le désérialiseur." -#: library/json.rst:632 +#: library/json.rst:643 msgid "" "Regardless, for maximum interoperability, you may wish to voluntarily adhere " "to the restriction yourself." @@ -933,33 +950,33 @@ msgstr "" "Cependant, pour une interopérabilité maximale, vous pourriez volontairement " "souhaiter adhérer à cette restriction." -#: library/json.rst:637 +#: library/json.rst:648 msgid "Implementation Limitations" msgstr "Limitations de l'implémentation" -#: library/json.rst:639 +#: library/json.rst:650 msgid "Some JSON deserializer implementations may set limits on:" msgstr "" "Certaines implémentations de désérialiseurs JSON peuvent avoir des limites " "sur :" -#: library/json.rst:641 +#: library/json.rst:652 msgid "the size of accepted JSON texts" msgstr "la taille des textes JSON acceptés ;" -#: library/json.rst:642 +#: library/json.rst:653 msgid "the maximum level of nesting of JSON objects and arrays" msgstr "le niveau maximum d'objets et tableaux JSON imbriqués ;" -#: library/json.rst:643 +#: library/json.rst:654 msgid "the range and precision of JSON numbers" msgstr "l'intervalle et la précision des nombres JSON ;" -#: library/json.rst:644 +#: library/json.rst:655 msgid "the content and maximum length of JSON strings" msgstr "le contenu et la longueur maximale des chaînes JSON." -#: library/json.rst:646 +#: library/json.rst:657 msgid "" "This module does not impose any such limits beyond those of the relevant " "Python datatypes themselves or the Python interpreter itself." @@ -967,7 +984,7 @@ msgstr "" "Ce module n'impose pas de telles limites si ce n'est celles inhérentes aux " "types de données Python ou à l'interpréteur." -#: library/json.rst:649 +#: library/json.rst:660 msgid "" "When serializing to JSON, beware any such limitations in applications that " "may consume your JSON. In particular, it is common for JSON numbers to be " @@ -985,15 +1002,15 @@ msgstr "" "sérialisation de grands :class:`int` Python, ou d'instances de types " "numériques « exotiques » comme :class:`decimal.Decimal`." -#: library/json.rst:662 +#: library/json.rst:673 msgid "Command Line Interface" msgstr "Interface en ligne de commande" -#: library/json.rst:667 +#: library/json.rst:678 msgid "**Source code:** :source:`Lib/json/tool.py`" msgstr "**Code source :** :source:`Lib/json/tool.py`" -#: library/json.rst:671 +#: library/json.rst:682 msgid "" "The :mod:`json.tool` module provides a simple command line interface to " "validate and pretty-print JSON objects." @@ -1001,7 +1018,7 @@ msgstr "" "Le module :mod:`json.tool` fournit une simple interface en ligne de commande " "pour valider et réécrire élégamment des objets JSON." -#: library/json.rst:674 +#: library/json.rst:685 msgid "" "If the optional ``infile`` and ``outfile`` arguments are not specified, :" "attr:`sys.stdin` and :attr:`sys.stdout` will be used respectively:" @@ -1010,7 +1027,7 @@ msgstr "" "spécifiés, :attr:`sys.stdin` et :attr:`sys.stdout` sont utilisés " "respectivement :" -#: library/json.rst:686 +#: library/json.rst:697 msgid "" "The output is now in the same order as the input. Use the :option:`--sort-" "keys` option to sort the output of dictionaries alphabetically by key." @@ -1019,20 +1036,20 @@ msgstr "" "l'option :option:`--sort-keys` pour sortir des dictionnaires triés " "alphabétiquement par clés." -#: library/json.rst:693 +#: library/json.rst:704 msgid "Command line options" msgstr "Options de la ligne de commande" -#: library/json.rst:697 +#: library/json.rst:708 msgid "The JSON file to be validated or pretty-printed:" msgstr "Le fichier JSON à valider ou réécrire élégamment :" -#: library/json.rst:713 +#: library/json.rst:724 msgid "If *infile* is not specified, read from :attr:`sys.stdin`." msgstr "" "Si *infile* n'est pas spécifié, lit le document depuis :attr:`sys.stdin`." -#: library/json.rst:717 +#: library/json.rst:728 msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " "to :attr:`sys.stdout`." @@ -1040,11 +1057,11 @@ msgstr "" "Écrit la sortie générée par *infile* vers le fichier *outfile* donné. " "Autrement, écrit sur :attr:`sys.stdout`." -#: library/json.rst:722 +#: library/json.rst:733 msgid "Sort the output of dictionaries alphabetically by key." msgstr "Trie alphabétiquement les dictionnaires par clés." -#: library/json.rst:728 +#: library/json.rst:739 msgid "" "Disable escaping of non-ascii characters, see :func:`json.dumps` for more " "information." @@ -1052,23 +1069,23 @@ msgstr "" "Désactive l’échappement des caractères non ASCII, voir :func:`json.dumps` " "pour plus d'informations." -#: library/json.rst:734 +#: library/json.rst:745 msgid "Parse every input line as separate JSON object." msgstr "Transforme chaque ligne d'entrée en un objet JSON individuel." -#: library/json.rst:740 +#: library/json.rst:751 msgid "Mutually exclusive options for whitespace control." msgstr "Options mutuellement exclusives de contrôle des espaces." -#: library/json.rst:746 +#: library/json.rst:757 msgid "Show the help message." msgstr "Affiche le message d'aide." -#: library/json.rst:750 +#: library/json.rst:761 msgid "Footnotes" msgstr "Notes" -#: library/json.rst:751 +#: library/json.rst:762 msgid "" "As noted in `the errata for RFC 7159 `_, JSON permits literal U+2028 (LINE SEPARATOR) " diff --git a/library/logging.config.po b/library/logging.config.po index f89da446ce..d0fd6a4a0c 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -663,11 +663,25 @@ msgid "" "corresponding value is a callable." msgstr "" -#: library/logging.config.rst:531 +#: library/logging.config.rst:527 +msgid "" +"You can also specify a special key ``'.'`` whose value is a dictionary is a " +"mapping of attribute names to values. If found, the specified attributes " +"will be set on the user-defined object before it is returned. Thus, with the " +"following configuration::" +msgstr "" + +#: library/logging.config.rst:543 +msgid "" +"the returned formatter will have attribute ``foo`` set to ``'bar'`` and " +"attribute ``baz`` set to ``'bozz'``." +msgstr "" + +#: library/logging.config.rst:550 msgid "Access to external objects" msgstr "" -#: library/logging.config.rst:533 +#: library/logging.config.rst:552 msgid "" "There are times where a configuration needs to refer to objects external to " "the configuration, for example ``sys.stderr``. If the configuration dict is " @@ -682,7 +696,7 @@ msgid "" "import mechanisms." msgstr "" -#: library/logging.config.rst:546 +#: library/logging.config.rst:565 msgid "" "The handling of such prefixes is done in a way analogous to protocol " "handling: there is a generic mechanism to look for prefixes which match the " @@ -692,11 +706,11 @@ msgid "" "prefix is not recognised, then the string value will be left as-is." msgstr "" -#: library/logging.config.rst:558 +#: library/logging.config.rst:577 msgid "Access to internal objects" msgstr "" -#: library/logging.config.rst:560 +#: library/logging.config.rst:579 msgid "" "As well as external objects, there is sometimes also a need to refer to " "objects in the configuration. This will be done implicitly by the " @@ -707,7 +721,7 @@ msgid "" "and resolve to the appropriate destination object." msgstr "" -#: library/logging.config.rst:568 +#: library/logging.config.rst:587 msgid "" "However, a more generic mechanism is needed for user-defined objects which " "are not known to the :mod:`logging` module. For example, consider :class:" @@ -721,7 +735,7 @@ msgid "" "resolution system allows the user to specify:" msgstr "" -#: library/logging.config.rst:590 +#: library/logging.config.rst:609 msgid "" "The literal string ``'cfg://handlers.file'`` will be resolved in an " "analogous way to strings with the ``ext://`` prefix, but looking in the " @@ -730,7 +744,7 @@ msgid "" "format``. Thus, given the following snippet:" msgstr "" -#: library/logging.config.rst:608 +#: library/logging.config.rst:627 msgid "" "in the configuration, the string ``'cfg://handlers'`` would resolve to the " "dict with key ``handlers``, the string ``'cfg://handlers.email`` would " @@ -746,7 +760,7 @@ msgid "" "to the string value if needed." msgstr "" -#: library/logging.config.rst:622 +#: library/logging.config.rst:641 msgid "" "Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to " "``config_dict['handlers']['myhandler']['mykey']['123']``. If the string is " @@ -756,11 +770,11 @@ msgid "" "['mykey']['123']`` if that fails." msgstr "" -#: library/logging.config.rst:634 +#: library/logging.config.rst:653 msgid "Import resolution and custom importers" msgstr "" -#: library/logging.config.rst:636 +#: library/logging.config.rst:655 msgid "" "Import resolution, by default, uses the builtin :func:`__import__` function " "to do its importing. You may want to replace this with your own importing " @@ -772,17 +786,17 @@ msgid "" "instance level, you need to wrap it with :func:`staticmethod`. For example::" msgstr "" -#: library/logging.config.rst:651 +#: library/logging.config.rst:670 msgid "" "You don't need to wrap with :func:`staticmethod` if you're setting the " "import callable on a configurator *instance*." msgstr "" -#: library/logging.config.rst:658 +#: library/logging.config.rst:677 msgid "Configuration file format" msgstr "" -#: library/logging.config.rst:660 +#: library/logging.config.rst:679 msgid "" "The configuration file format understood by :func:`fileConfig` is based on :" "mod:`configparser` functionality. The file must contain sections called " @@ -799,7 +813,7 @@ msgid "" "specified in a section called ``[logger_root]``." msgstr "" -#: library/logging.config.rst:675 +#: library/logging.config.rst:694 msgid "" "The :func:`fileConfig` API is older than the :func:`dictConfig` API and does " "not provide functionality to cover certain aspects of logging. For example, " @@ -812,17 +826,17 @@ msgid "" "when it's convenient to do so." msgstr "" -#: library/logging.config.rst:685 +#: library/logging.config.rst:704 msgid "Examples of these sections in the file are given below." msgstr "" -#: library/logging.config.rst:698 +#: library/logging.config.rst:717 msgid "" "The root logger must specify a level and a list of handlers. An example of a " "root logger section is given below." msgstr "" -#: library/logging.config.rst:707 +#: library/logging.config.rst:726 msgid "" "The ``level`` entry can be one of ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` " "or ``NOTSET``. For the root logger only, ``NOTSET`` means that all messages " @@ -830,7 +844,7 @@ msgid "" "``logging`` package's namespace." msgstr "" -#: library/logging.config.rst:712 +#: library/logging.config.rst:731 msgid "" "The ``handlers`` entry is a comma-separated list of handler names, which " "must appear in the ``[handlers]`` section. These names must appear in the " @@ -838,13 +852,13 @@ msgid "" "file." msgstr "" -#: library/logging.config.rst:717 +#: library/logging.config.rst:736 msgid "" "For loggers other than the root logger, some additional information is " "required. This is illustrated by the following example." msgstr "" -#: library/logging.config.rst:728 +#: library/logging.config.rst:747 msgid "" "The ``level`` and ``handlers`` entries are interpreted as for the root " "logger, except that if a non-root logger's level is specified as ``NOTSET``, " @@ -857,20 +871,20 @@ msgid "" "application to get the logger." msgstr "" -#: library/logging.config.rst:737 +#: library/logging.config.rst:756 msgid "" "Sections which specify handler configuration are exemplified by the " "following." msgstr "" -#: library/logging.config.rst:747 +#: library/logging.config.rst:766 msgid "" "The ``class`` entry indicates the handler's class (as determined by :func:" "`eval` in the ``logging`` package's namespace). The ``level`` is interpreted " "as for loggers, and ``NOTSET`` is taken to mean 'log everything'." msgstr "" -#: library/logging.config.rst:751 +#: library/logging.config.rst:770 msgid "" "The ``formatter`` entry indicates the key name of the formatter for this " "handler. If blank, a default formatter (``logging._defaultFormatter``) is " @@ -878,7 +892,7 @@ msgid "" "and have a corresponding section in the configuration file." msgstr "" -#: library/logging.config.rst:756 +#: library/logging.config.rst:775 msgid "" "The ``args`` entry, when :func:`eval`\\ uated in the context of the " "``logging`` package's namespace, is the list of arguments to the constructor " @@ -887,26 +901,26 @@ msgid "" "provided, it defaults to ``()``." msgstr "" -#: library/logging.config.rst:762 +#: library/logging.config.rst:781 msgid "" "The optional ``kwargs`` entry, when :func:`eval`\\ uated in the context of " "the ``logging`` package's namespace, is the keyword argument dict to the " "constructor for the handler class. If not provided, it defaults to ``{}``." msgstr "" -#: library/logging.config.rst:819 +#: library/logging.config.rst:838 msgid "" "Sections which specify formatter configuration are typified by the following." msgstr "" -#: library/logging.config.rst:830 +#: library/logging.config.rst:849 msgid "" "The arguments for the formatter configuration are the same as the keys in " "the dictionary schema :ref:`formatters section `." msgstr "" -#: library/logging.config.rst:836 +#: library/logging.config.rst:855 msgid "" "Due to the use of :func:`eval` as described above, there are potential " "security risks which result from using the :func:`listen` to send and " @@ -915,18 +929,18 @@ msgid "" "`listen` documentation for more information." msgstr "" -#: library/logging.config.rst:845 +#: library/logging.config.rst:864 msgid "Module :mod:`logging`" msgstr "Module :mod:`logging`" -#: library/logging.config.rst:845 +#: library/logging.config.rst:864 msgid "API reference for the logging module." msgstr "Référence d'API pour le module de journalisation." -#: library/logging.config.rst:847 +#: library/logging.config.rst:866 msgid "Module :mod:`logging.handlers`" msgstr "Module :mod:`logging.handlers`" -#: library/logging.config.rst:848 +#: library/logging.config.rst:867 msgid "Useful handlers included with the logging module." msgstr "Gestionnaires utiles inclus avec le module de journalisation." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index 5329c2eeaa..0e0a5ac955 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-12-14 10:12+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -688,8 +688,9 @@ msgstr "" #: library/logging.handlers.rst:398 msgid "" "The system will save old log files by appending extensions to the filename. " -"The extensions are date-and-time based, using the strftime format ``%Y-%m-%d_" -"%H-%M-%S`` or a leading portion thereof, depending on the rollover interval." +"The extensions are date-and-time based, using the strftime format ``%Y-%m-" +"%d_%H-%M-%S`` or a leading portion thereof, depending on the rollover " +"interval." msgstr "" "Le système sauvegarde les anciens fichiers de journalisation en ajoutant une " "extension au nom du fichier. Les extensions sont basées sur la date et " @@ -939,11 +940,21 @@ msgstr "" #: library/logging.handlers.rst:575 msgid "" +"As UDP is not a streaming protocol, there is no persistent connection " +"between an instance of this handler and *host*. For this reason, when using " +"a network socket, a DNS lookup might have to be made each time an event is " +"logged, which can introduce some latency into the system. If this affects " +"you, you can do a lookup yourself and initialize this handler using the " +"looked-up IP address rather than the hostname." +msgstr "" + +#: library/logging.handlers.rst:582 +msgid "" "If ``port`` is specified as ``None``, a Unix domain socket is created using " "the value in ``host`` - otherwise, a UDP socket is created." msgstr "" -#: library/logging.handlers.rst:581 +#: library/logging.handlers.rst:588 msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " "binary format. If there is an error with the socket, silently drops the " @@ -951,29 +962,29 @@ msgid "" "LogRecord`, use the :func:`~logging.makeLogRecord` function." msgstr "" -#: library/logging.handlers.rst:590 +#: library/logging.handlers.rst:597 msgid "" "The factory method of :class:`SocketHandler` is here overridden to create a " "UDP socket (:const:`socket.SOCK_DGRAM`)." msgstr "" -#: library/logging.handlers.rst:596 +#: library/logging.handlers.rst:603 msgid "" "Send a pickled byte-string to a socket. The format of the sent byte-string " "is as described in the documentation for :meth:`SocketHandler.makePickle`." msgstr "" -#: library/logging.handlers.rst:603 +#: library/logging.handlers.rst:610 msgid "SysLogHandler" msgstr "" -#: library/logging.handlers.rst:605 +#: library/logging.handlers.rst:612 msgid "" "The :class:`SysLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a remote or local Unix syslog." msgstr "" -#: library/logging.handlers.rst:611 +#: library/logging.handlers.rst:618 msgid "" "Returns a new instance of the :class:`SysLogHandler` class intended to " "communicate with a remote Unix machine whose address is given by *address* " @@ -988,7 +999,7 @@ msgid "" "rsyslog), specify a value of :const:`socket.SOCK_STREAM`." msgstr "" -#: library/logging.handlers.rst:623 +#: library/logging.handlers.rst:630 msgid "" "Note that if your server is not listening on UDP port 514, :class:" "`SysLogHandler` may appear not to work. In that case, check what address you " @@ -999,21 +1010,32 @@ msgid "" "platforms). On Windows, you pretty much have to use the UDP option." msgstr "" -#: library/logging.handlers.rst:632 +#: library/logging.handlers.rst:639 +msgid "" +"On macOS 12.x (Monterey), Apple has changed the behaviour of their syslog " +"daemon - it no longer listens on a domain socket. Therefore, you cannot " +"expect :class:`SysLogHandler` to work on this system." +msgstr "" + +#: library/logging.handlers.rst:643 +msgid "See :gh:`91070` for more information." +msgstr "" + +#: library/logging.handlers.rst:645 msgid "*socktype* was added." msgstr "" -#: library/logging.handlers.rst:638 +#: library/logging.handlers.rst:651 msgid "Closes the socket to the remote host." msgstr "" -#: library/logging.handlers.rst:643 +#: library/logging.handlers.rst:656 msgid "" "The record is formatted, and then sent to the syslog server. If exception " "information is present, it is *not* sent to the server." msgstr "" -#: library/logging.handlers.rst:646 +#: library/logging.handlers.rst:659 msgid "" "(See: :issue:`12168`.) In earlier versions, the message sent to the syslog " "daemons was always terminated with a NUL byte, because early versions of " @@ -1024,7 +1046,7 @@ msgid "" "byte on as part of the message." msgstr "" -#: library/logging.handlers.rst:655 +#: library/logging.handlers.rst:668 msgid "" "To enable easier handling of syslog messages in the face of all these " "differing daemon behaviours, the appending of the NUL byte has been made " @@ -1034,7 +1056,7 @@ msgid "" "*not* append the NUL terminator." msgstr "" -#: library/logging.handlers.rst:662 +#: library/logging.handlers.rst:675 msgid "" "(See: :issue:`12419`.) In earlier versions, there was no facility for an " "\"ident\" or \"tag\" prefix to identify the source of the message. This can " @@ -1045,260 +1067,260 @@ msgid "" "bytes, and is prepended to the message exactly as is." msgstr "" -#: library/logging.handlers.rst:673 +#: library/logging.handlers.rst:686 msgid "" "Encodes the facility and priority into an integer. You can pass in strings " "or integers - if strings are passed, internal mapping dictionaries are used " "to convert them to integers." msgstr "" -#: library/logging.handlers.rst:677 +#: library/logging.handlers.rst:690 msgid "" "The symbolic ``LOG_`` values are defined in :class:`SysLogHandler` and " "mirror the values defined in the ``sys/syslog.h`` header file." msgstr "" -#: library/logging.handlers.rst:680 +#: library/logging.handlers.rst:693 msgid "**Priorities**" msgstr "" -#: library/logging.handlers.rst:683 library/logging.handlers.rst:705 +#: library/logging.handlers.rst:696 library/logging.handlers.rst:718 msgid "Name (string)" msgstr "" -#: library/logging.handlers.rst:683 library/logging.handlers.rst:705 +#: library/logging.handlers.rst:696 library/logging.handlers.rst:718 msgid "Symbolic value" msgstr "" -#: library/logging.handlers.rst:685 +#: library/logging.handlers.rst:698 msgid "``alert``" msgstr "``alert``" -#: library/logging.handlers.rst:685 +#: library/logging.handlers.rst:698 msgid "LOG_ALERT" msgstr "LOG_ALERT" -#: library/logging.handlers.rst:687 +#: library/logging.handlers.rst:700 msgid "``crit`` or ``critical``" msgstr "``crit`` ou ``critical``" -#: library/logging.handlers.rst:687 +#: library/logging.handlers.rst:700 msgid "LOG_CRIT" msgstr "LOG_CRIT" -#: library/logging.handlers.rst:689 +#: library/logging.handlers.rst:702 msgid "``debug``" msgstr "``debug``" -#: library/logging.handlers.rst:689 +#: library/logging.handlers.rst:702 msgid "LOG_DEBUG" msgstr "LOG_DEBUG" -#: library/logging.handlers.rst:691 +#: library/logging.handlers.rst:704 msgid "``emerg`` or ``panic``" msgstr "``emerg`` ou ``panic``" -#: library/logging.handlers.rst:691 +#: library/logging.handlers.rst:704 msgid "LOG_EMERG" msgstr "LOG_EMERG" -#: library/logging.handlers.rst:693 +#: library/logging.handlers.rst:706 msgid "``err`` or ``error``" msgstr "``err`` ou ``error``" -#: library/logging.handlers.rst:693 +#: library/logging.handlers.rst:706 msgid "LOG_ERR" msgstr "LOG_ERR" -#: library/logging.handlers.rst:695 +#: library/logging.handlers.rst:708 msgid "``info``" msgstr "``info``" -#: library/logging.handlers.rst:695 +#: library/logging.handlers.rst:708 msgid "LOG_INFO" msgstr "LOG_INFO" -#: library/logging.handlers.rst:697 +#: library/logging.handlers.rst:710 msgid "``notice``" msgstr "``notice``" -#: library/logging.handlers.rst:697 +#: library/logging.handlers.rst:710 msgid "LOG_NOTICE" msgstr "LOG_NOTICE" -#: library/logging.handlers.rst:699 +#: library/logging.handlers.rst:712 msgid "``warn`` or ``warning``" msgstr "``warn`` ou ``warning``" -#: library/logging.handlers.rst:699 +#: library/logging.handlers.rst:712 msgid "LOG_WARNING" msgstr "LOG_WARNING" -#: library/logging.handlers.rst:702 +#: library/logging.handlers.rst:715 msgid "**Facilities**" msgstr "" -#: library/logging.handlers.rst:707 +#: library/logging.handlers.rst:720 msgid "``auth``" msgstr "``auth``" -#: library/logging.handlers.rst:707 +#: library/logging.handlers.rst:720 msgid "LOG_AUTH" msgstr "LOG_AUTH" -#: library/logging.handlers.rst:709 +#: library/logging.handlers.rst:722 msgid "``authpriv``" msgstr "``authpriv``" -#: library/logging.handlers.rst:709 +#: library/logging.handlers.rst:722 msgid "LOG_AUTHPRIV" msgstr "LOG_AUTHPRIV" -#: library/logging.handlers.rst:711 +#: library/logging.handlers.rst:724 msgid "``cron``" msgstr "``cron``" -#: library/logging.handlers.rst:711 +#: library/logging.handlers.rst:724 msgid "LOG_CRON" msgstr "LOG_CRON" -#: library/logging.handlers.rst:713 +#: library/logging.handlers.rst:726 msgid "``daemon``" msgstr "``daemon``" -#: library/logging.handlers.rst:713 +#: library/logging.handlers.rst:726 msgid "LOG_DAEMON" msgstr "LOG_DAEMON" -#: library/logging.handlers.rst:715 +#: library/logging.handlers.rst:728 msgid "``ftp``" msgstr "``ftp``" -#: library/logging.handlers.rst:715 +#: library/logging.handlers.rst:728 msgid "LOG_FTP" msgstr "LOG_FTP" -#: library/logging.handlers.rst:717 +#: library/logging.handlers.rst:730 msgid "``kern``" msgstr "``kern``" -#: library/logging.handlers.rst:717 +#: library/logging.handlers.rst:730 msgid "LOG_KERN" msgstr "LOG_KERN" -#: library/logging.handlers.rst:719 +#: library/logging.handlers.rst:732 msgid "``lpr``" msgstr "``lpr``" -#: library/logging.handlers.rst:719 +#: library/logging.handlers.rst:732 msgid "LOG_LPR" msgstr "LOG_LPR" -#: library/logging.handlers.rst:721 +#: library/logging.handlers.rst:734 msgid "``mail``" msgstr "``mail``" -#: library/logging.handlers.rst:721 +#: library/logging.handlers.rst:734 msgid "LOG_MAIL" msgstr "LOG_MAIL" -#: library/logging.handlers.rst:723 +#: library/logging.handlers.rst:736 msgid "``news``" msgstr "``news``" -#: library/logging.handlers.rst:723 +#: library/logging.handlers.rst:736 msgid "LOG_NEWS" msgstr "LOG_NEWS" -#: library/logging.handlers.rst:725 +#: library/logging.handlers.rst:738 msgid "``syslog``" msgstr "``syslog``" -#: library/logging.handlers.rst:725 +#: library/logging.handlers.rst:738 msgid "LOG_SYSLOG" msgstr "LOG_SYSLOG" -#: library/logging.handlers.rst:727 +#: library/logging.handlers.rst:740 msgid "``user``" msgstr "``user``" -#: library/logging.handlers.rst:727 +#: library/logging.handlers.rst:740 msgid "LOG_USER" msgstr "LOG_USER" -#: library/logging.handlers.rst:729 +#: library/logging.handlers.rst:742 msgid "``uucp``" msgstr "``uucp``" -#: library/logging.handlers.rst:729 +#: library/logging.handlers.rst:742 msgid "LOG_UUCP" msgstr "LOG_UUCP" -#: library/logging.handlers.rst:731 +#: library/logging.handlers.rst:744 msgid "``local0``" msgstr "``local0``" -#: library/logging.handlers.rst:731 +#: library/logging.handlers.rst:744 msgid "LOG_LOCAL0" msgstr "LOG_LOCAL0" -#: library/logging.handlers.rst:733 +#: library/logging.handlers.rst:746 msgid "``local1``" msgstr "``local1``" -#: library/logging.handlers.rst:733 +#: library/logging.handlers.rst:746 msgid "LOG_LOCAL1" msgstr "LOG_LOCAL1" -#: library/logging.handlers.rst:735 +#: library/logging.handlers.rst:748 msgid "``local2``" msgstr "``local2``" -#: library/logging.handlers.rst:735 +#: library/logging.handlers.rst:748 msgid "LOG_LOCAL2" msgstr "LOG_LOCAL2" -#: library/logging.handlers.rst:737 +#: library/logging.handlers.rst:750 msgid "``local3``" msgstr "``local3``" -#: library/logging.handlers.rst:737 +#: library/logging.handlers.rst:750 msgid "LOG_LOCAL3" msgstr "LOG_LOCAL3" -#: library/logging.handlers.rst:739 +#: library/logging.handlers.rst:752 msgid "``local4``" msgstr "``local4``" -#: library/logging.handlers.rst:739 +#: library/logging.handlers.rst:752 msgid "LOG_LOCAL4" msgstr "LOG_LOCAL4" -#: library/logging.handlers.rst:741 +#: library/logging.handlers.rst:754 msgid "``local5``" msgstr "``local5``" -#: library/logging.handlers.rst:741 +#: library/logging.handlers.rst:754 msgid "LOG_LOCAL5" msgstr "LOG_LOCAL5" -#: library/logging.handlers.rst:743 +#: library/logging.handlers.rst:756 msgid "``local6``" msgstr "``local6``" -#: library/logging.handlers.rst:743 +#: library/logging.handlers.rst:756 msgid "LOG_LOCAL6" msgstr "LOG_LOCAL6" -#: library/logging.handlers.rst:745 +#: library/logging.handlers.rst:758 msgid "``local7``" msgstr "``local7``" -#: library/logging.handlers.rst:745 +#: library/logging.handlers.rst:758 msgid "LOG_LOCAL7" msgstr "LOG_LOCAL7" -#: library/logging.handlers.rst:750 +#: library/logging.handlers.rst:763 msgid "" "Maps a logging level name to a syslog priority name. You may need to " "override this if you are using custom levels, or if the default algorithm is " @@ -1307,11 +1329,11 @@ msgid "" "all other level names to 'warning'." msgstr "" -#: library/logging.handlers.rst:760 +#: library/logging.handlers.rst:773 msgid "NTEventLogHandler" msgstr "" -#: library/logging.handlers.rst:762 +#: library/logging.handlers.rst:775 msgid "" "The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a local Windows NT, Windows " @@ -1319,7 +1341,7 @@ msgid "" "Win32 extensions for Python installed." msgstr "" -#: library/logging.handlers.rst:770 +#: library/logging.handlers.rst:783 msgid "" "Returns a new instance of the :class:`NTEventLogHandler` class. The " "*appname* is used to define the application name as it appears in the event " @@ -1335,7 +1357,7 @@ msgid "" "or ``'Security'``, and defaults to ``'Application'``." msgstr "" -#: library/logging.handlers.rst:786 +#: library/logging.handlers.rst:799 msgid "" "At this point, you can remove the application name from the registry as a " "source of event log entries. However, if you do this, you will not be able " @@ -1344,19 +1366,19 @@ msgid "" "not do this." msgstr "" -#: library/logging.handlers.rst:795 +#: library/logging.handlers.rst:808 msgid "" "Determines the message ID, event category and event type, and then logs the " "message in the NT event log." msgstr "" -#: library/logging.handlers.rst:801 +#: library/logging.handlers.rst:814 msgid "" "Returns the event category for the record. Override this if you want to " "specify your own categories. This version returns 0." msgstr "" -#: library/logging.handlers.rst:807 +#: library/logging.handlers.rst:820 msgid "" "Returns the event type for the record. Override this if you want to specify " "your own types. This version does a mapping using the handler's typemap " @@ -1367,7 +1389,7 @@ msgid "" "the handler's *typemap* attribute." msgstr "" -#: library/logging.handlers.rst:818 +#: library/logging.handlers.rst:831 msgid "" "Returns the message ID for the record. If you are using your own messages, " "you could do this by having the *msg* passed to the logger being an ID " @@ -1376,17 +1398,17 @@ msgid "" "message ID in :file:`win32service.pyd`." msgstr "" -#: library/logging.handlers.rst:827 +#: library/logging.handlers.rst:840 msgid "SMTPHandler" msgstr "" -#: library/logging.handlers.rst:829 +#: library/logging.handlers.rst:842 msgid "" "The :class:`SMTPHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to an email address via SMTP." msgstr "" -#: library/logging.handlers.rst:835 +#: library/logging.handlers.rst:848 msgid "" "Returns a new instance of the :class:`SMTPHandler` class. The instance is " "initialized with the from and to addresses and subject line of the email. " @@ -1397,7 +1419,7 @@ msgid "" "*credentials* argument." msgstr "" -#: library/logging.handlers.rst:842 +#: library/logging.handlers.rst:855 msgid "" "To specify the use of a secure protocol (TLS), pass in a tuple to the " "*secure* argument. This will only be used when authentication credentials " @@ -1407,31 +1429,31 @@ msgid "" "SMTP.starttls` method.)" msgstr "" -#: library/logging.handlers.rst:849 +#: library/logging.handlers.rst:862 msgid "" "A timeout can be specified for communication with the SMTP server using the " "*timeout* argument." msgstr "" -#: library/logging.handlers.rst:852 +#: library/logging.handlers.rst:865 msgid "The *timeout* argument was added." msgstr "" -#: library/logging.handlers.rst:857 +#: library/logging.handlers.rst:870 msgid "Formats the record and sends it to the specified addressees." msgstr "" -#: library/logging.handlers.rst:862 +#: library/logging.handlers.rst:875 msgid "" "If you want to specify a subject line which is record-dependent, override " "this method." msgstr "" -#: library/logging.handlers.rst:868 +#: library/logging.handlers.rst:881 msgid "MemoryHandler" msgstr "" -#: library/logging.handlers.rst:870 +#: library/logging.handlers.rst:883 msgid "" "The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " "module, supports buffering of logging records in memory, periodically " @@ -1439,7 +1461,7 @@ msgid "" "buffer is full, or when an event of a certain severity or greater is seen." msgstr "" -#: library/logging.handlers.rst:875 +#: library/logging.handlers.rst:888 msgid "" ":class:`MemoryHandler` is a subclass of the more general :class:" "`BufferingHandler`, which is an abstract class. This buffers logging records " @@ -1448,31 +1470,31 @@ msgid "" "should, then :meth:`flush` is expected to do the flushing." msgstr "" -#: library/logging.handlers.rst:884 +#: library/logging.handlers.rst:897 msgid "" "Initializes the handler with a buffer of the specified capacity. Here, " "*capacity* means the number of logging records buffered." msgstr "" -#: library/logging.handlers.rst:890 +#: library/logging.handlers.rst:903 msgid "" "Append the record to the buffer. If :meth:`shouldFlush` returns true, call :" "meth:`flush` to process the buffer." msgstr "" -#: library/logging.handlers.rst:896 +#: library/logging.handlers.rst:909 msgid "" "You can override this to implement custom flushing behavior. This version " "just zaps the buffer to empty." msgstr "" -#: library/logging.handlers.rst:902 +#: library/logging.handlers.rst:915 msgid "" "Return ``True`` if the buffer is up to capacity. This method can be " "overridden to implement custom flushing strategies." msgstr "" -#: library/logging.handlers.rst:908 +#: library/logging.handlers.rst:921 msgid "" "Returns a new instance of the :class:`MemoryHandler` class. The instance is " "initialized with a buffer size of *capacity* (number of records buffered). " @@ -1484,34 +1506,34 @@ msgid "" "the buffer will occur when the handler is closed." msgstr "" -#: library/logging.handlers.rst:917 +#: library/logging.handlers.rst:930 msgid "The *flushOnClose* parameter was added." msgstr "" -#: library/logging.handlers.rst:923 +#: library/logging.handlers.rst:936 msgid "Calls :meth:`flush`, sets the target to ``None`` and clears the buffer." msgstr "" -#: library/logging.handlers.rst:929 +#: library/logging.handlers.rst:942 msgid "" "For a :class:`MemoryHandler`, flushing means just sending the buffered " "records to the target, if there is one. The buffer is also cleared when this " "happens. Override if you want different behavior." msgstr "" -#: library/logging.handlers.rst:936 +#: library/logging.handlers.rst:949 msgid "Sets the target handler for this handler." msgstr "" -#: library/logging.handlers.rst:941 +#: library/logging.handlers.rst:954 msgid "Checks for buffer full or a record at the *flushLevel* or higher." msgstr "" -#: library/logging.handlers.rst:947 +#: library/logging.handlers.rst:960 msgid "HTTPHandler" msgstr "" -#: library/logging.handlers.rst:949 +#: library/logging.handlers.rst:962 #, fuzzy msgid "" "The :class:`HTTPHandler` class, located in the :mod:`logging.handlers` " @@ -1522,7 +1544,7 @@ msgstr "" "`logging.handlers`, gère le roulement des fichiers de journalisation sur le " "disque à un intervalle de temps spécifié." -#: library/logging.handlers.rst:956 +#: library/logging.handlers.rst:969 msgid "" "Returns a new instance of the :class:`HTTPHandler` class. The *host* can be " "of the form ``host:port``, should you need to use a specific port number. " @@ -1536,12 +1558,12 @@ msgid "" "cleartext across the wire." msgstr "" -#: library/logging.handlers.rst:967 +#: library/logging.handlers.rst:980 #, fuzzy msgid "The *context* parameter was added." msgstr "Ajout du paramètre *exit*." -#: library/logging.handlers.rst:972 +#: library/logging.handlers.rst:985 msgid "" "Provides a dictionary, based on ``record``, which is to be URL-encoded and " "sent to the web server. The default implementation just returns ``record." @@ -1550,14 +1572,14 @@ msgid "" "customization of what's sent to the server is required." msgstr "" -#: library/logging.handlers.rst:980 +#: library/logging.handlers.rst:993 msgid "" "Sends the record to the web server as a URL-encoded dictionary. The :meth:" "`mapLogRecord` method is used to convert the record to the dictionary to be " "sent." msgstr "" -#: library/logging.handlers.rst:984 +#: library/logging.handlers.rst:997 msgid "" "Since preparing a record for sending it to a web server is not the same as a " "generic formatting operation, using :meth:`~logging.Handler.setFormatter` to " @@ -1567,18 +1589,18 @@ msgid "" "the dictionary in a form suitable for sending to a web server." msgstr "" -#: library/logging.handlers.rst:997 +#: library/logging.handlers.rst:1010 msgid "QueueHandler" msgstr "" -#: library/logging.handlers.rst:1001 +#: library/logging.handlers.rst:1014 msgid "" "The :class:`QueueHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a queue, such as those " "implemented in the :mod:`queue` or :mod:`multiprocessing` modules." msgstr "" -#: library/logging.handlers.rst:1005 +#: library/logging.handlers.rst:1018 msgid "" "Along with the :class:`QueueListener` class, :class:`QueueHandler` can be " "used to let handlers do their work on a separate thread from the one which " @@ -1588,7 +1610,7 @@ msgid "" "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" -#: library/logging.handlers.rst:1014 +#: library/logging.handlers.rst:1027 msgid "" "Returns a new instance of the :class:`QueueHandler` class. The instance is " "initialized with the queue to send messages to. The *queue* can be any queue-" @@ -1598,7 +1620,13 @@ msgid "" "instances for *queue*." msgstr "" -#: library/logging.handlers.rst:1024 +#: library/logging.handlers.rst:1034 library/logging.handlers.rst:1123 +msgid "" +"If you are using :mod:`multiprocessing`, you should avoid using :class:" +"`~queue.SimpleQueue` and instead use :class:`multiprocessing.Queue`." +msgstr "" + +#: library/logging.handlers.rst:1039 msgid "" "Enqueues the result of preparing the LogRecord. Should an exception occur (e." "g. because a bounded queue has filled up), the :meth:`~logging.Handler." @@ -1608,38 +1636,64 @@ msgid "" "raiseExceptions` is ``True``)." msgstr "" -#: library/logging.handlers.rst:1033 +#: library/logging.handlers.rst:1048 msgid "" "Prepares a record for queuing. The object returned by this method is " "enqueued." msgstr "" -#: library/logging.handlers.rst:1036 +#: library/logging.handlers.rst:1051 msgid "" "The base implementation formats the record to merge the message, arguments, " -"and exception information, if present. It also removes unpickleable items " -"from the record in-place." +"exception and stack information, if present. It also removes unpickleable " +"items from the record in-place. Specifically, it overwrites the record's :" +"attr:`msg` and :attr:`message` attributes with the merged message (obtained " +"by calling the handler's :meth:`format` method), and sets the :attr:`args`, :" +"attr:`exc_info` and :attr:`exc_text` attributes to ``None``." msgstr "" -#: library/logging.handlers.rst:1040 +#: library/logging.handlers.rst:1059 msgid "" "You might want to override this method if you want to convert the record to " "a dict or JSON string, or send a modified copy of the record while leaving " "the original intact." msgstr "" -#: library/logging.handlers.rst:1046 +#: library/logging.handlers.rst:1063 +msgid "" +"The base implementation formats the message with arguments, sets the " +"``message`` and ``msg`` attributes to the formatted message and sets the " +"``args`` and ``exc_text`` attributes to ``None`` to allow pickling and to " +"prevent further attempts at formatting. This means that a handler on the :" +"class:`QueueListener` side won't have the information to do custom " +"formatting, e.g. of exceptions. You may wish to subclass ``QueueHandler`` " +"and override this method to e.g. avoid setting ``exc_text`` to ``None``. " +"Note that the ``message`` / ``msg`` / ``args`` changes are related to " +"ensuring the record is pickleable, and you might or might not be able to " +"avoid doing that depending on whether your ``args`` are pickleable. (Note " +"that you may have to consider not only your own code but also code in any " +"libraries that you use.)" +msgstr "" + +#: library/logging.handlers.rst:1079 msgid "" "Enqueues the record on the queue using ``put_nowait()``; you may want to " "override this if you want to use blocking behaviour, or a timeout, or a " "customized queue implementation." msgstr "" -#: library/logging.handlers.rst:1055 +#: library/logging.handlers.rst:1085 +msgid "" +"When created via configuration using :func:`~logging.config.dictConfig`, " +"this attribute will contain a :class:`QueueListener` instance for use with " +"this handler. Otherwise, it will be ``None``." +msgstr "" + +#: library/logging.handlers.rst:1094 msgid "QueueListener" msgstr "" -#: library/logging.handlers.rst:1059 +#: library/logging.handlers.rst:1098 msgid "" "The :class:`QueueListener` class, located in the :mod:`logging.handlers` " "module, supports receiving logging messages from a queue, such as those " @@ -1650,7 +1704,7 @@ msgid "" "works hand-in-hand with :class:`QueueHandler`." msgstr "" -#: library/logging.handlers.rst:1067 +#: library/logging.handlers.rst:1106 msgid "" "Along with the :class:`QueueHandler` class, :class:`QueueListener` can be " "used to let handlers do their work on a separate thread from the one which " @@ -1660,7 +1714,7 @@ msgid "" "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" -#: library/logging.handlers.rst:1076 +#: library/logging.handlers.rst:1115 msgid "" "Returns a new instance of the :class:`QueueListener` class. The instance is " "initialized with the queue to send messages to and a list of handlers which " @@ -1671,7 +1725,7 @@ msgid "" "class:`~queue.SimpleQueue` instances for *queue*." msgstr "" -#: library/logging.handlers.rst:1084 +#: library/logging.handlers.rst:1126 msgid "" "If ``respect_handler_level`` is ``True``, a handler's level is respected " "(compared with the level for the message) when deciding whether to pass " @@ -1679,82 +1733,82 @@ msgid "" "versions - to always pass each message to each handler." msgstr "" -#: library/logging.handlers.rst:1089 +#: library/logging.handlers.rst:1131 msgid "The ``respect_handler_level`` argument was added." msgstr "" -#: library/logging.handlers.rst:1094 +#: library/logging.handlers.rst:1136 msgid "Dequeues a record and return it, optionally blocking." msgstr "" -#: library/logging.handlers.rst:1096 +#: library/logging.handlers.rst:1138 msgid "" "The base implementation uses ``get()``. You may want to override this method " "if you want to use timeouts or work with custom queue implementations." msgstr "" -#: library/logging.handlers.rst:1102 +#: library/logging.handlers.rst:1144 msgid "Prepare a record for handling." msgstr "" -#: library/logging.handlers.rst:1104 +#: library/logging.handlers.rst:1146 msgid "" "This implementation just returns the passed-in record. You may want to " "override this method if you need to do any custom marshalling or " "manipulation of the record before passing it to the handlers." msgstr "" -#: library/logging.handlers.rst:1110 +#: library/logging.handlers.rst:1152 msgid "Handle a record." msgstr "" -#: library/logging.handlers.rst:1112 +#: library/logging.handlers.rst:1154 msgid "" "This just loops through the handlers offering them the record to handle. The " "actual object passed to the handlers is that which is returned from :meth:" "`prepare`." msgstr "" -#: library/logging.handlers.rst:1118 +#: library/logging.handlers.rst:1160 msgid "Starts the listener." msgstr "" -#: library/logging.handlers.rst:1120 +#: library/logging.handlers.rst:1162 msgid "" "This starts up a background thread to monitor the queue for LogRecords to " "process." msgstr "" -#: library/logging.handlers.rst:1125 +#: library/logging.handlers.rst:1167 msgid "Stops the listener." msgstr "" -#: library/logging.handlers.rst:1127 +#: library/logging.handlers.rst:1169 msgid "" "This asks the thread to terminate, and then waits for it to do so. Note that " "if you don't call this before your application exits, there may be some " "records still left on the queue, which won't be processed." msgstr "" -#: library/logging.handlers.rst:1133 +#: library/logging.handlers.rst:1175 msgid "" "Writes a sentinel to the queue to tell the listener to quit. This " "implementation uses ``put_nowait()``. You may want to override this method " "if you want to use timeouts or work with custom queue implementations." msgstr "" -#: library/logging.handlers.rst:1144 +#: library/logging.handlers.rst:1186 msgid "Module :mod:`logging`" msgstr "Module :mod:`logging`" -#: library/logging.handlers.rst:1144 +#: library/logging.handlers.rst:1186 msgid "API reference for the logging module." msgstr "Référence d'API pour le module de journalisation." -#: library/logging.handlers.rst:1146 +#: library/logging.handlers.rst:1188 msgid "Module :mod:`logging.config`" msgstr "Module :mod:`logging.config`" -#: library/logging.handlers.rst:1147 +#: library/logging.handlers.rst:1189 msgid "Configuration API for the logging module." msgstr "API de configuration pour le module de journalisation." diff --git a/library/logging.po b/library/logging.po index 2456800e3b..9e274e11d5 100644 --- a/library/logging.po +++ b/library/logging.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:29+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -65,16 +65,21 @@ msgstr "" "votre application peut inclure vos propres messages et ceux de modules tiers." #: library/logging.rst:33 +msgid "The simplest example:" +msgstr "" + +#: library/logging.rst:41 +#, fuzzy msgid "" "The module provides a lot of functionality and flexibility. If you are " -"unfamiliar with logging, the best way to get to grips with it is to see the " -"tutorials (see the links on the right)." +"unfamiliar with logging, the best way to get to grips with it is to view the " +"tutorials (**see the links above and on the right**)." msgstr "" "Le module offre beaucoup de fonctionnalités et de flexibilité. Si vous " "n’êtes pas familier de la journalisation, la meilleure façon de " "l'appréhender est de consulter les tutoriels (voir les liens à droite)." -#: library/logging.rst:37 +#: library/logging.rst:45 msgid "" "The basic classes defined by the module, together with their functions, are " "listed below." @@ -82,13 +87,13 @@ msgstr "" "Les classes élémentaires définies par le module, ainsi que leurs fonctions, " "sont énumérées ci-dessous." -#: library/logging.rst:40 +#: library/logging.rst:48 msgid "Loggers expose the interface that application code directly uses." msgstr "" "les enregistreurs (*loggers* en anglais) exposent l'interface que le code de " "l'application utilise directement ;" -#: library/logging.rst:41 +#: library/logging.rst:49 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -96,7 +101,7 @@ msgstr "" "les gestionnaires (*handlers*) envoient les entrées de journal (créées par " "les *loggers*) vers les destinations voulues ;" -#: library/logging.rst:43 +#: library/logging.rst:51 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -104,17 +109,17 @@ msgstr "" "les filtres (*filters*) fournissent un moyen de choisir plus finement " "quelles entrées de journal doivent être sorties ;" -#: library/logging.rst:45 +#: library/logging.rst:53 msgid "Formatters specify the layout of log records in the final output." msgstr "" "les formateurs (*formatters*) définissent la structure de l'entrée de " "journal dans la sortie finale." -#: library/logging.rst:51 +#: library/logging.rst:59 msgid "Logger Objects" msgstr "Enregistreurs" -#: library/logging.rst:53 +#: library/logging.rst:61 msgid "" "Loggers have the following attributes and methods. Note that Loggers should " "*NEVER* be instantiated directly, but always through the module-level " @@ -127,7 +132,7 @@ msgstr "" "à :func:`getLogger` avec le même nom renvoient toujours une référence au " "même objet enregistreur." -#: library/logging.rst:58 +#: library/logging.rst:66 msgid "" "The ``name`` is potentially a period-separated hierarchical value, like " "``foo.bar.baz`` (though it could also be just plain ``foo``, for example). " @@ -153,7 +158,7 @@ msgstr "" "ainsi parce que dans un module, ``__name__`` est le nom du module dans " "l’espace de noms des paquets Python." -#: library/logging.rst:74 +#: library/logging.rst:82 msgid "" "If this attribute evaluates to true, events logged to this logger will be " "passed to the handlers of higher level (ancestor) loggers, in addition to " @@ -168,7 +173,7 @@ msgstr "" "parents — ni le niveau ni les filtres des enregistreurs parentaux en " "question ne sont pris en compte." -#: library/logging.rst:80 +#: library/logging.rst:88 msgid "" "If this evaluates to false, logging messages are not passed to the handlers " "of ancestor loggers." @@ -176,7 +181,7 @@ msgstr "" "S’il s’évalue comme faux, les messages de journalisation ne sont pas " "transmis aux gestionnaires des enregistreurs parents." -#: library/logging.rst:83 +#: library/logging.rst:91 msgid "" "Spelling it out with an example: If the propagate attribute of the logger " "named ``A.B.C`` evaluates to true, any event logged to ``A.B.C`` via a " @@ -189,11 +194,11 @@ msgid "" "handle, and propagation stops at that point." msgstr "" -#: library/logging.rst:92 +#: library/logging.rst:100 msgid "The constructor sets this attribute to ``True``." msgstr "Le constructeur fixe cet attribut à ``True``." -#: library/logging.rst:94 +#: library/logging.rst:102 msgid "" "If you attach a handler to a logger *and* one or more of its ancestors, it " "may emit the same record multiple times. In general, you should not need to " @@ -214,7 +219,7 @@ msgstr "" "pratique la plus courante est de n'attacher les gestionnaires qu'à " "l'enregistreur racine et à laisser la propagation s'occuper du reste." -#: library/logging.rst:105 +#: library/logging.rst:113 msgid "" "Sets the threshold for this logger to *level*. Logging messages which are " "less severe than *level* will be ignored; logging messages which have " @@ -228,7 +233,7 @@ msgstr "" "les gestionnaires de l'enregistreur, à moins que le niveau d'un gestionnaire " "n'ait été fixé à un niveau de gravité plus élevé que *level*." -#: library/logging.rst:110 +#: library/logging.rst:118 msgid "" "When a logger is created, the level is set to :const:`NOTSET` (which causes " "all messages to be processed when the logger is the root logger, or " @@ -241,7 +246,7 @@ msgstr "" "un enregistreur non racine). Notez que l'enregistreur racine est créé avec " "le niveau :const:`WARNING`." -#: library/logging.rst:115 +#: library/logging.rst:123 msgid "" "The term 'delegation to the parent' means that if a logger has a level of " "NOTSET, its chain of ancestor loggers is traversed until either an ancestor " @@ -252,7 +257,7 @@ msgstr "" "jusqu'à ce qu'un parent ayant un niveau autre que ``NOTSET`` soit trouvé, ou " "que la racine soit atteinte." -#: library/logging.rst:119 +#: library/logging.rst:127 msgid "" "If an ancestor is found with a level other than NOTSET, then that ancestor's " "level is treated as the effective level of the logger where the ancestor " @@ -263,7 +268,7 @@ msgstr "" "recherche du parent a commencé. Ce niveau est utilisé pour déterminer " "comment un événement d'enregistrement est traité." -#: library/logging.rst:123 +#: library/logging.rst:131 msgid "" "If the root is reached, and it has a level of NOTSET, then all messages will " "be processed. Otherwise, the root's level will be used as the effective " @@ -273,11 +278,11 @@ msgstr "" "messages sont traités. Sinon, le niveau de la racine est utilisé comme " "niveau effectif." -#: library/logging.rst:435 +#: library/logging.rst:447 msgid "See :ref:`levels` for a list of levels." msgstr "Voir :ref:`levels` pour la liste des niveaux." -#: library/logging.rst:128 +#: library/logging.rst:136 msgid "" "The *level* parameter now accepts a string representation of the level such " "as 'INFO' as an alternative to the integer constants such as :const:`INFO`. " @@ -292,7 +297,7 @@ msgstr "" "`getEffectiveLevel` et :meth:`isEnabledFor` renvoient et s'attendent à " "recevoir des entiers." -#: library/logging.rst:138 +#: library/logging.rst:146 msgid "" "Indicates if a message of severity *level* would be processed by this " "logger. This method checks first the module-level level set by ``logging." @@ -304,7 +309,7 @@ msgstr "" "``logging.disable(level)`` et ensuite le niveau effectif de l'enregistreur, " "déterminé par :meth:`getEffectiveLevel`." -#: library/logging.rst:146 +#: library/logging.rst:154 msgid "" "Indicates the effective level for this logger. If a value other than :const:" "`NOTSET` has been set using :meth:`setLevel`, it is returned. Otherwise, the " @@ -319,7 +324,7 @@ msgstr "" "valeur renvoyée est un entier, par exemple :const:`logging.DEBUG`, :const:" "`logging.INFO`, etc." -#: library/logging.rst:156 +#: library/logging.rst:164 msgid "" "Returns a logger which is a descendant to this logger, as determined by the " "suffix. Thus, ``logging.getLogger('abc').getChild('def.ghi')`` would return " @@ -334,7 +339,7 @@ msgstr "" "l’enregistreur parent est nommé en utilisant, par exemple, ``__name__`` " "plutôt qu'une chaîne de caractères littérale." -#: library/logging.rst:167 +#: library/logging.rst:175 msgid "" "Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " "message format string, and the *args* are the arguments which are merged " @@ -349,7 +354,7 @@ msgstr "" "mots-clé dans la chaîne et de passer un dictionnaire en argument. Si *args* " "n'est pas fourni, aucun formatage « à la % » n'est appliqué." -#: library/logging.rst:173 +#: library/logging.rst:181 msgid "" "There are four keyword arguments in *kwargs* which are inspected: " "*exc_info*, *stack_info*, *stacklevel* and *extra*." @@ -357,7 +362,7 @@ msgstr "" "Quatre mots-clés de *kwargs* sont analysés : *exc_info*, *stack_info*, " "*stacklevel* et *extra*." -#: library/logging.rst:176 +#: library/logging.rst:184 msgid "" "If *exc_info* does not evaluate as false, it causes exception information to " "be added to the logging message. If an exception tuple (in the format " @@ -372,7 +377,7 @@ msgstr "" "contraire, les informations sur l'exception sont déterminées par un appel à :" "func:`sys.exc_info`." -#: library/logging.rst:986 +#: library/logging.rst:1066 msgid "" "The second optional keyword argument is *stack_info*, which defaults to " "``False``. If true, stack information is added to the logging message, " @@ -393,7 +398,7 @@ msgstr "" "portent des informations sur les appels successifs déclenchés par la levée " "d'une exception et la recherche de gestionnaires pour cette exception." -#: library/logging.rst:995 +#: library/logging.rst:1075 msgid "" "You can specify *stack_info* independently of *exc_info*, e.g. to just show " "how you got to a certain point in your code, even when no exceptions were " @@ -404,7 +409,7 @@ msgstr "" "si aucune exception n'a été levée. La pile d'appels est alors affichée après " "la ligne d'en-tête suivante :" -#: library/logging.rst:1003 +#: library/logging.rst:1083 msgid "" "This mimics the ``Traceback (most recent call last):`` which is used when " "displaying exception frames." @@ -412,7 +417,7 @@ msgstr "" "Elle imite la ligne ``Traceback (most recent call last):`` affichée avec la " "pile d'appels d'une exception." -#: library/logging.rst:201 +#: library/logging.rst:209 msgid "" "The third optional keyword argument is *stacklevel*, which defaults to " "``1``. If greater than 1, the corresponding number of stack frames are " @@ -432,7 +437,7 @@ msgstr "" "de l'utilitaire et de ne traiter que celles de l'appelant. Le nom de ce " "paramètre est le même que son équivalent dans le module :mod:`warnings`." -#: library/logging.rst:209 +#: library/logging.rst:217 msgid "" "The fourth keyword argument is *extra* which can be used to pass a " "dictionary which is used to populate the __dict__ of the :class:`LogRecord` " @@ -446,22 +451,23 @@ msgstr "" "utilisés comme bon vous semble. Ils peuvent ainsi être incorporés aux " "entrées de journalisation. Par exemple ::" -#: library/logging.rst:221 +#: library/logging.rst:229 msgid "would print something like" msgstr "affiche" -#: library/logging.rst:1023 +#: library/logging.rst:235 +#, fuzzy msgid "" "The keys in the dictionary passed in *extra* should not clash with the keys " -"used by the logging system. (See the :class:`Formatter` documentation for " -"more information on which keys are used by the logging system.)" +"used by the logging system. (See the section on :ref:`logrecord-attributes` " +"for more information on which keys are used by the logging system.)" msgstr "" "Les clés du dictionnaire passé dans *extra* ne doivent pas être les mêmes " "que les clés utilisées par le système de journalisation. Voir la " "documentation de la classe :class:`Formatter` pour plus de précisions sur " "les clés utilisées par le système de journalisation." -#: library/logging.rst:231 +#: library/logging.rst:239 msgid "" "If you choose to use these attributes in logged messages, you need to " "exercise some care. In the above example, for instance, the :class:" @@ -478,7 +484,7 @@ msgstr "" "message n'est pas enregistré car une exception de formatage de chaîne est " "levée. Il faut alors toujours passer un dictionnaire *extra* avec ces clés." -#: library/logging.rst:1034 +#: library/logging.rst:1114 msgid "" "While this might be annoying, this feature is intended for use in " "specialized circumstances, such as multi-threaded servers where the same " @@ -496,19 +502,26 @@ msgstr "" "clair que les classes :class:`Formatter`\\ s spécialisées doivent être " "utilisées avec des :class:`Handler`\\ s particuliers." -#: library/logging.rst:1041 +#: library/logging.rst:253 +msgid "" +"If no handler is attached to this logger (or any of its ancestors, taking " +"into account the relevant :attr:`Logger.propagate` attributes), the message " +"will be sent to the handler set on :attr:`lastResort`." +msgstr "" + +#: library/logging.rst:1125 msgid "The *stack_info* parameter was added." msgstr "ajout du paramètre *stack_info*." -#: library/logging.rst:248 +#: library/logging.rst:260 msgid "The *exc_info* parameter can now accept exception instances." msgstr "le paramètre *exc_info* peut être une instance d'exception." -#: library/logging.rst:251 +#: library/logging.rst:263 msgid "The *stacklevel* parameter was added." msgstr "ajout du paramètre *stacklevel*." -#: library/logging.rst:257 +#: library/logging.rst:269 msgid "" "Logs a message with level :const:`INFO` on this logger. The arguments are " "interpreted as for :meth:`debug`." @@ -516,7 +529,7 @@ msgstr "" "Enregistre un message avec le niveau de gravité :const:`INFO`. Les arguments " "ont la même signification que pour :meth:`debug`." -#: library/logging.rst:263 +#: library/logging.rst:275 msgid "" "Logs a message with level :const:`WARNING` on this logger. The arguments are " "interpreted as for :meth:`debug`." @@ -524,7 +537,7 @@ msgstr "" "Enregistre un message avec le niveau de gravité :const:`WARNING`. Les " "arguments ont la même signification que pour :meth:`debug`." -#: library/logging.rst:266 +#: library/logging.rst:278 msgid "" "There is an obsolete method ``warn`` which is functionally identical to " "``warning``. As ``warn`` is deprecated, please do not use it - use " @@ -534,7 +547,7 @@ msgstr "" "``warn`` n'est plus maintenue, prière de ne plus l'utiliser et de la " "remplacer par ``warning``." -#: library/logging.rst:272 +#: library/logging.rst:284 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`." @@ -542,7 +555,7 @@ msgstr "" "Enregistre un message avec le niveau de gravité :const:`ERROR`. Les " "arguments ont la même signification que pour :meth:`debug`." -#: library/logging.rst:278 +#: library/logging.rst:290 msgid "" "Logs a message with level :const:`CRITICAL` on this logger. The arguments " "are interpreted as for :meth:`debug`." @@ -550,7 +563,7 @@ msgstr "" "Enregistre un message avec le niveau de gravité :const:`CRITICAL`. Les " "arguments ont la même signification que pour :meth:`debug`." -#: library/logging.rst:284 +#: library/logging.rst:296 msgid "" "Logs a message with integer level *level* on this logger. The other " "arguments are interpreted as for :meth:`debug`." @@ -558,7 +571,7 @@ msgstr "" "Enregistre un message avec le niveau de gravité *level*. Les arguments ont " "la même signification que pour :meth:`debug`." -#: library/logging.rst:290 +#: library/logging.rst:302 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`. Exception info is added to the logging " @@ -569,15 +582,15 @@ msgstr "" "sur l'exception sont ajoutées au message. Cette méthode doit être appelée " "depuis un gestionnaire d'exceptions." -#: library/logging.rst:297 +#: library/logging.rst:309 msgid "Adds the specified filter *filter* to this logger." msgstr "Ajoute le filtre *filter* à l'enregistreur." -#: library/logging.rst:302 +#: library/logging.rst:314 msgid "Removes the specified filter *filter* from this logger." msgstr "Retire le filtre *filter* de cet enregistreur." -#: library/logging.rst:307 +#: library/logging.rst:319 msgid "" "Apply this logger's filters to the record and return ``True`` if the record " "is to be processed. The filters are consulted in turn, until one of them " @@ -592,15 +605,15 @@ msgstr "" "gestionnaires). Si l'un d'entre eux renvoie faux, le traitement de l'entrée " "s'arrête." -#: library/logging.rst:316 +#: library/logging.rst:328 msgid "Adds the specified handler *hdlr* to this logger." msgstr "Ajoute le gestionnaire *hdlr* à l'enregistreur." -#: library/logging.rst:321 +#: library/logging.rst:333 msgid "Removes the specified handler *hdlr* from this logger." msgstr "Retire le gestionnaire *hdlr* de l'enregistreur." -#: library/logging.rst:326 +#: library/logging.rst:338 msgid "" "Finds the caller's source filename and line number. Returns the filename, " "line number, function name and stack information as a 4-element tuple. The " @@ -611,7 +624,7 @@ msgstr "" "fonction et la pile d'appels. La pile vaut ``None`` si *stack_info* n'est " "pas ``True``." -#: library/logging.rst:330 +#: library/logging.rst:342 msgid "" "The *stacklevel* parameter is passed from code calling the :meth:`debug` and " "other APIs. If greater than 1, the excess is used to skip stack frames " @@ -627,7 +640,7 @@ msgstr "" "retirer les informations sur ce code de l'entrée, tout en conservant celles " "sur le code au-dessus du code d'encapsulation." -#: library/logging.rst:340 +#: library/logging.rst:352 msgid "" "Handles a record by passing it to all handlers associated with this logger " "and its ancestors (until a false value of *propagate* is found). This method " @@ -641,7 +654,7 @@ msgstr "" "créées localement. Du filtrage au niveau de l'enregistreur est appliqué en " "appelant :meth:`~Logger.filter`." -#: library/logging.rst:348 +#: library/logging.rst:360 msgid "" "This is a factory method which can be overridden in subclasses to create " "specialized :class:`LogRecord` instances." @@ -649,7 +662,7 @@ msgstr "" "Fabrique qui peut être redéfinie pour créer des instances de :class:" "`LogRecord`." -#: library/logging.rst:353 +#: library/logging.rst:365 msgid "" "Checks to see if this logger has any handlers configured. This is done by " "looking for handlers in this logger and its parents in the logger hierarchy. " @@ -665,15 +678,15 @@ msgstr "" "*propagate* à faux est rencontré ­— cet enregistreur est alors le dernier " "dans lequel la méthode cherche des gestionnaires." -#: library/logging.rst:362 +#: library/logging.rst:374 msgid "Loggers can now be pickled and unpickled." msgstr "les enregistreurs peuvent être sérialisés et désérialisés." -#: library/logging.rst:368 +#: library/logging.rst:380 msgid "Logging Levels" msgstr "Niveaux de journalisation" -#: library/logging.rst:370 +#: library/logging.rst:382 msgid "" "The numeric values of logging levels are given in the following table. These " "are primarily of interest if you want to define your own levels, and need " @@ -687,67 +700,67 @@ msgstr "" "prédéfinis. Si vous définissez un niveau avec la même valeur numérique, il " "écrase la valeur prédéfinie ; le nom prédéfini est perdu." -#: library/logging.rst:377 +#: library/logging.rst:389 msgid "Level" msgstr "Niveau" -#: library/logging.rst:377 +#: library/logging.rst:389 msgid "Numeric value" msgstr "Valeur numérique" -#: library/logging.rst:379 +#: library/logging.rst:391 msgid "``CRITICAL``" msgstr "``CRITICAL``" -#: library/logging.rst:379 +#: library/logging.rst:391 msgid "50" msgstr "50" -#: library/logging.rst:381 +#: library/logging.rst:393 msgid "``ERROR``" msgstr "``ERROR``" -#: library/logging.rst:381 +#: library/logging.rst:393 msgid "40" msgstr "40" -#: library/logging.rst:383 +#: library/logging.rst:395 msgid "``WARNING``" msgstr "``WARNING``" -#: library/logging.rst:383 +#: library/logging.rst:395 msgid "30" msgstr "30" -#: library/logging.rst:385 +#: library/logging.rst:397 msgid "``INFO``" msgstr "``INFO``" -#: library/logging.rst:385 +#: library/logging.rst:397 msgid "20" msgstr "20" -#: library/logging.rst:387 +#: library/logging.rst:399 msgid "``DEBUG``" msgstr "``DEBUG``" -#: library/logging.rst:387 +#: library/logging.rst:399 msgid "10" msgstr "10" -#: library/logging.rst:389 +#: library/logging.rst:401 msgid "``NOTSET``" msgstr "``NOTSET``" -#: library/logging.rst:389 +#: library/logging.rst:401 msgid "0" msgstr "0" -#: library/logging.rst:396 +#: library/logging.rst:408 msgid "Handler Objects" msgstr "Gestionnaires" -#: library/logging.rst:398 +#: library/logging.rst:410 msgid "" "Handlers have the following attributes and methods. Note that :class:" "`Handler` is never instantiated directly; this class acts as a base for more " @@ -759,7 +772,7 @@ msgstr "" "instanciée directement. Les méthodes :meth:`__init__` des sous-classes " "doivent toutefois appeler :meth:`Handler.__init__`." -#: library/logging.rst:407 +#: library/logging.rst:419 msgid "" "Initializes the :class:`Handler` instance by setting its level, setting the " "list of filters to the empty list and creating a lock (using :meth:" @@ -769,7 +782,7 @@ msgstr "" "initialisant la liste des filtres avec une liste vide et en créant un verrou " "(avec :meth:`createLock`) pour sérialiser l'accès au mécanisme d'E-S." -#: library/logging.rst:414 +#: library/logging.rst:426 msgid "" "Initializes a thread lock which can be used to serialize access to " "underlying I/O functionality which may not be threadsafe." @@ -777,15 +790,15 @@ msgstr "" "Instancie un verrou qui peut être utilisé pour sérialiser l'accès au système " "d'E-S sous-jacent (qui peut ne pas être à fil d'exécution sécurisé)." -#: library/logging.rst:420 +#: library/logging.rst:432 msgid "Acquires the thread lock created with :meth:`createLock`." msgstr "Acquiert le verrou créé par :meth:`createLock`." -#: library/logging.rst:425 +#: library/logging.rst:437 msgid "Releases the thread lock acquired with :meth:`acquire`." msgstr "Relâche le verrou acquis par :meth:`acquire`." -#: library/logging.rst:430 +#: library/logging.rst:442 msgid "" "Sets the threshold for this handler to *level*. Logging messages which are " "less severe than *level* will be ignored. When a handler is created, the " @@ -796,7 +809,7 @@ msgstr "" "fixé à :const:`NOTSET` lors de la création d'un gestionnaire (ce qui " "signifie que tous les messages seront traités)." -#: library/logging.rst:437 +#: library/logging.rst:449 msgid "" "The *level* parameter now accepts a string representation of the level such " "as 'INFO' as an alternative to the integer constants such as :const:`INFO`." @@ -804,19 +817,19 @@ msgstr "" "le paramètre *level* peut être une chaîne de caractères, comme ``'INFO'``, " "en plus d'une constante entière comme :const:`INFO`." -#: library/logging.rst:445 +#: library/logging.rst:457 msgid "Sets the :class:`Formatter` for this handler to *fmt*." msgstr "Définit le :class:`Formatter` du gestionnaire à *fmt*." -#: library/logging.rst:450 +#: library/logging.rst:462 msgid "Adds the specified filter *filter* to this handler." msgstr "Ajoute le filtre *filter* au gestionnaire." -#: library/logging.rst:455 +#: library/logging.rst:467 msgid "Removes the specified filter *filter* from this handler." msgstr "Retire le filtre *filter* du gestionnaire." -#: library/logging.rst:460 +#: library/logging.rst:472 msgid "" "Apply this handler's filters to the record and return ``True`` if the record " "is to be processed. The filters are consulted in turn, until one of them " @@ -829,7 +842,7 @@ msgstr "" "jusqu'à ce que l'un renvoie faux. Si aucun d'entre eux ne renvoie faux, " "l'entrée est enregistrée, sinon le gestionnaire ne traitera pas l'entrée." -#: library/logging.rst:469 +#: library/logging.rst:481 msgid "" "Ensure all logging output has been flushed. This version does nothing and is " "intended to be implemented by subclasses." @@ -837,7 +850,7 @@ msgstr "" "Oblige toutes les entrées à être traitées. Cette fonction ne fait rien de " "spécial et doit être redéfinie par les sous-classes." -#: library/logging.rst:475 +#: library/logging.rst:487 msgid "" "Tidy up any resources used by the handler. This version does no output but " "removes the handler from an internal list of handlers which is closed when :" @@ -849,7 +862,7 @@ msgstr "" "interne des gestionnaires à recycler à l'appel de :func:`shutdown`. Les sous-" "classes doivent appeler cette méthode depuis leur surcharge de :meth:`close`." -#: library/logging.rst:483 +#: library/logging.rst:495 msgid "" "Conditionally emits the specified logging record, depending on filters which " "may have been added to the handler. Wraps the actual emission of the record " @@ -858,7 +871,7 @@ msgstr "" "Traite ou non *record* selon les filtres ajoutés au gestionnaire. Un verrou " "sur l'E-S. est mis en place durant l'écriture effective." -#: library/logging.rst:490 +#: library/logging.rst:502 msgid "" "This method should be called from handlers when an exception is encountered " "during an :meth:`emit` call. If the module-level attribute " @@ -880,7 +893,7 @@ msgstr "" "eu lieu. La valeur par défaut de ``raiseExceptions`` est ``True``, ce qui " "est pratique lors du développement." -#: library/logging.rst:503 +#: library/logging.rst:515 msgid "" "Do formatting for a record - if a formatter is set, use it. Otherwise, use " "the default formatter for the module." @@ -888,7 +901,7 @@ msgstr "" "Formate *record* avec le formateur défini. S'il n'y en a pas, le formateur " "par défaut du module est utilisé." -#: library/logging.rst:509 +#: library/logging.rst:521 msgid "" "Do whatever it takes to actually log the specified logging record. This " "version is intended to be implemented by subclasses and so raises a :exc:" @@ -897,18 +910,43 @@ msgstr "" "Journalise *record* « pour de bon ». Cette version doit être redéfinie par " "les sous-classes et lève donc une :exc:`NotImplementedError`." -#: library/logging.rst:513 +#: library/logging.rst:525 +msgid "" +"This method is called after a handler-level lock is acquired, which is " +"released after this method returns. When you override this method, note that " +"you should be careful when calling anything that invokes other parts of the " +"logging API which might do locking, because that might result in a deadlock. " +"Specifically:" +msgstr "" + +#: library/logging.rst:531 +msgid "" +"Logging configuration APIs acquire the module-level lock, and then " +"individual handler-level locks as those handlers are configured." +msgstr "" + +#: library/logging.rst:534 +msgid "" +"Many logging APIs lock the module-level lock. If such an API is called from " +"this method, it could cause a deadlock if a configuration call is made on " +"another thread, because that thread will try to acquire the module-level " +"lock *before* the handler-level lock, whereas this thread tries to acquire " +"the module-level lock *after* the handler-level lock (because in this " +"method, the handler-level lock has already been acquired)." +msgstr "" + +#: library/logging.rst:541 msgid "" "For a list of handlers included as standard, see :mod:`logging.handlers`." msgstr "" "Les gestionnaires de la bibliothèque standard sont répertoriés dans :mod:" "`logging.handlers`." -#: library/logging.rst:518 +#: library/logging.rst:546 msgid "Formatter Objects" msgstr "Formateurs" -#: library/logging.rst:522 +#: library/logging.rst:550 msgid "" ":class:`Formatter` objects have the following attributes and methods. They " "are responsible for converting a :class:`LogRecord` to (usually) a string " @@ -919,7 +957,7 @@ msgid "" "information in the formatted output (such as a timestamp), keep reading." msgstr "" -#: library/logging.rst:530 +#: library/logging.rst:558 msgid "" "A Formatter can be initialized with a format string which makes use of " "knowledge of the :class:`LogRecord` attributes - such as the default value " @@ -929,13 +967,13 @@ msgid "" "ref:`old-string-formatting` for more information on string formatting." msgstr "" -#: library/logging.rst:537 +#: library/logging.rst:565 msgid "" "The useful mapping keys in a :class:`LogRecord` are given in the section on :" "ref:`logrecord-attributes`." msgstr "" -#: library/logging.rst:543 +#: library/logging.rst:571 msgid "" "Returns a new instance of the :class:`Formatter` class. The instance is " "initialized with a format string for the message as a whole, as well as a " @@ -944,7 +982,7 @@ msgid "" "format is used which is described in the :meth:`formatTime` documentation." msgstr "" -#: library/logging.rst:549 +#: library/logging.rst:577 msgid "" "The *style* parameter can be one of '%', '{' or '$' and determines how the " "format string will be merged with its data: using one of %-formatting, :meth:" @@ -954,29 +992,29 @@ msgid "" "for more information on using {- and $-formatting for log messages." msgstr "" -#: library/logging.rst:557 +#: library/logging.rst:585 msgid "" "The *defaults* parameter can be a dictionary with default values to use in " "custom fields. For example: ``logging.Formatter('%(ip)s %(message)s', " "defaults={\"ip\": None})``" msgstr "" -#: library/logging.rst:561 +#: library/logging.rst:589 msgid "The *style* parameter was added." msgstr "Ajout du paramètre *style*." -#: library/logging.rst:564 +#: library/logging.rst:592 msgid "" "The *validate* parameter was added. Incorrect or mismatched style and fmt " "will raise a ``ValueError``. For example: ``logging.Formatter('%(asctime)s - " "%(message)s', style='{')``." msgstr "" -#: library/logging.rst:569 +#: library/logging.rst:597 msgid "The *defaults* parameter was added." msgstr "Ajout du paramètre *defaults*." -#: library/logging.rst:574 +#: library/logging.rst:602 msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " @@ -995,13 +1033,13 @@ msgid "" "recalculates it afresh." msgstr "" -#: library/logging.rst:590 +#: library/logging.rst:618 msgid "" "If stack information is available, it's appended after the exception " "information, using :meth:`formatStack` to transform it if necessary." msgstr "" -#: library/logging.rst:596 +#: library/logging.rst:624 msgid "" "This method should be called from :meth:`format` by a formatter which wants " "to make use of a formatted time. This method can be overridden in formatters " @@ -1014,7 +1052,7 @@ msgid "" "resulting string is returned." msgstr "" -#: library/logging.rst:606 +#: library/logging.rst:634 msgid "" "This function uses a user-configurable function to convert the creation time " "to a tuple. By default, :func:`time.localtime` is used; to change this for a " @@ -1024,7 +1062,7 @@ msgid "" "be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." msgstr "" -#: library/logging.rst:614 +#: library/logging.rst:642 msgid "" "Previously, the default format was hard-coded as in this example: " "``2010-09-06 22:38:15,292`` where the part before the comma is handled by a " @@ -1039,11 +1077,11 @@ msgid "" "the millisecond value)." msgstr "" -#: library/logging.rst:627 +#: library/logging.rst:655 msgid "The ``default_msec_format`` can be ``None``." msgstr "" -#: library/logging.rst:632 +#: library/logging.rst:660 msgid "" "Formats the specified exception information (a standard exception tuple as " "returned by :func:`sys.exc_info`) as a string. This default implementation " @@ -1051,18 +1089,50 @@ msgid "" "returned." msgstr "" -#: library/logging.rst:639 +#: library/logging.rst:667 msgid "" "Formats the specified stack information (a string as returned by :func:" "`traceback.print_stack`, but with the last newline removed) as a string. " "This default implementation just returns the input value." msgstr "" -#: library/logging.rst:646 +#: library/logging.rst:673 +msgid "" +"A base formatter class suitable for subclassing when you want to format a " +"number of records. You can pass a :class:`Formatter` instance which you want " +"to use to format each line (that corresponds to a single record). If not " +"specified, the default formatter (which just outputs the event message) is " +"used as the line formatter." +msgstr "" + +#: library/logging.rst:681 +msgid "" +"Return a header for a list of *records*. The base implementation just " +"returns the empty string. You will need to override this method if you want " +"specific behaviour, e.g. to show the count of records, a title or a " +"separator line." +msgstr "" + +#: library/logging.rst:688 +msgid "" +"Return a footer for a list of *records*. The base implementation just " +"returns the empty string. You will need to override this method if you want " +"specific behaviour, e.g. to show the count of records or a separator line." +msgstr "" + +#: library/logging.rst:695 +msgid "" +"Return formatted text for a list of *records*. The base implementation just " +"returns the empty string if there are no records; otherwise, it returns the " +"concatenation of the header, each record formatted with the line formatter, " +"and the footer." +msgstr "" + +#: library/logging.rst:703 msgid "Filter Objects" msgstr "Filtres" -#: library/logging.rst:648 +#: library/logging.rst:705 msgid "" "``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " "sophisticated filtering than is provided by levels. The base filter class " @@ -1072,7 +1142,7 @@ msgid "" "If initialized with the empty string, all events are passed." msgstr "" -#: library/logging.rst:658 +#: library/logging.rst:715 msgid "" "Returns an instance of the :class:`Filter` class. If *name* is specified, it " "names a logger which, together with its children, will have its events " @@ -1080,13 +1150,13 @@ msgid "" "event." msgstr "" -#: library/logging.rst:665 +#: library/logging.rst:722 msgid "" "Is the specified record to be logged? Returns zero for no, nonzero for yes. " "If deemed appropriate, the record may be modified in-place by this method." msgstr "" -#: library/logging.rst:669 +#: library/logging.rst:726 msgid "" "Note that filters attached to handlers are consulted before an event is " "emitted by the handler, whereas filters attached to loggers are consulted " @@ -1096,13 +1166,13 @@ msgid "" "setting, unless the filter has also been applied to those descendant loggers." msgstr "" -#: library/logging.rst:676 +#: library/logging.rst:733 msgid "" "You don't actually need to subclass ``Filter``: you can pass any instance " "which has a ``filter`` method with the same semantics." msgstr "" -#: library/logging.rst:679 +#: library/logging.rst:736 msgid "" "You don't need to create specialized ``Filter`` classes, or use other " "classes with a ``filter`` method: you can use a function (or other callable) " @@ -1113,7 +1183,7 @@ msgid "" "value should conform to that returned by :meth:`~Filter.filter`." msgstr "" -#: library/logging.rst:689 +#: library/logging.rst:746 msgid "" "Although filters are used primarily to filter records based on more " "sophisticated criteria than levels, they get to see every record which is " @@ -1125,11 +1195,11 @@ msgid "" "contextual information into logs (see :ref:`filters-contextual`)." msgstr "" -#: library/logging.rst:701 +#: library/logging.rst:759 msgid "LogRecord Objects" msgstr "Objets LogRecord" -#: library/logging.rst:703 +#: library/logging.rst:761 msgid "" ":class:`LogRecord` instances are created automatically by the :class:" "`Logger` every time something is logged, and can be created manually via :" @@ -1137,15 +1207,14 @@ msgid "" "wire)." msgstr "" -#: library/logging.rst:711 +#: library/logging.rst:769 msgid "Contains all the information pertinent to the event being logged." msgstr "" -#: library/logging.rst:713 +#: library/logging.rst:771 msgid "" -"The primary information is passed in :attr:`msg` and :attr:`args`, which are " -"combined using ``msg % args`` to create the :attr:`message` field of the " -"record." +"The primary information is passed in *msg* and *args*, which are combined " +"using ``msg % args`` to create the :attr:`!message` attribute of the record." msgstr "" #: library/logging.rst:0 @@ -1153,58 +1222,61 @@ msgstr "" msgid "Parameters" msgstr "Paramètres :" -#: library/logging.rst:717 +#: library/logging.rst:775 msgid "" -"The name of the logger used to log the event represented by this LogRecord. " -"Note that this name will always have this value, even though it may be " -"emitted by a handler attached to a different (ancestor) logger." +"The name of the logger used to log the event represented by this :class:`!" +"LogRecord`. Note that the logger name in the :class:`!LogRecord` will always " +"have this value, even though it may be emitted by a handler attached to a " +"different (ancestor) logger." msgstr "" -#: library/logging.rst:721 +#: library/logging.rst:783 msgid "" -"The numeric level of the logging event (one of DEBUG, INFO etc.) Note that " -"this is converted to *two* attributes of the LogRecord: ``levelno`` for the " -"numeric value and ``levelname`` for the corresponding level name." +"The :ref:`numeric level ` of the logging event (such as ``10`` for " +"``DEBUG``, ``20`` for ``INFO``, etc). Note that this is converted to *two* " +"attributes of the LogRecord: :attr:`!levelno` for the numeric value and :" +"attr:`!levelname` for the corresponding level name." msgstr "" -#: library/logging.rst:725 -msgid "The full pathname of the source file where the logging call was made." +#: library/logging.rst:790 +msgid "" +"The full string path of the source file where the logging call was made." msgstr "" -#: library/logging.rst:727 +#: library/logging.rst:794 msgid "The line number in the source file where the logging call was made." msgstr "" -#: library/logging.rst:729 +#: library/logging.rst:798 msgid "" -"The event description message, possibly a format string with placeholders " -"for variable data." +"The event description message, which can be a %-format string with " +"placeholders for variable data." msgstr "" -#: library/logging.rst:731 +#: library/logging.rst:802 msgid "" "Variable data to merge into the *msg* argument to obtain the event " "description." msgstr "" -#: library/logging.rst:733 +#: library/logging.rst:806 msgid "" -"An exception tuple with the current exception information, or ``None`` if no " -"exception information is available." +"An exception tuple with the current exception information, as returned by :" +"func:`sys.exc_info`, or ``None`` if no exception information is available." msgstr "" -#: library/logging.rst:735 +#: library/logging.rst:811 msgid "" "The name of the function or method from which the logging call was invoked." msgstr "" -#: library/logging.rst:737 +#: library/logging.rst:815 msgid "" "A text string representing stack information from the base of the stack in " "the current thread, up to the logging call." msgstr "" -#: library/logging.rst:742 +#: library/logging.rst:822 msgid "" "Returns the message for this :class:`LogRecord` instance after merging any " "user-supplied arguments with the message. If the user-supplied message " @@ -1213,7 +1285,7 @@ msgid "" "whose ``__str__`` method can return the actual format string to be used." msgstr "" -#: library/logging.rst:749 +#: library/logging.rst:829 msgid "" "The creation of a :class:`LogRecord` has been made more configurable by " "providing a factory which is used to create the record. The factory can be " @@ -1221,24 +1293,24 @@ msgid "" "this for the factory's signature)." msgstr "" -#: library/logging.rst:755 +#: library/logging.rst:835 msgid "" "This functionality can be used to inject your own values into a :class:" "`LogRecord` at creation time. You can use the following pattern::" msgstr "" -#: library/logging.rst:767 +#: library/logging.rst:847 msgid "" "With this pattern, multiple factories could be chained, and as long as they " "don't overwrite each other's attributes or unintentionally overwrite the " "standard attributes listed above, there should be no surprises." msgstr "" -#: library/logging.rst:776 +#: library/logging.rst:856 msgid "LogRecord attributes" msgstr "" -#: library/logging.rst:778 +#: library/logging.rst:858 msgid "" "The LogRecord has a number of attributes, most of which are derived from the " "parameters to the constructor. (Note that the names do not always correspond " @@ -1249,7 +1321,7 @@ msgid "" "style format string." msgstr "" -#: library/logging.rst:786 +#: library/logging.rst:866 msgid "" "If you are using {}-formatting (:func:`str.format`), you can use ``{attrname}" "`` as the placeholder in the format string. If you are using $-formatting (:" @@ -1257,7 +1329,7 @@ msgid "" "course, replace ``attrname`` with the actual attribute name you want to use." msgstr "" -#: library/logging.rst:792 +#: library/logging.rst:872 msgid "" "In the case of {}-formatting, you can specify formatting flags by placing " "them after the attribute name, separated from it with a colon. For example: " @@ -1266,15 +1338,15 @@ msgid "" "on the options available to you." msgstr "" -#: library/logging.rst:799 +#: library/logging.rst:879 msgid "Attribute name" msgstr "" -#: library/logging.rst:1178 +#: library/logging.rst:1262 msgid "Format" msgstr "Format" -#: library/logging.rst:1178 +#: library/logging.rst:1262 msgid "Description" msgstr "Description" @@ -1282,41 +1354,41 @@ msgstr "Description" msgid "args" msgstr "" -#: library/logging.rst:815 library/logging.rst:861 +#: library/logging.rst:895 library/logging.rst:941 msgid "You shouldn't need to format this yourself." msgstr "" -#: library/logging.rst:801 +#: library/logging.rst:881 msgid "" "The tuple of arguments merged into ``msg`` to produce ``message``, or a dict " "whose values are used for the merge (when there is only one argument, and it " "is a dictionary)." msgstr "" -#: library/logging.rst:806 +#: library/logging.rst:886 msgid "asctime" msgstr "" -#: library/logging.rst:806 +#: library/logging.rst:886 msgid "``%(asctime)s``" msgstr "``%(asctime)s``" -#: library/logging.rst:806 +#: library/logging.rst:886 msgid "" "Human-readable time when the :class:`LogRecord` was created. By default " "this is of the form '2003-07-08 16:49:45,896' (the numbers after the comma " "are millisecond portion of the time)." msgstr "" -#: library/logging.rst:812 +#: library/logging.rst:892 msgid "created" msgstr "created" -#: library/logging.rst:812 +#: library/logging.rst:892 msgid "``%(created)f``" msgstr "``%(created)f``" -#: library/logging.rst:812 +#: library/logging.rst:892 msgid "" "Time when the :class:`LogRecord` was created (as returned by :func:`time." "time`)." @@ -1326,111 +1398,111 @@ msgstr "" msgid "exc_info" msgstr "exc_info" -#: library/logging.rst:815 +#: library/logging.rst:895 msgid "" "Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " "``None``." msgstr "" -#: library/logging.rst:818 +#: library/logging.rst:898 msgid "filename" msgstr "filename" -#: library/logging.rst:818 +#: library/logging.rst:898 msgid "``%(filename)s``" msgstr "``%(filename)s``" -#: library/logging.rst:818 +#: library/logging.rst:898 msgid "Filename portion of ``pathname``." msgstr "" -#: library/logging.rst:820 +#: library/logging.rst:900 msgid "funcName" msgstr "funcName" -#: library/logging.rst:820 +#: library/logging.rst:900 msgid "``%(funcName)s``" msgstr "``%(funcName)s``" -#: library/logging.rst:820 +#: library/logging.rst:900 msgid "Name of function containing the logging call." msgstr "" -#: library/logging.rst:822 +#: library/logging.rst:902 msgid "levelname" msgstr "levelname" -#: library/logging.rst:822 +#: library/logging.rst:902 msgid "``%(levelname)s``" msgstr "``%(levelname)s``" -#: library/logging.rst:822 +#: library/logging.rst:902 msgid "" "Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " "``'ERROR'``, ``'CRITICAL'``)." msgstr "" -#: library/logging.rst:826 +#: library/logging.rst:906 msgid "levelno" msgstr "" -#: library/logging.rst:826 +#: library/logging.rst:906 msgid "``%(levelno)s``" msgstr "``%(levelno)s``" -#: library/logging.rst:826 +#: library/logging.rst:906 msgid "" "Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" "`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgstr "" -#: library/logging.rst:831 +#: library/logging.rst:911 msgid "lineno" msgstr "lineno" -#: library/logging.rst:831 +#: library/logging.rst:911 msgid "``%(lineno)d``" msgstr "``%(lineno)d``" -#: library/logging.rst:831 +#: library/logging.rst:911 msgid "Source line number where the logging call was issued (if available)." msgstr "" -#: library/logging.rst:834 +#: library/logging.rst:914 msgid "message" msgstr "message" -#: library/logging.rst:834 +#: library/logging.rst:914 msgid "``%(message)s``" msgstr "``%(message)s``" -#: library/logging.rst:834 +#: library/logging.rst:914 msgid "" "The logged message, computed as ``msg % args``. This is set when :meth:" "`Formatter.format` is invoked." msgstr "" -#: library/logging.rst:838 +#: library/logging.rst:918 msgid "module" msgstr "module" -#: library/logging.rst:838 +#: library/logging.rst:918 msgid "``%(module)s``" msgstr "``%(module)s``" -#: library/logging.rst:838 +#: library/logging.rst:918 msgid "Module (name portion of ``filename``)." msgstr "" -#: library/logging.rst:840 +#: library/logging.rst:920 msgid "msecs" msgstr "msecs" -#: library/logging.rst:840 +#: library/logging.rst:920 msgid "``%(msecs)d``" msgstr "``%(msecs)d``" -#: library/logging.rst:840 +#: library/logging.rst:920 msgid "" "Millisecond portion of the time when the :class:`LogRecord` was created." msgstr "" @@ -1439,7 +1511,7 @@ msgstr "" msgid "msg" msgstr "" -#: library/logging.rst:843 +#: library/logging.rst:923 msgid "" "The format string passed in the original logging call. Merged with ``args`` " "to produce ``message``, or an arbitrary object (see :ref:`arbitrary-object-" @@ -1450,123 +1522,123 @@ msgstr "" msgid "name" msgstr "" -#: library/logging.rst:848 +#: library/logging.rst:928 msgid "``%(name)s``" msgstr "``%(name)s``" -#: library/logging.rst:848 +#: library/logging.rst:928 msgid "Name of the logger used to log the call." msgstr "" -#: library/logging.rst:850 +#: library/logging.rst:930 msgid "pathname" msgstr "pathname" -#: library/logging.rst:850 +#: library/logging.rst:930 msgid "``%(pathname)s``" msgstr "``%(pathname)s``" -#: library/logging.rst:850 +#: library/logging.rst:930 msgid "" "Full pathname of the source file where the logging call was issued (if " "available)." msgstr "" -#: library/logging.rst:853 +#: library/logging.rst:933 msgid "process" msgstr "process" -#: library/logging.rst:853 +#: library/logging.rst:933 msgid "``%(process)d``" msgstr "``%(process)d``" -#: library/logging.rst:853 +#: library/logging.rst:933 msgid "Process ID (if available)." msgstr "" -#: library/logging.rst:855 +#: library/logging.rst:935 msgid "processName" msgstr "processName" -#: library/logging.rst:855 +#: library/logging.rst:935 msgid "``%(processName)s``" msgstr "``%(processName)s``" -#: library/logging.rst:855 +#: library/logging.rst:935 msgid "Process name (if available)." msgstr "" -#: library/logging.rst:857 +#: library/logging.rst:937 msgid "relativeCreated" msgstr "relativeCreated" -#: library/logging.rst:857 +#: library/logging.rst:937 msgid "``%(relativeCreated)d``" msgstr "``%(relativeCreated)d``" -#: library/logging.rst:857 +#: library/logging.rst:937 msgid "" "Time in milliseconds when the LogRecord was created, relative to the time " "the logging module was loaded." msgstr "" -#: library/logging.rst:861 +#: library/logging.rst:941 msgid "stack_info" msgstr "" -#: library/logging.rst:861 +#: library/logging.rst:941 msgid "" "Stack frame information (where available) from the bottom of the stack in " "the current thread, up to and including the stack frame of the logging call " "which resulted in the creation of this record." msgstr "" -#: library/logging.rst:867 +#: library/logging.rst:947 msgid "thread" msgstr "" -#: library/logging.rst:867 +#: library/logging.rst:947 msgid "``%(thread)d``" msgstr "``%(thread)d``" -#: library/logging.rst:867 +#: library/logging.rst:947 msgid "Thread ID (if available)." msgstr "" -#: library/logging.rst:869 +#: library/logging.rst:949 msgid "threadName" msgstr "" -#: library/logging.rst:869 +#: library/logging.rst:949 msgid "``%(threadName)s``" msgstr "``%(threadName)s``" -#: library/logging.rst:869 +#: library/logging.rst:949 msgid "Thread name (if available)." msgstr "" -#: library/logging.rst:872 +#: library/logging.rst:952 msgid "*processName* was added." msgstr "" -#: library/logging.rst:879 +#: library/logging.rst:959 msgid "LoggerAdapter Objects" msgstr "" -#: library/logging.rst:881 +#: library/logging.rst:961 msgid "" ":class:`LoggerAdapter` instances are used to conveniently pass contextual " "information into logging calls. For a usage example, see the section on :ref:" "`adding contextual information to your logging output `." msgstr "" -#: library/logging.rst:887 +#: library/logging.rst:967 msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " "underlying :class:`Logger` instance and a dict-like object." msgstr "" -#: library/logging.rst:892 +#: library/logging.rst:972 msgid "" "Modifies the message and/or keyword arguments passed to a logging call in " "order to insert contextual information. This implementation takes the object " @@ -1575,7 +1647,7 @@ msgid "" "(possibly modified) versions of the arguments passed in." msgstr "" -#: library/logging.rst:898 +#: library/logging.rst:978 msgid "" "In addition to the above, :class:`LoggerAdapter` supports the following " "methods of :class:`Logger`: :meth:`~Logger.debug`, :meth:`~Logger.info`, :" @@ -1587,24 +1659,24 @@ msgid "" "interchangeably." msgstr "" -#: library/logging.rst:907 +#: library/logging.rst:987 msgid "" "The :meth:`~Logger.isEnabledFor`, :meth:`~Logger.getEffectiveLevel`, :meth:" "`~Logger.setLevel` and :meth:`~Logger.hasHandlers` methods were added to :" "class:`LoggerAdapter`. These methods delegate to the underlying logger." msgstr "" -#: library/logging.rst:912 +#: library/logging.rst:992 msgid "" "Attribute :attr:`manager` and method :meth:`_log` were added, which delegate " "to the underlying logger and allow adapters to be nested." msgstr "" -#: library/logging.rst:918 +#: library/logging.rst:998 msgid "Thread Safety" msgstr "" -#: library/logging.rst:920 +#: library/logging.rst:1000 msgid "" "The logging module is intended to be thread-safe without any special work " "needing to be done by its clients. It achieves this though using threading " @@ -1613,7 +1685,7 @@ msgid "" "O." msgstr "" -#: library/logging.rst:925 +#: library/logging.rst:1005 msgid "" "If you are implementing asynchronous signal handlers using the :mod:`signal` " "module, you may not be able to use logging from within such handlers. This " @@ -1621,17 +1693,17 @@ msgid "" "always re-entrant, and so cannot be invoked from such signal handlers." msgstr "" -#: library/logging.rst:932 +#: library/logging.rst:1012 msgid "Module-Level Functions" msgstr "Fonctions de niveau module" -#: library/logging.rst:934 +#: library/logging.rst:1014 msgid "" "In addition to the classes described above, there are a number of module-" "level functions." msgstr "" -#: library/logging.rst:940 +#: library/logging.rst:1020 msgid "" "Return a logger with the specified name or, if name is ``None``, return a " "logger which is the root logger of the hierarchy. If specified, the name is " @@ -1640,14 +1712,14 @@ msgid "" "logging." msgstr "" -#: library/logging.rst:945 +#: library/logging.rst:1025 msgid "" "All calls to this function with a given name return the same logger " "instance. This means that logger instances never need to be passed between " "different parts of an application." msgstr "" -#: library/logging.rst:952 +#: library/logging.rst:1032 msgid "" "Return either the standard :class:`Logger` class, or the last class passed " "to :func:`setLoggerClass`. This function may be called from within a new " @@ -1656,24 +1728,24 @@ msgid "" "example::" msgstr "" -#: library/logging.rst:963 +#: library/logging.rst:1043 msgid "Return a callable which is used to create a :class:`LogRecord`." msgstr "" -#: library/logging.rst:965 +#: library/logging.rst:1045 msgid "" "This function has been provided, along with :func:`setLogRecordFactory`, to " "allow developers more control over how the :class:`LogRecord` representing a " "logging event is constructed." msgstr "" -#: library/logging.rst:970 +#: library/logging.rst:1050 msgid "" "See :func:`setLogRecordFactory` for more information about the how the " "factory is called." msgstr "" -#: library/logging.rst:975 +#: library/logging.rst:1055 msgid "" "Logs a message with level :const:`DEBUG` on the root logger. The *msg* is " "the message format string, and the *args* are the arguments which are merged " @@ -1682,7 +1754,7 @@ msgid "" "argument.)" msgstr "" -#: library/logging.rst:980 +#: library/logging.rst:1060 msgid "" "There are three keyword arguments in *kwargs* which are inspected: " "*exc_info* which, if it does not evaluate as false, causes exception " @@ -1692,7 +1764,7 @@ msgid "" "exception information." msgstr "" -#: library/logging.rst:1006 +#: library/logging.rst:1086 msgid "" "The third optional keyword argument is *extra* which can be used to pass a " "dictionary which is used to populate the __dict__ of the LogRecord created " @@ -1701,11 +1773,22 @@ msgid "" "logged messages. For example::" msgstr "" -#: library/logging.rst:1017 +#: library/logging.rst:1097 msgid "would print something like:" msgstr "" -#: library/logging.rst:1027 +#: library/logging.rst:1103 +msgid "" +"The keys in the dictionary passed in *extra* should not clash with the keys " +"used by the logging system. (See the :class:`Formatter` documentation for " +"more information on which keys are used by the logging system.)" +msgstr "" +"Les clés du dictionnaire passé dans *extra* ne doivent pas être les mêmes " +"que les clés utilisées par le système de journalisation. Voir la " +"documentation de la classe :class:`Formatter` pour plus de précisions sur " +"les clés utilisées par le système de journalisation." + +#: library/logging.rst:1107 msgid "" "If you choose to use these attributes in logged messages, you need to " "exercise some care. In the above example, for instance, the :class:" @@ -1716,51 +1799,58 @@ msgid "" "dictionary with these keys." msgstr "" -#: library/logging.rst:1046 +#: library/logging.rst:1121 +msgid "" +"This function (as well as :func:`info`, :func:`warning`, :func:`error` and :" +"func:`critical`) will call :func:`basicConfig` if the root logger doesn't " +"have any handler attached." +msgstr "" + +#: library/logging.rst:1130 msgid "" "Logs a message with level :const:`INFO` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: library/logging.rst:1052 +#: library/logging.rst:1136 msgid "" "Logs a message with level :const:`WARNING` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: library/logging.rst:1055 +#: library/logging.rst:1139 msgid "" "There is an obsolete function ``warn`` which is functionally identical to " "``warning``. As ``warn`` is deprecated, please do not use it - use " "``warning`` instead." msgstr "" -#: library/logging.rst:1062 +#: library/logging.rst:1146 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`." msgstr "" -#: library/logging.rst:1068 +#: library/logging.rst:1152 msgid "" "Logs a message with level :const:`CRITICAL` on the root logger. The " "arguments are interpreted as for :func:`debug`." msgstr "" -#: library/logging.rst:1074 +#: library/logging.rst:1158 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " "are interpreted as for :func:`debug`. Exception info is added to the logging " "message. This function should only be called from an exception handler." msgstr "" -#: library/logging.rst:1080 +#: library/logging.rst:1164 msgid "" "Logs a message with level *level* on the root logger. The other arguments " "are interpreted as for :func:`debug`." msgstr "" -#: library/logging.rst:1085 +#: library/logging.rst:1169 msgid "" "Provides an overriding level *level* for all loggers which takes precedence " "over the logger's own level. When the need arises to temporarily throttle " @@ -1774,7 +1864,7 @@ msgid "" "individual loggers." msgstr "" -#: library/logging.rst:1096 +#: library/logging.rst:1180 msgid "" "Note that if you have defined any custom logging level higher than " "``CRITICAL`` (this is not recommended), you won't be able to rely on the " @@ -1782,13 +1872,13 @@ msgid "" "a suitable value." msgstr "" -#: library/logging.rst:1101 +#: library/logging.rst:1185 msgid "" "The *level* parameter was defaulted to level ``CRITICAL``. See :issue:" "`28524` for more information about this change." msgstr "" -#: library/logging.rst:1107 +#: library/logging.rst:1191 msgid "" "Associates level *level* with text *levelName* in an internal dictionary, " "which is used to map numeric levels to a textual representation, for example " @@ -1798,17 +1888,17 @@ msgid "" "and they should increase in increasing order of severity." msgstr "" -#: library/logging.rst:1114 +#: library/logging.rst:1198 msgid "" "If you are thinking of defining your own levels, please see the section on :" "ref:`custom-levels`." msgstr "" -#: library/logging.rst:1119 +#: library/logging.rst:1203 msgid "Returns the textual or numeric representation of logging level *level*." msgstr "" -#: library/logging.rst:1121 +#: library/logging.rst:1205 msgid "" "If *level* is one of the predefined levels :const:`CRITICAL`, :const:" "`ERROR`, :const:`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the " @@ -1818,20 +1908,20 @@ msgid "" "the corresponding string representation is returned." msgstr "" -#: library/logging.rst:1128 +#: library/logging.rst:1212 msgid "" "The *level* parameter also accepts a string representation of the level such " "as 'INFO'. In such cases, this functions returns the corresponding numeric " "value of the level." msgstr "" -#: library/logging.rst:1132 +#: library/logging.rst:1216 msgid "" "If no matching numeric or string value is passed in, the string 'Level %s' % " "level is returned." msgstr "" -#: library/logging.rst:1135 +#: library/logging.rst:1219 msgid "" "Levels are internally integers (as they need to be compared in the logging " "logic). This function is used to convert between an integer level and the " @@ -1840,7 +1930,7 @@ msgid "" "vice versa." msgstr "" -#: library/logging.rst:1141 +#: library/logging.rst:1225 msgid "" "In Python versions earlier than 3.4, this function could also be passed a " "text level, and would return the corresponding numeric value of the level. " @@ -1848,7 +1938,7 @@ msgid "" "Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility." msgstr "" -#: library/logging.rst:1149 +#: library/logging.rst:1233 msgid "" "Creates and returns a new :class:`LogRecord` instance whose attributes are " "defined by *attrdict*. This function is useful for taking a pickled :class:" @@ -1856,7 +1946,7 @@ msgid "" "as a :class:`LogRecord` instance at the receiving end." msgstr "" -#: library/logging.rst:1157 +#: library/logging.rst:1241 msgid "" "Does basic configuration for the logging system by creating a :class:" "`StreamHandler` with a default :class:`Formatter` and adding it to the root " @@ -1865,13 +1955,13 @@ msgid "" "no handlers are defined for the root logger." msgstr "" -#: library/logging.rst:1163 +#: library/logging.rst:1247 msgid "" "This function does nothing if the root logger already has handlers " "configured, unless the keyword argument *force* is set to ``True``." msgstr "" -#: library/logging.rst:1166 +#: library/logging.rst:1250 msgid "" "This function should be called from the main thread before other threads are " "started. In versions of Python prior to 2.7.1 and 3.2, if this function is " @@ -1880,54 +1970,54 @@ msgid "" "unexpected results such as messages being duplicated in the log." msgstr "" -#: library/logging.rst:1173 +#: library/logging.rst:1257 msgid "The following keyword arguments are supported." msgstr "" -#: library/logging.rst:1180 +#: library/logging.rst:1264 msgid "*filename*" msgstr "*filename*" -#: library/logging.rst:1180 +#: library/logging.rst:1264 msgid "" "Specifies that a :class:`FileHandler` be created, using the specified " "filename, rather than a :class:`StreamHandler`." msgstr "" -#: library/logging.rst:1184 +#: library/logging.rst:1268 msgid "*filemode*" msgstr "*filemode*" -#: library/logging.rst:1184 +#: library/logging.rst:1268 msgid "" "If *filename* is specified, open the file in this :ref:`mode `. " "Defaults to ``'a'``." msgstr "" -#: library/logging.rst:1188 +#: library/logging.rst:1272 msgid "*format*" msgstr "*format*" -#: library/logging.rst:1188 +#: library/logging.rst:1272 msgid "" "Use the specified format string for the handler. Defaults to attributes " "``levelname``, ``name`` and ``message`` separated by colons." msgstr "" -#: library/logging.rst:1193 +#: library/logging.rst:1277 msgid "*datefmt*" msgstr "*datefmt*" -#: library/logging.rst:1193 +#: library/logging.rst:1277 msgid "" "Use the specified date/time format, as accepted by :func:`time.strftime`." msgstr "" -#: library/logging.rst:1196 +#: library/logging.rst:1280 msgid "*style*" msgstr "*style*" -#: library/logging.rst:1196 +#: library/logging.rst:1280 msgid "" "If *format* is specified, use this style for the format string. One of " "``'%'``, ``'{'`` or ``'$'`` for :ref:`printf-style `." msgstr "" -#: library/logging.rst:1207 +#: library/logging.rst:1291 msgid "*stream*" msgstr "*stream*" -#: library/logging.rst:1207 +#: library/logging.rst:1291 msgid "" "Use the specified stream to initialize the :class:`StreamHandler`. Note that " "this argument is incompatible with *filename* - if both are present, a " "``ValueError`` is raised." msgstr "" -#: library/logging.rst:1213 +#: library/logging.rst:1297 msgid "*handlers*" msgstr "*handlers*" -#: library/logging.rst:1213 +#: library/logging.rst:1297 msgid "" "If specified, this should be an iterable of already created handlers to add " "to the root logger. Any handlers which don't already have a formatter set " @@ -1967,34 +2057,34 @@ msgid "" "present, a ``ValueError`` is raised." msgstr "" -#: library/logging.rst:1222 +#: library/logging.rst:1306 #, fuzzy msgid "*force*" msgstr "*format*" -#: library/logging.rst:1222 +#: library/logging.rst:1306 msgid "" "If this keyword argument is specified as true, any existing handlers " "attached to the root logger are removed and closed, before carrying out the " "configuration as specified by the other arguments." msgstr "" -#: library/logging.rst:1228 +#: library/logging.rst:1312 msgid "*encoding*" msgstr "" -#: library/logging.rst:1228 +#: library/logging.rst:1312 msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " "the output file." msgstr "" -#: library/logging.rst:1233 +#: library/logging.rst:1317 msgid "*errors*" msgstr "" -#: library/logging.rst:1233 +#: library/logging.rst:1317 msgid "" "If this keyword argument is specified along with *filename*, its value is " "used when the :class:`FileHandler` is created, and thus used when opening " @@ -2003,39 +2093,39 @@ msgid "" "`open`, which means that it will be treated the same as passing 'errors'." msgstr "" -#: library/logging.rst:1244 +#: library/logging.rst:1328 msgid "The *style* argument was added." msgstr "" -#: library/logging.rst:1247 +#: library/logging.rst:1331 msgid "" "The *handlers* argument was added. Additional checks were added to catch " "situations where incompatible arguments are specified (e.g. *handlers* " "together with *stream* or *filename*, or *stream* together with *filename*)." msgstr "" -#: library/logging.rst:1253 +#: library/logging.rst:1337 msgid "The *force* argument was added." msgstr "" -#: library/logging.rst:1256 +#: library/logging.rst:1340 msgid "The *encoding* and *errors* arguments were added." msgstr "" -#: library/logging.rst:1261 +#: library/logging.rst:1345 msgid "" "Informs the logging system to perform an orderly shutdown by flushing and " "closing all handlers. This should be called at application exit and no " "further use of the logging system should be made after this call." msgstr "" -#: library/logging.rst:1265 +#: library/logging.rst:1349 msgid "" "When the logging module is imported, it registers this function as an exit " "handler (see :mod:`atexit`), so normally there's no need to do that manually." msgstr "" -#: library/logging.rst:1272 +#: library/logging.rst:1356 msgid "" "Tells the logging system to use the class *klass* when instantiating a " "logger. The class should define :meth:`__init__` such that only a name " @@ -2047,26 +2137,26 @@ msgid "" "loggers." msgstr "" -#: library/logging.rst:1283 +#: library/logging.rst:1367 msgid "Set a callable which is used to create a :class:`LogRecord`." msgstr "" -#: library/logging.rst:1285 +#: library/logging.rst:1369 msgid "The factory callable to be used to instantiate a log record." msgstr "" -#: library/logging.rst:1287 +#: library/logging.rst:1371 msgid "" "This function has been provided, along with :func:`getLogRecordFactory`, to " "allow developers more control over how the :class:`LogRecord` representing a " "logging event is constructed." msgstr "" -#: library/logging.rst:1292 +#: library/logging.rst:1376 msgid "The factory has the following signature:" msgstr "" -#: library/logging.rst:1294 +#: library/logging.rst:1378 msgid "" "``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " "**kwargs)``" @@ -2074,7 +2164,7 @@ msgstr "" "``factory(name, level, fn, lno, msg, args, exc_info, func=None, sinfo=None, " "**kwargs)``" -#: library/logging.rst:1296 +#: library/logging.rst:1380 msgid "The logger name." msgstr "" @@ -2082,7 +2172,7 @@ msgstr "" msgid "level" msgstr "level" -#: library/logging.rst:1297 +#: library/logging.rst:1381 msgid "The logging level (numeric)." msgstr "" @@ -2090,7 +2180,7 @@ msgstr "" msgid "fn" msgstr "fn" -#: library/logging.rst:1298 +#: library/logging.rst:1382 msgid "The full pathname of the file where the logging call was made." msgstr "" @@ -2098,19 +2188,19 @@ msgstr "" msgid "lno" msgstr "lno" -#: library/logging.rst:1299 +#: library/logging.rst:1383 msgid "The line number in the file where the logging call was made." msgstr "" -#: library/logging.rst:1300 +#: library/logging.rst:1384 msgid "The logging message." msgstr "" -#: library/logging.rst:1301 +#: library/logging.rst:1385 msgid "The arguments for the logging message." msgstr "" -#: library/logging.rst:1302 +#: library/logging.rst:1386 msgid "An exception tuple, or ``None``." msgstr "" @@ -2118,7 +2208,7 @@ msgstr "" msgid "func" msgstr "func" -#: library/logging.rst:1303 +#: library/logging.rst:1387 msgid "The name of the function or method which invoked the logging call." msgstr "" @@ -2126,7 +2216,7 @@ msgstr "" msgid "sinfo" msgstr "sinfo" -#: library/logging.rst:1305 +#: library/logging.rst:1389 msgid "" "A stack traceback such as is provided by :func:`traceback.print_stack`, " "showing the call hierarchy." @@ -2136,15 +2226,15 @@ msgstr "" msgid "kwargs" msgstr "" -#: library/logging.rst:1307 +#: library/logging.rst:1391 msgid "Additional keyword arguments." msgstr "" -#: library/logging.rst:1311 +#: library/logging.rst:1395 msgid "Module-Level Attributes" msgstr "" -#: library/logging.rst:1315 +#: library/logging.rst:1399 msgid "" "A \"handler of last resort\" is available through this attribute. This is a :" "class:`StreamHandler` writing to ``sys.stderr`` with a level of ``WARNING``, " @@ -2155,22 +2245,22 @@ msgid "" "reason, ``lastResort`` can be set to ``None``." msgstr "" -#: library/logging.rst:1326 +#: library/logging.rst:1410 msgid "Integration with the warnings module" msgstr "" -#: library/logging.rst:1328 +#: library/logging.rst:1412 msgid "" "The :func:`captureWarnings` function can be used to integrate :mod:`logging` " "with the :mod:`warnings` module." msgstr "" -#: library/logging.rst:1333 +#: library/logging.rst:1417 msgid "" "This function is used to turn the capture of warnings by logging on and off." msgstr "" -#: library/logging.rst:1336 +#: library/logging.rst:1420 msgid "" "If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " "be redirected to the logging system. Specifically, a warning will be " @@ -2179,46 +2269,46 @@ msgid "" "`WARNING`." msgstr "" -#: library/logging.rst:1341 +#: library/logging.rst:1425 msgid "" "If *capture* is ``False``, the redirection of warnings to the logging system " "will stop, and warnings will be redirected to their original destinations (i." "e. those in effect before ``captureWarnings(True)`` was called)." msgstr "" -#: library/logging.rst:1349 +#: library/logging.rst:1433 msgid "Module :mod:`logging.config`" msgstr "Module :mod:`logging.config`" -#: library/logging.rst:1349 +#: library/logging.rst:1433 msgid "Configuration API for the logging module." msgstr "API de configuration pour le module de journalisation." -#: library/logging.rst:1352 +#: library/logging.rst:1436 msgid "Module :mod:`logging.handlers`" msgstr "Module :mod:`logging.handlers`" -#: library/logging.rst:1352 +#: library/logging.rst:1436 msgid "Useful handlers included with the logging module." msgstr "Gestionnaires utiles inclus avec le module de journalisation." -#: library/logging.rst:1356 +#: library/logging.rst:1440 msgid ":pep:`282` - A Logging System" msgstr "" -#: library/logging.rst:1355 +#: library/logging.rst:1439 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" -#: library/logging.rst:1361 +#: library/logging.rst:1445 msgid "" "`Original Python logging package `_" msgstr "" -#: library/logging.rst:1359 +#: library/logging.rst:1443 msgid "" "This is the original source for the :mod:`logging` package. The version of " "the package available from this site is suitable for use with Python 1.5.2, " diff --git a/library/lzma.po b/library/lzma.po index 6598704cd8..3b98abe680 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -543,10 +543,11 @@ msgstr "" "négatif), l'attribut :attr:`~.needs_input` sera configuré sur ``True``." #: library/lzma.rst:260 +#, fuzzy msgid "" -"Attempting to decompress data after the end of stream is reached raises an " -"`EOFError`. Any data found after the end of the stream is ignored and saved " -"in the :attr:`~.unused_data` attribute." +"Attempting to decompress data after the end of stream is reached raises an :" +"exc:`EOFError`. Any data found after the end of the stream is ignored and " +"saved in the :attr:`~.unused_data` attribute." msgstr "" "Essayer de décompresser des données après que la fin du flux soit atteinte " "lève une erreur `EOFError`. Toute donnée trouvée après la fin du flux est " diff --git a/library/mailbox.po b/library/mailbox.po index 3951d21cc3..84b6248bb3 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-09-24 20:59+0100\n" "Last-Translator: James Adjinwa \n" "Language-Team: FRENCH \n" @@ -562,7 +562,7 @@ msgstr "" #: library/mailbox.rst:431 msgid "" -"`maildir man page from Courier `_" +"`maildir man page from Courier `_" msgstr "" #: library/mailbox.rst:430 @@ -780,7 +780,7 @@ msgid "" msgstr "" #: library/mailbox.rst:618 -msgid "`nmh - Message Handling System `_" +msgid "`nmh - Message Handling System `_" msgstr "" #: library/mailbox.rst:618 @@ -1793,10 +1793,11 @@ msgstr "" "lorsqu'on supprime un répertoire contenant des messages." #: library/mailbox.rst:1511 +#, fuzzy msgid "" "Raised when some mailbox-related condition beyond the control of the program " "causes it to be unable to proceed, such as when failing to acquire a lock " -"that another program already holds a lock, or when a uniquely-generated file " +"that another program already holds a lock, or when a uniquely generated file " "name already exists." msgstr "" "Levée lorsqu'une condition liée à la boîte de courriel est hors de contrôle " diff --git a/library/mailcap.po b/library/mailcap.po index 9be5e2084c..3bf35453a7 100644 --- a/library/mailcap.po +++ b/library/mailcap.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-09-28 19:35+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -140,7 +140,24 @@ msgstr "" "vérifie automatiquement ces conditions et ignore l’entrée si la vérification " "échoue." -#: library/mailcap.rst:66 +#: library/mailcap.rst:65 +msgid "" +"To prevent security issues with shell metacharacters (symbols that have " +"special effects in a shell command line), ``findmatch`` will refuse to " +"inject ASCII characters other than alphanumerics and ``@+=:,./-_`` into the " +"returned command line." +msgstr "" + +#: library/mailcap.rst:70 +msgid "" +"If a disallowed character appears in *filename*, ``findmatch`` will always " +"return ``(None, None)`` as if no entry was found. If such a character " +"appears elsewhere (a value in *plist* or in *MIMEtype*), ``findmatch`` will " +"ignore all mailcap entries which use that value. A :mod:`warning ` " +"will be raised in either case." +msgstr "" + +#: library/mailcap.rst:78 msgid "" "Returns a dictionary mapping MIME types to a list of mailcap file entries. " "This dictionary must be passed to the :func:`findmatch` function. An entry " @@ -153,7 +170,7 @@ msgstr "" "dictionnaires, mais il n’est pas nécessaire de connaitre les détails de " "cette représentation." -#: library/mailcap.rst:71 +#: library/mailcap.rst:83 msgid "" "The information is derived from all of the mailcap files found on the " "system. Settings in the user's mailcap file :file:`$HOME/.mailcap` will " @@ -166,6 +183,6 @@ msgstr "" "systèmes des fichiers *mailcap* :file:`/etc/mailcap`, :file:`/usr/etc/" "mailcap`, et :file:`/usr/local/etc/mailcap`." -#: library/mailcap.rst:76 +#: library/mailcap.rst:88 msgid "An example usage::" msgstr "Un exemple d’utilisation ::" diff --git a/library/math.po b/library/math.po index 9018b3d949..0820a7a22f 100644 --- a/library/math.po +++ b/library/math.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:28+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -844,10 +844,11 @@ msgstr "" "Error_function>`_ en *x*." #: library/math.rst:560 +#, fuzzy msgid "" "The :func:`erf` function can be used to compute traditional statistical " "functions such as the `cumulative standard normal distribution `_::" +"wikipedia.org/wiki/Normal_distribution#Cumulative_distribution_functions>`_::" msgstr "" "La fonction :func:`erf` peut être utilisée pour calculer des fonctions " "statistiques usuelles telles que la `répartition de la loi normale \n" "Language-Team: FRENCH \n" @@ -156,8 +156,8 @@ msgstr "" #: library/mmap.rst:103 msgid "" "To ensure validity of the created memory mapping the file specified by the " -"descriptor *fileno* is internally automatically synchronized with physical " -"backing store on macOS and OpenVMS." +"descriptor *fileno* is internally automatically synchronized with the " +"physical backing store on macOS." msgstr "" #: library/mmap.rst:107 diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 315eb47f5f..ba1f927188 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-07-16 22:51+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -72,11 +72,21 @@ msgstr "" msgid "will print to standard output ::" msgstr "affiche sur la sortie standard ::" -#: library/multiprocessing.rst:47 +#: library/multiprocessing.rst:48 +msgid "" +":class:`concurrent.futures.ProcessPoolExecutor` offers a higher level " +"interface to push tasks to a background process without blocking execution " +"of the calling process. Compared to using the :class:`~multiprocessing.pool." +"Pool` interface directly, the :mod:`concurrent.futures` API more readily " +"allows the submission of work to the underlying process pool to be separated " +"from waiting for the results." +msgstr "" + +#: library/multiprocessing.rst:57 msgid "The :class:`Process` class" msgstr "La classe :class:`Process`" -#: library/multiprocessing.rst:49 +#: library/multiprocessing.rst:59 msgid "" "In :mod:`multiprocessing`, processes are spawned by creating a :class:" "`Process` object and then calling its :meth:`~Process.start` method. :class:" @@ -88,14 +98,14 @@ msgstr "" "start`. La classe :class:`Process` suit la même API que :class:`threading." "Thread`. Un exemple trivial d'un programme multi-processus est ::" -#: library/multiprocessing.rst:64 +#: library/multiprocessing.rst:74 msgid "" "To show the individual process IDs involved, here is an expanded example::" msgstr "" "Voici un exemple plus étoffé qui affiche les identifiants des processus " "créés ::" -#: library/multiprocessing.rst:85 +#: library/multiprocessing.rst:95 msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." @@ -103,11 +113,11 @@ msgstr "" "La nécessité de la ligne ``if __name__ == '__main__'`` est expliquée dans la " "section :ref:`multiprocessing-programming`." -#: library/multiprocessing.rst:91 +#: library/multiprocessing.rst:101 msgid "Contexts and start methods" msgstr "Contextes et méthodes de démarrage" -#: library/multiprocessing.rst:95 +#: library/multiprocessing.rst:105 msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" @@ -115,13 +125,14 @@ msgstr "" "Selon la plateforme, :mod:`multiprocessing` gère trois manières de démarrer " "un processus. Ces *méthodes de démarrage* sont" -#: library/multiprocessing.rst:106 +#: library/multiprocessing.rst:116 msgid "*spawn*" msgstr "*spawn*" -#: library/multiprocessing.rst:99 +#: library/multiprocessing.rst:109 +#, fuzzy msgid "" -"The parent process starts a fresh python interpreter process. The child " +"The parent process starts a fresh Python interpreter process. The child " "process will only inherit those resources necessary to run the process " "object's :meth:`~Process.run` method. In particular, unnecessary file " "descriptors and handles from the parent process will not be inherited. " @@ -135,15 +146,15 @@ msgstr "" "processus parent ne sont pas hérités. Démarrer un processus en utilisant " "cette méthode est plutôt lent par rapport à *fork* ou *forkserver*." -#: library/multiprocessing.rst:106 +#: library/multiprocessing.rst:116 msgid "Available on Unix and Windows. The default on Windows and macOS." msgstr "Disponible sur Unix et Windows. Par défaut sur Windows et macOS." -#: library/multiprocessing.rst:115 +#: library/multiprocessing.rst:125 msgid "*fork*" msgstr "*fork*" -#: library/multiprocessing.rst:109 +#: library/multiprocessing.rst:119 msgid "" "The parent process uses :func:`os.fork` to fork the Python interpreter. The " "child process, when it begins, is effectively identical to the parent " @@ -156,15 +167,15 @@ msgstr "" "Notez qu'il est problématique de *forker* sans danger un processus *multi-" "threadé*." -#: library/multiprocessing.rst:115 +#: library/multiprocessing.rst:125 msgid "Available on Unix only. The default on Unix." msgstr "Disponible uniquement sous Unix. Par défaut sous Unix." -#: library/multiprocessing.rst:126 +#: library/multiprocessing.rst:136 msgid "*forkserver*" msgstr "*forkserver*" -#: library/multiprocessing.rst:118 +#: library/multiprocessing.rst:128 msgid "" "When the program starts and selects the *forkserver* start method, a server " "process is started. From then on, whenever a new process is needed, the " @@ -179,7 +190,7 @@ msgstr "" "n'utilisant qu'un seul fil d'exécution, il peut utiliser :func:`os.fork` " "sans danger. Les ressources superflues ne sont pas héritées." -#: library/multiprocessing.rst:125 +#: library/multiprocessing.rst:135 msgid "" "Available on Unix platforms which support passing file descriptors over Unix " "pipes." @@ -187,7 +198,7 @@ msgstr "" "Disponible sur les plateformes Unix qui acceptent le passage de descripteurs " "de fichiers à travers des tubes (*pipes*) Unix." -#: library/multiprocessing.rst:130 library/multiprocessing.rst:1044 +#: library/multiprocessing.rst:140 library/multiprocessing.rst:1053 msgid "" "On macOS, the *spawn* start method is now the default. The *fork* start " "method should be considered unsafe as it can lead to crashes of the " @@ -197,9 +208,10 @@ msgstr "" "défaut. La méthode de démarrage *fork* doit être considérée comme dangereuse " "car elle peut entraîner des plantages du sous-processus. Voir :issue:`33725`." -#: library/multiprocessing.rst:134 +#: library/multiprocessing.rst:144 +#, fuzzy msgid "" -"*spawn* added on all unix platforms, and *forkserver* added for some unix " +"*spawn* added on all Unix platforms, and *forkserver* added for some Unix " "platforms. Child processes no longer inherit all of the parents inheritable " "handles on Windows." msgstr "" @@ -207,7 +219,7 @@ msgstr "" "certaines plateformes Unix. Les processus fils n'héritent plus de tous les " "descripteurs héritables du parent sous Windows." -#: library/multiprocessing.rst:140 +#: library/multiprocessing.rst:150 msgid "" "On Unix using the *spawn* or *forkserver* start methods will also start a " "*resource tracker* process which tracks the unlinked named system resources " @@ -234,7 +246,7 @@ msgstr "" "sémaphores et parce que les blocs de mémoire partagée prennent de la place " "dans la mémoire principale." -#: library/multiprocessing.rst:153 +#: library/multiprocessing.rst:163 msgid "" "To select a start method you use the :func:`set_start_method` in the ``if " "__name__ == '__main__'`` clause of the main module. For example::" @@ -243,14 +255,14 @@ msgstr "" "`set_start_method` dans la clause ``if __name__ == '__main__'`` du module " "principal. Par exemple ::" -#: library/multiprocessing.rst:170 +#: library/multiprocessing.rst:180 msgid "" ":func:`set_start_method` should not be used more than once in the program." msgstr "" ":func:`set_start_method` ne doit pas être utilisée plus d'une fois dans le " "programme." -#: library/multiprocessing.rst:173 +#: library/multiprocessing.rst:183 msgid "" "Alternatively, you can use :func:`get_context` to obtain a context object. " "Context objects have the same API as the multiprocessing module, and allow " @@ -261,7 +273,7 @@ msgstr "" "permettent l'utilisation de plusieurs méthodes de démarrage dans un même " "programme. ::" -#: library/multiprocessing.rst:191 +#: library/multiprocessing.rst:201 msgid "" "Note that objects related to one context may not be compatible with " "processes for a different context. In particular, locks created using the " @@ -273,7 +285,7 @@ msgstr "" "verrous créés avec le contexte *fork* ne peuvent pas être passés aux " "processus lancés avec les méthodes *spawn* ou *forkserver*." -#: library/multiprocessing.rst:196 +#: library/multiprocessing.rst:206 msgid "" "A library which wants to use a particular start method should probably use :" "func:`get_context` to avoid interfering with the choice of the library user." @@ -282,7 +294,7 @@ msgstr "" "devrait probablement faire appel à :func:`get_context` pour éviter " "d'interférer avec le choix de l'utilisateur de la bibliothèque." -#: library/multiprocessing.rst:202 +#: library/multiprocessing.rst:212 msgid "" "The ``'spawn'`` and ``'forkserver'`` start methods cannot currently be used " "with \"frozen\" executables (i.e., binaries produced by packages like " @@ -294,11 +306,11 @@ msgstr "" "produits par des paquets comme **PyInstaller** et **cx_Freeze**) sur Unix. " "Seule la méthode de démarrage ``’fork’`` fonctionne." -#: library/multiprocessing.rst:209 +#: library/multiprocessing.rst:219 msgid "Exchanging objects between processes" msgstr "Échange d'objets entre les processus" -#: library/multiprocessing.rst:211 +#: library/multiprocessing.rst:221 msgid "" ":mod:`multiprocessing` supports two types of communication channel between " "processes:" @@ -306,11 +318,11 @@ msgstr "" ":mod:`multiprocessing` gère deux types de canaux de communication entre les " "processus :" -#: library/multiprocessing.rst:214 +#: library/multiprocessing.rst:224 msgid "**Queues**" msgstr "**Files** (*queues*)" -#: library/multiprocessing.rst:216 +#: library/multiprocessing.rst:226 msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" @@ -318,16 +330,16 @@ msgstr "" "La classe :class:`Queue` est un clone assez proche de :class:`queue.Queue`. " "Par exemple ::" -#: library/multiprocessing.rst:231 +#: library/multiprocessing.rst:241 msgid "Queues are thread and process safe." msgstr "" "Les files peuvent être utilisées par plusieurs fils d'exécution ou processus." -#: library/multiprocessing.rst:233 +#: library/multiprocessing.rst:243 msgid "**Pipes**" msgstr "**Tubes** (*pipes*)" -#: library/multiprocessing.rst:235 +#: library/multiprocessing.rst:245 msgid "" "The :func:`Pipe` function returns a pair of connection objects connected by " "a pipe which by default is duplex (two-way). For example::" @@ -335,7 +347,7 @@ msgstr "" "La fonction :func:`Pipe` renvoie une paire d'objets de connexion connectés à " "un tube qui est par défaut duplex (à double sens). Par exemple ::" -#: library/multiprocessing.rst:251 +#: library/multiprocessing.rst:261 msgid "" "The two connection objects returned by :func:`Pipe` represent the two ends " "of the pipe. Each connection object has :meth:`~Connection.send` and :meth:" @@ -352,11 +364,11 @@ msgstr "" "même temps. Bien évidemment, deux processus peuvent utiliser les deux " "extrémités différentes en même temps sans risque de corruption." -#: library/multiprocessing.rst:261 +#: library/multiprocessing.rst:271 msgid "Synchronization between processes" msgstr "Synchronisation entre processus" -#: library/multiprocessing.rst:263 +#: library/multiprocessing.rst:273 msgid "" ":mod:`multiprocessing` contains equivalents of all the synchronization " "primitives from :mod:`threading`. For instance one can use a lock to ensure " @@ -367,7 +379,7 @@ msgstr "" "un verrou pour s'assurer qu'un seul processus à la fois écrit sur la sortie " "standard ::" -#: library/multiprocessing.rst:282 +#: library/multiprocessing.rst:292 msgid "" "Without using the lock output from the different processes is liable to get " "all mixed up." @@ -375,11 +387,11 @@ msgstr "" "Sans le verrou, les sorties des différents processus risquent d'être " "mélangées." -#: library/multiprocessing.rst:287 +#: library/multiprocessing.rst:297 msgid "Sharing state between processes" msgstr "Partager un état entre les processus" -#: library/multiprocessing.rst:289 +#: library/multiprocessing.rst:299 msgid "" "As mentioned above, when doing concurrent programming it is usually best to " "avoid using shared state as far as possible. This is particularly true when " @@ -389,7 +401,7 @@ msgstr "" "que possible d'utiliser des états partagés en programmation concurrente. " "C'est particulièrement vrai quand plusieurs processus sont utilisés." -#: library/multiprocessing.rst:293 +#: library/multiprocessing.rst:303 msgid "" "However, if you really do need to use some shared data then :mod:" "`multiprocessing` provides a couple of ways of doing so." @@ -397,11 +409,11 @@ msgstr "" "Cependant, si vous devez réellement partager des données, :mod:" "`multiprocessing` permet de le faire de deux manières." -#: library/multiprocessing.rst:296 +#: library/multiprocessing.rst:306 msgid "**Shared memory**" msgstr "**Mémoire partagée**" -#: library/multiprocessing.rst:298 +#: library/multiprocessing.rst:308 msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" @@ -409,11 +421,11 @@ msgstr "" "Les données peuvent être stockées dans une mémoire partagée en utilisant " "des :class:`Value` ou des :class:`Array`. Par exemple, le code suivant ::" -#: library/multiprocessing.rst:319 library/multiprocessing.rst:365 +#: library/multiprocessing.rst:329 library/multiprocessing.rst:375 msgid "will print ::" msgstr "affiche ::" -#: library/multiprocessing.rst:324 +#: library/multiprocessing.rst:334 msgid "" "The ``'d'`` and ``'i'`` arguments used when creating ``num`` and ``arr`` are " "typecodes of the kind used by the :mod:`array` module: ``'d'`` indicates a " @@ -426,7 +438,7 @@ msgstr "" "signé. Ces objets peuvent être partagés sans problème entre processus ou " "fils d’exécution." -#: library/multiprocessing.rst:329 +#: library/multiprocessing.rst:339 msgid "" "For more flexibility in using shared memory one can use the :mod:" "`multiprocessing.sharedctypes` module which supports the creation of " @@ -436,11 +448,11 @@ msgstr "" "utiliser le module :mod:`multiprocessing.sharedctypes` qui permet la " "création d'objets arbitraires *ctypes* alloués depuis la mémoire partagée." -#: library/multiprocessing.rst:333 +#: library/multiprocessing.rst:343 msgid "**Server process**" msgstr "**Processus serveur**" -#: library/multiprocessing.rst:335 +#: library/multiprocessing.rst:345 msgid "" "A manager object returned by :func:`Manager` controls a server process which " "holds Python objects and allows other processes to manipulate them using " @@ -450,7 +462,7 @@ msgstr "" "serveur qui détient les objets Python et autorise les autres processus à les " "manipuler à l'aide de mandataires." -#: library/multiprocessing.rst:339 +#: library/multiprocessing.rst:349 msgid "" "A manager returned by :func:`Manager` will support types :class:`list`, :" "class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :" @@ -464,7 +476,7 @@ msgstr "" "class:`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` et :class:" "`Array`. Par exemple, ::" -#: library/multiprocessing.rst:370 +#: library/multiprocessing.rst:380 msgid "" "Server process managers are more flexible than using shared memory objects " "because they can be made to support arbitrary object types. Also, a single " @@ -477,11 +489,11 @@ msgstr "" "machines à travers le réseau. Cependant, ils sont plus lents que les " "mémoires partagées." -#: library/multiprocessing.rst:377 +#: library/multiprocessing.rst:387 msgid "Using a pool of workers" msgstr "Utiliser un pool de *workers*" -#: library/multiprocessing.rst:379 +#: library/multiprocessing.rst:389 msgid "" "The :class:`~multiprocessing.pool.Pool` class represents a pool of worker " "processes. It has methods which allows tasks to be offloaded to the worker " @@ -491,11 +503,11 @@ msgstr "" "processus de travail. Elle possède des méthodes qui permettent aux tâches " "d'être déchargées vers les processus de travail de différentes manières." -#: library/multiprocessing.rst:383 +#: library/multiprocessing.rst:393 msgid "For example::" msgstr "Par exemple ::" -#: library/multiprocessing.rst:427 +#: library/multiprocessing.rst:437 msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." @@ -503,7 +515,7 @@ msgstr "" "Notez que les méthodes d'un pool ne doivent être utilisées que par le " "processus qui l'a créée." -#: library/multiprocessing.rst:432 +#: library/multiprocessing.rst:442 msgid "" "Functionality within this package requires that the ``__main__`` module be " "importable by the children. This is covered in :ref:`multiprocessing-" @@ -517,7 +529,7 @@ msgstr "" "certains exemples, comme les exemples utilisant :class:`multiprocessing.pool." "Pool`, ne fonctionnent pas dans l'interpréteur interactif. Par exemple ::" -#: library/multiprocessing.rst:455 +#: library/multiprocessing.rst:465 msgid "" "(If you try this it will actually output three full tracebacks interleaved " "in a semi-random fashion, and then you may have to stop the parent process " @@ -527,11 +539,11 @@ msgstr "" "entrelacées de manière semi-aléatoire, et vous devrez vous débrouiller pour " "arrêter le processus maître." -#: library/multiprocessing.rst:461 +#: library/multiprocessing.rst:471 msgid "Reference" msgstr "Référence" -#: library/multiprocessing.rst:463 +#: library/multiprocessing.rst:473 msgid "" "The :mod:`multiprocessing` package mostly replicates the API of the :mod:" "`threading` module." @@ -539,11 +551,11 @@ msgstr "" "Le paquet :mod:`multiprocessing` reproduit en grande partie l'API du module :" "mod:`threading`." -#: library/multiprocessing.rst:468 +#: library/multiprocessing.rst:478 msgid ":class:`Process` and exceptions" msgstr ":class:`Process` et exceptions" -#: library/multiprocessing.rst:473 +#: library/multiprocessing.rst:483 msgid "" "Process objects represent activity that is run in a separate process. The :" "class:`Process` class has equivalents of all the methods of :class:" @@ -553,7 +565,7 @@ msgstr "" "séparé. La classe :class:`Process` a des équivalents à toutes les méthodes " "de :class:`threading.Thread`." -#: library/multiprocessing.rst:477 +#: library/multiprocessing.rst:487 msgid "" "The constructor should always be called with keyword arguments. *group* " "should always be ``None``; it exists solely for compatibility with :class:" @@ -577,11 +589,11 @@ msgstr "" "l'option :attr:`daemon` du processus à ``True`` ou ``False``. S'il est " "``None`` (par défaut), l'option est héritée par le processus créateur." -#: library/multiprocessing.rst:488 +#: library/multiprocessing.rst:498 msgid "By default, no arguments are passed to *target*." msgstr "Par défaut, aucun argument n'est passé à *target*." -#: library/multiprocessing.rst:490 +#: library/multiprocessing.rst:500 msgid "" "If a subclass overrides the constructor, it must make sure it invokes the " "base class constructor (:meth:`Process.__init__`) before doing anything else " @@ -591,15 +603,15 @@ msgstr "" "le constructeur de la classe de base (:meth:`Process.__init__`) avant de " "faire autre chose du processus." -#: library/multiprocessing.rst:494 +#: library/multiprocessing.rst:504 msgid "Added the *daemon* argument." msgstr "Ajout de l'argument *daemon*." -#: library/multiprocessing.rst:499 +#: library/multiprocessing.rst:509 msgid "Method representing the process's activity." msgstr "Méthode représentant l'activité du processus." -#: library/multiprocessing.rst:501 +#: library/multiprocessing.rst:511 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the target " @@ -611,11 +623,11 @@ msgstr "" "argument *target*, si fourni, avec les arguments séquentiels et nommés " "respectivement pris depuis les paramètres *args* et *kwargs*." -#: library/multiprocessing.rst:508 +#: library/multiprocessing.rst:518 msgid "Start the process's activity." msgstr "Démarre l'activité du processus." -#: library/multiprocessing.rst:510 +#: library/multiprocessing.rst:520 msgid "" "This must be called at most once per process object. It arranges for the " "object's :meth:`run` method to be invoked in a separate process." @@ -624,7 +636,7 @@ msgstr "" "pour que la méthode :meth:`run` de l'objet soit invoquée dans un processus " "séparé." -#: library/multiprocessing.rst:515 +#: library/multiprocessing.rst:525 msgid "" "If the optional argument *timeout* is ``None`` (the default), the method " "blocks until the process whose :meth:`join` method is called terminates. If " @@ -640,11 +652,11 @@ msgstr "" "le processus se termine ou si le temps d'exécution expire. Vérifiez " "l'attribut :attr:`exitcode` du processus pour déterminer s'il s'est terminé." -#: library/multiprocessing.rst:522 +#: library/multiprocessing.rst:532 msgid "A process can be joined many times." msgstr "*join* peut être appelée plusieurs fois sur un même processus." -#: library/multiprocessing.rst:524 +#: library/multiprocessing.rst:534 msgid "" "A process cannot join itself because this would cause a deadlock. It is an " "error to attempt to join a process before it has been started." @@ -653,7 +665,7 @@ msgstr "" "interblocage. C'est une erreur d'essayer d'attendre un processus avant qu'il " "ne soit démarré." -#: library/multiprocessing.rst:529 +#: library/multiprocessing.rst:539 msgid "" "The process's name. The name is a string used for identification purposes " "only. It has no semantics. Multiple processes may be given the same name." @@ -662,7 +674,7 @@ msgstr "" "pour l'identification du processus. Il n'a pas de sémantique. Plusieurs " "processus peuvent avoir le même nom." -#: library/multiprocessing.rst:533 +#: library/multiprocessing.rst:543 msgid "" "The initial name is set by the constructor. If no explicit name is provided " "to the constructor, a name of the form 'Process-N\\ :sub:`1`:N\\ :sub:" @@ -674,11 +686,11 @@ msgstr "" "sub:`2`:...:N\\ :sub:`k` » est construit, où chaque N\\ :sub:`k` est le N\\ :" "sup:`e` fils de son parent." -#: library/multiprocessing.rst:540 +#: library/multiprocessing.rst:550 msgid "Return whether the process is alive." msgstr "Renvoie vrai si le processus est en vie, faux sinon." -#: library/multiprocessing.rst:542 +#: library/multiprocessing.rst:552 msgid "" "Roughly, a process object is alive from the moment the :meth:`start` method " "returns until the child process terminates." @@ -686,7 +698,7 @@ msgstr "" "Grossièrement, un objet processus est en vie depuis le moment où la méthode :" "meth:`start` finit de s'exécuter jusqu'à ce que le processus fils se termine." -#: library/multiprocessing.rst:547 +#: library/multiprocessing.rst:557 msgid "" "The process's daemon flag, a Boolean value. This must be set before :meth:" "`start` is called." @@ -694,11 +706,11 @@ msgstr "" "L'option *daemon* du processus, une valeur booléenne. L'option doit être " "réglée avant que la méthode :meth:`start` ne soit appelée." -#: library/multiprocessing.rst:550 +#: library/multiprocessing.rst:560 msgid "The initial value is inherited from the creating process." msgstr "La valeur initiale est héritée par le processus créateur." -#: library/multiprocessing.rst:552 +#: library/multiprocessing.rst:562 msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." @@ -706,7 +718,7 @@ msgstr "" "Quand un processus se ferme, il tente de terminer tous ses processus fils " "*daemon*." -#: library/multiprocessing.rst:555 +#: library/multiprocessing.rst:565 msgid "" "Note that a daemonic process is not allowed to create child processes. " "Otherwise a daemonic process would leave its children orphaned if it gets " @@ -720,7 +732,7 @@ msgstr "" "*daemons* ou services Unix, ce sont des processus normaux qui seront " "terminés (et non attendus) si un processus non *daemon* se ferme." -#: library/multiprocessing.rst:561 +#: library/multiprocessing.rst:571 msgid "" "In addition to the :class:`threading.Thread` API, :class:`Process` objects " "also support the following attributes and methods:" @@ -728,14 +740,14 @@ msgstr "" "En plus de l'API :class:`threading.Thread`, les objets :class:`Process` " "supportent aussi les attributs et méthodes suivants :" -#: library/multiprocessing.rst:566 +#: library/multiprocessing.rst:576 msgid "" "Return the process ID. Before the process is spawned, this will be ``None``." msgstr "" "Renvoie l'ID du processus. Avant que le processus ne soit lancé, la valeur " "est ``None``." -#: library/multiprocessing.rst:571 +#: library/multiprocessing.rst:581 #, fuzzy msgid "" "The child's exit code. This will be ``None`` if the process has not yet " @@ -745,25 +757,25 @@ msgstr "" "pas encore terminé. Une valeur négative *-N* indique que le fils a été " "terminé par un signal *N*." -#: library/multiprocessing.rst:574 +#: library/multiprocessing.rst:584 msgid "" "If the child's :meth:`run` method returned normally, the exit code will be " "0. If it terminated via :func:`sys.exit` with an integer argument *N*, the " "exit code will be *N*." msgstr "" -#: library/multiprocessing.rst:578 +#: library/multiprocessing.rst:588 msgid "" "If the child terminated due to an exception not caught within :meth:`run`, " "the exit code will be 1. If it was terminated by signal *N*, the exit code " "will be the negative value *-N*." msgstr "" -#: library/multiprocessing.rst:584 +#: library/multiprocessing.rst:594 msgid "The process's authentication key (a byte string)." msgstr "La clé d'authentification du processus (une chaîne d'octets)." -#: library/multiprocessing.rst:586 +#: library/multiprocessing.rst:596 msgid "" "When :mod:`multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." @@ -771,7 +783,7 @@ msgstr "" "Quand :mod:`multiprocessing` est initialisé, une chaîne aléatoire est " "assignée au processus principal, en utilisant :func:`os.urandom`." -#: library/multiprocessing.rst:589 +#: library/multiprocessing.rst:599 msgid "" "When a :class:`Process` object is created, it will inherit the " "authentication key of its parent process, although this may be changed by " @@ -781,11 +793,11 @@ msgstr "" "d'authentification de son parent, bien que cela puisse être changé à l'aide " "du paramètre :attr:`authkey` pour une autre chaîne d'octets." -#: library/multiprocessing.rst:593 +#: library/multiprocessing.rst:603 msgid "See :ref:`multiprocessing-auth-keys`." msgstr "Voir :ref:`multiprocessing-auth-keys`." -#: library/multiprocessing.rst:597 +#: library/multiprocessing.rst:607 msgid "" "A numeric handle of a system object which will become \"ready\" when the " "process ends." @@ -793,7 +805,7 @@ msgstr "" "Un identifiant numérique de l'objet système qui devient « prêt » quand le " "processus se termine." -#: library/multiprocessing.rst:600 +#: library/multiprocessing.rst:610 msgid "" "You can use this value if you want to wait on several events at once using :" "func:`multiprocessing.connection.wait`. Otherwise calling :meth:`join()` is " @@ -803,7 +815,7 @@ msgstr "" "événements à la fois en utilisant :func:`multiprocessing.connection.wait`. " "Autrement appeler :meth:`join()` est plus simple." -#: library/multiprocessing.rst:604 +#: library/multiprocessing.rst:614 msgid "" "On Windows, this is an OS handle usable with the ``WaitForSingleObject`` and " "``WaitForMultipleObjects`` family of API calls. On Unix, this is a file " @@ -814,7 +826,7 @@ msgstr "" "Unix, c'est un descripteur de fichier utilisable avec les primitives sur " "module :mod:`select`." -#: library/multiprocessing.rst:612 +#: library/multiprocessing.rst:622 msgid "" "Terminate the process. On Unix this is done using the ``SIGTERM`` signal; " "on Windows :c:func:`TerminateProcess` is used. Note that exit handlers and " @@ -825,7 +837,7 @@ msgstr "" "les gestionnaires de sortie, les clauses ``finally`` etc. ne sont pas " "exécutées." -#: library/multiprocessing.rst:616 +#: library/multiprocessing.rst:626 msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." @@ -833,7 +845,7 @@ msgstr "" "Notez que les descendants du processus ne sont *pas* terminés – ils " "deviendront simplement orphelins." -#: library/multiprocessing.rst:621 +#: library/multiprocessing.rst:631 msgid "" "If this method is used when the associated process is using a pipe or queue " "then the pipe or queue is liable to become corrupted and may become unusable " @@ -847,13 +859,13 @@ msgstr "" "si le processus a acquis un verrou, un sémaphore ou autre, alors le terminer " "est susceptible de provoquer des blocages dans les autres processus." -#: library/multiprocessing.rst:629 +#: library/multiprocessing.rst:639 msgid "Same as :meth:`terminate()` but using the ``SIGKILL`` signal on Unix." msgstr "" "Identique à :meth:`terminate()` mais utilisant le signal ``SIGKILL`` sous " "Unix." -#: library/multiprocessing.rst:635 +#: library/multiprocessing.rst:645 msgid "" "Close the :class:`Process` object, releasing all resources associated with " "it. :exc:`ValueError` is raised if the underlying process is still " @@ -866,7 +878,7 @@ msgstr "" "plupart des autres méthodes et attributs des objets :class:`Process` " "lèveront une :exc:`ValueError`." -#: library/multiprocessing.rst:643 +#: library/multiprocessing.rst:653 msgid "" "Note that the :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:" "`terminate` and :attr:`exitcode` methods should only be called by the " @@ -876,15 +888,15 @@ msgstr "" "`terminate` et :attr:`exitcode` ne doivent être appelées que par le " "processus ayant créé l'objet *process*." -#: library/multiprocessing.rst:647 +#: library/multiprocessing.rst:657 msgid "Example usage of some of the methods of :class:`Process`:" msgstr "Exemple d'utilisation de quelques méthodes de :class:`Process` :" -#: library/multiprocessing.rst:668 +#: library/multiprocessing.rst:677 msgid "The base class of all :mod:`multiprocessing` exceptions." msgstr "La classe de base de toutes les exceptions de :mod:`multiprocessing`." -#: library/multiprocessing.rst:672 +#: library/multiprocessing.rst:681 msgid "" "Exception raised by :meth:`Connection.recv_bytes_into()` when the supplied " "buffer object is too small for the message read." @@ -892,7 +904,7 @@ msgstr "" "Exception levée par :meth:`Connection.recv_bytes_into()` quand l'objet " "tampon fourni est trop petit pour le message à lire." -#: library/multiprocessing.rst:675 +#: library/multiprocessing.rst:684 msgid "" "If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " "give the message as a byte string." @@ -900,20 +912,20 @@ msgstr "" "Si ``e`` est une instance de :exc:`BufferTooShort` alors ``e.args[0]`` " "donnera un message sous forme d'une chaîne d'octets." -#: library/multiprocessing.rst:680 +#: library/multiprocessing.rst:689 msgid "Raised when there is an authentication error." msgstr "Levée quand il y a une erreur d'authentification." -#: library/multiprocessing.rst:684 +#: library/multiprocessing.rst:693 msgid "Raised by methods with a timeout when the timeout expires." msgstr "" "Levée par les méthodes avec temps d'exécution limité, quand ce temps expire." -#: library/multiprocessing.rst:687 +#: library/multiprocessing.rst:696 msgid "Pipes and Queues" msgstr "Tubes (*pipes*) et files (*queues*)" -#: library/multiprocessing.rst:689 +#: library/multiprocessing.rst:698 msgid "" "When using multiple processes, one generally uses message passing for " "communication between processes and avoids having to use any synchronization " @@ -923,7 +935,7 @@ msgstr "" "les faire communiquer entre eux pour éviter d'avoir à utiliser des " "primitives de synchronisation comme les verrous." -#: library/multiprocessing.rst:693 +#: library/multiprocessing.rst:702 msgid "" "For passing messages one can use :func:`Pipe` (for a connection between two " "processes) or a queue (which allows multiple producers and consumers)." @@ -932,7 +944,7 @@ msgstr "" "connexion entre deux processus) ou une file (qui autorise de plusieurs " "producteurs et consommateurs)." -#: library/multiprocessing.rst:696 +#: library/multiprocessing.rst:705 msgid "" "The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " "are multi-producer, multi-consumer :abbr:`FIFO (first-in, first-out)` queues " @@ -948,7 +960,7 @@ msgstr "" "meth:`~queue.Queue.task_done` et :meth:`~queue.Queue.join` introduites dans " "la classe :class:`queue.Queue` par Python 2.5." -#: library/multiprocessing.rst:703 +#: library/multiprocessing.rst:712 msgid "" "If you use :class:`JoinableQueue` then you **must** call :meth:" "`JoinableQueue.task_done` for each task removed from the queue or else the " @@ -960,7 +972,7 @@ msgstr "" "sémaphore utilisé pour compter le nombre de tâches non accomplies pourra " "éventuellement déborder, levant une exception." -#: library/multiprocessing.rst:708 +#: library/multiprocessing.rst:717 msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." @@ -968,7 +980,7 @@ msgstr "" "Notez que vous pouvez aussi créer une file partagée en utilisant un objet " "gestionnaire – voir :ref:`multiprocessing-managers`." -#: library/multiprocessing.rst:713 +#: library/multiprocessing.rst:722 msgid "" ":mod:`multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." "Full` exceptions to signal a timeout. They are not available in the :mod:" @@ -979,7 +991,7 @@ msgstr "" "Elles ne sont pas disponibles dans l'espace de nommage :mod:" "`multiprocessing` donc vous devez les importer depuis le module :mod:`queue`." -#: library/multiprocessing.rst:720 +#: library/multiprocessing.rst:729 msgid "" "When an object is put on a queue, the object is pickled and a background " "thread later flushes the pickled data to an underlying pipe. This has some " @@ -994,7 +1006,7 @@ msgstr "" "pratique — si elles vous embêtent vraiment, alors vous pouvez à la place " "utiliser une file créée avec un :ref:`manager `." -#: library/multiprocessing.rst:727 +#: library/multiprocessing.rst:736 msgid "" "After putting an object on an empty queue there may be an infinitesimal " "delay before the queue's :meth:`~Queue.empty` method returns :const:`False` " @@ -1005,7 +1017,7 @@ msgstr "" "const:`False` et que :meth:`~Queue.get_nowait` renvoie une valeur sans lever " "de :exc:`queue.Empty`." -#: library/multiprocessing.rst:732 +#: library/multiprocessing.rst:741 msgid "" "If multiple processes are enqueuing objects, it is possible for the objects " "to be received at the other end out-of-order. However, objects enqueued by " @@ -1017,7 +1029,7 @@ msgstr "" "objets placés par un même processus seront toujours récupérés dans l'ordre " "d'insertion." -#: library/multiprocessing.rst:739 +#: library/multiprocessing.rst:748 msgid "" "If a process is killed using :meth:`Process.terminate` or :func:`os.kill` " "while it is trying to use a :class:`Queue`, then the data in the queue is " @@ -1030,7 +1042,7 @@ msgstr "" "d'exceptions dans les autres processus quand ils tenteront d'utiliser la " "file." -#: library/multiprocessing.rst:746 +#: library/multiprocessing.rst:755 msgid "" "As mentioned above, if a child process has put items on a queue (and it has " "not used :meth:`JoinableQueue.cancel_join_thread ` -- see also :ref:`multiprocessing-listeners-clients`." @@ -1621,7 +1633,7 @@ msgstr "" "` – voir aussi :ref:`multiprocessing-listeners-" "clients`." -#: library/multiprocessing.rst:1098 +#: library/multiprocessing.rst:1107 msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." @@ -1629,7 +1641,7 @@ msgstr "" "Envoie un objet sur l'autre extrémité de la connexion, qui devra être lu " "avec :meth:`recv`." -#: library/multiprocessing.rst:1101 +#: library/multiprocessing.rst:1110 msgid "" "The object must be picklable. Very large pickles (approximately 32 MiB+, " "though it depends on the OS) may raise a :exc:`ValueError` exception." @@ -1638,7 +1650,7 @@ msgstr "" "32 Mo+, bien que cela dépende de l'OS) pourront lever une exception :exc:" "`ValueError`." -#: library/multiprocessing.rst:1106 +#: library/multiprocessing.rst:1115 msgid "" "Return an object sent from the other end of the connection using :meth:" "`send`. Blocks until there is something to receive. Raises :exc:`EOFError` " @@ -1649,27 +1661,27 @@ msgstr "" "une :exc:`EOFError` s'il n'y a plus rien à recevoir et que l'autre extrémité " "a été fermée." -#: library/multiprocessing.rst:1113 +#: library/multiprocessing.rst:1122 msgid "Return the file descriptor or handle used by the connection." msgstr "" "Renvoie le descripteur de fichier ou identifiant utilisé par la connexion." -#: library/multiprocessing.rst:1117 +#: library/multiprocessing.rst:1126 msgid "Close the connection." msgstr "Ferme la connexion." -#: library/multiprocessing.rst:1119 +#: library/multiprocessing.rst:1128 msgid "This is called automatically when the connection is garbage collected." msgstr "" "Elle est appelée automatiquement quand la connexion est collectée par le " "ramasse-miettes." -#: library/multiprocessing.rst:1123 +#: library/multiprocessing.rst:1132 msgid "Return whether there is any data available to be read." msgstr "" "Renvoie vrai ou faux selon si des données sont disponibles à la lecture." -#: library/multiprocessing.rst:1125 +#: library/multiprocessing.rst:1134 msgid "" "If *timeout* is not specified then it will return immediately. If *timeout* " "is a number then this specifies the maximum time in seconds to block. If " @@ -1679,7 +1691,7 @@ msgstr "" "*timeout* est un nombre alors il spécifie le temps maximum de blocage en " "secondes. Si *timeout* est ``None``, un temps d'attente infini est utilisé." -#: library/multiprocessing.rst:1129 +#: library/multiprocessing.rst:1138 msgid "" "Note that multiple connection objects may be polled at once by using :func:" "`multiprocessing.connection.wait`." @@ -1687,13 +1699,13 @@ msgstr "" "Notez que plusieurs objets de connexions peuvent être attendus en même temps " "à l'aide de :func:`multiprocessing.connection.wait`." -#: library/multiprocessing.rst:1134 +#: library/multiprocessing.rst:1143 msgid "Send byte data from a :term:`bytes-like object` as a complete message." msgstr "" "Envoie des données binaires depuis un :term:`bytes-like object` comme un " "message complet." -#: library/multiprocessing.rst:1136 +#: library/multiprocessing.rst:1145 msgid "" "If *offset* is given then data is read from that position in *buffer*. If " "*size* is given then that many bytes will be read from buffer. Very large " @@ -1706,7 +1718,7 @@ msgstr "" "MiB+, bien que cela dépende de l'OS) pourront lever une exception :exc:" "`ValueError`." -#: library/multiprocessing.rst:1143 +#: library/multiprocessing.rst:1152 msgid "" "Return a complete message of byte data sent from the other end of the " "connection as a string. Blocks until there is something to receive. Raises :" @@ -1718,7 +1730,7 @@ msgstr "" "qu'il y ait quelque chose à recevoir. Lève une :exc:`EOFError` s'il ne reste " "rien à recevoir et que l'autre côté de la connexion a été fermé." -#: library/multiprocessing.rst:1148 +#: library/multiprocessing.rst:1157 msgid "" "If *maxlength* is specified and the message is longer than *maxlength* then :" "exc:`OSError` is raised and the connection will no longer be readable." @@ -1726,7 +1738,7 @@ msgstr "" "Si *maxlength* est précisé que que le message est plus long que *maxlength* " "alors une :exc:`OSError` est levée et la connexion n'est plus lisible." -#: library/multiprocessing.rst:1152 +#: library/multiprocessing.rst:1161 msgid "" "This function used to raise :exc:`IOError`, which is now an alias of :exc:" "`OSError`." @@ -1734,7 +1746,7 @@ msgstr "" "Cette fonction levait auparavant une :exc:`IOError`, qui est maintenant un " "alias pour :exc:`OSError`." -#: library/multiprocessing.rst:1159 +#: library/multiprocessing.rst:1168 msgid "" "Read into *buffer* a complete message of byte data sent from the other end " "of the connection and return the number of bytes in the message. Blocks " @@ -1747,7 +1759,7 @@ msgstr "" "exc:`EOFError` s'il ne reste rien à recevoir et que l'autre côté de la " "connexion a été fermé." -#: library/multiprocessing.rst:1165 +#: library/multiprocessing.rst:1174 msgid "" "*buffer* must be a writable :term:`bytes-like object`. If *offset* is given " "then the message will be written into the buffer from that position. Offset " @@ -1758,7 +1770,7 @@ msgstr "" "position. *offset* doit être un entier positif, inférieur à la taille de " "*buffer* (en octets)." -#: library/multiprocessing.rst:1170 +#: library/multiprocessing.rst:1179 msgid "" "If the buffer is too short then a :exc:`BufferTooShort` exception is raised " "and the complete message is available as ``e.args[0]`` where ``e`` is the " @@ -1768,7 +1780,7 @@ msgstr "" "le message complet est accessible via ``e.args[0]`` où ``e`` est l'instance " "de l'exception." -#: library/multiprocessing.rst:1174 +#: library/multiprocessing.rst:1183 msgid "" "Connection objects themselves can now be transferred between processes " "using :meth:`Connection.send` and :meth:`Connection.recv`." @@ -1777,7 +1789,7 @@ msgstr "" "les processus en utilisant :meth:`Connection.send` et :meth:`Connection." "recv`." -#: library/multiprocessing.rst:1178 +#: library/multiprocessing.rst:1187 msgid "" "Connection objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " @@ -1788,11 +1800,11 @@ msgstr "" "`~contextmanager.__enter__` renvoie l'objet de connexion, et :meth:" "`~contextmanager.__exit__` appelle :meth:`close`." -#: library/multiprocessing.rst:1183 +#: library/multiprocessing.rst:1192 msgid "For example:" msgstr "Par exemple :" -#: library/multiprocessing.rst:1208 +#: library/multiprocessing.rst:1217 msgid "" "The :meth:`Connection.recv` method automatically unpickles the data it " "receives, which can be a security risk unless you can trust the process " @@ -1802,7 +1814,7 @@ msgstr "" "qu'elle reçoit, ce qui peut être un risque de sécurité à moins que vous ne " "fassiez réellement confiance au processus émetteur du message." -#: library/multiprocessing.rst:1212 +#: library/multiprocessing.rst:1221 msgid "" "Therefore, unless the connection object was produced using :func:`Pipe` you " "should only use the :meth:`~Connection.recv` and :meth:`~Connection.send` " @@ -1814,7 +1826,7 @@ msgstr "" "recv` et :meth:`~Connection.send` après avoir effectué une quelconque forme " "d'authentification. Voir :ref:`multiprocessing-auth-keys`." -#: library/multiprocessing.rst:1219 +#: library/multiprocessing.rst:1228 msgid "" "If a process is killed while it is trying to read or write to a pipe then " "the data in the pipe is likely to become corrupted, because it may become " @@ -1824,11 +1836,11 @@ msgstr "" "alors les données du tube ont des chances d'être corrompues, parce qu'il " "devient impossible d'être sûr d'où se trouvent les bornes du message." -#: library/multiprocessing.rst:1225 +#: library/multiprocessing.rst:1234 msgid "Synchronization primitives" msgstr "Primitives de synchronisation" -#: library/multiprocessing.rst:1229 +#: library/multiprocessing.rst:1238 msgid "" "Generally synchronization primitives are not as necessary in a multiprocess " "program as they are in a multithreaded program. See the documentation for :" @@ -1838,7 +1850,7 @@ msgstr "" "un programme multi-processus comme elles le sont dans un programme multi-" "fils d'exécution. Voir la documentation du module :mod:`threading`." -#: library/multiprocessing.rst:1233 +#: library/multiprocessing.rst:1242 msgid "" "Note that one can also create synchronization primitives by using a manager " "object -- see :ref:`multiprocessing-managers`." @@ -1846,11 +1858,11 @@ msgstr "" "Notez que vous pouvez aussi créer des primitives de synchronisation en " "utilisant un objet gestionnaire – voir :ref:`multiprocessing-managers`." -#: library/multiprocessing.rst:1238 +#: library/multiprocessing.rst:1247 msgid "A barrier object: a clone of :class:`threading.Barrier`." msgstr "Un objet barrière : un clone de :class:`threading.Barrier`." -#: library/multiprocessing.rst:1244 +#: library/multiprocessing.rst:1253 msgid "" "A bounded semaphore object: a close analog of :class:`threading." "BoundedSemaphore`." @@ -1858,7 +1870,7 @@ msgstr "" "Un objet sémaphore lié : un analogue proche de :class:`threading." "BoundedSemaphore`." -#: library/multiprocessing.rst:1247 library/multiprocessing.rst:1385 +#: library/multiprocessing.rst:1256 library/multiprocessing.rst:1394 msgid "" "A solitary difference from its close analog exists: its ``acquire`` method's " "first argument is named *block*, as is consistent with :meth:`Lock.acquire`." @@ -1867,7 +1879,7 @@ msgstr "" "de sa méthode ``acquire`` est appelé *block*, pour la cohérence avec :meth:" "`Lock.acquire`." -#: library/multiprocessing.rst:1251 +#: library/multiprocessing.rst:1260 msgid "" "On macOS, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." @@ -1875,12 +1887,12 @@ msgstr "" "Sur macOS, elle n'est pas distinguable de la classe :class:`Semaphore` parce " "que ``sem_getvalue()`` n'est pas implémentée sur cette plateforme." -#: library/multiprocessing.rst:1256 +#: library/multiprocessing.rst:1265 msgid "A condition variable: an alias for :class:`threading.Condition`." msgstr "" "Une variable conditionnelle : un alias pour :class:`threading.Condition`." -#: library/multiprocessing.rst:1258 +#: library/multiprocessing.rst:1267 msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " "object from :mod:`multiprocessing`." @@ -1888,15 +1900,15 @@ msgstr "" "Si *lock* est spécifié il doit être un objet :class:`Lock` ou :class:`RLock` " "du module :mod:`multiprocessing`." -#: library/multiprocessing.rst:1261 library/multiprocessing.rst:1796 +#: library/multiprocessing.rst:1270 library/multiprocessing.rst:1805 msgid "The :meth:`~threading.Condition.wait_for` method was added." msgstr "La méthode :meth:`~threading.Condition.wait_for` a été ajoutée." -#: library/multiprocessing.rst:1266 +#: library/multiprocessing.rst:1275 msgid "A clone of :class:`threading.Event`." msgstr "Un clone de :class:`threading.Event`." -#: library/multiprocessing.rst:1271 +#: library/multiprocessing.rst:1280 msgid "" "A non-recursive lock object: a close analog of :class:`threading.Lock`. Once " "a process or thread has acquired a lock, subsequent attempts to acquire it " @@ -1915,7 +1927,7 @@ msgstr "" "dans :class:`multiprocessing.Lock` et s'appliquent aux processus et aux fils " "d'exécution, à l'exception de ce qui est indiqué." -#: library/multiprocessing.rst:1279 +#: library/multiprocessing.rst:1288 msgid "" "Note that :class:`Lock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.Lock`` initialized with a default " @@ -1925,7 +1937,7 @@ msgstr "" "instance de ``multiprocessing.synchronize.Lock`` initialisée avec un " "contexte par défaut." -#: library/multiprocessing.rst:1283 +#: library/multiprocessing.rst:1292 msgid "" ":class:`Lock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." @@ -1933,11 +1945,11 @@ msgstr "" ":class:`Lock` supporte le protocole :term:`context manager` et peut ainsi " "être utilisé avec une instruction :keyword:`with`." -#: library/multiprocessing.rst:1288 library/multiprocessing.rst:1339 +#: library/multiprocessing.rst:1297 library/multiprocessing.rst:1348 msgid "Acquire a lock, blocking or non-blocking." msgstr "Acquiert un verrou, bloquant ou non bloquant." -#: library/multiprocessing.rst:1290 +#: library/multiprocessing.rst:1299 msgid "" "With the *block* argument set to ``True`` (the default), the method call " "will block until the lock is in an unlocked state, then set it to locked and " @@ -1949,7 +1961,7 @@ msgstr "" "de renvoyer ``True``. Notez que le nom de ce premier argument diffère de " "celui de :meth:`threading.Lock.acquire`." -#: library/multiprocessing.rst:1295 +#: library/multiprocessing.rst:1304 msgid "" "With the *block* argument set to ``False``, the method call does not block. " "If the lock is currently in a locked state, return ``False``; otherwise set " @@ -1959,7 +1971,7 @@ msgstr "" "verrou est actuellement verrouillé, renvoie ``False`` ; autrement verrouille " "le verrou et renvoie ``True``." -#: library/multiprocessing.rst:1299 +#: library/multiprocessing.rst:1308 msgid "" "When invoked with a positive, floating-point value for *timeout*, block for " "at most the number of seconds specified by *timeout* as long as the lock can " @@ -1983,7 +1995,7 @@ msgstr "" "alors ignoré. Renvoie ``True`` si le verrou a été acquis et ``False`` si le " "temps de *timeout* a expiré." -#: library/multiprocessing.rst:1314 +#: library/multiprocessing.rst:1323 msgid "" "Release a lock. This can be called from any process or thread, not only the " "process or thread which originally acquired the lock." @@ -1992,7 +2004,7 @@ msgstr "" "fil d'exécution, pas uniquement le processus ou le fil qui a acquis le " "verrou à l'origine." -#: library/multiprocessing.rst:1317 +#: library/multiprocessing.rst:1326 msgid "" "Behavior is the same as in :meth:`threading.Lock.release` except that when " "invoked on an unlocked lock, a :exc:`ValueError` is raised." @@ -2001,7 +2013,7 @@ msgstr "" "lorsque la méthode est appelée sur un verrou déverrouillé, une :exc:" "`ValueError` est levée." -#: library/multiprocessing.rst:1323 +#: library/multiprocessing.rst:1332 msgid "" "A recursive lock object: a close analog of :class:`threading.RLock`. A " "recursive lock must be released by the process or thread that acquired it. " @@ -2015,7 +2027,7 @@ msgstr "" "même processus/fil peut l'acquérir à nouveau sans bloquer ; le processus/fil " "doit le libérer autant de fois qu'il l'acquiert." -#: library/multiprocessing.rst:1329 +#: library/multiprocessing.rst:1338 msgid "" "Note that :class:`RLock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.RLock`` initialized with a default " @@ -2025,7 +2037,7 @@ msgstr "" "instance de ``multiprocessing.synchronize.RLock`` initialisée avec un " "contexte par défaut." -#: library/multiprocessing.rst:1333 +#: library/multiprocessing.rst:1342 msgid "" ":class:`RLock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." @@ -2033,7 +2045,7 @@ msgstr "" ":class:`RLock` supporte le protocole :term:`context manager` et peut ainsi " "être utilisée avec une instruction :keyword:`with`." -#: library/multiprocessing.rst:1341 +#: library/multiprocessing.rst:1350 msgid "" "When invoked with the *block* argument set to ``True``, block until the lock " "is in an unlocked state (not owned by any process or thread) unless the lock " @@ -2054,7 +2066,7 @@ msgstr "" "le comportement de ce premier argument comparé à l'implémentation de :meth:" "`threading.RLock.acquire`, à commencer par le nom de l'argument lui-même." -#: library/multiprocessing.rst:1351 +#: library/multiprocessing.rst:1360 msgid "" "When invoked with the *block* argument set to ``False``, do not block. If " "the lock has already been acquired (and thus is owned) by another process or " @@ -2071,7 +2083,7 @@ msgstr "" "à ``False``. Si le verrou est déverrouillé, le processus/fil courant en " "prend possession et incrémente son niveau de récursion, renvoyant ``True``." -#: library/multiprocessing.rst:1359 +#: library/multiprocessing.rst:1368 msgid "" "Use and behaviors of the *timeout* argument are the same as in :meth:`Lock." "acquire`. Note that some of these behaviors of *timeout* differ from the " @@ -2081,7 +2093,7 @@ msgstr "" "pour :meth:`Lock.acquire`. Notez que certains de ces comportements diffèrent " "par rapport à ceux implémentés par :meth:`threading.RLock.acquire`." -#: library/multiprocessing.rst:1366 +#: library/multiprocessing.rst:1375 msgid "" "Release a lock, decrementing the recursion level. If after the decrement " "the recursion level is zero, reset the lock to unlocked (not owned by any " @@ -2098,7 +2110,7 @@ msgstr "" "récursion est toujours strictement positif, le verrou reste verrouillé et " "propriété du processus/fil appelant." -#: library/multiprocessing.rst:1374 +#: library/multiprocessing.rst:1383 msgid "" "Only call this method when the calling process or thread owns the lock. An :" "exc:`AssertionError` is raised if this method is called by a process or " @@ -2112,11 +2124,11 @@ msgstr "" "n'est pas verrouillé (possédé). Notez que le type d'exception levé dans " "cette situation diffère du comportement de :meth:`threading.RLock.release`." -#: library/multiprocessing.rst:1383 +#: library/multiprocessing.rst:1392 msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." msgstr "Un objet sémaphore, proche analogue de :class:`threading.Semaphore`." -#: library/multiprocessing.rst:1390 +#: library/multiprocessing.rst:1399 msgid "" "On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a " "timeout will emulate that function's behavior using a sleeping loop." @@ -2125,7 +2137,7 @@ msgstr "" "``acquire()`` avec un temps d'exécution limité émule le comportement de " "cette fonction en utilisant une boucle d'attente." -#: library/multiprocessing.rst:1395 +#: library/multiprocessing.rst:1404 msgid "" "If the SIGINT signal generated by :kbd:`Ctrl-C` arrives while the main " "thread is blocked by a call to :meth:`BoundedSemaphore.acquire`, :meth:`Lock." @@ -2139,7 +2151,7 @@ msgstr "" "acquire`, :meth:`Condition.acquire` ou :meth:`Condition.wait`, l'appel sera " "immédiatement interrompu et une :exc:`KeyboardInterrupt` sera levée." -#: library/multiprocessing.rst:1401 +#: library/multiprocessing.rst:1410 msgid "" "This differs from the behaviour of :mod:`threading` where SIGINT will be " "ignored while the equivalent blocking calls are in progress." @@ -2147,7 +2159,7 @@ msgstr "" "Cela diffère du comportement de :mod:`threading` où le *SIGINT* est ignoré " "tant que les appels bloquants sont en cours." -#: library/multiprocessing.rst:1406 +#: library/multiprocessing.rst:1415 msgid "" "Some of this package's functionality requires a functioning shared semaphore " "implementation on the host operating system. Without one, the :mod:" @@ -2161,11 +2173,11 @@ msgstr "" "de l'importer lèveront une :exc:`ImportError`. Voir :issue:`3770` pour plus " "d'informations." -#: library/multiprocessing.rst:1414 +#: library/multiprocessing.rst:1423 msgid "Shared :mod:`ctypes` Objects" msgstr "Objets :mod:`ctypes` partagés" -#: library/multiprocessing.rst:1416 +#: library/multiprocessing.rst:1425 msgid "" "It is possible to create shared objects using shared memory which can be " "inherited by child processes." @@ -2173,7 +2185,7 @@ msgstr "" "Il est possible de créer des objets partagés utilisant une mémoire partagée " "pouvant être héritée par les processus fils." -#: library/multiprocessing.rst:1421 +#: library/multiprocessing.rst:1430 msgid "" "Return a :mod:`ctypes` object allocated from shared memory. By default the " "return value is actually a synchronized wrapper for the object. The object " @@ -2184,7 +2196,7 @@ msgstr "" "L'objet en lui-même est accessible par l'attribut *value* de l'une :class:" "`Value`." -#: library/multiprocessing.rst:1425 library/multiprocessing.rst:1512 +#: library/multiprocessing.rst:1434 library/multiprocessing.rst:1521 msgid "" "*typecode_or_type* determines the type of the returned object: it is either " "a ctypes type or a one character typecode of the kind used by the :mod:" @@ -2194,7 +2206,7 @@ msgstr "" "d'un type *ctype* soit d'un caractère *typecode* tel qu'utilisé par le " "module :mod:`array`. *\\*args* est passé au constructeur de ce type." -#: library/multiprocessing.rst:1429 +#: library/multiprocessing.rst:1438 msgid "" "If *lock* is ``True`` (the default) then a new recursive lock object is " "created to synchronize access to the value. If *lock* is a :class:`Lock` " @@ -2210,7 +2222,7 @@ msgstr "" "automatiquement protégé par un verrou, donc il ne sera pas forcément " "« *process-safe* »." -#: library/multiprocessing.rst:1436 +#: library/multiprocessing.rst:1445 msgid "" "Operations like ``+=`` which involve a read and write are not atomic. So " "if, for instance, you want to atomically increment a shared value it is " @@ -2221,7 +2233,7 @@ msgstr "" "incrémentation atomique sur une valeur partagée, vous ne pouvez pas " "simplement faire ::" -#: library/multiprocessing.rst:1442 +#: library/multiprocessing.rst:1451 msgid "" "Assuming the associated lock is recursive (which it is by default) you can " "instead do ::" @@ -2229,12 +2241,12 @@ msgstr "" "En supposant que le verrou associé est récursif (ce qui est le cas par " "défaut), vous pouvez à la place faire ::" -#: library/multiprocessing.rst:1448 library/multiprocessing.rst:1538 -#: library/multiprocessing.rst:1553 +#: library/multiprocessing.rst:1457 library/multiprocessing.rst:1547 +#: library/multiprocessing.rst:1562 msgid "Note that *lock* is a keyword-only argument." msgstr "Notez que *lock* est un argument *keyword-only*." -#: library/multiprocessing.rst:1452 +#: library/multiprocessing.rst:1461 msgid "" "Return a ctypes array allocated from shared memory. By default the return " "value is actually a synchronized wrapper for the array." @@ -2242,7 +2254,7 @@ msgstr "" "Renvoie un tableau *ctypes* alloué depuis la mémoire partagée. Par défaut la " "valeur de retour est en fait un *wrapper* synchronisé autour du tableau." -#: library/multiprocessing.rst:1455 +#: library/multiprocessing.rst:1464 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -2258,7 +2270,7 @@ msgstr "" "zéros. Autrement, *size*or_initializer* est une séquence qui sera utilisée " "pour initialiser le tableau et dont la taille détermine celle du tableau." -#: library/multiprocessing.rst:1462 +#: library/multiprocessing.rst:1471 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " "synchronize access to the value. If *lock* is a :class:`Lock` or :class:" @@ -2274,11 +2286,11 @@ msgstr "" "automatiquement protégé par un verrou, donc il ne sera pas forcément " "« *process-safe* »." -#: library/multiprocessing.rst:1469 +#: library/multiprocessing.rst:1478 msgid "Note that *lock* is a keyword only argument." msgstr "Notez que *lock* est un argument *keyword-only*." -#: library/multiprocessing.rst:1471 +#: library/multiprocessing.rst:1480 msgid "" "Note that an array of :data:`ctypes.c_char` has *value* and *raw* attributes " "which allow one to use it to store and retrieve strings." @@ -2287,11 +2299,11 @@ msgstr "" "*raw* qui permettent de l'utiliser pour stocker et récupérer des chaînes de " "caractères." -#: library/multiprocessing.rst:1476 +#: library/multiprocessing.rst:1485 msgid "The :mod:`multiprocessing.sharedctypes` module" msgstr "Le module :mod:`multiprocessing.sharedctypes`" -#: library/multiprocessing.rst:1481 +#: library/multiprocessing.rst:1490 msgid "" "The :mod:`multiprocessing.sharedctypes` module provides functions for " "allocating :mod:`ctypes` objects from shared memory which can be inherited " @@ -2301,7 +2313,7 @@ msgstr "" "allouer des objets :mod:`ctypes` depuis la mémoire partagée, qui peuvent " "être hérités par les processus fils." -#: library/multiprocessing.rst:1487 +#: library/multiprocessing.rst:1496 msgid "" "Although it is possible to store a pointer in shared memory remember that " "this will refer to a location in the address space of a specific process. " @@ -2315,11 +2327,11 @@ msgstr "" "chances d'être invalide dans le contexte d'un autre processus et " "déréférencer le pointeur depuis ce second processus peut causer un plantage." -#: library/multiprocessing.rst:1495 +#: library/multiprocessing.rst:1504 msgid "Return a ctypes array allocated from shared memory." msgstr "Renvoie un tableau *ctypes* alloué depuis la mémoire partagée." -#: library/multiprocessing.rst:1497 +#: library/multiprocessing.rst:1506 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -2336,7 +2348,7 @@ msgstr "" "*size_or_initializer* est une séquence qui sera utilisée pour initialiser le " "tableau et dont la taille détermine celle du tableau." -#: library/multiprocessing.rst:1504 +#: library/multiprocessing.rst:1513 msgid "" "Note that setting and getting an element is potentially non-atomic -- use :" "func:`Array` instead to make sure that access is automatically synchronized " @@ -2346,11 +2358,11 @@ msgstr "" "utilisez plutôt :func:`Array` pour vous assurer de synchroniser " "automatiquement avec un verrou." -#: library/multiprocessing.rst:1510 +#: library/multiprocessing.rst:1519 msgid "Return a ctypes object allocated from shared memory." msgstr "Renvoie un objet *ctypes* alloué depuis la mémoire partagée." -#: library/multiprocessing.rst:1516 +#: library/multiprocessing.rst:1525 msgid "" "Note that setting and getting the value is potentially non-atomic -- use :" "func:`Value` instead to make sure that access is automatically synchronized " @@ -2360,7 +2372,7 @@ msgstr "" "utilisez plutôt :func:`Value` pour vous assurer de synchroniser " "automatiquement avec un verrou." -#: library/multiprocessing.rst:1520 +#: library/multiprocessing.rst:1529 msgid "" "Note that an array of :data:`ctypes.c_char` has ``value`` and ``raw`` " "attributes which allow one to use it to store and retrieve strings -- see " @@ -2370,7 +2382,7 @@ msgstr "" "*raw* qui permettent de l'utiliser pour stocker et récupérer des chaînes de " "caractères – voir la documentation de :mod:`ctypes`." -#: library/multiprocessing.rst:1526 +#: library/multiprocessing.rst:1535 msgid "" "The same as :func:`RawArray` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " @@ -2380,7 +2392,7 @@ msgstr "" "un *wrapper* de synchronisation *process-safe* pourra être renvoyé à la " "place d'un tableau *ctypes* brut." -#: library/multiprocessing.rst:1530 library/multiprocessing.rst:1546 +#: library/multiprocessing.rst:1539 library/multiprocessing.rst:1555 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " "synchronize access to the value. If *lock* is a :class:`~multiprocessing." @@ -2396,7 +2408,7 @@ msgstr "" "l'accès à l'objet renvoyé ne sera pas automatiquement protégé par un verrou, " "donc il ne sera pas forcément « *process-safe* »." -#: library/multiprocessing.rst:1542 +#: library/multiprocessing.rst:1551 msgid "" "The same as :func:`RawValue` except that depending on the value of *lock* a " "process-safe synchronization wrapper may be returned instead of a raw ctypes " @@ -2406,7 +2418,7 @@ msgstr "" "un *wrapper* de synchronisation *process-safe* pourra être renvoyé à la " "place d'un objet *ctypes* brut." -#: library/multiprocessing.rst:1557 +#: library/multiprocessing.rst:1566 msgid "" "Return a ctypes object allocated from shared memory which is a copy of the " "ctypes object *obj*." @@ -2414,7 +2426,7 @@ msgstr "" "Renvoie un objet *ctypes* alloué depuis la mémoire partagée, qui est une " "copie de l'objet *ctypes* *obj*." -#: library/multiprocessing.rst:1562 +#: library/multiprocessing.rst:1571 msgid "" "Return a process-safe wrapper object for a ctypes object which uses *lock* " "to synchronize access. If *lock* is ``None`` (the default) then a :class:" @@ -2424,7 +2436,7 @@ msgstr "" "*lock* pour synchroniser l'accès. Si *lock* est ``None`` (par défaut), un " "objet :class:`multiprocessing.RLock` est créé automatiquement." -#: library/multiprocessing.rst:1566 +#: library/multiprocessing.rst:1575 msgid "" "A synchronized wrapper will have two methods in addition to those of the " "object it wraps: :meth:`get_obj` returns the wrapped object and :meth:" @@ -2434,7 +2446,7 @@ msgstr "" "qu'il enveloppe : :meth:`get_obj` renvoie l'objet *wrappé* et :meth:" "`get_lock` renvoie le verrou utilisé pour la synchronisation." -#: library/multiprocessing.rst:1570 +#: library/multiprocessing.rst:1579 msgid "" "Note that accessing the ctypes object through the wrapper can be a lot " "slower than accessing the raw ctypes object." @@ -2442,12 +2454,12 @@ msgstr "" "Notez qu'accéder à l'objet *ctypes* à travers le *wrapper* peut s'avérer " "beaucoup plus lent qu'accéder directement à l'objet *ctypes* brut." -#: library/multiprocessing.rst:1573 +#: library/multiprocessing.rst:1582 msgid "Synchronized objects support the :term:`context manager` protocol." msgstr "" "Les objets synchronisés supportent le protocole :term:`context manager`." -#: library/multiprocessing.rst:1577 +#: library/multiprocessing.rst:1586 msgid "" "The table below compares the syntax for creating shared ctypes objects from " "shared memory with the normal ctypes syntax. (In the table ``MyStruct`` is " @@ -2458,63 +2470,63 @@ msgstr "" "le tableau, ``MyStruct`` est une sous-classe quelconque de :class:`ctypes." "Structure`.)" -#: library/multiprocessing.rst:1582 +#: library/multiprocessing.rst:1591 msgid "ctypes" msgstr "ctypes" -#: library/multiprocessing.rst:1582 +#: library/multiprocessing.rst:1591 msgid "sharedctypes using type" msgstr "*sharedctypes* utilisant un type" -#: library/multiprocessing.rst:1582 +#: library/multiprocessing.rst:1591 msgid "sharedctypes using typecode" msgstr "*sharedctypes* utilisant un *typecode*" -#: library/multiprocessing.rst:1584 +#: library/multiprocessing.rst:1593 msgid "c_double(2.4)" msgstr "c_double(2.4)" -#: library/multiprocessing.rst:1584 +#: library/multiprocessing.rst:1593 msgid "RawValue(c_double, 2.4)" msgstr "RawValue(c_double, 2.4)" -#: library/multiprocessing.rst:1584 +#: library/multiprocessing.rst:1593 msgid "RawValue('d', 2.4)" msgstr "RawValue('d', 2.4)" -#: library/multiprocessing.rst:1585 +#: library/multiprocessing.rst:1594 msgid "MyStruct(4, 6)" msgstr "MyStruct(4, 6)" -#: library/multiprocessing.rst:1585 +#: library/multiprocessing.rst:1594 msgid "RawValue(MyStruct, 4, 6)" msgstr "RawValue(MyStruct, 4, 6)" -#: library/multiprocessing.rst:1586 +#: library/multiprocessing.rst:1595 msgid "(c_short * 7)()" msgstr "(c_short * 7)()" -#: library/multiprocessing.rst:1586 +#: library/multiprocessing.rst:1595 msgid "RawArray(c_short, 7)" msgstr "RawArray(c_short, 7)" -#: library/multiprocessing.rst:1586 +#: library/multiprocessing.rst:1595 msgid "RawArray('h', 7)" msgstr "RawArray('h', 7)" -#: library/multiprocessing.rst:1587 +#: library/multiprocessing.rst:1596 msgid "(c_int * 3)(9, 2, 8)" msgstr "(c_int * 3)(9, 2, 8)" -#: library/multiprocessing.rst:1587 +#: library/multiprocessing.rst:1596 msgid "RawArray(c_int, (9, 2, 8))" msgstr "RawArray(c_int, (9, 2, 8))" -#: library/multiprocessing.rst:1587 +#: library/multiprocessing.rst:1596 msgid "RawArray('i', (9, 2, 8))" msgstr "RawArray('i', (9, 2, 8))" -#: library/multiprocessing.rst:1591 +#: library/multiprocessing.rst:1600 msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" @@ -2522,15 +2534,15 @@ msgstr "" "Ci-dessous un exemple où des objets *ctypes* sont modifiés par un processus " "fils ::" -#: library/multiprocessing.rst:1629 +#: library/multiprocessing.rst:1638 msgid "The results printed are ::" msgstr "Les résultats affichés sont ::" -#: library/multiprocessing.rst:1642 +#: library/multiprocessing.rst:1651 msgid "Managers" msgstr "Gestionnaires" -#: library/multiprocessing.rst:1644 +#: library/multiprocessing.rst:1653 msgid "" "Managers provide a way to create data which can be shared between different " "processes, including sharing over a network between processes running on " @@ -2545,7 +2557,7 @@ msgstr "" "Les autres processus peuvent accéder aux objets partagés à l'aide de " "mandataires." -#: library/multiprocessing.rst:1653 +#: library/multiprocessing.rst:1662 msgid "" "Returns a started :class:`~multiprocessing.managers.SyncManager` object " "which can be used for sharing objects between processes. The returned " @@ -2558,7 +2570,7 @@ msgstr "" "méthodes pour créer des objets partagés et renvoyer les mandataires " "correspondants." -#: library/multiprocessing.rst:1661 +#: library/multiprocessing.rst:1670 msgid "" "Manager processes will be shutdown as soon as they are garbage collected or " "their parent process exits. The manager classes are defined in the :mod:" @@ -2568,11 +2580,11 @@ msgstr "" "le ramasse-miettes ou que leur processus parent se terminera. Les classes " "gestionnaires sont définies dans le module :mod:`multiprocessing.managers` :" -#: library/multiprocessing.rst:1667 +#: library/multiprocessing.rst:1676 msgid "Create a BaseManager object." msgstr "Crée un objet *BaseManager*." -#: library/multiprocessing.rst:1669 +#: library/multiprocessing.rst:1678 msgid "" "Once created one should call :meth:`start` or ``get_server()." "serve_forever()`` to ensure that the manager object refers to a started " @@ -2582,7 +2594,7 @@ msgstr "" "serve_forever()`` pour assurer que l'objet gestionnaire référence un " "processus gestionnaire démarré." -#: library/multiprocessing.rst:1672 +#: library/multiprocessing.rst:1681 msgid "" "*address* is the address on which the manager process listens for new " "connections. If *address* is ``None`` then an arbitrary one is chosen." @@ -2591,7 +2603,7 @@ msgstr "" "de nouvelles connexions. Si *address* est ``None``, une adresse arbitraire " "est choisie." -#: library/multiprocessing.rst:1675 +#: library/multiprocessing.rst:1684 msgid "" "*authkey* is the authentication key which will be used to check the validity " "of incoming connections to the server process. If *authkey* is ``None`` " @@ -2603,7 +2615,7 @@ msgstr "" "``None`` alors ``current_process().authkey`` est utilisée. Autrement " "*authkey* est utilisée et doit être une chaîne d'octets." -#: library/multiprocessing.rst:1682 +#: library/multiprocessing.rst:1691 msgid "" "Start a subprocess to start the manager. If *initializer* is not ``None`` " "then the subprocess will call ``initializer(*initargs)`` when it starts." @@ -2612,7 +2624,7 @@ msgstr "" "n'est pas ``None`` alors le sous-processus appellera " "``initializer(*initargs)`` quand il démarrera." -#: library/multiprocessing.rst:1687 +#: library/multiprocessing.rst:1696 msgid "" "Returns a :class:`Server` object which represents the actual server under " "the control of the Manager. The :class:`Server` object supports the :meth:" @@ -2622,16 +2634,16 @@ msgstr "" "du gestionnaire. L'objet :class:`Server` supporte la méthode :meth:" "`serve_forever` ::" -#: library/multiprocessing.rst:1696 +#: library/multiprocessing.rst:1705 msgid ":class:`Server` additionally has an :attr:`address` attribute." msgstr ":class:`Server` possède en plus un attribut :attr:`address`." -#: library/multiprocessing.rst:1700 +#: library/multiprocessing.rst:1709 msgid "Connect a local manager object to a remote manager process::" msgstr "" "Connecte un objet gestionnaire local au processus gestionnaire distant ::" -#: library/multiprocessing.rst:1708 +#: library/multiprocessing.rst:1717 msgid "" "Stop the process used by the manager. This is only available if :meth:" "`start` has been used to start the server process." @@ -2640,11 +2652,11 @@ msgstr "" "uniquement si :meth:`start` a été utilisée pour démarrer le processus " "serveur." -#: library/multiprocessing.rst:1711 +#: library/multiprocessing.rst:1720 msgid "This can be called multiple times." msgstr "Cette méthode peut être appelée plusieurs fois." -#: library/multiprocessing.rst:1715 +#: library/multiprocessing.rst:1724 msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." @@ -2652,7 +2664,7 @@ msgstr "" "Une méthode de classe qui peut être utilisée pour enregistrer un type ou un " "appelable avec la classe gestionnaire." -#: library/multiprocessing.rst:1718 +#: library/multiprocessing.rst:1727 msgid "" "*typeid* is a \"type identifier\" which is used to identify a particular " "type of shared object. This must be a string." @@ -2660,7 +2672,7 @@ msgstr "" "*typeif* est un « *type identifier* » qui est utilisé pour identifier un " "type particulier d'objet partagé. Cela doit être une chaîne de caractères." -#: library/multiprocessing.rst:1721 +#: library/multiprocessing.rst:1730 msgid "" "*callable* is a callable used for creating objects for this type " "identifier. If a manager instance will be connected to the server using " @@ -2673,7 +2685,7 @@ msgstr "" "*create_method* vaut ``False`` alors cet argument peut être laissé à " "``None``." -#: library/multiprocessing.rst:1727 +#: library/multiprocessing.rst:1736 msgid "" "*proxytype* is a subclass of :class:`BaseProxy` which is used to create " "proxies for shared objects with this *typeid*. If ``None`` then a proxy " @@ -2683,7 +2695,7 @@ msgstr "" "des mandataires autour des objets partagés avec ce *typeid*. S'il est " "``None``, une classe mandataire sera créée automatiquement." -#: library/multiprocessing.rst:1731 +#: library/multiprocessing.rst:1740 msgid "" "*exposed* is used to specify a sequence of method names which proxies for " "this typeid should be allowed to access using :meth:`BaseProxy." @@ -2702,7 +2714,7 @@ msgstr "" "quel attribut qui possède une méthode :meth:`~object.__call__` et dont le " "nom ne commence pas par un ``'_'``.)" -#: library/multiprocessing.rst:1740 +#: library/multiprocessing.rst:1749 msgid "" "*method_to_typeid* is a mapping used to specify the return type of those " "exposed methods which should return a proxy. It maps method names to typeid " @@ -2719,7 +2731,7 @@ msgstr "" "de ce tableau associatif ou si la valeur associée est ``None``, l'objet " "renvoyé par la méthode sera une copie de la valeur." -#: library/multiprocessing.rst:1747 +#: library/multiprocessing.rst:1756 msgid "" "*create_method* determines whether a method should be created with name " "*typeid* which can be used to tell the server process to create a new shared " @@ -2730,17 +2742,17 @@ msgstr "" "un nouvel objet partagé et d'en renvoyer un mandataire. a valeur par défaut " "est ``True``." -#: library/multiprocessing.rst:1751 +#: library/multiprocessing.rst:1760 msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" "Les instances de :class:`BaseManager` ont aussi une propriété en lecture " "seule :" -#: library/multiprocessing.rst:1755 +#: library/multiprocessing.rst:1764 msgid "The address used by the manager." msgstr "L'adresse utilisée par le gestionnaire." -#: library/multiprocessing.rst:1757 +#: library/multiprocessing.rst:1766 msgid "" "Manager objects support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the server " @@ -2753,7 +2765,7 @@ msgstr "" "l'objet gestionnaire. :meth:`~contextmanager.__exit__` appelle :meth:" "`shutdown`." -#: library/multiprocessing.rst:1763 +#: library/multiprocessing.rst:1772 msgid "" "In previous versions :meth:`~contextmanager.__enter__` did not start the " "manager's server process if it was not already started." @@ -2761,7 +2773,7 @@ msgstr "" "Dans les versions précédentes :meth:`~contextmanager.__enter__` ne démarrait " "pas le processus serveur du gestionnaire s'il n'était pas déjà démarré." -#: library/multiprocessing.rst:1768 +#: library/multiprocessing.rst:1777 msgid "" "A subclass of :class:`BaseManager` which can be used for the synchronization " "of processes. Objects of this type are returned by :func:`multiprocessing." @@ -2771,7 +2783,7 @@ msgstr "" "synchronisation entre processus. Des objets de ce type sont renvoyés par :" "func:`multiprocessing.Manager`." -#: library/multiprocessing.rst:1772 +#: library/multiprocessing.rst:1781 msgid "" "Its methods create and return :ref:`multiprocessing-proxy_objects` for a " "number of commonly used data types to be synchronized across processes. This " @@ -2782,14 +2794,14 @@ msgstr "" "synchronisés entre les processus. Elles incluent notamment des listes et " "dictionnaires partagés." -#: library/multiprocessing.rst:1778 +#: library/multiprocessing.rst:1787 msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" "Crée un objet :class:`threading.Barrier` partagé et renvoie un mandataire " "pour cet objet." -#: library/multiprocessing.rst:1785 +#: library/multiprocessing.rst:1794 msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." @@ -2797,7 +2809,7 @@ msgstr "" "Crée un objet :class:`threading.BoundedSemaphore` partagé et renvoie un " "mandataire pour cet objet." -#: library/multiprocessing.rst:1790 +#: library/multiprocessing.rst:1799 msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." @@ -2805,7 +2817,7 @@ msgstr "" "Crée un objet :class:`threading.Condition` partagé et renvoie un mandataire " "pour cet objet." -#: library/multiprocessing.rst:1793 +#: library/multiprocessing.rst:1802 msgid "" "If *lock* is supplied then it should be a proxy for a :class:`threading." "Lock` or :class:`threading.RLock` object." @@ -2813,40 +2825,40 @@ msgstr "" "Si *lock* est fourni alors il doit être un mandataire pour un objet :class:" "`threading.Lock` ou :class:`threading.RLock`." -#: library/multiprocessing.rst:1801 +#: library/multiprocessing.rst:1810 msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" "Crée un objet :class:`threading.Event` partagé et renvoie un mandataire pour " "cet objet." -#: library/multiprocessing.rst:1805 +#: library/multiprocessing.rst:1814 msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" "Crée un objet :class:`threading.Lock` partagé et renvoie un mandataire pour " "cet objet." -#: library/multiprocessing.rst:1809 +#: library/multiprocessing.rst:1818 msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" "Crée un objet :class:`Namespace` partagé et renvoie un mandataire pour cet " "objet." -#: library/multiprocessing.rst:1813 +#: library/multiprocessing.rst:1822 msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" "Crée un objet :class:`queue.Queue` partagé et renvoie un mandataire pour cet " "objet." -#: library/multiprocessing.rst:1817 +#: library/multiprocessing.rst:1826 msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" "Crée un objet :class:`threading.RLock` partagé et renvoie un mandataire pour " "cet objet." -#: library/multiprocessing.rst:1821 +#: library/multiprocessing.rst:1830 msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." @@ -2854,11 +2866,11 @@ msgstr "" "Crée un objet :class:`threading.Semaphore` partagé et renvoie un mandataire " "pour cet objet." -#: library/multiprocessing.rst:1826 +#: library/multiprocessing.rst:1835 msgid "Create an array and return a proxy for it." msgstr "Crée un tableau et renvoie un mandataire pour cet objet." -#: library/multiprocessing.rst:1830 +#: library/multiprocessing.rst:1839 msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." @@ -2866,17 +2878,17 @@ msgstr "" "Crée un objet avec un attribut ``value`` accessible en écriture et renvoie " "un mandataire pour cet objet." -#: library/multiprocessing.rst:1837 +#: library/multiprocessing.rst:1846 msgid "Create a shared :class:`dict` object and return a proxy for it." msgstr "" "Crée un objet :class:`dict` partagé et renvoie un mandataire pour cet objet." -#: library/multiprocessing.rst:1842 +#: library/multiprocessing.rst:1851 msgid "Create a shared :class:`list` object and return a proxy for it." msgstr "" "Crée un objet :class:`list` partagé et renvoie un mandataire pour cet objet." -#: library/multiprocessing.rst:1844 +#: library/multiprocessing.rst:1853 msgid "" "Shared objects are capable of being nested. For example, a shared container " "object such as a shared list can contain other shared objects which will all " @@ -2886,11 +2898,11 @@ msgstr "" "partagé tel qu'une liste partagée peu contenir d'autres objets partagés qui " "seront aussi gérés et synchronisés par le :class:`SyncManager`." -#: library/multiprocessing.rst:1851 +#: library/multiprocessing.rst:1860 msgid "A type that can register with :class:`SyncManager`." msgstr "Un type qui peut être enregistré avec :class:`SyncManager`." -#: library/multiprocessing.rst:1853 +#: library/multiprocessing.rst:1862 msgid "" "A namespace object has no public methods, but does have writable attributes. " "Its representation shows the values of its attributes." @@ -2899,7 +2911,7 @@ msgstr "" "attributs accessibles en écriture. Sa représentation montre les valeurs de " "ses attributs." -#: library/multiprocessing.rst:1856 +#: library/multiprocessing.rst:1865 msgid "" "However, when using a proxy for a namespace object, an attribute beginning " "with ``'_'`` will be an attribute of the proxy and not an attribute of the " @@ -2908,11 +2920,11 @@ msgstr "" "Cependant, en utilisant un mandataire pour un espace de nommage, un attribut " "débutant par ``'_'`` est un attribut du mandataire et non de l'objet cible :" -#: library/multiprocessing.rst:1872 +#: library/multiprocessing.rst:1881 msgid "Customized managers" msgstr "Gestionnaires personnalisés" -#: library/multiprocessing.rst:1874 +#: library/multiprocessing.rst:1883 msgid "" "To create one's own manager, one creates a subclass of :class:`BaseManager` " "and uses the :meth:`~BaseManager.register` classmethod to register new types " @@ -2923,11 +2935,11 @@ msgstr "" "pour enregistrer de nouveaux types ou *callables* au gestionnaire. Par " "exemple ::" -#: library/multiprocessing.rst:1899 +#: library/multiprocessing.rst:1908 msgid "Using a remote manager" msgstr "Utiliser un gestionnaire distant" -#: library/multiprocessing.rst:1901 +#: library/multiprocessing.rst:1910 msgid "" "It is possible to run a manager server on one machine and have clients use " "it from other machines (assuming that the firewalls involved allow it)." @@ -2936,7 +2948,7 @@ msgstr "" "des clients l'utilisant sur d'autres machines (en supposant que les pare-" "feus impliqués l'autorisent)." -#: library/multiprocessing.rst:1904 +#: library/multiprocessing.rst:1913 msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" @@ -2944,15 +2956,15 @@ msgstr "" "Exécuter les commandes suivantes crée un serveur pour une file simple " "partagée à laquelle des clients distants peuvent accéder ::" -#: library/multiprocessing.rst:1916 +#: library/multiprocessing.rst:1925 msgid "One client can access the server as follows::" msgstr "Un client peut accéder au serveur comme suit ::" -#: library/multiprocessing.rst:1926 +#: library/multiprocessing.rst:1935 msgid "Another client can also use it::" msgstr "Un autre client peut aussi l'utiliser ::" -#: library/multiprocessing.rst:1937 +#: library/multiprocessing.rst:1946 msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" @@ -2960,11 +2972,11 @@ msgstr "" "Les processus locaux peuvent aussi accéder à cette file, utilisant le code " "précédent sur le client pour y accéder à distance ::" -#: library/multiprocessing.rst:1962 +#: library/multiprocessing.rst:1971 msgid "Proxy Objects" msgstr "Objets mandataires" -#: library/multiprocessing.rst:1964 +#: library/multiprocessing.rst:1973 msgid "" "A proxy is an object which *refers* to a shared object which lives " "(presumably) in a different process. The shared object is said to be the " @@ -2975,7 +2987,7 @@ msgstr "" "*référent* du mandataire. Plusieurs mandataires peuvent avoir un même " "référent." -#: library/multiprocessing.rst:1968 +#: library/multiprocessing.rst:1977 msgid "" "A proxy object has methods which invoke corresponding methods of its " "referent (although not every method of the referent will necessarily be " @@ -2987,7 +2999,7 @@ msgstr "" "soient pas nécessairement accessibles à travers le mandataire). De cette " "manière, un mandataire peut être utilisé comme le serait sont référent :" -#: library/multiprocessing.rst:1986 +#: library/multiprocessing.rst:1995 msgid "" "Notice that applying :func:`str` to a proxy will return the representation " "of the referent, whereas applying :func:`repr` will return the " @@ -2996,7 +3008,7 @@ msgstr "" "Notez qu'appliquer :func:`str` à un mandataire renvoie la représentation du " "référent, alors que :func:`repr` renvoie celle du mandataire." -#: library/multiprocessing.rst:1990 +#: library/multiprocessing.rst:1999 msgid "" "An important feature of proxy objects is that they are picklable so they can " "be passed between processes. As such, a referent can contain :ref:" @@ -3009,13 +3021,13 @@ msgstr "" "d'imbriquer des listes et dictionnaires gérés ainsi que d'autres :ref:" "`multiprocessing-proxy_objects` :" -#: library/multiprocessing.rst:2006 +#: library/multiprocessing.rst:2015 msgid "Similarly, dict and list proxies may be nested inside one another::" msgstr "" "De même, les mandataires de listes et dictionnaires peuvent être imbriqués " "dans d'autres ::" -#: library/multiprocessing.rst:2019 +#: library/multiprocessing.rst:2028 msgid "" "If standard (non-proxy) :class:`list` or :class:`dict` objects are contained " "in a referent, modifications to those mutable values will not be propagated " @@ -3034,7 +3046,7 @@ msgstr "" "travers le gestionnaire et modifie effectivement l'élément, il est ainsi " "possible de réassigner la valeur modifiée au conteneur mandataire ::" -#: library/multiprocessing.rst:2038 +#: library/multiprocessing.rst:2047 msgid "" "This approach is perhaps less convenient than employing nested :ref:" "`multiprocessing-proxy_objects` for most use cases but also demonstrates a " @@ -3045,7 +3057,7 @@ msgstr "" "d'utilisation, mais démontre aussi un certain niveau de contrôle sur la " "synchronisation." -#: library/multiprocessing.rst:2044 +#: library/multiprocessing.rst:2053 msgid "" "The proxy types in :mod:`multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" @@ -3053,40 +3065,40 @@ msgstr "" "Les types de mandataires de :mod:`multiprocessing` n'implémentent rien pour " "la comparaison par valeurs. Par exemple, on a :" -#: library/multiprocessing.rst:2052 +#: library/multiprocessing.rst:2061 msgid "" "One should just use a copy of the referent instead when making comparisons." msgstr "" "Il faut à la place simplement utiliser une copie du référent pour faire les " "comparaisons." -#: library/multiprocessing.rst:2056 +#: library/multiprocessing.rst:2065 msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." msgstr "" "Les objets mandataires sont des instances de sous-classes de :class:" "`BaseProxy`." -#: library/multiprocessing.rst:2060 +#: library/multiprocessing.rst:2069 msgid "Call and return the result of a method of the proxy's referent." msgstr "" "Appelle et renvoie le résultat d'une méthode du référent du mandataire." -#: library/multiprocessing.rst:2062 +#: library/multiprocessing.rst:2071 msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" msgstr "" "Si ``proxy`` est un mandataire sont le référent est ``obj``, alors " "l'expression ::" -#: library/multiprocessing.rst:2066 +#: library/multiprocessing.rst:2075 msgid "will evaluate the expression ::" msgstr "s'évalue comme ::" -#: library/multiprocessing.rst:2070 +#: library/multiprocessing.rst:2079 msgid "in the manager's process." msgstr "dans le processus du gestionnaire." -#: library/multiprocessing.rst:2072 +#: library/multiprocessing.rst:2081 msgid "" "The returned value will be a copy of the result of the call or a proxy to a " "new shared object -- see documentation for the *method_to_typeid* argument " @@ -3096,7 +3108,7 @@ msgstr "" "sur un nouvel objet partagé – voir l'a documentation de l'argument " "*method_to_typeid* de :meth:`BaseManager.register`." -#: library/multiprocessing.rst:2076 +#: library/multiprocessing.rst:2085 msgid "" "If an exception is raised by the call, then is re-raised by :meth:" "`_callmethod`. If some other exception is raised in the manager's process " @@ -3108,7 +3120,7 @@ msgstr "" "gestionnaire, elle est convertie en une :exc:`RemoteError` et est levée par :" "meth:`_callmethod`." -#: library/multiprocessing.rst:2081 +#: library/multiprocessing.rst:2090 msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." @@ -3116,31 +3128,31 @@ msgstr "" "Notez en particulier qu'une exception est levée si *methodname* n'est pas " "*exposée*." -#: library/multiprocessing.rst:2084 +#: library/multiprocessing.rst:2093 msgid "An example of the usage of :meth:`_callmethod`:" msgstr "Un exemple d'utilisation de :meth:`_callmethod` :" -#: library/multiprocessing.rst:2100 +#: library/multiprocessing.rst:2109 msgid "Return a copy of the referent." msgstr "Renvoie une copie du référent." -#: library/multiprocessing.rst:2102 +#: library/multiprocessing.rst:2111 msgid "If the referent is unpicklable then this will raise an exception." msgstr "Si le référent n'est pas sérialisable, une exception est levée." -#: library/multiprocessing.rst:2106 +#: library/multiprocessing.rst:2115 msgid "Return a representation of the proxy object." msgstr "Renvoie la représentation de l'objet mandataire." -#: library/multiprocessing.rst:2110 +#: library/multiprocessing.rst:2119 msgid "Return the representation of the referent." msgstr "Renvoie la représentation du référent." -#: library/multiprocessing.rst:2114 +#: library/multiprocessing.rst:2123 msgid "Cleanup" msgstr "Nettoyage" -#: library/multiprocessing.rst:2116 +#: library/multiprocessing.rst:2125 msgid "" "A proxy object uses a weakref callback so that when it gets garbage " "collected it deregisters itself from the manager which owns its referent." @@ -3149,7 +3161,7 @@ msgstr "" "que quand il est collecté par le ramasse-miettes, il se désenregistre auprès " "du gestionnaire qui possède le référent." -#: library/multiprocessing.rst:2119 +#: library/multiprocessing.rst:2128 msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." @@ -3157,11 +3169,11 @@ msgstr "" "Un objet partagé est supprimé par le processus gestionnaire quand plus aucun " "mandataire ne le référence." -#: library/multiprocessing.rst:2124 +#: library/multiprocessing.rst:2133 msgid "Process Pools" msgstr "Pools de processus" -#: library/multiprocessing.rst:2129 +#: library/multiprocessing.rst:2138 msgid "" "One can create a pool of processes which will carry out tasks submitted to " "it with the :class:`Pool` class." @@ -3169,7 +3181,7 @@ msgstr "" "On peut créer un pool de processus qui exécuteront les tâches qui lui seront " "soumises avec la classe :class:`Pool`." -#: library/multiprocessing.rst:2134 +#: library/multiprocessing.rst:2143 msgid "" "A process pool object which controls a pool of worker processes to which " "jobs can be submitted. It supports asynchronous results with timeouts and " @@ -3180,7 +3192,7 @@ msgstr "" "*timeouts* et des *callbacks* et possède une implémentation parallèle de " "*map*." -#: library/multiprocessing.rst:2138 +#: library/multiprocessing.rst:2147 msgid "" "*processes* is the number of worker processes to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." @@ -3188,7 +3200,7 @@ msgstr "" "*processes* est le nombre de processus *workers* à utiliser. Si *processes* " "est ``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé." -#: library/multiprocessing.rst:2141 library/multiprocessing.rst:2702 +#: library/multiprocessing.rst:2150 library/multiprocessing.rst:2711 msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." @@ -3196,7 +3208,7 @@ msgstr "" "Si *initializer* n'est pas ``None``, chaque processus *worker* appellera " "``initializer(*initargs)`` en démarrant." -#: library/multiprocessing.rst:2144 +#: library/multiprocessing.rst:2153 msgid "" "*maxtasksperchild* is the number of tasks a worker process can complete " "before it will exit and be replaced with a fresh worker process, to enable " @@ -3209,7 +3221,7 @@ msgstr "" "*maxtasksperchild* est ``None``, ce qui signifie que le *worker* vit aussi " "longtemps que le pool." -#: library/multiprocessing.rst:2149 +#: library/multiprocessing.rst:2158 msgid "" "*context* can be used to specify the context used for starting the worker " "processes. Usually a pool is created using the function :func:" @@ -3221,7 +3233,7 @@ msgstr "" "fonction :func:`multiprocessing.Pool` ou de la méthode :meth:`Pool` d'un " "objet de contexte. Dans les deux cas *context* est réglé de façon appropriée." -#: library/multiprocessing.rst:2155 +#: library/multiprocessing.rst:2164 msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." @@ -3229,7 +3241,7 @@ msgstr "" "Notez que les méthodes de l'objet *pool* ne doivent être appelées que par le " "processus qui l'a créé." -#: library/multiprocessing.rst:2159 +#: library/multiprocessing.rst:2168 msgid "" ":class:`multiprocessing.pool` objects have internal resources that need to " "be properly managed (like any other resource) by using the pool as a context " @@ -3242,7 +3254,7 @@ msgstr "" "`terminate` manuellement. Si cela n'est pas fait, le processus peut être " "bloqué à la finalisation." -#: library/multiprocessing.rst:2164 +#: library/multiprocessing.rst:2173 msgid "" "Note that it is **not correct** to rely on the garbage collector to destroy " "the pool as CPython does not assure that the finalizer of the pool will be " @@ -3252,15 +3264,15 @@ msgstr "" "détruire le pool car CPython ne garantit pas que le *finalizer* du pool est " "appelé (voir :meth:`object.__del__` pour plus d'informations)." -#: library/multiprocessing.rst:2168 +#: library/multiprocessing.rst:2177 msgid "*maxtasksperchild*" msgstr "*maxtasksperchild*" -#: library/multiprocessing.rst:2171 +#: library/multiprocessing.rst:2180 msgid "*context*" msgstr "*context*" -#: library/multiprocessing.rst:2176 +#: library/multiprocessing.rst:2185 msgid "" "Worker processes within a :class:`Pool` typically live for the complete " "duration of the Pool's work queue. A frequent pattern found in other systems " @@ -3279,7 +3291,7 @@ msgstr "" "fraîchement lancé. L'argument *maxtasksperchild* de :class:`Pool` expose " "cette fonctionnalité à l'utilisateur final." -#: library/multiprocessing.rst:2186 +#: library/multiprocessing.rst:2195 msgid "" "Call *func* with arguments *args* and keyword arguments *kwds*. It blocks " "until the result is ready. Given this blocks, :meth:`apply_async` is better " @@ -3291,7 +3303,7 @@ msgstr "" "meth:`apply_async` est préférable pour exécuter du travail en parallèle. De " "plus, *func* est exécutée sur un seul des *workers* du pool." -#: library/multiprocessing.rst:2193 +#: library/multiprocessing.rst:2202 msgid "" "A variant of the :meth:`apply` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." @@ -3299,7 +3311,7 @@ msgstr "" "Une variante de la méthode :meth:`apply` qui renvoie un objet :class:" "`~multiprocessing.pool.AsyncResult`." -#: library/multiprocessing.rst:2196 library/multiprocessing.rst:2227 +#: library/multiprocessing.rst:2205 library/multiprocessing.rst:2236 msgid "" "If *callback* is specified then it should be a callable which accepts a " "single argument. When the result becomes ready *callback* is applied to it, " @@ -3311,7 +3323,7 @@ msgstr "" "résultat, si l'appel n'échoue pas auquel cas *error_callback* est appelé à " "la place." -#: library/multiprocessing.rst:2201 library/multiprocessing.rst:2232 +#: library/multiprocessing.rst:2210 library/multiprocessing.rst:2241 msgid "" "If *error_callback* is specified then it should be a callable which accepts " "a single argument. If the target function fails, then the *error_callback* " @@ -3321,7 +3333,7 @@ msgstr "" "accepte un seul argument. Si la fonction cible échoue, alors " "*error_callback* est appelé avec l'instance de l'exception." -#: library/multiprocessing.rst:2205 library/multiprocessing.rst:2236 +#: library/multiprocessing.rst:2214 library/multiprocessing.rst:2245 msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." @@ -3329,7 +3341,7 @@ msgstr "" "Les *callbacks* doivent se terminer immédiatement, autrement le fil " "d'exécution qui gère les résultats se retrouverait bloqué." -#: library/multiprocessing.rst:2210 +#: library/multiprocessing.rst:2219 msgid "" "A parallel equivalent of the :func:`map` built-in function (it supports only " "one *iterable* argument though, for multiple iterables see :meth:`starmap`). " @@ -3339,7 +3351,7 @@ msgstr "" "qu'un seul argument *itérable* ; pour en passer plusieurs, référez-vous à :" "meth:`starmap`). Elle bloque jusqu'à ce que le résultat soit prêt." -#: library/multiprocessing.rst:2214 +#: library/multiprocessing.rst:2223 msgid "" "This method chops the iterable into a number of chunks which it submits to " "the process pool as separate tasks. The (approximate) size of these chunks " @@ -3349,7 +3361,7 @@ msgstr "" "pool de processus comme des tâches séparées. La taille (approximative) de " "ces morceaux peut être précisée en passant à *chunksize* un entier positif." -#: library/multiprocessing.rst:2218 +#: library/multiprocessing.rst:2227 msgid "" "Note that it may cause high memory usage for very long iterables. Consider " "using :meth:`imap` or :meth:`imap_unordered` with explicit *chunksize* " @@ -3360,7 +3372,7 @@ msgstr "" "`imap_unordered` avec l'option *chunksize* explicite pour une meilleure " "efficacité." -#: library/multiprocessing.rst:2224 +#: library/multiprocessing.rst:2233 msgid "" "A variant of the :meth:`.map` method which returns a :class:" "`~multiprocessing.pool.AsyncResult` object." @@ -3368,11 +3380,11 @@ msgstr "" "Une variante de la méthode :meth:`.map` qui renvoie un objet :class:" "`~multiprocessing.pool.AsyncResult`." -#: library/multiprocessing.rst:2241 +#: library/multiprocessing.rst:2250 msgid "A lazier version of :meth:`.map`." msgstr "Une version paresseuse de :meth:`map`." -#: library/multiprocessing.rst:2243 +#: library/multiprocessing.rst:2252 msgid "" "The *chunksize* argument is the same as the one used by the :meth:`.map` " "method. For very long iterables using a large value for *chunksize* can " @@ -3383,7 +3395,7 @@ msgstr "" "*chunksize* peut faire s'exécuter la tâche **beaucoup** plus rapidement " "qu'en utilisant la valeur par défaut de ``1``." -#: library/multiprocessing.rst:2248 +#: library/multiprocessing.rst:2257 msgid "" "Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator " "returned by the :meth:`imap` method has an optional *timeout* parameter: " @@ -3395,7 +3407,7 @@ msgstr "" "*timeout* : ``next(timeout)`` lève une :exc:`multiprocessing.TimeoutError` " "si le résultat ne peut pas être renvoyé avant *timeout* secondes." -#: library/multiprocessing.rst:2255 +#: library/multiprocessing.rst:2264 msgid "" "The same as :meth:`imap` except that the ordering of the results from the " "returned iterator should be considered arbitrary. (Only when there is only " @@ -3405,7 +3417,7 @@ msgstr "" "l'itérateur renvoyé doit être considéré comme arbitraire. (L'ordre n'est " "garanti que quand il n'y a qu'un *worker*.)" -#: library/multiprocessing.rst:2261 +#: library/multiprocessing.rst:2270 #, fuzzy msgid "" "Like :meth:`~multiprocessing.pool.Pool.map` except that the elements of the " @@ -3414,7 +3426,7 @@ msgstr "" "Semblable à :meth:`map` à l'exception que les éléments d'*iterable* doivent " "être des itérables qui seront dépaquetés comme arguments pour la fonction." -#: library/multiprocessing.rst:2265 +#: library/multiprocessing.rst:2274 msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." @@ -3422,7 +3434,7 @@ msgstr "" "Par conséquent un *iterable* ``[(1,2), (3, 4)]`` donnera pour résultat " "``[func(1,2), func(3,4)]``." -#: library/multiprocessing.rst:2272 +#: library/multiprocessing.rst:2281 msgid "" "A combination of :meth:`starmap` and :meth:`map_async` that iterates over " "*iterable* of iterables and calls *func* with the iterables unpacked. " @@ -3432,7 +3444,7 @@ msgstr "" "*iterable* (composé d'itérables) et appelle *func* pour chaque itérable " "dépaqueté. Renvoie l'objet résultat." -#: library/multiprocessing.rst:2280 +#: library/multiprocessing.rst:2289 msgid "" "Prevents any more tasks from being submitted to the pool. Once all the " "tasks have been completed the worker processes will exit." @@ -3440,7 +3452,7 @@ msgstr "" "Empêche de nouvelles tâches d'être envoyées à la *pool*. Les processus " "*workers* se terminent une fois que toutes les tâches ont été complétées." -#: library/multiprocessing.rst:2285 +#: library/multiprocessing.rst:2294 msgid "" "Stops the worker processes immediately without completing outstanding work. " "When the pool object is garbage collected :meth:`terminate` will be called " @@ -3450,7 +3462,7 @@ msgstr "" "courants. Quand l'objet *pool* est collecté par le ramasse-miettes, sa " "méthode :meth:`terminate` est appelée immédiatement." -#: library/multiprocessing.rst:2291 +#: library/multiprocessing.rst:2300 msgid "" "Wait for the worker processes to exit. One must call :meth:`close` or :meth:" "`terminate` before using :meth:`join`." @@ -3458,7 +3470,7 @@ msgstr "" "Attend que les processus *workers* se terminent. Il est nécessaire " "d'appeler :meth:`close` ou :meth:`terminate` avant d'utiliser :meth:`join`." -#: library/multiprocessing.rst:2294 +#: library/multiprocessing.rst:2303 msgid "" "Pool objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the pool " @@ -3469,7 +3481,7 @@ msgstr "" "__enter__` renvoie l'objet *pool* et :meth:`~contextmanager.__exit__` " "appelle :meth:`terminate`." -#: library/multiprocessing.rst:2302 +#: library/multiprocessing.rst:2311 msgid "" "The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." "map_async`." @@ -3477,7 +3489,7 @@ msgstr "" "La classe des résultats renvoyés par :meth:`Pool.apply_async` et :meth:`Pool." "map_async`." -#: library/multiprocessing.rst:2307 +#: library/multiprocessing.rst:2316 msgid "" "Return the result when it arrives. If *timeout* is not ``None`` and the " "result does not arrive within *timeout* seconds then :exc:`multiprocessing." @@ -3489,16 +3501,16 @@ msgstr "" "TimeoutError` est levée. Si l'appel distance lève une exception, alors elle " "est relayée par :meth:`get`." -#: library/multiprocessing.rst:2314 +#: library/multiprocessing.rst:2323 msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" "Attend que le résultat soit disponible ou que *timeout* secondes s'écoulent." -#: library/multiprocessing.rst:2318 +#: library/multiprocessing.rst:2327 msgid "Return whether the call has completed." msgstr "Renvoie ``True`` ou ``False`` suivant si la tâche est accomplie." -#: library/multiprocessing.rst:2322 +#: library/multiprocessing.rst:2331 msgid "" "Return whether the call completed without raising an exception. Will raise :" "exc:`ValueError` if the result is not ready." @@ -3506,7 +3518,7 @@ msgstr "" "Renvoie ``True`` ou ``False`` suivant si la tâche est accomplie sans lever " "d'exception. Lève une :exc:`ValueError` si le résultat n'est pas prêt." -#: library/multiprocessing.rst:2325 +#: library/multiprocessing.rst:2334 msgid "" "If the result is not ready, :exc:`ValueError` is raised instead of :exc:" "`AssertionError`." @@ -3514,16 +3526,16 @@ msgstr "" "Si le résultat n'est pas prêt, une :exc:`ValueError` est levée au lieu " "d'une :exc:`AssertionError` auparavant." -#: library/multiprocessing.rst:2329 +#: library/multiprocessing.rst:2338 msgid "The following example demonstrates the use of a pool::" msgstr "" "Les exemples suivants présentent l'utilisation d'un pool de *workers* ::" -#: library/multiprocessing.rst:2356 +#: library/multiprocessing.rst:2365 msgid "Listeners and Clients" msgstr "Auditeurs et Clients" -#: library/multiprocessing.rst:2361 +#: library/multiprocessing.rst:2370 msgid "" "Usually message passing between processes is done using queues or by using :" "class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." @@ -3532,7 +3544,7 @@ msgstr "" "utilisant des files ou des objets :class:`~Connection` renvoyés par :func:" "`~multiprocessing.Pipe`." -#: library/multiprocessing.rst:2365 +#: library/multiprocessing.rst:2374 msgid "" "However, the :mod:`multiprocessing.connection` module allows some extra " "flexibility. It basically gives a high level message oriented API for " @@ -3547,7 +3559,7 @@ msgstr "" "utilisant le module :mod:`hmac`, et pour interroger de multiples connexions " "en même temps." -#: library/multiprocessing.rst:2374 +#: library/multiprocessing.rst:2383 msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." @@ -3555,7 +3567,7 @@ msgstr "" "Envoie un message généré aléatoirement à l'autre extrémité de la connexion " "et attend une réponse." -#: library/multiprocessing.rst:2377 +#: library/multiprocessing.rst:2386 msgid "" "If the reply matches the digest of the message using *authkey* as the key " "then a welcome message is sent to the other end of the connection. " @@ -3566,7 +3578,7 @@ msgstr "" "connexion. Autrement, une :exc:`~multiprocessing.AuthenticationError` est " "levée." -#: library/multiprocessing.rst:2383 +#: library/multiprocessing.rst:2392 msgid "" "Receive a message, calculate the digest of the message using *authkey* as " "the key, and then send the digest back." @@ -3574,7 +3586,7 @@ msgstr "" "Reçoit un message, calcule le condensat du message en utilisant la clé " "*authkey*, et envoie le condensat en réponse." -#: library/multiprocessing.rst:2386 +#: library/multiprocessing.rst:2395 msgid "" "If a welcome message is not received, then :exc:`~multiprocessing." "AuthenticationError` is raised." @@ -3582,7 +3594,7 @@ msgstr "" "Si un message de bienvenue n'est pas reçu, une :exc:`~multiprocessing." "AuthenticationError` est levée." -#: library/multiprocessing.rst:2391 +#: library/multiprocessing.rst:2400 msgid "" "Attempt to set up a connection to the listener which is using address " "*address*, returning a :class:`~Connection`." @@ -3590,7 +3602,7 @@ msgstr "" "Essaie d'établir une connexion avec l'auditeur qui utilise l'adresse " "*address*, renvoie une :class:`~Connection`." -#: library/multiprocessing.rst:2394 +#: library/multiprocessing.rst:2403 msgid "" "The type of the connection is determined by *family* argument, but this can " "generally be omitted since it can usually be inferred from the format of " @@ -3600,7 +3612,7 @@ msgstr "" "généralement être omis puisqu'il peut être inféré depuis le format " "d'*address*. (Voir :ref:`multiprocessing-address-formats`)" -#: library/multiprocessing.rst:2398 library/multiprocessing.rst:2433 +#: library/multiprocessing.rst:2407 library/multiprocessing.rst:2442 msgid "" "If *authkey* is given and not None, it should be a byte string and will be " "used as the secret key for an HMAC-based authentication challenge. No " @@ -3614,7 +3626,7 @@ msgstr "" "``None``. Une :exc:`~multiprocessing.AuthenticationError` est levée si " "l'authentification échoue. Voir :ref:`multiprocessing-auth-keys`." -#: library/multiprocessing.rst:2406 +#: library/multiprocessing.rst:2415 msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." @@ -3622,7 +3634,7 @@ msgstr "" "Une enveloppe autour d'un connecteur lié ou un tube nommé sous Windows qui " "écoute pour des connexions." -#: library/multiprocessing.rst:2409 +#: library/multiprocessing.rst:2418 msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." @@ -3630,7 +3642,7 @@ msgstr "" "*address* est l'adresse à utiliser par le connecteur lié ou le tube nommé de " "l'objet auditeur." -#: library/multiprocessing.rst:2414 +#: library/multiprocessing.rst:2423 msgid "" "If an address of '0.0.0.0' is used, the address will not be a connectable " "end point on Windows. If you require a connectable end-point, you should use " @@ -3640,7 +3652,7 @@ msgstr "" "d'accès connectable sous Windows. Si vous avez besoin d'un point d'accès " "connectable, utilisez '127.0.0.1'." -#: library/multiprocessing.rst:2418 +#: library/multiprocessing.rst:2427 msgid "" "*family* is the type of socket (or named pipe) to use. This can be one of " "the strings ``'AF_INET'`` (for a TCP socket), ``'AF_UNIX'`` (for a Unix " @@ -3664,7 +3676,7 @@ msgstr "" "``'AF_UNIX'`` et qu'*address* est ``None``, le connecteur est créé dans un " "répertoire temporaire privé créé avec :func:`tempfile.mkstemp`." -#: library/multiprocessing.rst:2429 +#: library/multiprocessing.rst:2438 msgid "" "If the listener object uses a socket then *backlog* (1 by default) is passed " "to the :meth:`~socket.socket.listen` method of the socket once it has been " @@ -3674,7 +3686,7 @@ msgstr "" "passé à la méthode :meth:`~socket.socket.listen` du connecteur une fois " "qu'il a été lié." -#: library/multiprocessing.rst:2441 +#: library/multiprocessing.rst:2450 msgid "" "Accept a connection on the bound socket or named pipe of the listener object " "and return a :class:`~Connection` object. If authentication is attempted and " @@ -3685,7 +3697,7 @@ msgstr "" "d'authentification échoue, une :exc:`~multiprocessing.AuthenticationError` " "est levée." -#: library/multiprocessing.rst:2448 +#: library/multiprocessing.rst:2457 msgid "" "Close the bound socket or named pipe of the listener object. This is called " "automatically when the listener is garbage collected. However it is " @@ -3695,16 +3707,16 @@ msgstr "" "appelée automatiquement quand l'auditeur est collecté par le ramasse-" "miettes. Il est cependant conseillé de l'appeler explicitement." -#: library/multiprocessing.rst:2452 +#: library/multiprocessing.rst:2461 msgid "Listener objects have the following read-only properties:" msgstr "" "Les objets auditeurs ont aussi les propriétés en lecture seule suivantes :" -#: library/multiprocessing.rst:2456 +#: library/multiprocessing.rst:2465 msgid "The address which is being used by the Listener object." msgstr "L'adresse utilisée par l'objet auditeur." -#: library/multiprocessing.rst:2460 +#: library/multiprocessing.rst:2469 msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." @@ -3712,7 +3724,7 @@ msgstr "" "L'adresse depuis laquelle a été établie la dernière connexion. ``None`` si " "aucune n'est disponible." -#: library/multiprocessing.rst:2463 +#: library/multiprocessing.rst:2472 msgid "" "Listener objects now support the context management protocol -- see :ref:" "`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " @@ -3723,7 +3735,7 @@ msgstr "" "renvoie l'objet auditeur, et :meth:`~contextmanager.__exit__` appelle :meth:" "`close`." -#: library/multiprocessing.rst:2470 +#: library/multiprocessing.rst:2479 msgid "" "Wait till an object in *object_list* is ready. Returns the list of those " "objects in *object_list* which are ready. If *timeout* is a float then the " @@ -3737,23 +3749,23 @@ msgstr "" "l'appelle bloquera pour une durée non limitée. Un *timeout* négatif est " "équivalent à un *timeout* nul." -#: library/multiprocessing.rst:2476 +#: library/multiprocessing.rst:2485 msgid "" "For both Unix and Windows, an object can appear in *object_list* if it is" msgstr "" "Pour Unix et Windows, un objet peut apparaître dans *object_list* s'il est" -#: library/multiprocessing.rst:2479 +#: library/multiprocessing.rst:2488 msgid "a readable :class:`~multiprocessing.connection.Connection` object;" msgstr "" "un objet :class:`~multiprocessing.connection.Connection` accessible en " "lecture ;" -#: library/multiprocessing.rst:2480 +#: library/multiprocessing.rst:2489 msgid "a connected and readable :class:`socket.socket` object; or" msgstr "un objet :class:`socket.socket` connecté et accessible en lecture ; ou" -#: library/multiprocessing.rst:2481 +#: library/multiprocessing.rst:2490 msgid "" "the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" "`~multiprocessing.Process` object." @@ -3761,7 +3773,7 @@ msgstr "" "l'attribut :attr:`~multiprocessing.Process.sentinel` d'un objet :class:" "`~multiprocessing.Process`." -#: library/multiprocessing.rst:2484 +#: library/multiprocessing.rst:2493 msgid "" "A connection or socket object is ready when there is data available to be " "read from it, or the other end has been closed." @@ -3769,7 +3781,7 @@ msgstr "" "Une connexion (*socket* en anglais) est prête quand il y a des données " "disponibles en lecture dessus, ou que l'autre extrémité a été fermée." -#: library/multiprocessing.rst:2487 +#: library/multiprocessing.rst:2496 msgid "" "**Unix**: ``wait(object_list, timeout)`` almost equivalent ``select." "select(object_list, [], [], timeout)``. The difference is that, if :func:" @@ -3782,7 +3794,7 @@ msgstr "" "`OSError` avec un numéro d'erreur ``EINTR``, alors que :func:`wait` ne le " "fera pas." -#: library/multiprocessing.rst:2493 +#: library/multiprocessing.rst:2502 msgid "" "**Windows**: An item in *object_list* must either be an integer handle which " "is waitable (according to the definition used by the documentation of the " @@ -3797,11 +3809,11 @@ msgstr "" "(notez que les identifiants de tubes et de connecteurs **ne sont pas** des " "identifiants *waitables*)." -#: library/multiprocessing.rst:2503 +#: library/multiprocessing.rst:2512 msgid "**Examples**" msgstr "**Exemples**" -#: library/multiprocessing.rst:2505 +#: library/multiprocessing.rst:2514 msgid "" "The following server code creates a listener which uses ``'secret " "password'`` as an authentication key. It then waits for a connection and " @@ -3811,13 +3823,13 @@ msgstr "" "comme clé d'authentification. Il attend ensuite une connexion et envoie les " "données au client ::" -#: library/multiprocessing.rst:2524 +#: library/multiprocessing.rst:2533 msgid "" "The following code connects to the server and receives some data from the " "server::" msgstr "Le code suivant se connecte au serveur et en reçoit des données ::" -#: library/multiprocessing.rst:2541 +#: library/multiprocessing.rst:2550 msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" @@ -3825,11 +3837,11 @@ msgstr "" "Le code suivant utilise :func:`~multiprocessing.connection.wait` pour " "attendre des messages depuis plusieurs processus à la fois ::" -#: library/multiprocessing.rst:2580 +#: library/multiprocessing.rst:2589 msgid "Address Formats" msgstr "Formats d'adresses" -#: library/multiprocessing.rst:2582 +#: library/multiprocessing.rst:2591 msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." @@ -3837,7 +3849,7 @@ msgstr "" "une adresse ``'AF_INET'`` est une paire de la forme ``(hostname, port)`` où " "*hostname* est une chaîne et *port* un entier ;" -#: library/multiprocessing.rst:2585 +#: library/multiprocessing.rst:2594 msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." @@ -3845,12 +3857,14 @@ msgstr "" "une adresse ``'AF_UNIX'`` est une chaîne représentant un nom de fichier sur " "le système de fichiers ;" -#: library/multiprocessing.rst:2588 +#: library/multiprocessing.rst:2597 +#, fuzzy msgid "" -"An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\.\\\\pipe\\" -"\\{PipeName}'`. To use :func:`Client` to connect to a named pipe on a " -"remote computer called *ServerName* one should use an address of the form :" -"samp:`r'\\\\\\\\{ServerName}\\\\pipe\\\\{PipeName}'` instead." +"An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\\\\\.\\" +"\\pipe\\\\\\\\{PipeName}'`. To use :func:`Client` to connect to a named " +"pipe on a remote computer called *ServerName* one should use an address of " +"the form :samp:`r'\\\\\\\\\\\\\\\\{ServerName}\\\\pipe\\\\\\\\{PipeName}'` " +"instead." msgstr "" "une adresse ``'AF_PIPE'`` est une chaîne de caractères de la forme :samp:" "`r'\\\\\\\\.\\\\pipe\\\\{NomDuTube}'`. Pour utiliser :func:`Client` pour se " @@ -3858,7 +3872,7 @@ msgstr "" "il faut utiliser une adresse de la forme :samp:`r'\\\\\\\\{NomDeLaMachine}\\" "\\pipe\\\\{NomDuTube}'`." -#: library/multiprocessing.rst:2593 +#: library/multiprocessing.rst:2602 msgid "" "Note that any string beginning with two backslashes is assumed by default to " "be an ``'AF_PIPE'`` address rather than an ``'AF_UNIX'`` address." @@ -3867,11 +3881,11 @@ msgstr "" "défaut comme l'adresse d'un ``'AF_PIPE'`` plutôt qu'une adresse " "``'AF_UNIX'``." -#: library/multiprocessing.rst:2600 +#: library/multiprocessing.rst:2609 msgid "Authentication keys" msgstr "Clés d'authentification" -#: library/multiprocessing.rst:2602 +#: library/multiprocessing.rst:2611 msgid "" "When one uses :meth:`Connection.recv `, the data received " "is automatically unpickled. Unfortunately unpickling data from an untrusted " @@ -3884,7 +3898,7 @@ msgstr "" "sécurité. Par conséquent :class:`Listener` et :func:`Client` utilisent le " "module :mod:`hmac` pour fournir une authentification par condensat." -#: library/multiprocessing.rst:2608 +#: library/multiprocessing.rst:2617 msgid "" "An authentication key is a byte string which can be thought of as a " "password: once a connection is established both ends will demand proof that " @@ -3897,7 +3911,7 @@ msgstr "" "(Démontrer que les deux utilisent la même clé n'implique **pas** d'échanger " "la clé sur la connexion.)" -#: library/multiprocessing.rst:2614 +#: library/multiprocessing.rst:2623 msgid "" "If authentication is requested but no authentication key is specified then " "the return value of ``current_process().authkey`` is used (see :class:" @@ -3915,7 +3929,7 @@ msgstr "" "processus partageront une clé d'authentification unique qui peut être " "utilisée pour mettre en place des connexions entre-eux." -#: library/multiprocessing.rst:2622 +#: library/multiprocessing.rst:2631 msgid "" "Suitable authentication keys can also be generated by using :func:`os." "urandom`." @@ -3923,11 +3937,11 @@ msgstr "" "Des clés d'authentification adaptées peuvent aussi être générées par :func:" "`os.urandom`." -#: library/multiprocessing.rst:2626 +#: library/multiprocessing.rst:2635 msgid "Logging" msgstr "Journalisation" -#: library/multiprocessing.rst:2628 +#: library/multiprocessing.rst:2637 msgid "" "Some support for logging is available. Note, however, that the :mod:" "`logging` package does not use process shared locks so it is possible " @@ -3939,7 +3953,7 @@ msgstr "" "processus et il est donc possible (dépendant du type de gestionnaire) que " "les messages de différents processus soient mélangés." -#: library/multiprocessing.rst:2635 +#: library/multiprocessing.rst:2644 msgid "" "Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " "will be created." @@ -3947,7 +3961,7 @@ msgstr "" "Renvoie le journaliseur utilisé par :mod:`multiprocessing`. Si nécessaire, " "un nouveau sera créé." -#: library/multiprocessing.rst:2638 +#: library/multiprocessing.rst:2647 msgid "" "When first created the logger has level :data:`logging.NOTSET` and no " "default handler. Messages sent to this logger will not by default propagate " @@ -3957,7 +3971,7 @@ msgstr "" "et pas de gestionnaire par défaut. Les messages envoyés à ce journaliseur ne " "seront pas propagés par défaut au journaliseur principal." -#: library/multiprocessing.rst:2642 +#: library/multiprocessing.rst:2651 msgid "" "Note that on Windows child processes will only inherit the level of the " "parent process's logger -- any other customization of the logger will not be " @@ -3967,7 +3981,7 @@ msgstr "" "journaliseur du processus parent – toute autre personnalisation du " "journaliseur ne sera pas héritée." -#: library/multiprocessing.rst:2649 +#: library/multiprocessing.rst:2658 #, fuzzy msgid "" "This function performs a call to :func:`get_logger` but in addition to " @@ -3981,22 +3995,22 @@ msgstr "" "qui envoie la sortie sur :data:`sys.stderr` en utilisant le format " "``'[%(levelname)s/%(processName)s] %(message)s'``." -#: library/multiprocessing.rst:2655 +#: library/multiprocessing.rst:2664 msgid "Below is an example session with logging turned on::" msgstr "" "L'exemple ci-dessous présente une session avec la journalisation activée ::" -#: library/multiprocessing.rst:2670 +#: library/multiprocessing.rst:2679 msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" "Pour un tableau complet des niveaux de journalisation, voir le module :mod:" "`logging`." -#: library/multiprocessing.rst:2674 +#: library/multiprocessing.rst:2683 msgid "The :mod:`multiprocessing.dummy` module" msgstr "Le module :mod:`multiprocessing.dummy`" -#: library/multiprocessing.rst:2679 +#: library/multiprocessing.rst:2688 msgid "" ":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." @@ -4004,7 +4018,7 @@ msgstr "" ":mod:`multiprocessing.dummy` réplique toute l'API de :mod:`multiprocessing` " "mais n'est rien de plus qu'une interface autour du module :mod:`threading`." -#: library/multiprocessing.rst:2684 +#: library/multiprocessing.rst:2693 msgid "" "In particular, the ``Pool`` function provided by :mod:`multiprocessing." "dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" @@ -4016,7 +4030,7 @@ msgstr "" "class:`Pool`. Elle a la même interface, mais elle utilise un pool de fils " "d'exécution plutôt qu'un pool de processus." -#: library/multiprocessing.rst:2692 +#: library/multiprocessing.rst:2701 msgid "" "A thread pool object which controls a pool of worker threads to which jobs " "can be submitted. :class:`ThreadPool` instances are fully interface " @@ -4032,7 +4046,7 @@ msgstr "" "avec un contexte, soit en appelant explicitement :meth:`~multiprocessing." "pool.Pool.close` et :meth:`~multiprocessing.pool.Pool.terminate`." -#: library/multiprocessing.rst:2699 +#: library/multiprocessing.rst:2708 msgid "" "*processes* is the number of worker threads to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." @@ -4040,14 +4054,14 @@ msgstr "" "*processes* est le nombre de fils d'exécution à utiliser. Si *processes* est " "``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé." -#: library/multiprocessing.rst:2705 +#: library/multiprocessing.rst:2714 msgid "" "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." msgstr "" "À la différence de :class:`Pool`, *maxtasksperchild* et *context* ne peuvent " "pas être passés en arguments." -#: library/multiprocessing.rst:2709 +#: library/multiprocessing.rst:2718 msgid "" "A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is " "designed around a pool of processes and predates the introduction of the :" @@ -4064,7 +4078,7 @@ msgstr "" "représenter le statut de tâches asynchrones, :class:`AsyncResult`, qui n'est " "pas géré par les autres modules." -#: library/multiprocessing.rst:2716 +#: library/multiprocessing.rst:2725 msgid "" "Users should generally prefer to use :class:`concurrent.futures." "ThreadPoolExecutor`, which has a simpler interface that was designed around " @@ -4078,11 +4092,11 @@ msgstr "" "`concurrent.futures.Future` qui sont compatibles avec de nombreux modules, " "dont :mod:`asyncio`." -#: library/multiprocessing.rst:2726 +#: library/multiprocessing.rst:2735 msgid "Programming guidelines" msgstr "Lignes directrices de programmation" -#: library/multiprocessing.rst:2728 +#: library/multiprocessing.rst:2737 msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." @@ -4090,19 +4104,19 @@ msgstr "" "Il y a certaines lignes directrices et idiomes à respecter pour utiliser :" "mod:`multiprocessing`." -#: library/multiprocessing.rst:2733 +#: library/multiprocessing.rst:2742 msgid "All start methods" msgstr "Toutes les méthodes de démarrage" -#: library/multiprocessing.rst:2735 +#: library/multiprocessing.rst:2744 msgid "The following applies to all start methods." msgstr "Les règles suivantes s'appliquent aux méthodes de démarrage." -#: library/multiprocessing.rst:2737 +#: library/multiprocessing.rst:2746 msgid "Avoid shared state" msgstr "Éviter les états partagés" -#: library/multiprocessing.rst:2739 +#: library/multiprocessing.rst:2748 msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." @@ -4110,7 +4124,7 @@ msgstr "" "Autant que possible, il faut éviter de transférer de gros volumes de données " "entre les processus." -#: library/multiprocessing.rst:2742 +#: library/multiprocessing.rst:2751 msgid "" "It is probably best to stick to using queues or pipes for communication " "between processes rather than using the lower level synchronization " @@ -4120,21 +4134,21 @@ msgstr "" "pour gérer la communication entre processus plutôt que d'utiliser des " "primitives de synchronisation plus bas-niveau." -#: library/multiprocessing.rst:2746 +#: library/multiprocessing.rst:2755 msgid "Picklability" msgstr "Sérialisation" -#: library/multiprocessing.rst:2748 +#: library/multiprocessing.rst:2757 msgid "Ensure that the arguments to the methods of proxies are picklable." msgstr "" "Assurez-vous que les arguments passés aux méthodes des mandataires soient " "sérialisables (*pickables*)." -#: library/multiprocessing.rst:2750 +#: library/multiprocessing.rst:2759 msgid "Thread safety of proxies" msgstr "Sûreté des mandataires à travers les fils d'exécution" -#: library/multiprocessing.rst:2752 +#: library/multiprocessing.rst:2761 msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." @@ -4142,18 +4156,18 @@ msgstr "" "N'utilisez pas d'objet mandataire depuis plus d'un fil d'exécution à moins " "que vous ne le protégiez avec un verrou." -#: library/multiprocessing.rst:2755 +#: library/multiprocessing.rst:2764 msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" "Il n'y a jamais de problème à avoir plusieurs processus qui utilisent un " "*même* mandataire." -#: library/multiprocessing.rst:2757 +#: library/multiprocessing.rst:2766 msgid "Joining zombie processes" msgstr "Attendre les processus zombies" -#: library/multiprocessing.rst:2759 +#: library/multiprocessing.rst:2768 msgid "" "On Unix when a process finishes but has not been joined it becomes a zombie. " "There should never be very many because each time a new process starts (or :" @@ -4172,11 +4186,11 @@ msgstr "" "processus. Toutefois, il est, en règle générale, conseillé d'attendre " "explicitement tous les processus que vous démarrez." -#: library/multiprocessing.rst:2767 +#: library/multiprocessing.rst:2776 msgid "Better to inherit than pickle/unpickle" msgstr "Mieux vaut hériter que sérialiser - désérialiser" -#: library/multiprocessing.rst:2769 +#: library/multiprocessing.rst:2778 msgid "" "When using the *spawn* or *forkserver* start methods many types from :mod:" "`multiprocessing` need to be picklable so that child processes can use " @@ -4193,11 +4207,11 @@ msgstr "" "processus qui nécessite l'accès à une ressource partagée créée autre part " "qu'il en hérite depuis un de ses processus ancêtres." -#: library/multiprocessing.rst:2777 +#: library/multiprocessing.rst:2786 msgid "Avoid terminating processes" msgstr "Éviter de terminer les processus" -#: library/multiprocessing.rst:2779 +#: library/multiprocessing.rst:2788 msgid "" "Using the :meth:`Process.terminate ` " "method to stop a process is liable to cause any shared resources (such as " @@ -4209,7 +4223,7 @@ msgstr "" "indisponible aux autres processus des ressources partagées (comme des " "verrous, sémaphores, tubes et files) actuellement utilisées par le processus." -#: library/multiprocessing.rst:2785 +#: library/multiprocessing.rst:2794 msgid "" "Therefore it is probably best to only consider using :meth:`Process." "terminate ` on processes which never use " @@ -4219,11 +4233,11 @@ msgstr "" "` que sur les processus qui n'utilisent " "jamais de ressources partagées." -#: library/multiprocessing.rst:2789 +#: library/multiprocessing.rst:2798 msgid "Joining processes that use queues" msgstr "Attendre les processus qui utilisent des files" -#: library/multiprocessing.rst:2791 +#: library/multiprocessing.rst:2800 msgid "" "Bear in mind that a process that has put items in a queue will wait before " "terminating until all the buffered items are fed by the \"feeder\" thread to " @@ -4238,7 +4252,7 @@ msgstr "" "` de la queue pour éviter ce " "comportement)." -#: library/multiprocessing.rst:2797 +#: library/multiprocessing.rst:2806 msgid "" "This means that whenever you use a queue you need to make sure that all " "items which have been put on the queue will eventually be removed before the " @@ -4253,11 +4267,11 @@ msgstr "" "termineront. Souvenez-vous aussi que tous les processus non *daemons* sont " "attendus automatiquement." -#: library/multiprocessing.rst:2803 +#: library/multiprocessing.rst:2812 msgid "An example which will deadlock is the following::" msgstr "L'exemple suivant provoque un interblocage ::" -#: library/multiprocessing.rst:2817 +#: library/multiprocessing.rst:2826 msgid "" "A fix here would be to swap the last two lines (or simply remove the ``p." "join()`` line)." @@ -4265,11 +4279,11 @@ msgstr "" "Une solution ici consiste à intervertir les deux dernières lignes (ou " "simplement à supprimer la ligne ``p.join()``)." -#: library/multiprocessing.rst:2820 +#: library/multiprocessing.rst:2829 msgid "Explicitly pass resources to child processes" msgstr "Passer explicitement les ressources aux processus fils" -#: library/multiprocessing.rst:2822 +#: library/multiprocessing.rst:2831 msgid "" "On Unix using the *fork* start method, a child process can make use of a " "shared resource created in a parent process using a global resource. " @@ -4281,7 +4295,7 @@ msgstr "" "utilisant une ressource globale. Cependant, il est préférable de passer " "l'objet en argument au constructeur du processus fils." -#: library/multiprocessing.rst:2827 +#: library/multiprocessing.rst:2836 msgid "" "Apart from making the code (potentially) compatible with Windows and the " "other start methods this also ensures that as long as the child process is " @@ -4296,24 +4310,24 @@ msgstr "" "libérées quand l'objet est collecté par le ramasse-miettes du processus " "parent." -#: library/multiprocessing.rst:2834 +#: library/multiprocessing.rst:2843 msgid "So for instance ::" msgstr "Donc par exemple ::" -#: library/multiprocessing.rst:2846 +#: library/multiprocessing.rst:2855 msgid "should be rewritten as ::" msgstr "devrait être réécrit comme ::" -#: library/multiprocessing.rst:2858 +#: library/multiprocessing.rst:2867 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" "Faire attention à remplacer :data:`sys.stdin` par un objet simili-fichier" -#: library/multiprocessing.rst:2860 +#: library/multiprocessing.rst:2869 msgid ":mod:`multiprocessing` originally unconditionally called::" msgstr "À l'origine, :mod:`multiprocessing` appelait inconditionnellement ::" -#: library/multiprocessing.rst:2864 +#: library/multiprocessing.rst:2873 msgid "" "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " "in issues with processes-in-processes. This has been changed to::" @@ -4321,7 +4335,7 @@ msgstr "" "dans la méthode :meth:`multiprocessing.Process._bootstrap` — cela provoquait " "des problèmes avec les processus imbriqués. Cela peut être changé en ::" -#: library/multiprocessing.rst:2870 +#: library/multiprocessing.rst:2879 msgid "" "Which solves the fundamental issue of processes colliding with each other " "resulting in a bad file descriptor error, but introduces a potential danger " @@ -4338,7 +4352,7 @@ msgstr "" "peut amener les données à être transmises à l'objet à plusieurs reprises, " "résultant en une corruption." -#: library/multiprocessing.rst:2877 +#: library/multiprocessing.rst:2886 msgid "" "If you write a file-like object and implement your own caching, you can make " "it fork-safe by storing the pid whenever you append to the cache, and " @@ -4349,28 +4363,28 @@ msgstr "" "que vous ajoutez des données au cache, et annulez le cache quand le *pid* " "change. Par exemple ::" -#: library/multiprocessing.rst:2889 +#: library/multiprocessing.rst:2898 msgid "" "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" msgstr "" "Pour plus d'informations, voir :issue:`5155`, :issue:`5313` et :issue:`5331`" -#: library/multiprocessing.rst:2892 +#: library/multiprocessing.rst:2901 msgid "The *spawn* and *forkserver* start methods" msgstr "Les méthodes de démarrage *spawn* et *forkserver*" -#: library/multiprocessing.rst:2894 +#: library/multiprocessing.rst:2903 msgid "" "There are a few extra restriction which don't apply to the *fork* start " "method." msgstr "" "Certaines restrictions ne s'appliquent pas à la méthode de démarrage *fork*." -#: library/multiprocessing.rst:2897 +#: library/multiprocessing.rst:2906 msgid "More picklability" msgstr "Contraintes supplémentaires sur la sérialisation" -#: library/multiprocessing.rst:2899 +#: library/multiprocessing.rst:2908 msgid "" "Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " "if you subclass :class:`~multiprocessing.Process` then make sure that " @@ -4383,11 +4397,11 @@ msgstr "" "sérialisables quand la méthode :meth:`Process.start ` est appelée." -#: library/multiprocessing.rst:2904 +#: library/multiprocessing.rst:2913 msgid "Global variables" msgstr "Variables globales" -#: library/multiprocessing.rst:2906 +#: library/multiprocessing.rst:2915 msgid "" "Bear in mind that if code run in a child process tries to access a global " "variable, then the value it sees (if any) may not be the same as the value " @@ -4400,7 +4414,7 @@ msgstr "" "moment même où :meth:`Process.start ` est " "appelée." -#: library/multiprocessing.rst:2911 +#: library/multiprocessing.rst:2920 msgid "" "However, global variables which are just module level constants cause no " "problems." @@ -4408,11 +4422,11 @@ msgstr "" "Cependant, les variables globales qui sont juste des constantes de modules " "ne posent pas de problèmes." -#: library/multiprocessing.rst:2914 +#: library/multiprocessing.rst:2925 msgid "Safe importing of main module" msgstr "Importation sécurisée du module principal" -#: library/multiprocessing.rst:2916 +#: library/multiprocessing.rst:2927 msgid "" "Make sure that the main module can be safely imported by a new Python " "interpreter without causing unintended side effects (such a starting a new " @@ -4422,7 +4436,7 @@ msgstr "" "un nouvel interpréteur Python sans causer d'effets de bord inattendus (comme " "le démarrage d'un nouveau processus)." -#: library/multiprocessing.rst:2920 +#: library/multiprocessing.rst:2931 msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" @@ -4430,7 +4444,7 @@ msgstr "" "Par exemple, utiliser la méthode de démarrage *spawn* ou *forkserver* pour " "lancer le module suivant échouerait avec une :exc:`RuntimeError` ::" -#: library/multiprocessing.rst:2932 +#: library/multiprocessing.rst:2943 msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" @@ -4438,7 +4452,7 @@ msgstr "" "Vous devriez plutôt protéger le « point d'entrée » du programme en utilisant " "``if __name__ == '__main__':`` comme suit ::" -#: library/multiprocessing.rst:2946 +#: library/multiprocessing.rst:2957 msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" @@ -4446,7 +4460,7 @@ msgstr "" "(La ligne ``freeze_support()`` peut être omise si le programme est " "uniquement lancé normalement et pas figé.)" -#: library/multiprocessing.rst:2949 +#: library/multiprocessing.rst:2960 msgid "" "This allows the newly spawned Python interpreter to safely import the module " "and then run the module's ``foo()`` function." @@ -4454,7 +4468,7 @@ msgstr "" "Cela permet aux interpréteurs Python fraîchement instanciés d'importer en " "toute sécurité le module et d'exécution ensuite la fonction ``foo()``." -#: library/multiprocessing.rst:2952 +#: library/multiprocessing.rst:2963 msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." @@ -4462,21 +4476,21 @@ msgstr "" "Des restrictions similaires s'appliquent si un pool ou un gestionnaire est " "créé dans le module principal." -#: library/multiprocessing.rst:2959 +#: library/multiprocessing.rst:2970 msgid "Examples" msgstr "Exemples" -#: library/multiprocessing.rst:2961 +#: library/multiprocessing.rst:2972 msgid "Demonstration of how to create and use customized managers and proxies:" msgstr "" "Démonstration de comment créer et utiliser des gestionnaires et mandataires " "personnalisés :" -#: library/multiprocessing.rst:2967 +#: library/multiprocessing.rst:2978 msgid "Using :class:`~multiprocessing.pool.Pool`:" msgstr "En utilisant :class:`~multiprocessing.pool.Pool` :" -#: library/multiprocessing.rst:2973 +#: library/multiprocessing.rst:2984 msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" diff --git a/library/multiprocessing.shared_memory.po b/library/multiprocessing.shared_memory.po index 20fb3b7bee..c4491ea879 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-30 12:59+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -16,9 +16,10 @@ msgstr "" "X-Generator: Poedit 2.3\n" #: library/multiprocessing.shared_memory.rst:2 +#, fuzzy msgid "" -":mod:`multiprocessing.shared_memory` --- Provides shared memory for direct " -"access across processes" +":mod:`multiprocessing.shared_memory` --- Shared memory for direct access " +"across processes" msgstr "" ":mod:`multiprocessing.shared_memory` — Mémoire partagée en accès direct " "depuis plusieurs processus" @@ -189,10 +190,11 @@ msgstr "" "de :class:`SharedMemory` :" #: library/multiprocessing.shared_memory.rst:127 +#, fuzzy msgid "" "The following example demonstrates a practical use of the :class:" -"`SharedMemory` class with `NumPy arrays `_, " -"accessing the same ``numpy.ndarray`` from two distinct Python shells:" +"`SharedMemory` class with `NumPy arrays `_, accessing " +"the same ``numpy.ndarray`` from two distinct Python shells:" msgstr "" "Le code qui suit est un exemple d'utilisation réel de la classe :class:" "`SharedMemory` avec des `tableaux NumPy `_ qui " diff --git a/library/numbers.po b/library/numbers.po index 9fc2e00029..bea4db161f 100644 --- a/library/numbers.po +++ b/library/numbers.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-05-19 22:36+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:25+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -106,20 +106,32 @@ msgstr "" "`~Complex.real`, :attr:`~Complex.imag` et :meth:`~Complex.conjugate`." #: library/numbers.rst:61 +#, fuzzy msgid "" "Subtypes :class:`Real` and adds :attr:`~Rational.numerator` and :attr:" -"`~Rational.denominator` properties, which should be in lowest terms. With " -"these, it provides a default for :func:`float`." +"`~Rational.denominator` properties. It also provides a default for :func:" +"`float`." +msgstr "" +"Dérive :class:`Real` et ajoute les propriétés :attr:`~Rational.numerator` " +"et :attr:`~Rational.denominator` qui doivent être les plus petits possible. " +"Avec celles-ci, il fournit une valeur par défaut pour :func:`float`." + +#: library/numbers.rst:65 +#, fuzzy +msgid "" +"The :attr:`~Rational.numerator` and :attr:`~Rational.denominator` values " +"should be instances of :class:`Integral` and should be in lowest terms with :" +"attr:`~Rational.denominator` positive." msgstr "" "Dérive :class:`Real` et ajoute les propriétés :attr:`~Rational.numerator` " "et :attr:`~Rational.denominator` qui doivent être les plus petits possible. " "Avec celles-ci, il fournit une valeur par défaut pour :func:`float`." -#: library/numbers.rst:72 +#: library/numbers.rst:75 msgid "Abstract." msgstr "Abstrait." -#: library/numbers.rst:77 +#: library/numbers.rst:80 #, fuzzy msgid "" "Subtypes :class:`Rational` and adds a conversion to :class:`int`. Provides " @@ -133,11 +145,11 @@ msgstr "" "les opérations au niveau des bits: ``<<``, ``>>``, ``&``, ``^``, ``|``, " "``~``." -#: library/numbers.rst:85 +#: library/numbers.rst:88 msgid "Notes for type implementors" msgstr "Notes pour implémenter des types" -#: library/numbers.rst:87 +#: library/numbers.rst:90 msgid "" "Implementors should be careful to make equal numbers equal and hash them to " "the same values. This may be subtle if there are two different extensions of " @@ -150,11 +162,11 @@ msgstr "" "réels. Par exemple, :class:`fractions.Fraction` implémente :func:`hash` " "comme suit ::" -#: library/numbers.rst:106 +#: library/numbers.rst:109 msgid "Adding More Numeric ABCs" msgstr "Ajouter plus d'ABC numériques" -#: library/numbers.rst:108 +#: library/numbers.rst:111 msgid "" "There are, of course, more possible ABCs for numbers, and this would be a " "poor hierarchy if it precluded the possibility of adding those. You can add " @@ -165,11 +177,11 @@ msgstr "" "ajouter. Vous pouvez ajouter ``MyFoo`` entre :class:`Complex` et :class:" "`Real` ainsi ::" -#: library/numbers.rst:120 +#: library/numbers.rst:123 msgid "Implementing the arithmetic operations" msgstr "Implémentation des opérations arithmétiques" -#: library/numbers.rst:122 +#: library/numbers.rst:125 msgid "" "We want to implement the arithmetic operations so that mixed-mode operations " "either call an implementation whose author knew about the types of both " @@ -184,7 +196,7 @@ msgstr "" "class:`Integral`, cela signifie que :meth:`__add__` et :meth:`__radd__` " "devraient être définis comme suit ::" -#: library/numbers.rst:153 +#: library/numbers.rst:156 msgid "" "There are 5 different cases for a mixed-type operation on subclasses of :" "class:`Complex`. I'll refer to all of the above code that doesn't refer to " @@ -199,11 +211,11 @@ msgstr "" "type de :class:`Complex` (``a : A <: Complex``) et ``b : B <: Complex``. " "Considérons ``a + b``:" -#: library/numbers.rst:160 +#: library/numbers.rst:163 msgid "If ``A`` defines an :meth:`__add__` which accepts ``b``, all is well." msgstr "Si ``A`` définit une :meth:`__add__` qui accepte ``b``, tout va bien." -#: library/numbers.rst:162 +#: library/numbers.rst:165 msgid "" "If ``A`` falls back to the boilerplate code, and it were to return a value " "from :meth:`__add__`, we'd miss the possibility that ``B`` defines a more " @@ -217,7 +229,7 @@ msgstr "" "`NotImplemented` dans :meth:`__add__` (ou alors ``A`` ne doit pas " "implémenter :meth:`__add__` du tout.)" -#: library/numbers.rst:168 +#: library/numbers.rst:171 msgid "" "Then ``B``'s :meth:`__radd__` gets a chance. If it accepts ``a``, all is " "well." @@ -225,7 +237,7 @@ msgstr "" "Alors :meth:`__radd__` de ``B`` a une chance. si elle accepte ``a``, tout va " "bien." -#: library/numbers.rst:170 +#: library/numbers.rst:173 msgid "" "If it falls back to the boilerplate, there are no more possible methods to " "try, so this is where the default implementation should live." @@ -233,7 +245,7 @@ msgstr "" "Si elle fait appel au code générique, il n'y a plus de méthode possible à " "essayer, c'est donc ici que l'implémentation par défaut intervient." -#: library/numbers.rst:173 +#: library/numbers.rst:176 msgid "" "If ``B <: A``, Python tries ``B.__radd__`` before ``A.__add__``. This is ok, " "because it was implemented with knowledge of ``A``, so it can handle those " @@ -243,7 +255,7 @@ msgstr "" "valable parce qu'elle est implémentée avec la connaissance de ``A``, donc " "elle peut gérer ces instances avant de déléguer à :class:`Complex`." -#: library/numbers.rst:178 +#: library/numbers.rst:181 msgid "" "If ``A <: Complex`` and ``B <: Real`` without sharing any other knowledge, " "then the appropriate shared operation is the one involving the built in :" @@ -253,7 +265,7 @@ msgstr "" "l'opération commune appropriée est celle impliquant :class:`complex` et les " "deux :meth:`__radd__` atterrissent à cet endroit, donc ``a+b == b+a``." -#: library/numbers.rst:183 +#: library/numbers.rst:186 msgid "" "Because most of the operations on any given type will be very similar, it " "can be useful to define a helper function which generates the forward and " diff --git a/library/optparse.po b/library/optparse.po index 48202f0ba4..c83c73d2d6 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-03 10:48+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -664,7 +664,7 @@ msgstr "" #: library/optparse.rst:532 msgid "" -"options that take a value indicate this fact in their automatically-" +"options that take a value indicate this fact in their automatically " "generated help message, e.g. for the \"mode\" option::" msgstr "" @@ -675,7 +675,7 @@ msgid "" "`optparse` converts the destination variable name to uppercase and uses that " "for the meta-variable. Sometimes, that's not what you want---for example, " "the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, resulting in " -"this automatically-generated option description::" +"this automatically generated option description::" msgstr "" #: library/optparse.rst:546 @@ -1758,7 +1758,7 @@ msgstr "" #: library/optparse.rst:1452 msgid "" -"At this point, :mod:`optparse` detects that a previously-added option is " +"At this point, :mod:`optparse` detects that a previously added option is " "already using the ``-n`` option string. Since ``conflict_handler`` is " "``\"resolve\"``, it resolves the situation by removing ``-n`` from the " "earlier option's list of option strings. Now ``--dry-run`` is the only way " @@ -1768,7 +1768,7 @@ msgstr "" #: library/optparse.rst:1463 msgid "" -"It's possible to whittle away the option strings for a previously-added " +"It's possible to whittle away the option strings for a previously added " "option until there are none left, and the user has no way of invoking that " "option from the command-line. In that case, :mod:`optparse` removes that " "option completely, so it doesn't show up in help text or anywhere else. " diff --git a/library/os.path.po b/library/os.path.po index 96db5ca262..c54c554551 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:24+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -33,8 +33,9 @@ msgid "" msgstr "" #: library/os.path.rst:19 +#, fuzzy msgid "" -"Unlike a unix shell, Python does not do any *automatic* path expansions. " +"Unlike a Unix shell, Python does not do any *automatic* path expansions. " "Functions such as :func:`expanduser` and :func:`expandvars` can be invoked " "explicitly when an application desires shell-like path expansion. (See also " "the :mod:`glob` module.)" @@ -351,7 +352,7 @@ msgstr "" #: library/os.path.rst:337 msgid "" "On POSIX systems, in accordance with `IEEE Std 1003.1 2013 Edition; 4.13 " -"Pathname Resolution `_, if a pathname begins with exactly two " "slashes, the first component following the leading characters may be " "interpreted in an implementation-defined manner, although more than two " diff --git a/library/os.po b/library/os.po index d3e4afd532..81fa5141ad 100644 --- a/library/os.po +++ b/library/os.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 02:39+0100\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -347,14 +347,14 @@ msgstr "" #: library/os.rst:1497 library/os.rst:1514 library/os.rst:1798 #: library/os.rst:1881 library/os.rst:1921 library/os.rst:1949 #: library/os.rst:2160 library/os.rst:2215 library/os.rst:3046 -#: library/os.rst:3671 library/os.rst:3686 library/os.rst:3700 -#: library/os.rst:3714 library/os.rst:3729 library/os.rst:3744 -#: library/os.rst:3760 library/os.rst:3776 library/os.rst:3790 -#: library/os.rst:3866 library/os.rst:3894 library/os.rst:4058 -#: library/os.rst:4311 library/os.rst:4342 library/os.rst:4412 -#: library/os.rst:4464 library/os.rst:4494 library/os.rst:4517 -#: library/os.rst:4533 library/os.rst:4551 library/os.rst:4706 -#: library/os.rst:4736 library/os.rst:4755 +#: library/os.rst:3672 library/os.rst:3687 library/os.rst:3701 +#: library/os.rst:3715 library/os.rst:3730 library/os.rst:3745 +#: library/os.rst:3761 library/os.rst:3777 library/os.rst:3791 +#: library/os.rst:3867 library/os.rst:3895 library/os.rst:4059 +#: library/os.rst:4312 library/os.rst:4343 library/os.rst:4413 +#: library/os.rst:4465 library/os.rst:4495 library/os.rst:4518 +#: library/os.rst:4534 library/os.rst:4552 library/os.rst:4707 +#: library/os.rst:4737 library/os.rst:4756 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." @@ -549,11 +549,11 @@ msgstr "" #: library/os.rst:294 msgid "" -"Return the value of the environment variable *key* if it exists, or " -"*default* if it doesn't. *key*, *default* and the result are str. Note that " -"since :func:`getenv` uses :data:`os.environ`, the mapping of :func:`getenv` " -"is similarly also captured on import, and the function may not reflect " -"future environment changes." +"Return the value of the environment variable *key* as a string if it exists, " +"or *default* if it doesn't. *key* is a string. Note that since :func:" +"`getenv` uses :data:`os.environ`, the mapping of :func:`getenv` is similarly " +"also captured on import, and the function may not reflect future environment " +"changes." msgstr "" #: library/os.rst:300 @@ -573,11 +573,11 @@ msgstr "" #: library/os.rst:309 msgid "" -"Return the value of the environment variable *key* if it exists, or " -"*default* if it doesn't. *key*, *default* and the result are bytes. Note " -"that since :func:`getenvb` uses :data:`os.environb`, the mapping of :func:" -"`getenvb` is similarly also captured on import, and the function may not " -"reflect future environment changes." +"Return the value of the environment variable *key* as bytes if it exists, or " +"*default* if it doesn't. *key* must be bytes. Note that since :func:" +"`getenvb` uses :data:`os.environb`, the mapping of :func:`getenvb` is " +"similarly also captured on import, and the function may not reflect future " +"environment changes." msgstr "" #: library/os.rst:316 @@ -686,8 +686,8 @@ msgstr "" "pour avoir le nom lié à l'identifiant de l'utilisateur courant." #: library/os.rst:439 library/os.rst:952 library/os.rst:1576 -#: library/os.rst:2238 library/os.rst:3060 library/os.rst:4143 -#: library/os.rst:4248 library/os.rst:4272 +#: library/os.rst:2238 library/os.rst:3060 library/os.rst:4144 +#: library/os.rst:4249 library/os.rst:4273 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." @@ -1027,7 +1027,7 @@ msgstr "" msgid ":ref:`Availability `: recent flavors of Unix." msgstr ":ref:`Disponibilité ` : dérivés récents de Unix." -#: library/os.rst:4273 +#: library/os.rst:4274 msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." @@ -1562,7 +1562,7 @@ msgstr "" msgid "The *dir_fd* argument." msgstr "L'argument *dir_fd*." -#: library/os.rst:1372 library/os.rst:4394 +#: library/os.rst:1372 library/os.rst:4395 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -1576,7 +1576,7 @@ msgstr "" #: library/os.rst:1937 library/os.rst:2009 library/os.rst:2074 #: library/os.rst:2142 library/os.rst:2205 library/os.rst:2295 #: library/os.rst:2654 library/os.rst:3066 library/os.rst:3122 -#: library/os.rst:3281 library/os.rst:3643 library/os.rst:4131 +#: library/os.rst:3282 library/os.rst:3644 library/os.rst:4132 msgid "Accepts a :term:`path-like object`." msgstr "Accepte un :term:`path-like object`." @@ -1652,7 +1652,7 @@ msgstr "" "`. Pour une approche (légèrement) plus portable, utilisez le " "module :mod:`pty`." -#: library/os.rst:1168 library/os.rst:3828 +#: library/os.rst:1168 library/os.rst:3829 msgid ":ref:`Availability `: some flavors of Unix." msgstr ":ref:`Disponibilité ` : certains dérivés Unix." @@ -2263,7 +2263,7 @@ msgid "Get the \"inheritable\" flag of the specified handle (a boolean)." msgstr "" "Récupère le marqueur « héritable » (booléen) de l'identificateur spécifié." -#: library/os.rst:1631 library/os.rst:4166 library/os.rst:4212 +#: library/os.rst:1631 library/os.rst:4167 library/os.rst:4213 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." @@ -3000,10 +3000,11 @@ msgstr "" "répertoire « feuille »." #: library/os.rst:2087 +#, fuzzy msgid "" "The *mode* parameter is passed to :func:`mkdir` for creating the leaf " "directory; see :ref:`the mkdir() description ` for how it is " -"interpreted. To set the file permission bits of any newly-created parent " +"interpreted. To set the file permission bits of any newly created parent " "directories you can set the umask before invoking :func:`makedirs`. The " "file permission bits of existing parent directories are not changed." msgstr "" @@ -3052,8 +3053,9 @@ msgstr "" "3.4.1. Voir :issue:`21082`." #: library/os.rst:2118 +#, fuzzy msgid "" -"The *mode* argument no longer affects the file permission bits of newly-" +"The *mode* argument no longer affects the file permission bits of newly " "created intermediate-level directories." msgstr "" "L'argument *mode* n'affecte plus les bits d'autorisation de fichier des " @@ -3301,10 +3303,10 @@ msgid "" "`IsADirectoryError` or a :exc:`NotADirectoryError` will be raised " "respectively. If both are directories and *dst* is empty, *dst* will be " "silently replaced. If *dst* is a non-empty directory, an :exc:`OSError` is " -"raised. If both are files, *dst* it will be replaced silently if the user " -"has permission. The operation may fail on some Unix flavors if *src* and " -"*dst* are on different filesystems. If successful, the renaming will be an " -"atomic operation (this is a POSIX requirement)." +"raised. If both are files, *dst* will be replaced silently if the user has " +"permission. The operation may fail on some Unix flavors if *src* and *dst* " +"are on different filesystems. If successful, the renaming will be an atomic " +"operation (this is a POSIX requirement)." msgstr "" "Sur Unix, si *src* est un fichier et *dst* un répertoire ou vice-versa, :exc:" "`IsADirectoryError` ou :exc:`NotADirectoryError` sont levées respectivement. " @@ -3508,10 +3510,11 @@ msgstr "" "généralement pas faire d'appel système supplémentaire ::" #: library/os.rst:2441 +#, fuzzy msgid "" -"On Unix-based systems, :func:`scandir` uses the system's `opendir() `_ and " -"`readdir() `_ functions. On Windows, it uses the Win32 `FindFirstFileW " "`_ and `FindNextFileW ` and :" "ref:`not following symlinks `." @@ -3894,7 +3897,7 @@ msgid "" "junction points, which will raise the usual exceptions." msgstr "" -#: library/os.rst:3363 +#: library/os.rst:3364 msgid "Example::" msgstr "Exemple ::" @@ -4590,8 +4593,8 @@ msgid "" "func:`~os.stat` call, depending on the resolution with which your operating " "system records access and modification times; see :func:`~os.stat`. The best " "way to preserve exact times is to use the *st_atime_ns* and *st_mtime_ns* " -"fields from the :func:`os.stat` result object with the *ns* parameter to " -"`utime`." +"fields from the :func:`os.stat` result object with the *ns* parameter to :" +"func:`utime`." msgstr "" "Le fait qu'un répertoire puisse être donné pour *path* dépend du fait que le " "système d'exploitation implémente les répertoires comme des fichiers (par " @@ -4635,14 +4638,15 @@ msgstr "" #, fuzzy msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " -"the names of the subdirectories in *dirpath* (excluding ``'.'`` and " -"``'..'``). *filenames* is a list of the names of the non-directory files in " -"*dirpath*. Note that the names in the lists contain no path components. To " -"get a full path (which begins with *top*) to a file or directory in " -"*dirpath*, do ``os.path.join(dirpath, name)``. Whether or not the lists are " -"sorted depends on the file system. If a file is removed from or added to " -"the *dirpath* directory during generating the lists, whether a name for that " -"file be included is unspecified." +"the names of the subdirectories in *dirpath* (including symlinks to " +"directories, and excluding ``'.'`` and ``'..'``). *filenames* is a list of " +"the names of the non-directory files in *dirpath*. Note that the names in " +"the lists contain no path components. To get a full path (which begins with " +"*top*) to a file or directory in *dirpath*, do ``os.path.join(dirpath, " +"name)``. Whether or not the lists are sorted depends on the file system. " +"If a file is removed from or added to the *dirpath* directory during " +"generating the lists, whether a name for that file be included is " +"unspecified." msgstr "" "*dirpath* est une chaîne de caractères contenant le chemin vers le " "répertoire. *dirnames* est une liste de noms de sous-répertoires dans " @@ -4652,7 +4656,7 @@ msgstr "" "(qui commence à *top*) vers un répertoire dans *dirpath*, faites ``os.path." "join(dirpath, name)``." -#: library/os.rst:3147 +#: library/os.rst:3148 msgid "" "If optional argument *topdown* is ``True`` or not specified, the triple for " "a directory is generated before the triples for any of its subdirectories " @@ -4671,7 +4675,7 @@ msgstr "" "avant que les *n*-uplets pour le répertoires et ses sous-répertoires ne " "soient générés." -#: library/os.rst:3155 +#: library/os.rst:3156 msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " @@ -4694,7 +4698,7 @@ msgstr "" "parce qu'en mode bas-en-haut, les répertoires dans *dirnames* sont générés " "avant que *dirpath* ne soit lui-même généré." -#: library/os.rst:3164 +#: library/os.rst:3165 msgid "" "By default, errors from the :func:`scandir` call are ignored. If optional " "argument *onerror* is specified, it should be a function; it will be called " @@ -4710,7 +4714,7 @@ msgstr "" "avorter le parcours. Notez que le nom de fichier est disponible dans " "l'attribut ``filename`` de l'objet exception." -#: library/os.rst:3170 +#: library/os.rst:3171 msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " @@ -4720,7 +4724,7 @@ msgstr "" "un répertoire. Définissez *followlinks* avec ``True`` pour visiter les " "répertoires pointés par des liens symboliques sur les systèmes qui le gère." -#: library/os.rst:3176 +#: library/os.rst:3177 msgid "" "Be aware that setting *followlinks* to ``True`` can lead to infinite " "recursion if a link points to a parent directory of itself. :func:`walk` " @@ -4730,7 +4734,7 @@ msgstr "" "récursion infinie si un lien pointe vers un répertoire parent de lui-même. :" "func:`walk` ne garde pas de trace des répertoires qu'il a déjà visité." -#: library/os.rst:3182 +#: library/os.rst:3183 msgid "" "If you pass a relative pathname, don't change the current working directory " "between resumptions of :func:`walk`. :func:`walk` never changes the current " @@ -4740,7 +4744,7 @@ msgstr "" "actuel entre deux exécutions de :func:`walk`. :func:`walk` ne change jamais " "le répertoire actuel, et suppose que l'appelant ne le fait pas non plus." -#: library/os.rst:3247 +#: library/os.rst:3248 msgid "" "This example displays the number of bytes taken by non-directory files in " "each directory under the starting directory, except that it doesn't look " @@ -4750,7 +4754,7 @@ msgstr "" "dans chaque répertoire à partir du répertoire de départ, si ce n'est qu'il " "ne cherche pas après un sous-répertoire CSV ::" -#: library/os.rst:3199 +#: library/os.rst:3200 msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " @@ -4760,7 +4764,7 @@ msgstr "" "parcourir l'arbre de bas-en-haut est essentiel : :func:`rmdir` ne permet pas " "de supprimer un répertoire avant qu'un ne soit vide ::" -#: library/os.rst:3214 +#: library/os.rst:3215 msgid "" "Raises an :ref:`auditing event ` ``os.walk`` with arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." @@ -4768,7 +4772,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.walk`` avec les arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." -#: library/os.rst:3216 +#: library/os.rst:3217 msgid "" "This function now calls :func:`os.scandir` instead of :func:`os.listdir`, " "making it faster by reducing the number of calls to :func:`os.stat`." @@ -4777,7 +4781,7 @@ msgstr "" "listdir`, ce qui la rend plus rapide en réduisant le nombre d'appels à :func:" "`os.stat`." -#: library/os.rst:3230 +#: library/os.rst:3231 msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." @@ -4785,7 +4789,7 @@ msgstr "" "Se comporte exactement comme :func:`walk`, si ce n'est qu'il fournit un " "quadruplet ``(dirpath, dirnames, filenames, dirfd)``, et gère ``dir_fd``." -#: library/os.rst:3233 +#: library/os.rst:3234 msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." @@ -4794,7 +4798,7 @@ msgstr "" "`walk` et *dirfd* est un descripteur de fichier faisant référence au " "répertoire *dirpath*." -#: library/os.rst:3236 +#: library/os.rst:3237 msgid "" "This function always supports :ref:`paths relative to directory descriptors " "` and :ref:`not following symlinks `. Note however " @@ -4807,7 +4811,7 @@ msgstr "" "fonctions, la valeur par défaut de *follow_symlinks* pour :func:`walk` est " "``False``." -#: library/os.rst:3243 +#: library/os.rst:3244 msgid "" "Since :func:`fwalk` yields file descriptors, those are only valid until the " "next iteration step, so you should duplicate them (e.g. with :func:`dup`) if " @@ -4817,7 +4821,7 @@ msgstr "" "valides que jusque la prochaine itération. Donc vous devriez les dupliquer " "(par exemple avec :func:`dup`) si vous désirez les garder plus longtemps." -#: library/os.rst:3260 +#: library/os.rst:3261 msgid "" "In the next example, walking the tree bottom-up is essential: :func:`rmdir` " "doesn't allow deleting a directory before the directory is empty::" @@ -4826,7 +4830,7 @@ msgstr "" "func:`rmdir` ne permet pas de supprimer un répertoire avant qu'il ne soit " "vide ::" -#: library/os.rst:3275 +#: library/os.rst:3276 msgid "" "Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." @@ -4834,11 +4838,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.fwalk`` avec les arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." -#: library/os.rst:3284 +#: library/os.rst:3285 msgid "Added support for :class:`bytes` paths." msgstr "Ajout de la gestion des chemins de type :class:`bytes`." -#: library/os.rst:3290 +#: library/os.rst:3291 msgid "" "Create an anonymous file and return a file descriptor that refers to it. " "*flags* must be one of the ``os.MFD_*`` constants available on the system " @@ -4846,7 +4850,7 @@ msgid "" "descriptor is :ref:`non-inheritable `." msgstr "" -#: library/os.rst:3295 +#: library/os.rst:3296 msgid "" "The name supplied in *name* is used as a filename and will be displayed as " "the target of the corresponding symbolic link in the directory ``/proc/self/" @@ -4856,7 +4860,7 @@ msgid "" "side effects." msgstr "" -#: library/os.rst:3303 +#: library/os.rst:3304 msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " "newer." @@ -4864,11 +4868,11 @@ msgstr "" ":ref:`Disponibilité ` : Linux 3.17 ou plus récent avec glibc " "2.27 ou plus récente." -#: library/os.rst:3325 +#: library/os.rst:3326 msgid "These flags can be passed to :func:`memfd_create`." msgstr "" -#: library/os.rst:3329 +#: library/os.rst:3330 #, fuzzy msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " @@ -4878,7 +4882,7 @@ msgstr "" "6.0 et plus récent, OpenBSD 2.7 et plus récent. L'utilisation de *flags* " "requiert Linux 4.6 ou plus récent." -#: library/os.rst:3335 +#: library/os.rst:3336 msgid "" "Create and return an event file descriptor. The file descriptors supports " "raw :func:`read` and :func:`write` with a buffer size of 8, :func:`~select." @@ -4887,7 +4891,7 @@ msgid "" "ref:`non-inheritable `." msgstr "" -#: library/os.rst:3341 +#: library/os.rst:3342 msgid "" "*initval* is the initial value of the event counter. The initial value must " "be an 32 bit unsigned integer. Please note that the initial value is limited " @@ -4895,39 +4899,39 @@ msgid "" "integer with a maximum value of 2\\ :sup:`64`\\ -\\ 2." msgstr "" -#: library/os.rst:3346 +#: library/os.rst:3347 msgid "" "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " "and :const:`EFD_SEMAPHORE`." msgstr "" -#: library/os.rst:3349 +#: library/os.rst:3350 msgid "" "If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :" "func:`eventfd_read` returns 1 and decrements the counter by one." msgstr "" -#: library/os.rst:3352 +#: library/os.rst:3353 msgid "" "If :const:`EFD_SEMAPHORE` is not specified and the event counter is non-" "zero, :func:`eventfd_read` returns the current event counter value and " "resets the counter to zero." msgstr "" -#: library/os.rst:3356 +#: library/os.rst:3357 msgid "" "If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" "func:`eventfd_read` blocks." msgstr "" -#: library/os.rst:3359 +#: library/os.rst:3360 msgid "" ":func:`eventfd_write` increments the event counter. Write blocks if the " "write operation would increment the counter to a value larger than 2\\ :sup:" "`64`\\ -\\ 2." msgstr "" -#: library/os.rst:3381 +#: library/os.rst:3382 #, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.27 or newer with glibc 2.8 or " @@ -4936,40 +4940,40 @@ msgstr "" ":ref:`Disponibilité ` : Linux 3.17 ou plus récent avec glibc " "2.27 ou plus récente." -#: library/os.rst:3386 +#: library/os.rst:3387 msgid "" "Read value from an :func:`eventfd` file descriptor and return a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" -#: library/os.rst:3399 library/os.rst:3416 +#: library/os.rst:3400 library/os.rst:3417 #, fuzzy msgid ":ref:`Availability `: See :func:`eventfd`" msgstr ":ref:`Disponibilité ` : dérivés récents de Unix." -#: library/os.rst:3395 +#: library/os.rst:3396 msgid "" "Add value to an :func:`eventfd` file descriptor. *value* must be a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" -#: library/os.rst:3404 +#: library/os.rst:3405 #, fuzzy msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor." msgstr "Définit le marqueur « héritable » du descripteur de fichier spécifié." -#: library/os.rst:3412 +#: library/os.rst:3413 msgid "" "Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor." msgstr "" -#: library/os.rst:3421 +#: library/os.rst:3422 msgid "" "Provide semaphore-like semantics for reads from a :func:`eventfd` file " "descriptor. On read the internal counter is decremented by one." msgstr "" -#: library/os.rst:3425 +#: library/os.rst:3426 #, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 or newer with glibc 2.8 or " @@ -4978,15 +4982,15 @@ msgstr "" ":ref:`Disponibilité ` : Linux 3.17 ou plus récent avec glibc " "2.27 ou plus récente." -#: library/os.rst:3430 +#: library/os.rst:3431 msgid "Linux extended attributes" msgstr "Attributs étendus pour Linux" -#: library/os.rst:3434 +#: library/os.rst:3435 msgid "These functions are all available on Linux only." msgstr "Toutes ces fonctions ne sont disponibles que sur Linux." -#: library/os.rst:3438 +#: library/os.rst:3439 msgid "" "Return the value of the extended filesystem attribute *attribute* for " "*path*. *attribute* can be bytes or str (directly or indirectly through the :" @@ -4999,7 +5003,7 @@ msgstr "" "`PathLike`). Si c'est une chaîne de caractères, elle est encodée avec " "l'encodage du système de fichiers." -#: library/os.rst:3446 +#: library/os.rst:3447 msgid "" "Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " "``path``, ``attribute``." @@ -5007,11 +5011,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.getxattr`` avec les " "arguments ``path``, ``attribute``." -#: library/os.rst:3480 library/os.rst:3505 +#: library/os.rst:3481 library/os.rst:3506 msgid "Accepts a :term:`path-like object` for *path* and *attribute*." msgstr "Accepte un :term:`path-like object` pour *path* et *attribute*." -#: library/os.rst:3454 +#: library/os.rst:3455 msgid "" "Return a list of the extended filesystem attributes on *path*. The " "attributes in the list are represented as strings decoded with the " @@ -5023,7 +5027,7 @@ msgstr "" "sont décodés avec l'encodage du système de fichier. Si *path* vaut " "``None``, :func:`listxattr` examinera le répertoire actuel." -#: library/os.rst:3462 +#: library/os.rst:3463 msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." @@ -5031,7 +5035,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.listxattr`` avec l'argument " "``path``." -#: library/os.rst:3470 +#: library/os.rst:3471 #, fuzzy msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " @@ -5045,7 +5049,7 @@ msgstr "" "c'est une chaîne de caractères, elle est encodée avec l'encodage du système " "de fichiers." -#: library/os.rst:3478 +#: library/os.rst:3479 msgid "" "Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " "``path``, ``attribute``." @@ -5053,7 +5057,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.removexattr`` avec les " "arguments ``path``, ``attribute``." -#: library/os.rst:3486 +#: library/os.rst:3487 #, fuzzy msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " @@ -5075,7 +5079,7 @@ msgstr "" "donné et que l'attribut existe déjà, l'attribut ne sera pas créé et " "``ENODATA`` sera levée." -#: library/os.rst:3500 +#: library/os.rst:3501 msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." @@ -5083,7 +5087,7 @@ msgstr "" "Un bogue des versions inférieures à 2.6.39 du noyau Linux faisait que les " "marqueurs de *flags* étaient ignorés sur certains systèmes." -#: library/os.rst:3503 +#: library/os.rst:3504 msgid "" "Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " "``path``, ``attribute``, ``value``, ``flags``." @@ -5091,7 +5095,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.setxattr`` avec les " "arguments ``path``, ``attribute``, ``value``, ``flags``." -#: library/os.rst:3511 +#: library/os.rst:3512 msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." @@ -5099,7 +5103,7 @@ msgstr "" "La taille maximum que peut faire la valeur d'un attribut étendu. " "Actuellement, c'est 64 KiB sur Lniux." -#: library/os.rst:3517 +#: library/os.rst:3518 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." @@ -5107,7 +5111,7 @@ msgstr "" "C'est une valeur possible pour l'argument *flags* de :func:`setxattr`. Elle " "indique que l'opération doit créer un attribut." -#: library/os.rst:3523 +#: library/os.rst:3524 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." @@ -5115,16 +5119,16 @@ msgstr "" "C'est une valeur possible pour l'argument *flags* de :func:`setxattr`.Elle " "indique que l'opération doit remplacer un attribut existant." -#: library/os.rst:3530 +#: library/os.rst:3531 msgid "Process Management" msgstr "Gestion des processus" -#: library/os.rst:3532 +#: library/os.rst:3533 msgid "These functions may be used to create and manage processes." msgstr "" "Ces fonctions peuvent être utilisées pour créer et gérer des processus." -#: library/os.rst:3534 +#: library/os.rst:3535 msgid "" "The various :func:`exec\\* ` functions take a list of arguments for " "the new program loaded into the process. In each case, the first of these " @@ -5143,7 +5147,7 @@ msgstr "" "exemple, ``os.execv('/bin/echo/', ['foo', 'bar'])`` affichera uniquement " "``bar`` sur la sortie standard ; ``foo`` semblera être ignoré." -#: library/os.rst:3545 +#: library/os.rst:3546 msgid "" "Generate a :const:`SIGABRT` signal to the current process. On Unix, the " "default behavior is to produce a core dump; on Windows, the process " @@ -5157,31 +5161,31 @@ msgstr "" "Attention : appeler cette fonction n'appellera pas le gestionnaire de signal " "Python enregistré par :const:`SIGABRT` à l'aide de :func:`signal.signal`." -#: library/os.rst:3554 +#: library/os.rst:3555 msgid "Add a path to the DLL search path." msgstr "Ajoute un chemin aux chemins de recherche de DLL." -#: library/os.rst:3556 +#: library/os.rst:3557 msgid "" "This search path is used when resolving dependencies for imported extension " "modules (the module itself is resolved through :data:`sys.path`), and also " "by :mod:`ctypes`." msgstr "" -#: library/os.rst:3560 +#: library/os.rst:3561 msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." msgstr "" -#: library/os.rst:3563 +#: library/os.rst:3564 msgid "" "See the `Microsoft documentation `_ for more information about how " "DLLs are loaded." msgstr "" -#: library/os.rst:3567 +#: library/os.rst:3568 msgid "" "Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " "argument ``path``." @@ -5189,7 +5193,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.add_dll_directory`` avec " "l'argument ``path``." -#: library/os.rst:3571 +#: library/os.rst:3572 msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " "for the current process. This led to inconsistencies, such as only sometimes " @@ -5197,14 +5201,14 @@ msgid "" "such as ``AddDllDirectory`` having no effect." msgstr "" -#: library/os.rst:3578 +#: library/os.rst:3579 msgid "" "In 3.8, the two primary ways DLLs are loaded now explicitly override the " "process-wide behavior to ensure consistency. See the :ref:`porting notes " "` for information on updating libraries." msgstr "" -#: library/os.rst:3593 +#: library/os.rst:3594 msgid "" "These functions all execute a new program, replacing the current process; " "they do not return. On Unix, the new executable is loaded into the current " @@ -5216,7 +5220,7 @@ msgstr "" "dans le processus actuel, et aura le même identifiant de processus (PID) que " "l'appelant. Les erreurs seront reportées par des exceptions :exc:`OSError`." -#: library/os.rst:3598 +#: library/os.rst:3599 msgid "" "The current process is replaced immediately. Open file objects and " "descriptors are not flushed, so if there may be data buffered on these open " @@ -5229,7 +5233,7 @@ msgstr "" "manuellement en utilisant :func:`sys.stdout.flush` ou :func:`os.fsync` avant " "d'appeler une fonction :func:`exec\\* `." -#: library/os.rst:3604 +#: library/os.rst:3605 msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " "in how command-line arguments are passed. The \"l\" variants are perhaps " @@ -5252,7 +5256,7 @@ msgstr "" "devraient commencer avec le nom de la commande à lancer, mais ce n'est pas " "obligatoire." -#: library/os.rst:3613 +#: library/os.rst:3614 msgid "" "The variants which include a \"p\" near the end (:func:`execlp`, :func:" "`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " @@ -5275,7 +5279,7 @@ msgstr "" "localiser l'exécutable. *path* doit contenir un chemin absolue ou relatif " "approprié." -#: library/os.rst:3623 +#: library/os.rst:3624 msgid "" "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -5292,7 +5296,7 @@ msgstr "" "`execlp`, :func:`execv`, et :func:`execvp` causent toutes un héritage de " "l'environnement du processus actuel par le processus fils." -#: library/os.rst:3630 +#: library/os.rst:3631 msgid "" "For :func:`execve` on some platforms, *path* may also be specified as an " "open file descriptor. This functionality may not be supported on your " @@ -5306,7 +5310,7 @@ msgstr "" "disponible en utilisant :data:`os._supports_fd`. Si c'est indisponible, " "l'utiliser lèvera une :exc:`NotImplementedError`." -#: library/os.rst:3635 +#: library/os.rst:3636 msgid "" "Raises an :ref:`auditing event ` ``os.exec`` with arguments " "``path``, ``args``, ``env``." @@ -5314,7 +5318,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.exec`` avec les arguments " "``path``, ``args``, ``env``." -#: library/os.rst:3639 +#: library/os.rst:3640 #, fuzzy msgid "" "Added support for specifying *path* as an open file descriptor for :func:" @@ -5323,7 +5327,7 @@ msgstr "" "Prise en charge de la spécification d'un descripteur de fichier ouvert pour " "*path* pour :func:`execve`." -#: library/os.rst:3648 +#: library/os.rst:3649 msgid "" "Exit the process with status *n*, without calling cleanup handlers, flushing " "stdio buffers, etc." @@ -5331,7 +5335,7 @@ msgstr "" "Quitte le processus avec le statut *n*, sans appeler les gestionnaires de " "nettoyage, sans purger les tampons des fichiers, etc." -#: library/os.rst:3653 +#: library/os.rst:3654 msgid "" "The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally " "only be used in the child process after a :func:`fork`." @@ -5340,7 +5344,7 @@ msgstr "" "normalement être utilisé uniquement par le processus fils après un :func:" "`fork`." -#: library/os.rst:3656 +#: library/os.rst:3657 msgid "" "The following exit codes are defined and can be used with :func:`_exit`, " "although they are not required. These are typically used for system " @@ -5352,7 +5356,7 @@ msgstr "" "utilisés pour les programmes systèmes écrits en Python, comme un programme " "de gestion de l'exécution des commandes d'un serveur de mails." -#: library/os.rst:3662 +#: library/os.rst:3663 msgid "" "Some of these may not be available on all Unix platforms, since there is " "some variation. These constants are defined where they are defined by the " @@ -5362,11 +5366,11 @@ msgstr "" "plate-formes Unix étant donné qu'il en existe des variations. Ces constantes " "sont définies là où elles sont définies par la plate-forme sous-jacente." -#: library/os.rst:3669 +#: library/os.rst:3670 msgid "Exit code that means no error occurred." msgstr "Code de sortie signifiant qu'aucune erreur n'est arrivée." -#: library/os.rst:3676 +#: library/os.rst:3677 msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." @@ -5374,36 +5378,36 @@ msgstr "" "Code de sortie signifiant que les commandes n'ont pas été utilisées " "correctement, comme quand le mauvais nombre d'arguments a été donné." -#: library/os.rst:3684 +#: library/os.rst:3685 msgid "Exit code that means the input data was incorrect." msgstr "" "Code de sortie signifiant que les données en entrées étaient incorrectes." -#: library/os.rst:3691 +#: library/os.rst:3692 msgid "Exit code that means an input file did not exist or was not readable." msgstr "" "Code de sortie signifiant qu'un des fichiers d'entrée n'existe pas ou n'est " "pas lisible." -#: library/os.rst:3698 +#: library/os.rst:3699 msgid "Exit code that means a specified user did not exist." msgstr "Code de sortie signifiant qu'un utilisateur spécifié n'existe pas." -#: library/os.rst:3705 +#: library/os.rst:3706 msgid "Exit code that means a specified host did not exist." msgstr "Code de sortie signifiant qu'un hôte spécifié n'existe pas." -#: library/os.rst:3712 +#: library/os.rst:3713 msgid "Exit code that means that a required service is unavailable." msgstr "Code de sortie signifiant qu'un service requis n'est pas disponible." -#: library/os.rst:3719 +#: library/os.rst:3720 msgid "Exit code that means an internal software error was detected." msgstr "" "Code de sortie signifiant qu'une erreur interne d'un programme a été " "détectée." -#: library/os.rst:3726 +#: library/os.rst:3727 msgid "" "Exit code that means an operating system error was detected, such as the " "inability to fork or create a pipe." @@ -5412,7 +5416,7 @@ msgstr "" "détectée, comme l'incapacité à réaliser un *fork* ou à créer un tuyau " "(*pipe*)." -#: library/os.rst:3734 +#: library/os.rst:3735 msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." @@ -5420,20 +5424,20 @@ msgstr "" "Code de sortie signifiant qu'un fichier n'existe pas, n'a pas pu être " "ouvert, ou avait une autre erreur." -#: library/os.rst:3742 +#: library/os.rst:3743 msgid "Exit code that means a user specified output file could not be created." msgstr "" "Code de sortie signifiant qu'un fichier spécifié par l'utilisateur n'a pas " "pu être créé." -#: library/os.rst:3749 +#: library/os.rst:3750 msgid "" "Exit code that means that an error occurred while doing I/O on some file." msgstr "" "Code de sortie signifiant qu'une erreur est apparue pendant une E/S sur un " "fichier." -#: library/os.rst:3756 +#: library/os.rst:3757 msgid "" "Exit code that means a temporary failure occurred. This indicates something " "that may not really be an error, such as a network connection that couldn't " @@ -5443,7 +5447,7 @@ msgstr "" "quelque chose qui pourrait ne pas être une erreur, comme une connexion au " "réseau qui n'a pas pu être établie pendant une opération réessayable." -#: library/os.rst:3765 +#: library/os.rst:3766 msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." @@ -5451,7 +5455,7 @@ msgstr "" "Code de sortie signifiant qu'un protocole d'échange est illégal, invalide, " "ou non-compris." -#: library/os.rst:3773 +#: library/os.rst:3774 msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." @@ -5459,17 +5463,17 @@ msgstr "" "Code de sortie signifiant qu'il manque certaines permissions pour réaliser " "une opération (mais n'est pas destiné au problèmes de système de fichiers)." -#: library/os.rst:3781 +#: library/os.rst:3782 msgid "Exit code that means that some kind of configuration error occurred." msgstr "Code de sortie signifiant qu'une erreur de configuration est apparue." -#: library/os.rst:3788 +#: library/os.rst:3789 msgid "Exit code that means something like \"an entry was not found\"." msgstr "" "Code de sortie signifiant quelque chose comme « une entrée n'a pas été " "trouvée »." -#: library/os.rst:3795 +#: library/os.rst:3796 msgid "" "Fork a child process. Return ``0`` in the child and the child's process id " "in the parent. If an error occurs :exc:`OSError` is raised." @@ -5478,7 +5482,7 @@ msgstr "" "processus fils dans le processus père. Si une erreur apparaît, une :exc:" "`OSError` est levée." -#: library/os.rst:3798 +#: library/os.rst:3799 #, fuzzy msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " @@ -5487,25 +5491,25 @@ msgstr "" "Notez que certaines plate-formes, dont FreeBSD <= 6.3 et Cygwin, ont des " "problèmes connus lors d'utilisation de *fork()* depuis un fil d'exécution." -#: library/os.rst:3801 +#: library/os.rst:3802 msgid "" "Raises an :ref:`auditing event ` ``os.fork`` with no arguments." msgstr "" "Lève un :ref:`évènement d'audit ` ``sys.fork`` sans argument." -#: library/os.rst:3803 +#: library/os.rst:3804 msgid "" "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -#: library/os.rst:3809 +#: library/os.rst:3810 msgid "See :mod:`ssl` for applications that use the SSL module with fork()." msgstr "" "Voit :mod:`ssl` pour les application qui utilisent le module SSL avec " "*fork()*." -#: library/os.rst:3816 +#: library/os.rst:3817 msgid "" "Fork a child process, using a new pseudo-terminal as the child's controlling " "terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, " @@ -5520,19 +5524,19 @@ msgstr "" "approche plus portable, utilisez le module :mod:`pty`. Si une erreur " "apparaît, une :exc:`OSError` est levée." -#: library/os.rst:3822 +#: library/os.rst:3823 msgid "" "Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." msgstr "" "Lève un :ref:`évènement d'audit ` ``sys.forkpty`` sans argument." -#: library/os.rst:3824 +#: library/os.rst:3825 msgid "" "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -#: library/os.rst:3837 +#: library/os.rst:3838 msgid "" "Send signal *sig* to the process *pid*. Constants for the specific signals " "available on the host platform are defined in the :mod:`signal` module." @@ -5540,7 +5544,7 @@ msgstr "" "Envoie le signal *sig* au processus *pid*. Les constantes pour les signaux " "spécifiques à la plate-forme hôte sont définies dans le module :mod:`signal`." -#: library/os.rst:3840 +#: library/os.rst:3841 msgid "" "Windows: The :data:`signal.CTRL_C_EVENT` and :data:`signal.CTRL_BREAK_EVENT` " "signals are special signals which can only be sent to console processes " @@ -5557,11 +5561,11 @@ msgstr "" "sera mis à *sig*. La version Windows de :func:`kill` prend en plus les " "identificateurs de processus à tuer." -#: library/os.rst:3848 +#: library/os.rst:3849 msgid "See also :func:`signal.pthread_kill`." msgstr "Voir également :func:`signal.pthread_kill`." -#: library/os.rst:3850 +#: library/os.rst:3851 msgid "" "Raises an :ref:`auditing event ` ``os.kill`` with arguments " "``pid``, ``sig``." @@ -5569,15 +5573,15 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.kill`` avec les arguments " "``pid``, ``sig``." -#: library/os.rst:3852 +#: library/os.rst:3853 msgid "Windows support." msgstr "Prise en charge de Windows." -#: library/os.rst:3862 +#: library/os.rst:3863 msgid "Send the signal *sig* to the process group *pgid*." msgstr "Envoie le signal *sig* au groupe de processus *pgid*." -#: library/os.rst:3864 +#: library/os.rst:3865 msgid "" "Raises an :ref:`auditing event ` ``os.killpg`` with arguments " "``pgid``, ``sig``." @@ -5585,13 +5589,13 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.killpg`` avec les arguments " "``pgid``, ``sig``." -#: library/os.rst:3871 +#: library/os.rst:3872 msgid "" "Add *increment* to the process's \"niceness\". Return the new niceness." msgstr "" "Ajoute *increment* à la priorité du processus. Renvoie la nouvelle priorité." -#: library/os.rst:3878 +#: library/os.rst:3879 msgid "" "Return a file descriptor referring to the process *pid*. This descriptor " "can be used to perform process management without races and signals. The " @@ -5599,16 +5603,16 @@ msgid "" "currently defined." msgstr "" -#: library/os.rst:3883 +#: library/os.rst:3884 msgid "See the :manpage:`pidfd_open(2)` man page for more details." msgstr "" -#: library/os.rst:3885 +#: library/os.rst:3886 #, fuzzy msgid ":ref:`Availability `: Linux 5.3+" msgstr ":ref:`Disponibilité ` : Linux 5.3+" -#: library/os.rst:3891 +#: library/os.rst:3892 msgid "" "Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." @@ -5616,7 +5620,7 @@ msgstr "" "Verrouille les segments du programme en mémoire. La valeur de *op* (définie " "dans ````) détermine quels segments sont verrouillés." -#: library/os.rst:3899 +#: library/os.rst:3900 msgid "" "Open a pipe to or from command *cmd*. The return value is an open file " "object connected to the pipe, which can be read or written depending on " @@ -5632,7 +5636,7 @@ msgstr "" "`open`. L'objet fichier renvoyé écrit (ou lit) des chaînes de caractères et " "non de bytes." -#: library/os.rst:3906 +#: library/os.rst:3907 msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " "successfully, or the subprocess's return code if there was an error. On " @@ -5653,14 +5657,14 @@ msgstr "" "été tué). Sur les systèmes Windows, la valeur de retour contient le code de " "retour du processus fils dans un entier signé ." -#: library/os.rst:3916 +#: library/os.rst:3917 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` " "method result (exit status) into an exit code if it is not ``None``. On " "Windows, the ``close`` method result is directly the exit code (or ``None``)." msgstr "" -#: library/os.rst:3921 +#: library/os.rst:3922 msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " @@ -5670,29 +5674,29 @@ msgstr "" "documentation de cette classe pour des méthodes plus puissantes pour gérer " "et communiquer avec des sous-processus." -#: library/os.rst:3930 +#: library/os.rst:3931 msgid "Wraps the :c:func:`posix_spawn` C library API for use from Python." msgstr "" -#: library/os.rst:3932 +#: library/os.rst:3933 msgid "" "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." msgstr "" -#: library/os.rst:3934 +#: library/os.rst:3935 msgid "" "The positional-only arguments *path*, *args*, and *env* are similar to :func:" "`execve`." msgstr "" -#: library/os.rst:3937 +#: library/os.rst:3938 msgid "" "The *path* parameter is the path to the executable file. The *path* should " "contain a directory. Use :func:`posix_spawnp` to pass an executable file " "without directory." msgstr "" -#: library/os.rst:3941 +#: library/os.rst:3942 msgid "" "The *file_actions* argument may be a sequence of tuples describing actions " "to take on specific file descriptors in the child process between the C " @@ -5701,31 +5705,31 @@ msgid "" "describing the remaining tuple elements:" msgstr "" -#: library/os.rst:3949 +#: library/os.rst:3950 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" msgstr "" -#: library/os.rst:3951 +#: library/os.rst:3952 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." msgstr "" -#: library/os.rst:3955 +#: library/os.rst:3956 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "" -#: library/os.rst:3957 +#: library/os.rst:3958 msgid "Performs ``os.close(fd)``." msgstr "" -#: library/os.rst:3961 +#: library/os.rst:3962 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgstr "" -#: library/os.rst:3963 +#: library/os.rst:3964 msgid "Performs ``os.dup2(fd, new_fd)``." msgstr "" -#: library/os.rst:3965 +#: library/os.rst:3966 msgid "" "These tuples correspond to the C library :c:func:" "`posix_spawn_file_actions_addopen`, :c:func:" @@ -5734,7 +5738,7 @@ msgid "" "`posix_spawn` call itself." msgstr "" -#: library/os.rst:3971 +#: library/os.rst:3972 msgid "" "The *setpgroup* argument will set the process group of the child to the " "value specified. If the value specified is 0, the child's process group ID " @@ -5743,7 +5747,7 @@ msgid "" "corresponds to the C library :c:data:`POSIX_SPAWN_SETPGROUP` flag." msgstr "" -#: library/os.rst:3977 +#: library/os.rst:3978 msgid "" "If the *resetids* argument is ``True`` it will reset the effective UID and " "GID of the child to the real UID and GID of the parent process. If the " @@ -5754,15 +5758,15 @@ msgid "" "library :c:data:`POSIX_SPAWN_RESETIDS` flag." msgstr "" -#: library/os.rst:3985 +#: library/os.rst:3986 msgid "" "If the *setsid* argument is ``True``, it will create a new session ID for " -"`posix_spawn`. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" +"``posix_spawn``. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" "`POSIX_SPAWN_SETSID_NP` flag. Otherwise, :exc:`NotImplementedError` is " "raised." msgstr "" -#: library/os.rst:3990 +#: library/os.rst:3991 msgid "" "The *setsigmask* argument will set the signal mask to the signal set " "specified. If the parameter is not used, then the child inherits the " @@ -5770,14 +5774,14 @@ msgid "" "`POSIX_SPAWN_SETSIGMASK` flag." msgstr "" -#: library/os.rst:3995 +#: library/os.rst:3996 msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " "specified. This argument corresponds to the C library :c:data:" "`POSIX_SPAWN_SETSIGDEF` flag." msgstr "" -#: library/os.rst:3999 +#: library/os.rst:4000 msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " "policy and an instance of :class:`sched_param` with the scheduler " @@ -5787,7 +5791,7 @@ msgid "" "`POSIX_SPAWN_SETSCHEDULER` flags." msgstr "" -#: library/os.rst:4022 +#: library/os.rst:4023 msgid "" "Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " "``path``, ``argv``, ``env``." @@ -5795,18 +5799,18 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.posix_spawn`` avec les " "arguments ``path``, ``argv``, ``env``." -#: library/os.rst:4016 +#: library/os.rst:4017 msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python." msgstr "" -#: library/os.rst:4018 +#: library/os.rst:4019 msgid "" "Similar to :func:`posix_spawn` except that the system searches for the " "*executable* file in the list of directories specified by the :envvar:`PATH` " "environment variable (in the same way as for ``execvp(3)``)." msgstr "" -#: library/os.rst:4026 +#: library/os.rst:4027 #, fuzzy msgid "" ":ref:`Availability `: See :func:`posix_spawn` documentation." @@ -5814,7 +5818,7 @@ msgstr "" ":ref:`Disponibilité ` : voir la documentation de :func:" "`posix_spawn`." -#: library/os.rst:4032 +#: library/os.rst:4033 msgid "" "Register callables to be executed when a new child process is forked using :" "func:`os.fork` or similar process cloning APIs. The parameters are optional " @@ -5825,12 +5829,12 @@ msgstr "" "clonage de processus. Les paramètres sont optionnels et par mots-clé " "uniquement. Chacun spécifie un point d'appel différent." -#: library/os.rst:4037 +#: library/os.rst:4038 msgid "*before* is a function called before forking a child process." msgstr "" "*before* est une fonction appelée avant de *forker* un processus enfant." -#: library/os.rst:4038 +#: library/os.rst:4039 msgid "" "*after_in_parent* is a function called from the parent process after forking " "a child process." @@ -5838,11 +5842,11 @@ msgstr "" "*after_in_parent* est une fonction appelée depuis le processus parent après " "avoir *forké* un processus enfant." -#: library/os.rst:4040 +#: library/os.rst:4041 msgid "*after_in_child* is a function called from the child process." msgstr "*after_in_child* est une fonction appelée depuis le processus enfant." -#: library/os.rst:4042 +#: library/os.rst:4043 msgid "" "These calls are only made if control is expected to return to the Python " "interpreter. A typical :mod:`subprocess` launch will not trigger them as " @@ -5852,7 +5856,7 @@ msgstr "" "l'interpréteur Python. Un lancement de :mod:`subprocess` typique ne les " "déclenchera pas, car l'enfant ne ré-entre pas dans l'interpréteur." -#: library/os.rst:4046 +#: library/os.rst:4047 msgid "" "Functions registered for execution before forking are called in reverse " "registration order. Functions registered for execution after forking " @@ -5863,7 +5867,7 @@ msgstr "" "l'exécution après le *fork* (soit dans le parent ou dans l'enfant) sont " "appelées dans l'ordre de leur enregistrement." -#: library/os.rst:4051 +#: library/os.rst:4052 msgid "" "Note that :c:func:`fork` calls made by third-party C code may not call those " "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" @@ -5874,15 +5878,15 @@ msgstr "" "explicitement :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` et :" "c:func:`PyOS_AfterFork_Child`." -#: library/os.rst:4055 +#: library/os.rst:4056 msgid "There is no way to unregister a function." msgstr "Il n'y a aucun moyen d'annuler l'enregistrement d'une fonction." -#: library/os.rst:4071 +#: library/os.rst:4072 msgid "Execute the program *path* in a new process." msgstr "Exécute le programme *path* dans un nouveau processus." -#: library/os.rst:4073 +#: library/os.rst:4074 msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " "for spawning new processes and retrieving their results; using that module " @@ -5894,7 +5898,7 @@ msgstr "" "est préférable d'utiliser ce module que ces fonctions. Voyez surtout la " "section :ref:`subprocess-replacements`.)" -#: library/os.rst:4078 +#: library/os.rst:4079 msgid "" "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " "new process; if *mode* is :const:`P_WAIT`, returns the process's exit code " @@ -5909,13 +5913,13 @@ msgstr "" "en fait l'identificateur du processus (*process handle*) et peut donc être " "utilisé avec la fonction :func:`waitpid`." -#: library/os.rst:4084 +#: library/os.rst:4085 msgid "" "Note on VxWorks, this function doesn't return ``-signal`` when the new " "process is killed. Instead it raises OSError exception." msgstr "" -#: library/os.rst:4087 +#: library/os.rst:4088 msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " "differ in how command-line arguments are passed. The \"l\" variants are " @@ -5937,7 +5941,7 @@ msgstr "" "fils devraient commencer avec le nom de la commande à lancer, mais ce n'est " "pas obligatoire." -#: library/os.rst:4096 +#: library/os.rst:4097 msgid "" "The variants which include a second \"p\" near the end (:func:`spawnlp`, :" "func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" @@ -5952,15 +5956,15 @@ msgstr "" "Les variantes qui incluent un « p » vers la fin (:func:`spawnlp`, :func:" "`spawnlpe`, :func:`spawnvp`, et :func:`spawnvpe`) utiliseront la variable " "d'environnement :envvar:`PATH` pour localiser le programme *file*. Quand " -"l'environnement est remplacé (en utilisant une des variantes :func:`spawn" -"\\*e `, discutées dans le paragraphe suivant), le nouvel " +"l'environnement est remplacé (en utilisant une des variantes :func:" +"`spawn\\*e `, discutées dans le paragraphe suivant), le nouvel " "environnement est utilisé comme source de la variable d'environnement :" "envvar:`PATH`. Les autres variantes :func:`spawnl`, :func:`spawnle`, :func:" "`spawnv`, et :func:`spawnve` n'utiliseront pas la variable d'environnement :" "envvar:`PATH` pour localiser l'exécutable. *path* doit contenir un chemin " "absolue ou relatif approprié." -#: library/os.rst:4106 +#: library/os.rst:4107 msgid "" "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -5982,7 +5986,7 @@ msgstr "" "caractères. Des valeurs invalides pour les clefs ou les valeurs met la " "fonction en échec et renvoie ``127``." -#: library/os.rst:4115 +#: library/os.rst:4116 msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" @@ -5990,7 +5994,7 @@ msgstr "" "Par exemple, les appels suivants à :func:`spawnlp` et :func:`spawnvpe` sont " "équivalents ::" -#: library/os.rst:4124 +#: library/os.rst:4125 msgid "" "Raises an :ref:`auditing event ` ``os.spawn`` with arguments " "``mode``, ``path``, ``args``, ``env``." @@ -5998,7 +6002,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.spawn`` avec les arguments " "``mode``, ``path``, ``args``, ``env``." -#: library/os.rst:4130 +#: library/os.rst:4131 msgid "" ":ref:`Availability `: Unix, Windows. :func:`spawnlp`, :func:" "`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are not available on " @@ -6011,19 +6015,19 @@ msgstr "" "appels concurrents (*thread-safe*) sur Windows, il est conseillé d'utiliser " "le module :mod:`subprocess` à la place." -#: library/os.rst:4138 +#: library/os.rst:4139 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " -"family of functions. If either of these values is given, the :func:`spawn" -"\\*` functions will return as soon as the new process has been created, with " -"the process id as the return value." +"family of functions. If either of these values is given, the :func:" +"`spawn\\*` functions will return as soon as the new process has been " +"created, with the process id as the return value." msgstr "" "Valeurs possibles pour le paramètre *mode* de la famille de fonctions :func:" "`spawn\\* `. Si l'une de ces valeurs est donnée, les fonctions :func:" "`spawn\\*` sortiront dès que le nouveau processus est créé, avec le PID du " "processus comme valeur de retour." -#: library/os.rst:4148 +#: library/os.rst:4149 msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If this is given as *mode*, the :func:`spawn\\*` " @@ -6038,7 +6042,7 @@ msgstr "" "l'exécution est effectuée avec succès, ou ``-signal`` si un signal tue le " "processus." -#: library/os.rst:4160 +#: library/os.rst:4161 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. These are less portable than those listed above. :" @@ -6054,11 +6058,11 @@ msgstr "" "`P_OVERLAY` est utilisé, le processus actuel sera remplacé. La fonction :" "func:`spawn\\* ` ne sort jamais." -#: library/os.rst:4171 +#: library/os.rst:4172 msgid "Start a file with its associated application." msgstr "Lance un fichier avec son application associée." -#: library/os.rst:4173 +#: library/os.rst:4174 msgid "" "When *operation* is not specified or ``'open'``, this acts like double-" "clicking the file in Windows Explorer, or giving the file name as an " @@ -6072,7 +6076,7 @@ msgstr "" "commande interactif : le fichier est ouvert avec l'application associée à " "l'extension (s'il y en a une)." -#: library/os.rst:4178 +#: library/os.rst:4179 msgid "" "When another *operation* is given, it must be a \"command verb\" that " "specifies what should be done with the file. Common verbs documented by " @@ -6085,28 +6089,28 @@ msgstr "" "utilisés sur des fichiers) ainsi que ``'explore'`` et ``'find'`` (qui " "doivent être utilisés sur des répertoires)." -#: library/os.rst:4183 +#: library/os.rst:4184 msgid "" "When launching an application, specify *arguments* to be passed as a single " "string. This argument may have no effect when using this function to launch " "a document." msgstr "" -#: library/os.rst:4187 +#: library/os.rst:4188 msgid "" "The default working directory is inherited, but may be overridden by the " "*cwd* argument. This should be an absolute path. A relative *path* will be " "resolved against this argument." msgstr "" -#: library/os.rst:4191 +#: library/os.rst:4192 msgid "" "Use *show_cmd* to override the default window style. Whether this has any " "effect will depend on the application being launched. Values are integers as " "supported by the Win32 :c:func:`ShellExecute` function." msgstr "" -#: library/os.rst:4195 +#: library/os.rst:4196 #, fuzzy msgid "" ":func:`startfile` returns as soon as the associated application is launched. " @@ -6126,7 +6130,7 @@ msgstr "" "Utilisez la fonction :func:`os.path.normpath` pour vous assurer que le " "chemin est encodé correctement pour Win32." -#: library/os.rst:4203 +#: library/os.rst:4204 msgid "" "To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` " "function is not resolved until this function is first called. If the " @@ -6137,7 +6141,7 @@ msgstr "" "fonction na pas été appelée. Si la fonction ne peut être interprétée, une :" "exc:`NotImplementedError` est levée." -#: library/os.rst:4207 +#: library/os.rst:4208 msgid "" "Raises an :ref:`auditing event ` ``os.startfile`` with arguments " "``path``, ``operation``." @@ -6145,19 +6149,19 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.startfile`` avec les " "arguments ``path``, ``operation``." -#: library/os.rst:4209 +#: library/os.rst:4210 msgid "" "Raises an :ref:`auditing event ` ``os.startfile/2`` with arguments " "``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." msgstr "" -#: library/os.rst:4213 +#: library/os.rst:4214 msgid "" "Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." "startfile/2`` audit event." msgstr "" -#: library/os.rst:4220 +#: library/os.rst:4221 #, fuzzy msgid "" "Execute the command (a string) in a subshell. This is implemented by " @@ -6175,13 +6179,13 @@ msgstr "" "*command* génère une sortie, elle sera envoyée à l'interpréteur standard de " "flux." -#: library/os.rst:4228 +#: library/os.rst:4229 msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`." msgstr "" -#: library/os.rst:4231 +#: library/os.rst:4232 msgid "" "On Windows, the return value is that returned by the system shell after " "running *command*. The shell is given by the Windows environment variable :" @@ -6196,7 +6200,7 @@ msgstr "" "commande lancée. Sur les systèmes qui utilisent un invite de commande non-" "natif, consultez la documentation propre à l'invite." -#: library/os.rst:4237 +#: library/os.rst:4238 msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " "new processes and retrieving their results; using that module is preferable " @@ -6209,14 +6213,14 @@ msgstr "" "ref:`subprocess-replacements` de la documentation du module :mod:" "`subprocess` pour des informations plus précises et utiles." -#: library/os.rst:4242 +#: library/os.rst:4243 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result " "(exit status) into an exit code. On Windows, the result is directly the exit " "code." msgstr "" -#: library/os.rst:4246 +#: library/os.rst:4247 msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." @@ -6224,7 +6228,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``os.system`` avec comme " "argument ``command``." -#: library/os.rst:4253 +#: library/os.rst:4254 msgid "" "Returns the current global process times. The return value is an object with " "five attributes:" @@ -6232,32 +6236,32 @@ msgstr "" "Renvoie les temps globaux actuels d'exécution du processus. La valeur de " "retour est un objet avec cinq attributs :" -#: library/os.rst:4256 +#: library/os.rst:4257 #, fuzzy msgid ":attr:`!user` - user time" msgstr ":attr:`user` — le temps utilisateur" -#: library/os.rst:4257 +#: library/os.rst:4258 #, fuzzy msgid ":attr:`!system` - system time" msgstr ":attr:`system` — le temps système" -#: library/os.rst:4258 +#: library/os.rst:4259 #, fuzzy msgid ":attr:`!children_user` - user time of all child processes" msgstr ":attr:`children_user` — temps utilisateur de tous les processus fils" -#: library/os.rst:4259 +#: library/os.rst:4260 #, fuzzy msgid ":attr:`!children_system` - system time of all child processes" msgstr ":attr:`children_system` — le temps système de tous les processus fils" -#: library/os.rst:4260 +#: library/os.rst:4261 #, fuzzy msgid ":attr:`!elapsed` - elapsed real time since a fixed point in the past" msgstr ":attr:`elapsed` — temps écoulé réel depuis un point fixé dans le passé" -#: library/os.rst:4262 +#: library/os.rst:4263 #, fuzzy msgid "" "For backwards compatibility, this object also behaves like a five-tuple " @@ -6268,20 +6272,21 @@ msgstr "" "comme un quintuplet contenant :attr:`user`, :attr:`system`, :attr:" "`children_user`, :attr:`children_system`, et :attr:`elapsed` dans cet ordre." -#: library/os.rst:4266 +#: library/os.rst:4267 #, fuzzy msgid "" -"See the Unix manual page :manpage:`times(2)` and :manpage:`times(3)` manual " -"page on Unix or `the GetProcessTimes MSDN `_ " -"on Windows. On Windows, only :attr:`!user` and :attr:`!system` are known; " -"the other attributes are zero." +"See the Unix manual page :manpage:`times(2)` and `times(3) `_ manual page on Unix or `the " +"GetProcessTimes MSDN `_ on Windows. On " +"Windows, only :attr:`!user` and :attr:`!system` are known; the other " +"attributes are zero." msgstr "" "Voir la page de manuel Unix :manpage:`times(2)` ou la documentation de l'API " "Windows correspondante. Sur Windows, seuls :attr:`user` et :attr:`system` " "sont connus. Les autres attributs sont nuls." -#: library/os.rst:4280 +#: library/os.rst:4281 msgid "" "Wait for completion of a child process, and return a tuple containing its " "pid and exit status indication: a 16-bit number, whose low byte is the " @@ -6296,19 +6301,19 @@ msgstr "" "Le bit de poids fort du *byte* de poids faible est mis à 1 si un (fichier " "système) *core file* a été produit." -#: library/os.rst:4391 +#: library/os.rst:4392 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." msgstr "" -#: library/os.rst:4293 +#: library/os.rst:4294 msgid "" ":func:`waitpid` can be used to wait for the completion of a specific child " "process and has more options." msgstr "" -#: library/os.rst:4298 +#: library/os.rst:4299 #, fuzzy msgid "" "Wait for the completion of one or more child processes. *idtype* can be :" @@ -6332,7 +6337,7 @@ msgstr "" "`si_code` ou ``None`` si :data:`WNOHANG` est spécifié et qu'il n'y a pas " "d'enfant dans un état que l'on peut attendre." -#: library/os.rst:4318 +#: library/os.rst:4319 msgid "" "These are the possible values for *idtype* in :func:`waitid`. They affect " "how *id* is interpreted." @@ -6340,18 +6345,18 @@ msgstr "" "Les valeurs possibles pour *idtypes* pour la fonction :func:`waitid`. Elles " "affectent l'interprétation de *id*." -#: library/os.rst:4327 +#: library/os.rst:4328 msgid "" "This is a Linux-specific *idtype* that indicates that *id* is a file " "descriptor that refers to a process." msgstr "" -#: library/os.rst:4331 +#: library/os.rst:4332 #, fuzzy msgid ":ref:`Availability `: Linux 5.4+" msgstr ":ref:`Disponibilité ` : Linux 5.4+" -#: library/os.rst:4338 +#: library/os.rst:4339 msgid "" "Flags that can be used in *options* in :func:`waitid` that specify what " "child signal to wait for." @@ -6359,7 +6364,7 @@ msgstr "" "Marqueurs qui peuvent être utilisés pour la fonction :func:`waitid` qui " "spécifient quel signal attendre du fils." -#: library/os.rst:4353 +#: library/os.rst:4354 msgid "" "These are the possible values for :attr:`si_code` in the result returned by :" "func:`waitid`." @@ -6367,15 +6372,15 @@ msgstr "" "Les valeurs possibles pour :attr:`si_code` dans le résultat renvoyé par :" "func:`waitid`." -#: library/os.rst:4360 +#: library/os.rst:4361 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." msgstr "" -#: library/os.rst:4366 +#: library/os.rst:4367 msgid "The details of this function differ on Unix and Windows." msgstr "Les détails de cette fonction diffèrent sur Unix et Windows." -#: library/os.rst:4368 +#: library/os.rst:4369 msgid "" "On Unix: Wait for completion of a child process given by process id *pid*, " "and return a tuple containing its process id and exit status indication " @@ -6389,7 +6394,7 @@ msgstr "" "la valeur de l'argument entier *options*, qui devrait valoir ``0`` pour les " "opérations normales." -#: library/os.rst:4373 +#: library/os.rst:4374 msgid "" "If *pid* is greater than ``0``, :func:`waitpid` requests status information " "for that specific process. If *pid* is ``0``, the request is for the status " @@ -6406,7 +6411,7 @@ msgstr "" "``-1``, une requête est faite pour le statut de chaque processus du groupe " "de processus donné par ``-pid`` (la valeur absolue de *pid*)." -#: library/os.rst:4380 +#: library/os.rst:4381 msgid "" "An :exc:`OSError` is raised with the value of errno when the syscall returns " "-1." @@ -6414,7 +6419,7 @@ msgstr "" "Une :exc:`OSError` est levée avec la valeur de *errno* quand l'appel système " "renvoie ``-1``." -#: library/os.rst:4383 +#: library/os.rst:4384 msgid "" "On Windows: Wait for completion of a process given by process handle *pid*, " "and return a tuple containing *pid*, and its exit status shifted left by 8 " @@ -6436,7 +6441,7 @@ msgstr "" "appelées avec :const:`P_NOWAIT` renvoient des identificateurs de processus " "appropriés." -#: library/os.rst:4402 +#: library/os.rst:4403 msgid "" "Similar to :func:`waitpid`, except no process id argument is given and a 3-" "element tuple containing the child's process id, exit status indication, and " @@ -6452,13 +6457,13 @@ msgstr "" "ressources. L'argument *options* est le même que celui fourni à :func:" "`waitpid` et :func:`wait4`." -#: library/os.rst:4423 +#: library/os.rst:4424 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." msgstr "" -#: library/os.rst:4417 +#: library/os.rst:4418 msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " "process id, exit status indication, and resource usage information is " @@ -6473,22 +6478,22 @@ msgstr "" "d'utilisation des ressources. Les arguments de :func:`wait4` sont les mêmes " "que ceux fournis à :func:`waitpid`." -#: library/os.rst:4431 +#: library/os.rst:4432 msgid "Convert a wait status to an exit code." msgstr "" -#: library/os.rst:4433 +#: library/os.rst:4434 msgid "On Unix:" msgstr "" -#: library/os.rst:4435 +#: library/os.rst:4436 msgid "" "If the process exited normally (if ``WIFEXITED(status)`` is true), return " "the process exit status (return ``WEXITSTATUS(status)``): result greater " "than or equal to 0." msgstr "" -#: library/os.rst:4438 +#: library/os.rst:4439 msgid "" "If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " "true), return ``-signum`` where *signum* is the number of the signal that " @@ -6496,15 +6501,15 @@ msgid "" "than 0." msgstr "" -#: library/os.rst:4442 +#: library/os.rst:4443 msgid "Otherwise, raise a :exc:`ValueError`." msgstr "" -#: library/os.rst:4444 +#: library/os.rst:4445 msgid "On Windows, return *status* shifted right by 8 bits." msgstr "" -#: library/os.rst:4446 +#: library/os.rst:4447 msgid "" "On Unix, if the process is being traced or if :func:`waitpid` was called " "with :data:`WUNTRACED` option, the caller must first check if " @@ -6512,13 +6517,13 @@ msgid "" "``WIFSTOPPED(status)`` is true." msgstr "" -#: library/os.rst:4453 +#: library/os.rst:4454 msgid "" ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." msgstr "" -#: library/os.rst:4461 +#: library/os.rst:4462 msgid "" "The option for :func:`waitpid` to return immediately if no child process " "status is available immediately. The function returns ``(0, 0)`` in this " @@ -6528,7 +6533,7 @@ msgstr "" "processus fils n'est disponible dans l'immédiat. La fonction renvoie ``(0, " "0)`` dans ce cas." -#: library/os.rst:4469 +#: library/os.rst:4470 msgid "" "This option causes child processes to be reported if they have been " "continued from a job control stop since their status was last reported." @@ -6537,11 +6542,11 @@ msgstr "" "continués après un arrêt du *job control* depuis leurs derniers reports de " "statuts." -#: library/os.rst:4472 +#: library/os.rst:4473 msgid ":ref:`Availability `: some Unix systems." msgstr ":ref:`Disponibilité ` : certains systèmes Unix." -#: library/os.rst:4477 +#: library/os.rst:4478 msgid "" "This option causes child processes to be reported if they have been stopped " "but their current state has not been reported since they were stopped." @@ -6549,7 +6554,7 @@ msgstr "" "Cette option cause les processus fils à être reportés s'ils ont été stoppés " "mais que leur état actuel n'a pas été reporté depuis qu'ils ont été stoppés." -#: library/os.rst:4483 +#: library/os.rst:4484 msgid "" "The following functions take a process status code as returned by :func:" "`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used " @@ -6559,7 +6564,7 @@ msgstr "" "`system`, :func:`wait`, ou :func:`waitpid` en paramètre. Ils peuvent être " "utilisés pour déterminer la disposition d'un processus." -#: library/os.rst:4489 +#: library/os.rst:4490 msgid "" "Return ``True`` if a core dump was generated for the process, otherwise " "return ``False``." @@ -6567,11 +6572,11 @@ msgstr "" "Renvoie ``True`` si un vidage système (*core dump*) a été généré pour le " "processus, sinon, renvoie ``False``." -#: library/os.rst:4558 +#: library/os.rst:4559 msgid "This function should be employed only if :func:`WIFSIGNALED` is true." msgstr "" -#: library/os.rst:4499 +#: library/os.rst:4500 #, fuzzy msgid "" "Return ``True`` if a stopped child has been resumed by delivery of :data:" @@ -6582,11 +6587,11 @@ msgstr "" "avoir reçu :data:`~signal.SIGCONT` (si le processus à été continué depuis un " "arrêt *job control*), renvoie ``False`` autrement." -#: library/os.rst:4503 +#: library/os.rst:4504 msgid "See :data:`WCONTINUED` option." msgstr "" -#: library/os.rst:4510 +#: library/os.rst:4511 #, fuzzy msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " @@ -6595,14 +6600,14 @@ msgstr "" "Renvoie ``True`` si le processus s'est terminé à cause d'un signal, sinon, " "renvoie ``False``." -#: library/os.rst:4513 +#: library/os.rst:4514 msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " "(see :manpage:`ptrace(2)`)." msgstr "" -#: library/os.rst:4521 +#: library/os.rst:4522 #, fuzzy msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " @@ -6611,7 +6616,7 @@ msgstr "" "Renvoie ``True`` si le processus s'est terminé à cause d'un signal, sinon, " "renvoie ``False``." -#: library/os.rst:4529 +#: library/os.rst:4530 #, fuzzy msgid "" "Return ``True`` if the process exited terminated normally, that is, by " @@ -6621,33 +6626,33 @@ msgstr "" "Renvoie ``True`` si le processus s'est terminé en faisant un appel système :" "manpage:`exit(2)`, sinon, renvoie ``False``." -#: library/os.rst:4538 +#: library/os.rst:4539 #, fuzzy msgid "Return the process exit status." msgstr "Renvoie le statut de fin du processus." -#: library/os.rst:4540 +#: library/os.rst:4541 msgid "This function should be employed only if :func:`WIFEXITED` is true." msgstr "" -#: library/os.rst:4547 +#: library/os.rst:4548 msgid "Return the signal which caused the process to stop." msgstr "Renvoie le signal qui a causé l'arrêt du processus." -#: library/os.rst:4549 +#: library/os.rst:4550 msgid "This function should be employed only if :func:`WIFSTOPPED` is true." msgstr "" -#: library/os.rst:4556 +#: library/os.rst:4557 #, fuzzy msgid "Return the number of the signal that caused the process to terminate." msgstr "Renvoie le numéro du signal qui a causé l'arrêt du processus." -#: library/os.rst:4564 +#: library/os.rst:4565 msgid "Interface to the scheduler" msgstr "Interface pour l'ordonnanceur" -#: library/os.rst:4566 +#: library/os.rst:4567 msgid "" "These functions control how a process is allocated CPU time by the operating " "system. They are only available on some Unix platforms. For more detailed " @@ -6658,7 +6663,7 @@ msgstr "" "plate-formes Unix. Pour des informations plus détaillées, consultez les " "pages de manuels Unix." -#: library/os.rst:4572 +#: library/os.rst:4573 msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." @@ -6666,11 +6671,11 @@ msgstr "" "Les polices d'ordonnancement suivantes sont exposées si elles sont gérées " "par le système d'exploitation." -#: library/os.rst:4577 +#: library/os.rst:4578 msgid "The default scheduling policy." msgstr "La police d'ordonnancement par défaut." -#: library/os.rst:4581 +#: library/os.rst:4582 msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." @@ -6679,25 +6684,25 @@ msgstr "" "processeur. Cette police essaye de préserver l'interactivité pour le reste " "de l'ordinateur." -#: library/os.rst:4586 +#: library/os.rst:4587 msgid "Scheduling policy for extremely low priority background tasks." msgstr "" "Police d'ordonnancement pour les tâches de fond avec une priorité " "extrêmement faible." -#: library/os.rst:4590 +#: library/os.rst:4591 msgid "Scheduling policy for sporadic server programs." msgstr "Police d'ordonnancement pour des programmes serveurs sporadiques." -#: library/os.rst:4594 +#: library/os.rst:4595 msgid "A First In First Out scheduling policy." msgstr "Une police d'ordonnancement *FIFO* (dernier arrivé, premier servi)." -#: library/os.rst:4598 +#: library/os.rst:4599 msgid "A round-robin scheduling policy." msgstr "Une police d'ordonnancement *round-robin* (tourniquet)." -#: library/os.rst:4602 +#: library/os.rst:4603 msgid "" "This flag can be OR'ed with any other scheduling policy. When a process with " "this flag set forks, its child's scheduling policy and priority are reset to " @@ -6708,7 +6713,7 @@ msgstr "" "d'ordonnancement et la priorité du processus fils sont remises aux valeurs " "par défaut." -#: library/os.rst:4609 +#: library/os.rst:4610 msgid "" "This class represents tunable scheduling parameters used in :func:" "`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " @@ -6718,15 +6723,15 @@ msgstr "" "pour :func:`sched_setparam`, :func:`sched_setscheduler`, et :func:" "`sched_getparam`. Un objet de ce type est immuable." -#: library/os.rst:4613 +#: library/os.rst:4614 msgid "At the moment, there is only one possible parameter:" msgstr "Pour le moment, il n'y a qu'un seul paramètre possible :" -#: library/os.rst:4617 +#: library/os.rst:4618 msgid "The scheduling priority for a scheduling policy." msgstr "La priorité d'ordonnancement pour une police d'ordonnancement." -#: library/os.rst:4622 +#: library/os.rst:4623 msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6734,7 +6739,7 @@ msgstr "" "Récupère la valeur minimum pour une priorité pour la police *policy*. " "*policy* est une des constantes de police définies ci-dessus." -#: library/os.rst:4628 +#: library/os.rst:4629 msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6742,7 +6747,7 @@ msgstr "" "Récupère la valeur maximum pour une priorité pour la police *policy*. " "*policy* est une des constantes de police définies ci-dessus." -#: library/os.rst:4634 +#: library/os.rst:4635 msgid "" "Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means " "the calling process. *policy* is one of the scheduling policy constants " @@ -6753,7 +6758,7 @@ msgstr "" "police définies ci-dessus. *param* est une instance de la classe :class:" "`sched_param`." -#: library/os.rst:4641 +#: library/os.rst:4642 msgid "" "Return the scheduling policy for the process with PID *pid*. A *pid* of 0 " "means the calling process. The result is one of the scheduling policy " @@ -6763,7 +6768,7 @@ msgstr "" "de 0 signifie le processus appelant. Le résultat est une des constantes de " "police définies ci-dessus." -#: library/os.rst:4648 +#: library/os.rst:4649 #, fuzzy msgid "" "Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 " @@ -6773,7 +6778,7 @@ msgstr "" "*pid* de ``0`` signifie le processus appelant. *param* est une instance de :" "class:`sched_param`." -#: library/os.rst:4654 +#: library/os.rst:4655 msgid "" "Return the scheduling parameters as a :class:`sched_param` instance for the " "process with PID *pid*. A *pid* of 0 means the calling process." @@ -6782,7 +6787,7 @@ msgstr "" "pour le processus de PID *pid*. Un *pid* de ``0`` signifie le processus " "appelant." -#: library/os.rst:4660 +#: library/os.rst:4661 msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." @@ -6790,11 +6795,11 @@ msgstr "" "Renvoie le quantum de temps du *round-robin* (en secondes) pour le processus " "de PID *pid*. Un *pid* de ``0`` signifie le processus appelant." -#: library/os.rst:4666 +#: library/os.rst:4667 msgid "Voluntarily relinquish the CPU." msgstr "Abandonne volontairement le processeur." -#: library/os.rst:4671 +#: library/os.rst:4672 msgid "" "Restrict the process with PID *pid* (or the current process if zero) to a " "set of CPUs. *mask* is an iterable of integers representing the set of CPUs " @@ -6804,7 +6809,7 @@ msgstr "" "``0``) à un ensemble de CPUs. *mask* est un itérable d'entiers représentant " "l'ensemble de CPUs auquel le processus doit être restreint." -#: library/os.rst:4678 +#: library/os.rst:4679 msgid "" "Return the set of CPUs the process with PID *pid* (or the current process if " "zero) is restricted to." @@ -6812,11 +6817,11 @@ msgstr "" "Renvoie l'ensemble de CPUs auquel le processus de PID *pid* (ou le processus " "actuel si *pid* vaut ``0``) est restreint." -#: library/os.rst:4685 +#: library/os.rst:4686 msgid "Miscellaneous System Information" msgstr "Diverses informations sur le système" -#: library/os.rst:4690 +#: library/os.rst:4691 msgid "" "Return string-valued system configuration values. *name* specifies the " "configuration value to retrieve; it may be a string which is the name of a " @@ -6836,7 +6841,7 @@ msgstr "" "incluses dans ce *mapping*, passer un entier pour *name* est également " "accepté." -#: library/os.rst:4698 +#: library/os.rst:4699 msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." @@ -6844,7 +6849,7 @@ msgstr "" "Si la valeur de configuration spécifiée par *name* n'est pas définie, " "``None`` est renvoyé." -#: library/os.rst:4701 +#: library/os.rst:4702 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " @@ -6856,7 +6861,7 @@ msgstr "" "par le système hôte, même si elle est incluse dans ``confstr_names``, une :" "exc:`OSError` est levée avec :const:`errno.EINVAL` pour numéro d'erreur." -#: library/os.rst:4711 +#: library/os.rst:4712 msgid "" "Dictionary mapping names accepted by :func:`confstr` to the integer values " "defined for those names by the host operating system. This can be used to " @@ -6866,13 +6871,13 @@ msgstr "" "entières définies pour ces noms par le système d'exploitation hôte. Cela " "peut être utilisé pour déterminer l'ensemble des noms connus du système." -#: library/os.rst:4720 +#: library/os.rst:4721 msgid "" "Return the number of CPUs in the system. Returns ``None`` if undetermined." msgstr "" "Renvoie le nombre de CPUs dans le système. Renvoie ``None`` si indéterminé." -#: library/os.rst:4722 +#: library/os.rst:4723 msgid "" "This number is not equivalent to the number of CPUs the current process can " "use. The number of usable CPUs can be obtained with ``len(os." @@ -6882,7 +6887,7 @@ msgstr "" "peut utiliser. Le nombre de CPUs utilisables peut être obtenu avec ``len(os." "sched_getaffinity(0))``" -#: library/os.rst:4732 +#: library/os.rst:4733 msgid "" "Return the number of processes in the system run queue averaged over the " "last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was " @@ -6892,7 +6897,7 @@ msgstr "" "moyenne dans les dernières 1, 5, et 15 minutes, ou lève une :exc:`OSError` " "si la charge moyenne est impossible à récupérer." -#: library/os.rst:4741 +#: library/os.rst:4742 msgid "" "Return integer-valued system configuration values. If the configuration " "value specified by *name* isn't defined, ``-1`` is returned. The comments " @@ -6906,7 +6911,7 @@ msgstr "" "s'appliquent également ici, le dictionnaire qui fournit les informations sur " "les noms connus est donné par ``sysconf_names``." -#: library/os.rst:4751 +#: library/os.rst:4752 msgid "" "Dictionary mapping names accepted by :func:`sysconf` to the integer values " "defined for those names by the host operating system. This can be used to " @@ -6916,7 +6921,7 @@ msgstr "" "entières définies pour ces noms par le système d'exploitation hôte. Cela " "peut être utilisé pour déterminer l'ensemble des noms connus du système." -#: library/os.rst:4757 +#: library/os.rst:4758 msgid "" "The following data values are used to support path manipulation operations. " "These are defined for all platforms." @@ -6924,7 +6929,7 @@ msgstr "" "Les valeurs suivantes sont utilisées pour gérer les opérations de " "manipulations de chemins. Elles sont définies pour toutes les plate-formes." -#: library/os.rst:4760 +#: library/os.rst:4761 msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." @@ -6932,7 +6937,7 @@ msgstr "" "Des opérations de plus haut niveau sur les chemins sont définies dans le " "module :mod:`os.path`." -#: library/os.rst:4766 +#: library/os.rst:4767 msgid "" "The constant string used by the operating system to refer to the current " "directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:" @@ -6942,7 +6947,7 @@ msgstr "" "référencer le répertoire actuel. Ça vaut ``'.'`` pour Windows et POSIX. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4774 +#: library/os.rst:4775 msgid "" "The constant string used by the operating system to refer to the parent " "directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:" @@ -6952,7 +6957,7 @@ msgstr "" "référencer le répertoire parent. Ça vaut ``'..'`` pour Windows et POSIX. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4783 +#: library/os.rst:4784 msgid "" "The character used by the operating system to separate pathname components. " "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " @@ -6967,7 +6972,7 @@ msgstr "" "et :func:`os.path.join`), mais ça peut s'avérer utile occasionnellement. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4793 +#: library/os.rst:4794 msgid "" "An alternative character used by the operating system to separate pathname " "components, or ``None`` if only one separator character exists. This is set " @@ -6979,7 +6984,7 @@ msgstr "" "vaut ``'/'`` sur Windows où ``sep`` est un antislash ``'\\'``. Également " "disponible par :mod:`os.path`." -#: library/os.rst:4802 +#: library/os.rst:4803 msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." @@ -6988,7 +6993,7 @@ msgstr "" "exemple, le ``'.'`` de :file:`os.py`. Également disponible par :mod:`os." "path`." -#: library/os.rst:4810 +#: library/os.rst:4811 msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " @@ -6999,17 +7004,17 @@ msgstr "" "d'environnement :envvar:`PATH`). Cela vaut ``':'`` pour POSIX, ou ``';'`` " "pour Windows. Également disponible par :mod:`os.path`." -#: library/os.rst:4817 +#: library/os.rst:4818 msgid "" -"The default search path used by :func:`exec\\*p\\* ` and :func:`spawn" -"\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. Also " -"available via :mod:`os.path`." +"The default search path used by :func:`exec\\*p\\* ` and :func:" +"`spawn\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. " +"Also available via :mod:`os.path`." msgstr "" "Le chemin de recherche par défaut utilisé par :func:`exec\\* ` et :" "func:`spawn\\* ` si l'environnement n'a pas une clef ``'PATH'``. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4824 +#: library/os.rst:4825 msgid "" "The string used to separate (or, rather, terminate) lines on the current " "platform. This may be a single character, such as ``'\\n'`` for POSIX, or " @@ -7024,7 +7029,7 @@ msgstr "" "écrivez dans un fichier ouvert en mode *texte* (par défaut). Utilisez un " "unique ``'\\n'`` à la place, sur toutes les plate-formes." -#: library/os.rst:4833 +#: library/os.rst:4834 msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." @@ -7032,7 +7037,7 @@ msgstr "" "Le chemin de fichier du périphérique *null*. Par exemple : ``'/dev/null'`` " "pour POSIX, ``'nul'`` pour Windows. Également disponible par :mod:`os.path`." -#: library/os.rst:4844 +#: library/os.rst:4845 msgid "" "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." "getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " @@ -7042,11 +7047,11 @@ msgstr "" "`~sys.getdlopenflags`. Voir les pages de manuel Unix :manpage:`dlopen(3)` " "pour les différences de significations entre les marqueurs." -#: library/os.rst:4852 +#: library/os.rst:4853 msgid "Random numbers" msgstr "Nombres aléatoires" -#: library/os.rst:4857 +#: library/os.rst:4858 msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." @@ -7054,7 +7059,7 @@ msgstr "" "Obtient *size* octets aléatoires. La fonction renvoie éventuellement moins " "d'octets que demandé." -#: library/os.rst:4860 +#: library/os.rst:4861 msgid "" "These bytes can be used to seed user-space random number generators or for " "cryptographic purposes." @@ -7062,7 +7067,7 @@ msgstr "" "Ces octets peuvent être utilisés pour initialiser un générateur de nombres " "aléatoires dans l'espace utilisateur ou pour des raisons cryptographiques." -#: library/os.rst:4863 +#: library/os.rst:4864 msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " "sources of environmental noise. Unnecessarily reading large quantities of " @@ -7074,7 +7079,7 @@ msgstr "" "grosses quantités de données aura un impact négatif sur les autres " "utilisateurs des périphériques ``/dev/random`` et ``/dev/urandom``." -#: library/os.rst:4868 +#: library/os.rst:4869 msgid "" "The flags argument is a bit mask that can contain zero or more of the " "following values ORed together: :py:data:`os.GRND_RANDOM` and :py:data:" @@ -7084,19 +7089,20 @@ msgstr "" "valeurs suivantes combinées avec un OU bit-à-bit : :py:data:`os.GRND_RANDOM` " "et :py:data:`GRND_NONBLOCK`." -#: library/os.rst:4872 +#: library/os.rst:4873 +#, fuzzy msgid "" -"See also the `Linux getrandom() manual page `_." +"See also the `Linux getrandom() manual page `_." msgstr "" "Voir aussi la `page de manuel Linux pour getrandom() `_." -#: library/os.rst:4876 +#: library/os.rst:4877 msgid ":ref:`Availability `: Linux 3.17 and newer." msgstr ":ref:`Disponibilité ` : Linux 3.17 et ultérieures." -#: library/os.rst:4881 +#: library/os.rst:4882 #, fuzzy msgid "" "Return a bytestring of *size* random bytes suitable for cryptographic use." @@ -7104,7 +7110,7 @@ msgstr "" "Renvoie une chaîne de *size* octets aléatoires utilisable dans un cadre " "cryptographique." -#: library/os.rst:4883 +#: library/os.rst:4884 msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " @@ -7115,7 +7121,7 @@ msgstr "" "pour les applications cryptographiques, bien que la qualité dépende de " "l'implémentation du système." -#: library/os.rst:4887 +#: library/os.rst:4888 msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " "blocking mode: block until the system urandom entropy pool is initialized " @@ -7132,7 +7138,7 @@ msgstr "" "aléatoires en mode non-bloquant (avec l'option :data:`GRND_NONBLOCK`) ou " "attendre jusqu'à ce que la réserve d'entropie d'*urandom* soit initialisée." -#: library/os.rst:4894 +#: library/os.rst:4895 msgid "" "On a Unix-like system, random bytes are read from the ``/dev/urandom`` " "device. If the ``/dev/urandom`` device is not available or not readable, " @@ -7143,11 +7149,11 @@ msgstr "" "disponible ou n'est pas lisible, l'exception :exc:`NotImplementedError` est " "levée." -#: library/os.rst:4898 +#: library/os.rst:4899 msgid "On Windows, it will use ``CryptGenRandom()``." msgstr "Sous Windows, ``CryptGenRandom()`` est utilisée." -#: library/os.rst:4901 +#: library/os.rst:4902 msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " @@ -7157,7 +7163,7 @@ msgstr "" "interface facile à utiliser du générateur de nombres aléatoires fourni par " "votre plate-forme, veuillez regarder :class:`random.SystemRandom`." -#: library/os.rst:4905 +#: library/os.rst:4906 msgid "" "On Linux, ``getrandom()`` is now used in blocking mode to increase the " "security." @@ -7165,7 +7171,7 @@ msgstr "" "Sous Linux, ``getrandom()`` est maintenant utilisé en mode bloquant pour " "renforcer la sécurité." -#: library/os.rst:4909 +#: library/os.rst:4910 msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." @@ -7174,7 +7180,7 @@ msgstr "" "d'*urandom* n'est pas encore initialisée), réalise à la place une lecture de " "``/dev/urandom``." -#: library/os.rst:4913 +#: library/os.rst:4914 msgid "" "On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when " "available. On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now " @@ -7185,7 +7191,7 @@ msgstr "" "la fonction C ``getentropy()`` est utilisée. Ces fonctions évitent " "l'utilisation interne d'un descripteur de fichier." -#: library/os.rst:4921 +#: library/os.rst:4922 msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " @@ -7196,7 +7202,7 @@ msgstr "" "urandom``, elle bloque si la réserve d'entropie n'a pas encore été " "initialisée." -#: library/os.rst:4925 +#: library/os.rst:4926 msgid "" "If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not " "block in these cases, but instead immediately raises :exc:`BlockingIOError`." @@ -7204,7 +7210,7 @@ msgstr "" "Si l'option :py:data:`GRND_NONBLOCK` est activée, :func:`getrandom` ne " "bloque pas dans ces cas, mais lève immédiatement une :exc:`BlockingIOError`." -#: library/os.rst:4932 +#: library/os.rst:4933 msgid "" "If this bit is set, then random bytes are drawn from the ``/dev/" "random`` pool instead of the ``/dev/urandom`` pool." diff --git a/library/pathlib.po b/library/pathlib.po index 1deba6f8e0..1b94ef5c3e 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-07-08 17:52+0200\n" "Last-Translator: Vincent Poulailleau \n" "Language-Team: FRENCH \n" @@ -174,16 +174,17 @@ msgstr "" "la précédente configuration de lecteur ::" #: library/pathlib.rst:135 +#, fuzzy msgid "" "Spurious slashes and single dots are collapsed, but double dots (``'..'``) " -"are not, since this would change the meaning of a path in the face of " -"symbolic links::" +"and leading double slashes (``'//'``) are not, since this would change the " +"meaning of a path for various reasons (e.g. symbolic links, UNC paths)::" msgstr "" "Les points et slashs superflus sont supprimés, mais les doubles points " "(``'..'``) ne le sont pas, puisque cela changerait la signification du " "chemin dans le cas de liens symboliques ::" -#: library/pathlib.rst:146 +#: library/pathlib.rst:148 msgid "" "(a naïve approach would make ``PurePosixPath('foo/../bar')`` equivalent to " "``PurePosixPath('bar')``, which is wrong if ``foo`` is a symbolic link to " @@ -193,7 +194,7 @@ msgstr "" "à ``PurePosixPath('bar')``, ce qui est faux si ``foo`` est un lien " "symbolique vers un autre dossier)" -#: library/pathlib.rst:150 +#: library/pathlib.rst:152 msgid "" "Pure path objects implement the :class:`os.PathLike` interface, allowing " "them to be used anywhere the interface is accepted." @@ -201,11 +202,11 @@ msgstr "" "Les objets chemins purs implémentent l'interface :class:`os.PathLike`, leur " "permettant d'être utilisés n'importe où l'interface est acceptée." -#: library/pathlib.rst:153 +#: library/pathlib.rst:155 msgid "Added support for the :class:`os.PathLike` interface." msgstr "Ajout de la gestion de l'interface :class:`os.PathLike`." -#: library/pathlib.rst:158 +#: library/pathlib.rst:160 msgid "" "A subclass of :class:`PurePath`, this path flavour represents non-Windows " "filesystem paths::" @@ -213,19 +214,20 @@ msgstr "" "Une sous-classe de :class:`PurePath`, cette famille de chemin représente les " "chemins de systèmes de fichiers en dehors des chemins Windows ::" -#: library/pathlib.rst:174 library/pathlib.rst:648 library/pathlib.rst:658 +#: library/pathlib.rst:178 library/pathlib.rst:674 library/pathlib.rst:684 msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "*pathsegments* est spécifié de manière similaire à :class:`PurePath`." -#: library/pathlib.rst:168 +#: library/pathlib.rst:170 +#, fuzzy msgid "" "A subclass of :class:`PurePath`, this path flavour represents Windows " -"filesystem paths::" +"filesystem paths, including `UNC paths`_::" msgstr "" "Une sous-classe de :class:`PurePath`, cette famille de chemin représente les " "chemins de systèmes de fichiers Windows ::" -#: library/pathlib.rst:176 +#: library/pathlib.rst:182 msgid "" "Regardless of the system you're running on, you can instantiate all of these " "classes, since they don't provide any operation that does system calls." @@ -234,11 +236,11 @@ msgstr "" "toutes ces classes, puisqu'elles ne fournissent aucune opération qui appelle " "le système d'exploitation." -#: library/pathlib.rst:181 +#: library/pathlib.rst:187 msgid "General properties" msgstr "Propriétés générales" -#: library/pathlib.rst:183 +#: library/pathlib.rst:189 msgid "" "Paths are immutable and hashable. Paths of a same flavour are comparable " "and orderable. These properties respect the flavour's case-folding " @@ -248,17 +250,17 @@ msgstr "" "comparables et ordonnables. Ces propriétés respectent l'ordre " "lexicographique défini par la famille ::" -#: library/pathlib.rst:196 +#: library/pathlib.rst:202 msgid "Paths of a different flavour compare unequal and cannot be ordered::" msgstr "" "Les chemins de différentes familles ne sont pas égaux et ne peuvent être " "ordonnés ::" -#: library/pathlib.rst:207 +#: library/pathlib.rst:213 msgid "Operators" msgstr "Opérateurs" -#: library/pathlib.rst:209 +#: library/pathlib.rst:215 msgid "" "The slash operator helps create child paths, similarly to :func:`os.path." "join`::" @@ -266,7 +268,7 @@ msgstr "" "L'opérateur slash aide à créer les chemins enfants, de manière similaire à :" "func:`os.path.join` ::" -#: library/pathlib.rst:220 +#: library/pathlib.rst:226 msgid "" "A path object can be used anywhere an object implementing :class:`os." "PathLike` is accepted::" @@ -274,7 +276,7 @@ msgstr "" "Un objet chemin peut être utilisé n'importe où un objet implémentant :class:" "`os.PathLike` est accepté ::" -#: library/pathlib.rst:228 +#: library/pathlib.rst:234 msgid "" "The string representation of a path is the raw filesystem path itself (in " "native form, e.g. with backslashes under Windows), which you can pass to any " @@ -285,7 +287,7 @@ msgstr "" "antislashs sous Windows), telle que vous pouvez la passer à n'importe quelle " "fonction prenant un chemin en tant que chaîne de caractères ::" -#: library/pathlib.rst:239 +#: library/pathlib.rst:245 msgid "" "Similarly, calling :class:`bytes` on a path gives the raw filesystem path as " "a bytes object, as encoded by :func:`os.fsencode`::" @@ -294,7 +296,7 @@ msgstr "" "brut du système de fichiers en tant que bytes, tel qu'encodé par :func:`os." "fsencode` ::" -#: library/pathlib.rst:246 +#: library/pathlib.rst:252 msgid "" "Calling :class:`bytes` is only recommended under Unix. Under Windows, the " "unicode form is the canonical representation of filesystem paths." @@ -303,11 +305,11 @@ msgstr "" "forme Unicode est la représentation canonique des chemins du système de " "fichiers." -#: library/pathlib.rst:251 +#: library/pathlib.rst:257 msgid "Accessing individual parts" msgstr "Accéder aux parties individuelles" -#: library/pathlib.rst:253 +#: library/pathlib.rst:259 msgid "" "To access the individual \"parts\" (components) of a path, use the following " "property:" @@ -315,54 +317,74 @@ msgstr "" "Pour accéder aux parties individuelles (composantes) d'un chemin, utilisez " "les propriétés suivantes :" -#: library/pathlib.rst:258 +#: library/pathlib.rst:264 msgid "A tuple giving access to the path's various components::" msgstr "Un tuple donnant accès aux différentes composantes du chemin ::" -#: library/pathlib.rst:268 +#: library/pathlib.rst:274 msgid "(note how the drive and local root are regrouped in a single part)" msgstr "" "(notez comme le lecteur et la racine locale sont regroupés en une seule " "partie)" -#: library/pathlib.rst:272 +#: library/pathlib.rst:278 msgid "Methods and properties" msgstr "Méthodes et propriétés" -#: library/pathlib.rst:278 +#: library/pathlib.rst:284 msgid "Pure paths provide the following methods and properties:" msgstr "Les chemins purs fournissent les méthodes et propriétés suivantes :" -#: library/pathlib.rst:282 +#: library/pathlib.rst:288 msgid "A string representing the drive letter or name, if any::" msgstr "" "Une chaîne représentant la lettre du lecteur ou le nom, s'il y en a un ::" -#: library/pathlib.rst:291 +#: library/pathlib.rst:297 msgid "UNC shares are also considered drives::" msgstr "Les partages UNC sont aussi considérés comme des lecteurs ::" -#: library/pathlib.rst:298 +#: library/pathlib.rst:304 msgid "A string representing the (local or global) root, if any::" msgstr "" "Une chaîne de caractères représentant la racine (locale ou globale), s'il y " "en a une ::" -#: library/pathlib.rst:307 +#: library/pathlib.rst:313 msgid "UNC shares always have a root::" msgstr "Les partages UNC ont toujours une racine ::" -#: library/pathlib.rst:314 +#: library/pathlib.rst:318 +msgid "" +"If the path starts with more than two successive slashes, :class:`~pathlib." +"PurePosixPath` collapses them::" +msgstr "" + +#: library/pathlib.rst:330 +msgid "" +"This behavior conforms to *The Open Group Base Specifications Issue 6*, " +"paragraph `4.11 Pathname Resolution `_:" +msgstr "" + +#: library/pathlib.rst:334 +msgid "" +"*\"A pathname that begins with two successive slashes may be interpreted in " +"an implementation-defined manner, although more than two leading slashes " +"shall be treated as a single slash.\"*" +msgstr "" + +#: library/pathlib.rst:340 msgid "The concatenation of the drive and root::" msgstr "La concaténation du lecteur et de la racine ::" -#: library/pathlib.rst:328 +#: library/pathlib.rst:354 msgid "" "An immutable sequence providing access to the logical ancestors of the path::" msgstr "" "Une séquence immuable fournissant accès aux ancêtres logiques du chemin ::" -#: library/pathlib.rst:339 +#: library/pathlib.rst:365 msgid "" "The parents sequence now supports :term:`slices ` and negative index " "values." @@ -370,19 +392,19 @@ msgstr "" "La séquence de *parents* prend désormais en charge les :term:`tranches " "` et les valeurs d’index négatives." -#: library/pathlib.rst:344 +#: library/pathlib.rst:370 msgid "The logical parent of the path::" msgstr "Le parent logique du chemin ::" -#: library/pathlib.rst:350 +#: library/pathlib.rst:376 msgid "You cannot go past an anchor, or empty path::" msgstr "Vous ne pouvez pas aller au-delà d'une ancre, ou d'un chemin vide ::" -#: library/pathlib.rst:360 +#: library/pathlib.rst:386 msgid "This is a purely lexical operation, hence the following behaviour::" msgstr "C'est une opération purement lexicale, d'où le comportement suivant ::" -#: library/pathlib.rst:366 +#: library/pathlib.rst:392 msgid "" "If you want to walk an arbitrary filesystem path upwards, it is recommended " "to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate " @@ -392,7 +414,7 @@ msgstr "" "recommandé de d'abord appeler :meth:`Path.resolve` de manière à résoudre les " "liens symboliques et éliminer les composantes `\"..\"`." -#: library/pathlib.rst:373 +#: library/pathlib.rst:399 msgid "" "A string representing the final path component, excluding the drive and " "root, if any::" @@ -400,30 +422,30 @@ msgstr "" "Une chaîne représentant la composante finale du chemin, en excluant le " "lecteur et la racine, si présent ::" -#: library/pathlib.rst:379 +#: library/pathlib.rst:405 msgid "UNC drive names are not considered::" msgstr "Les noms de lecteur UNC ne sont pas pris en compte ::" -#: library/pathlib.rst:389 +#: library/pathlib.rst:415 msgid "The file extension of the final component, if any::" msgstr "L'extension du fichier de la composante finale, si présente ::" -#: library/pathlib.rst:401 +#: library/pathlib.rst:427 msgid "A list of the path's file extensions::" msgstr "Une liste des extensions du chemin de fichier ::" -#: library/pathlib.rst:413 +#: library/pathlib.rst:439 msgid "The final path component, without its suffix::" msgstr "La composante finale du chemin, sans son suffixe ::" -#: library/pathlib.rst:425 +#: library/pathlib.rst:451 msgid "" "Return a string representation of the path with forward slashes (``/``)::" msgstr "" "Renvoie une représentation en chaîne de caractères du chemin avec des slashs " "(``/``) ::" -#: library/pathlib.rst:436 +#: library/pathlib.rst:462 msgid "" "Represent the path as a ``file`` URI. :exc:`ValueError` is raised if the " "path isn't absolute." @@ -431,7 +453,7 @@ msgstr "" "Représente le chemin en tant qu'URI de fichier. :exc:`ValueError` est levée " "si le chemin n'est pas absolu." -#: library/pathlib.rst:449 +#: library/pathlib.rst:475 msgid "" "Return whether the path is absolute or not. A path is considered absolute " "if it has both a root and (if the flavour allows) a drive::" @@ -439,11 +461,11 @@ msgstr "" "Renvoie si le chemin est absolu ou non. Un chemin est considéré absolu s'il " "a une racine et un lecteur (si la famille le permet) ::" -#: library/pathlib.rst:469 +#: library/pathlib.rst:495 msgid "Return whether or not this path is relative to the *other* path." msgstr "Renvoie si ce chemin est relatif ou non au chemin *other*." -#: library/pathlib.rst:482 +#: library/pathlib.rst:508 msgid "" "With :class:`PureWindowsPath`, return ``True`` if the path is considered " "reserved under Windows, ``False`` otherwise. With :class:`PurePosixPath`, " @@ -453,7 +475,7 @@ msgstr "" "réservé sous Windows, ``False`` sinon. Avec :class:`PurePosixPath`, " "``False`` est systématiquement renvoyé." -#: library/pathlib.rst:491 +#: library/pathlib.rst:517 msgid "" "File system calls on reserved paths can fail mysteriously or have unintended " "effects." @@ -461,7 +483,7 @@ msgstr "" "Les appels au système de fichier sur des chemins réservés peuvent échouer " "mystérieusement ou avoir des effets inattendus." -#: library/pathlib.rst:497 +#: library/pathlib.rst:523 msgid "" "Calling this method is equivalent to combining the path with each of the " "*other* arguments in turn::" @@ -469,7 +491,7 @@ msgstr "" "Appeler cette méthode équivaut à combiner le chemin avec chacun des " "arguments *other* ::" -#: library/pathlib.rst:512 +#: library/pathlib.rst:538 msgid "" "Match this path against the provided glob-style pattern. Return ``True`` if " "matching is successful, ``False`` otherwise." @@ -477,7 +499,7 @@ msgstr "" "Fait correspondre ce chemin avec le motif (*glob pattern*) fourni. Renvoie " "``True`` si la correspondance a réussi, ``False`` sinon." -#: library/pathlib.rst:515 +#: library/pathlib.rst:541 msgid "" "If *pattern* is relative, the path can be either relative or absolute, and " "matching is done from the right::" @@ -485,7 +507,7 @@ msgstr "" "Si *pattern* est relatif, le chemin peut être soit relatif, soit absolu, et " "la correspondance est faite à partir de la droite ::" -#: library/pathlib.rst:525 +#: library/pathlib.rst:551 msgid "" "If *pattern* is absolute, the path must be absolute, and the whole path must " "match::" @@ -493,13 +515,13 @@ msgstr "" "Si *pattern* est absolu, le chemin doit être absolu, et la correspondance " "doit être totale avec le chemin ::" -#: library/pathlib.rst:533 +#: library/pathlib.rst:559 msgid "As with other methods, case-sensitivity follows platform defaults::" msgstr "" "Comme pour les autres méthodes, la sensibilité à la casse est la sensibilité " "par défaut de la plate-forme ::" -#: library/pathlib.rst:543 +#: library/pathlib.rst:569 msgid "" "Compute a version of this path relative to the path represented by *other*. " "If it's impossible, ValueError is raised::" @@ -507,7 +529,7 @@ msgstr "" "Calcule une version du chemin en relatif au chemin représenté par *other*. " "Si c'est impossible, ValueError est levée ::" -#: library/pathlib.rst:558 +#: library/pathlib.rst:584 msgid "" "NOTE: This function is part of :class:`PurePath` and works with strings. It " "does not check or access the underlying file structure." @@ -516,7 +538,7 @@ msgstr "" "des chaînes de caractères. Elle n'accède donc pas au système de fichiers " "sous-jacente, et ne vérifie donc pas son résultat." -#: library/pathlib.rst:563 +#: library/pathlib.rst:589 msgid "" "Return a new path with the :attr:`name` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -524,7 +546,7 @@ msgstr "" "Renvoie un nouveau chemin avec :attr:`name` changé. Si le chemin original " "n'a pas de nom, ValueError est levée ::" -#: library/pathlib.rst:580 +#: library/pathlib.rst:606 msgid "" "Return a new path with the :attr:`stem` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -532,7 +554,7 @@ msgstr "" "Renvoie un nouveau chemin avec :attr:`stem` changé. Si le chemin original " "n'a pas de nom, *ValueError* est levée ::" -#: library/pathlib.rst:604 +#: library/pathlib.rst:630 msgid "" "Return a new path with the :attr:`suffix` changed. If the original path " "doesn't have a suffix, the new *suffix* is appended instead. If the " @@ -542,11 +564,11 @@ msgstr "" "n'a pas de suffixe, le nouveau *suffix* est alors ajouté. Si *suffix* est " "une chaîne vide, le suffixe d'origine est retiré ::" -#: library/pathlib.rst:623 +#: library/pathlib.rst:649 msgid "Concrete paths" msgstr "Chemins concrets" -#: library/pathlib.rst:625 +#: library/pathlib.rst:651 msgid "" "Concrete paths are subclasses of the pure path classes. In addition to " "operations provided by the latter, they also provide methods to do system " @@ -557,7 +579,7 @@ msgstr "" "pour faire appel au système sur des objets chemin. Il y a trois façons " "d'instancier des chemins concrets :" -#: library/pathlib.rst:631 +#: library/pathlib.rst:657 msgid "" "A subclass of :class:`PurePath`, this class represents concrete paths of the " "system's path flavour (instantiating it creates either a :class:`PosixPath` " @@ -567,7 +589,7 @@ msgstr "" "concrets d'une famille de chemins de système de fichiers (l'instancier créé " "soit un :class:`PosixPath`, soit un :class:`WindowsPath`) ::" -#: library/pathlib.rst:642 +#: library/pathlib.rst:668 msgid "" "A subclass of :class:`Path` and :class:`PurePosixPath`, this class " "represents concrete non-Windows filesystem paths::" @@ -575,7 +597,7 @@ msgstr "" "Une sous-classe de :class:`Path` et :class:`PurePosixPath`, cette classe " "représente les chemins concrets de systèmes de fichiers non Windows ::" -#: library/pathlib.rst:652 +#: library/pathlib.rst:678 msgid "" "A subclass of :class:`Path` and :class:`PureWindowsPath`, this class " "represents concrete Windows filesystem paths::" @@ -583,7 +605,7 @@ msgstr "" "Une sous-classe de :class:`Path` et :class:`PureWindowsPath`, cette classe " "représente les chemins concrets de systèmes de fichiers Windows ::" -#: library/pathlib.rst:660 +#: library/pathlib.rst:686 msgid "" "You can only instantiate the class flavour that corresponds to your system " "(allowing system calls on non-compatible path flavours could lead to bugs or " @@ -594,11 +616,11 @@ msgstr "" "non compatibles pourrait mener à des bogues ou à des pannes de votre " "application) ::" -#: library/pathlib.rst:680 +#: library/pathlib.rst:706 msgid "Methods" msgstr "Méthodes" -#: library/pathlib.rst:682 +#: library/pathlib.rst:708 msgid "" "Concrete paths provide the following methods in addition to pure paths " "methods. Many of these methods can raise an :exc:`OSError` if a system call " @@ -608,7 +630,7 @@ msgstr "" "des chemins purs. Beaucoup de ces méthodes peuvent lever :exc:`OSError` si " "un appel au système échoue (par exemple car le chemin n'existe pas)." -#: library/pathlib.rst:688 +#: library/pathlib.rst:714 msgid "" ":meth:`~Path.exists()`, :meth:`~Path.is_dir()`, :meth:`~Path.is_file()`, :" "meth:`~Path.is_mount()`, :meth:`~Path.is_symlink()`, :meth:`~Path." @@ -624,7 +646,7 @@ msgstr "" "une exception pour les chemins qui contiennent des caractères non " "représentables au niveau du système d'exploitation." -#: library/pathlib.rst:698 +#: library/pathlib.rst:724 msgid "" "Return a new path object representing the current directory (as returned by :" "func:`os.getcwd`)::" @@ -632,7 +654,7 @@ msgstr "" "Renvoie un nouveau chemin représentant le dossier courant (comme renvoyé " "par :func:`os.getcwd`) ::" -#: library/pathlib.rst:707 +#: library/pathlib.rst:733 msgid "" "Return a new path object representing the user's home directory (as returned " "by :func:`os.path.expanduser` with ``~`` construct). If the home directory " @@ -643,7 +665,7 @@ msgstr "" "Si le dossier d’accueil de l'utilisateur ne peut être résolu, :exc:" "`RuntimeError` est levée." -#: library/pathlib.rst:721 +#: library/pathlib.rst:747 msgid "" "Return a :class:`os.stat_result` object containing information about this " "path, like :func:`os.stat`. The result is looked up at each call to this " @@ -653,7 +675,7 @@ msgstr "" "chemin, comme :func:`os.stat`. Le résultat est récupéré à chaque appel à " "cette méthode." -#: library/pathlib.rst:724 +#: library/pathlib.rst:750 msgid "" "This method normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :meth:`~Path.lstat`." @@ -662,15 +684,15 @@ msgstr "" "sur un lien symbolique lui-même, ajoutez l’argument " "``follow_symlinks=False``, ou utilisez :meth:`~Path.lstat`." -#: library/pathlib.rst:755 +#: library/pathlib.rst:781 msgid "The *follow_symlinks* parameter was added." msgstr "ajout du paramètre *follow_symlinks*." -#: library/pathlib.rst:740 +#: library/pathlib.rst:766 msgid "Change the file mode and permissions, like :func:`os.chmod`." msgstr "Change le mode et les permissions du fichier, comme :func:`os.chmod`." -#: library/pathlib.rst:742 +#: library/pathlib.rst:768 msgid "" "This method normally follows symlinks. Some Unix flavours support changing " "permissions on the symlink itself; on these platforms you may add the " @@ -681,11 +703,11 @@ msgstr "" "symbolique lui-même ; sur ces plateformes, vous pouvez ajouter l’argument " "``follow_symlinks=False``, ou utiliser :meth:`~Path.lchmod`." -#: library/pathlib.rst:760 +#: library/pathlib.rst:786 msgid "Whether the path points to an existing file or directory::" msgstr "Si le chemin pointe sur un fichier ou dossier existant ::" -#: library/pathlib.rst:772 +#: library/pathlib.rst:798 msgid "" "If the path points to a symlink, :meth:`exists` returns whether the symlink " "*points to* an existing file or directory." @@ -693,7 +715,7 @@ msgstr "" "Si le chemin pointe sur un lien symbolique, :meth:`exists` renvoie si le " "lien symbolique *pointe vers* un fichier ou un dossier existant." -#: library/pathlib.rst:778 +#: library/pathlib.rst:804 msgid "" "Return a new path with expanded ``~`` and ``~user`` constructs, as returned " "by :meth:`os.path.expanduser`. If a home directory can't be resolved, :exc:" @@ -704,7 +726,7 @@ msgstr "" "d’accueil de l'utilisateur ne peut être résolu, :exc:`RuntimeError` est " "levée." -#: library/pathlib.rst:793 +#: library/pathlib.rst:819 msgid "" "Glob the given relative *pattern* in the directory represented by this path, " "yielding all matching files (of any kind)::" @@ -713,7 +735,7 @@ msgstr "" "représenté par ce chemin, donnant tous les fichiers correspondants (de " "n'importe quelle sorte) ::" -#: library/pathlib.rst:801 +#: library/pathlib.rst:827 msgid "" "Patterns are the same as for :mod:`fnmatch`, with the addition of \"``**``\" " "which means \"this directory and all subdirectories, recursively\". In " @@ -723,7 +745,7 @@ msgstr "" "signifie « ce dossier et ses sous-dossiers, récursivement ». En d'autres " "termes, il permet d’effectuer un *globbing* récursif ::" -#: library/pathlib.rst:813 +#: library/pathlib.rst:839 msgid "" "Using the \"``**``\" pattern in large directory trees may consume an " "inordinate amount of time." @@ -731,7 +753,7 @@ msgstr "" "Utiliser le motif \"``**``\" dans de grandes arborescences de dossier peut " "consommer une quantité de temps démesurée." -#: library/pathlib.rst:816 +#: library/pathlib.rst:842 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.glob`` with " "arguments ``self``, ``pattern``." @@ -739,7 +761,7 @@ msgstr "" "Lève un :ref:`évènement d’audit ` ``pathlib.Path.glob`` avec comme " "arguments ``self`` et ``pattern``." -#: library/pathlib.rst:821 +#: library/pathlib.rst:847 msgid "" "Return the name of the group owning the file. :exc:`KeyError` is raised if " "the file's gid isn't found in the system database." @@ -747,7 +769,7 @@ msgstr "" "Renvoie le nom du groupe propriétaire du fichier. :exc:`KeyError` est levée " "si le *gid* du fichier n'est pas trouvé dans la base de données du système." -#: library/pathlib.rst:827 +#: library/pathlib.rst:853 msgid "" "Return ``True`` if the path points to a directory (or a symbolic link " "pointing to a directory), ``False`` if it points to another kind of file." @@ -756,7 +778,7 @@ msgstr "" "pointant vers un dossier), ``False`` s'il pointe vers une autre sorte de " "fichier." -#: library/pathlib.rst:839 library/pathlib.rst:877 library/pathlib.rst:895 +#: library/pathlib.rst:865 library/pathlib.rst:903 library/pathlib.rst:921 msgid "" "``False`` is also returned if the path doesn't exist or is a broken symlink; " "other errors (such as permission errors) are propagated." @@ -765,7 +787,7 @@ msgstr "" "symbolique cassé. D’autres erreurs (telles que les erreurs de permission) " "sont propagées." -#: library/pathlib.rst:836 +#: library/pathlib.rst:862 msgid "" "Return ``True`` if the path points to a regular file (or a symbolic link " "pointing to a regular file), ``False`` if it points to another kind of file." @@ -774,7 +796,7 @@ msgstr "" "symbolique pointe vers un fichier normal), ``False`` s'il pointe vers une " "autre sorte de fichier." -#: library/pathlib.rst:845 +#: library/pathlib.rst:871 msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " "system where a different file system has been mounted. On POSIX, the " @@ -791,13 +813,13 @@ msgstr "" "détecter tous les points de montage pour toutes les variantes Unix et POSIX. " "Non implémenté sous Windows." -#: library/pathlib.rst:857 +#: library/pathlib.rst:883 msgid "" "Return ``True`` if the path points to a symbolic link, ``False`` otherwise." msgstr "" "Renvoie ``True`` si le chemin pointe sur un lien symbolique, ``False`` sinon." -#: library/pathlib.rst:859 +#: library/pathlib.rst:885 msgid "" "``False`` is also returned if the path doesn't exist; other errors (such as " "permission errors) are propagated." @@ -805,7 +827,7 @@ msgstr "" "``False`` est aussi renvoyé si le chemin n'existe pas ; d'autres erreurs " "(telles que les erreurs de permission) sont propagées." -#: library/pathlib.rst:865 +#: library/pathlib.rst:891 msgid "" "Return ``True`` if the path points to a Unix socket (or a symbolic link " "pointing to a Unix socket), ``False`` if it points to another kind of file." @@ -814,7 +836,7 @@ msgstr "" "symbolique pointant vers un connecteur Unix), ``False`` s'il pointe vers une " "autre sorte de fichier." -#: library/pathlib.rst:874 +#: library/pathlib.rst:900 msgid "" "Return ``True`` if the path points to a FIFO (or a symbolic link pointing to " "a FIFO), ``False`` if it points to another kind of file." @@ -823,7 +845,7 @@ msgstr "" "pointant vers une FIFO), ``False`` s'il pointe vers une autre sorte de " "fichier." -#: library/pathlib.rst:883 +#: library/pathlib.rst:909 msgid "" "Return ``True`` if the path points to a block device (or a symbolic link " "pointing to a block device), ``False`` if it points to another kind of file." @@ -832,7 +854,7 @@ msgstr "" "symbolique pointant vers un périphérique), ``False`` s'il pointe vers une " "autre sorte de fichier." -#: library/pathlib.rst:892 +#: library/pathlib.rst:918 msgid "" "Return ``True`` if the path points to a character device (or a symbolic link " "pointing to a character device), ``False`` if it points to another kind of " @@ -842,7 +864,7 @@ msgstr "" "un lien symbolique pointant vers un périphérique à caractères), ``False`` " "s'il pointe vers une autre sorte de fichier." -#: library/pathlib.rst:901 +#: library/pathlib.rst:927 msgid "" "When the path points to a directory, yield path objects of the directory " "contents::" @@ -850,7 +872,7 @@ msgstr "" "Quand le chemin pointe vers un dossier, donne par séquences les objets " "chemin du contenu du dossier ::" -#: library/pathlib.rst:915 +#: library/pathlib.rst:941 msgid "" "The children are yielded in arbitrary order, and the special entries ``'.'`` " "and ``'..'`` are not included. If a file is removed from or added to the " @@ -863,7 +885,7 @@ msgstr "" "élément soit renvoyé pour ce fichier, ou non ; ce comportement n'est pas " "déterminé." -#: library/pathlib.rst:922 +#: library/pathlib.rst:948 msgid "" "Like :meth:`Path.chmod` but, if the path points to a symbolic link, the " "symbolic link's mode is changed rather than its target's." @@ -871,7 +893,7 @@ msgstr "" "Comme :meth:`Path.chmod`, mais, si le chemin pointe vers un lien symbolique, " "le mode du lien symbolique est changé plutôt que celui de sa cible." -#: library/pathlib.rst:928 +#: library/pathlib.rst:954 msgid "" "Like :meth:`Path.stat` but, if the path points to a symbolic link, return " "the symbolic link's information rather than its target's." @@ -879,7 +901,7 @@ msgstr "" "Comme :meth:`Path.stat`, mais, si le chemin pointe vers un lien symbolique, " "renvoie les informations du lien symbolique plutôt que celui de sa cible." -#: library/pathlib.rst:934 +#: library/pathlib.rst:960 msgid "" "Create a new directory at this given path. If *mode* is given, it is " "combined with the process' ``umask`` value to determine the file mode and " @@ -890,7 +912,7 @@ msgstr "" "de fichier et les droits d'accès. Si le chemin existe déjà, :exc:" "`FileExistsError` est levée." -#: library/pathlib.rst:939 +#: library/pathlib.rst:965 msgid "" "If *parents* is true, any missing parents of this path are created as " "needed; they are created with the default permissions without taking *mode* " @@ -900,7 +922,7 @@ msgstr "" "sont créés avec les permissions par défaut sans prendre en compte *mode* " "(reproduisant la commande POSIX ``mkdir -p``)." -#: library/pathlib.rst:943 +#: library/pathlib.rst:969 msgid "" "If *parents* is false (the default), a missing parent raises :exc:" "`FileNotFoundError`." @@ -908,7 +930,7 @@ msgstr "" "Si *parents* est faux (valeur par défaut), un parent manquant lève :exc:" "`FileNotFoundError`." -#: library/pathlib.rst:946 +#: library/pathlib.rst:972 msgid "" "If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " "the target directory already exists." @@ -916,7 +938,7 @@ msgstr "" "Si *exist_ok* est faux (valeur par défaut), :exc:`FileExistsError` est levé " "si le dossier cible existe déjà." -#: library/pathlib.rst:949 +#: library/pathlib.rst:975 msgid "" "If *exist_ok* is true, :exc:`FileExistsError` exceptions will be ignored " "(same behavior as the POSIX ``mkdir -p`` command), but only if the last path " @@ -927,11 +949,11 @@ msgstr "" "seulement si le dernier segment de chemin existe et n'est pas un dossier." # « nouveau dans la version … » -#: library/pathlib.rst:953 +#: library/pathlib.rst:979 msgid "The *exist_ok* parameter was added." msgstr "ajout du paramètre *exist_ok*." -#: library/pathlib.rst:959 +#: library/pathlib.rst:985 msgid "" "Open the file pointed to by the path, like the built-in :func:`open` " "function does::" @@ -939,7 +961,7 @@ msgstr "" "Ouvre le fichier pointé par le chemin, comme la fonction native :func:`open` " "le fait ::" -#: library/pathlib.rst:971 +#: library/pathlib.rst:997 msgid "" "Return the name of the user owning the file. :exc:`KeyError` is raised if " "the file's uid isn't found in the system database." @@ -948,18 +970,18 @@ msgstr "" "`KeyError` est levée si l’*uid* de l’utilisateur du fichier n'est pas trouvé " "dans la base de données du système." -#: library/pathlib.rst:977 +#: library/pathlib.rst:1003 msgid "Return the binary contents of the pointed-to file as a bytes object::" msgstr "" "Renvoie le contenu binaire du fichier pointé en tant que chaîne d’octets ::" -#: library/pathlib.rst:990 +#: library/pathlib.rst:1016 msgid "Return the decoded contents of the pointed-to file as a string::" msgstr "" "Renvoie le contenu décodé du fichier pointé en tant que chaîne de " "caractères ::" -#: library/pathlib.rst:998 +#: library/pathlib.rst:1024 msgid "" "The file is opened and then closed. The optional parameters have the same " "meaning as in :func:`open`." @@ -967,7 +989,7 @@ msgstr "" "Le fichier est ouvert, puis fermé. Les paramètres optionnels ont la même " "signification que dans :func:`open`." -#: library/pathlib.rst:1006 +#: library/pathlib.rst:1032 msgid "" "Return the path to which the symbolic link points (as returned by :func:`os." "readlink`)::" @@ -975,7 +997,7 @@ msgstr "" "Renvoie le chemin vers lequel le lien symbolique pointe (tel que renvoyé " "par :func:`os.readlink`) ::" -#: library/pathlib.rst:1019 +#: library/pathlib.rst:1045 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. On Unix, if *target* exists and is a file, " @@ -991,7 +1013,7 @@ msgstr "" "est systématiquement levée. *target* peut être soit une chaîne de " "caractères, soit un autre chemin ::" -#: library/pathlib.rst:1048 +#: library/pathlib.rst:1074 msgid "" "The target path may be absolute or relative. Relative paths are interpreted " "relative to the current working directory, *not* the directory of the Path " @@ -1002,11 +1024,11 @@ msgstr "" "au dossier du ``Path`` sur lequel cette méthode est appelée." # « nouveau dans la version … » -#: library/pathlib.rst:1052 +#: library/pathlib.rst:1078 msgid "Added return value, return the new Path instance." msgstr "ajout de la valeur de retour, renvoie une nouvelle instance *Path*." -#: library/pathlib.rst:1044 +#: library/pathlib.rst:1070 #, fuzzy msgid "" "Rename this file or directory to the given *target*, and return a new Path " @@ -1017,7 +1039,7 @@ msgstr "" "nouvelle instance de *Path* pointant sur *target*. Si *target* pointe sur un " "fichier ou un dossier vide existant, il est systématiquement remplacé." -#: library/pathlib.rst:1058 +#: library/pathlib.rst:1084 msgid "" "Make the path absolute, resolving any symlinks. A new path object is " "returned::" @@ -1025,7 +1047,7 @@ msgstr "" "Rend le chemin absolu, résolvant les liens symboliques. Un nouveau chemin " "est renvoyé ::" -#: library/pathlib.rst:1067 +#: library/pathlib.rst:1093 msgid "" "\"``..``\" components are also eliminated (this is the only method to do " "so)::" @@ -1033,7 +1055,7 @@ msgstr "" "Les composantes \"``..``\" sont aussi éliminées (c'est la seule méthode pour " "le faire) ::" -#: library/pathlib.rst:1073 +#: library/pathlib.rst:1099 msgid "" "If the path doesn't exist and *strict* is ``True``, :exc:`FileNotFoundError` " "is raised. If *strict* is ``False``, the path is resolved as far as " @@ -1048,11 +1070,11 @@ msgstr "" "résolution du chemin, :exc:`RuntimeError` est levée." # « nouveau dans la version … » -#: library/pathlib.rst:1079 +#: library/pathlib.rst:1105 msgid "The *strict* argument (pre-3.6 behavior is strict)." msgstr "l'argument *strict* (le comportement *pré-3.6* est strict par défaut)." -#: library/pathlib.rst:1084 +#: library/pathlib.rst:1110 msgid "" "This is like calling :func:`Path.glob` with \"``**/``\" added in front of " "the given relative *pattern*::" @@ -1060,7 +1082,7 @@ msgstr "" "C'est similaire à appeler :func:`Path.glob` avec \"``**/``\" ajouté au début " "du motif *pattern* relatif ::" -#: library/pathlib.rst:1094 +#: library/pathlib.rst:1120 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " "arguments ``self``, ``pattern``." @@ -1068,11 +1090,11 @@ msgstr "" "Lève un :ref:`évènement d’audit ` ``pathlib.Path.glob`` avec comme " "arguments ``self`` et ``pattern``." -#: library/pathlib.rst:1099 +#: library/pathlib.rst:1125 msgid "Remove this directory. The directory must be empty." msgstr "Supprime ce dossier. Le dossier doit être vide." -#: library/pathlib.rst:1104 +#: library/pathlib.rst:1130 msgid "" "Return whether this path points to the same file as *other_path*, which can " "be either a Path object, or a string. The semantics are similar to :func:" @@ -1082,7 +1104,7 @@ msgstr "" "être soit un chemin, soit une chaîne de caractères. La sémantique est " "similaire à :func:`os.path.samefile` et :func:`os.path.samestat`." -#: library/pathlib.rst:1108 +#: library/pathlib.rst:1134 msgid "" "An :exc:`OSError` can be raised if either file cannot be accessed for some " "reason." @@ -1090,7 +1112,7 @@ msgstr "" ":exc:`OSError` peut être levée si l'un des fichiers ne peut être accédé pour " "quelque raison." -#: library/pathlib.rst:1125 +#: library/pathlib.rst:1151 msgid "" "Make this path a symbolic link to *target*. Under Windows, " "*target_is_directory* must be true (default ``False``) if the link's target " @@ -1101,28 +1123,28 @@ msgstr "" "si la cible du lien est un dossier. Sous POSIX, la valeur de " "*target_is_directory* est ignorée." -#: library/pathlib.rst:1141 +#: library/pathlib.rst:1167 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.symlink`'s." msgstr "" "L'ordre des arguments (lien, cible) est l'opposé de ceux de :func:`os." "symlink`." -#: library/pathlib.rst:1146 +#: library/pathlib.rst:1172 msgid "Make this path a hard link to the same file as *target*." msgstr "Crée un lien physique pointant sur le même fichier que *target*." -#: library/pathlib.rst:1149 +#: library/pathlib.rst:1175 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.link`'s." msgstr "" "L'ordre des arguments (lien, cible) est l'opposé de celui de :func:`os.link`." -#: library/pathlib.rst:1156 +#: library/pathlib.rst:1182 msgid "Make *target* a hard link to this path." msgstr "Crée un lien physique pointant sur le même fichier que *target*." -#: library/pathlib.rst:1160 +#: library/pathlib.rst:1186 msgid "" "This function does not make this path a hard link to *target*, despite the " "implication of the function and argument names. The argument order (target, " @@ -1134,7 +1156,7 @@ msgstr "" "des arguments (cible, lien) est l’inverse de :func:`Path.symlink_to` et :" "func:`Path.hardlink_to`, mais correspond en fait à celui de :func:`os.link`." -#: library/pathlib.rst:1169 +#: library/pathlib.rst:1195 msgid "" "This method is deprecated in favor of :meth:`Path.hardlink_to`, as the " "argument order of :meth:`Path.link_to` does not match that of :meth:`Path." @@ -1144,7 +1166,7 @@ msgstr "" "l’ordre des arguments de :meth:`Path.link_to` ne correspond pas à celui de :" "meth:`Path.symlink_to`." -#: library/pathlib.rst:1176 +#: library/pathlib.rst:1202 msgid "" "Create a file at this given path. If *mode* is given, it is combined with " "the process' ``umask`` value to determine the file mode and access flags. " @@ -1158,7 +1180,7 @@ msgstr "" "*exist_ok* est vrai (et si l'heure de modification est mise à jour avec " "l'heure courante), sinon :exc:`FileExistsError` est levée." -#: library/pathlib.rst:1185 +#: library/pathlib.rst:1211 msgid "" "Remove this file or symbolic link. If the path points to a directory, use :" "func:`Path.rmdir` instead." @@ -1166,7 +1188,7 @@ msgstr "" "Supprime ce fichier ou lien symbolique. Si le chemin pointe vers un dossier, " "utilisez :func:`Path.rmdir` à la place." -#: library/pathlib.rst:1188 +#: library/pathlib.rst:1214 msgid "" "If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " "if the path does not exist." @@ -1174,7 +1196,7 @@ msgstr "" "Si *missing_ok* est faux (valeur par défaut), une :exc:`FileNotFoundError` " "est levée si le chemin n'existe pas." -#: library/pathlib.rst:1191 +#: library/pathlib.rst:1217 msgid "" "If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " "(same behavior as the POSIX ``rm -f`` command)." @@ -1182,11 +1204,11 @@ msgstr "" "Si *missing_ok* est vrai, les exceptions :exc:`FileNotFoundError` sont " "ignorées (même comportement que la commande POSIX ``rm -f``)." -#: library/pathlib.rst:1194 +#: library/pathlib.rst:1220 msgid "The *missing_ok* parameter was added." msgstr "Ajout du paramètre *missing_ok*." -#: library/pathlib.rst:1200 +#: library/pathlib.rst:1226 msgid "" "Open the file pointed to in bytes mode, write *data* to it, and close the " "file::" @@ -1194,11 +1216,11 @@ msgstr "" "Ouvre le fichier pointé en mode binaire, écrit *data* dedans, et ferme le " "fichier ::" -#: library/pathlib.rst:1209 +#: library/pathlib.rst:1235 msgid "An existing file of the same name is overwritten." msgstr "Le fichier du même nom, s'il existe, est écrasé." -#: library/pathlib.rst:1216 +#: library/pathlib.rst:1242 msgid "" "Open the file pointed to in text mode, write *data* to it, and close the " "file::" @@ -1206,7 +1228,7 @@ msgstr "" "Ouvre le fichier pointé en mode texte, écrit *data* dedans, et ferme le " "fichier ::" -#: library/pathlib.rst:1225 +#: library/pathlib.rst:1251 msgid "" "An existing file of the same name is overwritten. The optional parameters " "have the same meaning as in :func:`open`." @@ -1216,15 +1238,15 @@ msgstr "" # « nouveau dans la version … » # Pas de majuscule après « : » -#: library/pathlib.rst:1230 +#: library/pathlib.rst:1256 msgid "The *newline* parameter was added." msgstr "ajout du paramètre *newline*." -#: library/pathlib.rst:1234 +#: library/pathlib.rst:1260 msgid "Correspondence to tools in the :mod:`os` module" msgstr "Correspondance des outils du module :mod:`os`" -#: library/pathlib.rst:1236 +#: library/pathlib.rst:1262 msgid "" "Below is a table mapping various :mod:`os` functions to their corresponding :" "class:`PurePath`/:class:`Path` equivalent." @@ -1232,7 +1254,7 @@ msgstr "" "Ci-dessous se trouve un tableau associant diverses fonctions :mod:`os` à " "leur équivalent :class:`PurePath` / :class:`Path` correspondant." -#: library/pathlib.rst:1241 +#: library/pathlib.rst:1267 msgid "" "Not all pairs of functions/methods below are equivalent. Some of them, " "despite having some overlapping use-cases, have different semantics. They " @@ -1245,223 +1267,225 @@ msgstr "" "func:`os.path.abspath` et :meth:`Path.resolve`, ainsi que :func:`os.path." "relpath` et :meth:`PurePath.relative_to`." -#: library/pathlib.rst:1247 +#: library/pathlib.rst:1273 msgid ":mod:`os` and :mod:`os.path`" msgstr ":mod:`os` et :mod:`os.path`" -#: library/pathlib.rst:1247 +#: library/pathlib.rst:1273 msgid ":mod:`pathlib`" msgstr ":mod:`pathlib`" -#: library/pathlib.rst:1249 +#: library/pathlib.rst:1275 msgid ":func:`os.path.abspath`" msgstr ":func:`os.path.abspath`" -#: library/pathlib.rst:1249 +#: library/pathlib.rst:1275 msgid ":meth:`Path.resolve` [#]_" msgstr ":meth:`Path.resolve` [#]_" -#: library/pathlib.rst:1250 +#: library/pathlib.rst:1276 msgid ":func:`os.chmod`" msgstr ":func:`os.chmod`" -#: library/pathlib.rst:1250 +#: library/pathlib.rst:1276 msgid ":meth:`Path.chmod`" msgstr ":meth:`Path.chmod`" -#: library/pathlib.rst:1251 +#: library/pathlib.rst:1277 msgid ":func:`os.mkdir`" msgstr ":func:`os.mkdir`" -#: library/pathlib.rst:1252 +#: library/pathlib.rst:1278 msgid ":meth:`Path.mkdir`" msgstr ":meth:`Path.mkdir`" -#: library/pathlib.rst:1252 +#: library/pathlib.rst:1278 msgid ":func:`os.makedirs`" msgstr ":func:`os.makedirs`" -#: library/pathlib.rst:1253 +#: library/pathlib.rst:1279 msgid ":func:`os.rename`" msgstr ":func:`os.rename`" -#: library/pathlib.rst:1253 +#: library/pathlib.rst:1279 msgid ":meth:`Path.rename`" msgstr ":meth:`Path.rename`" -#: library/pathlib.rst:1254 +#: library/pathlib.rst:1280 msgid ":func:`os.replace`" msgstr ":func:`os.replace`" -#: library/pathlib.rst:1254 +#: library/pathlib.rst:1280 msgid ":meth:`Path.replace`" msgstr ":meth:`Path.replace`" -#: library/pathlib.rst:1255 +#: library/pathlib.rst:1281 msgid ":func:`os.rmdir`" msgstr ":func:`os.rmdir`" -#: library/pathlib.rst:1255 +#: library/pathlib.rst:1281 msgid ":meth:`Path.rmdir`" msgstr ":meth:`Path.rmdir`" -#: library/pathlib.rst:1256 +#: library/pathlib.rst:1282 msgid ":func:`os.remove`, :func:`os.unlink`" msgstr ":func:`os.remove`, :func:`os.unlink`" -#: library/pathlib.rst:1256 +#: library/pathlib.rst:1282 msgid ":meth:`Path.unlink`" msgstr ":meth:`Path.unlink`" -#: library/pathlib.rst:1257 +#: library/pathlib.rst:1283 msgid ":func:`os.getcwd`" msgstr ":func:`os.getcwd`" -#: library/pathlib.rst:1257 +#: library/pathlib.rst:1283 msgid ":func:`Path.cwd`" msgstr ":func:`Path.cwd`" -#: library/pathlib.rst:1258 +#: library/pathlib.rst:1284 msgid ":func:`os.path.exists`" msgstr ":func:`os.path.exists`" -#: library/pathlib.rst:1258 +#: library/pathlib.rst:1284 msgid ":meth:`Path.exists`" msgstr ":meth:`Path.exists`" -#: library/pathlib.rst:1259 +#: library/pathlib.rst:1285 msgid ":func:`os.path.expanduser`" msgstr ":func:`os.path.expanduser`" -#: library/pathlib.rst:1259 +#: library/pathlib.rst:1285 msgid ":meth:`Path.expanduser` and :meth:`Path.home`" msgstr ":meth:`Path.expanduser` et :meth:`Path.home`" -#: library/pathlib.rst:1261 +#: library/pathlib.rst:1287 msgid ":func:`os.listdir`" msgstr ":func:`os.listdir`" -#: library/pathlib.rst:1261 +#: library/pathlib.rst:1287 msgid ":meth:`Path.iterdir`" msgstr ":meth:`Path.iterdir`" -#: library/pathlib.rst:1262 +#: library/pathlib.rst:1288 msgid ":func:`os.path.isdir`" msgstr ":func:`os.path.isdir`" -#: library/pathlib.rst:1262 +#: library/pathlib.rst:1288 msgid ":meth:`Path.is_dir`" msgstr ":meth:`Path.is_dir`" -#: library/pathlib.rst:1263 +#: library/pathlib.rst:1289 msgid ":func:`os.path.isfile`" msgstr ":func:`os.path.isfile`" -#: library/pathlib.rst:1263 +#: library/pathlib.rst:1289 msgid ":meth:`Path.is_file`" msgstr ":meth:`Path.is_file`" -#: library/pathlib.rst:1264 +#: library/pathlib.rst:1290 msgid ":func:`os.path.islink`" msgstr ":func:`os.path.islink`" -#: library/pathlib.rst:1264 +#: library/pathlib.rst:1290 msgid ":meth:`Path.is_symlink`" msgstr ":meth:`Path.is_symlink`" -#: library/pathlib.rst:1265 +#: library/pathlib.rst:1291 msgid ":func:`os.link`" msgstr ":func:`os.link`" -#: library/pathlib.rst:1265 +#: library/pathlib.rst:1291 msgid ":meth:`Path.hardlink_to`" msgstr ":meth:`Path.hardlink_to`" -#: library/pathlib.rst:1266 +#: library/pathlib.rst:1292 msgid ":func:`os.symlink`" msgstr ":func:`os.symlink`" -#: library/pathlib.rst:1266 +#: library/pathlib.rst:1292 msgid ":meth:`Path.symlink_to`" msgstr ":meth:`Path.symlink_to`" -#: library/pathlib.rst:1267 +#: library/pathlib.rst:1293 msgid ":func:`os.readlink`" msgstr ":func:`os.readlink`" -#: library/pathlib.rst:1267 +#: library/pathlib.rst:1293 msgid ":meth:`Path.readlink`" msgstr ":meth:`Path.readlink`" -#: library/pathlib.rst:1268 +#: library/pathlib.rst:1294 msgid ":func:`os.path.relpath`" msgstr ":func:`os.path.relpath`" -#: library/pathlib.rst:1268 -msgid ":meth:`Path.relative_to` [#]_" +#: library/pathlib.rst:1294 +#, fuzzy +msgid ":meth:`PurePath.relative_to` [#]_" msgstr ":meth:`Path.relative_to` [#]_" -#: library/pathlib.rst:1269 +#: library/pathlib.rst:1295 msgid ":func:`os.stat`" msgstr ":func:`os.stat`" -#: library/pathlib.rst:1269 +#: library/pathlib.rst:1295 msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" msgstr ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" -#: library/pathlib.rst:1272 +#: library/pathlib.rst:1298 msgid ":func:`os.path.isabs`" msgstr ":func:`os.path.isabs`" -#: library/pathlib.rst:1272 +#: library/pathlib.rst:1298 msgid ":meth:`PurePath.is_absolute`" msgstr ":meth:`PurePath.is_absolute`" -#: library/pathlib.rst:1273 +#: library/pathlib.rst:1299 msgid ":func:`os.path.join`" msgstr ":func:`os.path.join`" -#: library/pathlib.rst:1273 +#: library/pathlib.rst:1299 msgid ":func:`PurePath.joinpath`" msgstr ":func:`PurePath.joinpath`" -#: library/pathlib.rst:1274 +#: library/pathlib.rst:1300 msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" -#: library/pathlib.rst:1274 +#: library/pathlib.rst:1300 msgid ":data:`PurePath.name`" msgstr ":data:`PurePath.name`" -#: library/pathlib.rst:1275 +#: library/pathlib.rst:1301 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" -#: library/pathlib.rst:1275 +#: library/pathlib.rst:1301 msgid ":data:`PurePath.parent`" msgstr ":data:`PurePath.parent`" -#: library/pathlib.rst:1276 +#: library/pathlib.rst:1302 msgid ":func:`os.path.samefile`" msgstr ":func:`os.path.samefile`" -#: library/pathlib.rst:1276 +#: library/pathlib.rst:1302 msgid ":meth:`Path.samefile`" msgstr ":meth:`Path.samefile`" -#: library/pathlib.rst:1277 +#: library/pathlib.rst:1303 msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" -#: library/pathlib.rst:1277 -msgid ":data:`PurePath.suffix`" +#: library/pathlib.rst:1303 +#, fuzzy +msgid ":data:`PurePath.stem` and :data:`PurePath.suffix`" msgstr ":data:`PurePath.suffix`" -#: library/pathlib.rst:1281 +#: library/pathlib.rst:1308 msgid "Footnotes" msgstr "Notes" -#: library/pathlib.rst:1282 +#: library/pathlib.rst:1309 msgid "" ":func:`os.path.abspath` does not resolve symbolic links while :meth:`Path." "resolve` does." @@ -1469,9 +1493,10 @@ msgstr "" ":func:`os.path.abspath` ne résout pas les liens symboliques alors que :meth:" "`Path.resolve` le fait." -#: library/pathlib.rst:1283 +#: library/pathlib.rst:1310 +#, fuzzy msgid "" -":meth:`Path.relative_to` requires ``self`` to be the subpath of the " +":meth:`PurePath.relative_to` requires ``self`` to be the subpath of the " "argument, but :func:`os.path.relpath` does not." msgstr "" ":meth:`Path.relative_to` exige que ``self`` soit le sous-chemin de " diff --git a/library/pickle.po b/library/pickle.po index 7248d55902..e31be93ef3 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-11 11:45+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -176,9 +176,10 @@ msgid "Comparison with ``json``" msgstr "Comparaison avec ``json``" #: library/pickle.rst:92 +#, fuzzy msgid "" "There are fundamental differences between the pickle protocols and `JSON " -"(JavaScript Object Notation) `_:" +"(JavaScript Object Notation) `_:" msgstr "" "Il existe des différences fondamentales entre les protocoles de " "sérialisation définis par ce module et le format `JSON (JavaScript Object " @@ -967,15 +968,15 @@ msgstr "" #: library/pickle.rst:505 #, fuzzy msgid "" -"functions (built-in and user-defined) defined at the top level of a module " -"(using :keyword:`def`, not :keyword:`lambda`);" +"functions (built-in and user-defined) accessible from the top level of a " +"module (using :keyword:`def`, not :keyword:`lambda`);" msgstr "" "les fonctions définies au niveau le plus haut dans un module (avec :keyword:" "`def`, mais pas :keyword:`lambda`) ;" #: library/pickle.rst:508 #, fuzzy -msgid "classes defined at the top level of a module;" +msgid "classes accessible from the top level of a module;" msgstr "les classes définies au plus haut niveau dans un module ;" #: library/pickle.rst:510 @@ -1007,9 +1008,9 @@ msgstr "" #: library/pickle.rst:521 #, fuzzy msgid "" -"Note that functions (built-in and user-defined) are pickled by fully " -"qualified name, not by value. [#]_ This means that only the function name " -"is pickled, along with the name of the module the function is defined in. " +"Note that functions (built-in and user-defined) are pickled by fully :term:" +"`qualified name`, not by value. [#]_ This means that only the function name " +"is pickled, along with the name of the containing module and classes. " "Neither the function's code, nor any of its function attributes are " "pickled. Thus the defining module must be importable in the unpickling " "environment, and the module must contain the named object, otherwise an " diff --git a/library/platform.po b/library/platform.po index bc44b2fcf4..ad95ee0cbb 100644 --- a/library/platform.po +++ b/library/platform.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 02:42+0100\n" "Last-Translator: Stephan Michaud \n" "Language-Team: FRENCH \n" @@ -97,8 +97,9 @@ msgstr "" "fiable est d'interroger l'attribut :attr:`sys.maxsize` ::" #: library/platform.rst:56 +#, fuzzy msgid "" -"Returns the machine type, e.g. ``'i386'``. An empty string is returned if " +"Returns the machine type, e.g. ``'AMD64'``. An empty string is returned if " "the value cannot be determined." msgstr "" "Renvoie le type de machine. Par exemple, ``'i386'``. Une chaîne de " diff --git a/library/posix.po b/library/posix.po index 6cb72b6885..a87306e400 100644 --- a/library/posix.po +++ b/library/posix.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-11-18 16:02+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -67,11 +67,11 @@ msgstr "Prise en charge de gros fichiers" #: library/posix.rst:40 #, fuzzy msgid "" -"Several operating systems (including AIX, HP-UX and Solaris) provide support " -"for files that are larger than 2 GiB from a C programming model where :c:" -"type:`int` and :c:type:`long` are 32-bit values. This is typically " -"accomplished by defining the relevant size and offset types as 64-bit " -"values. Such files are sometimes referred to as :dfn:`large files`." +"Several operating systems (including AIX and Solaris) provide support for " +"files that are larger than 2 GiB from a C programming model where :c:expr:" +"`int` and :c:expr:`long` are 32-bit values. This is typically accomplished " +"by defining the relevant size and offset types as 64-bit values. Such files " +"are sometimes referred to as :dfn:`large files`." msgstr "" "De nombreux systèmes d'exploitation (y compris AIX, HP-UX, Irix et Solaris) " "prennent en charge les fichiers d'une taille supérieure à 2 Go malgré que le " @@ -83,7 +83,7 @@ msgstr "" #, fuzzy msgid "" "Large file support is enabled in Python when the size of an :c:type:`off_t` " -"is larger than a :c:type:`long` and the :c:type:`long long` is at least as " +"is larger than a :c:expr:`long` and the :c:expr:`long long` is at least as " "large as an :c:type:`off_t`. It may be necessary to configure and compile " "Python with certain compiler flags to enable this mode. For example, with " "Solaris 2.6 and 2.7 you need to do something like::" diff --git a/library/py_compile.po b/library/py_compile.po index 4a7b7018d9..ac6d328527 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-05-04 00:17+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -50,18 +50,20 @@ msgid "" msgstr "Exception levée quand une erreur se produit à la compilation." #: library/py_compile.rst:32 +#, fuzzy msgid "" "Compile a source file to byte-code and write out the byte-code cache file. " "The source code is loaded from the file named *file*. The byte-code is " "written to *cfile*, which defaults to the :pep:`3147`/:pep:`488` path, " "ending in ``.pyc``. For example, if *file* is ``/foo/bar/baz.py`` *cfile* " "will default to ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. " -"If *dfile* is specified, it is used as the name of the source file in error " -"messages instead of *file*. If *doraise* is true, a :exc:`PyCompileError` " -"is raised when an error is encountered while compiling *file*. If *doraise* " -"is false (the default), an error string is written to ``sys.stderr``, but no " -"exception is raised. This function returns the path to byte-compiled file, " -"i.e. whatever *cfile* value was used." +"If *dfile* is specified, it is used instead of *file* as the name of the " +"source file from which source lines are obtained for display in exception " +"tracebacks. If *doraise* is true, a :exc:`PyCompileError` is raised when an " +"error is encountered while compiling *file*. If *doraise* is false (the " +"default), an error string is written to ``sys.stderr``, but no exception is " +"raised. This function returns the path to byte-compiled file, i.e. whatever " +"*cfile* value was used." msgstr "" "Compile un fichier source en un fichier de code intermédiaire, mis en cache. " "Le code source est lu dans le fichier *file*. Par défaut, le code " @@ -78,7 +80,7 @@ msgstr "" "intermédiaire, c'est-à-dire l'emplacement choisi automatiquement, ou bien " "*cfile* s'il est précisé." -#: library/py_compile.rst:45 +#: library/py_compile.rst:46 msgid "" "The *doraise* and *quiet* arguments determine how errors are handled while " "compiling file. If *quiet* is 0 or 1, and *doraise* is false, the default " @@ -95,7 +97,7 @@ msgstr "" "`PyCompileError` est levée, sauf si *quiet* vaut 2. Dans ce dernier cas, " "aucun message n'est émis, et *doraise* reste sans effet." -#: library/py_compile.rst:52 +#: library/py_compile.rst:53 msgid "" "If the path that *cfile* becomes (either explicitly specified or computed) " "is a symlink or non-regular file, :exc:`FileExistsError` will be raised. " @@ -113,7 +115,7 @@ msgstr "" "intermédiaire vers sa destination, afin d'éviter les problèmes liés à " "l'écriture simultanée d'un même fichier par plusieurs processus." -#: library/py_compile.rst:59 +#: library/py_compile.rst:60 msgid "" "*optimize* controls the optimization level and is passed to the built-in :" "func:`compile` function. The default of ``-1`` selects the optimization " @@ -124,7 +126,7 @@ msgstr "" "de ``-1``, le code intermédiaire hérite du niveau d'optimisation de " "l'interpréteur courant." -#: library/py_compile.rst:63 +#: library/py_compile.rst:64 msgid "" "*invalidation_mode* should be a member of the :class:`PycInvalidationMode` " "enum and controls how the generated bytecode cache is invalidated at " @@ -138,7 +140,7 @@ msgstr "" "TIMESTAMP`. Elle passe toutefois à :attr:`PycInvalidationMode.CHECKED_HASH` " "si la variable d'environnement :envvar:`SOURCE_DATE_EPOCH` est définie." -#: library/py_compile.rst:69 +#: library/py_compile.rst:70 msgid "" "Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous " "default was *file* + ``'c'`` (``'o'`` if optimization was enabled). Also " @@ -149,7 +151,7 @@ msgstr "" "*file* + ``'c'`` (ou ``'o'`` lorsque les optimisations étaient actives). Le " "paramètre *optimize* a été ajouté." -#: library/py_compile.rst:74 +#: library/py_compile.rst:75 msgid "" "Changed code to use :mod:`importlib` for the byte-code cache file writing. " "This means file creation/writing semantics now match what :mod:`importlib` " @@ -164,7 +166,7 @@ msgstr "" "`FileExistsError` est désormais levée si la destination est un lien " "symbolique ou n'est pas un véritable fichier." -#: library/py_compile.rst:81 +#: library/py_compile.rst:82 msgid "" "The *invalidation_mode* parameter was added as specified in :pep:`552`. If " "the :envvar:`SOURCE_DATE_EPOCH` environment variable is set, " @@ -176,7 +178,7 @@ msgstr "" "définie, *invalidation_mode* est ignoré, et :attr:`PycInvalidationMode." "CHECKED_HASH` s'applique dans tous les cas." -#: library/py_compile.rst:87 +#: library/py_compile.rst:88 msgid "" "The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer overrides the " "value of the *invalidation_mode* argument, and determines its default value " @@ -186,11 +188,11 @@ msgstr "" "sur le paramètre *invalidation_mode*, mais détermine seulement le " "comportement par défaut lorsque ce paramètre n'est pas passé." -#: library/py_compile.rst:92 +#: library/py_compile.rst:93 msgid "The *quiet* parameter was added." msgstr "ajout du paramètre *quiet*." -#: library/py_compile.rst:98 +#: library/py_compile.rst:99 msgid "" "A enumeration of possible methods the interpreter can use to determine " "whether a bytecode file is up to date with a source file. The ``.pyc`` file " @@ -205,7 +207,7 @@ msgstr "" "d'informations sur la manière dont Python invalide les fichiers ``.pyc`` à " "l'exécution." -#: library/py_compile.rst:108 +#: library/py_compile.rst:109 msgid "" "The ``.pyc`` file includes the timestamp and size of the source file, which " "Python will compare against the metadata of the source file at runtime to " @@ -215,7 +217,7 @@ msgstr "" "L'interpréteur inspecte les métadonnées du fichier source au moment de " "l'exécution, et régénère le fichier ``.pyc`` si elles ont changé." -#: library/py_compile.rst:114 +#: library/py_compile.rst:115 msgid "" "The ``.pyc`` file includes a hash of the source file content, which Python " "will compare against the source at runtime to determine if the ``.pyc`` file " @@ -225,7 +227,7 @@ msgstr "" "est recalculée à partir de la source éventuellement modifiée, et le fichier " "``.pyc`` est régénéré si les deux empreintes sont différentes." -#: library/py_compile.rst:120 +#: library/py_compile.rst:121 msgid "" "Like :attr:`CHECKED_HASH`, the ``.pyc`` file includes a hash of the source " "file content. However, Python will at runtime assume the ``.pyc`` file is up " @@ -235,7 +237,7 @@ msgstr "" "l'interpréteur considère systématiquement que le fichier ``.pyc`` est à " "jour, sans regarder la source." -#: library/py_compile.rst:124 +#: library/py_compile.rst:125 msgid "" "This option is useful when the ``.pycs`` are kept up to date by some system " "external to Python like a build system." @@ -243,11 +245,11 @@ msgstr "" "Cette option est utile lorsque les fichiers ``.pyc`` sont maintenus par un " "outil externe, comme un système d'intégration." -#: library/py_compile.rst:129 +#: library/py_compile.rst:130 msgid "Command-Line Interface" msgstr "Interface en ligne de commande" -#: library/py_compile.rst:131 +#: library/py_compile.rst:132 #, fuzzy msgid "" "This module can be invoked as a script to compile several source files. The " @@ -263,31 +265,31 @@ msgstr "" "seul paramètre dans *args*, la liste des fichiers est lue sur l'entrée " "standard." -#: library/py_compile.rst:143 +#: library/py_compile.rst:144 msgid "" "Positional arguments are files to compile. If ``-`` is the only parameter, " "the list of files is taken from standard input." msgstr "" -#: library/py_compile.rst:148 +#: library/py_compile.rst:149 msgid "Suppress errors output." msgstr "" -#: library/py_compile.rst:150 +#: library/py_compile.rst:151 #, fuzzy msgid "Added support for ``-``." msgstr "prise en charge de ``'-'``." -#: library/py_compile.rst:153 +#: library/py_compile.rst:154 #, fuzzy msgid "Added support for :option:`-q`." msgstr "prise en charge de ``'-'``." -#: library/py_compile.rst:159 +#: library/py_compile.rst:160 msgid "Module :mod:`compileall`" msgstr "Module :mod:`compileall`" -#: library/py_compile.rst:160 +#: library/py_compile.rst:161 msgid "Utilities to compile all Python source files in a directory tree." msgstr "" "Utilitaires pour compiler des fichiers source Python dans une arborescence" diff --git a/library/queue.po b/library/queue.po index e0cb36afdc..8d1397e708 100644 --- a/library/queue.po +++ b/library/queue.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-11-01 17:35+0100\n" "Last-Translator: Lcaracol \n" "Language-Team: FRENCH \n" @@ -271,7 +271,7 @@ msgstr "" "qu'aucune exception ne peut arriver et, en particulier, un *SIGINT* ne " "déclenchera pas de :exc:`KeyboardInterrupt`." -#: library/queue.rst:267 +#: library/queue.rst:268 msgid "Equivalent to ``get(False)``." msgstr "Équivalent à ``get(False)``." @@ -338,18 +338,18 @@ msgstr "" "Exemple montrant comment attendre que les tâches mises dans la file soient " "terminées ::" -#: library/queue.rst:217 +#: library/queue.rst:218 msgid "SimpleQueue Objects" msgstr "Objets ``SimpleQueue``" -#: library/queue.rst:219 +#: library/queue.rst:220 msgid "" ":class:`SimpleQueue` objects provide the public methods described below." msgstr "" "Les objets :class:`SimpleQueue` fournissent les méthodes publiques décrites " "ci-dessous." -#: library/queue.rst:223 +#: library/queue.rst:224 msgid "" "Return the approximate size of the queue. Note, qsize() > 0 doesn't " "guarantee that a subsequent get() will not block." @@ -357,7 +357,7 @@ msgstr "" "Renvoie la taille approximative de la file. Notez que ``qsize() > 0`` ne " "garantit pas qu'un ``get()`` ultérieur ne soit pas bloquant." -#: library/queue.rst:229 +#: library/queue.rst:230 msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " "returns ``False`` it doesn't guarantee that a subsequent call to get() will " @@ -367,7 +367,7 @@ msgstr "" "renvoie ``False``, cela ne garantit pas qu'un appel ultérieur à ``get()`` ne " "soit pas bloquant." -#: library/queue.rst:236 +#: library/queue.rst:237 msgid "" "Put *item* into the queue. The method never blocks and always succeeds " "(except for potential low-level errors such as failure to allocate memory). " @@ -379,7 +379,16 @@ msgstr "" "d'allocation de mémoire). Les arguments optionnels *block* et *timeout* sont " "ignorés et fournis uniquement pour la compatibilité avec :meth:`Queue.put`." -#: library/queue.rst:251 +#: library/queue.rst:243 +msgid "" +"This method has a C implementation which is reentrant. That is, a ``put()`` " +"or ``get()`` call can be interrupted by another ``put()`` call in the same " +"thread without deadlocking or corrupting internal state inside the queue. " +"This makes it appropriate for use in destructors such as ``__del__`` methods " +"or :mod:`weakref` callbacks." +msgstr "" + +#: library/queue.rst:252 #, fuzzy msgid "" "Equivalent to ``put(item, block=False)``, provided for compatibility with :" @@ -388,7 +397,7 @@ msgstr "" "Équivalent de ``put(item)``, fourni pour la compatibilité avec :meth:`Queue." "put_nowait`." -#: library/queue.rst:257 +#: library/queue.rst:258 msgid "" "Remove and return an item from the queue. If optional args *block* is true " "and *timeout* is ``None`` (the default), block if necessary until an item is " @@ -408,11 +417,11 @@ msgstr "" "Si ce n'est pas le cas, elle lève l'exception :exc:`Empty` (*timeout* est " "ignoré dans ce cas)." -#: library/queue.rst:274 +#: library/queue.rst:275 msgid "Class :class:`multiprocessing.Queue`" msgstr "Classe :class:`multiprocessing.Queue`" -#: library/queue.rst:273 +#: library/queue.rst:274 msgid "" "A queue class for use in a multi-processing (rather than multi-threading) " "context." @@ -420,7 +429,7 @@ msgstr "" "Une file à utiliser dans un contexte multi-processus (plutôt que *multi-" "thread*)." -#: library/queue.rst:276 +#: library/queue.rst:277 msgid "" ":class:`collections.deque` is an alternative implementation of unbounded " "queues with fast atomic :meth:`~collections.deque.append` and :meth:" diff --git a/library/random.po b/library/random.po index 6c281e6466..ccbb3c1773 100644 --- a/library/random.po +++ b/library/random.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-07-26 02:23+0200\n" "Last-Translator: Philippe GALVAN \n" "Language-Team: FRENCH \n" @@ -816,9 +816,10 @@ msgstr "" "la validation croisée." #: library/random.rst:548 +#, fuzzy msgid "" -"`Economics Simulation `_ a simulation of a marketplace by `Peter Norvig `_ a simulation of a marketplace by `Peter Norvig `_ that shows effective use of many of the tools and " "distributions provided by this module (gauss, uniform, sample, betavariate, " "choice, triangular, and randrange)." @@ -830,10 +831,11 @@ msgstr "" "*betavariate*, *choice*, *triangular*, et *randrange*)." #: library/random.rst:555 +#, fuzzy msgid "" -"`A Concrete Introduction to Probability (using Python) `_ a tutorial by `Peter " -"Norvig `_ covering the basics of probability " +"Norvig `_ covering the basics of probability " "theory, how to write simulations, and how to perform data analysis using " "Python." msgstr "" diff --git a/library/re.po b/library/re.po index 6a831318a7..b07afbec73 100644 --- a/library/re.po +++ b/library/re.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-07-08 17:52+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -217,7 +217,7 @@ msgstr "" msgid "The special characters are:" msgstr "Les caractères spéciaux sont :" -#: library/re.rst:1419 +#: library/re.rst:1432 msgid "``.``" msgstr "``.``" @@ -1207,7 +1207,11 @@ msgstr "" "complètes des expressions rationnelles compilées. La plupart des " "applications non triviales utilisent toujours la version compilée." -#: library/re.rst:605 +#: library/re.rst:607 +msgid "Flags" +msgstr "" + +#: library/re.rst:609 msgid "" "Flag constants are now instances of :class:`RegexFlag`, which is a subclass " "of :class:`enum.IntFlag`." @@ -1215,58 +1219,7 @@ msgstr "" "Les constantes d'options sont maintenant des instances de :class:" "`RegexFlag`, sous-classe de :class:`enum.IntFlag`." -#: library/re.rst:611 -msgid "" -"Compile a regular expression pattern into a :ref:`regular expression object " -"`, which can be used for matching using its :func:`~Pattern." -"match`, :func:`~Pattern.search` and other methods, described below." -msgstr "" -"Compile un motif vers une :ref:`expression rationnelle ` " -"compilée, dont les méthodes :func:`~Pattern.match` et :func:`~Pattern." -"search`, décrites ci-dessous, peuvent être utilisées pour analyser des " -"textes." - -#: library/re.rst:616 -msgid "" -"The expression's behaviour can be modified by specifying a *flags* value. " -"Values can be any of the following variables, combined using bitwise OR (the " -"``|`` operator)." -msgstr "" -"Le comportement des expressions peut être modifié en spécifiant une valeur " -"*flags*. Les valeurs sont comprises dans les variables suivantes, et peuvent " -"être combinées avec un *ou* bit-à-bit (opérateur ``|``)." - -#: library/re.rst:620 -msgid "The sequence ::" -msgstr "La séquence ::" - -#: library/re.rst:625 -msgid "is equivalent to ::" -msgstr "est équivalente à ::" - -#: library/re.rst:629 -msgid "" -"but using :func:`re.compile` and saving the resulting regular expression " -"object for reuse is more efficient when the expression will be used several " -"times in a single program." -msgstr "" -"mais utiliser :func:`re.compile` et sauvegarder l'expression rationnelle " -"renvoyée pour la réutiliser est plus efficace quand l'expression est amenée " -"à être utilisée plusieurs fois dans un même programme." - -#: library/re.rst:635 -msgid "" -"The compiled versions of the most recent patterns passed to :func:`re." -"compile` and the module-level matching functions are cached, so programs " -"that use only a few regular expressions at a time needn't worry about " -"compiling regular expressions." -msgstr "" -"Les versions compilées des motifs les plus récents passés à :func:`re." -"compile` et autres fonctions d'analyse du module sont mises en cache, ainsi " -"les programmes qui n'utilisent que quelques expressions rationnelles en même " -"temps n'ont pas à s'inquiéter de la compilation de ces expressions." - -#: library/re.rst:644 +#: library/re.rst:618 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and " "``\\S`` perform ASCII-only matching instead of full Unicode matching. This " @@ -1278,7 +1231,7 @@ msgstr "" "n'a du sens que pour les motifs Unicode, et est ignoré pour les motifs 8-" "bit. Correspond à l'option de groupe ``(?a)``." -#: library/re.rst:649 +#: library/re.rst:623 msgid "" "Note that for backward compatibility, the :const:`re.U` flag still exists " "(as well as its synonym :const:`re.UNICODE` and its embedded counterpart ``(?" @@ -1291,7 +1244,7 @@ msgstr "" "que l'analyse est faite en Unicode par défaut pour les chaînes de caractères " "(et que l'analyse Unicode n'est pas permise pour les chaînes 8-bit)." -#: library/re.rst:658 +#: library/re.rst:632 msgid "" "Display debug information about compiled expression. No corresponding inline " "flag." @@ -1299,7 +1252,7 @@ msgstr "" "Affiche des informations de débogage à propos de l'expression compilée. N'a " "pas d'option de groupe équivalente." -#: library/re.rst:665 +#: library/re.rst:639 msgid "" "Perform case-insensitive matching; expressions like ``[A-Z]`` will also " "match lowercase letters. Full Unicode matching (such as ``Ü`` matching " @@ -1315,7 +1268,7 @@ msgstr "" "que l'option :const:`re.LOCALE` n'est pas utilisée. Correspond au marqueur " "de groupe ``(?i)``." -#: library/re.rst:672 +#: library/re.rst:646 msgid "" "Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in " "combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII " @@ -1333,7 +1286,7 @@ msgstr "" "*Kelvin sign*). Si la constante :const:`ASCII` est utilisée, seuls les " "caractères 'a' à 'z' et 'A' à 'Z' seront concernés." -#: library/re.rst:683 +#: library/re.rst:657 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " "dependent on the current locale. This flag can be used only with bytes " @@ -1352,7 +1305,7 @@ msgstr "" "elle est capable de gérer plusieurs locales et langages. Correspond à " "l'option de groupe ``(?L)``." -#: library/re.rst:692 +#: library/re.rst:666 msgid "" ":const:`re.LOCALE` can be used only with bytes patterns and is not " "compatible with :const:`re.ASCII`." @@ -1360,7 +1313,7 @@ msgstr "" ":const:`re.LOCALE` ne peut être utilisée qu'avec les motifs 8-bit et n'est " "pas compatible avec :const:`re.ASCII`." -#: library/re.rst:696 +#: library/re.rst:670 msgid "" "Compiled regular expression objects with the :const:`re.LOCALE` flag no " "longer depend on the locale at compile time. Only the locale at matching " @@ -1370,7 +1323,7 @@ msgstr "" "LOCALE` ne dépendent plus de la *locale* au moment de la compilation. " "Seulement la *locale* au moment de la correspondance affecte le résultat." -#: library/re.rst:705 +#: library/re.rst:679 msgid "" "When specified, the pattern character ``'^'`` matches at the beginning of " "the string and at the beginning of each line (immediately following each " @@ -1388,7 +1341,7 @@ msgstr "" "immédiatement avant le saut de ligne (s'il y a) à la fin de la chaîne. " "Correspond à l'option de groupe ``(?m)``." -#: library/re.rst:717 +#: library/re.rst:691 msgid "" "Make the ``'.'`` special character match any character at all, including a " "newline; without this flag, ``'.'`` will match anything *except* a newline. " @@ -1398,16 +1351,18 @@ msgstr "" "de ligne ; sans cette option, ``'.'`` correspondrait à tout caractère à " "l'exception du saut de ligne. Correspond à l'option de groupe ``(?s)``." -#: library/re.rst:727 +#: library/re.rst:701 +#, fuzzy msgid "" "This flag allows you to write regular expressions that look nicer and are " "more readable by allowing you to visually separate logical sections of the " "pattern and add comments. Whitespace within the pattern is ignored, except " "when in a character class, or when preceded by an unescaped backslash, or " -"within tokens like ``*?``, ``(?:`` or ``(?P<...>``. When a line contains a " -"``#`` that is not in a character class and is not preceded by an unescaped " -"backslash, all characters from the leftmost such ``#`` through the end of " -"the line are ignored." +"within tokens like ``*?``, ``(?:`` or ``(?P<...>``. For example, ``(? :`` " +"and ``* ?`` are not allowed. When a line contains a ``#`` that is not in a " +"character class and is not preceded by an unescaped backslash, all " +"characters from the leftmost such ``#`` through the end of the line are " +"ignored." msgstr "" "Cette option vous autorise à écrire des expressions rationnelles qui " "présentent mieux et sont plus lisibles en vous permettant de séparer " @@ -1419,7 +1374,7 @@ msgstr "" "précédé d'un *backslash* non échappé, tous les caractères depuis le ``#`` le " "plus à gauche jusqu'à la fin de la ligne sont ignorés." -#: library/re.rst:736 +#: library/re.rst:711 msgid "" "This means that the two following regular expression objects that match a " "decimal number are functionally equal::" @@ -1427,11 +1382,66 @@ msgstr "" "Cela signifie que les deux expressions rationnelles suivantes qui valident " "un nombre décimal sont fonctionnellement égales ::" -#: library/re.rst:744 +#: library/re.rst:719 msgid "Corresponds to the inline flag ``(?x)``." msgstr "Correspond à l'option de groupe ``(?x)``." -#: library/re.rst:749 +#: library/re.rst:723 +msgid "Functions" +msgstr "" + +#: library/re.rst:727 +msgid "" +"Compile a regular expression pattern into a :ref:`regular expression object " +"`, which can be used for matching using its :func:`~Pattern." +"match`, :func:`~Pattern.search` and other methods, described below." +msgstr "" +"Compile un motif vers une :ref:`expression rationnelle ` " +"compilée, dont les méthodes :func:`~Pattern.match` et :func:`~Pattern." +"search`, décrites ci-dessous, peuvent être utilisées pour analyser des " +"textes." + +#: library/re.rst:732 +msgid "" +"The expression's behaviour can be modified by specifying a *flags* value. " +"Values can be any of the following variables, combined using bitwise OR (the " +"``|`` operator)." +msgstr "" +"Le comportement des expressions peut être modifié en spécifiant une valeur " +"*flags*. Les valeurs sont comprises dans les variables suivantes, et peuvent " +"être combinées avec un *ou* bit-à-bit (opérateur ``|``)." + +#: library/re.rst:736 +msgid "The sequence ::" +msgstr "La séquence ::" + +#: library/re.rst:741 +msgid "is equivalent to ::" +msgstr "est équivalente à ::" + +#: library/re.rst:745 +msgid "" +"but using :func:`re.compile` and saving the resulting regular expression " +"object for reuse is more efficient when the expression will be used several " +"times in a single program." +msgstr "" +"mais utiliser :func:`re.compile` et sauvegarder l'expression rationnelle " +"renvoyée pour la réutiliser est plus efficace quand l'expression est amenée " +"à être utilisée plusieurs fois dans un même programme." + +#: library/re.rst:751 +msgid "" +"The compiled versions of the most recent patterns passed to :func:`re." +"compile` and the module-level matching functions are cached, so programs " +"that use only a few regular expressions at a time needn't worry about " +"compiling regular expressions." +msgstr "" +"Les versions compilées des motifs les plus récents passés à :func:`re." +"compile` et autres fonctions d'analyse du module sont mises en cache, ainsi " +"les programmes qui n'utilisent que quelques expressions rationnelles en même " +"temps n'ont pas à s'inquiéter de la compilation de ces expressions." + +#: library/re.rst:759 msgid "" "Scan through *string* looking for the first location where the regular " "expression *pattern* produces a match, and return a corresponding :ref:" @@ -1445,7 +1455,7 @@ msgstr "" "dans la chaîne ne valide le motif ; notez que cela est différent de trouver " "une correspondance avec une chaîne vide à un certain endroit de la chaîne." -#: library/re.rst:758 +#: library/re.rst:768 msgid "" "If zero or more characters at the beginning of *string* match the regular " "expression *pattern*, return a corresponding :ref:`match object `. Return ``None`` if the " @@ -1486,7 +1496,7 @@ msgstr "" "Renvoie ``None`` si la chaîne ne correspond pas au motif ; notez que cela " "est différent d'une correspondance avec une chaîne vide." -#: library/re.rst:782 +#: library/re.rst:792 msgid "" "Split *string* by the occurrences of *pattern*. If capturing parentheses " "are used in *pattern*, then the text of all groups in the pattern are also " @@ -1500,7 +1510,7 @@ msgstr "" "différent de zéro, il ne pourra y avoir plus de *maxsplit* séparations, et " "le reste de la chaîne sera renvoyé comme le dernier élément de la liste. ::" -#: library/re.rst:797 +#: library/re.rst:807 msgid "" "If there are capturing groups in the separator and it matches at the start " "of the string, the result will start with an empty string. The same holds " @@ -1510,7 +1520,7 @@ msgstr "" "correspondance au début de la chaîne, le résultat commencera par une chaîne " "vide. La même chose se produit pour la fin de la chaîne ::" -#: library/re.rst:804 +#: library/re.rst:814 msgid "" "That way, separator components are always found at the same relative indices " "within the result list." @@ -1518,7 +1528,7 @@ msgstr "" "De cette manière, les séparateurs sont toujours trouvés aux mêmes indices " "relatifs dans la liste résultante." -#: library/re.rst:807 +#: library/re.rst:817 msgid "" "Empty matches for the pattern split the string only when not adjacent to a " "previous empty match." @@ -1527,18 +1537,18 @@ msgstr "" "seulement lorsqu'ils ne sont pas adjacents à une correspondance vide " "précédente." -#: library/re.rst:907 library/re.rst:931 +#: library/re.rst:917 library/re.rst:941 msgid "Added the optional flags argument." msgstr "ajout de l'argument optionnel *flags*." -#: library/re.rst:820 +#: library/re.rst:830 msgid "" "Added support of splitting on a pattern that could match an empty string." msgstr "" "Gestion du découpage avec un motif qui pourrait correspondre à une chaine de " "caractère vide." -#: library/re.rst:826 +#: library/re.rst:836 msgid "" "Return all non-overlapping matches of *pattern* in *string*, as a list of " "strings or tuples. The *string* is scanned left-to-right, and matches are " @@ -1550,7 +1560,7 @@ msgstr "" "correspondances sont données dans cet ordre. Le résultat peut contenir des " "correspondances vides." -#: library/re.rst:830 +#: library/re.rst:840 msgid "" "The result depends on the number of capturing groups in the pattern. If " "there are no groups, return a list of strings matching the whole pattern. " @@ -1567,13 +1577,13 @@ msgstr "" "groupes, le résultat est formé de *n*-uplets avec les sous-chaînes " "correspondant aux différents groupes." -#: library/re.rst:853 +#: library/re.rst:863 msgid "Non-empty matches can now start just after a previous empty match." msgstr "" "Les correspondances non vides peuvent maintenant démarrer juste après une " "correspondance vide précédente." -#: library/re.rst:848 +#: library/re.rst:858 msgid "" "Return an :term:`iterator` yielding :ref:`match objects ` " "over all non-overlapping matches for the RE *pattern* in *string*. The " @@ -1587,7 +1597,7 @@ msgstr "" "dans l'ordre où elles sont trouvées. Les correspondances vides sont inclues " "dans le résultat." -#: library/re.rst:859 +#: library/re.rst:869 msgid "" "Return the string obtained by replacing the leftmost non-overlapping " "occurrences of *pattern* in *string* by the replacement *repl*. If the " @@ -1612,7 +1622,7 @@ msgstr "" "arrières, telles que ``\\6``, sont remplacées par la sous-chaîne " "correspondant au groupe 6 dans le motif. Par exemple ::" -#: library/re.rst:875 +#: library/re.rst:885 msgid "" "If *repl* is a function, it is called for every non-overlapping occurrence " "of *pattern*. The function takes a single :ref:`match object `, et renvoie la chaîne de remplacement. " "Par exemple ::" -#: library/re.rst:887 +#: library/re.rst:897 msgid "The pattern may be a string or a :ref:`pattern object `." msgstr "" "Le motif peut être une chaîne de caractères ou un :ref:`objet expression " "rationnelle `." -#: library/re.rst:889 +#: library/re.rst:899 msgid "" "The optional argument *count* is the maximum number of pattern occurrences " "to be replaced; *count* must be a non-negative integer. If omitted or zero, " @@ -1644,7 +1654,7 @@ msgstr "" "précédente correspondance, ainsi ``sub('x*', '-', 'abxd')`` renvoie ``'-a-b--" "d-'``." -#: library/re.rst:897 +#: library/re.rst:907 msgid "" "In string-type *repl* arguments, in addition to the character escapes and " "backreferences described above, ``\\g`` will use the substring matched " @@ -1666,11 +1676,11 @@ msgstr "" "par un caractère littéral ``'0'``. La référence arrière ``\\g<0>`` est " "remplacée par la sous-chaîne entière validée par l'expression rationnelle." -#: library/re.rst:934 library/re.rst:1165 +#: library/re.rst:944 library/re.rst:1178 msgid "Unmatched groups are replaced with an empty string." msgstr "Les groupes sans correspondance sont remplacés par une chaîne vide." -#: library/re.rst:913 +#: library/re.rst:923 msgid "" "Unknown escapes in *pattern* consisting of ``'\\'`` and an ASCII letter now " "are errors." @@ -1678,7 +1688,7 @@ msgstr "" "Les séquences d'échappement inconnues dans *pattern* formées par ``'\\'`` et " "une lettre ASCII sont maintenant des erreurs." -#: library/re.rst:917 +#: library/re.rst:927 msgid "" "Unknown escapes in *repl* consisting of ``'\\'`` and an ASCII letter now are " "errors." @@ -1686,7 +1696,7 @@ msgstr "" "Les séquences d'échappement inconnues dans *repl* formées par ``'\\'`` et " "une lettre ASCII sont maintenant des erreurs." -#: library/re.rst:921 +#: library/re.rst:931 msgid "" "Empty matches for the pattern are replaced when adjacent to a previous non-" "empty match." @@ -1694,7 +1704,7 @@ msgstr "" "Les correspondances vides pour le motif sont remplacées lorsqu'elles sont " "adjacentes à une correspondance non vide précédente." -#: library/re.rst:928 +#: library/re.rst:938 msgid "" "Perform the same operation as :func:`sub`, but return a tuple ``(new_string, " "number_of_subs_made)``." @@ -1702,7 +1712,7 @@ msgstr "" "Réalise la même opération que :func:`sub`, mais renvoie une paire " "``(nouvelle_chaîne, nombre_de_substitutions_réalisées)``." -#: library/re.rst:940 +#: library/re.rst:950 msgid "" "Escape special characters in *pattern*. This is useful if you want to match " "an arbitrary literal string that may have regular expression metacharacters " @@ -1712,7 +1722,7 @@ msgstr "" "voulez valider une quelconque chaîne littérale qui pourrait contenir des " "métacaractères d'expressions rationnelles. Par exemple ::" -#: library/re.rst:955 +#: library/re.rst:965 msgid "" "This function must not be used for the replacement string in :func:`sub` " "and :func:`subn`, only backslashes should be escaped. For example::" @@ -1721,11 +1731,11 @@ msgstr "" "dans :func:`sub` et :func:`subn`, seuls les antislash devraient être " "échappés. Par exemple ::" -#: library/re.rst:963 +#: library/re.rst:973 msgid "The ``'_'`` character is no longer escaped." msgstr "Le caractère ``'_'`` n'est plus échappé." -#: library/re.rst:966 +#: library/re.rst:976 msgid "" "Only characters that can have special meaning in a regular expression are " "escaped. As a result, ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, " @@ -1737,11 +1747,15 @@ msgstr "" "``'%'``, ``\"'\"``, ``','``, ``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, " "``'>'``, ``'@'``, et ``\"`\"`` ne sont plus échappés." -#: library/re.rst:975 +#: library/re.rst:985 msgid "Clear the regular expression cache." msgstr "Vide le cache d'expressions rationnelles." -#: library/re.rst:980 +#: library/re.rst:989 +msgid "Exceptions" +msgstr "" + +#: library/re.rst:993 msgid "" "Exception raised when a string passed to one of the functions here is not a " "valid regular expression (for example, it might contain unmatched " @@ -1756,36 +1770,36 @@ msgstr "" "contient aucune correspondance pour un motif. Les instances de l'erreur ont " "les attributs additionnels suivants :" -#: library/re.rst:988 +#: library/re.rst:1001 msgid "The unformatted error message." msgstr "Le message d'erreur non formaté." -#: library/re.rst:992 +#: library/re.rst:1005 msgid "The regular expression pattern." msgstr "Le motif d'expression rationnelle." -#: library/re.rst:996 +#: library/re.rst:1009 msgid "The index in *pattern* where compilation failed (may be ``None``)." msgstr "" "L'index dans *pattern* où la compilation a échoué (peut valoir ``None``)." -#: library/re.rst:1000 +#: library/re.rst:1013 msgid "The line corresponding to *pos* (may be ``None``)." msgstr "La ligne correspondant à *pos* (peut valoir ``None``)." -#: library/re.rst:1004 +#: library/re.rst:1017 msgid "The column corresponding to *pos* (may be ``None``)." msgstr "La colonne correspondant à *pos* (peut valoir ``None``)." -#: library/re.rst:1006 +#: library/re.rst:1019 msgid "Added additional attributes." msgstr "Ajout des attributs additionnels." -#: library/re.rst:1012 +#: library/re.rst:1025 msgid "Regular Expression Objects" msgstr "Objets d'expressions rationnelles" -#: library/re.rst:1014 +#: library/re.rst:1027 msgid "" "Compiled regular expression objects support the following methods and " "attributes:" @@ -1793,7 +1807,7 @@ msgstr "" "Les expressions rationnelles compilées supportent les méthodes et attributs " "suivants :" -#: library/re.rst:1019 +#: library/re.rst:1032 msgid "" "Scan through *string* looking for the first location where this regular " "expression produces a match, and return a corresponding :ref:`match object " @@ -1807,7 +1821,7 @@ msgstr "" "dans la chaîne ne satisfait le motif ; notez que cela est différent que de " "trouver une correspondance vide dans la chaîne." -#: library/re.rst:1025 +#: library/re.rst:1038 msgid "" "The optional second parameter *pos* gives an index in the string where the " "search is to start; it defaults to ``0``. This is not completely equivalent " @@ -1821,7 +1835,7 @@ msgstr "" "``'^'`` correspond au début réel de la chaîne et aux positions juste après " "un saut de ligne, mais pas nécessairement à l'index où la recherche commence." -#: library/re.rst:1031 +#: library/re.rst:1044 msgid "" "The optional parameter *endpos* limits how far the string will be searched; " "it will be as if the string is *endpos* characters long, so only the " @@ -1838,7 +1852,7 @@ msgstr "" "expression rationnelle compilée, ``rx.search(string, 0, 50)`` est équivalent " "à ``rx.search(string[:50], 0)``. ::" -#: library/re.rst:1046 +#: library/re.rst:1059 msgid "" "If zero or more characters at the *beginning* of *string* match this regular " "expression, return a corresponding :ref:`match object `. " @@ -1850,7 +1864,7 @@ msgstr "" "objects>` trouvé. Renvoie ``None`` si la chaîne ne correspond pas au motif ; " "notez que cela est différent d'une correspondance vide." -#: library/re.rst:1069 +#: library/re.rst:1082 msgid "" "The optional *pos* and *endpos* parameters have the same meaning as for the :" "meth:`~Pattern.search` method. ::" @@ -1858,7 +1872,7 @@ msgstr "" "Les paramètres optionnels *pos* et *endpos* ont le même sens que pour la " "méthode :meth:`~Pattern.search`. ::" -#: library/re.rst:1059 +#: library/re.rst:1072 msgid "" "If you want to locate a match anywhere in *string*, use :meth:`~Pattern." "search` instead (see also :ref:`search-vs-match`)." @@ -1866,7 +1880,7 @@ msgstr "" "Si vous voulez une recherche n'importe où dans *string*, utilisez plutôt :" "meth:`~Pattern.search` (voir aussi :ref:`search-vs-match`)." -#: library/re.rst:1065 +#: library/re.rst:1078 msgid "" "If the whole *string* matches this regular expression, return a " "corresponding :ref:`match object `. Return ``None`` if the " @@ -1878,11 +1892,11 @@ msgstr "" "la chaîne ne correspond pas au motif ; notez que cela est différent d'une " "correspondance vide." -#: library/re.rst:1083 +#: library/re.rst:1096 msgid "Identical to the :func:`split` function, using the compiled pattern." msgstr "Identique à la fonction :func:`split`, en utilisant le motif compilé." -#: library/re.rst:1088 +#: library/re.rst:1101 msgid "" "Similar to the :func:`findall` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -1892,7 +1906,7 @@ msgstr "" "accepte aussi des paramètres *pos* et *endpos* optionnels qui limitent la " "région de recherche comme pour :meth:`search`." -#: library/re.rst:1095 +#: library/re.rst:1108 msgid "" "Similar to the :func:`finditer` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -1902,15 +1916,15 @@ msgstr "" "mais accepte aussi des paramètres *pos* et *endpos* optionnels qui limitent " "la région de recherche comme pour :meth:`search`." -#: library/re.rst:1102 +#: library/re.rst:1115 msgid "Identical to the :func:`sub` function, using the compiled pattern." msgstr "Identique à la fonction :func:`sub`, en utilisant le motif compilé." -#: library/re.rst:1107 +#: library/re.rst:1120 msgid "Identical to the :func:`subn` function, using the compiled pattern." msgstr "Identique à la fonction :func:`subn`, en utilisant le motif compilé." -#: library/re.rst:1112 +#: library/re.rst:1125 msgid "" "The regex matching flags. This is a combination of the flags given to :func:" "`.compile`, any ``(?...)`` inline flags in the pattern, and implicit flags " @@ -1921,11 +1935,11 @@ msgstr "" "``(?...)`` dans le motif, et des options implicites comme :data:`UNICODE` si " "le motif est une chaîne Unicode." -#: library/re.rst:1119 +#: library/re.rst:1132 msgid "The number of capturing groups in the pattern." msgstr "Le nombre de groupes de capture dans le motif." -#: library/re.rst:1124 +#: library/re.rst:1137 msgid "" "A dictionary mapping any symbolic group names defined by ``(?P)`` to " "group numbers. The dictionary is empty if no symbolic groups were used in " @@ -1935,11 +1949,11 @@ msgstr "" "P)`` aux groupes numérotés. Le dictionnaire est vide si aucun groupe " "symbolique n'est utilisé dans le motif." -#: library/re.rst:1131 +#: library/re.rst:1144 msgid "The pattern string from which the pattern object was compiled." msgstr "La chaîne de motif depuis laquelle l'objet motif a été compilé." -#: library/re.rst:1134 +#: library/re.rst:1147 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Compiled " "regular expression objects are considered atomic." @@ -1947,11 +1961,11 @@ msgstr "" "Ajout du support des fonctions :func:`copy.copy` et :func:`copy.deepcopy`. " "Les expressions régulières compilées sont considérées atomiques." -#: library/re.rst:1142 +#: library/re.rst:1155 msgid "Match Objects" msgstr "Objets de correspondance" -#: library/re.rst:1144 +#: library/re.rst:1157 msgid "" "Match objects always have a boolean value of ``True``. Since :meth:`~Pattern." "match` and :meth:`~Pattern.search` return ``None`` when there is no match, " @@ -1962,12 +1976,12 @@ msgstr "" "quand il n'y a pas de correspondance, vous pouvez tester s'il y a eu " "correspondance avec une simple instruction ``if`` ::" -#: library/re.rst:1153 +#: library/re.rst:1166 msgid "Match objects support the following methods and attributes:" msgstr "" "Les objets de correspondance supportent les méthodes et attributs suivants :" -#: library/re.rst:1158 +#: library/re.rst:1171 msgid "" "Return the string obtained by doing backslash substitution on the template " "string *template*, as done by the :meth:`~Pattern.sub` method. Escapes such " @@ -1982,7 +1996,7 @@ msgstr "" "(``\\g<1>``, ``\\g``) sont remplacées par les contenus des groupes " "correspondant." -#: library/re.rst:1170 +#: library/re.rst:1183 msgid "" "Returns one or more subgroups of the match. If there is a single argument, " "the result is a single string; if there are multiple arguments, the result " @@ -2009,7 +2023,7 @@ msgstr "" "sera ``None``. Si un groupe est contenu dans une partie du motif qui a " "plusieurs correspondances, seule la dernière correspondance est renvoyée. ::" -#: library/re.rst:1192 +#: library/re.rst:1205 msgid "" "If the regular expression uses the ``(?P...)`` syntax, the *groupN* " "arguments may also be strings identifying groups by their group name. If a " @@ -2021,20 +2035,20 @@ msgstr "" "groupes par leurs noms. Si une chaîne donnée en argument n'est pas utilisée " "comme nom de groupe dans le motif, une exception :exc:`IndexError` est levée." -#: library/re.rst:1197 +#: library/re.rst:1210 msgid "A moderately complicated example::" msgstr "Un exemple modérément compliqué ::" -#: library/re.rst:1205 +#: library/re.rst:1218 msgid "Named groups can also be referred to by their index::" msgstr "Les groupes nommés peuvent aussi être référencés par leur index ::" -#: library/re.rst:1212 +#: library/re.rst:1225 msgid "If a group matches multiple times, only the last match is accessible::" msgstr "" "Si un groupe a plusieurs correspondances, seule la dernière est accessible ::" -#: library/re.rst:1221 +#: library/re.rst:1234 msgid "" "This is identical to ``m.group(g)``. This allows easier access to an " "individual group from a match::" @@ -2042,7 +2056,7 @@ msgstr "" "Cela est identique à ``m.group(g)``. Cela permet un accès plus facile à un " "groupe individuel depuis une correspondance ::" -#: library/re.rst:1237 +#: library/re.rst:1250 msgid "" "Return a tuple containing all the subgroups of the match, from 1 up to " "however many groups are in the pattern. The *default* argument is used for " @@ -2052,11 +2066,11 @@ msgstr "" "de 1 jusqu'au nombre de groupes dans le motif. L'argument *default* est " "utilisé pour les groupes sans correspondance ; il vaut ``None`` par défaut." -#: library/re.rst:1463 +#: library/re.rst:1476 msgid "For example::" msgstr "Par exemple ::" -#: library/re.rst:1247 +#: library/re.rst:1260 msgid "" "If we make the decimal place and everything after it optional, not all " "groups might participate in the match. These groups will default to " @@ -2067,7 +2081,7 @@ msgstr "" "correspondance vaudront ``None`` sauf si une autre valeur est donnée à " "l'argument *default* ::" -#: library/re.rst:1260 +#: library/re.rst:1273 msgid "" "Return a dictionary containing all the *named* subgroups of the match, keyed " "by the subgroup name. The *default* argument is used for groups that did " @@ -2078,7 +2092,7 @@ msgstr "" "utilisé pour les groupes qui ne figurent pas dans la correspondance ; il " "vaut ``None`` par défaut. Par exemple ::" -#: library/re.rst:1272 +#: library/re.rst:1285 msgid "" "Return the indices of the start and end of the substring matched by *group*; " "*group* defaults to zero (meaning the whole matched substring). Return " @@ -2093,7 +2107,7 @@ msgstr "" "groupe *g* qui y figure, la sous-chaîne correspondant au groupe *g* " "(équivalente à ``m.group(g)``) est ::" -#: library/re.rst:1280 +#: library/re.rst:1293 msgid "" "Note that ``m.start(group)`` will equal ``m.end(group)`` if *group* matched " "a null string. For example, after ``m = re.search('b(c?)', 'cba')``, ``m." @@ -2106,11 +2120,11 @@ msgstr "" "end(1)`` valent tous deux 2, et ``m.start(2)`` lève une exception :exc:" "`IndexError`." -#: library/re.rst:1285 +#: library/re.rst:1298 msgid "An example that will remove *remove_this* from email addresses::" msgstr "Un exemple qui supprimera *remove_this* d'une adresse mail ::" -#: library/re.rst:1295 +#: library/re.rst:1308 msgid "" "For a match *m*, return the 2-tuple ``(m.start(group), m.end(group))``. Note " "that if *group* did not contribute to the match, this is ``(-1, -1)``. " @@ -2121,7 +2135,7 @@ msgstr "" "``(-1, -1)`` est renvoyé. *group* vaut par défaut zéro, pour la " "correspondance entière." -#: library/re.rst:1302 +#: library/re.rst:1315 msgid "" "The value of *pos* which was passed to the :meth:`~Pattern.search` or :meth:" "`~Pattern.match` method of a :ref:`regex object `. This is the " @@ -2132,7 +2146,7 @@ msgstr "" "objects>`. C'est l'index dans la chaîne à partir duquel le moteur " "d'expressions rationnelles recherche une correspondance." -#: library/re.rst:1309 +#: library/re.rst:1322 msgid "" "The value of *endpos* which was passed to the :meth:`~Pattern.search` or :" "meth:`~Pattern.match` method of a :ref:`regex object `. This is " @@ -2143,7 +2157,7 @@ msgstr "" "objects>`. C'est l'index dans la chaîne que le moteur d'expressions " "rationnelles ne dépassera pas." -#: library/re.rst:1316 +#: library/re.rst:1329 msgid "" "The integer index of the last matched capturing group, or ``None`` if no " "group was matched at all. For example, the expressions ``(a)b``, ``((a)" @@ -2157,7 +2171,7 @@ msgstr "" "``'ab'``, alors que l'expression ``(a)(b)`` aura un ``lastindex == 2`` si " "appliquée à la même chaîne." -#: library/re.rst:1325 +#: library/re.rst:1338 msgid "" "The name of the last matched capturing group, or ``None`` if the group " "didn't have a name, or if no group was matched at all." @@ -2165,7 +2179,7 @@ msgstr "" "Le nom du dernier groupe capturant validé, ou ``None`` si le groupe n'a pas " "de nom, ou si aucun groupe ne correspondait." -#: library/re.rst:1331 +#: library/re.rst:1344 msgid "" "The :ref:`regular expression object ` whose :meth:`~Pattern." "match` or :meth:`~Pattern.search` method produced this match instance." @@ -2173,11 +2187,11 @@ msgstr "" ":ref:`L'expression rationnelle ` dont la méthode :meth:`~Pattern." "match` ou :meth:`~Pattern.search` a produit cet objet de correspondance." -#: library/re.rst:1337 +#: library/re.rst:1350 msgid "The string passed to :meth:`~Pattern.match` or :meth:`~Pattern.search`." msgstr "La chaîne passée à :meth:`~Pattern.match` ou :meth:`~Pattern.search`." -#: library/re.rst:1340 +#: library/re.rst:1353 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Match objects " "are considered atomic." @@ -2185,15 +2199,15 @@ msgstr "" "Ajout du support des fonctions :func:`copy.copy` et :func:`copy.deepcopy`. " "Les objets correspondants sont considérés atomiques." -#: library/re.rst:1348 +#: library/re.rst:1361 msgid "Regular Expression Examples" msgstr "Exemples d'expressions rationnelles" -#: library/re.rst:1352 +#: library/re.rst:1365 msgid "Checking for a Pair" msgstr "Rechercher une paire" -#: library/re.rst:1354 +#: library/re.rst:1367 msgid "" "In this example, we'll use the following helper function to display match " "objects a little more gracefully::" @@ -2201,7 +2215,7 @@ msgstr "" "Dans cet exemple, nous nous aidons de la fonction suivante pour afficher de " "manière plus jolie les objets qui correspondent ::" -#: library/re.rst:1362 +#: library/re.rst:1375 msgid "" "Suppose you are writing a poker program where a player's hand is represented " "as a 5-character string with each character representing a card, \"a\" for " @@ -2215,13 +2229,13 @@ msgstr "" "(*ten*), et les caractères de « 2 » à « 9 » représentant les cartes avec ces " "valeurs." -#: library/re.rst:1367 +#: library/re.rst:1380 msgid "To see if a given string is a valid hand, one could do the following::" msgstr "" "Pour vérifier qu'une chaîne donnée est une main valide, on pourrait faire " "comme suit ::" -#: library/re.rst:1377 +#: library/re.rst:1390 msgid "" "That last hand, ``\"727ak\"``, contained a pair, or two of the same valued " "cards. To match this with a regular expression, one could use backreferences " @@ -2231,7 +2245,7 @@ msgstr "" "valeur. Pour valider cela avec une expression rationnelle, on pourrait " "utiliser des références arrière comme ::" -#: library/re.rst:1387 +#: library/re.rst:1400 msgid "" "To find out what card the pair consists of, one could use the :meth:`~Match." "group` method of the match object in the following manner::" @@ -2240,11 +2254,11 @@ msgstr "" "méthode :meth:`~Match.group` de l'objet de correspondance de la manière " "suivante ::" -#: library/re.rst:1406 +#: library/re.rst:1419 msgid "Simulating scanf()" msgstr "Simuler *scanf()*" -#: library/re.rst:1410 +#: library/re.rst:1423 msgid "" "Python does not currently have an equivalent to :c:func:`scanf`. Regular " "expressions are generally more powerful, though also more verbose, than :c:" @@ -2258,100 +2272,100 @@ msgstr "" "suivant présente des expressions rationnelles plus ou moins équivalentes aux " "éléments de formats de :c:func:`scanf`." -#: library/re.rst:1417 +#: library/re.rst:1430 msgid ":c:func:`scanf` Token" msgstr "Élément de :c:func:`scanf`" -#: library/re.rst:1417 +#: library/re.rst:1430 msgid "Regular Expression" msgstr "Expression rationnelle" -#: library/re.rst:1419 +#: library/re.rst:1432 msgid "``%c``" msgstr "``%c``" -#: library/re.rst:1421 +#: library/re.rst:1434 msgid "``%5c``" msgstr "``%5c``" -#: library/re.rst:1421 +#: library/re.rst:1434 msgid "``.{5}``" msgstr "``.{5}``" -#: library/re.rst:1423 +#: library/re.rst:1436 msgid "``%d``" msgstr "``%d``" -#: library/re.rst:1423 +#: library/re.rst:1436 msgid "``[-+]?\\d+``" msgstr "``[-+]?\\d+``" -#: library/re.rst:1425 +#: library/re.rst:1438 msgid "``%e``, ``%E``, ``%f``, ``%g``" msgstr "``%e``, ``%E``, ``%f``, ``%g``" -#: library/re.rst:1425 +#: library/re.rst:1438 msgid "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" msgstr "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" -#: library/re.rst:1427 +#: library/re.rst:1440 msgid "``%i``" msgstr "``%i``" -#: library/re.rst:1427 +#: library/re.rst:1440 msgid "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" msgstr "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" -#: library/re.rst:1429 +#: library/re.rst:1442 msgid "``%o``" msgstr "``%o``" -#: library/re.rst:1429 +#: library/re.rst:1442 msgid "``[-+]?[0-7]+``" msgstr "``[-+]?[0-7]+``" -#: library/re.rst:1431 +#: library/re.rst:1444 msgid "``%s``" msgstr "``%s``" -#: library/re.rst:1431 +#: library/re.rst:1444 msgid "``\\S+``" msgstr "``\\S+``" -#: library/re.rst:1433 +#: library/re.rst:1446 msgid "``%u``" msgstr "``%u``" -#: library/re.rst:1433 +#: library/re.rst:1446 msgid "``\\d+``" msgstr "``\\d+``" -#: library/re.rst:1435 +#: library/re.rst:1448 msgid "``%x``, ``%X``" msgstr "``%x``, ``%X``" -#: library/re.rst:1435 +#: library/re.rst:1448 msgid "``[-+]?(0[xX])?[\\dA-Fa-f]+``" msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``" -#: library/re.rst:1438 +#: library/re.rst:1451 msgid "To extract the filename and numbers from a string like ::" msgstr "" "Pour extraire le nom de fichier et les nombres depuis une chaîne comme ::" -#: library/re.rst:1442 +#: library/re.rst:1455 msgid "you would use a :c:func:`scanf` format like ::" msgstr "vous utiliseriez un format :c:func:`scanf` comme ::" -#: library/re.rst:1446 +#: library/re.rst:1459 msgid "The equivalent regular expression would be ::" msgstr "L'expression rationnelle équivalente serait ::" -#: library/re.rst:1454 +#: library/re.rst:1467 msgid "search() vs. match()" msgstr "search() vs. match()" -#: library/re.rst:1458 +#: library/re.rst:1471 msgid "" "Python offers two different primitive operations based on regular " "expressions: :func:`re.match` checks for a match only at the beginning of " @@ -2363,7 +2377,7 @@ msgstr "" "début de la chaîne, tandis que :func:`re.search` en recherche une n'importe " "où dans la chaîne (ce que fait Perl par défaut)." -#: library/re.rst:1469 +#: library/re.rst:1482 msgid "" "Regular expressions beginning with ``'^'`` can be used with :func:`search` " "to restrict the match at the beginning of the string::" @@ -2371,7 +2385,7 @@ msgstr "" "Les expressions rationnelles commençant par ``'^'`` peuvent être utilisées " "avec :func:`search` pour restreindre la recherche au début de la chaîne ::" -#: library/re.rst:1477 +#: library/re.rst:1490 msgid "" "Note however that in :const:`MULTILINE` mode :func:`match` only matches at " "the beginning of the string, whereas using :func:`search` with a regular " @@ -2382,11 +2396,11 @@ msgstr "" "qu'au début de la chaîne, alors que :func:`search` avec une expression " "rationnelle commençant par ``'^'`` recherchera au début de chaque ligne. ::" -#: library/re.rst:1487 +#: library/re.rst:1500 msgid "Making a Phonebook" msgstr "Construire un répertoire téléphonique" -#: library/re.rst:1489 +#: library/re.rst:1502 msgid "" ":func:`split` splits a string into a list delimited by the passed pattern. " "The method is invaluable for converting textual data into data structures " @@ -2398,7 +2412,7 @@ msgstr "" "structures de données qui peuvent être lues et modifiées par Python comme " "démontré dans l'exemple suivant qui crée un répertoire téléphonique." -#: library/re.rst:1494 +#: library/re.rst:1507 msgid "" "First, here is the input. Normally it may come from a file, here we are " "using triple-quoted string syntax" @@ -2406,7 +2420,7 @@ msgstr "" "Tout d'abord, voici l'entrée. Elle provient normalement d'un fichier, nous " "utilisons ici une chaîne à guillemets triples" -#: library/re.rst:1507 +#: library/re.rst:1520 msgid "" "The entries are separated by one or more newlines. Now we convert the string " "into a list with each nonempty line having its own entry:" @@ -2415,7 +2429,7 @@ msgstr "" "maintenant la chaîne en une liste où chaque ligne non vide aura sa propre " "entrée :" -#: library/re.rst:1520 +#: library/re.rst:1533 msgid "" "Finally, split each entry into a list with first name, last name, telephone " "number, and address. We use the ``maxsplit`` parameter of :func:`split` " @@ -2426,7 +2440,7 @@ msgstr "" "`split` parce que l'adresse contient des espaces, qui sont notre motif de " "séparation :" -#: library/re.rst:1533 +#: library/re.rst:1546 msgid "" "The ``:?`` pattern matches the colon after the last name, so that it does " "not occur in the result list. With a ``maxsplit`` of ``4``, we could " @@ -2436,11 +2450,11 @@ msgstr "" "qu'ils n'apparaissent pas dans la liste résultante. Avec un ``maxsplit`` de " "``4``, nous pourrions séparer le numéro du nom de la rue :" -#: library/re.rst:1548 +#: library/re.rst:1561 msgid "Text Munging" msgstr "Mélanger les lettres des mots" -#: library/re.rst:1550 +#: library/re.rst:1563 msgid "" ":func:`sub` replaces every occurrence of a pattern with a string or the " "result of a function. This example demonstrates using :func:`sub` with a " @@ -2452,11 +2466,11 @@ msgstr "" "avec une fonction qui mélange aléatoirement les caractères de chaque mot " "dans une phrase (à l'exception des premiers et derniers caractères) ::" -#: library/re.rst:1567 +#: library/re.rst:1580 msgid "Finding all Adverbs" msgstr "Trouver tous les adverbes" -#: library/re.rst:1569 +#: library/re.rst:1582 msgid "" ":func:`findall` matches *all* occurrences of a pattern, not just the first " "one as :func:`search` does. For example, if a writer wanted to find all of " @@ -2468,11 +2482,11 @@ msgstr "" "voulait trouver tous les adverbes dans un texte, il/elle devrait utiliser :" "func:`findall` de la manière suivante ::" -#: library/re.rst:1580 +#: library/re.rst:1593 msgid "Finding all Adverbs and their Positions" msgstr "Trouver tous les adverbes et leurs positions" -#: library/re.rst:1582 +#: library/re.rst:1595 msgid "" "If one wants more information about all matches of a pattern than the " "matched text, :func:`finditer` is useful as it provides :ref:`match objects " @@ -2487,11 +2501,11 @@ msgstr "" "leurs positions* dans un texte, il/elle utiliserait :func:`finditer` de la " "manière suivante ::" -#: library/re.rst:1596 +#: library/re.rst:1609 msgid "Raw String Notation" msgstr "Notation brutes de chaînes" -#: library/re.rst:1598 +#: library/re.rst:1611 msgid "" "Raw string notation (``r\"text\"``) keeps regular expressions sane. Without " "it, every backslash (``'\\'``) in a regular expression would have to be " @@ -2504,7 +2518,7 @@ msgstr "" "Par exemple, les deux lignes de code suivantes sont fonctionnellement " "identiques ::" -#: library/re.rst:1608 +#: library/re.rst:1621 msgid "" "When one wants to match a literal backslash, it must be escaped in the " "regular expression. With raw string notation, this means ``r\"\\\\\"``. " @@ -2516,11 +2530,11 @@ msgstr "" "\"``. Sans elle, il faudrait utiliser ``\"\\\\\\\\\"``, faisant que les " "deux lignes de code suivantes sont fonctionnellement identiques ::" -#: library/re.rst:1620 +#: library/re.rst:1633 msgid "Writing a Tokenizer" msgstr "Écrire un analyseur lexical" -#: library/re.rst:1622 +#: library/re.rst:1635 msgid "" "A `tokenizer or scanner `_ " "analyzes a string to categorize groups of characters. This is a useful " @@ -2531,7 +2545,7 @@ msgstr "" "caractères. C'est une première étape utile dans l'écriture d'un compilateur " "ou d'un interpréteur." -#: library/re.rst:1626 +#: library/re.rst:1639 msgid "" "The text categories are specified with regular expressions. The technique " "is to combine those into a single master regular expression and to loop over " @@ -2541,11 +2555,11 @@ msgstr "" "La technique est de les combiner dans une unique expression rationnelle " "maîtresse, et de boucler sur les correspondances successives ::" -#: library/re.rst:1682 +#: library/re.rst:1695 msgid "The tokenizer produces the following output::" msgstr "L'analyseur produit la sortie suivante ::" -#: library/re.rst:1705 +#: library/re.rst:1718 msgid "" "Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O'Reilly Media, " "2009. The third edition of the book no longer covers Python at all, but the " diff --git a/library/readline.po b/library/readline.po index 5aa33b3d44..65f7d5a236 100644 --- a/library/readline.po +++ b/library/readline.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-12-13 14:14+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -284,6 +284,12 @@ msgstr "" "l'historique automatique, et qui lorsqu'elle est fausse, désactive " "l'historique automatique." +#: library/readline.rst:188 +msgid "" +"Auto history is enabled by default, and changes to this do not persist " +"across multiple sessions." +msgstr "" + #: library/readline.rst:193 msgid "Startup hooks" msgstr "Fonctions de rappel au démarrage" diff --git a/library/secrets.po b/library/secrets.po index e93f71eb6d..564323ca40 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-01 16:00+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-09-16 15:20+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -73,7 +73,8 @@ msgstr "" "class:`random.SystemRandom` pour plus de détails." #: library/secrets.rst:47 -msgid "Return a randomly-chosen element from a non-empty sequence." +#, fuzzy +msgid "Return a randomly chosen element from a non-empty sequence." msgstr "Renvoie un élément choisi aléatoirement dans une séquence non-vide." #: library/secrets.rst:51 @@ -185,11 +186,12 @@ msgid "Other functions" msgstr "Autres fonctions" #: library/secrets.rst:131 +#, fuzzy msgid "" -"Return ``True`` if strings *a* and *b* are equal, otherwise ``False``, in " -"such a way as to reduce the risk of `timing attacks `_. See :func:`hmac.compare_digest` for additional " -"details." +"Return ``True`` if strings *a* and *b* are equal, otherwise ``False``, using " +"a \"constant-time compare\" to reduce the risk of `timing attacks `_. See :func:`hmac.compare_digest` " +"for additional details." msgstr "" "Renvoie ``True`` si les chaînes *a* et *b* sont égales et ``False`` sinon, " "d'une manière permettant de réduire le risque d'`attaque temporelle `_, whether plain text or encrypted. " -"They should be salted and hashed using a cryptographically-strong one-way " -"(irreversible) hash function." +"Applications should not `store passwords in a recoverable format `_, whether plain text or " +"encrypted. They should be salted and hashed using a cryptographically " +"strong one-way (irreversible) hash function." msgstr "" "Les applications ne doivent jamais `stocker des mots de passe dans un format " "permettant leur récupération \n" "Language-Team: FRENCH \n" @@ -42,7 +42,8 @@ msgstr "" #: library/security_warnings.rst:16 msgid "" ":mod:`http.server` is not suitable for production use, only implementing " -"basic security checks" +"basic security checks. See the :ref:`security considerations `." msgstr "" #: library/security_warnings.rst:18 diff --git a/library/select.po b/library/select.po index a49345cc06..085ed91830 100644 --- a/library/select.po +++ b/library/select.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -81,7 +81,7 @@ msgstr "" #: library/select.rst:62 msgid "" "*sizehint* informs epoll about the expected number of events to be " -"registered. It must be positive, or `-1` to use the default. It is only " +"registered. It must be positive, or ``-1`` to use the default. It is only " "used on older systems where :c:func:`epoll_create1` is not available; " "otherwise it has no effect (though its value is still checked)." msgstr "" @@ -294,7 +294,7 @@ msgstr "" #: library/select.rst:255 msgid "" -"Polls the set of registered file descriptors, and returns a possibly-empty " +"Polls the set of registered file descriptors, and returns a possibly empty " "list containing ``(fd, event)`` 2-tuples for the descriptors that have " "events or errors to report. *fd* is the file descriptor, and *event* is a " "bitmask with bits set for the reported events for that descriptor --- :const:" @@ -593,7 +593,7 @@ msgstr "" #: library/select.rst:443 msgid "" -"Polls the set of registered file descriptors, and returns a possibly-empty " +"Polls the set of registered file descriptors, and returns a possibly empty " "list containing ``(fd, event)`` 2-tuples for the descriptors that have " "events or errors to report. *fd* is the file descriptor, and *event* is a " "bitmask with bits set for the reported events for that descriptor --- :const:" diff --git a/library/shutil.po b/library/shutil.po index d139e2b452..62a869e3c3 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-11-29 18:26+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -306,7 +306,7 @@ msgstr "" #: library/shutil.rst:195 msgid "" "When *follow_symlinks* is false, and *src* is a symbolic link, :func:`copy2` " -"attempts to copy all metadata from the *src* symbolic link to the newly-" +"attempts to copy all metadata from the *src* symbolic link to the newly " "created *dst* symbolic link. However, this functionality is not available on " "all platforms. On platforms where some or all of this functionality is " "unavailable, :func:`copy2` will preserve all the metadata it can; :func:" @@ -757,10 +757,13 @@ msgid "" msgstr "" #: library/shutil.rst:571 -msgid "This function is not thread-safe." +msgid "" +"This function is not thread-safe when custom archivers registered with :func:" +"`register_archive_format` are used. In this case it temporarily changes the " +"current working directory of the process to perform archiving." msgstr "" -#: library/shutil.rst:573 +#: library/shutil.rst:576 msgid "" "The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " "format for archives created with ``format=\"tar\"``." @@ -768,46 +771,52 @@ msgstr "" #: library/shutil.rst:580 msgid "" +"This function is now made thread-safe during creation of standard ``.zip`` " +"and tar archives." +msgstr "" + +#: library/shutil.rst:586 +msgid "" "Return a list of supported formats for archiving. Each element of the " "returned sequence is a tuple ``(name, description)``." msgstr "" -#: library/shutil.rst:671 +#: library/shutil.rst:677 msgid "By default :mod:`shutil` provides these formats:" msgstr "" -#: library/shutil.rst:585 +#: library/shutil.rst:591 msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." msgstr "" -#: library/shutil.rst:586 +#: library/shutil.rst:592 msgid "" "*tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives." msgstr "" -#: library/shutil.rst:676 +#: library/shutil.rst:682 msgid "*gztar*: gzip'ed tar-file (if the :mod:`zlib` module is available)." msgstr "" -#: library/shutil.rst:677 +#: library/shutil.rst:683 msgid "*bztar*: bzip2'ed tar-file (if the :mod:`bz2` module is available)." msgstr "" -#: library/shutil.rst:678 +#: library/shutil.rst:684 msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." msgstr "" -#: library/shutil.rst:591 +#: library/shutil.rst:597 msgid "" "You can register new formats or provide your own archiver for any existing " "formats, by using :func:`register_archive_format`." msgstr "" -#: library/shutil.rst:597 +#: library/shutil.rst:603 msgid "Register an archiver for the format *name*." msgstr "" -#: library/shutil.rst:599 +#: library/shutil.rst:605 msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive the *base_name* of the file to create, followed by the " @@ -816,33 +825,33 @@ msgid "" "*dry_run* and *logger* (as passed in :func:`make_archive`)." msgstr "" -#: library/shutil.rst:605 +#: library/shutil.rst:611 msgid "" "If given, *extra_args* is a sequence of ``(name, value)`` pairs that will be " "used as extra keywords arguments when the archiver callable is used." msgstr "" -#: library/shutil.rst:608 +#: library/shutil.rst:614 msgid "" "*description* is used by :func:`get_archive_formats` which returns the list " "of archivers. Defaults to an empty string." msgstr "" -#: library/shutil.rst:614 +#: library/shutil.rst:620 msgid "Remove the archive format *name* from the list of supported formats." msgstr "" -#: library/shutil.rst:619 +#: library/shutil.rst:625 msgid "Unpack an archive. *filename* is the full path of the archive." msgstr "" -#: library/shutil.rst:621 +#: library/shutil.rst:627 msgid "" "*extract_dir* is the name of the target directory where the archive is " "unpacked. If not provided, the current working directory is used." msgstr "" -#: library/shutil.rst:624 +#: library/shutil.rst:630 msgid "" "*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", " "\"bztar\", or \"xztar\". Or any other format registered with :func:" @@ -851,13 +860,13 @@ msgid "" "that extension. In case none is found, a :exc:`ValueError` is raised." msgstr "" -#: library/shutil.rst:631 +#: library/shutil.rst:637 msgid "" "Raises an :ref:`auditing event ` ``shutil.unpack_archive`` with " "arguments ``filename``, ``extract_dir``, ``format``." msgstr "" -#: library/shutil.rst:635 +#: library/shutil.rst:641 msgid "" "Never extract archives from untrusted sources without prior inspection. It " "is possible that files are created outside of the path specified in the " @@ -865,120 +874,120 @@ msgid "" "with \"/\" or filenames with two dots \"..\"." msgstr "" -#: library/shutil.rst:640 +#: library/shutil.rst:646 msgid "Accepts a :term:`path-like object` for *filename* and *extract_dir*." msgstr "" -#: library/shutil.rst:645 +#: library/shutil.rst:651 msgid "" "Registers an unpack format. *name* is the name of the format and " "*extensions* is a list of extensions corresponding to the format, like ``." "zip`` for Zip files." msgstr "" -#: library/shutil.rst:649 +#: library/shutil.rst:655 msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive the path of the archive, followed by the directory the " "archive must be extracted to." msgstr "" -#: library/shutil.rst:653 +#: library/shutil.rst:659 msgid "" "When provided, *extra_args* is a sequence of ``(name, value)`` tuples that " "will be passed as keywords arguments to the callable." msgstr "" -#: library/shutil.rst:656 +#: library/shutil.rst:662 msgid "" "*description* can be provided to describe the format, and will be returned " "by the :func:`get_unpack_formats` function." msgstr "" -#: library/shutil.rst:662 +#: library/shutil.rst:668 msgid "Unregister an unpack format. *name* is the name of the format." msgstr "" -#: library/shutil.rst:667 +#: library/shutil.rst:673 msgid "" "Return a list of all registered formats for unpacking. Each element of the " "returned sequence is a tuple ``(name, extensions, description)``." msgstr "" -#: library/shutil.rst:673 +#: library/shutil.rst:679 msgid "" "*zip*: ZIP file (unpacking compressed files works only if the corresponding " "module is available)." msgstr "" -#: library/shutil.rst:675 +#: library/shutil.rst:681 msgid "*tar*: uncompressed tar file." msgstr "" -#: library/shutil.rst:680 +#: library/shutil.rst:686 msgid "" "You can register new formats or provide your own unpacker for any existing " "formats, by using :func:`register_unpack_format`." msgstr "" -#: library/shutil.rst:687 +#: library/shutil.rst:693 msgid "Archiving example" msgstr "" -#: library/shutil.rst:689 +#: library/shutil.rst:695 msgid "" "In this example, we create a gzip'ed tar-file archive containing all files " "found in the :file:`.ssh` directory of the user::" msgstr "" -#: library/shutil.rst:699 +#: library/shutil.rst:705 msgid "The resulting archive contains:" msgstr "" -#: library/shutil.rst:717 +#: library/shutil.rst:723 msgid "Archiving example with *base_dir*" msgstr "" -#: library/shutil.rst:719 +#: library/shutil.rst:725 msgid "" "In this example, similar to the `one above `_, we " "show how to use :func:`make_archive`, but this time with the usage of " "*base_dir*. We now have the following directory structure:" msgstr "" -#: library/shutil.rst:733 +#: library/shutil.rst:739 msgid "" "In the final archive, :file:`please_add.txt` should be included, but :file:" "`do_not_add.txt` should not. Therefore we use the following::" msgstr "" -#: library/shutil.rst:747 +#: library/shutil.rst:753 msgid "Listing the files in the resulting archive gives us:" msgstr "" -#: library/shutil.rst:757 +#: library/shutil.rst:763 msgid "Querying the size of the output terminal" msgstr "" -#: library/shutil.rst:761 +#: library/shutil.rst:767 msgid "Get the size of the terminal window." msgstr "" -#: library/shutil.rst:763 +#: library/shutil.rst:769 msgid "" "For each of the two dimensions, the environment variable, ``COLUMNS`` and " "``LINES`` respectively, is checked. If the variable is defined and the value " "is a positive integer, it is used." msgstr "" -#: library/shutil.rst:767 +#: library/shutil.rst:773 msgid "" "When ``COLUMNS`` or ``LINES`` is not defined, which is the common case, the " "terminal connected to :data:`sys.__stdout__` is queried by invoking :func:" "`os.get_terminal_size`." msgstr "" -#: library/shutil.rst:771 +#: library/shutil.rst:777 msgid "" "If the terminal size cannot be successfully queried, either because the " "system doesn't support querying, or because we are not connected to a " @@ -987,11 +996,11 @@ msgid "" "emulators." msgstr "" -#: library/shutil.rst:777 +#: library/shutil.rst:783 msgid "The value returned is a named tuple of type :class:`os.terminal_size`." msgstr "" -#: library/shutil.rst:779 +#: library/shutil.rst:785 msgid "" "See also: The Single UNIX Specification, Version 2, `Other Environment " "Variables`_." diff --git a/library/smtpd.po b/library/smtpd.po index e75b99ef52..be638f42bf 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-03 10:55+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -322,7 +322,7 @@ msgstr "" #: library/smtpd.rst:249 msgid "" -"Holds the fully-qualified domain name of the server as returned by :func:" +"Holds the fully qualified domain name of the server as returned by :func:" "`socket.getfqdn`." msgstr "" diff --git a/library/socket.po b/library/socket.po index 9065ab582a..5abc7f486b 100644 --- a/library/socket.po +++ b/library/socket.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-11-25 20:35+0100\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -206,7 +206,7 @@ msgstr "" msgid "" "A string or a tuple ``(id, unit)`` is used for the :const:`SYSPROTO_CONTROL` " "protocol of the :const:`PF_SYSTEM` family. The string is the name of a " -"kernel control using a dynamically-assigned ID. The tuple can be used if ID " +"kernel control using a dynamically assigned ID. The tuple can be used if ID " "and unit number of the kernel control are known or if a registered ID is " "used." msgstr "" @@ -480,7 +480,7 @@ msgstr "" #: library/socket.rst:343 msgid "" -"`Secure File Descriptor Handling `_ for a more thorough explanation." msgstr "" @@ -736,7 +736,7 @@ msgstr "" msgid "" "When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied " "to *type* they are cleared, and :attr:`socket.type` will not reflect them. " -"They are still passed to the underlying system `socket()` call. Therefore," +"They are still passed to the underlying system ``socket()`` call. Therefore," msgstr "" #: library/socket.rst:615 @@ -1038,7 +1038,7 @@ msgstr "" #: library/socket.rst:871 msgid "" "Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " -"Depending on the settings of *flags*, the result can contain a fully-" +"Depending on the settings of *flags*, the result can contain a fully " "qualified domain name or numeric address representation in *host*. " "Similarly, *port* can contain a string port name or a numeric port number." msgstr "" @@ -1133,9 +1133,8 @@ msgid "" "Convert an IPv4 address from dotted-quad string format (for example, " "'123.45.67.89') to 32-bit packed binary format, as a bytes object four " "characters in length. This is useful when conversing with a program that " -"uses the standard C library and needs objects of type :c:type:`struct " -"in_addr`, which is the C type for the 32-bit packed binary this function " -"returns." +"uses the standard C library and needs objects of type :c:struct:`in_addr`, " +"which is the C type for the 32-bit packed binary this function returns." msgstr "" #: library/socket.rst:954 @@ -1162,9 +1161,9 @@ msgid "" "Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes " "in length) to its standard dotted-quad string representation (for example, " "'123.45.67.89'). This is useful when conversing with a program that uses " -"the standard C library and needs objects of type :c:type:`struct in_addr`, " -"which is the C type for the 32-bit packed binary data this function takes as " -"an argument." +"the standard C library and needs objects of type :c:struct:`in_addr`, which " +"is the C type for the 32-bit packed binary data this function takes as an " +"argument." msgstr "" #: library/socket.rst:974 @@ -1179,8 +1178,8 @@ msgstr "" msgid "" "Convert an IP address from its family-specific string format to a packed, " "binary format. :func:`inet_pton` is useful when a library or network " -"protocol calls for an object of type :c:type:`struct in_addr` (similar to :" -"func:`inet_aton`) or :c:type:`struct in6_addr`." +"protocol calls for an object of type :c:struct:`in_addr` (similar to :func:" +"`inet_aton`) or :c:struct:`in6_addr`." msgstr "" #: library/socket.rst:990 @@ -1206,8 +1205,8 @@ msgid "" "Convert a packed IP address (a :term:`bytes-like object` of some number of " "bytes) to its standard, family-specific string representation (for example, " "``'7.10.0.5'`` or ``'5aef:2b::8'``). :func:`inet_ntop` is useful when a " -"library or network protocol returns an object of type :c:type:`struct " -"in_addr` (similar to :func:`inet_ntoa`) or :c:type:`struct in6_addr`." +"library or network protocol returns an object of type :c:struct:`in_addr` " +"(similar to :func:`inet_ntoa`) or :c:struct:`in6_addr`." msgstr "" #: library/socket.rst:1011 @@ -1702,7 +1701,7 @@ msgid "" "sockets), :meth:`recvmsg` will return, in its ancillary data, items of the " "form ``(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)``, where *fds* is a :" "class:`bytes` object representing the new file descriptors as a binary array " -"of the native C :c:type:`int` type. If :meth:`recvmsg` raises an exception " +"of the native C :c:expr:`int` type. If :meth:`recvmsg` raises an exception " "after the system call returns, it will first attempt to close any file " "descriptors received via this mechanism." msgstr "" diff --git a/library/sqlite3.po b/library/sqlite3.po index 0653f8d4a1..3a52166798 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-03-26 15:55+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -23,7 +23,7 @@ msgstr ":mod:`sqlite3` — Interface DB-API 2.0 pour bases de données SQLite" msgid "**Source code:** :source:`Lib/sqlite3/`" msgstr "**Code source :** :source:`Lib/sqlite3/`" -#: library/sqlite3.rst:13 +#: library/sqlite3.rst:23 msgid "" "SQLite is a C library that provides a lightweight disk-based database that " "doesn't require a separate server process and allows accessing the database " @@ -40,105 +40,45 @@ msgstr "" "SQLite, puis de modifier le code pour utiliser une base de données plus " "robuste telle que PostgreSQL ou Oracle." -#: library/sqlite3.rst:20 +#: library/sqlite3.rst:30 #, fuzzy msgid "" -"The sqlite3 module was written by Gerhard Häring. It provides an SQL " -"interface compliant with the DB-API 2.0 specification described by :pep:" +"The :mod:`!sqlite3` module was written by Gerhard Häring. It provides an " +"SQL interface compliant with the DB-API 2.0 specification described by :pep:" "`249`, and requires SQLite 3.7.15 or newer." msgstr "" "Le module *sqlite3* a été écrit par Gerhard Häring. Il fournit une " "interface SQL conforme à la spécification DB-API 2.0 décrite par :pep:`249`." -#: library/sqlite3.rst:24 -#, fuzzy -msgid "" -"To use the module, start by creating a :class:`Connection` object that " -"represents the database. Here the data will be stored in the :file:`example." -"db` file::" -msgstr "" -"Pour utiliser le module, vous devez d’abord créer une :class:`Connection` " -"qui représente la base de données. Dans cet exemple, les données sont " -"stockées dans le fichier :file:`example.db` ::" - -#: library/sqlite3.rst:31 -#, fuzzy -msgid "" -"The special path name ``:memory:`` can be provided to create a temporary " -"database in RAM." -msgstr "" -"Vous pouvez également fournir le nom spécial ``:memory:`` pour créer une " -"base de données dans la mémoire vive." - #: library/sqlite3.rst:34 -#, fuzzy -msgid "" -"Once a :class:`Connection` has been established, create a :class:`Cursor` " -"object and call its :meth:`~Cursor.execute` method to perform SQL commands::" +msgid "This document includes four main sections:" msgstr "" -"Une fois que vous avez une instance de :class:`Connection`, vous pouvez " -"créer un objet :class:`Cursor` et appeler sa méthode :meth:`~Cursor.execute` " -"pour exécuter les commandes SQL ::" -#: library/sqlite3.rst:53 -msgid "" -"The saved data is persistent: it can be reloaded in a subsequent session " -"even after restarting the Python interpreter::" +#: library/sqlite3.rst:36 +msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." msgstr "" -#: library/sqlite3.rst:60 -#, fuzzy +#: library/sqlite3.rst:37 msgid "" -"To retrieve data after executing a SELECT statement, either treat the cursor " -"as an :term:`iterator`, call the cursor's :meth:`~Cursor.fetchone` method to " -"retrieve a single matching row, or call :meth:`~Cursor.fetchall` to get a " -"list of the matching rows." +":ref:`sqlite3-reference` describes the classes and functions this module " +"defines." msgstr "" -"Pour récupérer des données après avoir exécuté une instruction *SELECT*, " -"vous pouvez considérer le curseur comme un :term:`itérateur `, " -"appeler la méthode du curseur :meth:`~Cursor.fetchone` pour récupérer une " -"seule ligne correspondante ou appeler :meth:`~Cursor.fetchall` pour obtenir " -"une liste des lignes correspondantes." - -#: library/sqlite3.rst:65 -msgid "This example uses the iterator form::" -msgstr "Cet exemple utilise la forme itérateur ::" -#: library/sqlite3.rst:78 -#, fuzzy -msgid "" -"SQL operations usually need to use values from Python variables. However, " -"beware of using Python's string operations to assemble queries, as they are " -"vulnerable to SQL injection attacks (see the `xkcd webcomic `_ for a humorous example of what can go wrong)::" +#: library/sqlite3.rst:39 +msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." msgstr "" -"Habituellement, vos opérations SQL utilisent les valeurs de variables " -"Python. Vous ne devez pas assembler votre requête à l'aide des opérations " -"sur les chaînes de caractères de Python, car cela n'est pas sûr. Cela rend " -"votre programme vulnérable à une attaque par injection SQL (voir https://" -"xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner)." -#: library/sqlite3.rst:87 +#: library/sqlite3.rst:40 msgid "" -"Instead, use the DB-API's parameter substitution. To insert a variable into " -"a query string, use a placeholder in the string, and substitute the actual " -"values into the query by providing them as a :class:`tuple` of values to the " -"second argument of the cursor's :meth:`~Cursor.execute` method. An SQL " -"statement may use one of two kinds of placeholders: question marks (qmark " -"style) or named placeholders (named style). For the qmark style, " -"``parameters`` must be a :term:`sequence `. For the named style, " -"it can be either a :term:`sequence ` or :class:`dict` instance. " -"The length of the :term:`sequence ` must match the number of " -"placeholders, or a :exc:`ProgrammingError` is raised. If a :class:`dict` is " -"given, it must contain keys for all named parameters. Any extra items are " -"ignored. Here's an example of both styles:" +":ref:`sqlite3-explanation` provides in-depth background on transaction " +"control." msgstr "" -#: library/sqlite3.rst:107 +#: library/sqlite3.rst:47 msgid "https://www.sqlite.org" msgstr "https://www.sqlite.org" -#: library/sqlite3.rst:106 +#: library/sqlite3.rst:46 msgid "" "The SQLite web page; the documentation describes the syntax and the " "available data types for the supported SQL dialect." @@ -146,728 +86,976 @@ msgstr "" "Dans la page Web de SQLite, la documentation décrit la syntaxe et les types " "de données disponibles qui sont pris en charge par cette variante SQL." -#: library/sqlite3.rst:110 +#: library/sqlite3.rst:50 msgid "https://www.w3schools.com/sql/" msgstr "https://www.w3schools.com/sql/" -#: library/sqlite3.rst:110 +#: library/sqlite3.rst:50 msgid "Tutorial, reference and examples for learning SQL syntax." msgstr "Tutoriel, référence et exemples pour apprendre la syntaxe SQL." -#: library/sqlite3.rst:112 +#: library/sqlite3.rst:52 msgid ":pep:`249` - Database API Specification 2.0" msgstr ":pep:`249` — Spécifications de l'API 2.0 pour la base de données" -#: library/sqlite3.rst:113 +#: library/sqlite3.rst:53 msgid "PEP written by Marc-André Lemburg." msgstr "PEP écrite par Marc-André Lemburg." -#: library/sqlite3.rst:119 -msgid "Module functions and constants" -msgstr "Fonctions et constantes du module" +#: library/sqlite3.rst:66 +msgid "Tutorial" +msgstr "" -#: library/sqlite3.rst:124 +#: library/sqlite3.rst:68 msgid "" -"String constant stating the supported DB-API level. Required by the DB-API. " -"Hard-coded to ``\"2.0\"``." +"In this tutorial, you will create a database of Monty Python movies using " +"basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " +"of database concepts, including `cursors`_ and `transactions`_." msgstr "" -#: library/sqlite3.rst:129 +#: library/sqlite3.rst:73 msgid "" -"String constant stating the type of parameter marker formatting expected by " -"the :mod:`sqlite3` module. Required by the DB-API. Hard-coded to " -"``\"qmark\"``." +"First, we need to create a new database and open a database connection to " +"allow :mod:`!sqlite3` to work with it. Call :func:`sqlite3.connect` to to " +"create a connection to the database :file:`tutorial.db` in the current " +"working directory, implicitly creating it if it does not exist:" msgstr "" -#: library/sqlite3.rst:135 +#: library/sqlite3.rst:84 msgid "" -"The :mod:`sqlite3` module supports both ``qmark`` and ``numeric`` DB-API " -"parameter styles, because that is what the underlying SQLite library " -"supports. However, the DB-API does not allow multiple values for the " -"``paramstyle`` attribute." +"The returned :class:`Connection` object ``con`` represents the connection to " +"the on-disk database." msgstr "" -#: library/sqlite3.rst:142 +#: library/sqlite3.rst:87 msgid "" -"The version number of this module, as a string. This is not the version of " -"the SQLite library." +"In order to execute SQL statements and fetch results from SQL queries, we " +"will need to use a database cursor. Call :meth:`con.cursor() ` to create the :class:`Cursor`:" msgstr "" -"Le numéro de version de ce module, sous forme de chaîne. Ce n'est pas la " -"version de la bibliothèque SQLite." -#: library/sqlite3.rst:148 +#: library/sqlite3.rst:95 msgid "" -"The version number of this module, as a tuple of integers. This is not the " -"version of the SQLite library." +"Now that we've got a database connection and a cursor, we can create a " +"database table ``movie`` with columns for title, release year, and review " +"score. For simplicity, we can just use column names in the table declaration " +"-- thanks to the `flexible typing`_ feature of SQLite, specifying the data " +"types is optional. Execute the ``CREATE TABLE`` statement by calling :meth:" +"`cur.execute(...) `:" msgstr "" -"Le numéro de version de ce module, sous forme d'un *n*-uplet d'entiers. Ce " -"n'est pas la version de la bibliothèque SQLite." -#: library/sqlite3.rst:154 -msgid "The version number of the run-time SQLite library, as a string." +#: library/sqlite3.rst:111 +msgid "" +"We can verify that the new table has been created by querying the " +"``sqlite_master`` table built-in to SQLite, which should now contain an " +"entry for the ``movie`` table definition (see `The Schema Table`_ for " +"details). Execute that query by calling :meth:`cur.execute(...) `, assign the result to ``res``, and call :meth:`res.fetchone() " +"` to fetch the resulting row:" msgstr "" -"Le numéro de version de la bibliothèque d'exécution SQLite, sous forme de " -"chaîne." -#: library/sqlite3.rst:159 +#: library/sqlite3.rst:125 msgid "" -"The version number of the run-time SQLite library, as a tuple of integers." +"We can see that the table has been created, as the query returns a :class:" +"`tuple` containing the table's name. If we query ``sqlite_master`` for a non-" +"existent table ``spam``, :meth:`!res.fetchone()` will return ``None``:" msgstr "" -"Le numéro de version de la bibliothèque d'exécution SQLite, sous forme " -"d'entier." -#: library/sqlite3.rst:164 +#: library/sqlite3.rst:136 msgid "" -"Integer constant required by the DB-API, stating the level of thread safety " -"the :mod:`sqlite3` module supports. Currently hard-coded to ``1``, meaning " -"*\"Threads may share the module, but not connections.\"* However, this may " -"not always be true. You can check the underlying SQLite library's compile-" -"time threaded mode using the following query::" +"Now, add two rows of data supplied as SQL literals by executing an " +"``INSERT`` statement, once again by calling :meth:`cur.execute(...) `:" msgstr "" -#: library/sqlite3.rst:177 +#: library/sqlite3.rst:148 msgid "" -"Note that the `SQLITE_THREADSAFE levels `_ do not match the DB-API 2.0 ``threadsafety`` levels." +"The ``INSERT`` statement implicitly opens a transaction, which needs to be " +"committed before changes are saved in the database (see :ref:`sqlite3-" +"controlling-transactions` for details). Call :meth:`con.commit() ` on the connection object to commit the transaction:" msgstr "" -#: library/sqlite3.rst:197 +#: library/sqlite3.rst:158 msgid "" -"This constant is meant to be used with the *detect_types* parameter of the :" -"func:`connect` function." +"We can verify that the data was inserted correctly by executing a ``SELECT`` " +"query. Use the now-familiar :meth:`cur.execute(...) ` to " +"assign the result to ``res``, and call :meth:`res.fetchall() ` to return all resulting rows:" msgstr "" -"Cette constante est destinée à être utilisée avec le paramètre " -"*detect_types* de la fonction :func:`connect`." -#: library/sqlite3.rst:187 +#: library/sqlite3.rst:170 msgid "" -"Setting it makes the :mod:`sqlite3` module parse the declared type for each " -"column it returns. It will parse out the first word of the declared type, " -"i. e. for \"integer primary key\", it will parse out \"integer\", or for " -"\"number(10)\" it will parse out \"number\". Then for that column, it will " -"look into the converters dictionary and use the converter function " -"registered for that type there." +"The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " +"containing that row's ``score`` value." msgstr "" -"Si elle est définie, le module :mod:`sqlite3` analyse le type de donnée " -"déclarée pour chaque colonne. Il déduit le type du premier mot de la " -"déclaration, par exemple de *integer primary key* il gardera *integer*, ou " -"de *number(10)* il gardera *number*. Ensuite, pour cette colonne, il " -"utilisera une fonction de conversion du dictionnaire des convertisseurs." -#: library/sqlite3.rst:200 -#, fuzzy +#: library/sqlite3.rst:173 msgid "" -"Setting this makes the SQLite interface parse the column name for each " -"column it returns. It will look for a string formed [mytype] in there, and " -"then decide that 'mytype' is the type of the column. It will try to find an " -"entry of 'mytype' in the converters dictionary and then use the converter " -"function found there to return the value. The column name found in :attr:" -"`Cursor.description` does not include the type, i. e. if you use something " -"like ``'as \"Expiration date [datetime]\"'`` in your SQL, then we will parse " -"out everything until the first ``'['`` for the column name and strip the " -"preceding space: the column name would simply be \"Expiration date\"." +"Now, insert three more rows by calling :meth:`cur.executemany(...) `:" msgstr "" -"Permet à l’interface SQLite d'analyser le nom pour chaque colonne. Il y " -"cherchera une chaîne comme ``[mytype]`` indiquant que la colonne est de type " -"``mytype``. Il essaiera de trouver une entrée *mytype* dans le dictionnaire, " -"puis utilisera la fonction de conversion qui s'y trouve pour renvoyer la " -"valeur. Le nom de colonne donnée à :attr:`Cursor.description` n'est alors " -"que le premier mot du nom de la colonne, par exemple si vous utilisez ``'as " -"\\\"x [datetime]\\\"'`` dans votre code SQL, le nom de la colonne sera " -"simplement *x*." -#: library/sqlite3.rst:213 +#: library/sqlite3.rst:186 msgid "" -"Opens a connection to the SQLite database file *database*. By default " -"returns a :class:`Connection` object, unless a custom *factory* is given." +"Notice that ``?`` placeholders are used to bind ``data`` to the query. " +"Always use placeholders instead of :ref:`string formatting ` " +"to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " +"(see :ref:`sqlite3-placeholders` for more details)." msgstr "" -"Ouvre une connexion à la base de données SQLite *database*. Par défaut, " -"cette commande renvoie un objet :class:`Connection`, sauf si *factory* est " -"donné." -#: library/sqlite3.rst:216 +#: library/sqlite3.rst:192 msgid "" -"*database* is a :term:`path-like object` giving the pathname (absolute or " -"relative to the current working directory) of the database file to be " -"opened. You can use ``\":memory:\"`` to open a database connection to a " -"database that resides in RAM instead of on disk." +"We can verify that the new rows were inserted by executing a ``SELECT`` " +"query, this time iterating over the results of the query:" msgstr "" -#: library/sqlite3.rst:221 +#: library/sqlite3.rst:206 msgid "" -"When a database is accessed by multiple connections, and one of the " -"processes modifies the database, the SQLite database is locked until that " -"transaction is committed. The *timeout* parameter specifies how long the " -"connection should wait for the lock to go away until raising an exception. " -"The default for the timeout parameter is 5.0 (five seconds)." +"Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " +"columns selected in the query." msgstr "" -#: library/sqlite3.rst:227 +#: library/sqlite3.rst:209 msgid "" -"For the *isolation_level* parameter, please see the :attr:`~Connection." -"isolation_level` property of :class:`Connection` objects." +"Finally, verify that the database has been written to disk by calling :meth:" +"`con.close() ` to close the existing connection, opening a " +"new one, creating a new cursor, then querying the database:" msgstr "" -#: library/sqlite3.rst:230 +#: library/sqlite3.rst:224 msgid "" -"SQLite natively supports only the types TEXT, INTEGER, REAL, BLOB and NULL. " -"If you want to use other types you must add support for them yourself. The " -"*detect_types* parameter and the using custom **converters** registered with " -"the module-level :func:`register_converter` function allow you to easily do " -"that." +"You've now created an SQLite database using the :mod:`!sqlite3` module, " +"inserted data and retrieved values from it in multiple ways." +msgstr "" + +#: library/sqlite3.rst:236 +msgid ":ref:`sqlite3-howtos` for further reading:" msgstr "" -#: library/sqlite3.rst:235 +#: library/sqlite3.rst:238 +msgid ":ref:`sqlite3-placeholders`" +msgstr "" + +#: library/sqlite3.rst:239 +msgid ":ref:`sqlite3-adapters`" +msgstr "" + +#: library/sqlite3.rst:240 +msgid ":ref:`sqlite3-converters`" +msgstr "" + +#: library/sqlite3.rst:514 +msgid ":ref:`sqlite3-connection-context-manager`" +msgstr "" + +#: library/sqlite3.rst:243 msgid "" -"*detect_types* defaults to 0 (i. e. off, no type detection), you can set it " -"to any combination of :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES` " -"to turn type detection on. Due to SQLite behaviour, types can't be detected " -"for generated fields (for example ``max(data)``), even when *detect_types* " -"parameter is set. In such case, the returned type is :class:`str`." +":ref:`sqlite3-explanation` for in-depth background on transaction control." +msgstr "" + +#: library/sqlite3.rst:248 +msgid "Reference" +msgstr "" + +#: library/sqlite3.rst:256 +#, fuzzy +msgid "Module functions" +msgstr "Fonctions et constantes du module" + +#: library/sqlite3.rst:263 +msgid "Open a connection to an SQLite database." +msgstr "" + +#: library/sqlite3.rst:0 +msgid "Parameters" msgstr "" -#: library/sqlite3.rst:241 +#: library/sqlite3.rst:265 msgid "" -"By default, *check_same_thread* is :const:`True` and only the creating " -"thread may use the connection. If set :const:`False`, the returned " -"connection may be shared across multiple threads. When using multiple " -"threads with the same connection writing operations should be serialized by " -"the user to avoid data corruption." +"The path to the database file to be opened. Pass ``\":memory:\"`` to open a " +"connection to a database that is in RAM instead of on disk." msgstr "" -#: library/sqlite3.rst:246 +#: library/sqlite3.rst:271 msgid "" -"By default, the :mod:`sqlite3` module uses its :class:`Connection` class for " -"the connect call. You can, however, subclass the :class:`Connection` class " -"and make :func:`connect` use your class instead by providing your class for " -"the *factory* parameter." +"How many seconds the connection should wait before raising an exception, if " +"the database is locked by another connection. If another connection opens a " +"transaction to modify the database, it will be locked until that transaction " +"is committed. Default five seconds." msgstr "" -#: library/sqlite3.rst:251 -msgid "Consult the section :ref:`sqlite3-types` of this manual for details." +#: library/sqlite3.rst:278 +msgid "" +"Control whether and how data types not :ref:`natively supported by SQLite " +"` are looked up to be converted to Python types, using the " +"converters registered with :func:`register_converter`. Set it to any " +"combination (using ``|``, bitwise or) of :const:`PARSE_DECLTYPES` and :const:" +"`PARSE_COLNAMES` to enable this. Column names takes precedence over declared " +"types if both flags are set. Types cannot be detected for generated fields " +"(for example ``max(data)``), even when the *detect_types* parameter is set; :" +"class:`str` will be returned instead. By default (``0``), type detection is " +"disabled." +msgstr "" + +#: library/sqlite3.rst:292 +msgid "" +"The :attr:`~Connection.isolation_level` of the connection, controlling " +"whether and how transactions are implicitly opened. Can be ``\"DEFERRED\"`` " +"(default), ``\"EXCLUSIVE\"`` or ``\"IMMEDIATE\"``; or ``None`` to disable " +"opening transactions implicitly. See :ref:`sqlite3-controlling-transactions` " +"for more." +msgstr "" + +#: library/sqlite3.rst:300 +msgid "" +"If ``True`` (default), only the creating thread may use the connection. If " +"``False``, the connection may be shared across multiple threads; if so, " +"write operations should be serialized by the user to avoid data corruption." msgstr "" -#: library/sqlite3.rst:253 +#: library/sqlite3.rst:306 msgid "" -"The :mod:`sqlite3` module internally uses a statement cache to avoid SQL " -"parsing overhead. If you want to explicitly set the number of statements " -"that are cached for the connection, you can set the *cached_statements* " -"parameter. The currently implemented default is to cache 100 statements." +"A custom subclass of :class:`Connection` to create the connection with, if " +"not the default :class:`Connection` class." msgstr "" -#: library/sqlite3.rst:258 +#: library/sqlite3.rst:310 msgid "" -"If *uri* is :const:`True`, *database* is interpreted as a :abbr:`URI " -"(Uniform Resource Identifier)` with a file path and an optional query " -"string. The scheme part *must* be ``\"file:\"``. The path can be a " -"relative or absolute file path. The query string allows us to pass " -"parameters to SQLite. Some useful URI tricks include::" +"The number of statements that :mod:`!sqlite3` should internally cache for " +"this connection, to avoid parsing overhead. By default, 100 statements." msgstr "" -#: library/sqlite3.rst:277 +#: library/sqlite3.rst:315 msgid "" -"More information about this feature, including a list of recognized " -"parameters, can be found in the `SQLite URI documentation `_." +"If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " +"Resource Identifier)` with a file path and an optional query string. The " +"scheme part *must* be ``\"file:\"``, and the path can be relative or " +"absolute. The query string allows passing parameters to SQLite, enabling " +"various :ref:`sqlite3-uri-tricks`." msgstr "" -#: library/sqlite3.rst:281 +#: library/sqlite3.rst:0 +#, fuzzy +msgid "Return type" +msgstr "Type Python" + +#: library/sqlite3.rst:326 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " "``database``." msgstr "" -#: library/sqlite3.rst:282 +#: library/sqlite3.rst:327 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " "argument ``connection_handle``." msgstr "" -#: library/sqlite3.rst:284 -msgid "Added the *uri* parameter." +#: library/sqlite3.rst:329 +msgid "The *uri* parameter." msgstr "" -#: library/sqlite3.rst:287 +#: library/sqlite3.rst:332 msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" -#: library/sqlite3.rst:290 -msgid "Added the ``sqlite3.connect/handle`` auditing event." +#: library/sqlite3.rst:335 +msgid "The ``sqlite3.connect/handle`` auditing event." +msgstr "" + +#: library/sqlite3.rst:340 +msgid "" +"Return ``True`` if the string *statement* appears to contain one or more " +"complete SQL statements. No syntactic verification or parsing of any kind is " +"performed, other than checking that there are no unclosed string literals " +"and the statement is terminated by a semicolon." msgstr "" -#: library/sqlite3.rst:296 +#: library/sqlite3.rst:346 +#, fuzzy +msgid "For example:" +msgstr "Exemple :" + +#: library/sqlite3.rst:355 msgid "" -"Registers a callable to convert a bytestring from the database into a custom " -"Python type. The callable will be invoked for all database values that are " -"of the type *typename*. Confer the parameter *detect_types* of the :func:" -"`connect` function for how the type detection works. Note that *typename* " -"and the name of the type in your query are matched in case-insensitive " -"manner." +"This function may be useful during command-line input to determine if the " +"entered text seems to form a complete SQL statement, or if additional input " +"is needed before calling :meth:`~Cursor.execute`." msgstr "" -#: library/sqlite3.rst:305 +#: library/sqlite3.rst:361 msgid "" -"Registers a callable to convert the custom Python type *type* into one of " -"SQLite's supported types. The callable *callable* accepts as single " -"parameter the Python value, and must return a value of the following types: " -"int, float, str or bytes." +"Enable or disable callback tracebacks. By default you will not get any " +"tracebacks in user-defined functions, aggregates, converters, authorizer " +"callbacks etc. If you want to debug them, you can call this function with " +"*flag* set to ``True``. Afterwards, you will get tracebacks from callbacks " +"on ``sys.stderr``. Use ``False`` to disable the feature again." msgstr "" -#: library/sqlite3.rst:313 +#: library/sqlite3.rst:370 msgid "" -"Returns :const:`True` if the string *sql* contains one or more complete SQL " -"statements terminated by semicolons. It does not verify that the SQL is " -"syntactically correct, only that there are no unclosed string literals and " -"the statement is terminated by a semicolon." +"Register an *adapter* callable to adapt the Python type *type* into an " +"SQLite type. The adapter is called with a Python object of type *type* as " +"its sole argument, and must return a value of a :ref:`type that SQLite " +"natively understands `." msgstr "" -#: library/sqlite3.rst:318 +#: library/sqlite3.rst:378 msgid "" -"This can be used to build a shell for SQLite, as in the following example:" +"Register the *converter* callable to convert SQLite objects of type " +"*typename* into a Python object of a specific type. The converter is invoked " +"for all SQLite values of type *typename*; it is passed a :class:`bytes` " +"object and should return an object of the desired Python type. Consult the " +"parameter *detect_types* of :func:`connect` for information regarding how " +"type detection works." msgstr "" -#: library/sqlite3.rst:326 +#: library/sqlite3.rst:386 msgid "" -"By default you will not get any tracebacks in user-defined functions, " -"aggregates, converters, authorizer callbacks etc. If you want to debug them, " -"you can call this function with *flag* set to ``True``. Afterwards, you will " -"get tracebacks from callbacks on ``sys.stderr``. Use :const:`False` to " -"disable the feature again." +"Note: *typename* and the name of the type in your query are matched case-" +"insensitively." msgstr "" -#: library/sqlite3.rst:336 -msgid "Connection Objects" -msgstr "Objets de connexions" +#: library/sqlite3.rst:393 +#, fuzzy +msgid "Module constants" +msgstr "Fonctions et constantes du module" -#: library/sqlite3.rst:340 -msgid "An SQLite database connection has the following attributes and methods:" +#: library/sqlite3.rst:397 +msgid "" +"Pass this flag value to the *detect_types* parameter of :func:`connect` to " +"look up a converter function by using the type name, parsed from the query " +"column name, as the converter dictionary key. The type name must be wrapped " +"in square brackets (``[]``)." msgstr "" -#: library/sqlite3.rst:344 +#: library/sqlite3.rst:407 msgid "" -"Get or set the current default isolation level. :const:`None` for autocommit " -"mode or one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :" -"ref:`sqlite3-controlling-transactions` for a more detailed explanation." +"This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " +"(bitwise or) operator." msgstr "" -#: library/sqlite3.rst:350 +#: library/sqlite3.rst:412 msgid "" -":const:`True` if a transaction is active (there are uncommitted changes), :" -"const:`False` otherwise. Read-only attribute." +"Pass this flag value to the *detect_types* parameter of :func:`connect` to " +"look up a converter function using the declared types for each column. The " +"types are declared when the database table is created. :mod:`!sqlite3` will " +"look up a converter function using the first word of the declared type as " +"the converter dictionary key. For example:" msgstr "" -#: library/sqlite3.rst:357 +#: library/sqlite3.rst:428 msgid "" -"The cursor method accepts a single optional parameter *factory*. If " -"supplied, this must be a callable returning an instance of :class:`Cursor` " -"or its subclasses." +"This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " +"(bitwise or) operator." msgstr "" -#: library/sqlite3.rst:363 +#: library/sqlite3.rst:435 msgid "" -"This method commits the current transaction. If you don't call this method, " -"anything you did since the last call to ``commit()`` is not visible from " -"other database connections. If you wonder why you don't see the data you've " -"written to the database, please check you didn't forget to call this method." +"Flags that should be returned by the *authorizer_callback* callable passed " +"to :meth:`Connection.set_authorizer`, to indicate whether:" msgstr "" -#: library/sqlite3.rst:370 +#: library/sqlite3.rst:438 +msgid "Access is allowed (:const:`!SQLITE_OK`)," +msgstr "" + +#: library/sqlite3.rst:439 msgid "" -"This method rolls back any changes to the database since the last call to :" -"meth:`commit`." +"The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" msgstr "" -#: library/sqlite3.rst:375 +#: library/sqlite3.rst:440 +msgid "" +"The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" +msgstr "" + +#: library/sqlite3.rst:444 msgid "" -"This closes the database connection. Note that this does not automatically " -"call :meth:`commit`. If you just close your database connection without " -"calling :meth:`commit` first, your changes will be lost!" +"String constant stating the supported DB-API level. Required by the DB-API. " +"Hard-coded to ``\"2.0\"``." +msgstr "" + +#: library/sqlite3.rst:449 +msgid "" +"String constant stating the type of parameter marker formatting expected by " +"the :mod:`!sqlite3` module. Required by the DB-API. Hard-coded to " +"``\"qmark\"``." msgstr "" -#: library/sqlite3.rst:381 +#: library/sqlite3.rst:455 +msgid "" +"The :mod:`!sqlite3` module supports both ``qmark`` and ``numeric`` DB-API " +"parameter styles, because that is what the underlying SQLite library " +"supports. However, the DB-API does not allow multiple values for the " +"``paramstyle`` attribute." +msgstr "" + +#: library/sqlite3.rst:462 +#, fuzzy +msgid "" +"Version number of the runtime SQLite library as a :class:`string `." +msgstr "" +"Le numéro de version de la bibliothèque d'exécution SQLite, sous forme de " +"chaîne." + +#: library/sqlite3.rst:466 +#, fuzzy +msgid "" +"Version number of the runtime SQLite library as a :class:`tuple` of :class:" +"`integers `." +msgstr "" +"Le numéro de version de la bibliothèque d'exécution SQLite, sous forme " +"d'entier." + +#: library/sqlite3.rst:471 +msgid "" +"Integer constant required by the DB-API, stating the level of thread safety " +"the :mod:`!sqlite3` module supports. Currently hard-coded to ``1``, meaning " +"*\"Threads may share the module, but not connections.\"* However, this may " +"not always be true. You can check the underlying SQLite library's compile-" +"time threaded mode using the following query::" +msgstr "" + +#: library/sqlite3.rst:484 +msgid "" +"Note that the `SQLITE_THREADSAFE levels `_ do not match the DB-API 2.0 ``threadsafety`` levels." +msgstr "" + +#: library/sqlite3.rst:490 +#, fuzzy +msgid "" +"Version number of this module as a :class:`string `. This is not the " +"version of the SQLite library." +msgstr "" +"Le numéro de version de ce module, sous forme de chaîne. Ce n'est pas la " +"version de la bibliothèque SQLite." + +#: library/sqlite3.rst:495 +#, fuzzy +msgid "" +"Version number of this module as a :class:`tuple` of :class:`integers " +"`. This is not the version of the SQLite library." +msgstr "" +"Le numéro de version de ce module, sous forme d'un *n*-uplet d'entiers. Ce " +"n'est pas la version de la bibliothèque SQLite." + +#: library/sqlite3.rst:502 +#, fuzzy +msgid "Connection objects" +msgstr "Objets de connexions" + +#: library/sqlite3.rst:506 +msgid "" +"Each open SQLite database is represented by a ``Connection`` object, which " +"is created using :func:`sqlite3.connect`. Their main purpose is creating :" +"class:`Cursor` objects, and :ref:`sqlite3-controlling-transactions`." +msgstr "" + +#: library/sqlite3.rst:513 +msgid ":ref:`sqlite3-connection-shortcuts`" +msgstr "" + +#: library/sqlite3.rst:516 +msgid "An SQLite database connection has the following attributes and methods:" +msgstr "" + +#: library/sqlite3.rst:520 +msgid "" +"Create and return a :class:`Cursor` object. The cursor method accepts a " +"single optional parameter *factory*. If supplied, this must be a callable " +"returning an instance of :class:`Cursor` or its subclasses." +msgstr "" + +#: library/sqlite3.rst:527 +msgid "" +"Commit any pending transaction to the database. If there is no open " +"transaction, this method is a no-op." +msgstr "" + +#: library/sqlite3.rst:532 +msgid "" +"Roll back to the start of any pending transaction. If there is no open " +"transaction, this method is a no-op." +msgstr "" + +#: library/sqlite3.rst:537 +msgid "" +"Close the database connection. Any pending transaction is not committed " +"implicitly; make sure to :meth:`commit` before closing to avoid losing " +"pending changes." +msgstr "" + +#: library/sqlite3.rst:544 msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.execute` on it " "with the given *sql* and *parameters*. Return the new cursor object." msgstr "" -#: library/sqlite3.rst:387 +#: library/sqlite3.rst:550 msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.executemany` on " "it with the given *sql* and *parameters*. Return the new cursor object." msgstr "" -#: library/sqlite3.rst:393 +#: library/sqlite3.rst:556 msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.executescript` " "on it with the given *sql_script*. Return the new cursor object." msgstr "" -#: library/sqlite3.rst:399 +#: library/sqlite3.rst:562 +msgid "Create or remove a user-defined SQL function." +msgstr "" + +#: library/sqlite3.rst:564 +msgid "The name of the SQL function." +msgstr "" + +#: library/sqlite3.rst:567 msgid "" -"Creates a user-defined function that you can later use from within SQL " -"statements under the function name *name*. *num_params* is the number of " -"parameters the function accepts (if *num_params* is -1, the function may " -"take any number of arguments), and *func* is a Python callable that is " -"called as the SQL function. If *deterministic* is true, the created function " -"is marked as `deterministic `_, which " -"allows SQLite to perform additional optimizations. This flag is supported by " -"SQLite 3.8.3 or higher, :exc:`NotSupportedError` will be raised if used with " -"older versions." +"The number of arguments the SQL function can accept. If ``-1``, it may take " +"any number of arguments." msgstr "" -#: library/sqlite3.rst:409 +#: library/sqlite3.rst:571 msgid "" -"The function can return any of the types supported by SQLite: bytes, str, " -"int, float and ``None``." +"A callable that is called when the SQL function is invoked. The callable " +"must return :ref:`a type natively supported by SQLite `. Set " +"to ``None`` to remove an existing SQL function." msgstr "" -#: library/sqlite3.rst:412 -msgid "The *deterministic* parameter was added." +#: library/sqlite3.rst:578 +msgid "" +"If ``True``, the created SQL function is marked as `deterministic `_, which allows SQLite to perform additional " +"optimizations." msgstr "" -#: library/sqlite3.rst:432 library/sqlite3.rst:712 +#: library/sqlite3.rst:0 +msgid "Raises" +msgstr "" + +#: library/sqlite3.rst:583 +msgid "If *deterministic* is used with SQLite versions older than 3.8.3." +msgstr "" + +#: library/sqlite3.rst:586 +msgid "The *deterministic* parameter." +msgstr "" + +#: library/sqlite3.rst:627 library/sqlite3.rst:952 library/sqlite3.rst:1087 +#: library/sqlite3.rst:1247 msgid "Example:" msgstr "Exemple :" -#: library/sqlite3.rst:422 -msgid "Creates a user-defined aggregate function." +#: library/sqlite3.rst:605 +msgid "Create or remove a user-defined SQL aggregate function." +msgstr "" + +#: library/sqlite3.rst:607 +msgid "The name of the SQL aggregate function." msgstr "" -#: library/sqlite3.rst:424 +#: library/sqlite3.rst:610 msgid "" -"The aggregate class must implement a ``step`` method, which accepts the " -"number of parameters *num_params* (if *num_params* is -1, the function may " -"take any number of arguments), and a ``finalize`` method which will return " -"the final result of the aggregate." +"The number of arguments the SQL aggregate function can accept. If ``-1``, it " +"may take any number of arguments." msgstr "" -#: library/sqlite3.rst:429 +#: library/sqlite3.rst:614 msgid "" -"The ``finalize`` method can return any of the types supported by SQLite: " -"bytes, str, int, float and ``None``." +"A class must implement the following methods: * ``step()``: Add a row to " +"the aggregate. * ``finalize()``: Return the final result of the aggregate " +"as :ref:`a type natively supported by SQLite `. The number " +"of arguments that the ``step()`` method must accept is controlled by " +"*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." msgstr "" -#: library/sqlite3.rst:439 +#: library/sqlite3.rst:615 +msgid "A class must implement the following methods:" +msgstr "" + +#: library/sqlite3.rst:617 +msgid "``step()``: Add a row to the aggregate." +msgstr "" + +#: library/sqlite3.rst:618 +msgid "" +"``finalize()``: Return the final result of the aggregate as :ref:`a type " +"natively supported by SQLite `." +msgstr "" + +#: library/sqlite3.rst:621 +msgid "" +"The number of arguments that the ``step()`` method must accept is controlled " +"by *n_arg*." +msgstr "" + +#: library/sqlite3.rst:624 +msgid "Set to ``None`` to remove an existing SQL aggregate function." +msgstr "" + +#: library/sqlite3.rst:659 msgid "" "Create a collation named *name* using the collating function *callable*. " "*callable* is passed two :class:`string ` arguments, and it should " "return an :class:`integer `:" msgstr "" -#: library/sqlite3.rst:443 +#: library/sqlite3.rst:663 msgid "``1`` if the first is ordered higher than the second" msgstr "" -#: library/sqlite3.rst:444 +#: library/sqlite3.rst:664 msgid "``-1`` if the first is ordered lower than the second" msgstr "" -#: library/sqlite3.rst:445 +#: library/sqlite3.rst:665 msgid "``0`` if they are ordered equal" msgstr "" -#: library/sqlite3.rst:447 +#: library/sqlite3.rst:667 msgid "The following example shows a reverse sorting collation:" msgstr "" -#: library/sqlite3.rst:451 -msgid "Remove a collation function by setting *callable* to :const:`None`." +#: library/sqlite3.rst:695 +msgid "Remove a collation function by setting *callable* to ``None``." msgstr "" -#: library/sqlite3.rst:456 +#: library/sqlite3.rst:700 msgid "" -"You can call this method from a different thread to abort any queries that " -"might be executing on the connection. The query will then abort and the " -"caller will get an exception." +"Call this method from a different thread to abort any queries that might be " +"executing on the connection. Aborted queries will raise an exception." msgstr "" -#: library/sqlite3.rst:463 +#: library/sqlite3.rst:707 msgid "" -"This routine registers a callback. The callback is invoked for each attempt " -"to access a column of a table in the database. The callback should return :" -"const:`SQLITE_OK` if access is allowed, :const:`SQLITE_DENY` if the entire " -"SQL statement should be aborted with an error and :const:`SQLITE_IGNORE` if " -"the column should be treated as a NULL value. These constants are available " -"in the :mod:`sqlite3` module." +"Register callable *authorizer_callback* to be invoked for each attempt to " +"access a column of a table in the database. The callback should return one " +"of :const:`SQLITE_OK`, :const:`SQLITE_DENY`, or :const:`SQLITE_IGNORE` to " +"signal how access to the column should be handled by the underlying SQLite " +"library." msgstr "" -#: library/sqlite3.rst:470 +#: library/sqlite3.rst:713 msgid "" "The first argument to the callback signifies what kind of operation is to be " -"authorized. The second and third argument will be arguments or :const:`None` " +"authorized. The second and third argument will be arguments or ``None`` " "depending on the first argument. The 4th argument is the name of the " "database (\"main\", \"temp\", etc.) if applicable. The 5th argument is the " "name of the inner-most trigger or view that is responsible for the access " -"attempt or :const:`None` if this access attempt is directly from input SQL " -"code." +"attempt or ``None`` if this access attempt is directly from input SQL code." msgstr "" -#: library/sqlite3.rst:477 +#: library/sqlite3.rst:720 msgid "" "Please consult the SQLite documentation about the possible values for the " "first argument and the meaning of the second and third argument depending on " -"the first one. All necessary constants are available in the :mod:`sqlite3` " +"the first one. All necessary constants are available in the :mod:`!sqlite3` " "module." msgstr "" -#: library/sqlite3.rst:484 +#: library/sqlite3.rst:727 msgid "" -"This routine registers a callback. The callback is invoked for every *n* " +"Register callable *progress_handler* to be invoked for every *n* " "instructions of the SQLite virtual machine. This is useful if you want to " "get called from SQLite during long-running operations, for example to update " "a GUI." msgstr "" -#: library/sqlite3.rst:489 +#: library/sqlite3.rst:732 msgid "" "If you want to clear any previously installed progress handler, call the " -"method with :const:`None` for *handler*." +"method with ``None`` for *progress_handler*." msgstr "" -#: library/sqlite3.rst:492 +#: library/sqlite3.rst:735 msgid "" "Returning a non-zero value from the handler function will terminate the " "currently executing query and cause it to raise an :exc:`OperationalError` " "exception." msgstr "" -#: library/sqlite3.rst:499 +#: library/sqlite3.rst:742 msgid "" -"Registers *trace_callback* to be called for each SQL statement that is " -"actually executed by the SQLite backend." +"Register callable *trace_callback* to be invoked for each SQL statement that " +"is actually executed by the SQLite backend." msgstr "" -#: library/sqlite3.rst:502 +#: library/sqlite3.rst:745 msgid "" "The only argument passed to the callback is the statement (as :class:`str`) " "that is being executed. The return value of the callback is ignored. Note " "that the backend does not only run statements passed to the :meth:`Cursor." "execute` methods. Other sources include the :ref:`transaction management " -"` of the sqlite3 module and the execution " -"of triggers defined in the current database." +"` of the :mod:`!sqlite3` module and the " +"execution of triggers defined in the current database." msgstr "" -#: library/sqlite3.rst:510 -msgid "" -"Passing :const:`None` as *trace_callback* will disable the trace callback." +#: library/sqlite3.rst:753 +msgid "Passing ``None`` as *trace_callback* will disable the trace callback." msgstr "" -#: library/sqlite3.rst:513 +#: library/sqlite3.rst:756 msgid "" "Exceptions raised in the trace callback are not propagated. As a development " "and debugging aid, use :meth:`~sqlite3.enable_callback_tracebacks` to enable " "printing tracebacks from exceptions raised in the trace callback." msgstr "" -#: library/sqlite3.rst:523 +#: library/sqlite3.rst:766 msgid "" -"This routine allows/disallows the SQLite engine to load SQLite extensions " -"from shared libraries. SQLite extensions can define new functions, " -"aggregates or whole new virtual table implementations. One well-known " -"extension is the fulltext-search extension distributed with SQLite." +"Enable the SQLite engine to load SQLite extensions from shared libraries if " +"*enabled* is ``True``; else, disallow loading SQLite extensions. SQLite " +"extensions can define new functions, aggregates or whole new virtual table " +"implementations. One well-known extension is the fulltext-search extension " +"distributed with SQLite." msgstr "" -#: library/sqlite3.rst:545 -msgid "Loadable extensions are disabled by default. See [#f1]_." +#: library/sqlite3.rst:775 +msgid "" +"The :mod:`!sqlite3` module is not built with loadable extension support by " +"default, because some platforms (notably macOS) have SQLite libraries which " +"are compiled without this feature. To get loadable extension support, you " +"must pass the :option:`--enable-loadable-sqlite-extensions` option to :" +"program:`configure`." msgstr "" -#: library/sqlite3.rst:530 +#: library/sqlite3.rst:782 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.enable_load_extension`` " "with arguments ``connection``, ``enabled``." msgstr "" -#: library/sqlite3.rst:534 +#: library/sqlite3.rst:786 msgid "Added the ``sqlite3.enable_load_extension`` auditing event." msgstr "" -#: library/sqlite3.rst:541 +#: library/sqlite3.rst:829 msgid "" -"This routine loads an SQLite extension from a shared library. You have to " -"enable extension loading with :meth:`enable_load_extension` before you can " -"use this routine." +"Load an SQLite extension from a shared library located at *path*. Enable " +"extension loading with :meth:`enable_load_extension` before calling this " +"method." msgstr "" -#: library/sqlite3.rst:547 +#: library/sqlite3.rst:833 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.load_extension`` with " "arguments ``connection``, ``path``." msgstr "" -#: library/sqlite3.rst:551 +#: library/sqlite3.rst:837 msgid "Added the ``sqlite3.load_extension`` auditing event." msgstr "" -#: library/sqlite3.rst:556 +#: library/sqlite3.rst:842 msgid "" -"You can change this attribute to a callable that accepts the cursor and the " -"original row as a tuple and will return the real result row. This way, you " -"can implement more advanced ways of returning results, such as returning an " -"object that can also access columns by name." +"Return an :term:`iterator` to dump the database as SQL source code. Useful " +"when saving an in-memory database for later restoration. Similar to the ``." +"dump`` command in the :program:`sqlite3` shell." msgstr "" -#: library/sqlite3.rst:565 +#: library/sqlite3.rst:860 +msgid "Create a backup of an SQLite database." +msgstr "" + +#: library/sqlite3.rst:862 msgid "" -"If returning a tuple doesn't suffice and you want name-based access to " -"columns, you should consider setting :attr:`row_factory` to the highly-" -"optimized :class:`sqlite3.Row` type. :class:`Row` provides both index-based " -"and case-insensitive name-based access to columns with almost no memory " -"overhead. It will probably be better than your own custom dictionary-based " -"approach or even a db_row based solution." +"Works even if the database is being accessed by other clients or " +"concurrently by the same connection." msgstr "" -#: library/sqlite3.rst:577 +#: library/sqlite3.rst:865 +msgid "The database connection to save the backup to." +msgstr "" + +#: library/sqlite3.rst:868 msgid "" -"Using this attribute you can control what objects are returned for the " -"``TEXT`` data type. By default, this attribute is set to :class:`str` and " -"the :mod:`sqlite3` module will return :class:`str` objects for ``TEXT``. If " -"you want to return :class:`bytes` instead, you can set it to :class:`bytes`." +"The number of pages to copy at a time. If equal to or less than ``0``, the " +"entire database is copied in a single step. Defaults to ``-1``." msgstr "" -#: library/sqlite3.rst:582 +#: library/sqlite3.rst:874 msgid "" -"You can also set it to any other callable that accepts a single bytestring " -"parameter and returns the resulting object." +"If set to a callable, it is invoked with three integer arguments for every " +"backup iteration: the *status* of the last iteration, the *remaining* number " +"of pages still to be copied, and the *total* number of pages. Defaults to " +"``None``." msgstr "" -#: library/sqlite3.rst:585 -msgid "See the following example code for illustration:" +#: library/sqlite3.rst:883 +msgid "" +"The name of the database to back up. Either ``\"main\"`` (the default) for " +"the main database, ``\"temp\"`` for the temporary database, or the name of a " +"custom database as attached using the ``ATTACH DATABASE`` SQL statement." msgstr "" -#: library/sqlite3.rst:592 +#: library/sqlite3.rst:890 msgid "" -"Returns the total number of database rows that have been modified, inserted, " -"or deleted since the database connection was opened." +"The number of seconds to sleep between successive attempts to back up " +"remaining pages." msgstr "" -#: library/sqlite3.rst:598 +#: library/sqlite3.rst:894 +msgid "Example 1, copy an existing database into another:" +msgstr "" + +#: library/sqlite3.rst:913 +msgid "Example 2, copy an existing database into a transient copy:" +msgstr "" + +#: library/sqlite3.rst:925 msgid "" -"Returns an iterator to dump the database in an SQL text format. Useful when " -"saving an in-memory database for later restoration. This function provides " -"the same capabilities as the :kbd:`.dump` command in the :program:`sqlite3` " -"shell." +"This read-only attribute corresponds to the low-level SQLite `autocommit " +"mode`_." msgstr "" -#: library/sqlite3.rst:603 -msgid "Example::" -msgstr "Exemple ::" +#: library/sqlite3.rst:928 +msgid "" +"``True`` if a transaction is active (there are uncommitted changes), " +"``False`` otherwise." +msgstr "" -#: library/sqlite3.rst:617 +#: library/sqlite3.rst:935 msgid "" -"This method makes a backup of an SQLite database even while it's being " -"accessed by other clients, or concurrently by the same connection. The copy " -"will be written into the mandatory argument *target*, that must be another :" -"class:`Connection` instance." +"This attribute controls the :ref:`transaction handling ` performed by :mod:`!sqlite3`. If set to ``None``, " +"transactions are never implicitly opened. If set to one of ``\"DEFERRED\"``, " +"``\"IMMEDIATE\"``, or ``\"EXCLUSIVE\"``, corresponding to the underlying " +"`SQLite transaction behaviour`_, implicit :ref:`transaction management " +"` is performed." msgstr "" -#: library/sqlite3.rst:622 +#: library/sqlite3.rst:943 msgid "" -"By default, or when *pages* is either ``0`` or a negative integer, the " -"entire database is copied in a single step; otherwise the method performs a " -"loop copying up to *pages* pages at a time." +"If not overridden by the *isolation_level* parameter of :func:`connect`, the " +"default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." msgstr "" -#: library/sqlite3.rst:626 +#: library/sqlite3.rst:948 msgid "" -"If *progress* is specified, it must either be ``None`` or a callable object " -"that will be executed at each iteration with three integer arguments, " -"respectively the *status* of the last iteration, the *remaining* number of " -"pages still to be copied and the *total* number of pages." +"A callable that accepts two arguments, a :class:`Cursor` object and the raw " +"row results as a :class:`tuple`, and returns a custom object representing an " +"SQLite row." +msgstr "" + +#: library/sqlite3.rst:965 +msgid "" +"If returning a tuple doesn't suffice and you want name-based access to " +"columns, you should consider setting :attr:`row_factory` to the highly " +"optimized :class:`sqlite3.Row` type. :class:`Row` provides both index-based " +"and case-insensitive name-based access to columns with almost no memory " +"overhead. It will probably be better than your own custom dictionary-based " +"approach or even a db_row based solution." msgstr "" -#: library/sqlite3.rst:631 +#: library/sqlite3.rst:976 msgid "" -"The *name* argument specifies the database name that will be copied: it must " -"be a string containing either ``\"main\"``, the default, to indicate the " -"main database, ``\"temp\"`` to indicate the temporary database or the name " -"specified after the ``AS`` keyword in an ``ATTACH DATABASE`` statement for " -"an attached database." +"A callable that accepts a :class:`bytes` parameter and returns a text " +"representation of it. The callable is invoked for SQLite values with the " +"``TEXT`` data type. By default, this attribute is set to :class:`str`. If " +"you want to return ``bytes`` instead, set *text_factory* to ``bytes``." msgstr "" -#: library/sqlite3.rst:637 +#: library/sqlite3.rst:1016 msgid "" -"The *sleep* argument specifies the number of seconds to sleep by between " -"successive attempts to backup remaining pages, can be specified either as an " -"integer or a floating point value." +"Return the total number of database rows that have been modified, inserted, " +"or deleted since the database connection was opened." msgstr "" -#: library/sqlite3.rst:641 -msgid "Example 1, copy an existing database into another::" +#: library/sqlite3.rst:1022 +msgid "Cursor objects" msgstr "" -#: library/sqlite3.rst:655 -msgid "Example 2, copy an existing database into a transient copy::" +#: library/sqlite3.rst:1024 +msgid "" +"A ``Cursor`` object represents a `database cursor`_ which is used to execute " +"SQL statements, and manage the context of a fetch operation. Cursors are " +"created using :meth:`Connection.cursor`, or by using any of the :ref:" +"`connection shortcut methods `." msgstr "" -#: library/sqlite3.rst:669 -msgid "Cursor Objects" +#: library/sqlite3.rst:1031 +msgid "" +"Cursor objects are :term:`iterators `, meaning that if you :meth:" +"`~Cursor.execute` a ``SELECT`` query, you can simply iterate over the cursor " +"to fetch the resulting rows:" msgstr "" -#: library/sqlite3.rst:673 +#: library/sqlite3.rst:1056 msgid "A :class:`Cursor` instance has the following attributes and methods." msgstr "" -#: library/sqlite3.rst:680 +#: library/sqlite3.rst:1063 msgid "" -"Executes an SQL statement. Values may be bound to the statement using :ref:" -"`placeholders `." +"Execute SQL statement *sql*. Bind values to the statement using :ref:" +"`placeholders ` that map to the :term:`sequence` or :" +"class:`dict` *parameters*." msgstr "" -#: library/sqlite3.rst:683 +#: library/sqlite3.rst:1068 msgid "" ":meth:`execute` will only execute a single SQL statement. If you try to " -"execute more than one statement with it, it will raise a :exc:`.Warning`. " +"execute more than one statement with it, it will raise a :exc:`Warning`. " "Use :meth:`executescript` if you want to execute multiple SQL statements " "with one call." msgstr "" -#: library/sqlite3.rst:691 +#: library/sqlite3.rst:1073 msgid "" -"Executes a :ref:`parameterized ` SQL command against " -"all parameter sequences or mappings found in the sequence " -"*seq_of_parameters*. The :mod:`sqlite3` module also allows using an :term:" -"`iterator` yielding parameters instead of a sequence." +"If :attr:`~Connection.isolation_level` is not ``None``, *sql* is an " +"``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is " +"no open transaction, a transaction is implicitly opened before executing " +"*sql*." msgstr "" -#: library/sqlite3.rst:698 -msgid "Here's a shorter example using a :term:`generator`:" +#: library/sqlite3.rst:1081 +msgid "" +"Execute :ref:`parameterized ` SQL statement *sql* " +"against all parameter sequences or mappings found in the sequence " +"*parameters*. It is also possible to use an :term:`iterator` yielding " +"parameters instead of a sequence. Uses the same implicit transaction " +"handling as :meth:`~Cursor.execute`." msgstr "" -#: library/sqlite3.rst:705 +#: library/sqlite3.rst:1100 msgid "" -"This is a nonstandard convenience method for executing multiple SQL " -"statements at once. It issues a ``COMMIT`` statement first, then executes " -"the SQL script it gets as a parameter. This method disregards :attr:" -"`isolation_level`; any transaction control must be added to *sql_script*." +"Execute the SQL statements in *sql_script*. If there is a pending " +"transaction, an implicit ``COMMIT`` statement is executed first. No other " +"implicit transaction control is performed; any transaction control must be " +"added to *sql_script*." msgstr "" -#: library/sqlite3.rst:710 -msgid "*sql_script* can be an instance of :class:`str`." +#: library/sqlite3.rst:1106 +msgid "*sql_script* must be a :class:`string `." msgstr "" -#: library/sqlite3.rst:719 +#: library/sqlite3.rst:1124 msgid "" -"Fetches the next row of a query result set, returning a single sequence, or :" -"const:`None` when no more data is available." +"If :attr:`~Connection.row_factory` is ``None``, return the next row query " +"result set as a :class:`tuple`. Else, pass it to the row factory and return " +"its result. Return ``None`` if no more data is available." msgstr "" -#: library/sqlite3.rst:725 +#: library/sqlite3.rst:1132 msgid "" -"Fetches the next set of rows of a query result, returning a list. An empty " -"list is returned when no more rows are available." +"Return the next set of rows of a query result as a :class:`list`. Return an " +"empty list if no more rows are available." msgstr "" -#: library/sqlite3.rst:728 +#: library/sqlite3.rst:1135 msgid "" "The number of rows to fetch per call is specified by the *size* parameter. " -"If it is not given, the cursor's arraysize determines the number of rows to " -"be fetched. The method should try to fetch as many rows as indicated by the " -"size parameter. If this is not possible due to the specified number of rows " -"not being available, fewer rows may be returned." +"If *size* is not given, :attr:`arraysize` determines the number of rows to " +"be fetched. If fewer than *size* rows are available, as many rows as are " +"available are returned." msgstr "" -#: library/sqlite3.rst:734 +#: library/sqlite3.rst:1141 msgid "" "Note there are performance considerations involved with the *size* " "parameter. For optimal performance, it is usually best to use the arraysize " @@ -875,541 +1063,703 @@ msgid "" "the same value from one :meth:`fetchmany` call to the next." msgstr "" -#: library/sqlite3.rst:741 +#: library/sqlite3.rst:1148 msgid "" -"Fetches all (remaining) rows of a query result, returning a list. Note that " -"the cursor's arraysize attribute can affect the performance of this " -"operation. An empty list is returned when no rows are available." +"Return all (remaining) rows of a query result as a :class:`list`. Return an " +"empty list if no rows are available. Note that the :attr:`arraysize` " +"attribute can affect the performance of this operation." msgstr "" -#: library/sqlite3.rst:747 +#: library/sqlite3.rst:1155 msgid "Close the cursor now (rather than whenever ``__del__`` is called)." msgstr "" -#: library/sqlite3.rst:749 +#: library/sqlite3.rst:1157 msgid "" "The cursor will be unusable from this point forward; a :exc:" "`ProgrammingError` exception will be raised if any operation is attempted " "with the cursor." msgstr "" -#: library/sqlite3.rst:758 -msgid "Required by the DB-API. Does nothing in :mod:`sqlite3`." +#: library/sqlite3.rst:1166 +msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." msgstr "" -#: library/sqlite3.rst:762 +#: library/sqlite3.rst:1170 msgid "" -"Although the :class:`Cursor` class of the :mod:`sqlite3` module implements " -"this attribute, the database engine's own support for the determination of " -"\"rows affected\"/\"rows selected\" is quirky." +"Read/write attribute that controls the number of rows returned by :meth:" +"`fetchmany`. The default value is 1 which means a single row would be " +"fetched per call." msgstr "" -#: library/sqlite3.rst:766 +#: library/sqlite3.rst:1175 msgid "" -"For :meth:`executemany` statements, the number of modifications are summed " -"up into :attr:`rowcount`." +"Read-only attribute that provides the SQLite database :class:`Connection` " +"belonging to the cursor. A :class:`Cursor` object created by calling :meth:" +"`con.cursor() ` will have a :attr:`connection` attribute " +"that refers to *con*:" msgstr "" -#: library/sqlite3.rst:769 +#: library/sqlite3.rst:1189 msgid "" -"As required by the Python DB API Spec, the :attr:`rowcount` attribute \"is " -"-1 in case no ``executeXX()`` has been performed on the cursor or the " -"rowcount of the last operation is not determinable by the interface\". This " -"includes ``SELECT`` statements because we cannot determine the number of " -"rows a query produced until all rows were fetched." +"Read-only attribute that provides the column names of the last query. To " +"remain compatible with the Python DB API, it returns a 7-tuple for each " +"column where the last six items of each tuple are ``None``." +msgstr "" + +#: library/sqlite3.rst:1193 +msgid "It is set for ``SELECT`` statements without any matching rows as well." msgstr "" -#: library/sqlite3.rst:777 +#: library/sqlite3.rst:1197 msgid "" -"This read-only attribute provides the row id of the last inserted row. It is " +"Read-only attribute that provides the row id of the last inserted row. It is " "only updated after successful ``INSERT`` or ``REPLACE`` statements using " "the :meth:`execute` method. For other statements, after :meth:`executemany` " "or :meth:`executescript`, or if the insertion failed, the value of " -"``lastrowid`` is left unchanged. The initial value of ``lastrowid`` is :" -"const:`None`." +"``lastrowid`` is left unchanged. The initial value of ``lastrowid`` is " +"``None``." msgstr "" -#: library/sqlite3.rst:785 +#: library/sqlite3.rst:1205 msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." msgstr "" -#: library/sqlite3.rst:787 +#: library/sqlite3.rst:1207 msgid "Added support for the ``REPLACE`` statement." msgstr "" -#: library/sqlite3.rst:792 +#: library/sqlite3.rst:1212 msgid "" -"Read/write attribute that controls the number of rows returned by :meth:" -"`fetchmany`. The default value is 1 which means a single row would be " -"fetched per call." -msgstr "" - -#: library/sqlite3.rst:797 -msgid "" -"This read-only attribute provides the column names of the last query. To " -"remain compatible with the Python DB API, it returns a 7-tuple for each " -"column where the last six items of each tuple are :const:`None`." +"Read-only attribute that provides the number of modified rows for " +"``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` " +"for other statements, including :abbr:`CTE (Common Table Expression)` " +"queries. It is only updated by the :meth:`execute` and :meth:`executemany` " +"methods." msgstr "" -#: library/sqlite3.rst:801 -msgid "It is set for ``SELECT`` statements without any matching rows as well." +#: library/sqlite3.rst:1227 +msgid "Row objects" msgstr "" -#: library/sqlite3.rst:805 +#: library/sqlite3.rst:1231 msgid "" -"This read-only attribute provides the SQLite database :class:`Connection` " -"used by the :class:`Cursor` object. A :class:`Cursor` object created by " -"calling :meth:`con.cursor() ` will have a :attr:" -"`connection` attribute that refers to *con*::" +"A :class:`!Row` instance serves as a highly optimized :attr:`~Connection." +"row_factory` for :class:`Connection` objects. It supports iteration, " +"equality testing, :func:`len`, and :term:`mapping` access by column name and " +"index." msgstr "" -#: library/sqlite3.rst:818 -msgid "Row Objects" +#: library/sqlite3.rst:1236 +msgid "Two row objects compare equal if have equal columns and equal members." msgstr "" -#: library/sqlite3.rst:822 +#: library/sqlite3.rst:1240 msgid "" -"A :class:`Row` instance serves as a highly optimized :attr:`~Connection." -"row_factory` for :class:`Connection` objects. It tries to mimic a tuple in " -"most of its features." +"Return a :class:`list` of column names as :class:`strings `. " +"Immediately after a query, it is the first member of each tuple in :attr:" +"`Cursor.description`." msgstr "" -#: library/sqlite3.rst:826 -msgid "" -"It supports mapping access by column name and index, iteration, " -"representation, equality testing and :func:`len`." +#: library/sqlite3.rst:1244 +msgid "Added support of slicing." msgstr "" -#: library/sqlite3.rst:829 -msgid "" -"If two :class:`Row` objects have exactly the same columns and their members " -"are equal, they compare equal." +#: library/sqlite3.rst:1264 +msgid "PrepareProtocol objects" msgstr "" -#: library/sqlite3.rst:834 +#: library/sqlite3.rst:1268 msgid "" -"This method returns a list of column names. Immediately after a query, it is " -"the first member of each tuple in :attr:`Cursor.description`." +"The PrepareProtocol type's single purpose is to act as a :pep:`246` style " +"adaption protocol for objects that can :ref:`adapt themselves ` to :ref:`native SQLite types `." msgstr "" -#: library/sqlite3.rst:837 -msgid "Added support of slicing." +#: library/sqlite3.rst:1276 +msgid "Exceptions" +msgstr "Exceptions" + +#: library/sqlite3.rst:1278 +msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." msgstr "" -#: library/sqlite3.rst:840 -msgid "Let's assume we initialize a table as in the example given above::" +#: library/sqlite3.rst:1282 +msgid "" +"This exception is raised by :mod:`!sqlite3` if an SQL query is not a :class:" +"`string `, or if multiple statements are passed to :meth:`~Cursor." +"execute` or :meth:`~Cursor.executemany`. ``Warning`` is a subclass of :exc:" +"`Exception`." msgstr "" -#: library/sqlite3.rst:852 -msgid "Now we plug :class:`Row` in::" +#: library/sqlite3.rst:1289 +#, fuzzy +msgid "" +"The base class of the other exceptions in this module. Use this to catch all " +"errors with one single :keyword:`except` statement. ``Error`` is a subclass " +"of :exc:`Exception`." msgstr "" +"La classe de base des autres exceptions de ce module. C'est une sous-classe " +"de :exc:`Exception`." -#: library/sqlite3.rst:884 -msgid "Exceptions" -msgstr "Exceptions" +#: library/sqlite3.rst:1295 +msgid "" +"This exception is raised by :mod:`!sqlite3` for fetch across rollback, or " +"if :mod:`!sqlite3` is unable to bind parameters. ``InterfaceError`` is a " +"subclass of :exc:`Error`." +msgstr "" -#: library/sqlite3.rst:888 -msgid "A subclass of :exc:`Exception`." +#: library/sqlite3.rst:1301 +msgid "" +"Exception raised for errors that are related to the database. This serves as " +"the base exception for several types of database errors. It is only raised " +"implicitly through the specialised subclasses. ``DatabaseError`` is a " +"subclass of :exc:`Error`." msgstr "" -#: library/sqlite3.rst:892 +#: library/sqlite3.rst:1308 msgid "" -"The base class of the other exceptions in this module. It is a subclass of :" -"exc:`Exception`." +"Exception raised for errors caused by problems with the processed data, like " +"numeric values out of range, and strings which are too long. ``DataError`` " +"is a subclass of :exc:`DatabaseError`." msgstr "" -"La classe de base des autres exceptions de ce module. C'est une sous-classe " -"de :exc:`Exception`." -#: library/sqlite3.rst:897 -msgid "Exception raised for errors that are related to the database." +#: library/sqlite3.rst:1314 +msgid "" +"Exception raised for errors that are related to the database's operation, " +"and not necessarily under the control of the programmer. For example, the " +"database path is not found, or a transaction could not be processed. " +"``OperationalError`` is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:901 +#: library/sqlite3.rst:1322 msgid "" "Exception raised when the relational integrity of the database is affected, " "e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:906 +#: library/sqlite3.rst:1327 msgid "" -"Exception raised for programming errors, e.g. table not found or already " -"exists, syntax error in the SQL statement, wrong number of parameters " -"specified, etc. It is a subclass of :exc:`DatabaseError`." +"Exception raised when SQLite encounters an internal error. If this is " +"raised, it may indicate that there is a problem with the runtime SQLite " +"library. ``InternalError`` is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:912 +#: library/sqlite3.rst:1334 msgid "" -"Exception raised for errors that are related to the database's operation and " -"not necessarily under the control of the programmer, e.g. an unexpected " -"disconnect occurs, the data source name is not found, a transaction could " -"not be processed, etc. It is a subclass of :exc:`DatabaseError`." +"Exception raised for :mod:`!sqlite3` API programming errors, for example " +"trying to operate on a closed :class:`Connection`, or trying to execute non-" +"DML statements with :meth:`~Cursor.executemany`. ``ProgrammingError`` is a " +"subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:919 +#: library/sqlite3.rst:1341 msgid "" -"Exception raised in case a method or database API was used which is not " -"supported by the database, e.g. calling the :meth:`~Connection.rollback` " -"method on a connection that does not support transaction or has transactions " -"turned off. It is a subclass of :exc:`DatabaseError`." +"Exception raised in case a method or database API is not supported by the " +"underlying SQLite library. For example, setting *deterministic* to ``True`` " +"in :meth:`~Connection.create_function`, if the underlying SQLite library " +"does not support deterministic functions. ``NotSupportedError`` is a " +"subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:928 +#: library/sqlite3.rst:1351 msgid "SQLite and Python types" msgstr "" -#: library/sqlite3.rst:932 -msgid "Introduction" -msgstr "Introduction" - -#: library/sqlite3.rst:934 +#: library/sqlite3.rst:1353 msgid "" "SQLite natively supports the following types: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." msgstr "" -#: library/sqlite3.rst:937 +#: library/sqlite3.rst:1356 msgid "" "The following Python types can thus be sent to SQLite without any problem:" msgstr "" -#: library/sqlite3.rst:957 +#: library/sqlite3.rst:1376 msgid "Python type" msgstr "Type Python" -#: library/sqlite3.rst:957 +#: library/sqlite3.rst:1376 msgid "SQLite type" msgstr "SQLite type" -#: library/sqlite3.rst:959 -msgid ":const:`None`" -msgstr ":const:`None`" +#: library/sqlite3.rst:1378 +msgid "``None``" +msgstr "" -#: library/sqlite3.rst:959 +#: library/sqlite3.rst:1378 msgid "``NULL``" msgstr "``NULL``" -#: library/sqlite3.rst:961 +#: library/sqlite3.rst:1380 msgid ":class:`int`" msgstr ":class:`int`" -#: library/sqlite3.rst:961 +#: library/sqlite3.rst:1380 msgid "``INTEGER``" msgstr "``INTEGER``" -#: library/sqlite3.rst:963 +#: library/sqlite3.rst:1382 msgid ":class:`float`" msgstr ":class:`float`" -#: library/sqlite3.rst:963 +#: library/sqlite3.rst:1382 msgid "``REAL``" msgstr "``REAL``" -#: library/sqlite3.rst:948 +#: library/sqlite3.rst:1367 msgid ":class:`str`" msgstr ":class:`str`" -#: library/sqlite3.rst:965 +#: library/sqlite3.rst:1384 msgid "``TEXT``" msgstr "``TEXT``" -#: library/sqlite3.rst:968 +#: library/sqlite3.rst:1387 msgid ":class:`bytes`" msgstr ":class:`bytes`" -#: library/sqlite3.rst:968 +#: library/sqlite3.rst:1387 msgid "``BLOB``" msgstr "``BLOB``" -#: library/sqlite3.rst:954 +#: library/sqlite3.rst:1373 msgid "This is how SQLite types are converted to Python types by default:" msgstr "" -#: library/sqlite3.rst:965 +#: library/sqlite3.rst:1384 msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" msgstr "" -#: library/sqlite3.rst:971 +#: library/sqlite3.rst:1390 msgid "" -"The type system of the :mod:`sqlite3` module is extensible in two ways: you " -"can store additional Python types in an SQLite database via object " -"adaptation, and you can let the :mod:`sqlite3` module convert SQLite types " -"to different Python types via converters." +"The type system of the :mod:`!sqlite3` module is extensible in two ways: you " +"can store additional Python types in an SQLite database via :ref:`object " +"adapters `, and you can let the :mod:`!sqlite3` module " +"convert SQLite types to Python types via :ref:`converters `." msgstr "" -#: library/sqlite3.rst:978 -msgid "Using adapters to store additional Python types in SQLite databases" +#: library/sqlite3.rst:1400 +msgid "Default adapters and converters" msgstr "" -#: library/sqlite3.rst:980 +#: library/sqlite3.rst:1402 msgid "" -"As described before, SQLite supports only a limited set of types natively. " -"To use other Python types with SQLite, you must **adapt** them to one of the " -"sqlite3 module's supported types for SQLite: one of NoneType, int, float, " -"str, bytes." +"There are default adapters for the date and datetime types in the datetime " +"module. They will be sent as ISO dates/ISO timestamps to SQLite." msgstr "" -#: library/sqlite3.rst:985 +#: library/sqlite3.rst:1405 msgid "" -"There are two ways to enable the :mod:`sqlite3` module to adapt a custom " -"Python type to one of the supported ones." +"The default converters are registered under the name \"date\" for :class:" +"`datetime.date` and under the name \"timestamp\" for :class:`datetime." +"datetime`." msgstr "" -#: library/sqlite3.rst:990 -msgid "Letting your object adapt itself" +#: library/sqlite3.rst:1409 +msgid "" +"This way, you can use date/timestamps from Python without any additional " +"fiddling in most cases. The format of the adapters is also compatible with " +"the experimental SQLite date/time functions." msgstr "" -#: library/sqlite3.rst:992 -msgid "" -"This is a good approach if you write the class yourself. Let's suppose you " -"have a class like this::" +#: library/sqlite3.rst:1413 +msgid "The following example demonstrates this." msgstr "" -#: library/sqlite3.rst:999 +#: library/sqlite3.rst:1417 msgid "" -"Now you want to store the point in a single SQLite column. First you'll " -"have to choose one of the supported types to be used for representing the " -"point. Let's just use str and separate the coordinates using a semicolon. " -"Then you need to give your class a method ``__conform__(self, protocol)`` " -"which must return the converted value. The parameter *protocol* will be :" -"class:`PrepareProtocol`." +"If a timestamp stored in SQLite has a fractional part longer than 6 numbers, " +"its value will be truncated to microsecond precision by the timestamp " +"converter." msgstr "" -#: library/sqlite3.rst:1009 -msgid "Registering an adapter callable" +#: library/sqlite3.rst:1423 +msgid "" +"The default \"timestamp\" converter ignores UTC offsets in the database and " +"always returns a naive :class:`datetime.datetime` object. To preserve UTC " +"offsets in timestamps, either leave converters disabled, or register an " +"offset-aware converter with :func:`register_converter`." msgstr "" -#: library/sqlite3.rst:1011 -msgid "" -"The other possibility is to create a function that converts the type to the " -"string representation and register the function with :meth:" -"`register_adapter`." +#: library/sqlite3.rst:1432 +msgid "How-to guides" msgstr "" -#: library/sqlite3.rst:1016 -msgid "" -"The :mod:`sqlite3` module has two default adapters for Python's built-in :" -"class:`datetime.date` and :class:`datetime.datetime` types. Now let's " -"suppose we want to store :class:`datetime.datetime` objects not in ISO " -"representation, but as a Unix timestamp." +#: library/sqlite3.rst:1437 +msgid "How to use placeholders to bind values in SQL queries" msgstr "" -#: library/sqlite3.rst:1025 -msgid "Converting SQLite values to custom Python types" +#: library/sqlite3.rst:1439 +#, fuzzy +msgid "" +"SQL operations usually need to use values from Python variables. However, " +"beware of using Python's string operations to assemble queries, as they are " +"vulnerable to `SQL injection attacks`_ (see the `xkcd webcomic `_ for a humorous example of what can go wrong)::" msgstr "" +"Habituellement, vos opérations SQL utilisent les valeurs de variables " +"Python. Vous ne devez pas assembler votre requête à l'aide des opérations " +"sur les chaînes de caractères de Python, car cela n'est pas sûr. Cela rend " +"votre programme vulnérable à une attaque par injection SQL (voir https://" +"xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner)." -#: library/sqlite3.rst:1027 +#: library/sqlite3.rst:1448 msgid "" -"Writing an adapter lets you send custom Python types to SQLite. But to make " -"it really useful we need to make the Python to SQLite to Python roundtrip " -"work." +"Instead, use the DB-API's parameter substitution. To insert a variable into " +"a query string, use a placeholder in the string, and substitute the actual " +"values into the query by providing them as a :class:`tuple` of values to the " +"second argument of the cursor's :meth:`~Cursor.execute` method. An SQL " +"statement may use one of two kinds of placeholders: question marks (qmark " +"style) or named placeholders (named style). For the qmark style, " +"``parameters`` must be a :term:`sequence `. For the named style, " +"it can be either a :term:`sequence ` or :class:`dict` instance. " +"The length of the :term:`sequence ` must match the number of " +"placeholders, or a :exc:`ProgrammingError` is raised. If a :class:`dict` is " +"given, it must contain keys for all named parameters. Any extra items are " +"ignored. Here's an example of both styles:" msgstr "" -#: library/sqlite3.rst:1030 -msgid "Enter converters." +#: library/sqlite3.rst:1490 +msgid "How to adapt custom Python types to SQLite values" msgstr "" -#: library/sqlite3.rst:1032 +#: library/sqlite3.rst:1492 msgid "" -"Let's go back to the :class:`Point` class. We stored the x and y coordinates " -"separated via semicolons as strings in SQLite." +"SQLite supports only a limited set of data types natively. To store custom " +"Python types in SQLite databases, *adapt* them to one of the :ref:`Python " +"types SQLite natively understands `." msgstr "" -#: library/sqlite3.rst:1035 +#: library/sqlite3.rst:1496 msgid "" -"First, we'll define a converter function that accepts the string as a " -"parameter and constructs a :class:`Point` object from it." +"There are two ways to adapt Python objects to SQLite types: letting your " +"object adapt itself, or using an *adapter callable*. The latter will take " +"precedence above the former. For a library that exports a custom type, it " +"may make sense to enable that type to adapt itself. As an application " +"developer, it may make more sense to take direct control by registering " +"custom adapter functions." msgstr "" -#: library/sqlite3.rst:1040 -msgid "" -"Converter functions **always** get called with a :class:`bytes` object, no " -"matter under which data type you sent the value to SQLite." +#: library/sqlite3.rst:1508 +msgid "How to write adaptable objects" msgstr "" -#: library/sqlite3.rst:1049 +#: library/sqlite3.rst:1510 msgid "" -"Now you need to make the :mod:`sqlite3` module know that what you select " -"from the database is actually a point. There are two ways of doing this:" +"Suppose we have a :class:`!Point` class that represents a pair of " +"coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The " +"coordinate pair will be stored as a text string in the database, using a " +"semicolon to separate the coordinates. This can be implemented by adding a " +"``__conform__(self, protocol)`` method which returns the adapted value. The " +"object passed to *protocol* will be of type :class:`PrepareProtocol`." msgstr "" -#: library/sqlite3.rst:1052 -msgid "Implicitly via the declared type" +#: library/sqlite3.rst:1541 +msgid "How to register adapter callables" msgstr "" -#: library/sqlite3.rst:1054 -msgid "Explicitly via the column name" +#: library/sqlite3.rst:1543 +msgid "" +"The other possibility is to create a function that converts the Python " +"object to an SQLite-compatible type. This function can then be registered " +"using :func:`register_adapter`." msgstr "" -#: library/sqlite3.rst:1056 -msgid "" -"Both ways are described in section :ref:`sqlite3-module-contents`, in the " -"entries for the constants :const:`PARSE_DECLTYPES` and :const:" -"`PARSE_COLNAMES`." +#: library/sqlite3.rst:1573 +msgid "How to convert SQLite values to custom Python types" msgstr "" -#: library/sqlite3.rst:1059 -msgid "The following example illustrates both approaches." +#: library/sqlite3.rst:1575 +msgid "" +"Writing an adapter lets you convert *from* custom Python types *to* SQLite " +"values. To be able to convert *from* SQLite values *to* custom Python types, " +"we use *converters*." msgstr "" -#: library/sqlite3.rst:1065 -msgid "Default adapters and converters" +#: library/sqlite3.rst:1580 +msgid "" +"Let's go back to the :class:`!Point` class. We stored the x and y " +"coordinates separated via semicolons as strings in SQLite." msgstr "" -#: library/sqlite3.rst:1067 +#: library/sqlite3.rst:1583 msgid "" -"There are default adapters for the date and datetime types in the datetime " -"module. They will be sent as ISO dates/ISO timestamps to SQLite." +"First, we'll define a converter function that accepts the string as a " +"parameter and constructs a :class:`!Point` object from it." msgstr "" -#: library/sqlite3.rst:1070 +#: library/sqlite3.rst:1588 msgid "" -"The default converters are registered under the name \"date\" for :class:" -"`datetime.date` and under the name \"timestamp\" for :class:`datetime." -"datetime`." +"Converter functions are **always** passed a :class:`bytes` object, no matter " +"the underlying SQLite data type." msgstr "" -#: library/sqlite3.rst:1074 +#: library/sqlite3.rst:1597 msgid "" -"This way, you can use date/timestamps from Python without any additional " -"fiddling in most cases. The format of the adapters is also compatible with " -"the experimental SQLite date/time functions." +"We now need to tell :mod:`!sqlite3` when it should convert a given SQLite " +"value. This is done when connecting to a database, using the *detect_types* " +"parameter of :func:`connect`. There are three options:" msgstr "" -#: library/sqlite3.rst:1078 -msgid "The following example demonstrates this." +#: library/sqlite3.rst:1601 +msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" msgstr "" -#: library/sqlite3.rst:1082 -msgid "" -"If a timestamp stored in SQLite has a fractional part longer than 6 numbers, " -"its value will be truncated to microsecond precision by the timestamp " -"converter." +#: library/sqlite3.rst:1602 +msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" msgstr "" -#: library/sqlite3.rst:1088 +#: library/sqlite3.rst:1603 msgid "" -"The default \"timestamp\" converter ignores UTC offsets in the database and " -"always returns a naive :class:`datetime.datetime` object. To preserve UTC " -"offsets in timestamps, either leave converters disabled, or register an " -"offset-aware converter with :func:`register_converter`." +"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3." +"PARSE_COLNAMES``. Column names take precedence over declared types." msgstr "" -#: library/sqlite3.rst:1096 -msgid "Controlling Transactions" +#: library/sqlite3.rst:1607 +msgid "The following example illustrates the implicit and explicit approaches:" msgstr "" -#: library/sqlite3.rst:1098 -msgid "" -"The underlying ``sqlite3`` library operates in ``autocommit`` mode by " -"default, but the Python :mod:`sqlite3` module by default does not." +#: library/sqlite3.rst:1658 +msgid "Adapter and converter recipes" msgstr "" -#: library/sqlite3.rst:1101 -msgid "" -"``autocommit`` mode means that statements that modify the database take " -"effect immediately. A ``BEGIN`` or ``SAVEPOINT`` statement disables " -"``autocommit`` mode, and a ``COMMIT``, a ``ROLLBACK``, or a ``RELEASE`` that " -"ends the outermost transaction, turns ``autocommit`` mode back on." +#: library/sqlite3.rst:1660 +msgid "This section shows recipes for common adapters and converters." msgstr "" -#: library/sqlite3.rst:1106 -msgid "" -"The Python :mod:`sqlite3` module by default issues a ``BEGIN`` statement " -"implicitly before a Data Modification Language (DML) statement (i.e. " -"``INSERT``/``UPDATE``/``DELETE``/``REPLACE``)." +#: library/sqlite3.rst:1703 +msgid "How to use connection shortcut methods" msgstr "" -#: library/sqlite3.rst:1110 +#: library/sqlite3.rst:1705 msgid "" -"You can control which kind of ``BEGIN`` statements :mod:`sqlite3` implicitly " -"executes via the *isolation_level* parameter to the :func:`connect` call, or " -"via the :attr:`isolation_level` property of connections. If you specify no " -"*isolation_level*, a plain ``BEGIN`` is used, which is equivalent to " -"specifying ``DEFERRED``. Other possible values are ``IMMEDIATE`` and " -"``EXCLUSIVE``." +"Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :" +"meth:`~Connection.executescript` methods of the :class:`Connection` class, " +"your code can be written more concisely because you don't have to create the " +"(often superfluous) :class:`Cursor` objects explicitly. Instead, the :class:" +"`Cursor` objects are created implicitly and these shortcut methods return " +"the cursor objects. This way, you can execute a ``SELECT`` statement and " +"iterate over it directly using only a single call on the :class:`Connection` " +"object." +msgstr "" + +#: library/sqlite3.rst:1746 +msgid "How to use the connection context manager" msgstr "" -#: library/sqlite3.rst:1117 +#: library/sqlite3.rst:1748 msgid "" -"You can disable the :mod:`sqlite3` module's implicit transaction management " -"by setting :attr:`isolation_level` to ``None``. This will leave the " -"underlying ``sqlite3`` library operating in ``autocommit`` mode. You can " -"then completely control the transaction state by explicitly issuing " -"``BEGIN``, ``ROLLBACK``, ``SAVEPOINT``, and ``RELEASE`` statements in your " -"code." +"A :class:`Connection` object can be used as a context manager that " +"automatically commits or rolls back open transactions when leaving the body " +"of the context manager. If the body of the :keyword:`with` statement " +"finishes without exceptions, the transaction is committed. If this commit " +"fails, or if the body of the ``with`` statement raises an uncaught " +"exception, the transaction is rolled back." msgstr "" -#: library/sqlite3.rst:1123 +#: library/sqlite3.rst:1757 msgid "" -"Note that :meth:`~Cursor.executescript` disregards :attr:`isolation_level`; " -"any transaction control must be added explicitly." +"If there is no open transaction upon leaving the body of the ``with`` " +"statement, the context manager is a no-op." msgstr "" -#: library/sqlite3.rst:1126 +#: library/sqlite3.rst:1762 msgid "" -":mod:`sqlite3` used to implicitly commit an open transaction before DDL " -"statements. This is no longer the case." +"The context manager neither implicitly opens a new transaction nor closes " +"the connection." msgstr "" -#: library/sqlite3.rst:1132 -msgid "Using :mod:`sqlite3` efficiently" +#: library/sqlite3.rst:1795 +msgid "How to work with SQLite URIs" +msgstr "" + +#: library/sqlite3.rst:1797 +msgid "Some useful URI tricks include:" msgstr "" -#: library/sqlite3.rst:1136 -msgid "Using shortcut methods" +#: library/sqlite3.rst:1799 +msgid "Open a database in read-only mode:" msgstr "" -#: library/sqlite3.rst:1138 +#: library/sqlite3.rst:1808 msgid "" -"Using the nonstandard :meth:`execute`, :meth:`executemany` and :meth:" -"`executescript` methods of the :class:`Connection` object, your code can be " -"written more concisely because you don't have to create the (often " -"superfluous) :class:`Cursor` objects explicitly. Instead, the :class:" -"`Cursor` objects are created implicitly and these shortcut methods return " -"the cursor objects. This way, you can execute a ``SELECT`` statement and " -"iterate over it directly using only a single call on the :class:`Connection` " -"object." +"Do not implicitly create a new database file if it does not already exist; " +"will raise :exc:`~sqlite3.OperationalError` if unable to create a new file:" msgstr "" -#: library/sqlite3.rst:1150 -msgid "Accessing columns by name instead of by index" +#: library/sqlite3.rst:1818 +msgid "Create a shared named in-memory database:" msgstr "" -#: library/sqlite3.rst:1152 +#: library/sqlite3.rst:1832 msgid "" -"One useful feature of the :mod:`sqlite3` module is the built-in :class:" -"`sqlite3.Row` class designed to be used as a row factory." +"More information about this feature, including a list of parameters, can be " +"found in the `SQLite URI documentation`_." msgstr "" -#: library/sqlite3.rst:1155 +#: library/sqlite3.rst:1841 +#, fuzzy +msgid "Explanation" +msgstr "Exceptions" + +#: library/sqlite3.rst:1846 +msgid "Transaction control" +msgstr "" + +#: library/sqlite3.rst:1848 msgid "" -"Rows wrapped with this class can be accessed both by index (like tuples) and " -"case-insensitively by name:" +"The :mod:`!sqlite3` module does not adhere to the transaction handling " +"recommended by :pep:`249`." msgstr "" -#: library/sqlite3.rst:1162 -msgid "Using the connection as a context manager" +#: library/sqlite3.rst:1851 +msgid "" +"If the connection attribute :attr:`~Connection.isolation_level` is not " +"``None``, new transactions are implicitly opened before :meth:`~Cursor." +"execute` and :meth:`~Cursor.executemany` executes ``INSERT``, ``UPDATE``, " +"``DELETE``, or ``REPLACE`` statements; for other statements, no implicit " +"transaction handling is performed. Use the :meth:`~Connection.commit` and :" +"meth:`~Connection.rollback` methods to respectively commit and roll back " +"pending transactions. You can choose the underlying `SQLite transaction " +"behaviour`_ — that is, whether and what type of ``BEGIN`` statements :mod:`!" +"sqlite3` implicitly executes – via the :attr:`~Connection.isolation_level` " +"attribute." msgstr "" -#: library/sqlite3.rst:1164 +#: library/sqlite3.rst:1864 msgid "" -"Connection objects can be used as context managers that automatically commit " -"or rollback transactions. In the event of an exception, the transaction is " -"rolled back; otherwise, the transaction is committed:" +"If :attr:`~Connection.isolation_level` is set to ``None``, no transactions " +"are implicitly opened at all. This leaves the underlying SQLite library in " +"`autocommit mode`_, but also allows the user to perform their own " +"transaction handling using explicit SQL statements. The underlying SQLite " +"library autocommit mode can be queried using the :attr:`~Connection." +"in_transaction` attribute." msgstr "" -#: library/sqlite3.rst:1173 -msgid "Footnotes" -msgstr "Notes" +#: library/sqlite3.rst:1872 +msgid "" +"The :meth:`~Cursor.executescript` method implicitly commits any pending " +"transaction before execution of the given SQL script, regardless of the " +"value of :attr:`~Connection.isolation_level`." +msgstr "" -#: library/sqlite3.rst:1174 +#: library/sqlite3.rst:1876 msgid "" -"The sqlite3 module is not built with loadable extension support by default, " -"because some platforms (notably macOS) have SQLite libraries which are " -"compiled without this feature. To get loadable extension support, you must " -"pass the :option:`--enable-loadable-sqlite-extensions` option to configure." +":mod:`!sqlite3` used to implicitly commit an open transaction before DDL " +"statements. This is no longer the case." msgstr "" +#, fuzzy +#~ msgid "" +#~ "To use the module, start by creating a :class:`Connection` object that " +#~ "represents the database. Here the data will be stored in the :file:" +#~ "`example.db` file::" +#~ msgstr "" +#~ "Pour utiliser le module, vous devez d’abord créer une :class:`Connection` " +#~ "qui représente la base de données. Dans cet exemple, les données sont " +#~ "stockées dans le fichier :file:`example.db` ::" + +#, fuzzy +#~ msgid "" +#~ "The special path name ``:memory:`` can be provided to create a temporary " +#~ "database in RAM." +#~ msgstr "" +#~ "Vous pouvez également fournir le nom spécial ``:memory:`` pour créer une " +#~ "base de données dans la mémoire vive." + +#, fuzzy +#~ msgid "" +#~ "Once a :class:`Connection` has been established, create a :class:`Cursor` " +#~ "object and call its :meth:`~Cursor.execute` method to perform SQL " +#~ "commands::" +#~ msgstr "" +#~ "Une fois que vous avez une instance de :class:`Connection`, vous pouvez " +#~ "créer un objet :class:`Cursor` et appeler sa méthode :meth:`~Cursor." +#~ "execute` pour exécuter les commandes SQL ::" + +#, fuzzy +#~ msgid "" +#~ "To retrieve data after executing a SELECT statement, either treat the " +#~ "cursor as an :term:`iterator`, call the cursor's :meth:`~Cursor.fetchone` " +#~ "method to retrieve a single matching row, or call :meth:`~Cursor." +#~ "fetchall` to get a list of the matching rows." +#~ msgstr "" +#~ "Pour récupérer des données après avoir exécuté une instruction *SELECT*, " +#~ "vous pouvez considérer le curseur comme un :term:`itérateur `, " +#~ "appeler la méthode du curseur :meth:`~Cursor.fetchone` pour récupérer une " +#~ "seule ligne correspondante ou appeler :meth:`~Cursor.fetchall` pour " +#~ "obtenir une liste des lignes correspondantes." + +#~ msgid "This example uses the iterator form::" +#~ msgstr "Cet exemple utilise la forme itérateur ::" + +#~ msgid "" +#~ "This constant is meant to be used with the *detect_types* parameter of " +#~ "the :func:`connect` function." +#~ msgstr "" +#~ "Cette constante est destinée à être utilisée avec le paramètre " +#~ "*detect_types* de la fonction :func:`connect`." + +#~ msgid "" +#~ "Setting it makes the :mod:`sqlite3` module parse the declared type for " +#~ "each column it returns. It will parse out the first word of the declared " +#~ "type, i. e. for \"integer primary key\", it will parse out \"integer\", " +#~ "or for \"number(10)\" it will parse out \"number\". Then for that column, " +#~ "it will look into the converters dictionary and use the converter " +#~ "function registered for that type there." +#~ msgstr "" +#~ "Si elle est définie, le module :mod:`sqlite3` analyse le type de donnée " +#~ "déclarée pour chaque colonne. Il déduit le type du premier mot de la " +#~ "déclaration, par exemple de *integer primary key* il gardera *integer*, " +#~ "ou de *number(10)* il gardera *number*. Ensuite, pour cette colonne, il " +#~ "utilisera une fonction de conversion du dictionnaire des convertisseurs." + +#, fuzzy +#~ msgid "" +#~ "Setting this makes the SQLite interface parse the column name for each " +#~ "column it returns. It will look for a string formed [mytype] in there, " +#~ "and then decide that 'mytype' is the type of the column. It will try to " +#~ "find an entry of 'mytype' in the converters dictionary and then use the " +#~ "converter function found there to return the value. The column name found " +#~ "in :attr:`Cursor.description` does not include the type, i. e. if you use " +#~ "something like ``'as \"Expiration date [datetime]\"'`` in your SQL, then " +#~ "we will parse out everything until the first ``'['`` for the column name " +#~ "and strip the preceding space: the column name would simply be " +#~ "\"Expiration date\"." +#~ msgstr "" +#~ "Permet à l’interface SQLite d'analyser le nom pour chaque colonne. Il y " +#~ "cherchera une chaîne comme ``[mytype]`` indiquant que la colonne est de " +#~ "type ``mytype``. Il essaiera de trouver une entrée *mytype* dans le " +#~ "dictionnaire, puis utilisera la fonction de conversion qui s'y trouve " +#~ "pour renvoyer la valeur. Le nom de colonne donnée à :attr:`Cursor." +#~ "description` n'est alors que le premier mot du nom de la colonne, par " +#~ "exemple si vous utilisez ``'as \\\"x [datetime]\\\"'`` dans votre code " +#~ "SQL, le nom de la colonne sera simplement *x*." + +#~ msgid "" +#~ "Opens a connection to the SQLite database file *database*. By default " +#~ "returns a :class:`Connection` object, unless a custom *factory* is given." +#~ msgstr "" +#~ "Ouvre une connexion à la base de données SQLite *database*. Par défaut, " +#~ "cette commande renvoie un objet :class:`Connection`, sauf si *factory* " +#~ "est donné." + +#~ msgid "Example::" +#~ msgstr "Exemple ::" + +#~ msgid "Introduction" +#~ msgstr "Introduction" + +#~ msgid ":const:`None`" +#~ msgstr ":const:`None`" + +#~ msgid "Footnotes" +#~ msgstr "Notes" + #~ msgid "" #~ "The data you've saved is persistent and is available in subsequent " #~ "sessions::" diff --git a/library/ssl.po b/library/ssl.po index b93a1521b2..c68306ca25 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-03-30 22:31+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -2242,7 +2242,7 @@ msgstr "" msgid "" "Get statistics about the SSL sessions created or managed by this context. A " "dictionary is returned which maps the names of each `piece of information " -"`_ to " +"`_ to " "their numeric values. For example, here is the total number of hits and " "misses in the session cache since the context was created::" msgstr "" @@ -3061,7 +3061,7 @@ msgid "" "`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the ssl module " "disables certain weak ciphers by default, but you may want to further " "restrict the cipher choice. Be sure to read OpenSSL's documentation about " -"the `cipher list format `_. If you want to check which ciphers are enabled " "by a given cipher list, use :meth:`SSLContext.get_ciphers` or the ``openssl " "ciphers`` command on your system." diff --git a/library/stat.po b/library/stat.po index b896efbbcc..d72f4d63b9 100644 --- a/library/stat.po +++ b/library/stat.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-27 22:03+0200\n" +"Last-Translator: Jean Lapostolle \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Last-Translator: Jean Lapostolle \n" "X-Generator: Poedit 3.0\n" #: library/stat.rst:2 diff --git a/library/statistics.po b/library/statistics.po index e684959016..d2969b3e7e 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:34+0200\n" "Last-Translator: Nicolas Audebert \n" "Language-Team: FRENCH \n" @@ -64,11 +64,22 @@ msgstr "" "vous pouvez utiliser :func:`map` pour vous assurer que le résultat est " "cohérent, par exemple : ``map(float, input_data)``." -#: library/statistics.rst:39 +#: library/statistics.rst:38 +msgid "" +"Some datasets use ``NaN`` (not a number) values to represent missing data. " +"Since NaNs have unusual comparison semantics, they cause surprising or " +"undefined behaviors in the statistics functions that sort data or that count " +"occurrences. The functions affected are ``median()``, ``median_low()``, " +"``median_high()``, ``median_grouped()``, ``mode()``, ``multimode()``, and " +"``quantiles()``. The ``NaN`` values should be stripped before calling these " +"functions::" +msgstr "" + +#: library/statistics.rst:68 msgid "Averages and measures of central location" msgstr "Moyennes et mesures de la tendance centrale" -#: library/statistics.rst:41 +#: library/statistics.rst:70 msgid "" "These functions calculate an average or typical value from a population or " "sample." @@ -76,105 +87,105 @@ msgstr "" "Ces fonctions calculent une moyenne ou une valeur typique à partir d'une " "population ou d'un échantillon." -#: library/statistics.rst:45 +#: library/statistics.rst:74 msgid ":func:`mean`" msgstr ":func:`mean`" -#: library/statistics.rst:45 +#: library/statistics.rst:74 msgid "Arithmetic mean (\"average\") of data." msgstr "Moyenne arithmétique des données." -#: library/statistics.rst:46 +#: library/statistics.rst:75 msgid ":func:`fmean`" msgstr ":func:`fmean`" -#: library/statistics.rst:46 +#: library/statistics.rst:75 msgid "Fast, floating point arithmetic mean." msgstr "Moyenne arithmétique rapide en calcul à virgule flottante." -#: library/statistics.rst:47 +#: library/statistics.rst:76 msgid ":func:`geometric_mean`" msgstr ":func:`geometric_mean`" -#: library/statistics.rst:47 +#: library/statistics.rst:76 msgid "Geometric mean of data." msgstr "Moyenne géométrique des données." -#: library/statistics.rst:48 +#: library/statistics.rst:77 msgid ":func:`harmonic_mean`" msgstr ":func:`harmonic_mean`" -#: library/statistics.rst:48 +#: library/statistics.rst:77 msgid "Harmonic mean of data." msgstr "Moyenne harmonique des données." -#: library/statistics.rst:49 +#: library/statistics.rst:78 msgid ":func:`median`" msgstr ":func:`median`" -#: library/statistics.rst:49 +#: library/statistics.rst:78 msgid "Median (middle value) of data." msgstr "Médiane (valeur centrale) des données." -#: library/statistics.rst:50 +#: library/statistics.rst:79 msgid ":func:`median_low`" msgstr ":func:`median_low`" -#: library/statistics.rst:50 +#: library/statistics.rst:79 msgid "Low median of data." msgstr "Médiane basse des données." -#: library/statistics.rst:51 +#: library/statistics.rst:80 msgid ":func:`median_high`" msgstr ":func:`median_high`" -#: library/statistics.rst:51 +#: library/statistics.rst:80 msgid "High median of data." msgstr "Médiane haute des données." -#: library/statistics.rst:52 +#: library/statistics.rst:81 msgid ":func:`median_grouped`" msgstr ":func:`median_grouped`" -#: library/statistics.rst:52 +#: library/statistics.rst:81 msgid "Median, or 50th percentile, of grouped data." msgstr "" "Médiane de données groupées, calculée comme le 50\\ :sup:`e` percentile." -#: library/statistics.rst:53 +#: library/statistics.rst:82 msgid ":func:`mode`" msgstr ":func:`mode`" -#: library/statistics.rst:53 +#: library/statistics.rst:82 msgid "Single mode (most common value) of discrete or nominal data." msgstr "" "Mode principal (la valeur la plus représentée) de données discrètes ou " "nominales." -#: library/statistics.rst:54 +#: library/statistics.rst:83 msgid ":func:`multimode`" msgstr ":func:`multimode`" -#: library/statistics.rst:54 +#: library/statistics.rst:83 #, fuzzy msgid "List of modes (most common values) of discrete or nominal data." msgstr "" "Liste des modes (les valeurs les plus représentées) de données discrètes ou " "nominales." -#: library/statistics.rst:55 +#: library/statistics.rst:84 msgid ":func:`quantiles`" msgstr ":func:`quantiles`" -#: library/statistics.rst:55 +#: library/statistics.rst:84 msgid "Divide data into intervals with equal probability." msgstr "Divise les données en intervalles de même probabilité." -#: library/statistics.rst:59 +#: library/statistics.rst:88 msgid "Measures of spread" msgstr "Mesures de la dispersion" -#: library/statistics.rst:61 +#: library/statistics.rst:90 msgid "" "These functions calculate a measure of how much the population or sample " "tends to deviate from the typical or average values." @@ -182,79 +193,79 @@ msgstr "" "Ces fonctions mesurent la tendance de la population ou d'un échantillon à " "dévier des valeurs typiques ou des valeurs moyennes." -#: library/statistics.rst:65 +#: library/statistics.rst:94 msgid ":func:`pstdev`" msgstr ":func:`pstdev`" -#: library/statistics.rst:65 +#: library/statistics.rst:94 msgid "Population standard deviation of data." msgstr "Écart-type de la population." -#: library/statistics.rst:66 +#: library/statistics.rst:95 msgid ":func:`pvariance`" msgstr ":func:`pvariance`" -#: library/statistics.rst:66 +#: library/statistics.rst:95 msgid "Population variance of data." msgstr "Variance de la population." -#: library/statistics.rst:67 +#: library/statistics.rst:96 msgid ":func:`stdev`" msgstr ":func:`stdev`" -#: library/statistics.rst:67 +#: library/statistics.rst:96 msgid "Sample standard deviation of data." msgstr "Écart-type d'un échantillon." -#: library/statistics.rst:68 +#: library/statistics.rst:97 msgid ":func:`variance`" msgstr ":func:`variance`" -#: library/statistics.rst:68 +#: library/statistics.rst:97 msgid "Sample variance of data." msgstr "Variance d'un échantillon." -#: library/statistics.rst:72 +#: library/statistics.rst:101 msgid "Statistics for relations between two inputs" msgstr "" -#: library/statistics.rst:74 +#: library/statistics.rst:103 msgid "" "These functions calculate statistics regarding relations between two inputs." msgstr "" -#: library/statistics.rst:77 +#: library/statistics.rst:106 #, fuzzy msgid ":func:`covariance`" msgstr ":func:`variance`" -#: library/statistics.rst:77 +#: library/statistics.rst:106 #, fuzzy msgid "Sample covariance for two variables." msgstr "Variance d'un échantillon." -#: library/statistics.rst:78 +#: library/statistics.rst:107 #, fuzzy msgid ":func:`correlation`" msgstr ":func:`mean`" -#: library/statistics.rst:78 +#: library/statistics.rst:107 msgid "Pearson's correlation coefficient for two variables." msgstr "" -#: library/statistics.rst:79 +#: library/statistics.rst:108 msgid ":func:`linear_regression`" msgstr ":func:`linear_regression`" -#: library/statistics.rst:79 +#: library/statistics.rst:108 msgid "Slope and intercept for simple linear regression." msgstr "" -#: library/statistics.rst:84 +#: library/statistics.rst:113 msgid "Function details" msgstr "Détails des fonctions" -#: library/statistics.rst:86 +#: library/statistics.rst:115 msgid "" "Note: The functions do not require the data given to them to be sorted. " "However, for reading convenience, most of the examples show sorted sequences." @@ -263,7 +274,7 @@ msgstr "" "Toutefois, pour en faciliter la lecture, les exemples utiliseront des " "séquences croissantes." -#: library/statistics.rst:91 +#: library/statistics.rst:120 msgid "" "Return the sample arithmetic mean of *data* which can be a sequence or " "iterable." @@ -271,7 +282,7 @@ msgstr "" "Renvoie la moyenne arithmétique de l'échantillon *data* qui peut être une " "séquence ou un itérable." -#: library/statistics.rst:93 +#: library/statistics.rst:122 msgid "" "The arithmetic mean is the sum of the data divided by the number of data " "points. It is commonly called \"the average\", although it is only one of " @@ -284,15 +295,15 @@ msgstr "" "mathématiquement la moyenne. C'est une mesure de la tendance centrale des " "données." -#: library/statistics.rst:98 +#: library/statistics.rst:127 msgid "If *data* is empty, :exc:`StatisticsError` will be raised." msgstr "Une erreur :exc:`StatisticsError` est levée si *data* est vide." -#: library/statistics.rst:100 +#: library/statistics.rst:129 msgid "Some examples of use:" msgstr "Exemples d'utilisation :" -#: library/statistics.rst:119 +#: library/statistics.rst:148 #, fuzzy msgid "" "The mean is strongly affected by `outliers `_ function in the Gnome Gnumeric " @@ -617,7 +628,7 @@ msgstr "" "`cette discussion `_." -#: library/statistics.rst:338 +#: library/statistics.rst:367 msgid "" "Return the single most common data point from discrete or nominal *data*. " "The mode (when it exists) is the most typical value and serves as a measure " @@ -627,7 +638,7 @@ msgstr "" "nominale). Ce mode, lorsqu'il existe, est la valeur la plus représentative " "des données et est une mesure de la tendance centrale." -#: library/statistics.rst:342 +#: library/statistics.rst:371 msgid "" "If there are multiple modes with the same frequency, returns the first one " "encountered in the *data*. If the smallest or largest of those is desired " @@ -640,7 +651,7 @@ msgstr "" "petit mode ou le plus grand mode. Lève une erreur :exc:`StatisticsError` si " "*data* est vide." -#: library/statistics.rst:347 +#: library/statistics.rst:376 msgid "" "``mode`` assumes discrete data and returns a single value. This is the " "standard treatment of the mode as commonly taught in schools:" @@ -649,7 +660,7 @@ msgstr "" "Il s'agit de la définition usuelle du mode telle qu'enseignée dans à " "l'école :" -#: library/statistics.rst:355 +#: library/statistics.rst:384 msgid "" "The mode is unique in that it is the only statistic in this package that " "also applies to nominal (non-numeric) data:" @@ -657,7 +668,7 @@ msgstr "" "Le mode a la particularité d'être la seule statistique de ce module à " "pouvoir être calculée sur des données nominales (non numériques) :" -#: library/statistics.rst:363 +#: library/statistics.rst:392 msgid "" "Now handles multimodal datasets by returning the first mode encountered. " "Formerly, it raised :exc:`StatisticsError` when more than one mode was found." @@ -666,7 +677,7 @@ msgstr "" "premier mode rencontré. Précédemment, une erreur :exc:`StatisticsError` " "était levée si plusieurs modes étaient trouvés." -#: library/statistics.rst:371 +#: library/statistics.rst:400 msgid "" "Return a list of the most frequently occurring values in the order they were " "first encountered in the *data*. Will return more than one result if there " @@ -676,7 +687,7 @@ msgstr "" "d'apparition dans *data*. Renvoie plusieurs résultats s'il y a plusieurs " "modes ou une liste vide si *data* est vide :" -#: library/statistics.rst:387 +#: library/statistics.rst:416 msgid "" "Return the population standard deviation (the square root of the population " "variance). See :func:`pvariance` for arguments and other details." @@ -685,7 +696,7 @@ msgstr "" "population). Voir :func:`pvariance` pour les arguments et d'autres " "précisions." -#: library/statistics.rst:398 +#: library/statistics.rst:427 msgid "" "Return the population variance of *data*, a non-empty sequence or iterable " "of real-valued numbers. Variance, or second moment about the mean, is a " @@ -699,7 +710,7 @@ msgstr "" "indique une large dispersion des valeurs ; une faible variance indique que " "les valeurs sont resserrées autour de la moyenne." -#: library/statistics.rst:404 +#: library/statistics.rst:433 msgid "" "If the optional second argument *mu* is given, it is typically the mean of " "the *data*. It can also be used to compute the second moment around a point " @@ -712,7 +723,7 @@ msgstr "" "autrement, cela permet de calculer le moment de second ordre autour d'un " "point qui n'est pas la moyenne." -#: library/statistics.rst:409 +#: library/statistics.rst:438 msgid "" "Use this function to calculate the variance from the entire population. To " "estimate the variance from a sample, the :func:`variance` function is " @@ -722,15 +733,15 @@ msgstr "" "complète. Pour estimer la variance à partir d'un échantillon, utilisez " "plutôt :func:`variance` à la place." -#: library/statistics.rst:413 +#: library/statistics.rst:442 msgid "Raises :exc:`StatisticsError` if *data* is empty." msgstr "Lève une erreur :exc:`StatisticsError` si *data* est vide." -#: library/statistics.rst:485 library/statistics.rst:617 +#: library/statistics.rst:514 library/statistics.rst:646 msgid "Examples:" msgstr "Exemples :" -#: library/statistics.rst:423 +#: library/statistics.rst:452 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *mu* to avoid recalculation:" @@ -739,11 +750,11 @@ msgstr "" "comme argument optionnel *mu* lors de l'appel de fonction pour éviter de la " "calculer une nouvelle fois :" -#: library/statistics.rst:432 +#: library/statistics.rst:461 msgid "Decimals and Fractions are supported:" msgstr "La fonction gère les nombres décimaux et les fractions :" -#: library/statistics.rst:446 +#: library/statistics.rst:475 msgid "" "When called with the entire population, this gives the population variance " "σ². When called on a sample instead, this is the biased sample variance s², " @@ -754,7 +765,7 @@ msgstr "" "échantillon, le résultat est alors la variance de l'échantillon s² ou " "variance à N degrés de liberté." -#: library/statistics.rst:450 +#: library/statistics.rst:479 msgid "" "If you somehow know the true population mean μ, you may use this function to " "calculate the variance of a sample, giving the known population mean as the " @@ -769,7 +780,7 @@ msgstr "" "dans la population, le résultat sera une estimation non biaisée de la " "variance de la population." -#: library/statistics.rst:459 +#: library/statistics.rst:488 msgid "" "Return the sample standard deviation (the square root of the sample " "variance). See :func:`variance` for arguments and other details." @@ -777,7 +788,7 @@ msgstr "" "Renvoie l'écart-type de l'échantillon (racine carrée de la variance de " "l'échantillon). Voir :func:`variance` pour les arguments et plus de détails." -#: library/statistics.rst:470 +#: library/statistics.rst:499 msgid "" "Return the sample variance of *data*, an iterable of at least two real-" "valued numbers. Variance, or second moment about the mean, is a measure of " @@ -791,7 +802,7 @@ msgstr "" "les données sont très dispersées ; une variance faible indique que les " "valeurs sont resserrées autour de la moyenne." -#: library/statistics.rst:476 +#: library/statistics.rst:505 msgid "" "If the optional second argument *xbar* is given, it should be the mean of " "*data*. If it is missing or ``None`` (the default), the mean is " @@ -801,7 +812,7 @@ msgstr "" "correspondre à la moyenne de *data*. S'il n'est pas spécifié ou ``None`` " "(par défaut), la moyenne est automatiquement calculée." -#: library/statistics.rst:480 +#: library/statistics.rst:509 msgid "" "Use this function when your data is a sample from a population. To calculate " "the variance from the entire population, see :func:`pvariance`." @@ -810,13 +821,13 @@ msgstr "" "population plus grande. Pour calculer la variance d'une population complète, " "utilisez :func:`pvariance`." -#: library/statistics.rst:483 +#: library/statistics.rst:512 msgid "Raises :exc:`StatisticsError` if *data* has fewer than two values." msgstr "" "Lève une erreur :exc:`StatisticsError` si *data* contient moins de deux " "éléments." -#: library/statistics.rst:493 +#: library/statistics.rst:522 msgid "" "If you have already calculated the mean of your data, you can pass it as the " "optional second argument *xbar* to avoid recalculation:" @@ -825,7 +836,7 @@ msgstr "" "comme argument optionnel *xbar* lors de l'appel de fonction pour éviter de " "la calculer une nouvelle fois :" -#: library/statistics.rst:502 +#: library/statistics.rst:531 msgid "" "This function does not attempt to verify that you have passed the actual " "mean as *xbar*. Using arbitrary values for *xbar* can lead to invalid or " @@ -835,11 +846,11 @@ msgstr "" "correspond bien à la moyenne. Utiliser des valeurs arbitraires pour *xbar* " "produit des résultats impossibles ou incorrects." -#: library/statistics.rst:506 +#: library/statistics.rst:535 msgid "Decimal and Fraction values are supported:" msgstr "La fonction gère les nombres décimaux et les fractions :" -#: library/statistics.rst:520 +#: library/statistics.rst:549 msgid "" "This is the sample variance s² with Bessel's correction, also known as " "variance with N-1 degrees of freedom. Provided that the data points are " @@ -852,7 +863,7 @@ msgstr "" "identiquement distribuées), alors le résultat est une estimation non biaisée " "de la variance." -#: library/statistics.rst:525 +#: library/statistics.rst:554 msgid "" "If you somehow know the actual population mean μ you should pass it to the :" "func:`pvariance` function as the *mu* parameter to get the variance of a " @@ -862,7 +873,7 @@ msgstr "" "devriez la passer à :func:`pvariance` comme paramètre *mu* pour obtenir la " "variance de l'échantillon." -#: library/statistics.rst:531 +#: library/statistics.rst:560 msgid "" "Divide *data* into *n* continuous intervals with equal probability. Returns " "a list of ``n - 1`` cut points separating the intervals." @@ -870,7 +881,7 @@ msgstr "" "Divise *data* en *n* intervalles réels de même probabilité. Renvoie une " "liste de ``n - 1`` valeurs délimitant les intervalles (les quantiles)." -#: library/statistics.rst:534 +#: library/statistics.rst:563 msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate " @@ -882,7 +893,7 @@ msgstr "" "99 valeurs qui séparent *data* en 100 groupes de même taille). Lève une " "erreur :exc:`StatisticsError` si *n* est strictement inférieur à 1." -#: library/statistics.rst:539 +#: library/statistics.rst:568 msgid "" "The *data* can be any iterable containing sample data. For meaningful " "results, the number of data points in *data* should be larger than *n*. " @@ -893,7 +904,7 @@ msgstr "" "d'observations dans l'échantillon *data* doit être plus grand que *n*. Lève " "une erreur :exc:`StatisticsError` s'il n'y a pas au moins deux observations." -#: library/statistics.rst:543 +#: library/statistics.rst:572 msgid "" "The cut points are linearly interpolated from the two nearest data points. " "For example, if a cut point falls one-third of the distance between two " @@ -904,7 +915,7 @@ msgstr "" "tiers de la distance entre les deux valeurs de l'échantillon ``100`` et " "``112``, le quantile vaudra ``104``." -#: library/statistics.rst:548 +#: library/statistics.rst:577 msgid "" "The *method* for computing quantiles can be varied depending on whether the " "*data* includes or excludes the lowest and highest possible values from the " @@ -914,7 +925,7 @@ msgstr "" "quantiles et peut être modifié pour spécifier s'il faut inclure ou exclure " "les valeurs basses et hautes de *data* de la population." -#: library/statistics.rst:552 +#: library/statistics.rst:581 msgid "" "The default *method* is \"exclusive\" and is used for data sampled from a " "population that can have more extreme values than found in the samples. The " @@ -932,7 +943,7 @@ msgstr "" "valeurs dans l'échantillon, cette méthode les ordonne et leur associe les " "quantiles suivants : 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%." -#: library/statistics.rst:559 +#: library/statistics.rst:588 msgid "" "Setting the *method* to \"inclusive\" is used for describing population data " "or for samples that are known to include the most extreme values from the " @@ -953,19 +964,19 @@ msgstr "" "l'échantillon, cette méthode les ordonne et leur associe les quantiles " "suivants : 0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90%, 100%." -#: library/statistics.rst:583 +#: library/statistics.rst:612 msgid "" "Return the sample covariance of two inputs *x* and *y*. Covariance is a " "measure of the joint variability of two inputs." msgstr "" -#: library/statistics.rst:586 +#: library/statistics.rst:615 msgid "" "Both inputs must be of the same length (no less than two), otherwise :exc:" "`StatisticsError` is raised." msgstr "" -#: library/statistics.rst:607 +#: library/statistics.rst:636 msgid "" "Return the `Pearson's correlation coefficient `_ for two inputs. Pearson's correlation " @@ -975,13 +986,13 @@ msgid "" "linear relationship." msgstr "" -#: library/statistics.rst:614 +#: library/statistics.rst:643 msgid "" "Both inputs must be of the same length (no less than two), and need not to " "be constant, otherwise :exc:`StatisticsError` is raised." msgstr "" -#: library/statistics.rst:632 +#: library/statistics.rst:661 msgid "" "Return the slope and intercept of `simple linear regression `_ parameters estimated using " @@ -990,11 +1001,11 @@ msgid "" "this linear function:" msgstr "" -#: library/statistics.rst:638 +#: library/statistics.rst:667 msgid "*y = slope \\* x + intercept + noise*" msgstr "" -#: library/statistics.rst:640 +#: library/statistics.rst:669 msgid "" "where ``slope`` and ``intercept`` are the regression parameters that are " "estimated, and ``noise`` represents the variability of the data that was not " @@ -1002,14 +1013,14 @@ msgid "" "predicted and actual values of the dependent variable)." msgstr "" -#: library/statistics.rst:646 +#: library/statistics.rst:675 msgid "" "Both inputs must be of the same length (no less than two), and the " "independent variable *x* cannot be constant; otherwise a :exc:" "`StatisticsError` is raised." msgstr "" -#: library/statistics.rst:650 +#: library/statistics.rst:679 msgid "" "For example, we can use the `release dates of the Monty Python films " "`_ to predict the " @@ -1017,24 +1028,24 @@ msgid "" "2019 assuming that they had kept the pace." msgstr "" -#: library/statistics.rst:668 +#: library/statistics.rst:697 msgid "Exceptions" msgstr "Exceptions" -#: library/statistics.rst:670 +#: library/statistics.rst:699 msgid "A single exception is defined:" msgstr "Une seule exception est définie :" -#: library/statistics.rst:674 +#: library/statistics.rst:703 msgid "Subclass of :exc:`ValueError` for statistics-related exceptions." msgstr "" "Sous-classe de :exc:`ValueError` pour les exceptions liées aux statistiques." -#: library/statistics.rst:678 +#: library/statistics.rst:707 msgid ":class:`NormalDist` objects" msgstr "Objets :class:`NormalDist`" -#: library/statistics.rst:680 +#: library/statistics.rst:709 msgid "" ":class:`NormalDist` is a tool for creating and manipulating normal " "distributions of a `random variable `_. Cette classe gère la moyenne et l'écart-type " "d'un ensemble d'observations comme une seule entité." -#: library/statistics.rst:686 +#: library/statistics.rst:715 msgid "" "Normal distributions arise from the `Central Limit Theorem `_ and have a wide range of " @@ -1056,7 +1067,7 @@ msgstr "" "statistiques. Leur ubiquité découle du `théorème central limite `_." -#: library/statistics.rst:692 +#: library/statistics.rst:721 msgid "" "Returns a new *NormalDist* object where *mu* represents the `arithmetic mean " "`_ and *sigma* represents the " @@ -1066,11 +1077,11 @@ msgstr "" "arithmétique `_ et " "*sigma* `l'écart-type `_." -#: library/statistics.rst:697 +#: library/statistics.rst:726 msgid "If *sigma* is negative, raises :exc:`StatisticsError`." msgstr "Lève une erreur :exc:`StatisticsError` si *sigma* est négatif." -#: library/statistics.rst:701 +#: library/statistics.rst:730 msgid "" "A read-only property for the `arithmetic mean `_ of a normal distribution." @@ -1078,7 +1089,7 @@ msgstr "" "Attribut en lecture seule correspondant à la `moyenne arithmétique `_ d'une loi normale." -#: library/statistics.rst:707 +#: library/statistics.rst:736 msgid "" "A read-only property for the `median `_ of a normal distribution." @@ -1086,7 +1097,7 @@ msgstr "" "Attribut en lecture seule correspondant à la `médiane `_ d'une loi normale." -#: library/statistics.rst:713 +#: library/statistics.rst:742 msgid "" "A read-only property for the `mode `_ of a normal distribution." @@ -1094,7 +1105,7 @@ msgstr "" "Attribut en lecture seule correspondant au `mode `_ d'une loi normale." -#: library/statistics.rst:719 +#: library/statistics.rst:748 msgid "" "A read-only property for the `standard deviation `_ of a normal distribution." @@ -1102,7 +1113,7 @@ msgstr "" "Attribut en lecture seule correspondant à `l'écart-type `_ d'une loi normale." -#: library/statistics.rst:725 +#: library/statistics.rst:754 msgid "" "A read-only property for the `variance `_ of a normal distribution. Equal to the square of the standard " @@ -1112,7 +1123,7 @@ msgstr "" "org/wiki/Variance>`_ d'une loi normale. La variance est égale au carré de " "l'écart-type." -#: library/statistics.rst:731 +#: library/statistics.rst:760 msgid "" "Makes a normal distribution instance with *mu* and *sigma* parameters " "estimated from the *data* using :func:`fmean` and :func:`stdev`." @@ -1120,7 +1131,7 @@ msgstr "" "Crée une instance de loi normale de paramètres *mu* et *sigma* estimés à " "partir de *data* en utilisant :func:`fmean` et :func:`stdev`." -#: library/statistics.rst:734 +#: library/statistics.rst:763 msgid "" "The *data* can be any :term:`iterable` and should consist of values that can " "be converted to type :class:`float`. If *data* does not contain at least " @@ -1133,7 +1144,7 @@ msgstr "" "*data* ne contient pas au moins deux éléments car il faut au moins un point " "pour estimer la moyenne et deux points pour estimer la variance." -#: library/statistics.rst:742 +#: library/statistics.rst:771 msgid "" "Generates *n* random samples for a given mean and standard deviation. " "Returns a :class:`list` of :class:`float` values." @@ -1141,7 +1152,7 @@ msgstr "" "Génère *n* valeurs aléatoires suivant une loi normale de moyenne et écart-" "type connus. Renvoie une :class:`list` de :class:`float`." -#: library/statistics.rst:745 +#: library/statistics.rst:774 msgid "" "If *seed* is given, creates a new instance of the underlying random number " "generator. This is useful for creating reproducible results, even in a " @@ -1152,7 +1163,7 @@ msgstr "" "résultats reproductibles même dans un contexte de parallélisme par fils " "d'exécution." -#: library/statistics.rst:751 +#: library/statistics.rst:780 msgid "" "Using a `probability density function (pdf) `_, compute the relative likelihood that a " @@ -1165,19 +1176,20 @@ msgstr "" "correspond à la limite de la fraction ``P(x <= X < x + dx) / dx`` lorsque " "``dx`` tend vers zéro." -#: library/statistics.rst:757 +#: library/statistics.rst:786 +#, fuzzy msgid "" "The relative likelihood is computed as the probability of a sample occurring " "in a narrow range divided by the width of the range (hence the word " "\"density\"). Since the likelihood is relative to other points, its value " -"can be greater than `1.0`." +"can be greater than ``1.0``." msgstr "" "La vraisemblance relative est calculée comme la probabilité qu'une " "observation appartienne à un intervalle étroit divisée par la largeur de " "l'intervalle (d'où l'appellation « densité »). La vraisemblance étant " "relative aux autres points, sa valeur peut être supérieure à 1,0." -#: library/statistics.rst:764 +#: library/statistics.rst:793 msgid "" "Using a `cumulative distribution function (cdf) `_, compute the probability that a " @@ -1189,19 +1201,20 @@ msgstr "" "org/wiki/Fonction_de_r%C3%A9partition>`_. Mathématiquement, cela correspond " "à ``P(X <= x)``." -#: library/statistics.rst:771 +#: library/statistics.rst:800 +#, fuzzy msgid "" "Compute the inverse cumulative distribution function, also known as the " "`quantile function `_ or " -"the `percent-point `_ function. Mathematically, it is written " -"``x : P(X <= x) = p``." +"the `percent-point `_ " +"function. Mathematically, it is written ``x : P(X <= x) = p``." msgstr "" "Calcule l'inverse de la fonction de répartition, c'est-à-dire la `fonction " "quantile `_. " "Mathématiquement, il s'agit de ``x : P(X <= x) = p``." -#: library/statistics.rst:777 +#: library/statistics.rst:806 msgid "" "Finds the value *x* of the random variable *X* such that the probability of " "the variable being less than or equal to that value equals the given " @@ -1211,7 +1224,7 @@ msgstr "" "probabilité que la variable soit inférieure ou égale à cette valeur *x* est " "égale à *p*." -#: library/statistics.rst:783 +#: library/statistics.rst:812 msgid "" "Measures the agreement between two normal probability distributions. Returns " "a value between 0.0 and 1.0 giving `the overlapping area for the two " @@ -1221,7 +1234,7 @@ msgstr "" "entre 0 et 1 indiquant `l'aire du recouvrement de deux densités de " "probabilité `_." -#: library/statistics.rst:790 +#: library/statistics.rst:819 msgid "" "Divide the normal distribution into *n* continuous intervals with equal " "probability. Returns a list of (n - 1) cut points separating the intervals." @@ -1229,7 +1242,7 @@ msgstr "" "Divise la loi normale entre *n* intervalles réels équiprobables. Renvoie une " "liste de ``(n - 1)`` quantiles séparant les intervalles." -#: library/statistics.rst:794 +#: library/statistics.rst:823 msgid "" "Set *n* to 4 for quartiles (the default). Set *n* to 10 for deciles. Set " "*n* to 100 for percentiles which gives the 99 cuts points that separate the " @@ -1239,7 +1252,7 @@ msgstr "" "obtenir les déciles et ``n = 100`` pour obtenir les centiles (ce qui produit " "99 valeurs qui séparent *data* en 100 groupes de même taille)." -#: library/statistics.rst:800 +#: library/statistics.rst:829 msgid "" "Compute the `Standard Score `_ describing *x* in terms of the number of standard " @@ -1247,7 +1260,7 @@ msgid "" "mean) / stdev``." msgstr "" -#: library/statistics.rst:808 +#: library/statistics.rst:837 msgid "" "Instances of :class:`NormalDist` support addition, subtraction, " "multiplication and division by a constant. These operations are used for " @@ -1258,7 +1271,7 @@ msgstr "" "opérations peuvent être utilisées pour la translation ou la mise à " "l'échelle, par exemple :" -#: library/statistics.rst:818 +#: library/statistics.rst:847 msgid "" "Dividing a constant by an instance of :class:`NormalDist` is not supported " "because the result wouldn't be normally distributed." @@ -1266,7 +1279,7 @@ msgstr "" "Diviser une constante par une instance de :class:`NormalDist` n'est pas pris " "en charge car le résultat ne serait pas une loi normale." -#: library/statistics.rst:821 +#: library/statistics.rst:850 msgid "" "Since normal distributions arise from additive effects of independent " "variables, it is possible to `add and subtract two independent normally " @@ -1280,17 +1293,17 @@ msgstr "" "Sum_of_normally_distributed_random_variables>`_ représentées par des " "instances de :class:`NormalDist`. Par exemple :" -#: library/statistics.rst:841 +#: library/statistics.rst:870 msgid ":class:`NormalDist` Examples and Recipes" msgstr "Exemples d'utilisation de :class:`NormalDist`" -#: library/statistics.rst:843 +#: library/statistics.rst:872 msgid ":class:`NormalDist` readily solves classic probability problems." msgstr "" ":class:`NormalDist` permet de résoudre aisément des problèmes probabilistes " "classiques." -#: library/statistics.rst:845 +#: library/statistics.rst:874 msgid "" "For example, given `historical data for SAT exams `_ showing that scores are " @@ -1303,7 +1316,7 @@ msgstr "" "moyenne 1060 et d'écart-type 195, déterminer le pourcentage d'étudiants dont " "les scores se situent entre 1100 et 1200, arrondi à l'entier le plus proche :" -#: library/statistics.rst:858 +#: library/statistics.rst:887 msgid "" "Find the `quartiles `_ and `deciles " "`_ for the SAT scores:" @@ -1311,7 +1324,7 @@ msgstr "" "Déterminer les `quartiles `_ et les " "`déciles `_ des scores SAT :" -#: library/statistics.rst:868 +#: library/statistics.rst:897 msgid "" "To estimate the distribution for a model than isn't easy to solve " "analytically, :class:`NormalDist` can generate input samples for a `Monte " @@ -1322,10 +1335,11 @@ msgstr "" "M%C3%A9thode_de_Monte-Carlo>`_ afin d'estimer la distribution d'un modèle " "difficile à résoudre analytiquement :" -#: library/statistics.rst:884 +#: library/statistics.rst:913 +#, fuzzy msgid "" "Normal distributions can be used to approximate `Binomial distributions " -"`_ when the sample " +"`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" "Les lois normales peuvent être utilisées pour approcher des `lois binomiales " @@ -1333,7 +1347,7 @@ msgstr "" "d'observations est grand et que la probabilité de succès de l'épreuve est " "proche de 50%." -#: library/statistics.rst:889 +#: library/statistics.rst:918 msgid "" "For example, an open source conference has 750 attendees and two rooms with " "a 500 person capacity. There is a talk about Python and another about Ruby. " @@ -1349,14 +1363,15 @@ msgstr "" "les préférences de la population n'ont pas changé, quelle est la probabilité " "que la salle Python reste en-dessous de sa capacité d'accueil ?" -#: library/statistics.rst:920 +#: library/statistics.rst:949 msgid "Normal distributions commonly arise in machine learning problems." msgstr "Les lois normales interviennent souvent en apprentissage automatique." -#: library/statistics.rst:922 +#: library/statistics.rst:951 +#, fuzzy msgid "" "Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " +"wikipedia.org/wiki/Naive_Bayes_classifier#Person_classification>`_. The " "challenge is to predict a person's gender from measurements of normally " "distributed features including height, weight, and foot size." msgstr "" @@ -1367,7 +1382,7 @@ msgstr "" "caractéristiques physiques qui suivent une loi normale, telles que la " "hauteur, le poids et la pointure." -#: library/statistics.rst:927 +#: library/statistics.rst:956 msgid "" "We're given a training dataset with measurements for eight people. The " "measurements are assumed to be normally distributed, so we summarize the " @@ -1378,7 +1393,7 @@ msgstr "" "normale. Nous pouvons donc synthétiser les données à l'aide de :class:" "`NormalDist` :" -#: library/statistics.rst:940 +#: library/statistics.rst:969 msgid "" "Next, we encounter a new person whose feature measurements are known but " "whose gender is unknown:" @@ -1386,7 +1401,7 @@ msgstr "" "Ensuite, nous rencontrons un nouvel individu dont nous connaissons les " "proportions mais pas le sexe :" -#: library/statistics.rst:949 +#: library/statistics.rst:978 msgid "" "Starting with a 50% `prior probability `_ of being male or female, we compute the posterior as " @@ -1399,7 +1414,7 @@ msgstr "" "antérieure et de la vraisemblance des différentes mesures étant donné le " "sexe :" -#: library/statistics.rst:964 +#: library/statistics.rst:993 msgid "" "The final prediction goes to the largest posterior. This is known as the " "`maximum a posteriori \n" "Language-Team: French \n" @@ -138,7 +138,7 @@ msgid "Result" msgstr "Résultat" #: library/stdtypes.rst:275 library/stdtypes.rst:883 library/stdtypes.rst:2325 -#: library/stdtypes.rst:3536 +#: library/stdtypes.rst:3537 msgid "Notes" msgstr "Notes" @@ -151,7 +151,7 @@ msgid "if *x* is false, then *y*, else *x*" msgstr "si *x* est faux, alors *y*, sinon *x*" #: library/stdtypes.rst:285 library/stdtypes.rst:888 library/stdtypes.rst:2331 -#: library/stdtypes.rst:3542 +#: library/stdtypes.rst:3543 msgid "\\(1)" msgstr "\\(1)" @@ -164,7 +164,7 @@ msgid "if *x* is false, then *x*, else *y*" msgstr "si *x* est faux, alors *x*, sinon *y*" #: library/stdtypes.rst:288 library/stdtypes.rst:1127 library/stdtypes.rst:2337 -#: library/stdtypes.rst:3548 +#: library/stdtypes.rst:3549 msgid "\\(2)" msgstr "\\(2)" @@ -177,13 +177,13 @@ msgid "if *x* is false, then ``True``, else ``False``" msgstr "si *x* est faux, alors ``True``, sinon ``False``" #: library/stdtypes.rst:897 library/stdtypes.rst:2339 library/stdtypes.rst:2343 -#: library/stdtypes.rst:3550 library/stdtypes.rst:3554 -#: library/stdtypes.rst:3556 +#: library/stdtypes.rst:3551 library/stdtypes.rst:3555 +#: library/stdtypes.rst:3557 msgid "\\(3)" msgstr "\\(3)" #: library/stdtypes.rst:319 library/stdtypes.rst:934 library/stdtypes.rst:2371 -#: library/stdtypes.rst:3586 +#: library/stdtypes.rst:3587 msgid "Notes:" msgstr "Notes :" @@ -235,8 +235,8 @@ msgstr "" msgid "This table summarizes the comparison operations:" msgstr "Ce tableau résume les opérations de comparaison :" -#: library/stdtypes.rst:2302 library/stdtypes.rst:3513 -#: library/stdtypes.rst:3536 +#: library/stdtypes.rst:2302 library/stdtypes.rst:3514 +#: library/stdtypes.rst:3537 msgid "Meaning" msgstr "Signification" @@ -371,11 +371,12 @@ msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" msgstr "Types numériques — :class:`int`, :class:`float`, :class:`complex`" #: library/stdtypes.rst:215 +#, fuzzy msgid "" "There are three distinct numeric types: :dfn:`integers`, :dfn:`floating " "point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a " "subtype of integers. Integers have unlimited precision. Floating point " -"numbers are usually implemented using :c:type:`double` in C; information " +"numbers are usually implemented using :c:expr:`double` in C; information " "about the precision and internal representation of floating point numbers " "for the machine on which your program is running is available in :data:`sys." "float_info`. Complex numbers have a real and imaginary part, which are each " @@ -575,7 +576,7 @@ msgstr "" "un nombre complexe avec *re* pour partie réelle et *im* pour partie " "imaginaire. *im* vaut zéro par défaut." -#: library/stdtypes.rst:1120 library/stdtypes.rst:3573 +#: library/stdtypes.rst:1120 library/stdtypes.rst:3574 msgid "\\(6)" msgstr "\\(6)" @@ -612,7 +613,7 @@ msgid "*x* to the power *y*" msgstr "*x* à la puissance *y*" #: library/stdtypes.rst:312 library/stdtypes.rst:1112 library/stdtypes.rst:2361 -#: library/stdtypes.rst:3569 library/stdtypes.rst:3576 +#: library/stdtypes.rst:3570 library/stdtypes.rst:3577 msgid "\\(5)" msgstr "\\(5)" @@ -780,7 +781,7 @@ msgid "bitwise :dfn:`or` of *x* and *y*" msgstr ":dfn:`ou ` binaire de *x* et *y*" #: library/stdtypes.rst:419 library/stdtypes.rst:1133 library/stdtypes.rst:2351 -#: library/stdtypes.rst:3562 +#: library/stdtypes.rst:3563 msgid "\\(4)" msgstr "\\(4)" @@ -1509,7 +1510,7 @@ msgstr "" "indice de la première occurrence de *x* dans *s* (à ou après l'indice *i* et " "avant indice *j*)" -#: library/stdtypes.rst:3544 +#: library/stdtypes.rst:3545 msgid "\\(8)" msgstr "\\(8)" @@ -2388,8 +2389,9 @@ msgstr "" "step`." #: library/stdtypes.rst:1418 +#, fuzzy msgid "" -"The `linspace recipe `_ shows " +"The `linspace recipe `_ shows " "how to implement a lazy version of range suitable for floating point " "applications." msgstr "" @@ -2706,7 +2708,7 @@ msgstr "" msgid "Support for keyword arguments added." msgstr "Gestion des arguments par mot-clé." -#: library/stdtypes.rst:2732 +#: library/stdtypes.rst:2733 msgid "" "The *errors* is now checked in development mode and in :ref:`debug mode " "`." @@ -3266,10 +3268,10 @@ msgstr "" "'3']``). Découper une chaîne vide en spécifiant *sep* renvoie ``['']``." #: library/stdtypes.rst:2021 library/stdtypes.rst:2141 -#: library/stdtypes.rst:3048 library/stdtypes.rst:3155 -#: library/stdtypes.rst:3196 library/stdtypes.rst:3238 -#: library/stdtypes.rst:3270 library/stdtypes.rst:3320 -#: library/stdtypes.rst:3389 library/stdtypes.rst:3413 +#: library/stdtypes.rst:3049 library/stdtypes.rst:3156 +#: library/stdtypes.rst:3197 library/stdtypes.rst:3239 +#: library/stdtypes.rst:3271 library/stdtypes.rst:3321 +#: library/stdtypes.rst:3390 library/stdtypes.rst:3414 msgid "For example::" msgstr "Par exemple ::" @@ -3477,7 +3479,7 @@ msgstr "" "Renvoie une version en initiales majuscules de la chaîne où les mots " "commencent par une capitale et les caractères restants sont en minuscules." -#: library/stdtypes.rst:3357 +#: library/stdtypes.rst:3358 msgid "" "The algorithm uses a simple language-independent definition of a word as " "groups of consecutive letters. The definition works in many contexts but it " @@ -3626,7 +3628,7 @@ msgstr "" "nombre d'éléments spécifiés par la chaîne de format, ou un seul objet de " "correspondances ( *mapping object*, par exemple, un dictionnaire)." -#: library/stdtypes.rst:3468 +#: library/stdtypes.rst:3469 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" @@ -3634,11 +3636,11 @@ msgstr "" "Un indicateur de conversion contient deux ou plusieurs caractères et " "comporte les éléments suivants, qui doivent apparaître dans cet ordre :" -#: library/stdtypes.rst:3471 +#: library/stdtypes.rst:3472 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "Le caractère ``'%'``, qui marque le début du marqueur." -#: library/stdtypes.rst:3473 +#: library/stdtypes.rst:3474 msgid "" "Mapping key (optional), consisting of a parenthesised sequence of characters " "(for example, ``(somename)``)." @@ -3646,7 +3648,7 @@ msgstr "" "La clé de correspondance (facultative), composée d'une suite de caractères " "entre parenthèse (par exemple, ``(somename)``)." -#: library/stdtypes.rst:3476 +#: library/stdtypes.rst:3477 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." @@ -3654,7 +3656,7 @@ msgstr "" "Des options de conversion, facultatives, qui affectent le résultat de " "certains types de conversion." -#: library/stdtypes.rst:3479 +#: library/stdtypes.rst:3480 msgid "" "Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " "actual width is read from the next element of the tuple in *values*, and the " @@ -3664,7 +3666,7 @@ msgstr "" "est lue de l'élément suivant du *n*-uplet *values*, et l'objet à convertir " "vient après la largeur de champ minimale et la précision facultative." -#: library/stdtypes.rst:3483 +#: library/stdtypes.rst:3484 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " "If specified as ``'*'`` (an asterisk), the actual precision is read from the " @@ -3676,11 +3678,11 @@ msgstr "" "lue à partir de l'élément suivant du *n*-uplet *values* et la valeur à " "convertir vient ensuite." -#: library/stdtypes.rst:3488 +#: library/stdtypes.rst:3489 msgid "Length modifier (optional)." msgstr "Modificateur de longueur (facultatif)." -#: library/stdtypes.rst:3490 +#: library/stdtypes.rst:3491 msgid "Conversion type." msgstr "Type de conversion." @@ -3697,7 +3699,7 @@ msgstr "" "caractère ``'%'``. La clé indique quelle valeur du dictionnaire doit être " "formatée. Par exemple :" -#: library/stdtypes.rst:3501 +#: library/stdtypes.rst:3502 msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." @@ -3705,36 +3707,36 @@ msgstr "" "Dans ce cas, aucune ``*`` ne peuvent se trouver dans le format (car ces " "``*`` nécessitent une liste (accès séquentiel) de paramètres)." -#: library/stdtypes.rst:3504 +#: library/stdtypes.rst:3505 msgid "The conversion flag characters are:" msgstr "Les caractères indicateurs de conversion sont :" -#: library/stdtypes.rst:3513 +#: library/stdtypes.rst:3514 msgid "Flag" msgstr "Option" -#: library/stdtypes.rst:3515 +#: library/stdtypes.rst:3516 msgid "``'#'``" msgstr "``'#'``" -#: library/stdtypes.rst:3515 +#: library/stdtypes.rst:3516 msgid "" "The value conversion will use the \"alternate form\" (where defined below)." msgstr "La conversion utilisera la \"forme alternative\" (définie ci-dessous)." -#: library/stdtypes.rst:3518 +#: library/stdtypes.rst:3519 msgid "``'0'``" msgstr "``'0'``" -#: library/stdtypes.rst:3518 +#: library/stdtypes.rst:3519 msgid "The conversion will be zero padded for numeric values." msgstr "Les valeurs numériques converties seront complétée de zéros." -#: library/stdtypes.rst:3520 +#: library/stdtypes.rst:3521 msgid "``'-'``" msgstr "``'-'``" -#: library/stdtypes.rst:3520 +#: library/stdtypes.rst:3521 msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." @@ -3742,11 +3744,11 @@ msgstr "" "La valeur convertie est ajustée à gauche (remplace la conversion ``'0'`` si " "les deux sont données)." -#: library/stdtypes.rst:3523 +#: library/stdtypes.rst:3524 msgid "``' '``" msgstr "``' '``" -#: library/stdtypes.rst:3523 +#: library/stdtypes.rst:3524 msgid "" "(a space) A blank should be left before a positive number (or empty string) " "produced by a signed conversion." @@ -3754,11 +3756,11 @@ msgstr "" "(un espace) Un espace doit être laissé avant un nombre positif (ou chaîne " "vide) produite par la conversion d'une valeur signée." -#: library/stdtypes.rst:3526 +#: library/stdtypes.rst:3527 msgid "``'+'``" msgstr "``'+'``" -#: library/stdtypes.rst:3526 +#: library/stdtypes.rst:3527 msgid "" "A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " "a \"space\" flag)." @@ -3766,7 +3768,7 @@ msgstr "" "Un caractère de signe (``'+'`` ou ``'-'``) précède la valeur convertie " "(remplace le marqueur \"espace\")." -#: library/stdtypes.rst:3530 +#: library/stdtypes.rst:3531 msgid "" "A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as " "it is not necessary for Python -- so e.g. ``%ld`` is identical to ``%d``." @@ -3775,91 +3777,91 @@ msgstr "" "est ignoré car il est pas nécessaire pour Python, donc par exemple ``%ld`` " "est identique à ``%d``." -#: library/stdtypes.rst:3533 +#: library/stdtypes.rst:3534 msgid "The conversion types are:" msgstr "Les types utilisables dans les conversion sont :" -#: library/stdtypes.rst:3536 +#: library/stdtypes.rst:3537 msgid "Conversion" msgstr "Conversion" -#: library/stdtypes.rst:3538 +#: library/stdtypes.rst:3539 msgid "``'d'``" msgstr "``'d'``" -#: library/stdtypes.rst:2329 library/stdtypes.rst:3540 +#: library/stdtypes.rst:2329 library/stdtypes.rst:3541 msgid "Signed integer decimal." msgstr "Entier décimal signé." -#: library/stdtypes.rst:3540 +#: library/stdtypes.rst:3541 msgid "``'i'``" msgstr "``'i'``" -#: library/stdtypes.rst:3542 +#: library/stdtypes.rst:3543 msgid "``'o'``" msgstr "``'o'``" -#: library/stdtypes.rst:3542 +#: library/stdtypes.rst:3543 msgid "Signed octal value." msgstr "Valeur octale signée." -#: library/stdtypes.rst:3544 +#: library/stdtypes.rst:3545 msgid "``'u'``" msgstr "``'u'``" -#: library/stdtypes.rst:3544 +#: library/stdtypes.rst:3545 msgid "Obsolete type -- it is identical to ``'d'``." msgstr "Type obsolète — identique à ``'d'``." -#: library/stdtypes.rst:3546 +#: library/stdtypes.rst:3547 msgid "``'x'``" msgstr "``'x'``" -#: library/stdtypes.rst:3546 +#: library/stdtypes.rst:3547 msgid "Signed hexadecimal (lowercase)." msgstr "Hexadécimal signé (en minuscules)." -#: library/stdtypes.rst:3548 +#: library/stdtypes.rst:3549 msgid "``'X'``" msgstr "``'X'``" -#: library/stdtypes.rst:3548 +#: library/stdtypes.rst:3549 msgid "Signed hexadecimal (uppercase)." msgstr "Hexadécimal signé (capitales)." -#: library/stdtypes.rst:3550 +#: library/stdtypes.rst:3551 msgid "``'e'``" msgstr "``'e'``" -#: library/stdtypes.rst:3550 +#: library/stdtypes.rst:3551 msgid "Floating point exponential format (lowercase)." msgstr "Format exponentiel pour un *float* (minuscule)." -#: library/stdtypes.rst:3552 +#: library/stdtypes.rst:3553 msgid "``'E'``" msgstr "``'E'``" -#: library/stdtypes.rst:3552 +#: library/stdtypes.rst:3553 msgid "Floating point exponential format (uppercase)." msgstr "Format exponentiel pour un *float* (en capitales)." -#: library/stdtypes.rst:3554 +#: library/stdtypes.rst:3555 msgid "``'f'``" msgstr "``'f'``" -#: library/stdtypes.rst:2345 library/stdtypes.rst:3556 +#: library/stdtypes.rst:2345 library/stdtypes.rst:3557 msgid "Floating point decimal format." msgstr "Format décimal pour un *float*." -#: library/stdtypes.rst:3556 +#: library/stdtypes.rst:3557 msgid "``'F'``" msgstr "``'F'``" -#: library/stdtypes.rst:3558 +#: library/stdtypes.rst:3559 msgid "``'g'``" msgstr "``'g'``" -#: library/stdtypes.rst:3558 +#: library/stdtypes.rst:3559 msgid "" "Floating point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3868,11 +3870,11 @@ msgstr "" "inférieur à ``-4`` ou pas plus petit que la précision, sinon le format " "décimal." -#: library/stdtypes.rst:3562 +#: library/stdtypes.rst:3563 msgid "``'G'``" msgstr "``'G'``" -#: library/stdtypes.rst:3562 +#: library/stdtypes.rst:3563 msgid "" "Floating point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3881,7 +3883,7 @@ msgstr "" "inférieur à ``-4`` ou pas plus petit que la précision, sinon le format " "décimal." -#: library/stdtypes.rst:3566 +#: library/stdtypes.rst:3567 msgid "``'c'``" msgstr "``'c'``" @@ -3890,7 +3892,7 @@ msgid "Single character (accepts integer or single character string)." msgstr "" "Un seul caractère (accepte des entiers ou une chaîne d'un seul caractère)." -#: library/stdtypes.rst:3579 +#: library/stdtypes.rst:3580 msgid "``'r'``" msgstr "``'r'``" @@ -3898,7 +3900,7 @@ msgstr "``'r'``" msgid "String (converts any Python object using :func:`repr`)." msgstr "String (convertit n'importe quel objet Python avec :func:`repr`)." -#: library/stdtypes.rst:3573 +#: library/stdtypes.rst:3574 msgid "``'s'``" msgstr "``'s'``" @@ -3906,7 +3908,7 @@ msgstr "``'s'``" msgid "String (converts any Python object using :func:`str`)." msgstr "String (convertit n'importe quel objet Python avec :func:`str`)." -#: library/stdtypes.rst:3576 +#: library/stdtypes.rst:3577 msgid "``'a'``" msgstr "``'a'``" @@ -3915,17 +3917,17 @@ msgid "String (converts any Python object using :func:`ascii`)." msgstr "" "String (convertit n'importe quel objet Python en utilisant :func:`ascii`)." -#: library/stdtypes.rst:3582 +#: library/stdtypes.rst:3583 msgid "``'%'``" msgstr "``'%'``" -#: library/stdtypes.rst:3582 +#: library/stdtypes.rst:3583 msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" "Aucun argument n'est converti, donne un caractère de ``'%'`` dans le " "résultat." -#: library/stdtypes.rst:3589 +#: library/stdtypes.rst:3590 msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -3933,7 +3935,7 @@ msgstr "" "La forme alternative entraîne l'insertion d'un préfixe octal (``'0o'``) " "avant le premier chiffre." -#: library/stdtypes.rst:3593 +#: library/stdtypes.rst:3594 msgid "" "The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " "whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " @@ -3943,7 +3945,7 @@ msgstr "" "(respectivement pour les formats ``'x'`` et ``'X'``) avant le premier " "chiffre." -#: library/stdtypes.rst:3597 +#: library/stdtypes.rst:3598 msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." @@ -3951,14 +3953,14 @@ msgstr "" "La forme alternative implique la présence d'un point décimal, même si aucun " "chiffre ne le suit." -#: library/stdtypes.rst:3600 +#: library/stdtypes.rst:3601 msgid "" "The precision determines the number of digits after the decimal point and " "defaults to 6." msgstr "" "La précision détermine le nombre de chiffres après la virgule, 6 par défaut." -#: library/stdtypes.rst:3604 +#: library/stdtypes.rst:3605 msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." @@ -3966,7 +3968,7 @@ msgstr "" "La forme alternative implique la présence d'un point décimal et les zéros " "non significatifs sont conservés (ils ne le seraient pas autrement)." -#: library/stdtypes.rst:3607 +#: library/stdtypes.rst:3608 msgid "" "The precision determines the number of significant digits before and after " "the decimal point and defaults to 6." @@ -3974,11 +3976,11 @@ msgstr "" "La précision détermine le nombre de chiffres significatifs avant et après la " "virgule. 6 par défaut." -#: library/stdtypes.rst:3611 +#: library/stdtypes.rst:3612 msgid "If precision is ``N``, the output is truncated to ``N`` characters." msgstr "Si la précision est ``N``, la sortie est tronquée à ``N`` caractères." -#: library/stdtypes.rst:3620 +#: library/stdtypes.rst:3621 msgid "See :pep:`237`." msgstr "Voir la :pep:`237`." @@ -4179,7 +4181,7 @@ msgstr "" "Une fonction de conversion inverse existe pour transformer un objet *bytes* " "en sa représentation hexadécimale." -#: library/stdtypes.rst:2587 +#: library/stdtypes.rst:2588 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." @@ -4188,12 +4190,13 @@ msgstr "" "*byte*." #: library/stdtypes.rst:2509 +#, fuzzy msgid "" "If you want to make the hex string easier to read, you can specify a single " -"character separator *sep* parameter to include in the output. By default " -"between each byte. A second optional *bytes_per_sep* parameter controls the " -"spacing. Positive values calculate the separator position from the right, " -"negative values from the left." +"character separator *sep* parameter to include in the output. By default, " +"this separator will be included between each byte. A second optional " +"*bytes_per_sep* parameter controls the spacing. Positive values calculate " +"the separator position from the right, negative values from the left." msgstr "" "Si vous voulez rendre une chaîne hexadécimale plus facile à lire, vous " "pouvez spécifier le paramètre *sep* comme « caractère de séparation », à " @@ -4202,7 +4205,7 @@ msgstr "" "Les valeurs positives calculent la position du séparateur en partant de la " "droite, les valeurs négatives de la gauche." -#: library/stdtypes.rst:2525 +#: library/stdtypes.rst:2526 msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." @@ -4211,7 +4214,7 @@ msgstr "" "et *bytes_per_sep* pour insérer des séparateurs entre les octets dans la " "sortie hexadécimale." -#: library/stdtypes.rst:2529 +#: library/stdtypes.rst:2530 msgid "" "Since bytes objects are sequences of integers (akin to a tuple), for a bytes " "object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " @@ -4223,7 +4226,7 @@ msgstr "" "que ``b[0:1]`` sera un objet *bytes* de longueur 1. (Cela contraste avec les " "chaînes, où l'indexation et le *slicing* donnent une chaîne de longueur 1.)" -#: library/stdtypes.rst:2534 +#: library/stdtypes.rst:2535 msgid "" "The representation of bytes objects uses the literal format (``b'...'``) " "since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " @@ -4233,11 +4236,11 @@ msgstr "" "est souvent plus utile que par exemple ``bytes([46, 46, 46])``. Vous pouvez " "toujours convertir un *bytes* en liste d'entiers en utilisant ``list(b)``." -#: library/stdtypes.rst:2542 +#: library/stdtypes.rst:2543 msgid "Bytearray Objects" msgstr "Objets *bytearray*" -#: library/stdtypes.rst:2546 +#: library/stdtypes.rst:2547 msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." @@ -4245,7 +4248,7 @@ msgstr "" "Les objets :class:`bytearray` sont l'équivalent muable des objets :class:" "`bytes`." -#: library/stdtypes.rst:2551 +#: library/stdtypes.rst:2552 msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" @@ -4253,27 +4256,27 @@ msgstr "" "Il n'y a pas de syntaxe littérale dédiée aux *bytearray*, ils sont toujours " "créés en appelant le constructeur :" -#: library/stdtypes.rst:2554 +#: library/stdtypes.rst:2555 msgid "Creating an empty instance: ``bytearray()``" msgstr "Créer une instance vide: ``bytearray()``" -#: library/stdtypes.rst:2555 +#: library/stdtypes.rst:2556 msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" msgstr "" "Créer une instance remplie de zéros d'une longueur donnée : ``bytearray(10)``" -#: library/stdtypes.rst:2556 +#: library/stdtypes.rst:2557 msgid "From an iterable of integers: ``bytearray(range(20))``" msgstr "À partir d'un itérable d'entiers : ``bytearray(range(20))``" -#: library/stdtypes.rst:2557 +#: library/stdtypes.rst:2558 msgid "" "Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" msgstr "" "Copie des données binaires existantes via le *buffer protocol* : " "``bytearray(b'Hi!')``" -#: library/stdtypes.rst:2559 +#: library/stdtypes.rst:2560 msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " @@ -4283,11 +4286,11 @@ msgstr "" "séquence :ref:`muables ` en plus des opérations communes " "de *bytes* et *bytearray* décrites dans :ref:`bytes-methods`." -#: library/stdtypes.rst:2563 +#: library/stdtypes.rst:2564 msgid "Also see the :ref:`bytearray ` built-in." msgstr "Voir aussi la fonction native :ref:`bytearray `." -#: library/stdtypes.rst:2565 +#: library/stdtypes.rst:2566 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4299,7 +4302,7 @@ msgstr "" "données binaires. Par conséquent, le type *bytearray* a une méthode de " "classe pour lire les données dans ce format :" -#: library/stdtypes.rst:2571 +#: library/stdtypes.rst:2572 msgid "" "This :class:`bytearray` class method returns bytearray object, decoding the " "given string object. The string must contain two hexadecimal digits per " @@ -4309,7 +4312,7 @@ msgstr "" "décodant la chaîne donnée. La chaîne doit contenir deux chiffres " "hexadécimaux par octet, les espaces ASCII sont ignorés." -#: library/stdtypes.rst:2578 +#: library/stdtypes.rst:2579 msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." @@ -4317,7 +4320,7 @@ msgstr "" ":meth:`bytearray.fromhex` saute maintenant tous les caractères \"blancs\" " "ASCII dans la chaîne, pas seulement les espaces." -#: library/stdtypes.rst:2582 +#: library/stdtypes.rst:2583 msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." @@ -4325,7 +4328,7 @@ msgstr "" "Une fonction de conversion inverse existe pour transformer un objet " "*bytearray* en sa représentation hexadécimale." -#: library/stdtypes.rst:2595 +#: library/stdtypes.rst:2596 #, fuzzy msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " @@ -4336,7 +4339,7 @@ msgstr "" "charge les paramètres optionnels *sep* et *bytes_per_sep* pour insérer des " "séparateurs entre les octets dans la sortie hexadécimale." -#: library/stdtypes.rst:2600 +#: library/stdtypes.rst:2601 msgid "" "Since bytearray objects are sequences of integers (akin to a list), for a " "bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " @@ -4349,7 +4352,7 @@ msgstr "" "chaînes de texte, où l'indexation et le *slicing* produit une chaîne de " "longueur 1)" -#: library/stdtypes.rst:2605 +#: library/stdtypes.rst:2606 msgid "" "The representation of bytearray objects uses the bytes literal format " "(``bytearray(b'...')``) since it is often more useful than e.g. " @@ -4361,11 +4364,11 @@ msgstr "" "exemple ``bytearray([46, 46, 46])``. Vous pouvez toujours convertir un objet " "*bytearray* en une liste de nombres entiers en utilisant ``list(b)``." -#: library/stdtypes.rst:2614 +#: library/stdtypes.rst:2615 msgid "Bytes and Bytearray Operations" msgstr "Opérations sur les *bytes* et *bytearray*" -#: library/stdtypes.rst:2619 +#: library/stdtypes.rst:2620 msgid "" "Both bytes and bytearray objects support the :ref:`common ` " "sequence operations. They interoperate not just with operands of the same " @@ -4380,7 +4383,7 @@ msgstr "" "opérations sans provoquer d'erreurs. Cependant, le type du résultat peut " "dépendre de l'ordre des opérandes." -#: library/stdtypes.rst:2627 +#: library/stdtypes.rst:2628 msgid "" "The methods on bytes and bytearray objects don't accept strings as their " "arguments, just as the methods on strings don't accept bytes as their " @@ -4390,11 +4393,11 @@ msgstr "" "comme arguments, tout comme les méthodes sur les chaînes n'acceptent pas les " "*bytes* comme arguments. Par exemple, vous devez écrire ::" -#: library/stdtypes.rst:2634 +#: library/stdtypes.rst:2635 msgid "and::" msgstr "et ::" -#: library/stdtypes.rst:2639 +#: library/stdtypes.rst:2640 msgid "" "Some bytes and bytearray operations assume the use of ASCII compatible " "binary formats, and hence should be avoided when working with arbitrary " @@ -4405,7 +4408,7 @@ msgstr "" "travaillez avec des données binaires arbitraires. Ces restrictions sont " "couvertes ci-dessous." -#: library/stdtypes.rst:2644 +#: library/stdtypes.rst:2645 msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." @@ -4413,7 +4416,7 @@ msgstr "" "Utiliser ces opérations basées sur l'ASCII pour manipuler des données " "binaires qui ne sont pas au format ASCII peut les corrompre." -#: library/stdtypes.rst:2647 +#: library/stdtypes.rst:2648 msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." @@ -4421,7 +4424,7 @@ msgstr "" "Les méthodes suivantes sur les *bytes* et *bytearray* peuvent être utilisées " "avec des données binaires arbitraires." -#: library/stdtypes.rst:2653 +#: library/stdtypes.rst:2654 msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -4431,8 +4434,8 @@ msgstr "" "séquence *sub* dans l'intervalle [*start*, *end*]. Les arguments facultatifs " "*start* et *end* sont interprétés comme pour un *slice*." -#: library/stdtypes.rst:2756 library/stdtypes.rst:2844 -#: library/stdtypes.rst:2857 +#: library/stdtypes.rst:2757 library/stdtypes.rst:2845 +#: library/stdtypes.rst:2858 msgid "" "The subsequence to search for may be any :term:`bytes-like object` or an " "integer in the range 0 to 255." @@ -4440,13 +4443,13 @@ msgstr "" "La sous-séquence à rechercher peut être un quelconque :term:`bytes-like " "object` ou un nombre entier compris entre 0 et 255." -#: library/stdtypes.rst:2768 library/stdtypes.rst:2847 -#: library/stdtypes.rst:2860 +#: library/stdtypes.rst:2769 library/stdtypes.rst:2848 +#: library/stdtypes.rst:2861 msgid "Also accept an integer in the range 0 to 255 as the subsequence." msgstr "" "Accepte aussi un nombre entier compris entre 0 et 255 comme sous-séquence." -#: library/stdtypes.rst:2667 +#: library/stdtypes.rst:2668 msgid "" "If the binary data starts with the *prefix* string, return " "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " @@ -4456,18 +4459,18 @@ msgstr "" "``bytes[len(prefix):]``. Sinon, renvoie une copie des données binaires " "d'origine ::" -#: library/stdtypes.rst:2676 +#: library/stdtypes.rst:2677 #, fuzzy msgid "The *prefix* may be any :term:`bytes-like object`." msgstr "" "Le *prefix* peut être n'importe quel :term:`objet octet-compatible `." -#: library/stdtypes.rst:2702 library/stdtypes.rst:2925 -#: library/stdtypes.rst:2970 library/stdtypes.rst:3026 -#: library/stdtypes.rst:3114 library/stdtypes.rst:3281 -#: library/stdtypes.rst:3379 library/stdtypes.rst:3422 -#: library/stdtypes.rst:3624 +#: library/stdtypes.rst:2703 library/stdtypes.rst:2926 +#: library/stdtypes.rst:2971 library/stdtypes.rst:3027 +#: library/stdtypes.rst:3115 library/stdtypes.rst:3282 +#: library/stdtypes.rst:3380 library/stdtypes.rst:3423 +#: library/stdtypes.rst:3625 msgid "" "The bytearray version of this method does *not* operate in place - it always " "produces a new object, even if no changes were made." @@ -4476,7 +4479,7 @@ msgstr "" "produit toujours un nouvel objet, même si aucune modification n'a été " "effectuée." -#: library/stdtypes.rst:2689 +#: library/stdtypes.rst:2690 msgid "" "If the binary data ends with the *suffix* string and that *suffix* is not " "empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " @@ -4485,12 +4488,12 @@ msgstr "" "Si les données binaires terminent par la chaîne *suffix*, renvoie ``bytes[:-" "len(suffix)]``. Sinon, renvoie une copie des données binaires d'origine ::" -#: library/stdtypes.rst:2698 +#: library/stdtypes.rst:2699 #, fuzzy msgid "The *suffix* may be any :term:`bytes-like object`." msgstr "Le *suffix* peut être n'importe quel :term:`bytes-like object`." -#: library/stdtypes.rst:2711 +#: library/stdtypes.rst:2712 msgid "" "Return a string decoded from the given bytes. Default encoding is " "``'utf-8'``. *errors* may be given to set a different error handling " @@ -4509,7 +4512,7 @@ msgstr "" "register_error`, voir la section :ref:`error-handlers`. Pour une liste des " "encodages possibles, voir la section :ref:`standard-encodings`." -#: library/stdtypes.rst:2719 +#: library/stdtypes.rst:2720 msgid "" "By default, the *errors* argument is not checked for best performances, but " "only used at the first decoding error. Enable the :ref:`Python Development " @@ -4520,7 +4523,7 @@ msgstr "" "ref:`Python Development Mode `, ou utilisez le :ref:`mode de " "débogage ` pour vérifier *errors*." -#: library/stdtypes.rst:2725 +#: library/stdtypes.rst:2726 msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" "`bytes-like object` directly, without needing to make a temporary bytes or " @@ -4530,11 +4533,11 @@ msgstr "" "`bytes-like object` directement, sans avoir besoin d'utiliser un *bytes* ou " "*bytearray* temporaire." -#: library/stdtypes.rst:2729 +#: library/stdtypes.rst:2730 msgid "Added support for keyword arguments." msgstr "Gère les arguments nommés." -#: library/stdtypes.rst:2740 +#: library/stdtypes.rst:2741 msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " "otherwise return ``False``. *suffix* can also be a tuple of suffixes to " @@ -4547,13 +4550,13 @@ msgstr "" "position. Avec l'argument optionnel *end*, la comparaison s'arrête à cette " "position." -#: library/stdtypes.rst:2745 +#: library/stdtypes.rst:2746 msgid "The suffix(es) to search for may be any :term:`bytes-like object`." msgstr "" "Les suffixes à rechercher peuvent être n'importe quel :term:`bytes-like " "object`." -#: library/stdtypes.rst:2751 +#: library/stdtypes.rst:2752 msgid "" "Return the lowest index in the data where the subsequence *sub* is found, " "such that *sub* is contained in the slice ``s[start:end]``. Optional " @@ -4565,7 +4568,7 @@ msgstr "" "facultatifs *start* et *end* sont interprétés comme dans la notation des " "découpages. Renvoie ``-1`` si *sub* n'est pas trouvé." -#: library/stdtypes.rst:2761 +#: library/stdtypes.rst:2762 msgid "" "The :meth:`~bytes.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -4575,7 +4578,7 @@ msgstr "" "de connaître la position de *sub*. Pour vérifier si *sub* est présent ou " "non, utilisez l'opérateur :keyword:`in` ::" -#: library/stdtypes.rst:2775 +#: library/stdtypes.rst:2776 msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." @@ -4583,7 +4586,7 @@ msgstr "" "Comme :meth:`~bytes.find`, mais lève une :exc:`ValueError` lorsque la " "séquence est introuvable." -#: library/stdtypes.rst:2788 +#: library/stdtypes.rst:2789 msgid "" "Return a bytes or bytearray object which is the concatenation of the binary " "data sequences in *iterable*. A :exc:`TypeError` will be raised if there " @@ -4599,7 +4602,7 @@ msgstr "" "éléments est le contenu du *bytes* ou du *bytearray* depuis lequel cette " "méthode est appelée." -#: library/stdtypes.rst:2799 +#: library/stdtypes.rst:2800 msgid "" "This static method returns a translation table usable for :meth:`bytes." "translate` that will map each character in *from* into the character at the " @@ -4612,7 +4615,7 @@ msgstr "" "être des :term:`bytes-like objects ` et avoir la même " "longueur." -#: library/stdtypes.rst:2810 +#: library/stdtypes.rst:2811 msgid "" "Split the sequence at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4626,11 +4629,11 @@ msgstr "" "est pas trouvé, le triplet renvoyé contiendra une copie de la séquence " "d'origine, suivi de deux *bytes* ou *bytearray* vides." -#: library/stdtypes.rst:2874 +#: library/stdtypes.rst:2875 msgid "The separator to search for may be any :term:`bytes-like object`." msgstr "Le séparateur à rechercher peut être tout :term:`bytes-like object`." -#: library/stdtypes.rst:2823 +#: library/stdtypes.rst:2824 msgid "" "Return a copy of the sequence with all occurrences of subsequence *old* " "replaced by *new*. If the optional argument *count* is given, only the " @@ -4640,7 +4643,7 @@ msgstr "" "séquence *old* sont remplacées par *new*. Si l'argument optionnel *count* " "est donné, seules les *count* premières occurrences de sont remplacés." -#: library/stdtypes.rst:2827 +#: library/stdtypes.rst:2828 msgid "" "The subsequence to search for and its replacement may be any :term:`bytes-" "like object`." @@ -4648,7 +4651,7 @@ msgstr "" "La sous-séquence à rechercher et son remplacement peuvent être n'importe " "quel :term:`bytes-like object`." -#: library/stdtypes.rst:2839 +#: library/stdtypes.rst:2840 msgid "" "Return the highest index in the sequence where the subsequence *sub* is " "found, such that *sub* is contained within ``s[start:end]``. Optional " @@ -4660,7 +4663,7 @@ msgstr "" "*end* sont interprétés comme dans la notation des découpages. Renvoie ``-1`` " "si *sub* n'est pas trouvable." -#: library/stdtypes.rst:2854 +#: library/stdtypes.rst:2855 msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." @@ -4668,7 +4671,7 @@ msgstr "" "Semblable à :meth:`~bytes.rfind` mais lève une :exc:`ValueError` lorsque " "*sub* est introuvable." -#: library/stdtypes.rst:2867 +#: library/stdtypes.rst:2868 msgid "" "Split the sequence at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4682,7 +4685,7 @@ msgstr "" "Si le séparateur n'est pas trouvé, le triplet contiendra deux *bytes* ou " "*bytesarray* vides suivi d’une copie de la séquence d'origine." -#: library/stdtypes.rst:2880 +#: library/stdtypes.rst:2881 msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " "otherwise return ``False``. *prefix* can also be a tuple of prefixes to " @@ -4695,13 +4698,13 @@ msgstr "" "position. Avec l'argument *end* option, la recherche s'arrête à cette " "position." -#: library/stdtypes.rst:2885 +#: library/stdtypes.rst:2886 msgid "The prefix(es) to search for may be any :term:`bytes-like object`." msgstr "" "Le préfixe(s) à rechercher peuvent être n'importe quel :term:`bytes-like " "object`." -#: library/stdtypes.rst:2891 +#: library/stdtypes.rst:2892 msgid "" "Return a copy of the bytes or bytearray object where all bytes occurring in " "the optional argument *delete* are removed, and the remaining bytes have " @@ -4712,25 +4715,25 @@ msgstr "" "*delete* sont supprimés, et les octets restants changés par la table de " "correspondance donnée, qui doit être un objet *bytes* d'une longueur de 256." -#: library/stdtypes.rst:2896 +#: library/stdtypes.rst:2897 msgid "" "You can use the :func:`bytes.maketrans` method to create a translation table." msgstr "" "Vous pouvez utiliser la méthode :func:`bytes.maketrans` pour créer une table " "de correspondance." -#: library/stdtypes.rst:2899 +#: library/stdtypes.rst:2900 msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" msgstr "" "Donnez ``None`` comme *table* pour seulement supprimer des caractères ::" -#: library/stdtypes.rst:2905 +#: library/stdtypes.rst:2906 msgid "*delete* is now supported as a keyword argument." msgstr "*delete* est maintenant accepté comme argument nommé." -#: library/stdtypes.rst:2909 +#: library/stdtypes.rst:2910 msgid "" "The following methods on bytes and bytearray objects have default behaviours " "that assume the use of ASCII compatible binary formats, but can still be " @@ -4744,7 +4747,7 @@ msgstr "" "appropriés. Notez que toutes les méthodes de *bytearray* de cette section " "ne travaillent jamais sur l'objet lui même, mais renvoient un nouvel objet." -#: library/stdtypes.rst:2918 +#: library/stdtypes.rst:2919 msgid "" "Return a copy of the object centered in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4756,7 +4759,7 @@ msgstr "" "espace ASCII). Pour les objets :class:`bytes`, la séquence initiale est " "renvoyée si *width* est inférieur ou égal à ``len(s)``." -#: library/stdtypes.rst:2932 +#: library/stdtypes.rst:2933 msgid "" "Return a copy of the object left justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4768,7 +4771,7 @@ msgstr "" "espace ASCII). Pour les objets :class:`bytes`, la séquence initiale est " "renvoyée si *width* est inférieure ou égale à ``len(s)``." -#: library/stdtypes.rst:2946 +#: library/stdtypes.rst:2947 msgid "" "Return a copy of the sequence with specified leading bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4785,7 +4788,7 @@ msgstr "" "*chars* n’est pas un préfixe, toutes les combinaisons de ses valeurs sont " "supprimées ::" -#: library/stdtypes.rst:2958 +#: library/stdtypes.rst:2959 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`. See :meth:`~bytes.removeprefix` for a method that will remove a " @@ -4796,7 +4799,7 @@ msgstr "" "la séquence, la chaîne de caractères en tant que telle plutôt que l'ensemble " "des caractères passés en paramètre. Par exemple ::" -#: library/stdtypes.rst:2977 +#: library/stdtypes.rst:2978 msgid "" "Return a copy of the object right justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4808,7 +4811,7 @@ msgstr "" "défaut est un espace ASCII). Pour les objets :class:`bytes`, la séquence " "d'origine est renvoyée si *width* est inférieure ou égale à ``len(s)``." -#: library/stdtypes.rst:2991 +#: library/stdtypes.rst:2992 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are " @@ -4825,7 +4828,7 @@ msgstr "" "meth:`rsplit` se comporte comme :meth:`split` qui est décrit en détail ci-" "dessous." -#: library/stdtypes.rst:3002 +#: library/stdtypes.rst:3003 msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4840,7 +4843,7 @@ msgstr "" "supprimés. L'argument *chars* n'est pas un suffixe : toutes les combinaisons " "de ses valeurs sont retirées ::" -#: library/stdtypes.rst:3014 +#: library/stdtypes.rst:3015 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`. See :meth:`~bytes.removesuffix` for a method that will remove a " @@ -4851,7 +4854,7 @@ msgstr "" "la séquence, la chaîne de caractères en tant que telle plutôt que l'ensemble " "des caractères passés en paramètre. Par exemple ::" -#: library/stdtypes.rst:3033 +#: library/stdtypes.rst:3034 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given and non-negative, at most " @@ -4865,7 +4868,7 @@ msgstr "" "éléments), Si *maxsplit* n'est pas spécifié ou faut ``-1``, il n'y a aucune " "limite au nombre de découpes (elles sont toutes effectuées)." -#: library/stdtypes.rst:3039 +#: library/stdtypes.rst:3040 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " @@ -4883,7 +4886,7 @@ msgstr "" "renvoie ``[b'']`` ou ``[bytearray(b'')]`` en fonction du type de l'objet " "découpé. L'argument *sep* peut être n'importe quel :term:`bytes-like object`." -#: library/stdtypes.rst:3057 +#: library/stdtypes.rst:3058 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive ASCII whitespace are regarded as a single " @@ -4899,7 +4902,7 @@ msgstr "" "diviser une séquence vide ou une séquence composée d'espaces ASCII avec un " "séparateur ``None`` renvoie ``[]``." -#: library/stdtypes.rst:3078 +#: library/stdtypes.rst:3079 msgid "" "Return a copy of the sequence with specified leading and trailing bytes " "removed. The *chars* argument is a binary sequence specifying the set of " @@ -4915,13 +4918,13 @@ msgstr "" "espaces ASCII sont supprimés. L'argument *chars* n'est ni un préfixe ni un " "suffixe, toutes les combinaisons de ses valeurs sont supprimées ::" -#: library/stdtypes.rst:3091 +#: library/stdtypes.rst:3092 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`." msgstr "Les octets à retirer peuvent être tout :term:`bytes-like object`." -#: library/stdtypes.rst:3100 +#: library/stdtypes.rst:3101 msgid "" "The following methods on bytes and bytearray objects assume the use of ASCII " "compatible binary formats and should not be applied to arbitrary binary " @@ -4934,7 +4937,7 @@ msgstr "" "que toutes les méthodes de *bytearray* de cette section *ne modifient pas* " "les octets, ils produisent de nouveaux objets." -#: library/stdtypes.rst:3108 +#: library/stdtypes.rst:3109 msgid "" "Return a copy of the sequence with each byte interpreted as an ASCII " "character, and the first byte capitalized and the rest lowercased. Non-ASCII " @@ -4944,7 +4947,7 @@ msgstr "" "caractère ASCII, le premier octet en capitale et le reste en minuscules. Les " "octets non ASCII ne sont pas modifiés." -#: library/stdtypes.rst:3121 +#: library/stdtypes.rst:3122 msgid "" "Return a copy of the sequence where all ASCII tab characters are replaced by " "one or more ASCII spaces, depending on the current column and the given tab " @@ -4974,7 +4977,7 @@ msgstr "" "inchangé et la colonne en cours est incrémentée de un indépendamment de la " "façon dont l'octet est représenté lors de l’affichage ::" -#: library/stdtypes.rst:3149 +#: library/stdtypes.rst:3150 msgid "" "Return ``True`` if all bytes in the sequence are alphabetical ASCII " "characters or ASCII decimal digits and the sequence is not empty, ``False`` " @@ -4989,7 +4992,7 @@ msgstr "" "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'`` et les " "chiffres : ``b'0123456789'``." -#: library/stdtypes.rst:3166 +#: library/stdtypes.rst:3167 msgid "" "Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " "and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " @@ -5001,7 +5004,7 @@ msgstr "" "caractères ASCII alphabétiques sont : " "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: library/stdtypes.rst:3182 +#: library/stdtypes.rst:3183 msgid "" "Return ``True`` if the sequence is empty or all bytes in the sequence are " "ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." @@ -5010,7 +5013,7 @@ msgstr "" "octets ASCII, renvoie ``False`` dans le cas contraire. Les octets ASCII dans " "l'intervalle ``0``---``0x7F``." -#: library/stdtypes.rst:3192 +#: library/stdtypes.rst:3193 msgid "" "Return ``True`` if all bytes in the sequence are ASCII decimal digits and " "the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " @@ -5020,7 +5023,7 @@ msgstr "" "et que la séquence n'est pas vide, sinon ``False``. Les chiffres ASCII sont " "ceux dans la séquence d'octets ``b'0123456789'``." -#: library/stdtypes.rst:3207 +#: library/stdtypes.rst:3208 msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." @@ -5028,8 +5031,8 @@ msgstr "" "Renvoie ``True`` s'il y a au moins un caractère ASCII minuscule dans la " "séquence et aucune capitale, sinon ``False``." -#: library/stdtypes.rst:3259 library/stdtypes.rst:3325 -#: library/stdtypes.rst:3394 +#: library/stdtypes.rst:3260 library/stdtypes.rst:3326 +#: library/stdtypes.rst:3395 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5038,7 +5041,7 @@ msgstr "" "Les caractères ASCII minuscules sont ``b'abcdefghijklmnopqrstuvwxyz'``. Les " "capitales ASCII sont ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: library/stdtypes.rst:3225 +#: library/stdtypes.rst:3226 msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " "sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " @@ -5050,7 +5053,7 @@ msgstr "" "\\t\\n\\r\\x0b\\f'`` (espace, tabulation, saut de ligne, retour chariot, " "tabulation verticale, saut de page)." -#: library/stdtypes.rst:3234 +#: library/stdtypes.rst:3235 msgid "" "Return ``True`` if the sequence is ASCII titlecase and the sequence is not " "empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " @@ -5060,7 +5063,7 @@ msgstr "" "vide, sinon ``False``. Voir :meth:`bytes.title` pour plus de détails sur la " "définition de *titlecase*." -#: library/stdtypes.rst:3249 +#: library/stdtypes.rst:3250 msgid "" "Return ``True`` if there is at least one uppercase alphabetic ASCII " "character in the sequence and no lowercase ASCII characters, ``False`` " @@ -5069,7 +5072,7 @@ msgstr "" "Renvoie ``True`` s'il y a au moins un caractère alphabétique majuscule ASCII " "dans la séquence et aucun caractère ASCII minuscule, sinon ``False``." -#: library/stdtypes.rst:3267 +#: library/stdtypes.rst:3268 msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." @@ -5077,7 +5080,7 @@ msgstr "" "Renvoie une copie de la séquence dont tous les caractères ASCII en " "majuscules sont convertis en leur équivalent en minuscules." -#: library/stdtypes.rst:3292 +#: library/stdtypes.rst:3293 msgid "" "Return a list of the lines in the binary sequence, breaking at ASCII line " "boundaries. This method uses the :term:`universal newlines` approach to " @@ -5089,7 +5092,7 @@ msgstr "" "newlines` pour découper les lignes. Les fins de ligne ne sont pas inclus " "dans la liste des résultats, sauf si *keepends* est donné et vrai." -#: library/stdtypes.rst:3304 +#: library/stdtypes.rst:3305 msgid "" "Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -5099,7 +5102,7 @@ msgstr "" "cette méthode renvoie une liste vide pour la chaîne vide, et un saut de " "ligne à la fin ne se traduit pas par une ligne supplémentaire ::" -#: library/stdtypes.rst:3317 +#: library/stdtypes.rst:3318 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." @@ -5107,7 +5110,7 @@ msgstr "" "Renvoie une copie de la séquence dont tous les caractères ASCII minuscules " "sont convertis en majuscules et vice-versa." -#: library/stdtypes.rst:3329 +#: library/stdtypes.rst:3330 msgid "" "Unlike :func:`str.swapcase()`, it is always the case that ``bin.swapcase()." "swapcase() == bin`` for the binary versions. Case conversions are " @@ -5118,7 +5121,7 @@ msgstr "" "bin`` est toujours vrai. Les conversions majuscule/minuscule en ASCII étant " "toujours symétrique, ce qui n'est pas toujours vrai avec Unicode." -#: library/stdtypes.rst:3343 +#: library/stdtypes.rst:3344 msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " @@ -5128,7 +5131,7 @@ msgstr "" "commencent par un caractère ASCII majuscule et les caractères restants sont " "en minuscules. Les octets non capitalisables ne sont pas modifiés." -#: library/stdtypes.rst:3352 +#: library/stdtypes.rst:3353 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5139,14 +5142,14 @@ msgstr "" "caractères ASCII majuscules sont ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Aucun " "autre octet n'est capitalisable." -#: library/stdtypes.rst:3365 +#: library/stdtypes.rst:3366 msgid "" "A workaround for apostrophes can be constructed using regular expressions::" msgstr "" "Une solution pour contourner le problème des apostrophes peut être obtenue " "en utilisant des expressions rationnelles ::" -#: library/stdtypes.rst:3386 +#: library/stdtypes.rst:3387 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." @@ -5154,7 +5157,7 @@ msgstr "" "Renvoie une copie de la séquence dont tous les caractères ASCII minuscules " "sont convertis en leur équivalent majuscule." -#: library/stdtypes.rst:3407 +#: library/stdtypes.rst:3408 msgid "" "Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make " "a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is " @@ -5169,11 +5172,11 @@ msgstr "" "séquence d'origine est renvoyée si *width* est inférieur ou égale à " "``len(seq)``." -#: library/stdtypes.rst:3429 +#: library/stdtypes.rst:3430 msgid "``printf``-style Bytes Formatting" msgstr "Formatage de *bytes* a la ``printf``" -#: library/stdtypes.rst:3446 +#: library/stdtypes.rst:3447 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -5186,7 +5189,7 @@ msgstr "" "correctement). Si la valeur à afficher peut être un *n*-uplet ou un " "dictionnaire, mettez-le à l'intérieur d'un autre *n*-uplet." -#: library/stdtypes.rst:3451 +#: library/stdtypes.rst:3452 msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " "the ``%`` operator (modulo). This is also known as the bytes *formatting* or " @@ -5202,7 +5205,7 @@ msgstr "" "plus de *values*. L'effet est similaire à la fonction :c:func:`sprintf` du " "langage C." -#: library/stdtypes.rst:3458 +#: library/stdtypes.rst:3459 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -5214,7 +5217,7 @@ msgstr "" "nombre d'éléments spécifiés dans le format en *bytes*, ou un seul objet de " "correspondances ( *mapping object*, par exemple, un dictionnaire)." -#: library/stdtypes.rst:3492 +#: library/stdtypes.rst:3493 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the bytes object *must* include a parenthesised mapping key into " @@ -5227,15 +5230,15 @@ msgstr "" "caractère ``'%'``. La clé indique quelle valeur du dictionnaire doit être " "formatée. Par exemple :" -#: library/stdtypes.rst:3566 +#: library/stdtypes.rst:3567 msgid "Single byte (accepts integer or single byte objects)." msgstr "Octet simple (Accepte un nombre entier ou un seul objet *byte*)." -#: library/stdtypes.rst:3569 +#: library/stdtypes.rst:3570 msgid "``'b'``" msgstr "``'b'``" -#: library/stdtypes.rst:3569 +#: library/stdtypes.rst:3570 msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`__bytes__`)." @@ -5243,7 +5246,7 @@ msgstr "" "*Bytes* (tout objet respectant le :ref:`buffer protocol ` ou " "ayant la méthode :meth:`__bytes__`)." -#: library/stdtypes.rst:3573 +#: library/stdtypes.rst:3574 msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." @@ -5251,7 +5254,7 @@ msgstr "" "``'s'`` est un alias de ``'b'`` et ne devrait être utilisé que pour du code " "Python2/3." -#: library/stdtypes.rst:3576 +#: library/stdtypes.rst:3577 #, fuzzy msgid "" "Bytes (converts any Python object using ``repr(obj).encode('ascii', " @@ -5260,7 +5263,7 @@ msgstr "" "*Bytes* (convertis n'importe quel objet Python en utilisant ``repr(obj)." "encode('ascii', 'backslashreplace)``)." -#: library/stdtypes.rst:3579 +#: library/stdtypes.rst:3580 msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." @@ -5268,27 +5271,27 @@ msgstr "" "``'r'`` est un alias de ``'a'`` et ne devrait être utilise que dans du code " "Python2/3." -#: library/stdtypes.rst:3579 +#: library/stdtypes.rst:3580 msgid "\\(7)" msgstr "\\(7)" -#: library/stdtypes.rst:3614 +#: library/stdtypes.rst:3615 msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%s'`` est obsolète, mais ne sera pas retiré des version 3.x." -#: library/stdtypes.rst:3617 +#: library/stdtypes.rst:3618 msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%r'`` est obsolète mais ne sera pas retiré dans Python 3.x." -#: library/stdtypes.rst:3629 +#: library/stdtypes.rst:3630 msgid ":pep:`461` - Adding % formatting to bytes and bytearray" msgstr ":pep:`461` -- Ajout du formatage via % aux *bytes* et *bytesarray*" -#: library/stdtypes.rst:3636 +#: library/stdtypes.rst:3637 msgid "Memory Views" msgstr "Vues de mémoires" -#: library/stdtypes.rst:3638 +#: library/stdtypes.rst:3639 msgid "" ":class:`memoryview` objects allow Python code to access the internal data of " "an object that supports the :ref:`buffer protocol ` without " @@ -5298,7 +5301,7 @@ msgstr "" "données internes d'un objet prenant en charge le :ref:`buffer protocol " "`." -#: library/stdtypes.rst:3644 +#: library/stdtypes.rst:3645 #, fuzzy msgid "" "Create a :class:`memoryview` that references *object*. *object* must " @@ -5309,7 +5312,7 @@ msgstr "" "le *buffer protocol*. Les objets natifs prenant en charge le *buffer " "protocol* sont :class:`bytes` et :class:`bytearray`." -#: library/stdtypes.rst:3648 +#: library/stdtypes.rst:3649 #, fuzzy msgid "" "A :class:`memoryview` has the notion of an *element*, which is the atomic " @@ -5323,7 +5326,7 @@ msgstr "" "d'autres types tels que :class:`array.array` les éléments peuvent être plus " "grands." -#: library/stdtypes.rst:3653 +#: library/stdtypes.rst:3654 msgid "" "``len(view)`` is equal to the length of :class:`~memoryview.tolist`. If " "``view.ndim = 0``, the length is 1. If ``view.ndim = 1``, the length is " @@ -5339,7 +5342,7 @@ msgstr "" "L'attribut :class:`~memoryview.itemsize` vous renvoie la taille en octets " "d'un élément." -#: library/stdtypes.rst:3660 +#: library/stdtypes.rst:3661 msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" @@ -5347,7 +5350,7 @@ msgstr "" "Une :class:`memoryview` autorise le découpage et l'indiçage de ses données. " "Découper sur une dimension donne une sous-vue ::" -#: library/stdtypes.rst:3673 +#: library/stdtypes.rst:3674 msgid "" "If :class:`~memoryview.format` is one of the native format specifiers from " "the :mod:`struct` module, indexing with an integer or a tuple of integers is " @@ -5366,11 +5369,11 @@ msgstr "" "Les *memoryviews* à zéro dimension peuvent être indexées avec un *n*-uplet " "vide." -#: library/stdtypes.rst:3682 +#: library/stdtypes.rst:3683 msgid "Here is an example with a non-byte format::" msgstr "Voici un exemple avec un autre format que *byte* ::" -#: library/stdtypes.rst:3694 +#: library/stdtypes.rst:3695 msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" @@ -5379,7 +5382,7 @@ msgstr "" "autorisera les assignations de tranches à une dimension. Redimensionner " "n'est cependant pas autorisé ::" -#: library/stdtypes.rst:3715 +#: library/stdtypes.rst:3716 msgid "" "One-dimensional memoryviews of hashable (read-only) types with formats 'B', " "'b' or 'c' are also hashable. The hash is defined as ``hash(m) == hash(m." @@ -5389,7 +5392,7 @@ msgstr "" "les formats 'B', 'b', ou 'c' sont aussi hachables. La fonction de hachage " "est définie tel que ``hash(m) == hash(m.tobytes())`` ::" -#: library/stdtypes.rst:3727 +#: library/stdtypes.rst:3728 msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " "with formats 'B', 'b' or 'c' are now hashable." @@ -5398,7 +5401,7 @@ msgstr "" "*memoryviews* à une dimension avec les formats 'B', 'b', ou 'c' sont " "maintenant hachables." -#: library/stdtypes.rst:3731 +#: library/stdtypes.rst:3732 msgid "" "memoryview is now registered automatically with :class:`collections.abc." "Sequence`" @@ -5406,17 +5409,17 @@ msgstr "" "*memoryview* est maintenant enregistrée automatiquement avec :class:" "`collections.abc.Sequence`" -#: library/stdtypes.rst:3735 +#: library/stdtypes.rst:3736 msgid "memoryviews can now be indexed with tuple of integers." msgstr "" "les *memoryviews* peuvent maintenant être indexées par un *n*-uplet " "d'entiers." -#: library/stdtypes.rst:3738 +#: library/stdtypes.rst:3739 msgid ":class:`memoryview` has several methods:" msgstr "La :class:`memoryview` dispose de plusieurs méthodes :" -#: library/stdtypes.rst:3742 +#: library/stdtypes.rst:3743 msgid "" "A memoryview and a :pep:`3118` exporter are equal if their shapes are " "equivalent and if all corresponding values are equal when the operands' " @@ -5427,7 +5430,7 @@ msgstr "" "égales, le format respectifs des opérandes étant interprétés en utilisant la " "syntaxe de :mod:`struct`." -#: library/stdtypes.rst:3746 +#: library/stdtypes.rst:3747 msgid "" "For the subset of :mod:`struct` format strings currently supported by :meth:" "`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" @@ -5435,7 +5438,7 @@ msgstr "" "Pour le sous-ensemble des formats de :mod:`struct` supportés par :meth:" "`tolist`, ``v`` et ``w`` sont égaux si ``v.tolist() ==w.tolist()`` ::" -#: library/stdtypes.rst:3765 +#: library/stdtypes.rst:3766 msgid "" "If either format string is not supported by the :mod:`struct` module, then " "the objects will always compare as unequal (even if the format strings and " @@ -5445,7 +5448,7 @@ msgstr "" "objets seront toujours considérés différents (même si les formats et les " "valeurs contenues sont identiques) ::" -#: library/stdtypes.rst:3781 +#: library/stdtypes.rst:3782 msgid "" "Note that, as with floating point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." @@ -5453,7 +5456,7 @@ msgstr "" "Notez que pour les *memoryview*, comme pour les nombres à virgule flottante, " "``v is w`` *n'implique pas* ``v == w``." -#: library/stdtypes.rst:3784 +#: library/stdtypes.rst:3785 msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." @@ -5461,7 +5464,7 @@ msgstr "" "Les versions précédentes comparaient la mémoire brute sans tenir compte du " "format de l'objet ni de sa structure logique." -#: library/stdtypes.rst:3790 +#: library/stdtypes.rst:3791 msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" @@ -5469,7 +5472,7 @@ msgstr "" "Renvoie les données du *buffer* sous forme de *bytes*. Cela équivaut à " "appeler le constructeur :class:`bytes` sur le *memoryview*. ::" -#: library/stdtypes.rst:3799 +#: library/stdtypes.rst:3800 msgid "" "For non-contiguous arrays the result is equal to the flattened list " "representation with all elements converted to bytes. :meth:`tobytes` " @@ -5481,7 +5484,7 @@ msgstr "" "`tobytes` supporte toutes les chaînes de format, y compris celles qui ne " "sont pas connues du module :mod:`struct`." -#: library/stdtypes.rst:3804 +#: library/stdtypes.rst:3805 msgid "" "*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " "original array is converted to C or Fortran order. For contiguous views, 'A' " @@ -5496,7 +5499,7 @@ msgstr "" "Pour les vues non contiguës, les données sont d'abord converties en C. " "``order=None`` est identique à ``order='C'``." -#: library/stdtypes.rst:3813 +#: library/stdtypes.rst:3814 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" @@ -5504,7 +5507,7 @@ msgstr "" "Renvoie une chaîne contenant deux chiffres hexadécimaux pour chaque octet de " "la mémoire. ::" -#: library/stdtypes.rst:3822 +#: library/stdtypes.rst:3823 #, fuzzy msgid "" "Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " @@ -5515,12 +5518,12 @@ msgstr "" "charge les paramètres optionnels *sep* et *bytes_per_sep* pour insérer des " "séparateurs entre les octets dans la sortie hexadécimale." -#: library/stdtypes.rst:3829 +#: library/stdtypes.rst:3830 msgid "Return the data in the buffer as a list of elements. ::" msgstr "" "Renvoie les données de la mémoire sous la forme d'une liste d'éléments. ::" -#: library/stdtypes.rst:3839 +#: library/stdtypes.rst:3840 msgid "" ":meth:`tolist` now supports all single character native formats in :mod:" "`struct` module syntax as well as multi-dimensional representations." @@ -5528,7 +5531,7 @@ msgstr "" ":meth:`tolist` prend désormais en charge tous les formats d'un caractère du " "module :mod:`struct` ainsi que des représentations multidimensionnelles." -#: library/stdtypes.rst:3846 +#: library/stdtypes.rst:3847 msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" @@ -5536,7 +5539,7 @@ msgstr "" "Renvoie une version en lecture seule de l'objet *memoryview*. Cet objet " "original *memoryview* est inchangé. ::" -#: library/stdtypes.rst:3865 +#: library/stdtypes.rst:3866 msgid "" "Release the underlying buffer exposed by the memoryview object. Many " "objects take special actions when a view is held on them (for example, a :" @@ -5551,7 +5554,7 @@ msgstr "" "lever ces restrictions (et en libérer les ressources liées) aussi tôt que " "possible." -#: library/stdtypes.rst:3871 +#: library/stdtypes.rst:3872 msgid "" "After this method has been called, any further operation on the view raises " "a :class:`ValueError` (except :meth:`release()` itself which can be called " @@ -5561,7 +5564,7 @@ msgstr "" "*view* lève une :class:`ValueError` (sauf :meth:`release()` elle-même qui " "peut être appelée plusieurs fois) ::" -#: library/stdtypes.rst:3882 +#: library/stdtypes.rst:3883 msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" @@ -5569,7 +5572,7 @@ msgstr "" "Le protocole de gestion de contexte peut être utilisé pour obtenir un effet " "similaire, via l'instruction ``with`` ::" -#: library/stdtypes.rst:3898 +#: library/stdtypes.rst:3899 msgid "" "Cast a memoryview to a new format or shape. *shape* defaults to " "``[byte_length//new_itemsize]``, which means that the result view will be " @@ -5583,7 +5586,7 @@ msgstr "" "mais la mémoire elle-même n'est pas copiée. Les changements supportés sont " "une dimension vers C-:term:`contiguous` et *C-contiguous* vers une dimension." -#: library/stdtypes.rst:3904 +#: library/stdtypes.rst:3905 msgid "" "The destination format is restricted to a single element native format in :" "mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " @@ -5594,37 +5597,37 @@ msgstr "" "'c'). La longueur du résultat en octets doit être la même que la longueur " "initiale." -#: library/stdtypes.rst:3909 +#: library/stdtypes.rst:3910 msgid "Cast 1D/long to 1D/unsigned bytes::" msgstr "Transforme *1D/long* en *1D/unsigned bytes* ::" -#: library/stdtypes.rst:3932 +#: library/stdtypes.rst:3933 msgid "Cast 1D/unsigned bytes to 1D/char::" msgstr "Transforme *1D/unsigned bytes* en *1D/char* ::" -#: library/stdtypes.rst:3945 +#: library/stdtypes.rst:3946 msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" msgstr "Transforme *1D/bytes* en *3D/ints* en *1D/signed char* ::" -#: library/stdtypes.rst:3971 +#: library/stdtypes.rst:3972 msgid "Cast 1D/unsigned long to 2D/unsigned long::" msgstr "Transforme *1D/unsigned char* en *2D/unsigned long* ::" -#: library/stdtypes.rst:3985 +#: library/stdtypes.rst:3986 msgid "The source format is no longer restricted when casting to a byte view." msgstr "" "Le format de la source n'est plus restreint lors de la transformation vers " "une vue d'octets." -#: library/stdtypes.rst:3988 +#: library/stdtypes.rst:3989 msgid "There are also several readonly attributes available:" msgstr "Plusieurs attributs en lecture seule sont également disponibles :" -#: library/stdtypes.rst:3992 +#: library/stdtypes.rst:3993 msgid "The underlying object of the memoryview::" msgstr "L'objet sous-jacent de la *memoryview* ::" -#: library/stdtypes.rst:4003 +#: library/stdtypes.rst:4004 msgid "" "``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " "amount of space in bytes that the array would use in a contiguous " @@ -5634,15 +5637,15 @@ msgstr "" "l'espace que la liste utiliserait en octets, dans une représentation " "contiguë. Ce n'est pas nécessairement égale à ``len(m)`` ::" -#: library/stdtypes.rst:4022 +#: library/stdtypes.rst:4023 msgid "Multi-dimensional arrays::" msgstr "Tableaux multidimensionnels ::" -#: library/stdtypes.rst:4039 +#: library/stdtypes.rst:4040 msgid "A bool indicating whether the memory is read only." msgstr "Un booléen indiquant si la mémoire est en lecture seule." -#: library/stdtypes.rst:4043 +#: library/stdtypes.rst:4044 msgid "" "A string containing the format (in :mod:`struct` module style) for each " "element in the view. A memoryview can be created from exporters with " @@ -5654,7 +5657,7 @@ msgstr "" "de formats arbitraires, mais certaines méthodes (comme :meth:`tolist`) sont " "limitées aux formats natifs à un seul élément." -#: library/stdtypes.rst:4048 +#: library/stdtypes.rst:4049 msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." @@ -5662,11 +5665,11 @@ msgstr "" "le format ``'B'`` est maintenant traité selon la syntaxe du module *struct*. " "Cela signifie que ``memoryview(b'abc')[0] == b'abc'[0] == 97``." -#: library/stdtypes.rst:4054 +#: library/stdtypes.rst:4055 msgid "The size in bytes of each element of the memoryview::" msgstr "La taille en octets de chaque élément d'une *memoryview* ::" -#: library/stdtypes.rst:4067 +#: library/stdtypes.rst:4068 msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." @@ -5674,7 +5677,7 @@ msgstr "" "Un nombre entier indiquant le nombre de dimensions d'un tableau multi-" "dimensionnel représenté par la *memoryview*." -#: library/stdtypes.rst:4072 +#: library/stdtypes.rst:4073 msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." @@ -5682,11 +5685,11 @@ msgstr "" "Un *n*-uplet d'entiers de longueur :attr:`ndim` donnant la forme de la " "*memoryview* sous forme d'un tableau à N dimensions." -#: library/stdtypes.rst:4083 +#: library/stdtypes.rst:4084 msgid "An empty tuple instead of ``None`` when ndim = 0." msgstr "Un *n*-uplet vide au lieu de ``None`` lorsque *ndim = 0*." -#: library/stdtypes.rst:4080 +#: library/stdtypes.rst:4081 msgid "" "A tuple of integers the length of :attr:`ndim` giving the size in bytes to " "access each element for each dimension of the array." @@ -5694,29 +5697,29 @@ msgstr "" "Un *n*-uplet d'entiers de longueur :attr:`ndim` donnant la taille en octets " "permettant d'accéder à chaque dimensions du tableau." -#: library/stdtypes.rst:4088 +#: library/stdtypes.rst:4089 msgid "Used internally for PIL-style arrays. The value is informational only." msgstr "" "Détail de l'implémentation des *PIL-style arrays*. La valeur n'est donnée " "qu'à titre d'information." -#: library/stdtypes.rst:4092 +#: library/stdtypes.rst:4093 msgid "A bool indicating whether the memory is C-:term:`contiguous`." msgstr "Un booléen indiquant si la mémoire est C-:term:`contiguous`." -#: library/stdtypes.rst:4098 +#: library/stdtypes.rst:4099 msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." msgstr "Un booléen indiquant si la mémoire est Fortran :term:`contiguous`." -#: library/stdtypes.rst:4104 +#: library/stdtypes.rst:4105 msgid "A bool indicating whether the memory is :term:`contiguous`." msgstr "Un booléen indiquant si la mémoire est :term:`contiguous`." -#: library/stdtypes.rst:4112 +#: library/stdtypes.rst:4113 msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "Types d'ensembles — :class:`set`, :class:`frozenset`" -#: library/stdtypes.rst:4116 +#: library/stdtypes.rst:4117 msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " "objects. Common uses include membership testing, removing duplicates from a " @@ -5732,7 +5735,7 @@ msgstr "" "(Pour les autres conteneurs, voir les classes natives :class:`dict`, :class:" "`list`, et :class:`tuple`, ainsi que le module :mod:`collections`.)" -#: library/stdtypes.rst:4123 +#: library/stdtypes.rst:4124 msgid "" "Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " "in set``. Being an unordered collection, sets do not record element " @@ -5745,7 +5748,7 @@ msgstr "" "d'insertion. En conséquence, les *sets* n'autorisent ni l'indexation, ni le " "découpage, ou tout autre comportement de séquence." -#: library/stdtypes.rst:4128 +#: library/stdtypes.rst:4129 msgid "" "There are currently two built-in set types, :class:`set` and :class:" "`frozenset`. The :class:`set` type is mutable --- the contents can be " @@ -5765,7 +5768,7 @@ msgstr "" "--- son contenu ne peut être modifié après sa création, il peut ainsi être " "utilisé comme clé de dictionnaire ou élément d'un autre *set*." -#: library/stdtypes.rst:4136 +#: library/stdtypes.rst:4137 msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " @@ -5775,11 +5778,11 @@ msgstr "" "d'éléments séparés par des virgules et entre accolades, par exemple : " "``{'jack', 'sjoerd'}``, en plus du constructeur de la classe :class:`set`." -#: library/stdtypes.rst:4140 +#: library/stdtypes.rst:4141 msgid "The constructors for both classes work the same:" msgstr "Les constructeurs des deux classes fonctionnent pareil :" -#: library/stdtypes.rst:4145 +#: library/stdtypes.rst:4146 msgid "" "Return a new set or frozenset object whose elements are taken from " "*iterable*. The elements of a set must be :term:`hashable`. To represent " @@ -5792,19 +5795,19 @@ msgstr "" "class:`frozenset`. Si *iterable* n'est pas spécifié, un nouveau *set* vide " "est renvoyé." -#: library/stdtypes.rst:4151 +#: library/stdtypes.rst:4152 #, fuzzy msgid "Sets can be created by several means:" msgstr "Les ensembles peuvent être construits de différentes manières :" -#: library/stdtypes.rst:4153 +#: library/stdtypes.rst:4154 msgid "" "Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" msgstr "" "En utilisant une liste d'éléments séparés par des virgules entre accolades : " "``{'jack', 'sjoerd'}``" -#: library/stdtypes.rst:4154 +#: library/stdtypes.rst:4155 #, fuzzy msgid "" "Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" @@ -5812,7 +5815,7 @@ msgstr "" "En utilisant un ensemble en compréhension : ``{c for c in 'abracadabra' if c " "not in 'abc'}``" -#: library/stdtypes.rst:4155 +#: library/stdtypes.rst:4156 #, fuzzy msgid "" "Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " @@ -5821,7 +5824,7 @@ msgstr "" "En utilisant le constructeur du type : ``set()``, ``set('foobar')``, " "``set(['a', 'b', 'foo'])``" -#: library/stdtypes.rst:4157 +#: library/stdtypes.rst:4158 msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" @@ -5829,19 +5832,19 @@ msgstr "" "Les instances de :class:`set` et :class:`frozenset` fournissent les " "opérations suivantes :" -#: library/stdtypes.rst:4162 +#: library/stdtypes.rst:4163 msgid "Return the number of elements in set *s* (cardinality of *s*)." msgstr "Renvoie le nombre d'éléments dans le *set* *s* (cardinalité de *s*)." -#: library/stdtypes.rst:4166 +#: library/stdtypes.rst:4167 msgid "Test *x* for membership in *s*." msgstr "Test d'appartenance de *x* dans *s*." -#: library/stdtypes.rst:4170 +#: library/stdtypes.rst:4171 msgid "Test *x* for non-membership in *s*." msgstr "Test de non-appartenance de *x* dans *s*." -#: library/stdtypes.rst:4174 +#: library/stdtypes.rst:4175 msgid "" "Return ``True`` if the set has no elements in common with *other*. Sets are " "disjoint if and only if their intersection is the empty set." @@ -5850,11 +5853,11 @@ msgstr "" "Les ensembles sont disjoints si et seulement si leurs intersection est un " "ensemble vide." -#: library/stdtypes.rst:4180 +#: library/stdtypes.rst:4181 msgid "Test whether every element in the set is in *other*." msgstr "Teste si tous les éléments du set sont dans *other*." -#: library/stdtypes.rst:4184 +#: library/stdtypes.rst:4185 msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." @@ -5862,11 +5865,11 @@ msgstr "" "Teste si l'ensemble est un sous-ensemble de *other*, c'est-à-dire, ``set <= " "other and set != other``." -#: library/stdtypes.rst:4190 +#: library/stdtypes.rst:4191 msgid "Test whether every element in *other* is in the set." msgstr "Teste si tous les éléments de *other* sont dans l'ensemble." -#: library/stdtypes.rst:4194 +#: library/stdtypes.rst:4195 msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." @@ -5874,36 +5877,36 @@ msgstr "" "Teste si l'ensemble est un sur-ensemble de *other*, c'est-à-dire, ``set >= " "other and set != other``." -#: library/stdtypes.rst:4200 +#: library/stdtypes.rst:4201 msgid "Return a new set with elements from the set and all others." msgstr "" "Renvoie un nouvel ensemble dont les éléments viennent de l'ensemble et de " "tous les autres." -#: library/stdtypes.rst:4205 +#: library/stdtypes.rst:4206 msgid "Return a new set with elements common to the set and all others." msgstr "" "Renvoie un nouvel ensemble dont les éléments sont communs à l'ensemble et à " "tous les autres." -#: library/stdtypes.rst:4210 +#: library/stdtypes.rst:4211 msgid "Return a new set with elements in the set that are not in the others." msgstr "" "Renvoie un nouvel ensemble dont les éléments sont dans l'ensemble mais ne " "sont dans aucun des autres." -#: library/stdtypes.rst:4215 +#: library/stdtypes.rst:4216 msgid "" "Return a new set with elements in either the set or *other* but not both." msgstr "" "Renvoie un nouvel ensemble dont les éléments sont soit dans l'ensemble, soit " "dans les autres, mais pas dans les deux." -#: library/stdtypes.rst:4219 +#: library/stdtypes.rst:4220 msgid "Return a shallow copy of the set." msgstr "Renvoie une copie de surface du dictionnaire." -#: library/stdtypes.rst:4222 +#: library/stdtypes.rst:4223 #, fuzzy msgid "" "Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" @@ -5921,7 +5924,7 @@ msgstr "" "typiques d'erreurs, en faveur d'une construction plus lisible : ``set('abc')." "intersection('cbs')``." -#: library/stdtypes.rst:4229 +#: library/stdtypes.rst:4230 msgid "" "Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " "sets are equal if and only if every element of each set is contained in the " @@ -5939,7 +5942,7 @@ msgstr "" "autre ensemble si et seulement si le premier est un sur-ensemble du second " "(est un sur-ensemble mais n'est pas égal)." -#: library/stdtypes.rst:4236 +#: library/stdtypes.rst:4237 msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " @@ -5950,7 +5953,7 @@ msgstr "" "frozenset('abc')`` envoie ``True``, ainsi que ``set('abc') in " "set([frozenset('abc')])``." -#: library/stdtypes.rst:4240 +#: library/stdtypes.rst:4241 msgid "" "The subset and equality comparisons do not generalize to a total ordering " "function. For example, any two nonempty disjoint sets are not equal and are " @@ -5962,7 +5965,7 @@ msgstr "" "vides ne sont ni égaux et ni des sous-ensembles l'un de l'autre, donc toutes " "ces comparaisons donnent ``False`` : ``ab``." -#: library/stdtypes.rst:4245 +#: library/stdtypes.rst:4246 msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." @@ -5971,13 +5974,13 @@ msgstr "" "de sous-ensembles), la sortie de la méthode :meth:`list.sort` n'est pas " "définie pour des listes d'ensembles." -#: library/stdtypes.rst:4248 +#: library/stdtypes.rst:4249 msgid "Set elements, like dictionary keys, must be :term:`hashable`." msgstr "" "Les éléments des *sets*, comme les clés de dictionnaires, doivent être :term:" "`hachables `." -#: library/stdtypes.rst:4250 +#: library/stdtypes.rst:4251 msgid "" "Binary operations that mix :class:`set` instances with :class:`frozenset` " "return the type of the first operand. For example: ``frozenset('ab') | " @@ -5987,7 +5990,7 @@ msgstr "" "`frozenset` renvoient le type de la première opérande. Par exemple : " "``frozenset('ab') | set('bc')`` renvoie une instance de :class:`frozenset`." -#: library/stdtypes.rst:4254 +#: library/stdtypes.rst:4255 msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" @@ -5995,32 +5998,32 @@ msgstr "" "La table suivante liste les opérations disponibles pour les :class:`set` " "mais qui ne s'appliquent pas aux instances de :class:`frozenset` :" -#: library/stdtypes.rst:4260 +#: library/stdtypes.rst:4261 msgid "Update the set, adding elements from all others." msgstr "Met à jour l'ensemble, ajoutant les éléments de tous les autres." -#: library/stdtypes.rst:4265 +#: library/stdtypes.rst:4266 msgid "Update the set, keeping only elements found in it and all others." msgstr "" "Met à jour l'ensemble, ne gardant que les éléments trouvés dans tous les " "autres." -#: library/stdtypes.rst:4270 +#: library/stdtypes.rst:4271 msgid "Update the set, removing elements found in others." msgstr "Met à jour l'ensemble, retirant les éléments trouvés dans les autres." -#: library/stdtypes.rst:4275 +#: library/stdtypes.rst:4276 msgid "" "Update the set, keeping only elements found in either set, but not in both." msgstr "" "Met à jour le set, ne gardant que les éléments trouvés dans un des ensembles " "mais pas dans les deux." -#: library/stdtypes.rst:4279 +#: library/stdtypes.rst:4280 msgid "Add element *elem* to the set." msgstr "Ajoute l'élément *elem* au set." -#: library/stdtypes.rst:4283 +#: library/stdtypes.rst:4284 msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." @@ -6028,11 +6031,11 @@ msgstr "" "Retire l'élément *elem* de l'ensemble. Lève une exception :exc:`KeyError` si " "*elem* n'est pas dans l'ensemble." -#: library/stdtypes.rst:4288 +#: library/stdtypes.rst:4289 msgid "Remove element *elem* from the set if it is present." msgstr "Retire l'élément *elem* de l'ensemble s'il y est." -#: library/stdtypes.rst:4292 +#: library/stdtypes.rst:4293 msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." @@ -6040,11 +6043,11 @@ msgstr "" "Retire et renvoie un élément arbitraire de l'ensemble. Lève une exception :" "exc:`KeyError` si l'ensemble est vide." -#: library/stdtypes.rst:4297 +#: library/stdtypes.rst:4298 msgid "Remove all elements from the set." msgstr "Supprime tous les éléments du *set*." -#: library/stdtypes.rst:4300 +#: library/stdtypes.rst:4301 msgid "" "Note, the non-operator versions of the :meth:`update`, :meth:" "`intersection_update`, :meth:`difference_update`, and :meth:" @@ -6056,7 +6059,7 @@ msgstr "" "`symmetric_difference_update` acceptent n'importe quel itérable comme " "argument." -#: library/stdtypes.rst:4305 +#: library/stdtypes.rst:4306 msgid "" "Note, the *elem* argument to the :meth:`__contains__`, :meth:`remove`, and :" "meth:`discard` methods may be a set. To support searching for an equivalent " @@ -6067,11 +6070,11 @@ msgstr "" "recherche d'un *frozenset* équivalent, un *frozenset* temporaire est crée " "depuis *elem*." -#: library/stdtypes.rst:4313 +#: library/stdtypes.rst:4314 msgid "Mapping Types --- :class:`dict`" msgstr "Les types de correspondances — :class:`dict`" -#: library/stdtypes.rst:4323 +#: library/stdtypes.rst:4324 msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " "Mappings are mutable objects. There is currently only one standard mapping " @@ -6085,7 +6088,7 @@ msgstr "" "(Pour les autres conteneurs, voir les types natifs :class:`list`, :class:" "`set`, et :class:`tuple`, ainsi que le module :mod:`collections`.)" -#: library/stdtypes.rst:4329 +#: library/stdtypes.rst:4330 msgid "" "A dictionary's keys are *almost* arbitrary values. Values that are not :" "term:`hashable`, that is, values containing lists, dictionaries or other " @@ -6108,7 +6111,7 @@ msgstr "" "d'approximations, il est généralement imprudent de les utiliser comme clés " "de dictionnaires.)" -#: library/stdtypes.rst:4342 +#: library/stdtypes.rst:4343 msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." @@ -6116,12 +6119,12 @@ msgstr "" "Renvoie un nouveau dictionnaire initialisé depuis un argument positionnel " "optionnel, et un ensemble (vide ou non) d'arguments nommés." -#: library/stdtypes.rst:4345 +#: library/stdtypes.rst:4346 #, fuzzy msgid "Dictionaries can be created by several means:" msgstr "Les dictionnaires peuvent être construits de différentes manières :" -#: library/stdtypes.rst:4347 +#: library/stdtypes.rst:4348 #, fuzzy msgid "" "Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " @@ -6131,14 +6134,14 @@ msgstr "" "entre accolades : ``{'jack': 4098, 'sjoerd': 4127}`` ou ``{4098: 'jack', " "4127: 'sjoerd'}``" -#: library/stdtypes.rst:4349 +#: library/stdtypes.rst:4350 #, fuzzy msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" msgstr "" "En utilisant un dictionnaire en compréhension : ``{}``, ``{x: x ** 2 for x " "in range(10)}``" -#: library/stdtypes.rst:4350 +#: library/stdtypes.rst:4351 msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" @@ -6146,7 +6149,7 @@ msgstr "" "En utilisant le constructeur du type : ``dict()``, ``dict([('foo', 100), " "('bar', 200)])``, ``dict(foo=100, bar=200)``" -#: library/stdtypes.rst:4353 +#: library/stdtypes.rst:4354 msgid "" "If no positional argument is given, an empty dictionary is created. If a " "positional argument is given and it is a mapping object, a dictionary is " @@ -6168,7 +6171,7 @@ msgstr "" "pour cette clé devient la valeur correspondante à cette clé dans le nouveau " "dictionnaire." -#: library/stdtypes.rst:4363 +#: library/stdtypes.rst:4364 msgid "" "If keyword arguments are given, the keyword arguments and their values are " "added to the dictionary created from the positional argument. If a key " @@ -6179,7 +6182,7 @@ msgstr "" "depuis l'argument positionnel. Si une clé est déjà présente, la valeur de " "l'argument nommé remplace la valeur reçue par l'argument positionnel." -#: library/stdtypes.rst:4368 +#: library/stdtypes.rst:4369 msgid "" "To illustrate, the following examples all return a dictionary equal to " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" @@ -6187,7 +6190,7 @@ msgstr "" "Typiquement, les exemples suivants renvoient tous un dictionnaire valant " "``{\"one\": 1, \"two\": 2, \"three\": 3}`` ::" -#: library/stdtypes.rst:4380 +#: library/stdtypes.rst:4381 msgid "" "Providing keyword arguments as in the first example only works for keys that " "are valid Python identifiers. Otherwise, any valid keys can be used." @@ -6196,7 +6199,7 @@ msgstr "" "pour des clés qui sont des identifiants valide en Python. Dans les autres " "cas, toutes les clés valides sont utilisables." -#: library/stdtypes.rst:4384 +#: library/stdtypes.rst:4385 msgid "" "These are the operations that dictionaries support (and therefore, custom " "mapping types should support too):" @@ -6204,16 +6207,16 @@ msgstr "" "Voici les opérations gérées par les dictionnaires, (par conséquent, d'autres " "types de *mapping* peuvent les gérer aussi) :" -#: library/stdtypes.rst:4389 +#: library/stdtypes.rst:4390 msgid "Return a list of all the keys used in the dictionary *d*." msgstr "" "Renvoie une liste de toutes les clés utilisées dans le dictionnaire *d*." -#: library/stdtypes.rst:4393 +#: library/stdtypes.rst:4394 msgid "Return the number of items in the dictionary *d*." msgstr "Renvoie le nombre d'éléments dans le dictionnaire *d*." -#: library/stdtypes.rst:4397 +#: library/stdtypes.rst:4398 msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." @@ -6221,7 +6224,7 @@ msgstr "" "Renvoie l'élément de *d* dont la clé est *key*. Lève une exception :exc:" "`KeyError` si *key* n'est pas dans le dictionnaire." -#: library/stdtypes.rst:4402 +#: library/stdtypes.rst:4403 msgid "" "If a subclass of dict defines a method :meth:`__missing__` and *key* is not " "present, the ``d[key]`` operation calls that method with the key *key* as " @@ -6240,7 +6243,7 @@ msgstr "" "meth:`__missing__` doit être une méthode; ça ne peut être une variable " "d'instance ::" -#: library/stdtypes.rst:4420 +#: library/stdtypes.rst:4421 msgid "" "The example above shows part of the implementation of :class:`collections." "Counter`. A different ``__missing__`` method is used by :class:`collections." @@ -6250,11 +6253,11 @@ msgstr "" "`collections.Counter`. :class:`collections.defaultdict` implémente aussi " "``__missing__``." -#: library/stdtypes.rst:4426 +#: library/stdtypes.rst:4427 msgid "Set ``d[key]`` to *value*." msgstr "Assigne ``d[key]`` à *value*." -#: library/stdtypes.rst:4430 +#: library/stdtypes.rst:4431 msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." @@ -6262,15 +6265,15 @@ msgstr "" "Supprime ``d[key]`` de *d*. Lève une exception :exc:`KeyError` si *key* " "n'est pas dans le dictionnaire." -#: library/stdtypes.rst:4435 +#: library/stdtypes.rst:4436 msgid "Return ``True`` if *d* has a key *key*, else ``False``." msgstr "Renvoie ``True`` si *d* a la clé *key*, sinon ``False``." -#: library/stdtypes.rst:4439 +#: library/stdtypes.rst:4440 msgid "Equivalent to ``not key in d``." msgstr "Équivalent à ``not key in d``." -#: library/stdtypes.rst:4443 +#: library/stdtypes.rst:4444 msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." @@ -6278,22 +6281,22 @@ msgstr "" "Renvoie un itérateur sur les clés du dictionnaire. C'est un raccourci pour " "``iter(d.keys())``." -#: library/stdtypes.rst:4448 +#: library/stdtypes.rst:4449 msgid "Remove all items from the dictionary." msgstr "Supprime tous les éléments du dictionnaire." -#: library/stdtypes.rst:4452 +#: library/stdtypes.rst:4453 msgid "Return a shallow copy of the dictionary." msgstr "Renvoie une copie de surface du dictionnaire." -#: library/stdtypes.rst:4456 +#: library/stdtypes.rst:4457 msgid "" "Create a new dictionary with keys from *iterable* and values set to *value*." msgstr "" "Crée un nouveau dictionnaire avec les clés de *iterable* et les valeurs à " "*value*." -#: library/stdtypes.rst:4458 +#: library/stdtypes.rst:4459 msgid "" ":meth:`fromkeys` is a class method that returns a new dictionary. *value* " "defaults to ``None``. All of the values refer to just a single instance, so " @@ -6307,7 +6310,7 @@ msgstr "" "*value* soit un objet mutable comme une liste vide. Pour avoir des valeurs " "distinctes, utiliser plutôt une :ref:`compréhension de dictionnaire `." -#: library/stdtypes.rst:4466 +#: library/stdtypes.rst:4467 msgid "" "Return the value for *key* if *key* is in the dictionary, else *default*. If " "*default* is not given, it defaults to ``None``, so that this method never " @@ -6317,7 +6320,7 @@ msgstr "" "*default*. Si *default* n'est pas donné, il vaut ``None`` par défaut, de " "manière à ce que cette méthode ne lève jamais :exc:`KeyError`." -#: library/stdtypes.rst:4472 +#: library/stdtypes.rst:4473 msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." @@ -6325,7 +6328,7 @@ msgstr "" "Renvoie une nouvelle vue des éléments du dictionnaire (paires de ``(key, " "value)``). Voir la :ref:`documentation des vues `." -#: library/stdtypes.rst:4477 +#: library/stdtypes.rst:4478 msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." @@ -6333,7 +6336,7 @@ msgstr "" "Renvoie une nouvelle vue des clés du dictionnaire. Voir la :ref:" "`documentation des vues `." -#: library/stdtypes.rst:4482 +#: library/stdtypes.rst:4483 msgid "" "If *key* is in the dictionary, remove it and return its value, else return " "*default*. If *default* is not given and *key* is not in the dictionary, a :" @@ -6343,7 +6346,7 @@ msgstr "" "renvoyée, sinon renvoie *default*. Si *default* n'est pas donné et que " "*key* n'est pas dans le dictionnaire, une :exc:`KeyError` est levée." -#: library/stdtypes.rst:4488 +#: library/stdtypes.rst:4489 msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." @@ -6351,7 +6354,7 @@ msgstr "" "Supprime et renvoie une paire ``(key, value)`` du dictionnaire. Les paires " "sont renvoyées dans un ordre :abbr:`LIFO (dernière entrée, prenière sortie)`." -#: library/stdtypes.rst:4491 +#: library/stdtypes.rst:4492 msgid "" ":meth:`popitem` is useful to destructively iterate over a dictionary, as " "often used in set algorithms. If the dictionary is empty, calling :meth:" @@ -6361,7 +6364,7 @@ msgstr "" "destructive, comme souvent dans les algorithmes sur les ensembles. Si le " "dictionnaire est vide, appeler :meth:`popitem` lève une :exc:`KeyError`." -#: library/stdtypes.rst:4495 +#: library/stdtypes.rst:4496 msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." @@ -6370,7 +6373,7 @@ msgstr "" "les versions précédentes, :meth:`popitem` renvoyait une paire clé/valeur " "arbitraire." -#: library/stdtypes.rst:4501 +#: library/stdtypes.rst:4502 msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." @@ -6378,7 +6381,7 @@ msgstr "" "Renvoie un itérateur inversé sur les clés du dictionnaire. C'est un " "raccourci pour ``reversed(d.keys())``." -#: library/stdtypes.rst:4508 +#: library/stdtypes.rst:4509 msgid "" "If *key* is in the dictionary, return its value. If not, insert *key* with " "a value of *default* and return *default*. *default* defaults to ``None``." @@ -6387,7 +6390,7 @@ msgstr "" "*key* avec comme valeur *default* et renvoie *default*. *default* vaut " "``None`` par défaut." -#: library/stdtypes.rst:4514 +#: library/stdtypes.rst:4515 msgid "" "Update the dictionary with the key/value pairs from *other*, overwriting " "existing keys. Return ``None``." @@ -6395,7 +6398,7 @@ msgstr "" "Met à jour le dictionnaire avec les paires de clé/valeur d'*other*, écrasant " "les clés existantes. Renvoie ``None``." -#: library/stdtypes.rst:4517 +#: library/stdtypes.rst:4518 msgid "" ":meth:`update` accepts either another dictionary object or an iterable of " "key/value pairs (as tuples or other iterables of length two). If keyword " @@ -6407,7 +6410,7 @@ msgstr "" "Si des arguments nommés sont donnés, le dictionnaire est alors mis à jour " "avec ces paires de clé-valeur : ``d.update(red=1, blue=2)``." -#: library/stdtypes.rst:4524 +#: library/stdtypes.rst:4525 msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." @@ -6415,7 +6418,7 @@ msgstr "" "Renvoie une nouvelle vue des valeurs du dictionnaire. Voir la :ref:" "`documentation des vues `." -#: library/stdtypes.rst:4527 +#: library/stdtypes.rst:4528 msgid "" "An equality comparison between one ``dict.values()`` view and another will " "always return ``False``. This also applies when comparing ``dict.values()`` " @@ -6425,7 +6428,7 @@ msgstr "" "renvoie toujours ``False``. Cela s'applique aussi lorsque l'on compare " "``dict.values()`` à lui-même ::" -#: library/stdtypes.rst:4537 +#: library/stdtypes.rst:4538 msgid "" "Create a new dictionary with the merged keys and values of *d* and *other*, " "which must both be dictionaries. The values of *other* take priority when " @@ -6435,7 +6438,7 @@ msgstr "" "et *other*, qui doivent tous deux être des dictionnaires. Les valeurs de " "*other* sont prioritaires lorsque *d* et *other* partagent des clés." -#: library/stdtypes.rst:4545 +#: library/stdtypes.rst:4546 msgid "" "Update the dictionary *d* with keys and values from *other*, which may be " "either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " @@ -6446,7 +6449,7 @@ msgstr "" "valeur. Les valeurs de *other* sont prioritaires lorsque *d* et *other* " "partagent des clés." -#: library/stdtypes.rst:4551 +#: library/stdtypes.rst:4552 msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -6456,7 +6459,7 @@ msgstr "" "clé-valeur (``(key, value)``, peu importe leur ordre). Les comparaisons " "d'ordre (``<``, ``<=``, ``>=``, ``>``) lèvent une :exc:`TypeError`." -#: library/stdtypes.rst:4555 +#: library/stdtypes.rst:4556 msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -6465,7 +6468,7 @@ msgstr "" "clé n'affecte pas l'ordre. Les clés ajoutées après un effacement sont " "insérées à la fin. ::" -#: library/stdtypes.rst:4573 +#: library/stdtypes.rst:4574 msgid "" "Dictionary order is guaranteed to be insertion order. This behavior was an " "implementation detail of CPython from 3.6." @@ -6474,16 +6477,16 @@ msgstr "" "comportement était un détail d'implémentation de CPython depuis la version " "3.6." -#: library/stdtypes.rst:4577 +#: library/stdtypes.rst:4578 msgid "Dictionaries and dictionary views are reversible. ::" msgstr "Les dictionnaires et les vues de dictionnaires sont réversibles. ::" # suit un ':' ("changed in version X.Y") -#: library/stdtypes.rst:4589 +#: library/stdtypes.rst:4590 msgid "Dictionaries are now reversible." msgstr "les dictionnaires sont maintenant réversibles." -#: library/stdtypes.rst:4594 +#: library/stdtypes.rst:4595 msgid "" ":class:`types.MappingProxyType` can be used to create a read-only view of a :" "class:`dict`." @@ -6491,11 +6494,11 @@ msgstr "" ":class:`types.MappingProxyType` peut être utilisé pour créer une vue en " "lecture seule d'un :class:`dict`." -#: library/stdtypes.rst:4601 +#: library/stdtypes.rst:4602 msgid "Dictionary view objects" msgstr "Les vues de dictionnaires" -#: library/stdtypes.rst:4603 +#: library/stdtypes.rst:4604 msgid "" "The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" "`dict.items` are *view objects*. They provide a dynamic view on the " @@ -6507,7 +6510,7 @@ msgstr "" "éléments du dictionnaire, ce qui signifie que si le dictionnaire change, la " "vue reflète ces changements." -#: library/stdtypes.rst:4608 +#: library/stdtypes.rst:4609 msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" @@ -6515,11 +6518,11 @@ msgstr "" "Les vues de dictionnaires peuvent être itérées et ainsi renvoyer les données " "du dictionnaire, elle gèrent aussi les tests de présence :" -#: library/stdtypes.rst:4613 +#: library/stdtypes.rst:4614 msgid "Return the number of entries in the dictionary." msgstr "Renvoie le nombre d'entrées du dictionnaire." -#: library/stdtypes.rst:4617 +#: library/stdtypes.rst:4618 msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." @@ -6527,7 +6530,7 @@ msgstr "" "Renvoie un itérateur sur les clés, les valeurs, ou les éléments (représentés " "par des paires ``(clé, valeur)`` du dictionnaire." -#: library/stdtypes.rst:4620 +#: library/stdtypes.rst:4621 msgid "" "Keys and values are iterated over in insertion order. This allows the " "creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." @@ -6539,7 +6542,7 @@ msgstr "" "``pairs = zip(d.values(), d.keys())``. Un autre moyen de construire la même " "liste est ``pairs = [(v, k) for (k, v) in d.items()]``." -#: library/stdtypes.rst:4625 +#: library/stdtypes.rst:4626 msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." @@ -6548,11 +6551,11 @@ msgstr "" "dictionnaire peut lever une :exc:`RuntimeError` ou ne pas fournir toutes les " "entrées." -#: library/stdtypes.rst:4628 +#: library/stdtypes.rst:4629 msgid "Dictionary order is guaranteed to be insertion order." msgstr "L'ordre d'un dictionnaire est toujours l'ordre des insertions." -#: library/stdtypes.rst:4633 +#: library/stdtypes.rst:4634 msgid "" "Return ``True`` if *x* is in the underlying dictionary's keys, values or " "items (in the latter case, *x* should be a ``(key, value)`` tuple)." @@ -6561,7 +6564,7 @@ msgstr "" "dictionnaire sous-jacent (dans le dernier cas, *x* doit être une paire " "``(key, value)``)." -#: library/stdtypes.rst:4638 +#: library/stdtypes.rst:4639 msgid "" "Return a reverse iterator over the keys, values or items of the dictionary. " "The view will be iterated in reverse order of the insertion." @@ -6570,17 +6573,17 @@ msgstr "" "dictionnaire. La vue est itérée dans l'ordre inverse d'insertion." # suit un ':' ("changed in version X.Y") -#: library/stdtypes.rst:4641 +#: library/stdtypes.rst:4642 msgid "Dictionary views are now reversible." msgstr "les vues de dictionnaires sont dorénavant réversibles." -#: library/stdtypes.rst:4646 +#: library/stdtypes.rst:4647 msgid "" "Return a :class:`types.MappingProxyType` that wraps the original dictionary " "to which the view refers." msgstr "" -#: library/stdtypes.rst:4651 +#: library/stdtypes.rst:4652 msgid "" "Keys views are set-like since their entries are unique and hashable. If all " "values are hashable, so that ``(key, value)`` pairs are unique and hashable, " @@ -6599,15 +6602,15 @@ msgstr "" "base abstraite :class:`collections.abc.Set` sont disponibles (comme ``==``, " "``<``, ou ``^``)." -#: library/stdtypes.rst:4658 +#: library/stdtypes.rst:4659 msgid "An example of dictionary view usage::" msgstr "Exemple d'utilisation de vue de dictionnaire ::" -#: library/stdtypes.rst:4699 +#: library/stdtypes.rst:4700 msgid "Context Manager Types" msgstr "Le type gestionnaire de contexte" -#: library/stdtypes.rst:4706 +#: library/stdtypes.rst:4707 msgid "" "Python's :keyword:`with` statement supports the concept of a runtime context " "defined by a context manager. This is implemented using a pair of methods " @@ -6620,7 +6623,7 @@ msgstr "" "entré avant l'exécution du corps de l'instruction, et qui est quitté lorsque " "l'instruction se termine :" -#: library/stdtypes.rst:4714 +#: library/stdtypes.rst:4715 msgid "" "Enter the runtime context and return either this object or another object " "related to the runtime context. The value returned by this method is bound " @@ -6632,7 +6635,7 @@ msgstr "" "cette méthode est liée à l'identifiant donné au :keyword:`!as` de " "l'instruction :keyword:`with` utilisant ce gestionnaire de contexte." -#: library/stdtypes.rst:4719 +#: library/stdtypes.rst:4720 msgid "" "An example of a context manager that returns itself is a :term:`file " "object`. File objects return themselves from __enter__() to allow :func:" @@ -6643,7 +6646,7 @@ msgstr "" "autorisent :func:`open` à être utilisé comme contexte à une instruction :" "keyword:`with`." -#: library/stdtypes.rst:4723 +#: library/stdtypes.rst:4724 msgid "" "An example of a context manager that returns a related object is the one " "returned by :func:`decimal.localcontext`. These managers set the active " @@ -6658,7 +6661,7 @@ msgstr "" "renvoyée. Ça permet de changer le contexte courant dans le corps du :keyword:" "`with` sans affecter le code en dehors de l'instruction :keyword:`!with`." -#: library/stdtypes.rst:4733 +#: library/stdtypes.rst:4734 msgid "" "Exit the runtime context and return a Boolean flag indicating if any " "exception that occurred should be suppressed. If an exception occurred while " @@ -6672,7 +6675,7 @@ msgstr "" "l'exception, sa valeur, et la trace de la pile (*traceback*). Sinon les " "trois arguments valent ``None``." -#: library/stdtypes.rst:4738 +#: library/stdtypes.rst:4739 msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " @@ -6689,7 +6692,7 @@ msgstr "" "pendant l'exécution de cette méthode remplaceront toute exception qui s'est " "produite dans le corps du :keyword:`!with`." -#: library/stdtypes.rst:4745 +#: library/stdtypes.rst:4746 msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " @@ -6703,7 +6706,7 @@ msgstr "" "Ceci permet au code de gestion du contexte de comprendre si une méthode :" "meth:`__exit__` a échoué." -#: library/stdtypes.rst:4751 +#: library/stdtypes.rst:4752 msgid "" "Python defines several context managers to support easy thread " "synchronisation, prompt closure of files or other objects, and simpler " @@ -6718,7 +6721,7 @@ msgstr "" "protocole de gestion du contexte. Voir les exemples dans la documentation du " "module :mod:`contextlib`." -#: library/stdtypes.rst:4757 +#: library/stdtypes.rst:4758 msgid "" "Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " "decorator provide a convenient way to implement these protocols. If a " @@ -6734,7 +6737,7 @@ msgstr "" "`~contextmanager.__enter__` et :meth:`~contextmanager.__exit__`, plutôt que " "l'itérateur produit par un générateur non décoré." -#: library/stdtypes.rst:4764 +#: library/stdtypes.rst:4765 msgid "" "Note that there is no specific slot for any of these methods in the type " "structure for Python objects in the Python/C API. Extension types wanting to " @@ -6749,24 +6752,24 @@ msgstr "" "d'exécution, les le coût d'un accès au dictionnaire d'une classe unique est " "négligeable." -#: library/stdtypes.rst:4772 +#: library/stdtypes.rst:4773 msgid "" "Type Annotation Types --- :ref:`Generic Alias `, :ref:" "`Union `" msgstr "" -#: library/stdtypes.rst:4777 +#: library/stdtypes.rst:4778 msgid "" "The core built-in types for :term:`type annotations ` are :ref:" "`Generic Alias ` and :ref:`Union `." msgstr "" -#: library/stdtypes.rst:4784 +#: library/stdtypes.rst:4785 #, fuzzy msgid "Generic Alias Type" msgstr "Type Alias Générique" -#: library/stdtypes.rst:4790 +#: library/stdtypes.rst:4791 #, fuzzy msgid "" "``GenericAlias`` objects are generally created by :ref:`subscripting " @@ -6780,19 +6783,19 @@ msgstr "" "un conteneur), telle que ``list[int]``. Ils sont principalement destinés aux " "types :term:`annotations `." -#: library/stdtypes.rst:4800 +#: library/stdtypes.rst:4801 msgid "" "It is generally only possible to subscript a class if the class implements " "the special method :meth:`~object.__class_getitem__`." msgstr "" -#: library/stdtypes.rst:4803 +#: library/stdtypes.rst:4804 msgid "" "A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " "implementing *parameterized generics*." msgstr "" -#: library/stdtypes.rst:4806 +#: library/stdtypes.rst:4807 msgid "" "For a container class, the argument(s) supplied to a :ref:`subscription " "` of the class may indicate the type(s) of the elements an " @@ -6801,7 +6804,7 @@ msgid "" "`bytes`." msgstr "" -#: library/stdtypes.rst:4812 +#: library/stdtypes.rst:4813 msgid "" "For a class which defines :meth:`~object.__class_getitem__` but is not a " "container, the argument(s) supplied to a subscription of the class will " @@ -6810,7 +6813,7 @@ msgid "" "the :class:`str` data type and the :class:`bytes` data type:" msgstr "" -#: library/stdtypes.rst:4818 +#: library/stdtypes.rst:4819 msgid "" "If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match ` object where the return values of ``x.group(0)`` and ``x[0]`` will " @@ -6818,7 +6821,7 @@ msgid "" "annotations with the ``GenericAlias`` ``re.Match[str]``." msgstr "" -#: library/stdtypes.rst:4824 +#: library/stdtypes.rst:4825 msgid "" "If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " "``y`` will also be an instance of ``re.Match``, but the return values of ``y." @@ -6827,21 +6830,21 @@ msgid "" "objects>` objects with ``re.Match[bytes]``." msgstr "" -#: library/stdtypes.rst:4830 +#: library/stdtypes.rst:4831 msgid "" "``GenericAlias`` objects are instances of the class :class:`types." "GenericAlias`, which can also be used to create ``GenericAlias`` objects " "directly." msgstr "" -#: library/stdtypes.rst:4836 +#: library/stdtypes.rst:4837 msgid "" "Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " "*X*, *Y*, and more depending on the ``T`` used. For example, a function " "expecting a :class:`list` containing :class:`float` elements::" msgstr "" -#: library/stdtypes.rst:4844 +#: library/stdtypes.rst:4845 msgid "" "Another example for :term:`mapping` objects, using a :class:`dict`, which is " "a generic type expecting two type parameters representing the key type and " @@ -6849,13 +6852,13 @@ msgid "" "of type :class:`str` and values of type :class:`int`::" msgstr "" -#: library/stdtypes.rst:4852 +#: library/stdtypes.rst:4853 msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" msgstr "" -#: library/stdtypes.rst:4860 +#: library/stdtypes.rst:4861 msgid "" "The Python runtime does not enforce :term:`type annotations `. " "This extends to generic types and their type parameters. When creating a " @@ -6864,326 +6867,326 @@ msgid "" "discouraged, but will run without errors::" msgstr "" -#: library/stdtypes.rst:4870 +#: library/stdtypes.rst:4871 msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" msgstr "" -#: library/stdtypes.rst:4881 +#: library/stdtypes.rst:4882 msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" msgstr "" -#: library/stdtypes.rst:4889 +#: library/stdtypes.rst:4890 msgid "" "The :meth:`~object.__getitem__` method of generic containers will raise an " "exception to disallow mistakes like ``dict[str][str]``::" msgstr "" -#: library/stdtypes.rst:4897 +#: library/stdtypes.rst:4898 msgid "" "However, such expressions are valid when :ref:`type variables ` " "are used. The index must have as many elements as there are type variable " "items in the ``GenericAlias`` object's :attr:`~genericalias.__args__`. ::" msgstr "" -#: library/stdtypes.rst:4908 +#: library/stdtypes.rst:4909 msgid "Standard Generic Classes" msgstr "" -#: library/stdtypes.rst:4910 +#: library/stdtypes.rst:4911 msgid "" "The following standard library classes support parameterized generics. This " "list is non-exhaustive." msgstr "" -#: library/stdtypes.rst:4913 +#: library/stdtypes.rst:4914 msgid ":class:`tuple`" msgstr ":class:`tuple`" -#: library/stdtypes.rst:4914 +#: library/stdtypes.rst:4915 msgid ":class:`list`" msgstr ":class:`list`" -#: library/stdtypes.rst:4915 +#: library/stdtypes.rst:4916 msgid ":class:`dict`" msgstr ":class:`dict`" -#: library/stdtypes.rst:4916 +#: library/stdtypes.rst:4917 msgid ":class:`set`" msgstr ":class:`set`" -#: library/stdtypes.rst:4917 +#: library/stdtypes.rst:4918 msgid ":class:`frozenset`" msgstr ":class:`frozenset`" -#: library/stdtypes.rst:4918 +#: library/stdtypes.rst:4919 msgid ":class:`type`" msgstr ":class:`type`" -#: library/stdtypes.rst:4919 +#: library/stdtypes.rst:4920 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: library/stdtypes.rst:4920 +#: library/stdtypes.rst:4921 msgid ":class:`collections.defaultdict`" msgstr ":class:`collections.defaultdict`" -#: library/stdtypes.rst:4921 +#: library/stdtypes.rst:4922 msgid ":class:`collections.OrderedDict`" msgstr ":class:`collections.OrderedDict`" -#: library/stdtypes.rst:4922 +#: library/stdtypes.rst:4923 msgid ":class:`collections.Counter`" msgstr ":class:`collections.Counter`" -#: library/stdtypes.rst:4923 +#: library/stdtypes.rst:4924 msgid ":class:`collections.ChainMap`" msgstr ":class:`collections.ChainMap`" -#: library/stdtypes.rst:4924 +#: library/stdtypes.rst:4925 msgid ":class:`collections.abc.Awaitable`" msgstr ":class:`collections.abc.Awaitable`" -#: library/stdtypes.rst:4925 +#: library/stdtypes.rst:4926 msgid ":class:`collections.abc.Coroutine`" msgstr ":class:`collections.abc.Coroutine`" -#: library/stdtypes.rst:4926 +#: library/stdtypes.rst:4927 msgid ":class:`collections.abc.AsyncIterable`" msgstr ":class:`collections.abc.AsyncIterable`" -#: library/stdtypes.rst:4927 +#: library/stdtypes.rst:4928 msgid ":class:`collections.abc.AsyncIterator`" msgstr ":class:`collections.abc.AsyncIterator`" -#: library/stdtypes.rst:4928 +#: library/stdtypes.rst:4929 msgid ":class:`collections.abc.AsyncGenerator`" msgstr ":class:`collections.abc.AsyncGenerator`" -#: library/stdtypes.rst:4929 +#: library/stdtypes.rst:4930 msgid ":class:`collections.abc.Iterable`" msgstr ":class:`collections.abc.Iterable`" -#: library/stdtypes.rst:4930 +#: library/stdtypes.rst:4931 msgid ":class:`collections.abc.Iterator`" msgstr ":class:`collections.abc.Iterator`" -#: library/stdtypes.rst:4931 +#: library/stdtypes.rst:4932 msgid ":class:`collections.abc.Generator`" msgstr ":class:`collections.abc.Generator`" -#: library/stdtypes.rst:4932 +#: library/stdtypes.rst:4933 msgid ":class:`collections.abc.Reversible`" msgstr ":class:`collections.abc.Reversible`" -#: library/stdtypes.rst:4933 +#: library/stdtypes.rst:4934 msgid ":class:`collections.abc.Container`" msgstr ":class:`collections.abc.Container`" -#: library/stdtypes.rst:4934 +#: library/stdtypes.rst:4935 msgid ":class:`collections.abc.Collection`" msgstr ":class:`collections.abc.Collection`" -#: library/stdtypes.rst:4935 +#: library/stdtypes.rst:4936 msgid ":class:`collections.abc.Callable`" msgstr ":class:`collections.abc.Callable`" -#: library/stdtypes.rst:4936 +#: library/stdtypes.rst:4937 msgid ":class:`collections.abc.Set`" msgstr ":class:`collections.abc.Set`" -#: library/stdtypes.rst:4937 +#: library/stdtypes.rst:4938 msgid ":class:`collections.abc.MutableSet`" msgstr ":class:`collections.abc.MutableSet`" -#: library/stdtypes.rst:4938 +#: library/stdtypes.rst:4939 msgid ":class:`collections.abc.Mapping`" msgstr ":class:`collections.abc.Mapping`" -#: library/stdtypes.rst:4939 +#: library/stdtypes.rst:4940 msgid ":class:`collections.abc.MutableMapping`" msgstr ":class:`collections.abc.MutableMapping`" -#: library/stdtypes.rst:4940 +#: library/stdtypes.rst:4941 msgid ":class:`collections.abc.Sequence`" msgstr ":class:`collections.abc.Sequence`" -#: library/stdtypes.rst:4941 +#: library/stdtypes.rst:4942 msgid ":class:`collections.abc.MutableSequence`" msgstr ":class:`collections.abc.MutableSequence`" -#: library/stdtypes.rst:4942 +#: library/stdtypes.rst:4943 msgid ":class:`collections.abc.ByteString`" msgstr ":class:`collections.abc.ByteString`" -#: library/stdtypes.rst:4943 +#: library/stdtypes.rst:4944 msgid ":class:`collections.abc.MappingView`" msgstr ":class:`collections.abc.MappingView`" -#: library/stdtypes.rst:4944 +#: library/stdtypes.rst:4945 msgid ":class:`collections.abc.KeysView`" msgstr ":class:`collections.abc.KeysView`" -#: library/stdtypes.rst:4945 +#: library/stdtypes.rst:4946 msgid ":class:`collections.abc.ItemsView`" msgstr ":class:`collections.abc.ItemsView`" -#: library/stdtypes.rst:4946 +#: library/stdtypes.rst:4947 msgid ":class:`collections.abc.ValuesView`" msgstr ":class:`collections.abc.ValuesView`" -#: library/stdtypes.rst:4947 +#: library/stdtypes.rst:4948 msgid ":class:`contextlib.AbstractContextManager`" msgstr ":class:`contextlib.AbstractContextManager`" -#: library/stdtypes.rst:4948 +#: library/stdtypes.rst:4949 msgid ":class:`contextlib.AbstractAsyncContextManager`" msgstr ":class:`contextlib.AbstractAsyncContextManager`" -#: library/stdtypes.rst:4949 +#: library/stdtypes.rst:4950 msgid ":class:`dataclasses.Field`" msgstr ":class:`dataclasses.Field`" -#: library/stdtypes.rst:4950 +#: library/stdtypes.rst:4951 msgid ":class:`functools.cached_property`" msgstr ":class:`functools.cached_property`" -#: library/stdtypes.rst:4951 +#: library/stdtypes.rst:4952 msgid ":class:`functools.partialmethod`" msgstr ":class:`functools.partialmethod`" -#: library/stdtypes.rst:4952 +#: library/stdtypes.rst:4953 msgid ":class:`os.PathLike`" msgstr ":class:`os.PathLike`" -#: library/stdtypes.rst:4953 +#: library/stdtypes.rst:4954 msgid ":class:`queue.LifoQueue`" msgstr ":class:`queue.LifoQueue`" -#: library/stdtypes.rst:4954 +#: library/stdtypes.rst:4955 msgid ":class:`queue.Queue`" msgstr ":class:`queue.Queue`" -#: library/stdtypes.rst:4955 +#: library/stdtypes.rst:4956 msgid ":class:`queue.PriorityQueue`" msgstr ":class:`queue.PriorityQueue`" -#: library/stdtypes.rst:4956 +#: library/stdtypes.rst:4957 msgid ":class:`queue.SimpleQueue`" msgstr ":class:`queue.SimpleQueue`" -#: library/stdtypes.rst:4957 +#: library/stdtypes.rst:4958 msgid ":ref:`re.Pattern `" msgstr ":ref:`re.Pattern `" -#: library/stdtypes.rst:4958 +#: library/stdtypes.rst:4959 msgid ":ref:`re.Match `" msgstr ":ref:`re.Match `" -#: library/stdtypes.rst:4959 +#: library/stdtypes.rst:4960 msgid ":class:`shelve.BsdDbShelf`" msgstr ":class:`shelve.BsdDbShelf`" -#: library/stdtypes.rst:4960 +#: library/stdtypes.rst:4961 msgid ":class:`shelve.DbfilenameShelf`" msgstr ":class:`shelve.DbfilenameShelf`" -#: library/stdtypes.rst:4961 +#: library/stdtypes.rst:4962 msgid ":class:`shelve.Shelf`" msgstr ":class:`shelve.Shelf`" -#: library/stdtypes.rst:4962 +#: library/stdtypes.rst:4963 msgid ":class:`types.MappingProxyType`" msgstr ":class:`types.MappingProxyType`" -#: library/stdtypes.rst:4963 +#: library/stdtypes.rst:4964 msgid ":class:`weakref.WeakKeyDictionary`" msgstr ":class:`weakref.WeakKeyDictionary`" -#: library/stdtypes.rst:4964 +#: library/stdtypes.rst:4965 msgid ":class:`weakref.WeakMethod`" msgstr ":class:`weakref.WeakMethod`" -#: library/stdtypes.rst:4965 +#: library/stdtypes.rst:4966 msgid ":class:`weakref.WeakSet`" msgstr ":class:`weakref.WeakSet`" -#: library/stdtypes.rst:4966 +#: library/stdtypes.rst:4967 msgid ":class:`weakref.WeakValueDictionary`" msgstr ":class:`weakref.WeakValueDictionary`" -#: library/stdtypes.rst:4971 +#: library/stdtypes.rst:4972 msgid "Special Attributes of ``GenericAlias`` objects" msgstr "Attributs spéciaux des alias génériques" -#: library/stdtypes.rst:4973 +#: library/stdtypes.rst:4974 msgid "All parameterized generics implement special read-only attributes." msgstr "" -#: library/stdtypes.rst:4977 +#: library/stdtypes.rst:4978 msgid "This attribute points at the non-parameterized generic class::" msgstr "" -#: library/stdtypes.rst:4985 +#: library/stdtypes.rst:4986 msgid "" "This attribute is a :class:`tuple` (possibly of length 1) of generic types " "passed to the original :meth:`~object.__class_getitem__` of the generic " "class::" msgstr "" -#: library/stdtypes.rst:4995 +#: library/stdtypes.rst:4996 msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" msgstr "" -#: library/stdtypes.rst:5006 +#: library/stdtypes.rst:5007 msgid "" "A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " "have correct ``__parameters__`` after substitution because :class:`typing." "ParamSpec` is intended primarily for static type checking." msgstr "" -#: library/stdtypes.rst:5013 +#: library/stdtypes.rst:5014 msgid ":pep:`484` - Type Hints" msgstr ":pep:`484` — Indications de types" -#: library/stdtypes.rst:5013 +#: library/stdtypes.rst:5014 msgid "Introducing Python's framework for type annotations." msgstr "" -#: library/stdtypes.rst:5018 +#: library/stdtypes.rst:5019 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" msgstr "" -#: library/stdtypes.rst:5016 +#: library/stdtypes.rst:5017 msgid "" "Introducing the ability to natively parameterize standard-library classes, " "provided they implement the special class method :meth:`~object." "__class_getitem__`." msgstr "" -#: library/stdtypes.rst:5021 +#: library/stdtypes.rst:5022 msgid "" ":ref:`Generics`, :ref:`user-defined generics ` and :" "class:`typing.Generic`" msgstr "" -#: library/stdtypes.rst:5021 +#: library/stdtypes.rst:5022 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" -#: library/stdtypes.rst:5030 +#: library/stdtypes.rst:5031 #, fuzzy msgid "Union Type" msgstr "Type de conversion." -#: library/stdtypes.rst:5036 +#: library/stdtypes.rst:5037 msgid "" "A union object holds the value of the ``|`` (bitwise or) operation on " "multiple :ref:`type objects `. These types are intended " @@ -7192,7 +7195,7 @@ msgid "" "Union`." msgstr "" -#: library/stdtypes.rst:5043 +#: library/stdtypes.rst:5044 msgid "" "Defines a union object which holds types *X*, *Y*, and so forth. ``X | Y`` " "means either X or Y. It is equivalent to ``typing.Union[X, Y]``. For " @@ -7200,66 +7203,66 @@ msgid "" "class:`float`::" msgstr "" -#: library/stdtypes.rst:5053 +#: library/stdtypes.rst:5054 msgid "" "Union objects can be tested for equality with other union objects. Details:" msgstr "" -#: library/stdtypes.rst:5055 +#: library/stdtypes.rst:5056 msgid "Unions of unions are flattened::" msgstr "" -#: library/stdtypes.rst:5059 +#: library/stdtypes.rst:5060 msgid "Redundant types are removed::" msgstr "" -#: library/stdtypes.rst:5063 +#: library/stdtypes.rst:5064 msgid "When comparing unions, the order is ignored::" msgstr "" -#: library/stdtypes.rst:5067 +#: library/stdtypes.rst:5068 msgid "It is compatible with :data:`typing.Union`::" msgstr "" -#: library/stdtypes.rst:5071 +#: library/stdtypes.rst:5072 msgid "Optional types can be spelled as a union with ``None``::" msgstr "" -#: library/stdtypes.rst:5078 +#: library/stdtypes.rst:5079 msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" msgstr "" -#: library/stdtypes.rst:5084 +#: library/stdtypes.rst:5085 msgid "" "However, union objects containing :ref:`parameterized generics ` cannot be used::" msgstr "" -#: library/stdtypes.rst:5092 +#: library/stdtypes.rst:5093 msgid "" "The user-exposed type for the union object can be accessed from :data:`types." "UnionType` and used for :func:`isinstance` checks. An object cannot be " "instantiated from the type::" msgstr "" -#: library/stdtypes.rst:5105 +#: library/stdtypes.rst:5106 msgid "" "The :meth:`__or__` method for type objects was added to support the syntax " "``X | Y``. If a metaclass implements :meth:`__or__`, the Union may override " "it::" msgstr "" -#: library/stdtypes.rst:5123 +#: library/stdtypes.rst:5124 msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." msgstr "" -#: library/stdtypes.rst:5131 +#: library/stdtypes.rst:5132 msgid "Other Built-in Types" msgstr "Autres types natifs" -#: library/stdtypes.rst:5133 +#: library/stdtypes.rst:5134 msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." @@ -7267,11 +7270,11 @@ msgstr "" "L'interpréteur gère aussi d'autres types d'objets, la plupart ne supportant " "cependant qu'une ou deux opérations." -#: library/stdtypes.rst:5140 +#: library/stdtypes.rst:5141 msgid "Modules" msgstr "Modules" -#: library/stdtypes.rst:5142 +#: library/stdtypes.rst:5143 msgid "" "The only special operation on a module is attribute access: ``m.name``, " "where *m* is a module and *name* accesses a name defined in *m*'s symbol " @@ -7289,7 +7292,7 @@ msgstr "" "objet module nommé *foo* existe, il nécessite cependant une *définition* " "(externe) d'un module nommé *foo* quelque part.)" -#: library/stdtypes.rst:5149 +#: library/stdtypes.rst:5150 msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " "dictionary containing the module's symbol table. Modifying this dictionary " @@ -7307,7 +7310,7 @@ msgstr "" "vous ne pouvez pas écrire ``m.__dict__ = {}``). Modifier :attr:`~object." "__dict__` directement n'est pas recommandé." -#: library/stdtypes.rst:5157 +#: library/stdtypes.rst:5158 msgid "" "Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````. S'ils sont chargés depuis un fichier, ils sont représentés " "````." -#: library/stdtypes.rst:5165 +#: library/stdtypes.rst:5166 msgid "Classes and Class Instances" msgstr "Les classes et instances de classes" -#: library/stdtypes.rst:5167 +#: library/stdtypes.rst:5168 msgid "See :ref:`objects` and :ref:`class` for these." msgstr "Voir :ref:`objects` et :ref:`class`." -#: library/stdtypes.rst:5173 +#: library/stdtypes.rst:5174 msgid "Functions" msgstr "Fonctions" -#: library/stdtypes.rst:5175 +#: library/stdtypes.rst:5176 msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." @@ -7338,7 +7341,7 @@ msgstr "" "opération applicable à un objet fonction est de l'appeler : ``func(argument-" "list)``." -#: library/stdtypes.rst:5178 +#: library/stdtypes.rst:5179 msgid "" "There are really two flavors of function objects: built-in functions and " "user-defined functions. Both support the same operation (to call the " @@ -7350,15 +7353,15 @@ msgstr "" "opérations (l'appel à la fonction), mais leur implémentation est différente, " "d'où les deux types distincts." -#: library/stdtypes.rst:5182 +#: library/stdtypes.rst:5183 msgid "See :ref:`function` for more information." msgstr "Voir :ref:`function` pour plus d'information." -#: library/stdtypes.rst:5188 +#: library/stdtypes.rst:5189 msgid "Methods" msgstr "Méthodes" -#: library/stdtypes.rst:5192 +#: library/stdtypes.rst:5193 msgid "" "Methods are functions that are called using the attribute notation. There " "are two flavors: built-in methods (such as :meth:`append` on lists) and " @@ -7370,7 +7373,7 @@ msgstr "" "listes), et les méthodes d'instances de classes. Les méthodes natives sont " "représentées avec le type qui les supporte." -#: library/stdtypes.rst:5197 +#: library/stdtypes.rst:5198 msgid "" "If you access a method (a function defined in a class namespace) through an " "instance, you get a special object: a :dfn:`bound method` (also called :dfn:" @@ -7391,7 +7394,7 @@ msgstr "" "n)`` est tout à fait équivalent à appeler ``m.__func__(m.__self__, arg-1, " "arg-2, …, arg-n)``." -#: library/stdtypes.rst:5206 +#: library/stdtypes.rst:5207 msgid "" "Like function objects, bound method objects support getting arbitrary " "attributes. However, since method attributes are actually stored on the " @@ -7408,15 +7411,15 @@ msgstr "" "`AttributeError`. Pour affecter l'attribut, vous devrez explicitement " "l'affecter à sa fonction sous-jacente ::" -#: library/stdtypes.rst:5257 +#: library/stdtypes.rst:5258 msgid "See :ref:`types` for more information." msgstr "Voir :ref:`types` pour plus d'information." -#: library/stdtypes.rst:5234 +#: library/stdtypes.rst:5235 msgid "Code Objects" msgstr "Objets code" -#: library/stdtypes.rst:5240 +#: library/stdtypes.rst:5241 msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " @@ -7432,13 +7435,13 @@ msgstr "" "fonction native :func:`compile` et peuvent être obtenus des objets fonction " "via leur attribut :attr:`__code__`. Voir aussi le module :mod:`code`." -#: library/stdtypes.rst:5247 +#: library/stdtypes.rst:5248 msgid "" "Accessing ``__code__`` raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"__code__\"``." msgstr "" -#: library/stdtypes.rst:5254 +#: library/stdtypes.rst:5255 msgid "" "A code object can be executed or evaluated by passing it (instead of a " "source string) to the :func:`exec` or :func:`eval` built-in functions." @@ -7447,11 +7450,11 @@ msgstr "" "d'une chaîne contenant du code) aux fonction natives :func:`exec` ou :func:" "`eval`." -#: library/stdtypes.rst:5263 +#: library/stdtypes.rst:5264 msgid "Type Objects" msgstr "Objets type" -#: library/stdtypes.rst:5269 +#: library/stdtypes.rst:5270 msgid "" "Type objects represent the various object types. An object's type is " "accessed by the built-in function :func:`type`. There are no special " @@ -7463,15 +7466,15 @@ msgstr "" "opération spéciale sur les types. Le module standard :mod:`types` définit " "les noms de tous les types natifs." -#: library/stdtypes.rst:5274 +#: library/stdtypes.rst:5275 msgid "Types are written like this: ````." msgstr "Les types sont représentés : ````." -#: library/stdtypes.rst:5280 +#: library/stdtypes.rst:5281 msgid "The Null Object" msgstr "L'objet Null" -#: library/stdtypes.rst:5282 +#: library/stdtypes.rst:5283 msgid "" "This object is returned by functions that don't explicitly return a value. " "It supports no special operations. There is exactly one null object, named " @@ -7481,15 +7484,15 @@ msgstr "" "valeur. Il ne supporte aucune opération spéciale. Il existe exactement un " "objet *null* nommé ``None`` (c'est un nom natif). ``type(None)()``." -#: library/stdtypes.rst:5286 +#: library/stdtypes.rst:5287 msgid "It is written as ``None``." msgstr "C'est écrit ``None``." -#: library/stdtypes.rst:5293 +#: library/stdtypes.rst:5294 msgid "The Ellipsis Object" msgstr "L'objet points de suspension" -#: library/stdtypes.rst:5295 +#: library/stdtypes.rst:5296 msgid "" "This object is commonly used by slicing (see :ref:`slicings`). It supports " "no special operations. There is exactly one ellipsis object, named :const:" @@ -7501,15 +7504,15 @@ msgstr "" "objet *ellipsis*, nommé :const:`Ellipsis` (un nom natif). ``type(Ellipsis)" "()`` produit le *singleton* :const:`Ellipsis`." -#: library/stdtypes.rst:5300 +#: library/stdtypes.rst:5301 msgid "It is written as ``Ellipsis`` or ``...``." msgstr "C'est écrit ``Ellipsis`` ou ``...``." -#: library/stdtypes.rst:5306 +#: library/stdtypes.rst:5307 msgid "The NotImplemented Object" msgstr "L'objet *NotImplemented*" -#: library/stdtypes.rst:5308 +#: library/stdtypes.rst:5309 msgid "" "This object is returned from comparisons and binary operations when they are " "asked to operate on types they don't support. See :ref:`comparisons` for " @@ -7521,15 +7524,15 @@ msgstr "" "pour plus d'informations. Il n'y a qu'un seul objet ``NotImplemented``. " "``type(NotImplemented)()`` renvoie un *singleton*." -#: library/stdtypes.rst:5313 +#: library/stdtypes.rst:5314 msgid "It is written as ``NotImplemented``." msgstr "C'est écrit ``NotImplemented``." -#: library/stdtypes.rst:5319 +#: library/stdtypes.rst:5320 msgid "Boolean Values" msgstr "Valeurs booléennes" -#: library/stdtypes.rst:5321 +#: library/stdtypes.rst:5322 msgid "" "Boolean values are the two constant objects ``False`` and ``True``. They " "are used to represent truth values (although other values can also be " @@ -7548,15 +7551,15 @@ msgstr "" "valeur en booléen tant que la valeur peut être interprétée en une valeur de " "vérité (voir :ref:`truth` au dessus)." -#: library/stdtypes.rst:5334 +#: library/stdtypes.rst:5335 msgid "They are written as ``False`` and ``True``, respectively." msgstr "Ils s'écrivent ``False`` et ``True``, respectivement." -#: library/stdtypes.rst:5340 +#: library/stdtypes.rst:5341 msgid "Internal Objects" msgstr "Objets internes" -#: library/stdtypes.rst:5342 +#: library/stdtypes.rst:5343 msgid "" "See :ref:`types` for this information. It describes stack frame objects, " "traceback objects, and slice objects." @@ -7564,11 +7567,11 @@ msgstr "" "Voir :ref:`types`. Ils décrivent les objets *stack frame*, *traceback*, et " "*slice*." -#: library/stdtypes.rst:5349 +#: library/stdtypes.rst:5350 msgid "Special Attributes" msgstr "Attributs spéciaux" -#: library/stdtypes.rst:5351 +#: library/stdtypes.rst:5352 msgid "" "The implementation adds a few special read-only attributes to several object " "types, where they are relevant. Some of these are not reported by the :func:" @@ -7578,7 +7581,7 @@ msgstr "" "certains types, lorsque ça a du sens. Certains ne sont *pas* listés par la " "fonction native :func:`dir`." -#: library/stdtypes.rst:5358 +#: library/stdtypes.rst:5359 msgid "" "A dictionary or other mapping object used to store an object's (writable) " "attributes." @@ -7586,20 +7589,20 @@ msgstr "" "Un dictionnaire ou un autre *mapping object* utilisé pour stocker les " "attributs (modifiables) de l'objet." -#: library/stdtypes.rst:5364 +#: library/stdtypes.rst:5365 msgid "The class to which a class instance belongs." msgstr "La classe de l'instance de classe." -#: library/stdtypes.rst:5369 +#: library/stdtypes.rst:5370 msgid "The tuple of base classes of a class object." msgstr "Le *n*-uplet des classes parentes d'un objet classe." -#: library/stdtypes.rst:5374 +#: library/stdtypes.rst:5375 msgid "" "The name of the class, function, method, descriptor, or generator instance." msgstr "Le nom de la classe, fonction, méthode, descripteur, ou générateur." -#: library/stdtypes.rst:5380 +#: library/stdtypes.rst:5381 msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." @@ -7607,7 +7610,7 @@ msgstr "" "Le :term:`qualified name` de la classe, fonction, méthode, descripteur, ou " "générateur." -#: library/stdtypes.rst:5388 +#: library/stdtypes.rst:5389 msgid "" "This attribute is a tuple of classes that are considered when looking for " "base classes during method resolution." @@ -7615,7 +7618,7 @@ msgstr "" "Cet attribut est un *n*-uplet contenant les classes parents prises en compte " "lors de la résolution de méthode." -#: library/stdtypes.rst:5394 +#: library/stdtypes.rst:5395 msgid "" "This method can be overridden by a metaclass to customize the method " "resolution order for its instances. It is called at class instantiation, " @@ -7626,7 +7629,7 @@ msgstr "" "la l'initialisation de la classe, et son résultat est stocké dans " "l'attribut :attr:`~class.__mro__`." -#: library/stdtypes.rst:5401 +#: library/stdtypes.rst:5402 #, fuzzy msgid "" "Each class keeps a list of weak references to its immediate subclasses. " @@ -7637,11 +7640,229 @@ msgstr "" "immédiates. Cette méthode renvoie la liste de toutes ces références encore " "valables. La liste est par ordre de définition. Exemple ::" -#: library/stdtypes.rst:5410 +#: library/stdtypes.rst:5413 +msgid "Integer string conversion length limitation" +msgstr "" + +#: library/stdtypes.rst:5415 +msgid "" +"CPython has a global limit for converting between :class:`int` and :class:" +"`str` to mitigate denial of service attacks. This limit *only* applies to " +"decimal or other non-power-of-two number bases. Hexadecimal, octal, and " +"binary conversions are unlimited. The limit can be configured." +msgstr "" + +#: library/stdtypes.rst:5420 +msgid "" +"The :class:`int` type in CPython is an abitrary length number stored in " +"binary form (commonly known as a \"bignum\"). There exists no algorithm that " +"can convert a string to a binary integer or a binary integer to a string in " +"linear time, *unless* the base is a power of 2. Even the best known " +"algorithms for base 10 have sub-quadratic complexity. Converting a large " +"value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." +msgstr "" + +#: library/stdtypes.rst:5427 +msgid "" +"Limiting conversion size offers a practical way to avoid `CVE-2020-10735 " +"`_." +msgstr "" + +#: library/stdtypes.rst:5430 +msgid "" +"The limit is applied to the number of digit characters in the input or " +"output string when a non-linear conversion algorithm would be involved. " +"Underscores and the sign are not counted towards the limit." +msgstr "" + +#: library/stdtypes.rst:5434 +msgid "" +"When an operation would exceed the limit, a :exc:`ValueError` is raised:" +msgstr "" + +#: library/stdtypes.rst:5456 +msgid "" +"The default limit is 4300 digits as provided in :data:`sys.int_info." +"default_max_str_digits `. The lowest limit that can be " +"configured is 640 digits as provided in :data:`sys.int_info." +"str_digits_check_threshold `." +msgstr "" + +#: library/stdtypes.rst:5461 +#, fuzzy +msgid "Verification:" +msgstr "Opération" + +#: library/stdtypes.rst:5476 +msgid "Affected APIs" +msgstr "" + +#: library/stdtypes.rst:5478 +msgid "" +"The limitation only applies to potentially slow conversions between :class:" +"`int` and :class:`str` or :class:`bytes`:" +msgstr "" + +#: library/stdtypes.rst:5481 +msgid "``int(string)`` with default base 10." +msgstr "" + +#: library/stdtypes.rst:5482 +msgid "``int(string, base)`` for all bases that are not a power of 2." +msgstr "" + +#: library/stdtypes.rst:5483 +msgid "``str(integer)``." +msgstr "" + +#: library/stdtypes.rst:5484 +msgid "``repr(integer)``" +msgstr "" + +#: library/stdtypes.rst:5485 +msgid "" +"any other string conversion to base 10, for example ``f\"{integer}\"``, " +"``\"{}\".format(integer)``, or ``b\"%d\" % integer``." +msgstr "" + +#: library/stdtypes.rst:5488 +msgid "The limitations do not apply to functions with a linear algorithm:" +msgstr "" + +#: library/stdtypes.rst:5490 +msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." +msgstr "" + +#: library/stdtypes.rst:5491 +msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." +msgstr "" + +#: library/stdtypes.rst:5492 +msgid ":func:`hex`, :func:`oct`, :func:`bin`." +msgstr "" + +#: library/stdtypes.rst:5493 +msgid ":ref:`formatspec` for hex, octal, and binary numbers." +msgstr "" + +#: library/stdtypes.rst:5494 +#, fuzzy +msgid ":class:`str` to :class:`float`." +msgstr "Types d'ensembles — :class:`set`, :class:`frozenset`" + +#: library/stdtypes.rst:5495 +msgid ":class:`str` to :class:`decimal.Decimal`." +msgstr "" + +#: library/stdtypes.rst:5498 +msgid "Configuring the limit" +msgstr "" + +#: library/stdtypes.rst:5500 +msgid "" +"Before Python starts up you can use an environment variable or an " +"interpreter command line flag to configure the limit:" +msgstr "" + +#: library/stdtypes.rst:5503 +msgid "" +":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " +"to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " +"the limitation." +msgstr "" + +#: library/stdtypes.rst:5506 +msgid "" +":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " +"int_max_str_digits=640``" +msgstr "" + +#: library/stdtypes.rst:5508 +msgid "" +":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" +"`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If both the " +"env var and the ``-X`` option are set, the ``-X`` option takes precedence. A " +"value of *-1* indicates that both were unset, thus a value of :data:`sys." +"int_info.default_max_str_digits` was used during initilization." +msgstr "" + +#: library/stdtypes.rst:5514 +msgid "" +"From code, you can inspect the current limit and set a new one using these :" +"mod:`sys` APIs:" +msgstr "" + +#: library/stdtypes.rst:5517 +msgid "" +":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " +"are a getter and setter for the interpreter-wide limit. Subinterpreters have " +"their own limit." +msgstr "" + +#: library/stdtypes.rst:5521 +msgid "" +"Information about the default and minimum can be found in :attr:`sys." +"int_info`:" +msgstr "" + +#: library/stdtypes.rst:5523 +msgid "" +":data:`sys.int_info.default_max_str_digits ` is the compiled-" +"in default limit." +msgstr "" + +#: library/stdtypes.rst:5525 +msgid "" +":data:`sys.int_info.str_digits_check_threshold ` is the lowest " +"accepted value for the limit (other than 0 which disables it)." +msgstr "" + +#: library/stdtypes.rst:5532 +msgid "" +"Setting a low limit *can* lead to problems. While rare, code exists that " +"contains integer constants in decimal in their source that exceed the " +"minimum threshold. A consequence of setting the limit is that Python source " +"code containing decimal integer literals longer than the limit will " +"encounter an error during parsing, usually at startup time or import time or " +"even at installation time - anytime an up to date ``.pyc`` does not already " +"exist for the code. A workaround for source that contains such large " +"constants is to convert them to ``0x`` hexadecimal form as it has no limit." +msgstr "" + +#: library/stdtypes.rst:5541 +msgid "" +"Test your application thoroughly if you use a low limit. Ensure your tests " +"run with the limit set early via the environment or flag so that it applies " +"during startup and even during any installation step that may invoke Python " +"to precompile ``.py`` sources to ``.pyc`` files." +msgstr "" + +#: library/stdtypes.rst:5547 +msgid "Recommended configuration" +msgstr "" + +#: library/stdtypes.rst:5549 +msgid "" +"The default :data:`sys.int_info.default_max_str_digits` is expected to be " +"reasonable for most applications. If your application requires a different " +"limit, set it from your main entry point using Python version agnostic code " +"as these APIs were added in security patch releases in versions before 3.11." +msgstr "" + +#: library/stdtypes.rst:5554 +#, fuzzy +msgid "Example::" +msgstr "Par exemple ::" + +#: library/stdtypes.rst:5566 +msgid "If you need to disable it entirely, set it to ``0``." +msgstr "" + +#: library/stdtypes.rst:5570 msgid "Footnotes" msgstr "Notes" -#: library/stdtypes.rst:5411 +#: library/stdtypes.rst:5571 msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." @@ -7649,7 +7870,7 @@ msgstr "" "Plus d'informations sur ces méthodes spéciales peuvent être trouvées dans le " "*Python Reference Manual* (:ref:`customization`)." -#: library/stdtypes.rst:5414 +#: library/stdtypes.rst:5574 msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." @@ -7657,13 +7878,13 @@ msgstr "" "Par conséquent, la liste ``[1, 2]`` est considérée égale à ``[1.0, 2.0]``. " "Idem avec des *n*-uplets." -#: library/stdtypes.rst:5417 +#: library/stdtypes.rst:5577 msgid "They must have since the parser can't tell the type of the operands." msgstr "" "Nécessairement, puisque l'analyseur ne peut pas discerner le type des " "opérandes." -#: library/stdtypes.rst:5419 +#: library/stdtypes.rst:5579 msgid "" "Cased characters are those with general category property being one of " "\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " @@ -7673,7 +7894,7 @@ msgstr "" "category* est soit \"Lu\" (pour *Letter*, *uppercase*), soit \"Ll\" (pour " "*Letter*, *lowercase*), soit \"Lt\" (pour *Letter*, *titlecase*)." -#: library/stdtypes.rst:5422 +#: library/stdtypes.rst:5582 msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." diff --git a/library/string.po b/library/string.po index ada9efd026..6810a9966b 100644 --- a/library/string.po +++ b/library/string.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:26+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -23,23 +23,23 @@ msgstr ":mod:`string` — Opérations usuelles sur des chaînes" msgid "**Source code:** :source:`Lib/string.py`" msgstr "**Code source :** :source:`Lib/string.py`" -#: library/string.rst:13 +#: library/string.rst:14 msgid ":ref:`textseq`" msgstr ":ref:`textseq`" -#: library/string.rst:15 +#: library/string.rst:16 msgid ":ref:`string-methods`" msgstr ":ref:`string-methods`" -#: library/string.rst:18 +#: library/string.rst:19 msgid "String constants" msgstr "Chaînes constantes" -#: library/string.rst:20 +#: library/string.rst:21 msgid "The constants defined in this module are:" msgstr "Les constantes définies dans ce module sont :" -#: library/string.rst:25 +#: library/string.rst:26 msgid "" "The concatenation of the :const:`ascii_lowercase` and :const:" "`ascii_uppercase` constants described below. This value is not locale-" @@ -49,7 +49,7 @@ msgstr "" "`ascii_uppercase` décrites ci-dessous. Cette valeur n'est pas dépendante de " "la configuration de la localisation." -#: library/string.rst:31 +#: library/string.rst:32 msgid "" "The lowercase letters ``'abcdefghijklmnopqrstuvwxyz'``. This value is not " "locale-dependent and will not change." @@ -57,7 +57,7 @@ msgstr "" "Les lettres minuscules ``'abcdefghijklmnopqrstuvwxyz'``. Cette valeur ne " "dépend pas de la configuration de localisation et ne changera pas." -#: library/string.rst:37 +#: library/string.rst:38 msgid "" "The uppercase letters ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. This value is not " "locale-dependent and will not change." @@ -65,19 +65,19 @@ msgstr "" "Les lettres majuscules ``'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Cette valeur ne " "dépend pas de la configuration de la localisation et ne changera pas." -#: library/string.rst:43 +#: library/string.rst:44 msgid "The string ``'0123456789'``." msgstr "La chaîne ``'0123456789'``." -#: library/string.rst:48 +#: library/string.rst:49 msgid "The string ``'0123456789abcdefABCDEF'``." msgstr "La chaîne ``'0123456789abcdefABCDEF'``." -#: library/string.rst:53 +#: library/string.rst:54 msgid "The string ``'01234567'``." msgstr "La chaîne ``'01234567``." -#: library/string.rst:58 +#: library/string.rst:59 msgid "" "String of ASCII characters which are considered punctuation characters in " "the ``C`` locale: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." @@ -85,7 +85,7 @@ msgstr "" "Chaîne de caractères ASCII considérés comme ponctuation dans la " "configuration de localisation ``C`` : ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~``." -#: library/string.rst:63 +#: library/string.rst:64 msgid "" "String of ASCII characters which are considered printable. This is a " "combination of :const:`digits`, :const:`ascii_letters`, :const:" @@ -95,7 +95,7 @@ msgstr "" "combinaison de :const:`digits`, :const:`ascii_letters`, :const:" "`punctuation`, et :const:`whitespace`." -#: library/string.rst:70 +#: library/string.rst:71 msgid "" "A string containing all ASCII characters that are considered whitespace. " "This includes the characters space, tab, linefeed, return, formfeed, and " @@ -105,11 +105,11 @@ msgstr "" "Sont inclus les caractères espace, tabulations, saut de ligne, retour du " "chariot, saut de page, et tabulation verticale." -#: library/string.rst:78 +#: library/string.rst:79 msgid "Custom String Formatting" msgstr "Formatage personnalisé de chaîne" -#: library/string.rst:80 +#: library/string.rst:81 msgid "" "The built-in string class provides the ability to do complex variable " "substitutions and value formatting via the :meth:`~str.format` method " @@ -125,11 +125,11 @@ msgstr "" "vos propres comportements de formatage de chaînes en utilisant la même " "implémentation que la méthode primitive :meth:`~str.format`." -#: library/string.rst:89 +#: library/string.rst:90 msgid "The :class:`Formatter` class has the following public methods:" msgstr "La classe :class:`Formatter` a les méthodes publiques suivantes ::" -#: library/string.rst:93 +#: library/string.rst:94 msgid "" "The primary API method. It takes a format string and an arbitrary set of " "positional and keyword arguments. It is just a wrapper that calls :meth:" @@ -139,7 +139,7 @@ msgstr "" "ensemble arbitraire d'arguments positions et mot-clefs. C'est uniquement un " "conteneur qui appelle :meth:`vformat`." -#: library/string.rst:97 +#: library/string.rst:98 msgid "" "A format string argument is now :ref:`positional-only `." @@ -147,7 +147,7 @@ msgstr "" "L'argument *format_string* est maintenant :ref:`obligatoirement un paramètre " "positionnel `." -#: library/string.rst:103 +#: library/string.rst:104 msgid "" "This function does the actual work of formatting. It is exposed as a " "separate function for cases where you want to pass in a predefined " @@ -164,7 +164,7 @@ msgstr "" "caractères et champs de remplacement. Elle appelle les différentes méthodes " "décrites ci-dessous." -#: library/string.rst:111 +#: library/string.rst:112 msgid "" "In addition, the :class:`Formatter` defines a number of methods that are " "intended to be replaced by subclasses:" @@ -172,7 +172,7 @@ msgstr "" "De plus, la classe :class:`Formatter` définit un certain nombre de méthodes " "qui ont pour vocation d'être remplacées par des sous-classes :" -#: library/string.rst:116 +#: library/string.rst:117 msgid "" "Loop over the format_string and return an iterable of tuples " "(*literal_text*, *field_name*, *format_spec*, *conversion*). This is used " @@ -184,7 +184,7 @@ msgstr "" "utilisé par :meth:`vformat` pour découper la chaîne de format en littéraux " "ou en champs de remplacement." -#: library/string.rst:121 +#: library/string.rst:122 msgid "" "The values in the tuple conceptually represent a span of literal text " "followed by a single replacement field. If there is no literal text (which " @@ -200,7 +200,7 @@ msgstr "" "champ de remplacement, les valeurs *field_name*, *format_spec* et " "*conversion* sont mises à ``None``." -#: library/string.rst:130 +#: library/string.rst:131 msgid "" "Given *field_name* as returned by :meth:`parse` (see above), convert it to " "an object to be formatted. Returns a tuple (obj, used_key). The default " @@ -216,7 +216,7 @@ msgstr "" "sont tels que ceux passés à :meth:`vformat`. La valeur renvoyée *used_key* a " "le même sens que le paramètre *key* de :meth:`get_value`." -#: library/string.rst:139 +#: library/string.rst:140 msgid "" "Retrieve a given field value. The *key* argument will be either an integer " "or a string. If it is an integer, it represents the index of the positional " @@ -228,7 +228,7 @@ msgstr "" "dans *args*. Si c'est une chaîne de caractères, elle représente le nom de " "l'argument dans *kwargs*." -#: library/string.rst:144 +#: library/string.rst:145 msgid "" "The *args* parameter is set to the list of positional arguments to :meth:" "`vformat`, and the *kwargs* parameter is set to the dictionary of keyword " @@ -238,7 +238,7 @@ msgstr "" "meth:`vformat`, et le paramètre *kwargs* est défini par le dictionnaire des " "arguments mot-clefs." -#: library/string.rst:148 +#: library/string.rst:149 msgid "" "For compound field names, these functions are only called for the first " "component of the field name; subsequent components are handled through " @@ -248,7 +248,7 @@ msgstr "" "la première composante du nom. Les composantes suivantes sont manipulées au " "travers des attributs normaux et des opérations sur les indices." -#: library/string.rst:152 +#: library/string.rst:153 msgid "" "So for example, the field expression '0.name' would cause :meth:`get_value` " "to be called with a *key* argument of 0. The ``name`` attribute will be " @@ -260,7 +260,7 @@ msgstr "" "recherché après l'appel :meth:`get_value` en faisant appel à la primitive :" "func:`getattr`." -#: library/string.rst:157 +#: library/string.rst:158 msgid "" "If the index or keyword refers to an item that does not exist, then an :exc:" "`IndexError` or :exc:`KeyError` should be raised." @@ -268,7 +268,7 @@ msgstr "" "Si l'indice ou le mot-clef fait référence à un objet qui n'existe pas, alors " "une exception :exc:`IndexError` ou :exc:`KeyError` doit être levée." -#: library/string.rst:162 +#: library/string.rst:163 msgid "" "Implement checking for unused arguments if desired. The arguments to this " "function is the set of all argument keys that were actually referred to in " @@ -286,7 +286,7 @@ msgstr "" "de ces paramètres. :meth:`check_unused_args` est censée lever une exception " "si la vérification échoue." -#: library/string.rst:172 +#: library/string.rst:173 msgid "" ":meth:`format_field` simply calls the global :func:`format` built-in. The " "method is provided so that subclasses can override it." @@ -295,7 +295,7 @@ msgstr "" "globale :func:`format`. Cette méthode est fournie afin que les sous-classes " "puissent la redéfinir." -#: library/string.rst:177 +#: library/string.rst:178 msgid "" "Converts the value (returned by :meth:`get_field`) given a conversion type " "(as in the tuple returned by the :meth:`parse` method). The default version " @@ -306,11 +306,11 @@ msgstr "" "`parse`). La version par défaut comprend 's' (`str`), 'r' (`repr`) et " "'a' (ASCII) comme types de conversion." -#: library/string.rst:186 +#: library/string.rst:187 msgid "Format String Syntax" msgstr "Syntaxe de formatage de chaîne" -#: library/string.rst:188 +#: library/string.rst:189 msgid "" "The :meth:`str.format` method and the :class:`Formatter` class share the " "same syntax for format strings (although in the case of :class:`Formatter`, " @@ -326,7 +326,7 @@ msgstr "" "strings>`, mais elle est moins sophistiquée, et surtout ne permet pas " "d'inclure des expressions arbitraires." -#: library/string.rst:201 +#: library/string.rst:202 msgid "" "Format strings contain \"replacement fields\" surrounded by curly braces ``{}" "``. Anything that is not contained in braces is considered literal text, " @@ -340,11 +340,11 @@ msgstr "" "avez besoin d'inclure une accolade en littéral, elles peuvent être échappées " "en les doublant : ``{{`` et ``}}``." -#: library/string.rst:206 +#: library/string.rst:207 msgid "The grammar for a replacement field is as follows:" msgstr "La grammaire pour un champ de remplacement est définie comme suit :" -#: library/string.rst:218 +#: library/string.rst:219 msgid "" "In less formal terms, the replacement field can start with a *field_name* " "that specifies the object whose value is to be formatted and inserted into " @@ -361,11 +361,11 @@ msgstr "" "``':'``. Cela définit un format personnalisé pour le remplacement d'une " "valeur." -#: library/string.rst:225 +#: library/string.rst:226 msgid "See also the :ref:`formatspec` section." msgstr "Voir également la section :ref:`formatspec`." -#: library/string.rst:227 +#: library/string.rst:228 msgid "" "The *field_name* itself begins with an *arg_name* that is either a number or " "a keyword. If it's a number, it refers to a positional argument, and if " @@ -394,7 +394,7 @@ msgstr "" "utilisant :func:`getattr` alors qu'une expression de la forme ``'[index]'`` " "recherche l'indice en utilisant :func:`__getitem__`." -#: library/string.rst:239 +#: library/string.rst:240 msgid "" "The positional argument specifiers can be omitted for :meth:`str.format`, so " "``'{} {}'.format(a, b)`` is equivalent to ``'{0} {1}'.format(a, b)``." @@ -403,18 +403,18 @@ msgstr "" "à :meth:`str.format`. Donc ``'{} {}'.format(a, b)`` est équivalent à ``'{0} " "{1}'.format(a, b)``." -#: library/string.rst:243 +#: library/string.rst:244 msgid "" "The positional argument specifiers can be omitted for :class:`Formatter`." msgstr "" "Les spécificateurs de position d'argument peuvent être omis pour :class:" "`Formatter`." -#: library/string.rst:246 +#: library/string.rst:247 msgid "Some simple format string examples::" msgstr "Quelques exemples simples de formatage de chaînes ::" -#: library/string.rst:255 +#: library/string.rst:256 msgid "" "The *conversion* field causes a type coercion before formatting. Normally, " "the job of formatting a value is done by the :meth:`__format__` method of " @@ -431,7 +431,7 @@ msgstr "" "en chaîne de caractère avant d'appeler la méthode :meth:`__format__`, on " "outrepasse la logique usuelle de formatage." -#: library/string.rst:262 +#: library/string.rst:263 msgid "" "Three conversion flags are currently supported: ``'!s'`` which calls :func:" "`str` on the value, ``'!r'`` which calls :func:`repr` and ``'!a'`` which " @@ -441,11 +441,11 @@ msgstr "" "fonction :func:`str` sur la valeur, ``'!r'`` qui appelle la fonction :func:" "`repr` et ``!a`` qui appelle la fonction :func:`ascii`." -#: library/string.rst:266 +#: library/string.rst:267 msgid "Some examples::" msgstr "Quelques exemples ::" -#: library/string.rst:272 +#: library/string.rst:273 msgid "" "The *format_spec* field contains a specification of how the value should be " "presented, including such details as field width, alignment, padding, " @@ -458,7 +458,7 @@ msgstr "" "Chaque type peut définir son propre \"mini-langage de formatage\" ou sa " "propre interprétation de *format_spec*." -#: library/string.rst:277 +#: library/string.rst:278 msgid "" "Most built-in types support a common formatting mini-language, which is " "described in the next section." @@ -466,7 +466,7 @@ msgstr "" "La plupart des types natifs gèrent un mini-langage de formatage usuel qui " "est décrit dans la section suivante." -#: library/string.rst:280 +#: library/string.rst:281 msgid "" "A *format_spec* field can also include nested replacement fields within it. " "These nested replacement fields may contain a field name, conversion flag " @@ -482,15 +482,15 @@ msgstr "" "substitués avant que la chaîne *format_spec* ne soit interprétée. Cela " "permet que le formatage d'une valeur soit dynamiquement spécifié." -#: library/string.rst:287 +#: library/string.rst:288 msgid "See the :ref:`formatexamples` section for some examples." msgstr "Voir la section :ref:`formatexamples` pour des exemples." -#: library/string.rst:293 +#: library/string.rst:294 msgid "Format Specification Mini-Language" msgstr "Mini-langage de spécification de format" -#: library/string.rst:295 +#: library/string.rst:296 msgid "" "\"Format specifications\" are used within replacement fields contained " "within a format string to define how individual values are presented (see :" @@ -505,7 +505,7 @@ msgstr "" "native :func:`format`. Chaque type *formatable* peut définir comment les " "spécifications sur les valeurs de ce type doivent être interprétées." -#: library/string.rst:302 +#: library/string.rst:303 msgid "" "Most built-in types implement the following options for format " "specifications, although some of the formatting options are only supported " @@ -515,7 +515,7 @@ msgstr "" "certaines options de formatage ne sont prises en charge que pour les types " "numériques." -#: library/string.rst:305 +#: library/string.rst:306 msgid "" "A general convention is that an empty format specification produces the same " "result as if you had called :func:`str` on the value. A non-empty format " @@ -525,11 +525,11 @@ msgstr "" "résultat que si vous aviez appelé :func:`str` sur la valeur. Une chaîne de " "format non vide modifie habituellement le résultat." -#: library/string.rst:309 +#: library/string.rst:310 msgid "The general form of a *standard format specifier* is:" msgstr "La forme générale d'un *spécificateur de format standard* est ::" -#: library/string.rst:321 +#: library/string.rst:322 msgid "" "If a valid *align* value is specified, it can be preceded by a *fill* " "character that can be any character and defaults to a space if omitted. It " @@ -548,23 +548,23 @@ msgstr "" "d'un champ de remplacement imbriqué. Cette limitation n'affecte pas la " "fonction :func:`format`." -#: library/string.rst:330 +#: library/string.rst:331 msgid "The meaning of the various alignment options is as follows:" msgstr "Le sens des différentes options d'alignement est donné comme suit :" -#: library/string.rst:370 +#: library/string.rst:371 msgid "Option" msgstr "Option" -#: library/string.rst:370 library/string.rst:455 library/string.rst:490 +#: library/string.rst:371 library/string.rst:456 library/string.rst:491 msgid "Meaning" msgstr "Signification" -#: library/string.rst:341 +#: library/string.rst:342 msgid "``'<'``" msgstr "``'<'``" -#: library/string.rst:341 +#: library/string.rst:342 msgid "" "Forces the field to be left-aligned within the available space (this is the " "default for most objects)." @@ -572,11 +572,11 @@ msgstr "" "Force le champ à être aligné à gauche dans l'espace disponible (c'est le " "spécificateur par défaut pour la plupart des objets)." -#: library/string.rst:344 +#: library/string.rst:345 msgid "``'>'``" msgstr "``'>'``" -#: library/string.rst:344 +#: library/string.rst:345 msgid "" "Forces the field to be right-aligned within the available space (this is the " "default for numbers)." @@ -584,11 +584,11 @@ msgstr "" "Force le champ à être aligné à droite dans l'espace disponible (c'est le " "spécificateur par défaut pour les nombres)." -#: library/string.rst:347 +#: library/string.rst:348 msgid "``'='``" msgstr "``'='``" -#: library/string.rst:347 +#: library/string.rst:348 #, fuzzy msgid "" "Forces the padding to be placed after the sign (if any) but before the " @@ -602,15 +602,15 @@ msgstr "" "uniquement pour les types numériques. Elle devient activée par défaut quand " "\"0\" précède directement la largeur de champ." -#: library/string.rst:353 +#: library/string.rst:354 msgid "``'^'``" msgstr "``'^'``" -#: library/string.rst:353 +#: library/string.rst:354 msgid "Forces the field to be centered within the available space." msgstr "Force le champ à être centré dans l'espace disponible." -#: library/string.rst:357 +#: library/string.rst:358 msgid "" "Note that unless a minimum field width is defined, the field width will " "always be the same size as the data to fill it, so that the alignment option " @@ -621,7 +621,7 @@ msgstr "" "précisée. Ainsi, si aucune valeur n'est précisée, l'option d'alignement n'a " "aucun sens." -#: library/string.rst:361 +#: library/string.rst:362 msgid "" "The *sign* option is only valid for number types, and can be one of the " "following:" @@ -629,11 +629,11 @@ msgstr "" "L'option *sign* est uniquement valide pour les types numériques, et peut " "valoir :" -#: library/string.rst:372 +#: library/string.rst:373 msgid "``'+'``" msgstr "``'+'``" -#: library/string.rst:372 +#: library/string.rst:373 msgid "" "indicates that a sign should be used for both positive as well as negative " "numbers." @@ -641,11 +641,11 @@ msgstr "" "indique que le signe doit être affiché pour les nombres tant positifs que " "négatifs." -#: library/string.rst:375 +#: library/string.rst:376 msgid "``'-'``" msgstr "``'-'``" -#: library/string.rst:375 +#: library/string.rst:376 msgid "" "indicates that a sign should be used only for negative numbers (this is the " "default behavior)." @@ -653,11 +653,11 @@ msgstr "" "indique que le signe doit être affiché uniquement pour les nombres négatifs " "(c'est le comportement par défaut)." -#: library/string.rst:378 +#: library/string.rst:379 msgid "space" msgstr "espace" -#: library/string.rst:378 +#: library/string.rst:379 msgid "" "indicates that a leading space should be used on positive numbers, and a " "minus sign on negative numbers." @@ -665,7 +665,7 @@ msgstr "" "indique qu'un espace doit précéder les nombres positifs et qu'un signe moins " "doit précéder les nombres négatifs." -#: library/string.rst:385 +#: library/string.rst:386 msgid "" "The ``'#'`` option causes the \"alternate form\" to be used for the " "conversion. The alternate form is defined differently for different types. " @@ -690,7 +690,7 @@ msgstr "" "seulement si un chiffre le suit. De plus, pour les conversions ``'g'`` et " "``'G'``, les zéros finaux ne sont pas retirés du résultat." -#: library/string.rst:399 +#: library/string.rst:400 msgid "" "The ``','`` option signals the use of a comma for a thousands separator. For " "a locale aware separator, use the ``'n'`` integer presentation type instead." @@ -699,11 +699,11 @@ msgstr "" "milliers. Pour un séparateur prenant en compte la configuration de " "localisation, utilisez plutôt le type de présentation entière ``'n'``." -#: library/string.rst:403 +#: library/string.rst:404 msgid "Added the ``','`` option (see also :pep:`378`)." msgstr "Ajout de l'option ``','`` (voir :pep:`378`)." -#: library/string.rst:408 +#: library/string.rst:409 msgid "" "The ``'_'`` option signals the use of an underscore for a thousands " "separator for floating point presentation types and for integer presentation " @@ -718,11 +718,11 @@ msgstr "" "4 chiffres. Pour les autres types de représentation, spécifier cette option " "est une erreur." -#: library/string.rst:415 +#: library/string.rst:416 msgid "Added the ``'_'`` option (see also :pep:`515`)." msgstr "Ajout de l'option ``'_'`` (voir aussi :pep:`515`)." -#: library/string.rst:418 +#: library/string.rst:419 msgid "" "*width* is a decimal integer defining the minimum total field width, " "including any prefixes, separators, and other formatting characters. If not " @@ -733,7 +733,7 @@ msgstr "" "formatage. Si elle n'est pas spécifiée, alors le champ *width* est déterminé " "par le contenu." -#: library/string.rst:422 +#: library/string.rst:423 msgid "" "When no explicit alignment is given, preceding the *width* field by a zero " "(``'0'``) character enables sign-aware zero-padding for numeric types. This " @@ -745,13 +745,13 @@ msgstr "" "selon leur signe. Cela est équivalent à un caractère de remplissage *fill* " "valant ``'0'`` avec le type d'alignement *alignment* valant ``'='``." -#: library/string.rst:427 +#: library/string.rst:428 msgid "" "Preceding the *width* field by ``'0'`` no longer affects the default " "alignment for strings." msgstr "" -#: library/string.rst:431 +#: library/string.rst:432 #, fuzzy msgid "" "The *precision* is a decimal integer indicating how many digits should be " @@ -770,55 +770,55 @@ msgstr "" "autrement dit, combien de caractères du champ sont utilisés. Le " "spécificateur *precision* n'est pas autorisé sur les entiers." -#: library/string.rst:439 +#: library/string.rst:440 msgid "Finally, the *type* determines how the data should be presented." msgstr "" "Finalement, le spécificateur *type* détermine comment la donnée doit être " "représentée." -#: library/string.rst:441 +#: library/string.rst:442 msgid "The available string presentation types are:" msgstr "Les types disponibles de représentation de chaîne sont :" -#: library/string.rst:455 library/string.rst:490 +#: library/string.rst:456 library/string.rst:491 msgid "Type" msgstr "Type" -#: library/string.rst:446 +#: library/string.rst:447 msgid "``'s'``" msgstr "``'s'``" -#: library/string.rst:446 +#: library/string.rst:447 msgid "String format. This is the default type for strings and may be omitted." msgstr "" "Format de chaîne. C'est le type par défaut pour les chaînes de caractères et " "peut être omis." -#: library/string.rst:478 library/string.rst:565 +#: library/string.rst:479 library/string.rst:566 msgid "None" msgstr "``None``" -#: library/string.rst:449 +#: library/string.rst:450 msgid "The same as ``'s'``." msgstr "Pareil que ``'s'``." -#: library/string.rst:452 +#: library/string.rst:453 msgid "The available integer presentation types are:" msgstr "Les types disponibles de représentation d'entier sont :" -#: library/string.rst:457 +#: library/string.rst:458 msgid "``'b'``" msgstr "``'b'``" -#: library/string.rst:457 +#: library/string.rst:458 msgid "Binary format. Outputs the number in base 2." msgstr "Format binaire. Affiche le nombre en base 2." -#: library/string.rst:459 +#: library/string.rst:460 msgid "``'c'``" msgstr "``'c'``" -#: library/string.rst:459 +#: library/string.rst:460 msgid "" "Character. Converts the integer to the corresponding unicode character " "before printing." @@ -826,27 +826,27 @@ msgstr "" "Caractère. Convertit l'entier en caractère Unicode associé avant de " "l'afficher." -#: library/string.rst:462 +#: library/string.rst:463 msgid "``'d'``" msgstr "``'d'``" -#: library/string.rst:462 +#: library/string.rst:463 msgid "Decimal Integer. Outputs the number in base 10." msgstr "Entier décimal. Affiche le nombre en base 10." -#: library/string.rst:464 +#: library/string.rst:465 msgid "``'o'``" msgstr "``'o'``" -#: library/string.rst:464 +#: library/string.rst:465 msgid "Octal format. Outputs the number in base 8." msgstr "Format octal. Affiche le nombre en base 8." -#: library/string.rst:466 +#: library/string.rst:467 msgid "``'x'``" msgstr "``'x'``" -#: library/string.rst:466 +#: library/string.rst:467 msgid "" "Hex format. Outputs the number in base 16, using lower-case letters for the " "digits above 9." @@ -854,11 +854,11 @@ msgstr "" "Format hexadécimal. Affiche le nombre en base 16 en utilisant les lettres " "minuscules pour les chiffres au-dessus de 9." -#: library/string.rst:469 +#: library/string.rst:470 msgid "``'X'``" msgstr "``'X'``" -#: library/string.rst:469 +#: library/string.rst:470 msgid "" "Hex format. Outputs the number in base 16, using upper-case letters for the " "digits above 9. In case ``'#'`` is specified, the prefix ``'0x'`` will be " @@ -868,11 +868,11 @@ msgstr "" "majuscules pour les chiffres au-dessus de 9. Si ``'#'`` est présent, le " "préfixe ``'0x'`` est également passé en majuscules pour devenir ``'0X'``." -#: library/string.rst:558 +#: library/string.rst:559 msgid "``'n'``" msgstr "``'n'``" -#: library/string.rst:474 +#: library/string.rst:475 msgid "" "Number. This is the same as ``'d'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -881,11 +881,11 @@ msgstr "" "localisation qui sont utilisés afin de déterminer le séparateur de nombres " "approprié." -#: library/string.rst:478 +#: library/string.rst:479 msgid "The same as ``'d'``." msgstr "Pareil que ``'d'``." -#: library/string.rst:481 +#: library/string.rst:482 msgid "" "In addition to the above presentation types, integers can be formatted with " "the floating point presentation types listed below (except ``'n'`` and " @@ -898,7 +898,7 @@ msgstr "" "func:`float` est utilisée pour convertir l'entier en flottant avant le " "formatage." -#: library/string.rst:486 +#: library/string.rst:487 msgid "" "The available presentation types for :class:`float` and :class:`~decimal." "Decimal` values are:" @@ -906,11 +906,11 @@ msgstr "" "Les représentations possibles pour les :class:`float` et les :class:" "`~decimal.Decimal` sont :" -#: library/string.rst:492 +#: library/string.rst:493 msgid "``'e'``" msgstr "``'e'``" -#: library/string.rst:492 +#: library/string.rst:493 msgid "" "Scientific notation. For a given precision ``p``, formats the number in " "scientific notation with the letter 'e' separating the coefficient from the " @@ -932,11 +932,11 @@ msgstr "" "la virgule (c.-à-d. le point décimal en Python) n'est pas affichée à moins " "que l'option ``#`` ne soit utilisée." -#: library/string.rst:504 +#: library/string.rst:505 msgid "``'E'``" msgstr "``'E'``" -#: library/string.rst:504 +#: library/string.rst:505 msgid "" "Scientific notation. Same as ``'e'`` except it uses an upper case 'E' as the " "separator character." @@ -944,11 +944,11 @@ msgstr "" "Notation scientifique. Pareil que ``'e'`` sauf que Python utilise la lettre " "majuscule 'E' comme séparateur." -#: library/string.rst:507 +#: library/string.rst:508 msgid "``'f'``" msgstr "``'f'``" -#: library/string.rst:507 +#: library/string.rst:508 msgid "" "Fixed-point notation. For a given precision ``p``, formats the number as a " "decimal number with exactly ``p`` digits following the decimal point. With " @@ -967,11 +967,11 @@ msgstr "" "la virgule, la virgule (c.-à-d. le point décimal en Python) n'est pas " "affichée à moins que l'option ``#`` ne soit utilisée." -#: library/string.rst:517 +#: library/string.rst:518 msgid "``'F'``" msgstr "``'F'``" -#: library/string.rst:517 +#: library/string.rst:518 msgid "" "Fixed-point notation. Same as ``'f'``, but converts ``nan`` to ``NAN`` and " "``inf`` to ``INF``." @@ -979,11 +979,11 @@ msgstr "" "Virgule fixe. Pareil que ``'f'`` à part ``nan`` qui devient ``NAN`` et " "``inf`` qui devient ``INF``." -#: library/string.rst:520 +#: library/string.rst:521 msgid "``'g'``" msgstr "``'g'``" -#: library/string.rst:520 +#: library/string.rst:521 msgid "" "General format. For a given precision ``p >= 1``, this rounds the number to " "``p`` significant digits and then formats the result in either fixed-point " @@ -995,7 +995,7 @@ msgstr "" "virgule fixe soit en notation scientifique, en fonction de la magnitude. Une " "précision de ``0`` est considérée équivalente à une précision de ``1``." -#: library/string.rst:527 +#: library/string.rst:528 msgid "" "The precise rules are as follows: suppose that the result formatted with " "presentation type ``'e'`` and precision ``p-1`` would have exponent " @@ -1018,7 +1018,7 @@ msgstr "" "retirée s'il n'y a aucun chiffre la suivant, sauf si l'option ``'#'`` est " "utilisée." -#: library/string.rst:540 +#: library/string.rst:541 msgid "" "With no precision given, uses a precision of ``6`` significant digits for :" "class:`float`. For :class:`~decimal.Decimal`, the coefficient of the result " @@ -1034,7 +1034,7 @@ msgstr "" "celles dont le dernier chiffre significatif a une position supérieure à 1 ; " "dans les autres cas, la notation en virgule fixe est utilisée." -#: library/string.rst:549 +#: library/string.rst:550 msgid "" "Positive and negative infinity, positive and negative zero, and nans, are " "formatted as ``inf``, ``-inf``, ``0``, ``-0`` and ``nan`` respectively, " @@ -1044,11 +1044,11 @@ msgstr "" "négatif, *not a number* sont formatées respectivement par ``inf``, ``-inf``, " "``0``, ``-0`` et ``nan``, peu importe la précision." -#: library/string.rst:554 +#: library/string.rst:555 msgid "``'G'``" msgstr "``'G'``" -#: library/string.rst:554 +#: library/string.rst:555 msgid "" "General format. Same as ``'g'`` except switches to ``'E'`` if the number " "gets too large. The representations of infinity and NaN are uppercased, too." @@ -1057,7 +1057,7 @@ msgstr "" "nombre est trop grand. La représentation des infinis et de *NaN* sont en " "majuscules également." -#: library/string.rst:558 +#: library/string.rst:559 msgid "" "Number. This is the same as ``'g'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -1065,11 +1065,11 @@ msgstr "" "Nombre. Pareil que ``'g'``, si ce n'est que la configuration de localisation " "est prise en compte pour insérer le séparateur approprié." -#: library/string.rst:562 +#: library/string.rst:563 msgid "``'%'``" msgstr "``'%'``" -#: library/string.rst:562 +#: library/string.rst:563 msgid "" "Percentage. Multiplies the number by 100 and displays in fixed (``'f'``) " "format, followed by a percent sign." @@ -1077,7 +1077,7 @@ msgstr "" "Pourcentage. Multiplie le nombre par 100 et l'affiche en virgule fixe " "(``'f'``), suivi d'un symbole pourcent ``'%'``." -#: library/string.rst:565 +#: library/string.rst:566 msgid "" "For :class:`float` this is the same as ``'g'``, except that when fixed-point " "notation is used to format the result, it always includes at least one digit " @@ -1089,7 +1089,7 @@ msgstr "" "chiffre après la virgule. La précision utilisée est celle nécessaire pour " "afficher la valeur donnée fidèlement." -#: library/string.rst:571 +#: library/string.rst:572 msgid "" "For :class:`~decimal.Decimal`, this is the same as either ``'g'`` or ``'G'`` " "depending on the value of ``context.capitals`` for the current decimal " @@ -1098,7 +1098,7 @@ msgstr "" "Pour les :class:`~decimal.Decimal`, c'est identique à ``'g'`` ou ``'G'`` en " "fonction de la valeur de ``context.capitals`` du contexte décimal courant." -#: library/string.rst:575 +#: library/string.rst:576 msgid "" "The overall effect is to match the output of :func:`str` as altered by the " "other format modifiers." @@ -1106,11 +1106,11 @@ msgstr "" "L'effet visé est de coller à la valeur renvoyée par :func:`str` telle que " "modifiée par les autres modificateurs de format." -#: library/string.rst:583 +#: library/string.rst:584 msgid "Format examples" msgstr "Exemples de formats" -#: library/string.rst:585 +#: library/string.rst:586 msgid "" "This section contains examples of the :meth:`str.format` syntax and " "comparison with the old ``%``-formatting." @@ -1118,7 +1118,7 @@ msgstr "" "Cette section contient des exemples de la syntaxe de :meth:`str.format` et " "des comparaisons avec l'ancien formatage par ``%``." -#: library/string.rst:588 +#: library/string.rst:589 msgid "" "In most of the cases the syntax is similar to the old ``%``-formatting, with " "the addition of the ``{}`` and with ``:`` used instead of ``%``. For " @@ -1128,7 +1128,7 @@ msgstr "" "``%``, avec l'ajout de ``{}`` et avec ``:`` au lieu de ``%``. Par exemple : " "``'%03.2f'`` peut être changé en ``'{03.2f}'``." -#: library/string.rst:592 +#: library/string.rst:593 msgid "" "The new format syntax also supports new and different options, shown in the " "following examples." @@ -1136,68 +1136,69 @@ msgstr "" "La nouvelle syntaxe de formatage gère également de nouvelles options et des " "options différentes, montrées dans les exemples qui suivent." -#: library/string.rst:595 +#: library/string.rst:596 msgid "Accessing arguments by position::" msgstr "Accéder à un argument par sa position ::" -#: library/string.rst:608 +#: library/string.rst:609 msgid "Accessing arguments by name::" msgstr "Accéder à un argument par son nom ::" -#: library/string.rst:616 +#: library/string.rst:617 msgid "Accessing arguments' attributes::" msgstr "Accéder aux attributs d'un argument ::" -#: library/string.rst:631 +#: library/string.rst:632 msgid "Accessing arguments' items::" msgstr "Accéder aux éléments d'un argument ::" -#: library/string.rst:637 +#: library/string.rst:638 msgid "Replacing ``%s`` and ``%r``::" msgstr "Remplacer ``%s`` et ``%r`` ::" -#: library/string.rst:642 +#: library/string.rst:643 msgid "Aligning the text and specifying a width::" msgstr "Aligner le texte et spécifier une longueur minimale ::" -#: library/string.rst:653 +#: library/string.rst:654 msgid "Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::" msgstr "Remplacer ``%+f``, ``%-f``, et ``%f`` et spécifier un signe ::" -#: library/string.rst:662 +#: library/string.rst:663 msgid "" "Replacing ``%x`` and ``%o`` and converting the value to different bases::" msgstr "" "Remplacer ``%x`` et ``%o`` et convertir la valeur dans différentes bases ::" -#: library/string.rst:671 +#: library/string.rst:672 msgid "Using the comma as a thousands separator::" msgstr "Utiliser une virgule comme séparateur des milliers ::" -#: library/string.rst:676 +#: library/string.rst:677 msgid "Expressing a percentage::" msgstr "Exprimer un pourcentage ::" -#: library/string.rst:683 +#: library/string.rst:684 msgid "Using type-specific formatting::" msgstr "Utiliser un formatage propre au type ::" -#: library/string.rst:690 +#: library/string.rst:691 msgid "Nesting arguments and more complex examples::" msgstr "Arguments imbriqués et des exemples plus complexes ::" -#: library/string.rst:724 +#: library/string.rst:725 msgid "Template strings" msgstr "Chaînes modèles" -#: library/string.rst:726 +#: library/string.rst:727 +#, fuzzy msgid "" "Template strings provide simpler string substitutions as described in :pep:" "`292`. A primary use case for template strings is for internationalization " "(i18n) since in that context, the simpler syntax and functionality makes it " "easier to translate than other built-in string formatting facilities in " "Python. As an example of a library built on template strings for i18n, see " -"the `flufl.i18n `_ package." +"the `flufl.i18n `_ package." msgstr "" "Les chaînes modèles fournissent des substitutions de chaînes plus simples, " "comme décrit dans :pep:`292`. L’internationalisation (*i18n*) est un cas " @@ -1208,7 +1209,7 @@ msgstr "" "l'internationalisation, voir le paquet `flufl.i18n `_ (ressource en anglais)." -#: library/string.rst:736 +#: library/string.rst:737 msgid "" "Template strings support ``$``-based substitutions, using the following " "rules:" @@ -1216,11 +1217,11 @@ msgstr "" "Les chaînes modèles prennent en charge les substitutions basées sur ``$`` en " "utilisant les règles suivantes :" -#: library/string.rst:738 +#: library/string.rst:739 msgid "``$$`` is an escape; it is replaced with a single ``$``." msgstr "``$$`` est un échappement ; il est remplacé par un simple ``$``." -#: library/string.rst:740 +#: library/string.rst:741 msgid "" "``$identifier`` names a substitution placeholder matching a mapping key of " "``\"identifier\"``. By default, ``\"identifier\"`` is restricted to any " @@ -1236,7 +1237,7 @@ msgstr "" "n'étant pas un identifieur après le ``$`` termine la spécification du " "substituant." -#: library/string.rst:747 +#: library/string.rst:748 msgid "" "``${identifier}`` is equivalent to ``$identifier``. It is required when " "valid identifier characters follow the placeholder but are not part of the " @@ -1247,7 +1248,7 @@ msgstr "" "directement le substituant mais ne fait pas partie du substituant, comme " "``\"${noun}ification\"``." -#: library/string.rst:751 +#: library/string.rst:752 msgid "" "Any other appearance of ``$`` in the string will result in a :exc:" "`ValueError` being raised." @@ -1255,7 +1256,7 @@ msgstr "" "Tout autre présence du symbole ``$`` dans une chaîne résultera en la levée " "d'une :exc:`ValueError`." -#: library/string.rst:754 +#: library/string.rst:755 msgid "" "The :mod:`string` module provides a :class:`Template` class that implements " "these rules. The methods of :class:`Template` are:" @@ -1263,12 +1264,12 @@ msgstr "" "Le module :mod:`string` fournit une classe :class:`Template` qui implémente " "ces règles. Les méthodes de :class:`Template` sont :" -#: library/string.rst:760 +#: library/string.rst:761 msgid "The constructor takes a single argument which is the template string." msgstr "" "Le constructeur prend un seul argument qui est la chaîne du *template*." -#: library/string.rst:765 +#: library/string.rst:766 msgid "" "Performs the template substitution, returning a new string. *mapping* is " "any dictionary-like object with keys that match the placeholders in the " @@ -1283,7 +1284,7 @@ msgstr "" "*mapping* et *kwds* sont donnés et qu'il y a des doublons, les substituants " "de *kwds* sont prioritaires." -#: library/string.rst:774 +#: library/string.rst:775 msgid "" "Like :meth:`substitute`, except that if placeholders are missing from " "*mapping* and *kwds*, instead of raising a :exc:`KeyError` exception, the " @@ -1298,7 +1299,7 @@ msgstr "" "``$`` renverra simplement ``$`` au lieu de lever une exception :exc:" "`ValueError`." -#: library/string.rst:780 +#: library/string.rst:781 msgid "" "While other exceptions may still occur, this method is called \"safe\" " "because it always tries to return a usable string instead of raising an " @@ -1314,13 +1315,13 @@ msgstr "" "contient des délimiteurs fantômes, des accolades non fermées, ou des " "substituants qui ne sont pas des identificateurs Python valides." -#: library/string.rst:787 +#: library/string.rst:788 msgid ":class:`Template` instances also provide one public data attribute:" msgstr "" "Les instances de la classe :class:`Template` fournissent également un " "attribut public :" -#: library/string.rst:791 +#: library/string.rst:792 msgid "" "This is the object passed to the constructor's *template* argument. In " "general, you shouldn't change it, but read-only access is not enforced." @@ -1329,11 +1330,11 @@ msgstr "" "vous ne devriez pas le changer, mais un accès en lecture-seule n'est pas " "possible à fournir." -#: library/string.rst:794 +#: library/string.rst:795 msgid "Here is an example of how to use a Template::" msgstr "Voici un exemple de comment utiliser un *Template* ::" -#: library/string.rst:812 +#: library/string.rst:813 msgid "" "Advanced usage: you can derive subclasses of :class:`Template` to customize " "the placeholder syntax, delimiter character, or the entire regular " @@ -1346,7 +1347,7 @@ msgstr "" "analyser les chaînes *templates*. Pour faire cela, vous pouvez redéfinir les " "attributs suivants :" -#: library/string.rst:817 +#: library/string.rst:818 msgid "" "*delimiter* -- This is the literal string describing a placeholder " "introducing delimiter. The default value is ``$``. Note that this should " @@ -1361,7 +1362,7 @@ msgstr "" "escape` sur cette chaîne si nécessaire. Notez aussi que le délimiteur ne " "peut pas être changé après la création de la classe." -#: library/string.rst:824 +#: library/string.rst:825 msgid "" "*idpattern* -- This is the regular expression describing the pattern for non-" "braced placeholders. The default value is the regular expression ``(?a:[_a-" @@ -1374,7 +1375,7 @@ msgstr "" "donné et *braceidpattern* est ``None``, ce motif est aussi utilisé pour les " "marqueurs entre accolades." -#: library/string.rst:831 +#: library/string.rst:832 msgid "" "Since default *flags* is ``re.IGNORECASE``, pattern ``[a-z]`` can match with " "some non-ASCII characters. That's why we use the local ``a`` flag here." @@ -1383,7 +1384,7 @@ msgstr "" "ASCII* peuvent correspondre au motif ``[a-z]``. C'est pourquoi on utilise " "une option locale ``a`` ici." -#: library/string.rst:835 +#: library/string.rst:836 msgid "" "*braceidpattern* can be used to define separate patterns used inside and " "outside the braces." @@ -1391,7 +1392,7 @@ msgstr "" "*braceidpattern* peut être utilisé pour définir des motifs des motifs " "différents suivant qu’ils sont à l’intérieur ou à l’extérieur des accolades." -#: library/string.rst:839 +#: library/string.rst:840 msgid "" "*braceidpattern* -- This is like *idpattern* but describes the pattern for " "braced placeholders. Defaults to ``None`` which means to fall back to " @@ -1405,7 +1406,7 @@ msgstr "" "l’intérieur d’accolades ou non). S’il est donné, cela vous permet de définir " "des motifs entre accolades différents des motifs sans accolades." -#: library/string.rst:847 +#: library/string.rst:848 msgid "" "*flags* -- The regular expression flags that will be applied when compiling " "the regular expression used for recognizing substitutions. The default " @@ -1420,7 +1421,7 @@ msgstr "" "personnalisé doit suivre les conventions des expressions rationnelles " "*verbose*." -#: library/string.rst:855 +#: library/string.rst:856 msgid "" "Alternatively, you can provide the entire regular expression pattern by " "overriding the class attribute *pattern*. If you do this, the value must be " @@ -1434,7 +1435,7 @@ msgstr "" "noms. Les groupes de capture correspondent aux règles données au-dessus, " "ainsi qu'à la règle du substituant invalide :" -#: library/string.rst:861 +#: library/string.rst:862 msgid "" "*escaped* -- This group matches the escape sequence, e.g. ``$$``, in the " "default pattern." @@ -1442,7 +1443,7 @@ msgstr "" "*escaped* — Ce groupe lie les séquences échappées (par exemple ``$$``) dans " "le motif par défaut." -#: library/string.rst:864 +#: library/string.rst:865 msgid "" "*named* -- This group matches the unbraced placeholder name; it should not " "include the delimiter in capturing group." @@ -1450,7 +1451,7 @@ msgstr "" "*named* — Ce groupe lie les substituants non entourés d'accolades ; il ne " "devrait pas inclure le délimiteur dans le groupe de capture." -#: library/string.rst:867 +#: library/string.rst:868 msgid "" "*braced* -- This group matches the brace enclosed placeholder name; it " "should not include either the delimiter or braces in the capturing group." @@ -1458,7 +1459,7 @@ msgstr "" "*braced* — Ce groupe lie le nom entouré d'accolades ; il ne devrait inclure " "ni le délimiteur, ni les accolades dans le groupe de capture." -#: library/string.rst:870 +#: library/string.rst:871 msgid "" "*invalid* -- This group matches any other delimiter pattern (usually a " "single delimiter), and it should appear last in the regular expression." @@ -1467,11 +1468,11 @@ msgstr "" "un seul délimiteur) et il devrait apparaître en dernier dans l'expression " "rationnelle." -#: library/string.rst:875 +#: library/string.rst:876 msgid "Helper functions" msgstr "Fonctions d'assistance" -#: library/string.rst:879 +#: library/string.rst:880 msgid "" "Split the argument into words using :meth:`str.split`, capitalize each word " "using :meth:`str.capitalize`, and join the capitalized words using :meth:" diff --git a/library/struct.po b/library/struct.po index 2cab8c40ab..e42c65f871 100644 --- a/library/struct.po +++ b/library/struct.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-01-18 17:44+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -146,9 +146,10 @@ msgstr "" "`calcsize`." #: library/struct.rst:83 +#, fuzzy msgid "" "Iteratively unpack from the buffer *buffer* according to the format string " -"*format*. This function returns an iterator which will read equally-sized " +"*format*. This function returns an iterator which will read equally sized " "chunks from the buffer until all its contents have been consumed. The " "buffer's size in bytes must be a multiple of the size required by the " "format, as reflected by :func:`calcsize`." @@ -283,11 +284,13 @@ msgstr "" "comme si ``'@'`` avait été indiqué." #: library/struct.rst:147 +#, fuzzy msgid "" "Native byte order is big-endian or little-endian, depending on the host " -"system. For example, Intel x86 and AMD64 (x86-64) are little-endian; " -"Motorola 68000 and PowerPC G5 are big-endian; ARM and Intel Itanium feature " -"switchable endianness (bi-endian). Use ``sys.byteorder`` to check the " +"system. For example, Intel x86 and AMD64 (x86-64) are little-endian; IBM z " +"and most legacy architectures are big-endian; and ARM, RISC-V and IBM Power " +"feature switchable endianness (bi-endian, though the former two are nearly " +"always little-endian in practice). Use ``sys.byteorder`` to check the " "endianness of your system." msgstr "" "Le boutisme natif est gros-boutiste ou petit-boutiste, en fonction de la " @@ -297,7 +300,7 @@ msgstr "" "boutisme. Utilisez ``sys.byteorder`` pour vérifier le boutisme de votre " "système." -#: library/struct.rst:153 +#: library/struct.rst:154 msgid "" "Native size and alignment are determined using the C compiler's ``sizeof`` " "expression. This is always combined with native byte order." @@ -306,7 +309,7 @@ msgstr "" "``sizeof`` du compilateur C. Leur valeur est toujours combinée au boutisme " "natif." -#: library/struct.rst:156 +#: library/struct.rst:157 msgid "" "Standard size depends only on the format character; see the table in the :" "ref:`format-characters` section." @@ -314,7 +317,7 @@ msgstr "" "La taille standard dépend seulement du caractère du format ; référez-vous au " "tableau dans la section :ref:`format-characters`." -#: library/struct.rst:159 +#: library/struct.rst:160 msgid "" "Note the difference between ``'@'`` and ``'='``: both use native byte order, " "but the size and alignment of the latter is standardized." @@ -322,13 +325,13 @@ msgstr "" "Notez la différence entre ``'@'`` et ``'='`` : les deux utilisent le " "boutisme natif mais la taille et l'alignement du dernier sont standards." -#: library/struct.rst:162 +#: library/struct.rst:163 msgid "" "The form ``'!'`` represents the network byte order which is always big-" "endian as defined in `IETF RFC 1700 `_." msgstr "" -#: library/struct.rst:165 +#: library/struct.rst:166 msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." @@ -337,11 +340,11 @@ msgstr "" "(c'est-à-dire forcer la permutation des octets) ; utilisez le bon caractère " "entre ``'<'`` et ``'>'``." -#: library/struct.rst:247 +#: library/struct.rst:248 msgid "Notes:" msgstr "Notes :" -#: library/struct.rst:170 +#: library/struct.rst:171 msgid "" "Padding is only automatically added between successive structure members. No " "padding is added at the beginning or the end of the encoded struct." @@ -350,7 +353,7 @@ msgstr "" "membres successifs de la structure. Il n'y a pas de bourrage au début ou à " "la fin de la structure agrégée." -#: library/struct.rst:173 +#: library/struct.rst:174 msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." @@ -358,7 +361,7 @@ msgstr "" "Il n'y a pas d'ajout de bourrage lorsque vous utilisez une taille et un " "alignement non-natifs, par exemple avec `<`, `'>', `=` ou `!`." -#: library/struct.rst:176 +#: library/struct.rst:177 msgid "" "To align the end of a structure to the alignment requirement of a particular " "type, end the format with the code for that type with a repeat count of " @@ -368,11 +371,11 @@ msgstr "" "particulier, terminez le format avec le code du type voulu et une valeur de " "répétition à zéro. Référez-vous à :ref:`struct-examples`." -#: library/struct.rst:184 +#: library/struct.rst:185 msgid "Format Characters" msgstr "Caractères de format" -#: library/struct.rst:186 +#: library/struct.rst:187 msgid "" "Format characters have the following meaning; the conversion between C and " "Python values should be obvious given their types. The 'Standard size' " @@ -389,278 +392,297 @@ msgstr "" "suivants : ``'<'``, ``'>'``, ``'!'`` ou ``'='``). Si vous utilisez la taille " "native, la taille de la valeur agrégée dépend de la plateforme." -#: library/struct.rst:194 +#: library/struct.rst:195 msgid "Format" msgstr "Format" -#: library/struct.rst:194 +#: library/struct.rst:195 msgid "C Type" msgstr "Type C" -#: library/struct.rst:194 +#: library/struct.rst:195 msgid "Python type" msgstr "Type Python" -#: library/struct.rst:194 +#: library/struct.rst:195 msgid "Standard size" msgstr "Taille standard" -#: library/struct.rst:194 +#: library/struct.rst:195 msgid "Notes" msgstr "Notes" -#: library/struct.rst:196 +#: library/struct.rst:197 msgid "``x``" msgstr "``x``" -#: library/struct.rst:196 +#: library/struct.rst:197 msgid "pad byte" msgstr "octet de bourrage" -#: library/struct.rst:196 +#: library/struct.rst:197 msgid "no value" msgstr "pas de valeur" -#: library/struct.rst:198 +#: library/struct.rst:199 msgid "``c``" msgstr "``c``" -#: library/struct.rst:198 -msgid ":c:type:`char`" +#: library/struct.rst:199 +#, fuzzy +msgid ":c:expr:`char`" msgstr ":c:type:`char`" -#: library/struct.rst:198 +#: library/struct.rst:199 msgid "bytes of length 1" msgstr "*bytes* (suite d'octets) de taille 1" -#: library/struct.rst:200 library/struct.rst:204 +#: library/struct.rst:201 library/struct.rst:205 msgid "1" msgstr "1" -#: library/struct.rst:200 +#: library/struct.rst:201 msgid "``b``" msgstr "``b``" -#: library/struct.rst:200 -msgid ":c:type:`signed char`" +#: library/struct.rst:201 +#, fuzzy +msgid ":c:expr:`signed char`" msgstr ":c:type:`signed char`" -#: library/struct.rst:202 library/struct.rst:208 library/struct.rst:212 -#: library/struct.rst:216 library/struct.rst:220 library/struct.rst:225 -#: library/struct.rst:237 +#: library/struct.rst:203 library/struct.rst:209 library/struct.rst:213 +#: library/struct.rst:217 library/struct.rst:221 library/struct.rst:226 +#: library/struct.rst:238 msgid "integer" msgstr "*int* (entier)" -#: library/struct.rst:200 +#: library/struct.rst:201 msgid "\\(1), \\(2)" msgstr "\\(1), \\(2)" -#: library/struct.rst:202 +#: library/struct.rst:203 msgid "``B``" msgstr "``B``" -#: library/struct.rst:202 -msgid ":c:type:`unsigned char`" +#: library/struct.rst:203 +#, fuzzy +msgid ":c:expr:`unsigned char`" msgstr ":c:type:`unsigned char`" -#: library/struct.rst:206 library/struct.rst:210 library/struct.rst:214 -#: library/struct.rst:218 library/struct.rst:220 +#: library/struct.rst:207 library/struct.rst:211 library/struct.rst:215 +#: library/struct.rst:219 library/struct.rst:221 msgid "\\(2)" msgstr "\\(2)" -#: library/struct.rst:204 +#: library/struct.rst:205 msgid "``?``" msgstr "``?``" -#: library/struct.rst:204 -msgid ":c:type:`_Bool`" +#: library/struct.rst:205 +#, fuzzy +msgid ":c:expr:`_Bool`" msgstr ":c:type:`_Bool`" -#: library/struct.rst:204 +#: library/struct.rst:205 msgid "bool" msgstr "*bool* (booléen)" -#: library/struct.rst:204 +#: library/struct.rst:205 msgid "\\(1)" msgstr "\\(1)" -#: library/struct.rst:206 +#: library/struct.rst:207 msgid "``h``" msgstr "``h``" -#: library/struct.rst:206 -msgid ":c:type:`short`" +#: library/struct.rst:207 +#, fuzzy +msgid ":c:expr:`short`" msgstr ":c:type:`short`" -#: library/struct.rst:208 library/struct.rst:227 +#: library/struct.rst:209 library/struct.rst:228 msgid "2" msgstr "2" -#: library/struct.rst:208 +#: library/struct.rst:209 msgid "``H``" msgstr "``H``" -#: library/struct.rst:208 -msgid ":c:type:`unsigned short`" +#: library/struct.rst:209 +#, fuzzy +msgid ":c:expr:`unsigned short`" msgstr ":c:type:`unsigned short`" -#: library/struct.rst:210 +#: library/struct.rst:211 msgid "``i``" msgstr "``i``" -#: library/struct.rst:210 -msgid ":c:type:`int`" +#: library/struct.rst:211 +#, fuzzy +msgid ":c:expr:`int`" msgstr ":c:type:`int`" -#: library/struct.rst:212 library/struct.rst:216 library/struct.rst:229 +#: library/struct.rst:213 library/struct.rst:217 library/struct.rst:230 msgid "4" msgstr "4" -#: library/struct.rst:212 +#: library/struct.rst:213 msgid "``I``" msgstr "``I``" -#: library/struct.rst:212 -msgid ":c:type:`unsigned int`" +#: library/struct.rst:213 +#, fuzzy +msgid ":c:expr:`unsigned int`" msgstr ":c:type:`unsigned int`" -#: library/struct.rst:214 +#: library/struct.rst:215 msgid "``l``" msgstr "``l``" -#: library/struct.rst:214 -msgid ":c:type:`long`" +#: library/struct.rst:215 +#, fuzzy +msgid ":c:expr:`long`" msgstr ":c:type:`long`" -#: library/struct.rst:216 +#: library/struct.rst:217 msgid "``L``" msgstr "``L``" -#: library/struct.rst:216 -msgid ":c:type:`unsigned long`" +#: library/struct.rst:217 +#, fuzzy +msgid ":c:expr:`unsigned long`" msgstr ":c:type:`unsigned long`" -#: library/struct.rst:218 +#: library/struct.rst:219 msgid "``q``" msgstr "``q``" -#: library/struct.rst:218 -msgid ":c:type:`long long`" +#: library/struct.rst:219 +#, fuzzy +msgid ":c:expr:`long long`" msgstr ":c:type:`long long`" -#: library/struct.rst:220 library/struct.rst:231 +#: library/struct.rst:221 library/struct.rst:232 msgid "8" msgstr "8" -#: library/struct.rst:220 +#: library/struct.rst:221 msgid "``Q``" msgstr "``Q``" -#: library/struct.rst:220 -msgid ":c:type:`unsigned long long`" +#: library/struct.rst:221 +#, fuzzy +msgid ":c:expr:`unsigned long long`" msgstr ":c:type:`unsigned long long`" -#: library/struct.rst:223 +#: library/struct.rst:224 msgid "``n``" msgstr "``n``" -#: library/struct.rst:223 -msgid ":c:type:`ssize_t`" +#: library/struct.rst:224 +#, fuzzy +msgid ":c:expr:`ssize_t`" msgstr ":c:type:`ssize_t`" -#: library/struct.rst:225 +#: library/struct.rst:226 msgid "\\(3)" msgstr "\\(3)" -#: library/struct.rst:225 +#: library/struct.rst:226 msgid "``N``" msgstr "``N``" -#: library/struct.rst:225 -msgid ":c:type:`size_t`" +#: library/struct.rst:226 +#, fuzzy +msgid ":c:expr:`size_t`" msgstr ":c:type:`size_t`" -#: library/struct.rst:227 +#: library/struct.rst:228 msgid "``e``" msgstr "``e``" -#: library/struct.rst:227 +#: library/struct.rst:228 msgid "\\(6)" msgstr "\\(6)" -#: library/struct.rst:229 library/struct.rst:231 +#: library/struct.rst:230 library/struct.rst:232 msgid "float" msgstr "*float* (nombre à virgule flottante)" -#: library/struct.rst:229 library/struct.rst:231 +#: library/struct.rst:230 library/struct.rst:232 msgid "\\(4)" msgstr "\\(4)" -#: library/struct.rst:229 +#: library/struct.rst:230 msgid "``f``" msgstr "``f``" -#: library/struct.rst:229 -msgid ":c:type:`float`" +#: library/struct.rst:230 +#, fuzzy +msgid ":c:expr:`float`" msgstr ":c:type:`float`" -#: library/struct.rst:231 +#: library/struct.rst:232 msgid "``d``" msgstr "``d``" -#: library/struct.rst:231 -msgid ":c:type:`double`" +#: library/struct.rst:232 +#, fuzzy +msgid ":c:expr:`double`" msgstr ":c:type:`double`" -#: library/struct.rst:233 +#: library/struct.rst:234 msgid "``s``" msgstr "``s``" -#: library/struct.rst:235 -msgid ":c:type:`char[]`" +#: library/struct.rst:236 +#, fuzzy +msgid ":c:expr:`char[]`" msgstr ":c:type:`char[]`" -#: library/struct.rst:235 +#: library/struct.rst:236 msgid "bytes" msgstr "*bytes* (séquence d'octets)" -#: library/struct.rst:235 +#: library/struct.rst:236 msgid "``p``" msgstr "``p``" -#: library/struct.rst:237 +#: library/struct.rst:238 msgid "``P``" msgstr "``P``" -#: library/struct.rst:237 -msgid ":c:type:`void \\*`" +#: library/struct.rst:238 +#, fuzzy +msgid ":c:expr:`void \\*`" msgstr ":c:type:`void \\*`" -#: library/struct.rst:237 +#: library/struct.rst:238 msgid "\\(5)" msgstr "\\(5)" # Suit un ':' dans la version affichée, donc pas de majuscule. -#: library/struct.rst:240 +#: library/struct.rst:241 msgid "Added support for the ``'n'`` and ``'N'`` formats." msgstr "ajouté la gestion des formats ``'n'`` et ``'N'``." # Suit un ':' dans la version affichée, donc pas de majuscule. -#: library/struct.rst:243 +#: library/struct.rst:244 msgid "Added support for the ``'e'`` format." msgstr "ajouté la gestion du format ``'e'``." -#: library/struct.rst:252 +#: library/struct.rst:253 +#, fuzzy msgid "" -"The ``'?'`` conversion code corresponds to the :c:type:`_Bool` type defined " -"by C99. If this type is not available, it is simulated using a :c:type:" +"The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined " +"by C99. If this type is not available, it is simulated using a :c:expr:" "`char`. In standard mode, it is always represented by one byte." msgstr "" "Le code de conversion ``'?'`` correspond au type :c:type:`_Bool` de C99. Si " "ce type n'est pas disponible, il est simulé en utilisant un :c:type:`char`. " "Dans le mode standard, il est toujours représenté par un octet." -#: library/struct.rst:257 +#: library/struct.rst:258 msgid "" "When attempting to pack a non-integer using any of the integer conversion " "codes, if the non-integer has a :meth:`__index__` method then that method is " @@ -672,12 +694,12 @@ msgstr "" "entier avant l'agrégation." # Suit un ':' dans la version affichée, donc pas de majuscule. -#: library/struct.rst:261 +#: library/struct.rst:262 #, fuzzy msgid "Added use of the :meth:`__index__` method for non-integers." msgstr "utilisation de la méthode :meth:`__index__` pour les non-entiers. " -#: library/struct.rst:265 +#: library/struct.rst:266 msgid "" "The ``'n'`` and ``'N'`` conversion codes are only available for the native " "size (selected as the default or with the ``'@'`` byte order character). For " @@ -689,7 +711,7 @@ msgstr "" "``'@'``). Pour la taille standard, vous pouvez utiliser n'importe quel " "format d'entier qui convient à votre application." -#: library/struct.rst:271 +#: library/struct.rst:272 msgid "" "For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " "representation uses the IEEE 754 binary32, binary64 or binary16 format (for " @@ -701,7 +723,7 @@ msgstr "" "ou *binaire16* (pour ``'f'``, ``'d'`` ou ``'e'`` respectivement), quel que " "soit le format des nombres à virgule flottante de la plateforme." -#: library/struct.rst:277 +#: library/struct.rst:278 msgid "" "The ``'P'`` format character is only available for the native byte ordering " "(selected as the default or with the ``'@'`` byte order character). The byte " @@ -715,7 +737,7 @@ msgstr "" "fonction du système hôte. Le module *struct* ne l'interprète pas comme un " "boutisme natif, donc le format ``'P'`` n'est pas disponible." -#: library/struct.rst:284 +#: library/struct.rst:285 msgid "" "The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " "revision of the `IEEE 754 standard `_. It has a sign " @@ -737,7 +759,7 @@ msgstr "" "non traduite en français) `half-precision floating-point format `_ pour davantage d'informations." -#: library/struct.rst:294 +#: library/struct.rst:295 msgid "" "A format character may be preceded by an integral repeat count. For " "example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." @@ -746,7 +768,7 @@ msgstr "" "de répétitions. Par exemple, la chaîne de format ``'4h'`` a exactement la " "même signification que ``'hhhh'``." -#: library/struct.rst:297 +#: library/struct.rst:298 msgid "" "Whitespace characters between formats are ignored; a count and its format " "must not contain whitespace though." @@ -755,7 +777,7 @@ msgstr "" "cependant, le nombre de répétitions et le format associé ne doivent pas être " "séparés par des caractères d'espacement." -#: library/struct.rst:300 +#: library/struct.rst:301 msgid "" "For the ``'s'`` format character, the count is interpreted as the length of " "the bytes, not a repeat count like for the other format characters; for " @@ -776,7 +798,7 @@ msgstr "" "exact d'octets spécifiés. Un cas particulier est ``'0s'`` qui signifie une " "chaîne (et une seule) vide (alors que ``'0c'`` signifie zéro caractère)." -#: library/struct.rst:309 +#: library/struct.rst:310 msgid "" "When packing a value ``x`` using one of the integer formats (``'b'``, " "``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, ``'q'``, " @@ -789,7 +811,7 @@ msgstr "" "spécifié, une :exc:`struct.error` est levée." # Pas de majuscule en début car cela suit un ':' dans la version affichée. -#: library/struct.rst:314 +#: library/struct.rst:315 #, fuzzy msgid "" "Previously, some of the integer formats wrapped out-of-range values and " @@ -799,7 +821,7 @@ msgstr "" "intervalles valides et levaient une :exc:`DeprecationWarning` au lieu d'une :" "exc:`struct.error`." -#: library/struct.rst:318 +#: library/struct.rst:319 msgid "" "The ``'p'`` format character encodes a \"Pascal string\", meaning a short " "variable-length string stored in a *fixed number of bytes*, given by the " @@ -824,7 +846,7 @@ msgstr "" "le caractère de format ``'p'`` consomme ``count`` octets mais que la chaîne " "renvoyée ne peut pas excéder 255 octets." -#: library/struct.rst:331 +#: library/struct.rst:332 msgid "" "For the ``'?'`` format character, the return value is either :const:`True` " "or :const:`False`. When packing, the truth value of the argument object is " @@ -837,12 +859,12 @@ msgstr "" "native ou standard et, lors de la dissociation, n'importe quelle valeur " "différente de zéro est renvoyée ``True``." -#: library/struct.rst:341 +#: library/struct.rst:342 msgid "Examples" msgstr "Exemples" # Pas de majuscule en début car cela suit un ':' dans la version affichée. -#: library/struct.rst:344 +#: library/struct.rst:345 msgid "" "All examples assume a native byte order, size, and alignment with a big-" "endian machine." @@ -850,11 +872,11 @@ msgstr "" "tous les exemples présentés supposent que l'on utilise le boutisme, la " "taille et l'alignement natifs sur une machine gros-boutiste." -#: library/struct.rst:347 +#: library/struct.rst:348 msgid "A basic example of packing/unpacking three integers::" msgstr "Un exemple de base d'agrégation et dissociation de trois entiers ::" -#: library/struct.rst:357 +#: library/struct.rst:358 msgid "" "Unpacked fields can be named by assigning them to variables or by wrapping " "the result in a named tuple::" @@ -862,7 +884,7 @@ msgstr "" "Les champs dissociés peuvent être nommés en leur assignant des variables ou " "en encapsulant le résultat dans un *n*-uplet nommé ::" -#: library/struct.rst:368 +#: library/struct.rst:369 msgid "" "The ordering of format characters may have an impact on size since the " "padding needed to satisfy alignment requirements is different::" @@ -870,7 +892,7 @@ msgstr "" "L'ordre des caractères de format peut avoir un impact sur la taille puisque " "le bourrage nécessaire pour réaliser l'alignement est différent ::" -#: library/struct.rst:380 +#: library/struct.rst:381 msgid "" "The following format ``'llh0l'`` specifies two pad bytes at the end, " "assuming longs are aligned on 4-byte boundaries::" @@ -879,7 +901,7 @@ msgstr "" "considérant que les entiers longs sont alignés sur des espacements de 4 " "octets ::" -#: library/struct.rst:386 +#: library/struct.rst:387 msgid "" "This only works when native size and alignment are in effect; standard size " "and alignment does not enforce any alignment." @@ -887,31 +909,31 @@ msgstr "" "Ceci ne fonctionne que quand la taille et l'alignement natifs sont " "utilisés ; la taille et l'alignement standards ne forcent aucun alignement." -#: library/struct.rst:393 +#: library/struct.rst:394 msgid "Module :mod:`array`" msgstr "Module :mod:`array`" -#: library/struct.rst:393 +#: library/struct.rst:394 msgid "Packed binary storage of homogeneous data." msgstr "Stockage agrégé binaire de données homogènes." -#: library/struct.rst:395 +#: library/struct.rst:396 msgid "Module :mod:`xdrlib`" msgstr "Module :mod:`xdrlib`" -#: library/struct.rst:396 +#: library/struct.rst:397 msgid "Packing and unpacking of XDR data." msgstr "Agrégation et dissociation de données XDR." -#: library/struct.rst:402 +#: library/struct.rst:403 msgid "Classes" msgstr "Classes" -#: library/struct.rst:404 +#: library/struct.rst:405 msgid "The :mod:`struct` module also defines the following type:" msgstr "Le module :mod:`struct` définit aussi le type suivant :" -#: library/struct.rst:409 +#: library/struct.rst:410 msgid "" "Return a new Struct object which writes and reads binary data according to " "the format string *format*. Creating a Struct object once and calling its " @@ -925,7 +947,7 @@ msgstr "" "n'est compilée qu'une seule fois." # Pas de majuscule en début car suit un ':' dans la version affichée. -#: library/struct.rst:416 +#: library/struct.rst:417 msgid "" "The compiled versions of the most recent format strings passed to :class:" "`Struct` and the module-level functions are cached, so programs that use " @@ -937,12 +959,12 @@ msgstr "" "ce que les programmes qui n'utilisent que quelques chaînes de format n'aient " "pas à se préoccuper de n'utiliser qu'une seule instance de :class:`Struct`." -#: library/struct.rst:421 +#: library/struct.rst:422 msgid "Compiled Struct objects support the following methods and attributes:" msgstr "" "Les objets ``Struct`` compilés gèrent les méthodes et attributs suivants :" -#: library/struct.rst:425 +#: library/struct.rst:426 msgid "" "Identical to the :func:`pack` function, using the compiled format. " "(``len(result)`` will equal :attr:`size`.)" @@ -950,12 +972,12 @@ msgstr "" "Identique à la fonction :func:`pack`, en utilisant le format compilé " "(``len(result)`` vaut :attr:`size`)." -#: library/struct.rst:431 +#: library/struct.rst:432 msgid "Identical to the :func:`pack_into` function, using the compiled format." msgstr "" "Identique à la fonction :func:`pack_into`, en utilisant le format compilé." -#: library/struct.rst:436 +#: library/struct.rst:437 msgid "" "Identical to the :func:`unpack` function, using the compiled format. The " "buffer's size in bytes must equal :attr:`size`." @@ -963,7 +985,7 @@ msgstr "" "Identique à la fonction :func:`unpack`, en utilisant le format compilé. La " "taille du tampon *buffer* en octets doit valoir :attr:`size`." -#: library/struct.rst:442 +#: library/struct.rst:443 msgid "" "Identical to the :func:`unpack_from` function, using the compiled format. " "The buffer's size in bytes, starting at position *offset*, must be at least :" @@ -973,7 +995,7 @@ msgstr "" "La taille du tampon *buffer* en octets, en commençant à la position " "*offset*, doit valoir au moins :attr:`size`." -#: library/struct.rst:449 +#: library/struct.rst:450 msgid "" "Identical to the :func:`iter_unpack` function, using the compiled format. " "The buffer's size in bytes must be a multiple of :attr:`size`." @@ -981,18 +1003,18 @@ msgstr "" "Identique à la fonction :func:`iter_unpack`, en utilisant le format compilé. " "La taille du tampon *buffer* en octets doit être un multiple de :attr:`size`." -#: library/struct.rst:456 +#: library/struct.rst:457 msgid "The format string used to construct this Struct object." msgstr "La chaîne de format utilisée pour construire l'objet `Struct`." # Pas de majuscule car suit un ':' dans la version affichée. -#: library/struct.rst:458 +#: library/struct.rst:459 msgid "The format string type is now :class:`str` instead of :class:`bytes`." msgstr "" "la chaîne de format est maintenant de type :class:`str` au lieu de :class:" "`bytes`." -#: library/struct.rst:463 +#: library/struct.rst:464 msgid "" "The calculated size of the struct (and hence of the bytes object produced by " "the :meth:`pack` method) corresponding to :attr:`format`." diff --git a/library/subprocess.po b/library/subprocess.po index c855b0eab4..9658aad63e 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-06-17 20:34+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -207,7 +207,7 @@ msgstr "" "Le code de statut du processus fils. Typiquement, un code de statut de 0 " "indique qu'il s'est exécuté avec succès." -#: library/subprocess.rst:894 +#: library/subprocess.rst:899 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -293,7 +293,7 @@ msgstr "" "Sous-classe de :exc:`SubprocessError`, levée quand un *timeout* expire " "pendant l'attente d'un processus enfant." -#: library/subprocess.rst:225 +#: library/subprocess.rst:230 msgid "Command that was used to spawn the child process." msgstr "La commande utilisée pour instancier le processus fils." @@ -301,31 +301,31 @@ msgstr "La commande utilisée pour instancier le processus fils." msgid "Timeout in seconds." msgstr "Le *timeout* en secondes." -#: library/subprocess.rst:229 +#: library/subprocess.rst:194 msgid "" "Output of the child process if it was captured by :func:`run` or :func:" -"`check_output`. Otherwise, ``None``." +"`check_output`. Otherwise, ``None``. This is always :class:`bytes` when " +"any output was captured regardless of the ``text=True`` setting. It may " +"remain ``None`` instead of ``b''`` when no output was observed." msgstr "" -"La sortie du processus fils, si capturée par :func:`run` ou :func:" -"`check_output`. Autrement, ``None``." -#: library/subprocess.rst:234 +#: library/subprocess.rst:239 msgid "Alias for output, for symmetry with :attr:`stderr`." msgstr "Alias pour *output*, afin d'avoir une symétrie avec :attr:`stderr`." -#: library/subprocess.rst:238 +#: library/subprocess.rst:206 msgid "" "Stderr output of the child process if it was captured by :func:`run`. " -"Otherwise, ``None``." +"Otherwise, ``None``. This is always :class:`bytes` when stderr output was " +"captured regardless of the ``text=True`` setting. It may remain ``None`` " +"instead of ``b''`` when no stderr output was observed." msgstr "" -"La sortie d'erreur du processus fils, si capturée par :func:`run`. " -"Autrement, ``None``." -#: library/subprocess.rst:241 +#: library/subprocess.rst:246 msgid "*stdout* and *stderr* attributes added" msgstr "Ajout des attributs *stdout* et *stderr*" -#: library/subprocess.rst:213 +#: library/subprocess.rst:218 #, fuzzy msgid "" "Subclass of :exc:`SubprocessError`, raised when a process run by :func:" @@ -335,7 +335,7 @@ msgstr "" "Sous-classe de :exc:`SubprocessError`, levée quand un processus lancé par :" "func:`check_call` ou :func:`check_output` renvoie un code de statut non nul." -#: library/subprocess.rst:220 +#: library/subprocess.rst:225 msgid "" "Exit status of the child process. If the process exited due to a signal, " "this will be the negative signal number." @@ -343,11 +343,27 @@ msgstr "" "Code de statut du processus fils. Si le processus a été arrêté par un " "signal, le code sera négatif et correspondra à l'opposé du numéro de signal." -#: library/subprocess.rst:248 +#: library/subprocess.rst:234 +msgid "" +"Output of the child process if it was captured by :func:`run` or :func:" +"`check_output`. Otherwise, ``None``." +msgstr "" +"La sortie du processus fils, si capturée par :func:`run` ou :func:" +"`check_output`. Autrement, ``None``." + +#: library/subprocess.rst:243 +msgid "" +"Stderr output of the child process if it was captured by :func:`run`. " +"Otherwise, ``None``." +msgstr "" +"La sortie d'erreur du processus fils, si capturée par :func:`run`. " +"Autrement, ``None``." + +#: library/subprocess.rst:253 msgid "Frequently Used Arguments" msgstr "Arguments fréquemment utilisés" -#: library/subprocess.rst:250 +#: library/subprocess.rst:255 msgid "" "To support a wide variety of use cases, the :class:`Popen` constructor (and " "the convenience functions) accept a large number of optional arguments. For " @@ -360,7 +376,7 @@ msgstr "" "peuvent sans problème être laissés à leurs valeurs par défaut. Les arguments " "les plus communément nécessaires sont :" -#: library/subprocess.rst:255 +#: library/subprocess.rst:260 msgid "" "*args* is required for all calls and should be a string, or a sequence of " "program arguments. Providing a sequence of arguments is generally preferred, " @@ -378,7 +394,7 @@ msgstr "" "dessous) soit la chaîne doit simplement contenir le nom du programme à " "exécuter sans spécifier d'arguments supplémentaires." -#: library/subprocess.rst:263 +#: library/subprocess.rst:268 #, fuzzy msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " @@ -406,7 +422,7 @@ msgstr "" "fils doivent être capturées dans le même descripteur de fichier que la " "sortie standard." -#: library/subprocess.rst:278 +#: library/subprocess.rst:283 msgid "" "If *encoding* or *errors* are specified, or *text* (also known as " "*universal_newlines*) is true, the file objects *stdin*, *stdout* and " @@ -418,7 +434,7 @@ msgstr "" "seront ouverts en mode texte en utilisant les *encoding* et *errors* " "spécifiés à l'appel, ou les valeurs par défaut de :class:`io.TextIOWrapper`." -#: library/subprocess.rst:284 +#: library/subprocess.rst:289 msgid "" "For *stdin*, line ending characters ``'\\n'`` in the input will be converted " "to the default line separator :data:`os.linesep`. For *stdout* and *stderr*, " @@ -433,7 +449,7 @@ msgstr "" "de la classe :class:`io.TextIOWrapper` quand l'argument *newline* du " "constructeur est ``None``." -#: library/subprocess.rst:290 +#: library/subprocess.rst:295 msgid "" "If text mode is not used, *stdin*, *stdout* and *stderr* will be opened as " "binary streams. No encoding or line ending conversion is performed." @@ -442,15 +458,15 @@ msgstr "" "ouverts comme des flux binaires. Aucune conversion d'encodage ou de fins de " "ligne ne sera réalisée." -#: library/subprocess.rst:293 +#: library/subprocess.rst:298 msgid "Added *encoding* and *errors* parameters." msgstr "Ajout des paramètres *encoding* et *errors*." -#: library/subprocess.rst:296 +#: library/subprocess.rst:301 msgid "Added the *text* parameter as an alias for *universal_newlines*." msgstr "Ajout du paramètre *text* comme alias de *universal_newlines*." -#: library/subprocess.rst:301 +#: library/subprocess.rst:306 msgid "" "The newlines attribute of the file objects :attr:`Popen.stdin`, :attr:`Popen." "stdout` and :attr:`Popen.stderr` are not updated by the :meth:`Popen." @@ -460,7 +476,7 @@ msgstr "" "et :attr:`Popen.stderr` ne sont pas mis à jour par la méthode :meth:`Popen." "communicate`." -#: library/subprocess.rst:305 +#: library/subprocess.rst:310 msgid "" "If *shell* is ``True``, the specified command will be executed through the " "shell. This can be useful if you are using Python primarily for the " @@ -483,7 +499,7 @@ msgstr "" "`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path." "expanduser` et :mod:`shutil`)." -#: library/subprocess.rst:315 +#: library/subprocess.rst:320 msgid "" "When *universal_newlines* is ``True``, the class uses the encoding :func:" "`locale.getpreferredencoding(False) ` instead " @@ -495,13 +511,13 @@ msgstr "" "que ``locale.getpreferredencoding()``. Voir la classe :class:`io." "TextIOWrapper` pour plus d'informations sur ce changement." -#: library/subprocess.rst:443 +#: library/subprocess.rst:448 msgid "" "Read the `Security Considerations`_ section before using ``shell=True``." msgstr "" "Lire la section `Security Considerations`_ avant d'utiliser ``shell=True``." -#: library/subprocess.rst:325 +#: library/subprocess.rst:330 msgid "" "These options, along with all of the other options, are described in more " "detail in the :class:`Popen` constructor documentation." @@ -509,11 +525,11 @@ msgstr "" "Ces options, ainsi que toutes les autres, sont décrites plus en détails dans " "la documentation du constructeur de :class:`Popen`." -#: library/subprocess.rst:330 +#: library/subprocess.rst:335 msgid "Popen Constructor" msgstr "Constructeur de *Popen*" -#: library/subprocess.rst:332 +#: library/subprocess.rst:337 msgid "" "The underlying process creation and management in this module is handled by " "the :class:`Popen` class. It offers a lot of flexibility so that developers " @@ -525,7 +541,7 @@ msgstr "" "les développeurs soient capables de gérer les cas d'utilisation les moins " "communs, non couverts par les fonctions de convenance." -#: library/subprocess.rst:346 +#: library/subprocess.rst:351 #, fuzzy msgid "" "Execute a child program in a new process. On POSIX, the class uses :meth:" @@ -539,7 +555,7 @@ msgstr "" "Windows ``CreateProcess()``. Les arguments de :class:`Popen` sont les " "suivants." -#: library/subprocess.rst:351 +#: library/subprocess.rst:356 msgid "" "*args* should be a sequence of program arguments or else a single string or :" "term:`path-like object`. By default, the program to execute is the first " @@ -557,16 +573,16 @@ msgstr "" "*executable* pour d'autres différences avec le comportement par défaut. Sans " "autre indication, il est recommandé de passer *args* comme une séquence." -#: library/subprocess.rst:361 +#: library/subprocess.rst:366 msgid "" -"For maximum reliability, use a fully-qualified path for the executable. To " +"For maximum reliability, use a fully qualified path for the executable. To " "search for an unqualified name on :envvar:`PATH`, use :meth:`shutil.which`. " "On all platforms, passing :data:`sys.executable` is the recommended way to " "launch the current Python interpreter again, and use the ``-m`` command-line " "format to launch an installed module." msgstr "" -#: library/subprocess.rst:367 +#: library/subprocess.rst:372 msgid "" "Resolving the path of *executable* (or the first item of *args*) is platform " "dependent. For POSIX, see :meth:`os.execvpe`, and note that when resolving " @@ -580,13 +596,13 @@ msgid "" "variations." msgstr "" -#: library/subprocess.rst:378 +#: library/subprocess.rst:383 msgid "" "An example of passing some arguments to an external program as a sequence " "is::" msgstr "" -#: library/subprocess.rst:383 +#: library/subprocess.rst:388 msgid "" "On POSIX, if *args* is a string, the string is interpreted as the name or " "path of the program to execute. However, this can only be done if not " @@ -596,14 +612,14 @@ msgstr "" "comme le nom ou le chemin du programme à exécuter. Cependant, cela ne peut " "être fait que si le programme est passé sans arguments." -#: library/subprocess.rst:389 +#: library/subprocess.rst:394 msgid "" "It may not be obvious how to break a shell command into a sequence of " "arguments, especially in complex cases. :meth:`shlex.split` can illustrate " "how to determine the correct tokenization for *args*::" msgstr "" -#: library/subprocess.rst:401 +#: library/subprocess.rst:406 msgid "" "Note in particular that options (such as *-input*) and arguments (such as " "*eggs.txt*) that are separated by whitespace in the shell go in separate " @@ -618,7 +634,7 @@ msgstr "" "fichiers contenant des espaces ou la commande *echo* montrée plus haut) " "forment des éléments uniques." -#: library/subprocess.rst:407 +#: library/subprocess.rst:412 msgid "" "On Windows, if *args* is a sequence, it will be converted to a string in a " "manner described in :ref:`converting-argument-sequence`. This is because " @@ -629,7 +645,7 @@ msgstr "" "sequence`. Cela fonctionne ainsi parce que la fonction ``CreateProcess()`` " "opère sur des chaînes." -#: library/subprocess.rst:411 +#: library/subprocess.rst:416 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing path-like objects on POSIX." @@ -638,7 +654,7 @@ msgstr "" "*shell* vaut ``False`` et une séquence contenant des objets fichier sur " "POSIX." -#: library/subprocess.rst:415 +#: library/subprocess.rst:420 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing bytes and path-like objects on Windows." @@ -647,7 +663,7 @@ msgstr "" "*shell* vaut ``False`` et une séquence contenant des chaines d'octets et des " "objets chemins sur Windows." -#: library/subprocess.rst:420 +#: library/subprocess.rst:425 msgid "" "The *shell* argument (which defaults to ``False``) specifies whether to use " "the shell as the program to execute. If *shell* is ``True``, it is " @@ -658,7 +674,7 @@ msgstr "" "il est recommandé de passer *args* comme une chaîne de caractères plutôt " "qu'une séquence." -#: library/subprocess.rst:424 +#: library/subprocess.rst:429 msgid "" "On POSIX with ``shell=True``, the shell defaults to :file:`/bin/sh`. If " "*args* is a string, the string specifies the command to execute through the " @@ -680,7 +696,7 @@ msgstr "" "passer au *shell* lui-même. Pour ainsi dire, :class:`Popen` réalise " "l'équivalent de ::" -#: library/subprocess.rst:435 +#: library/subprocess.rst:440 msgid "" "On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " "specifies the default shell. The only time you need to specify " @@ -695,7 +711,7 @@ msgstr "" "ou :command:`copy`). Vous n'avez pas besoin de ``shell=True`` pour lancer " "un fichier batch ou un exécutable console." -#: library/subprocess.rst:445 +#: library/subprocess.rst:450 msgid "" "*bufsize* will be supplied as the corresponding argument to the :func:`open` " "function when creating the stdin/stdout/stderr pipe file objects:" @@ -704,7 +720,7 @@ msgstr "" "`open`, lors de la création des objets de fichiers pour les tubes *stdin*/" "*stdout*/*stderr* :" -#: library/subprocess.rst:449 +#: library/subprocess.rst:454 msgid "" ":const:`0` means unbuffered (read and write are one system call and can " "return short)" @@ -712,7 +728,7 @@ msgstr "" ":const:`0` indique de ne pas utiliser de tampon (les lectures et écritures " "sont des appels systèmes et peuvent renvoyer des données incomplètes) ;" -#: library/subprocess.rst:451 +#: library/subprocess.rst:456 msgid "" ":const:`1` means line buffered (only usable if ``universal_newlines=True`` i." "e., in a text mode)" @@ -720,13 +736,13 @@ msgstr "" ":const:`1` indique une mise en cache par ligne (utilisable seulement si " "``universal_newlines=True``, c'est-à-dire en mode texte) ;" -#: library/subprocess.rst:453 +#: library/subprocess.rst:458 msgid "any other positive value means use a buffer of approximately that size" msgstr "" "toutes les autres valeurs positives indiquent d'utiliser un tampon " "d'approximativement cette taille ;" -#: library/subprocess.rst:455 +#: library/subprocess.rst:460 msgid "" "negative bufsize (the default) means the system default of io." "DEFAULT_BUFFER_SIZE will be used." @@ -734,7 +750,7 @@ msgstr "" "un *bufsize* négatif (par défaut) indique au système d'utiliser la valeur " "par défaut *io.DEFAULT_BUFFER_SIZE*." -#: library/subprocess.rst:458 +#: library/subprocess.rst:463 msgid "" "*bufsize* now defaults to -1 to enable buffering by default to match the " "behavior that most code expects. In versions prior to Python 3.2.4 and " @@ -750,7 +766,7 @@ msgstr "" "correspondait pas au comportement de Python 2 attendu par la plupart des " "codes." -#: library/subprocess.rst:465 +#: library/subprocess.rst:470 msgid "" "The *executable* argument specifies a replacement program to execute. It " "is very seldom needed. When ``shell=False``, *executable* replaces the " @@ -773,13 +789,13 @@ msgstr "" "``shell=True``, sur les systèmes POSIX, l'argument *executable* précise le " "*shell* à utiliser plutôt que :file:`/bin/sh` par défaut." -#: library/subprocess.rst:475 +#: library/subprocess.rst:480 msgid "*executable* parameter accepts a :term:`path-like object` on POSIX." msgstr "" "le paramètre *executable* accepte un :term:`objet chemin ` " "sur les systèmes POSIX." -#: library/subprocess.rst:478 +#: library/subprocess.rst:483 msgid "" "*executable* parameter accepts a bytes and :term:`path-like object` on " "Windows." @@ -787,7 +803,7 @@ msgstr "" "le paramètre *executable* accepte un objet *bytes* ou un :term:`objet chemin " "` sur Windows." -#: library/subprocess.rst:482 +#: library/subprocess.rst:487 #, fuzzy msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " @@ -815,7 +831,7 @@ msgstr "" "fils doivent être capturées dans le même descripteur de fichier que la " "sortie standard." -#: library/subprocess.rst:494 +#: library/subprocess.rst:499 msgid "" "If *preexec_fn* is set to a callable object, this object will be called in " "the child process just before the child is executed. (POSIX only)" @@ -823,7 +839,7 @@ msgstr "" "Si un objet appelable est passé à *preexec_fn*, cet objet sera appelé dans " "le processus enfant juste avant d'exécuter le programme. (POSIX seulement)" -#: library/subprocess.rst:500 +#: library/subprocess.rst:505 msgid "" "The *preexec_fn* parameter is not safe to use in the presence of threads in " "your application. The child process could deadlock before exec is called. " @@ -836,7 +852,7 @@ msgstr "" "ce paramètre, gardez son utilisation triviale ! Minimisez le nombre de " "bibliothèques que vous y appelez." -#: library/subprocess.rst:508 +#: library/subprocess.rst:513 msgid "" "If you need to modify the environment for the child use the *env* parameter " "rather than doing it in a *preexec_fn*. The *start_new_session* parameter " @@ -848,7 +864,7 @@ msgstr "" "*start_new_session* peut prendre la place de *preexec_fn* qui était " "autrefois communément utilisé pour appeler *os.setsid()* dans le fils." -#: library/subprocess.rst:515 +#: library/subprocess.rst:520 msgid "" "The *preexec_fn* parameter is no longer supported in subinterpreters. The " "use of the parameter in a subinterpreter raises :exc:`RuntimeError`. The new " @@ -860,7 +876,7 @@ msgstr "" "nouvelle restriction peut affecter les applications déployées avec " "*mod_wsgi*, *uWSGI* et d'autres environnements qui peuvent embarquer Python." -#: library/subprocess.rst:520 +#: library/subprocess.rst:525 msgid "" "If *close_fds* is true, all file descriptors except :const:`0`, :const:`1` " "and :const:`2` will be closed before the child process is executed. " @@ -873,7 +889,7 @@ msgstr "" "fichiers se comportent conformément à leur option d'héritage décrite dans :" "ref:`fd_inheritance`." -#: library/subprocess.rst:525 +#: library/subprocess.rst:530 msgid "" "On Windows, if *close_fds* is true then no handles will be inherited by the " "child process unless explicitly passed in the ``handle_list`` element of :" @@ -884,7 +900,7 @@ msgstr "" "``handle_list`` de :attr:`STARTUPINFO.lpAttributeList`, ou par redirection " "des descripteurs standards." -#: library/subprocess.rst:529 +#: library/subprocess.rst:534 msgid "" "The default for *close_fds* was changed from :const:`False` to what is " "described above." @@ -892,7 +908,7 @@ msgstr "" "La valeur par défaut de *close_fds* n'est plus :const:`False`, comme décrit " "ci-dessus." -#: library/subprocess.rst:533 +#: library/subprocess.rst:538 msgid "" "On Windows the default for *close_fds* was changed from :const:`False` to :" "const:`True` when redirecting the standard handles. It's now possible to set " @@ -903,7 +919,7 @@ msgstr "" "Il est maintenant possible de donner la valeur :const:`True` à *close_fds* " "lors d'une redirection de descripteurs standards." -#: library/subprocess.rst:538 +#: library/subprocess.rst:543 msgid "" "*pass_fds* is an optional sequence of file descriptors to keep open between " "the parent and child. Providing any *pass_fds* forces *close_fds* to be :" @@ -913,11 +929,11 @@ msgstr "" "ouverts entre le parent et l'enfant. Fournir *pass_fds* force *close_fds* à " "valoir :const:`True`. (POSIX seulement)" -#: library/subprocess.rst:542 +#: library/subprocess.rst:547 msgid "The *pass_fds* parameter was added." msgstr "Ajout du paramètre *pass_fds*." -#: library/subprocess.rst:545 +#: library/subprocess.rst:550 #, fuzzy msgid "" "If *cwd* is not ``None``, the function changes the working directory to " @@ -932,23 +948,23 @@ msgstr "" "particulier, la fonction recherche *executable* (ou le premier élément dans " "*args*) relativement à *cwd* si le chemin d'exécution est relatif." -#: library/subprocess.rst:551 +#: library/subprocess.rst:556 msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." msgstr "" "le paramètre *cwd* accepte un :term:`objet chemin ` sur " "les systèmes POSIX." -#: library/subprocess.rst:554 +#: library/subprocess.rst:559 msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." msgstr "" "le paramètre *cwd* accepte un :term:`objet chemin ` sur " "Windows." -#: library/subprocess.rst:557 +#: library/subprocess.rst:562 msgid "*cwd* parameter accepts a bytes object on Windows." msgstr "le paramètre *cwd* accepte une séquence d'octets sur Windows" -#: library/subprocess.rst:560 +#: library/subprocess.rst:565 msgid "" "If *restore_signals* is true (the default) all signals that Python has set " "to SIG_IGN are restored to SIG_DFL in the child process before the exec. " @@ -959,11 +975,11 @@ msgstr "" "l'appel à *exec*. Actuellement, cela inclut les signaux *SIGPIPE*, *SIGXFZ* " "et *SIGXFSZ*. (POSIX seulement)" -#: library/subprocess.rst:565 +#: library/subprocess.rst:570 msgid "*restore_signals* was added." msgstr "Ajout de *restore_signals*." -#: library/subprocess.rst:568 +#: library/subprocess.rst:573 msgid "" "If *start_new_session* is true the setsid() system call will be made in the " "child process prior to the execution of the subprocess. (POSIX only)" @@ -972,11 +988,11 @@ msgstr "" "dans le processus fils avant l'exécution du sous-processus. (POSIX " "seulement)" -#: library/subprocess.rst:571 +#: library/subprocess.rst:576 msgid "*start_new_session* was added." msgstr "Ajout de *start_new_session*." -#: library/subprocess.rst:574 +#: library/subprocess.rst:579 msgid "" "If *group* is not ``None``, the setregid() system call will be made in the " "child process prior to the execution of the subprocess. If the provided " @@ -985,12 +1001,12 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: library/subprocess.rst:589 library/subprocess.rst:604 +#: library/subprocess.rst:594 library/subprocess.rst:609 #, fuzzy msgid ":ref:`Availability `: POSIX" msgstr ":ref:`Disponibilité ` : POSIX et Windows." -#: library/subprocess.rst:583 +#: library/subprocess.rst:588 msgid "" "If *extra_groups* is not ``None``, the setgroups() system call will be made " "in the child process prior to the execution of the subprocess. Strings " @@ -999,7 +1015,7 @@ msgid "" "verbatim. (POSIX only)" msgstr "" -#: library/subprocess.rst:592 +#: library/subprocess.rst:597 msgid "" "If *user* is not ``None``, the setreuid() system call will be made in the " "child process prior to the execution of the subprocess. If the provided " @@ -1008,7 +1024,7 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: library/subprocess.rst:601 +#: library/subprocess.rst:606 #, fuzzy msgid "" "If *umask* is not negative, the umask() system call will be made in the " @@ -1018,7 +1034,7 @@ msgstr "" "dans le processus fils avant l'exécution du sous-processus. (POSIX " "seulement)" -#: library/subprocess.rst:607 +#: library/subprocess.rst:612 msgid "" "If *env* is not ``None``, it must be a mapping that defines the environment " "variables for the new process; these are used instead of the default " @@ -1029,7 +1045,7 @@ msgstr "" "à la place du comportement par défaut qui est d'hériter de l'environnement " "du processus courant." -#: library/subprocess.rst:613 +#: library/subprocess.rst:618 msgid "" "If specified, *env* must provide any variables required for the program to " "execute. On Windows, in order to run a `side-by-side assembly`_ the " @@ -1040,7 +1056,7 @@ msgstr "" "l'environnement *env* spécifié **doit** contenir une variable :envvar:" "`SystemRoot` valide." -#: library/subprocess.rst:619 +#: library/subprocess.rst:624 msgid "" "If *encoding* or *errors* are specified, or *text* is true, the file objects " "*stdin*, *stdout* and *stderr* are opened in text mode with the specified " @@ -1056,16 +1072,16 @@ msgstr "" "à *text*, est fourni pour la rétrocompatibilité. Autrement, ils sont ouverts " "comme des flux binaires." -#: library/subprocess.rst:625 +#: library/subprocess.rst:630 msgid "*encoding* and *errors* were added." msgstr "Ajout d'*encoding* et *errors*." -#: library/subprocess.rst:1229 +#: library/subprocess.rst:1234 msgid "*text* was added as a more readable alias for *universal_newlines*." msgstr "" "*text* a été ajouté comme un alias plus lisible de *universal_newlines*." -#: library/subprocess.rst:631 +#: library/subprocess.rst:636 msgid "" "If given, *startupinfo* will be a :class:`STARTUPINFO` object, which is " "passed to the underlying ``CreateProcess`` function. *creationflags*, if " @@ -1075,55 +1091,55 @@ msgstr "" "à la fonction ``CreateProcess`` inhérente. *creationflags*, si fourni, peut " "avoir l'une des valeurs suivantes :" -#: library/subprocess.rst:635 +#: library/subprocess.rst:640 msgid ":data:`CREATE_NEW_CONSOLE`" msgstr ":data:`CREATE_NEW_CONSOLE`" -#: library/subprocess.rst:636 +#: library/subprocess.rst:641 msgid ":data:`CREATE_NEW_PROCESS_GROUP`" msgstr ":data:`CREATE_NEW_PROCESS_GROUP`" -#: library/subprocess.rst:637 +#: library/subprocess.rst:642 msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" msgstr ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" -#: library/subprocess.rst:638 +#: library/subprocess.rst:643 msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" msgstr ":data:`BELOW_NORMAL_PRIORITY_CLASS`" -#: library/subprocess.rst:639 +#: library/subprocess.rst:644 msgid ":data:`HIGH_PRIORITY_CLASS`" msgstr ":data:`HIGH_PRIORITY_CLASS`" -#: library/subprocess.rst:640 +#: library/subprocess.rst:645 msgid ":data:`IDLE_PRIORITY_CLASS`" msgstr ":data:`IDLE_PRIORITY_CLASS`" -#: library/subprocess.rst:641 +#: library/subprocess.rst:646 msgid ":data:`NORMAL_PRIORITY_CLASS`" msgstr ":data:`NORMAL_PRIORITY_CLASS`" -#: library/subprocess.rst:642 +#: library/subprocess.rst:647 msgid ":data:`REALTIME_PRIORITY_CLASS`" msgstr ":data:`REALTIME_PRIORITY_CLASS`" -#: library/subprocess.rst:643 +#: library/subprocess.rst:648 msgid ":data:`CREATE_NO_WINDOW`" msgstr ":data:`CREATE_NO_WINDOW`" -#: library/subprocess.rst:644 +#: library/subprocess.rst:649 msgid ":data:`DETACHED_PROCESS`" msgstr ":data:`DETACHED_PROCESS`" -#: library/subprocess.rst:645 +#: library/subprocess.rst:650 msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" msgstr ":data:`CREATE_DEFAULT_ERROR_MODE`" -#: library/subprocess.rst:646 +#: library/subprocess.rst:651 msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" msgstr ":data:`CREATE_BREAKAWAY_FROM_JOB`" -#: library/subprocess.rst:648 +#: library/subprocess.rst:653 msgid "" "*pipesize* can be used to change the size of the pipe when :data:`PIPE` is " "used for *stdin*, *stdout* or *stderr*. The size of the pipe is only changed " @@ -1131,12 +1147,12 @@ msgid "" "platforms will ignore this parameter." msgstr "" -#: library/subprocess.rst:653 +#: library/subprocess.rst:658 #, fuzzy msgid "The ``pipesize`` parameter was added." msgstr "Ajout du paramètre *pass_fds*." -#: library/subprocess.rst:656 +#: library/subprocess.rst:661 msgid "" "Popen objects are supported as context managers via the :keyword:`with` " "statement: on exit, standard file descriptors are closed, and the process is " @@ -1146,7 +1162,7 @@ msgstr "" "l'instruction :keyword:`with` : à la sortie, les descripteurs de fichiers " "standards sont fermés, et le processus est attendu ::" -#: library/subprocess.rst:663 +#: library/subprocess.rst:668 msgid "" "Raises an :ref:`auditing event ` ``subprocess.Popen`` with " "arguments ``executable``, ``args``, ``cwd``, ``env``." @@ -1154,7 +1170,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``subprocess.Popen`` avec comme " "arguments ``executable``, ``args``, ``cwd`` et ``env``." -#: library/subprocess.rst:665 +#: library/subprocess.rst:670 msgid "" "Popen and the other functions in this module that use it raise an :ref:" "`auditing event ` ``subprocess.Popen`` with arguments " @@ -1167,11 +1183,11 @@ msgstr "" "être une simple chaîne de caractères ou une liste de chaînes, en fonction de " "la plateforme." -#: library/subprocess.rst:670 +#: library/subprocess.rst:675 msgid "Added context manager support." msgstr "Ajout de la gestion des gestionnaires de contexte." -#: library/subprocess.rst:673 +#: library/subprocess.rst:678 msgid "" "Popen destructor now emits a :exc:`ResourceWarning` warning if the child " "process is still running." @@ -1179,7 +1195,7 @@ msgstr "" "Le destructeur de *Popen* émet maintenant un avertissement :exc:" "`ResourceWarning` si le processus fils est toujours en cours d'exécution." -#: library/subprocess.rst:677 +#: library/subprocess.rst:682 msgid "" "Popen can use :func:`os.posix_spawn` in some cases for better performance. " "On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor " @@ -1194,11 +1210,11 @@ msgstr "" "manquant, mais le processus enfant échoue avec un :attr:`~Popen.returncode` " "différent de zéro." -#: library/subprocess.rst:686 +#: library/subprocess.rst:691 msgid "Exceptions" msgstr "Exceptions" -#: library/subprocess.rst:688 +#: library/subprocess.rst:693 msgid "" "Exceptions raised in the child process, before the new program has started " "to execute, will be re-raised in the parent." @@ -1206,7 +1222,7 @@ msgstr "" "Les exceptions levées dans le processus fils, avant que le nouveau programme " "ait commencé à s'exécuter, seront ré-levées dans le parent." -#: library/subprocess.rst:691 +#: library/subprocess.rst:696 msgid "" "The most common exception raised is :exc:`OSError`. This occurs, for " "example, when trying to execute a non-existent file. Applications should " @@ -1217,7 +1233,7 @@ msgid "" "subprocess." msgstr "" -#: library/subprocess.rst:698 +#: library/subprocess.rst:703 msgid "" "A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " "arguments." @@ -1225,7 +1241,7 @@ msgstr "" "Une :exc:`ValueError` sera levée si :class:`Popen` est appelé avec des " "arguments invalides." -#: library/subprocess.rst:701 +#: library/subprocess.rst:706 msgid "" ":func:`check_call` and :func:`check_output` will raise :exc:" "`CalledProcessError` if the called process returns a non-zero return code." @@ -1234,7 +1250,7 @@ msgstr "" "`CalledProcessError` si le processus appelé renvoie un code de retour non " "nul." -#: library/subprocess.rst:705 +#: library/subprocess.rst:710 msgid "" "All of the functions and methods that accept a *timeout* parameter, such as :" "func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " @@ -1244,22 +1260,22 @@ msgstr "" "telles que :func:`call` et :meth:`Popen.communicate` lèveront une :exc:" "`TImeoutExpired` si le *timeout* expire avant la fin du processus." -#: library/subprocess.rst:709 +#: library/subprocess.rst:714 msgid "" "Exceptions defined in this module all inherit from :exc:`SubprocessError`." msgstr "" "Toutes les exceptions définies dans ce module héritent de :exc:" "`SubprocessError`." -#: library/subprocess.rst:711 +#: library/subprocess.rst:716 msgid "The :exc:`SubprocessError` base class was added." msgstr "Ajout de la classe de base :exc:`SubprocessError`." -#: library/subprocess.rst:717 +#: library/subprocess.rst:722 msgid "Security Considerations" msgstr "Considérations de sécurité" -#: library/subprocess.rst:719 +#: library/subprocess.rst:724 #, fuzzy msgid "" "Unlike some other popen functions, this implementation will never implicitly " @@ -1281,16 +1297,16 @@ msgstr "" "correctement pour éviter les vulnérabilités de type `shell injection " "`_." -#: library/subprocess.rst:731 +#: library/subprocess.rst:736 msgid "Popen Objects" msgstr "Objets *Popen*" -#: library/subprocess.rst:733 +#: library/subprocess.rst:738 msgid "Instances of the :class:`Popen` class have the following methods:" msgstr "" "Les instances de la classe :class:`Popen` possèdent les méthodes suivantes :" -#: library/subprocess.rst:738 +#: library/subprocess.rst:743 msgid "" "Check if child process has terminated. Set and return :attr:`~Popen." "returncode` attribute. Otherwise, returns ``None``." @@ -1298,7 +1314,7 @@ msgstr "" "Vérifie que le processus enfant s'est terminé. Modifie et renvoie " "l'attribut :attr:`~Popen.returncode`, sinon, renvoie ``None``." -#: library/subprocess.rst:744 +#: library/subprocess.rst:749 msgid "" "Wait for child process to terminate. Set and return :attr:`~Popen." "returncode` attribute." @@ -1306,7 +1322,7 @@ msgstr "" "Attend qu'un processus enfant se termine. Modifie l'attribut :attr:`~Popen." "returncode` et le renvoie." -#: library/subprocess.rst:747 +#: library/subprocess.rst:752 msgid "" "If the process does not terminate after *timeout* seconds, raise a :exc:" "`TimeoutExpired` exception. It is safe to catch this exception and retry " @@ -1316,7 +1332,7 @@ msgstr "" "*timeout*, une exception :exc:`TimeoutExpired` est levée. Cela ne pose " "aucun problème d'attraper cette exception et de réessayer d'attendre." -#: library/subprocess.rst:753 +#: library/subprocess.rst:758 msgid "" "This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " "child process generates enough output to a pipe such that it blocks waiting " @@ -1330,7 +1346,7 @@ msgstr "" "Utilisez :meth:`Popen.communicate` pour éviter ce problème lors de " "l'utilisation de tubes." -#: library/subprocess.rst:760 +#: library/subprocess.rst:765 msgid "" "The function is implemented using a busy loop (non-blocking call and short " "sleeps). Use the :mod:`asyncio` module for an asynchronous wait: see :class:" @@ -1340,12 +1356,12 @@ msgstr "" "et *sleep* courts). Utilisez le module :mod:`asyncio` pour une attente " "asynchrone : voir :class:`asyncio.create_subprocess_exec`." -#: library/subprocess.rst:805 library/subprocess.rst:1174 -#: library/subprocess.rst:1220 +#: library/subprocess.rst:810 library/subprocess.rst:1179 +#: library/subprocess.rst:1225 msgid "*timeout* was added." msgstr "Ajout de *timeout*." -#: library/subprocess.rst:769 +#: library/subprocess.rst:774 #, fuzzy msgid "" "Interact with process: Send data to stdin. Read data from stdout and " @@ -1362,7 +1378,7 @@ msgstr "" "transmettre. Si les flux sont ouverts en mode texte, *input* doit être une " "chaîne de caractère. Autrement, ce doit être un objet *bytes*." -#: library/subprocess.rst:776 +#: library/subprocess.rst:781 msgid "" ":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``. The data " "will be strings if streams were opened in text mode; otherwise, bytes." @@ -1371,7 +1387,7 @@ msgstr "" "données seront des chaînes de caractères si les flux sont ouverts en mode " "texte, et des objets *bytes* dans le cas contraire." -#: library/subprocess.rst:780 +#: library/subprocess.rst:785 msgid "" "Note that if you want to send data to the process's stdin, you need to " "create the Popen object with ``stdin=PIPE``. Similarly, to get anything " @@ -1383,7 +1399,7 @@ msgstr "" "Similairement, pour obtenir autre chose que ``None`` dans le *n*-uplet " "résultant, vous devez aussi préciser ``stdout=PIPE`` et/ou ``stderr=PIPE``." -#: library/subprocess.rst:785 +#: library/subprocess.rst:790 msgid "" "If the process does not terminate after *timeout* seconds, a :exc:" "`TimeoutExpired` exception will be raised. Catching this exception and " @@ -1393,7 +1409,7 @@ msgstr "" "exc:`TimeoutExpired` est levée. Attraper cette exception et retenter la " "communication ne fait perdre aucune donnée de sortie." -#: library/subprocess.rst:789 +#: library/subprocess.rst:794 msgid "" "The child process is not killed if the timeout expires, so in order to " "cleanup properly a well-behaved application should kill the child process " @@ -1403,7 +1419,7 @@ msgstr "" "nettoyer proprement le tout, une application polie devrait tuer le processus " "fils et terminer la communication ::" -#: library/subprocess.rst:802 +#: library/subprocess.rst:807 msgid "" "The data read is buffered in memory, so do not use this method if the data " "size is large or unlimited." @@ -1411,15 +1427,15 @@ msgstr "" "Les données lues sont mises en cache en mémoire, donc n'utilisez pas cette " "méthode si la taille des données est importante voire illimitée." -#: library/subprocess.rst:811 +#: library/subprocess.rst:816 msgid "Sends the signal *signal* to the child." msgstr "Envoie le signal *signal* au fils." -#: library/subprocess.rst:813 +#: library/subprocess.rst:818 msgid "Do nothing if the process completed." msgstr "" -#: library/subprocess.rst:817 +#: library/subprocess.rst:822 msgid "" "On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and " "CTRL_BREAK_EVENT can be sent to processes started with a *creationflags* " @@ -1429,7 +1445,7 @@ msgstr "" "et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un " "paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`." -#: library/subprocess.rst:824 +#: library/subprocess.rst:829 msgid "" "Stop the child. On POSIX OSs the method sends SIGTERM to the child. On " "Windows the Win32 API function :c:func:`TerminateProcess` is called to stop " @@ -1439,7 +1455,7 @@ msgstr "" "signal *SIGTERM* au fils. Sous Windows, la fonction :c:func:" "`TerminateProcess` de l'API *Win32* est appelée pour arrêter le fils." -#: library/subprocess.rst:831 +#: library/subprocess.rst:836 msgid "" "Kills the child. On POSIX OSs the function sends SIGKILL to the child. On " "Windows :meth:`kill` is an alias for :meth:`terminate`." @@ -1448,11 +1464,11 @@ msgstr "" "*SIGKILL* au fils. Sous Windows, :meth:`kill` est un alias pour :meth:" "`terminate`." -#: library/subprocess.rst:835 +#: library/subprocess.rst:840 msgid "The following attributes are also available:" msgstr "Les attributs suivants sont aussi disponibles :" -#: library/subprocess.rst:839 +#: library/subprocess.rst:844 msgid "" "The *args* argument as it was passed to :class:`Popen` -- a sequence of " "program arguments or else a single string." @@ -1460,7 +1476,7 @@ msgstr "" "L'argument *args* tel que passé à :class:`Popen` -- une séquence d'arguments " "du programme ou une simple chaîne de caractères." -#: library/subprocess.rst:846 +#: library/subprocess.rst:851 msgid "" "If the *stdin* argument was :data:`PIPE`, this attribute is a writeable " "stream object as returned by :func:`open`. If the *encoding* or *errors* " @@ -1474,7 +1490,7 @@ msgstr "" "``True``, le flux est textuel, il est autrement binaire. Si l'argument " "*stdin* ne valait pas :data:`PIPE`, cet attribut est ``None``." -#: library/subprocess.rst:855 +#: library/subprocess.rst:860 msgid "" "If the *stdout* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " @@ -1490,7 +1506,7 @@ msgstr "" "textuel, il est autrement binaire. Si l'argument *stdout* ne valait pas :" "data:`PIPE`, cet attribut est ``None``." -#: library/subprocess.rst:865 +#: library/subprocess.rst:870 msgid "" "If the *stderr* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " @@ -1506,7 +1522,7 @@ msgstr "" "flux est textuel, il est autrement binaire. Si l'argument *stderr* ne valait " "pas :data:`PIPE`, cet attribut est ``None``." -#: library/subprocess.rst:874 +#: library/subprocess.rst:879 msgid "" "Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write `, :attr:`.stdout.read ` or :attr:`.stderr.read ` pour empêcher les *deadlocks* dus au remplissage des tampons des " "tubes de l'OS et bloquant le processus enfant." -#: library/subprocess.rst:882 +#: library/subprocess.rst:887 msgid "The process ID of the child process." msgstr "L'identifiant de processus du processus enfant." -#: library/subprocess.rst:884 +#: library/subprocess.rst:889 msgid "" "Note that if you set the *shell* argument to ``True``, this is the process " "ID of the spawned shell." @@ -1530,7 +1546,7 @@ msgstr "" "Notez que si vous passez l'argument *shell* à ``True``, il s'agit alors de " "l'identifiant du *shell* instancié." -#: library/subprocess.rst:890 +#: library/subprocess.rst:895 msgid "" "The child return code, set by :meth:`poll` and :meth:`wait` (and indirectly " "by :meth:`communicate`). A ``None`` value indicates that the process hasn't " @@ -1540,11 +1556,11 @@ msgstr "" "indirectement par :meth:`communicate`). Une valeur ``None`` indique que le " "processus ne s'est pas encore terminé." -#: library/subprocess.rst:899 +#: library/subprocess.rst:904 msgid "Windows Popen Helpers" msgstr "Utilitaires *Popen* pour Windows" -#: library/subprocess.rst:901 +#: library/subprocess.rst:906 msgid "" "The :class:`STARTUPINFO` class and following constants are only available on " "Windows." @@ -1552,7 +1568,7 @@ msgstr "" "La classe :class:`STARTUPINFO` et les constantes suivantes sont seulement " "disponibles sous Windows." -#: library/subprocess.rst:907 +#: library/subprocess.rst:912 msgid "" "Partial support of the Windows `STARTUPINFO `__ structure is used for :class:`Popen` " @@ -1564,11 +1580,11 @@ msgstr "" "création d'un objet :class:`Popen`. Les attributs ci-dessous peuvent être " "passés en tant que paramètres *keyword-only*." -#: library/subprocess.rst:912 +#: library/subprocess.rst:917 msgid "Keyword-only argument support was added." msgstr "Ajout de la gestion des paramètres *keyword-only*." -#: library/subprocess.rst:917 +#: library/subprocess.rst:922 msgid "" "A bit field that determines whether certain :class:`STARTUPINFO` attributes " "are used when the process creates a window. ::" @@ -1576,7 +1592,7 @@ msgstr "" "Un champ de bits déterminant si certains attributs :class:`STARTUPINFO` sont " "utilisés quand le processus crée une fenêtre ::" -#: library/subprocess.rst:925 +#: library/subprocess.rst:930 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard input handle for the process. If :data:`STARTF_USESTDHANDLES` " @@ -1587,7 +1603,7 @@ msgstr "" "`STARTF_USESTDHANDLES` n'est pas spécifié, l'entrée standard par défaut est " "le tampon du clavier." -#: library/subprocess.rst:932 +#: library/subprocess.rst:937 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard output handle for the process. Otherwise, this attribute is " @@ -1597,7 +1613,7 @@ msgstr "" "le descripteur de sortie standard du processus. Autrement, l'attribut est " "ignoré et la sortie standard par défaut est le tampon de la console." -#: library/subprocess.rst:939 +#: library/subprocess.rst:944 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard error handle for the process. Otherwise, this attribute is " @@ -1607,7 +1623,7 @@ msgstr "" "le descripteur de sortie d'erreur du processus. Autrement, l'attribut est " "ignoré et la sortie d'erreur par défaut est le tampon de la console." -#: library/subprocess.rst:945 +#: library/subprocess.rst:950 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " "can be any of the values that can be specified in the ``nCmdShow`` parameter " @@ -1621,7 +1637,7 @@ msgstr "" "ms633548(v=vs.85).aspx>`__, à l'exception de ``SW_SHOWDEFAULT``. Autrement, " "cet attribut est ignoré." -#: library/subprocess.rst:952 +#: library/subprocess.rst:957 msgid "" ":data:`SW_HIDE` is provided for this attribute. It is used when :class:" "`Popen` is called with ``shell=True``." @@ -1629,7 +1645,7 @@ msgstr "" ":data:`SW_HIDE` est fourni pour cet attribut. Il est utilisé quand :class:" "`Popen` est appelée avec ``shell=True``." -#: library/subprocess.rst:957 +#: library/subprocess.rst:962 msgid "" "A dictionary of additional attributes for process creation as given in " "``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__ (ressource en anglais)." -#: library/subprocess.rst:961 +#: library/subprocess.rst:966 msgid "Supported attributes:" msgstr "Attributs gérés :" -#: library/subprocess.rst:979 +#: library/subprocess.rst:984 msgid "**handle_list**" msgstr "**handle_list**" -#: library/subprocess.rst:964 +#: library/subprocess.rst:969 msgid "" "Sequence of handles that will be inherited. *close_fds* must be true if non-" "empty." @@ -1656,7 +1672,7 @@ msgstr "" "Séquence des descripteurs qui hérités du parent. *close_fds* doit être vrai " "si la séquence n'est pas vide." -#: library/subprocess.rst:967 +#: library/subprocess.rst:972 msgid "" "The handles must be temporarily made inheritable by :func:`os." "set_handle_inheritable` when passed to the :class:`Popen` constructor, else :" @@ -1668,7 +1684,7 @@ msgstr "" "`Popen`, sinon :class:`OSError` est levée avec l'erreur Windows " "``ERROR_INVALID_PARAMETER`` (87)." -#: library/subprocess.rst:974 +#: library/subprocess.rst:979 msgid "" "In a multithreaded process, use caution to avoid leaking handles that are " "marked inheritable when combining this feature with concurrent calls to " @@ -1682,15 +1698,15 @@ msgstr "" "d'autres processus qui héritent de tous les descripteurs (telle que :func:" "`os.system`)." -#: library/subprocess.rst:984 +#: library/subprocess.rst:989 msgid "Windows Constants" msgstr "Constantes Windows" -#: library/subprocess.rst:986 +#: library/subprocess.rst:991 msgid "The :mod:`subprocess` module exposes the following constants." msgstr "Le module :mod:`subprocess` expose les constantes suivantes." -#: library/subprocess.rst:990 +#: library/subprocess.rst:995 msgid "" "The standard input device. Initially, this is the console input buffer, " "``CONIN$``." @@ -1698,7 +1714,7 @@ msgstr "" "Le périphérique d'entrée standard. Initialement, il s'agit du tampon de la " "console d'entrée, ``CONIN$``." -#: library/subprocess.rst:995 +#: library/subprocess.rst:1000 msgid "" "The standard output device. Initially, this is the active console screen " "buffer, ``CONOUT$``." @@ -1706,7 +1722,7 @@ msgstr "" "Le périphérique de sortie standard. Initialement, il s'agit du tampon de " "l'écran de console actif, ``CONOUT$``." -#: library/subprocess.rst:1000 +#: library/subprocess.rst:1005 msgid "" "The standard error device. Initially, this is the active console screen " "buffer, ``CONOUT$``." @@ -1714,11 +1730,11 @@ msgstr "" "Le périphérique de sortie d'erreur. Initialement, il s'agit du tampon de " "l'écran de console actif, ``CONOUT$``." -#: library/subprocess.rst:1005 +#: library/subprocess.rst:1010 msgid "Hides the window. Another window will be activated." msgstr "Cache la fenêtre. Une autre fenêtre sera activée." -#: library/subprocess.rst:1009 +#: library/subprocess.rst:1014 msgid "" "Specifies that the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." "hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes contain additional " @@ -1728,7 +1744,7 @@ msgstr "" "hStdOutput` et :attr:`STARTUPINFO.hStdError` contiennent des informations " "additionnelles." -#: library/subprocess.rst:1015 +#: library/subprocess.rst:1020 msgid "" "Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " "additional information." @@ -1736,7 +1752,7 @@ msgstr "" "Spécifie que l'attribut :attr:`STARTUPINFO.wShowWindow` contient des " "informations additionnelles." -#: library/subprocess.rst:1020 +#: library/subprocess.rst:1025 msgid "" "The new process has a new console, instead of inheriting its parent's " "console (the default)." @@ -1744,7 +1760,7 @@ msgstr "" "Le nouveau processus instancie une nouvelle console, plutôt que d'hériter de " "celle de son père (par défaut)." -#: library/subprocess.rst:1025 +#: library/subprocess.rst:1030 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "group will be created. This flag is necessary for using :func:`os.kill` on " @@ -1754,11 +1770,11 @@ msgstr "" "groupe de processus doit être créé. Cette option est nécessaire pour " "utiliser :func:`os.kill` sur le sous-processus." -#: library/subprocess.rst:1029 +#: library/subprocess.rst:1034 msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." msgstr "L'option est ignorée si :data:`CREATE_NEW_CONSOLE` est spécifié." -#: library/subprocess.rst:1033 +#: library/subprocess.rst:1038 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an above average priority." @@ -1766,7 +1782,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité au-dessus de la moyenne." -#: library/subprocess.rst:1040 +#: library/subprocess.rst:1045 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a below average priority." @@ -1774,7 +1790,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité au-dessous de la moyenne." -#: library/subprocess.rst:1047 +#: library/subprocess.rst:1052 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a high priority." @@ -1782,7 +1798,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité haute." -#: library/subprocess.rst:1054 +#: library/subprocess.rst:1059 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an idle (lowest) priority." @@ -1790,7 +1806,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura la priorité la plus basse (inactif ou *idle*)." -#: library/subprocess.rst:1061 +#: library/subprocess.rst:1066 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an normal priority. (default)" @@ -1798,7 +1814,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité normale (le défaut)." -#: library/subprocess.rst:1068 +#: library/subprocess.rst:1073 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have realtime priority. You should almost never use " @@ -1815,7 +1831,7 @@ msgstr "" "applications qui « parlent » directement au matériel ou qui effectuent de " "brèves tâches nécessitant des interruptions limitées." -#: library/subprocess.rst:1079 +#: library/subprocess.rst:1084 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not create a window." @@ -1823,7 +1839,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "ne créera pas une nouvelle fenêtre." -#: library/subprocess.rst:1086 +#: library/subprocess.rst:1091 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not inherit its parent's console. This value cannot be used with " @@ -1833,7 +1849,7 @@ msgstr "" "processus n'héritera pas de la console du processus parent. Cette valeur ne " "peut pas être utilisée avec CREATE_NEW_CONSOLE." -#: library/subprocess.rst:1094 +#: library/subprocess.rst:1099 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "does not inherit the error mode of the calling process. Instead, the new " @@ -1847,7 +1863,7 @@ msgstr "" "de multiples fils d'exécution qui s'exécutent avec les erreurs irréversibles " "désactivées." -#: library/subprocess.rst:1104 +#: library/subprocess.rst:1109 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "is not associated with the job." @@ -1855,11 +1871,11 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "n'est pas associé au *job*." -#: library/subprocess.rst:1112 +#: library/subprocess.rst:1117 msgid "Older high-level API" msgstr "Ancienne interface (*API*) haut-niveau" -#: library/subprocess.rst:1114 +#: library/subprocess.rst:1119 msgid "" "Prior to Python 3.5, these three functions comprised the high level API to " "subprocess. You can now use :func:`run` in many cases, but lots of existing " @@ -1869,7 +1885,7 @@ msgstr "" "*subprocess*. Vous pouvez maintenant utiliser :func:`run` dans de nombreux " "cas, mais beaucoup de codes existant font appel à ces trois fonctions." -#: library/subprocess.rst:1121 +#: library/subprocess.rst:1126 msgid "" "Run the command described by *args*. Wait for command to complete, then " "return the :attr:`~Popen.returncode` attribute." @@ -1877,18 +1893,18 @@ msgstr "" "Lance la commande décrite par *args*, attend qu'elle se termine, et renvoie " "son attribut :attr:`~Popen.returncode`." -#: library/subprocess.rst:1156 +#: library/subprocess.rst:1161 msgid "" "Code needing to capture stdout or stderr should use :func:`run` instead::" msgstr "" "Le code ayant besoin de capturer *stdout* ou *stderr* doit plutôt utiliser ::" "func:`run` ::" -#: library/subprocess.rst:1160 +#: library/subprocess.rst:1165 msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." msgstr "Pour supprimer *stdout* ou *stderr*, passez la valeur :data:`DEVNULL`." -#: library/subprocess.rst:1162 +#: library/subprocess.rst:1167 msgid "" "The arguments shown above are merely some common ones. The full function " "signature is the same as that of the :class:`Popen` constructor - this " @@ -1900,7 +1916,7 @@ msgstr "" "class:`Popen` : cette fonction passe tous les arguments fournis autre que " "*timeout* directement à travers cette interface." -#: library/subprocess.rst:1169 +#: library/subprocess.rst:1174 msgid "" "Do not use ``stdout=PIPE`` or ``stderr=PIPE`` with this function. The child " "process will block if it generates enough output to a pipe to fill up the OS " @@ -1910,7 +1926,7 @@ msgstr "" "processus enfant bloquera s'il génère assez de données pour remplir le " "tampon du tube de l'OS, puisque les tubes ne seront jamais lus." -#: library/subprocess.rst:1149 +#: library/subprocess.rst:1154 #, fuzzy msgid "" "Run command with arguments. Wait for command to complete. If the return " @@ -1924,11 +1940,11 @@ msgstr "" "`CalledProcessError` autrement. L'objet :exc:`CalledProcessError` contiendra " "le code de retour dans son attribut :attr:`~CalledProcessError.returncode`." -#: library/subprocess.rst:1183 +#: library/subprocess.rst:1188 msgid "Run command with arguments and return its output." msgstr "Lance la commande avec les arguments et renvoie sa sortie." -#: library/subprocess.rst:1185 +#: library/subprocess.rst:1190 msgid "" "If the return code was non-zero it raises a :exc:`CalledProcessError`. The :" "exc:`CalledProcessError` object will have the return code in the :attr:" @@ -1940,11 +1956,11 @@ msgstr "" "de retour dans son attribut :attr:`~CalledProcessError.returncode`, et la " "sortie du programme dans son attribut :attr:`~CalledProcessError.output`." -#: library/subprocess.rst:1190 +#: library/subprocess.rst:1195 msgid "This is equivalent to::" msgstr "C’est équivalent à ::" -#: library/subprocess.rst:1194 +#: library/subprocess.rst:1199 #, fuzzy msgid "" "The arguments shown above are merely some common ones. The full function " @@ -1960,7 +1976,7 @@ msgstr "" "Cependant, passer explicitement ``input=None`` pour hériter du descripteur " "d'entrée standard du parent n'est pas géré." -#: library/subprocess.rst:1201 +#: library/subprocess.rst:1206 msgid "" "By default, this function will return the data as encoded bytes. The actual " "encoding of the output data may depend on the command being invoked, so the " @@ -1971,7 +1987,7 @@ msgstr "" "invoquée, donc le décodage du texte devra souvent être géré au niveau de " "l'application." -#: library/subprocess.rst:1205 +#: library/subprocess.rst:1210 msgid "" "This behaviour may be overridden by setting *text*, *encoding*, *errors*, or " "*universal_newlines* to ``True`` as described in :ref:`frequently-used-" @@ -1981,7 +1997,7 @@ msgstr "" "ou *universal_newlines* à ``True`` comme décrit dans :ref:`frequently-used-" "arguments` et :func:`run`." -#: library/subprocess.rst:1209 +#: library/subprocess.rst:1214 msgid "" "To also capture standard error in the result, use ``stderr=subprocess." "STDOUT``::" @@ -1989,21 +2005,21 @@ msgstr "" "Pour capturer aussi la sortie d'erreur dans le résultat, utilisez " "``stderr=subprocess.STDOUT`` ::" -#: library/subprocess.rst:1223 +#: library/subprocess.rst:1228 msgid "Support for the *input* keyword argument was added." msgstr "Ajout de la gestion de l'argument nommé *input*." -#: library/subprocess.rst:1226 +#: library/subprocess.rst:1231 msgid "*encoding* and *errors* were added. See :func:`run` for details." msgstr "" "Ajout d'*encoding* et *errors*. Consultez :func:`run` pour plus " "d'informations." -#: library/subprocess.rst:1236 +#: library/subprocess.rst:1241 msgid "Replacing Older Functions with the :mod:`subprocess` Module" msgstr "Remplacer les fonctions plus anciennes par le module :mod:`subprocess`" -#: library/subprocess.rst:1238 +#: library/subprocess.rst:1243 msgid "" "In this section, \"a becomes b\" means that b can be used as a replacement " "for a." @@ -2011,7 +2027,7 @@ msgstr "" "Dans cette section, « a devient b » signifie que b peut être utilisée en " "remplacement de a." -#: library/subprocess.rst:1242 +#: library/subprocess.rst:1247 msgid "" "All \"a\" functions in this section fail (more or less) silently if the " "executed program cannot be found; the \"b\" replacements raise :exc:" @@ -2021,7 +2037,7 @@ msgstr "" "silencieusement si le programme à exécuter ne peut être trouvé ; les " "fonctions « b » de remplacement lèvent à la place une :exc:`OSError`." -#: library/subprocess.rst:1246 +#: library/subprocess.rst:1251 msgid "" "In addition, the replacements using :func:`check_output` will fail with a :" "exc:`CalledProcessError` if the requested operation produces a non-zero " @@ -2033,7 +2049,7 @@ msgstr "" "retour non-nul. La sortie est toujours disponible par l'attribut :attr:" "`~CalledProcessError.output` de l'exception levée." -#: library/subprocess.rst:1251 +#: library/subprocess.rst:1256 msgid "" "In the following examples, we assume that the relevant functions have " "already been imported from the :mod:`subprocess` module." @@ -2041,20 +2057,20 @@ msgstr "" "Dans les exemples suivants, nous supposons que les fonctions utilisées ont " "déjà été importées depuis le module :mod:`subprocess`." -#: library/subprocess.rst:1256 +#: library/subprocess.rst:1261 msgid "Replacing :program:`/bin/sh` shell command substitution" msgstr "" "Remplacement de la substitution de commandes de terminal :program:`/bin/sh`" -#: library/subprocess.rst:1273 library/subprocess.rst:1290 +#: library/subprocess.rst:1278 library/subprocess.rst:1295 msgid "becomes::" msgstr "devient ::" -#: library/subprocess.rst:1267 +#: library/subprocess.rst:1272 msgid "Replacing shell pipeline" msgstr "Remplacer les *pipes* du *shell*" -#: library/subprocess.rst:1280 +#: library/subprocess.rst:1285 msgid "" "The ``p1.stdout.close()`` call after starting the p2 is important in order " "for p1 to receive a SIGPIPE if p2 exits before p1." @@ -2062,7 +2078,7 @@ msgstr "" "L'appel à ``p1.stdout.close()`` après le démarrage de *p2* est important " "pour que *p1* reçoive un *SIGPIPE* si *p2* se termine avant lui." -#: library/subprocess.rst:1283 +#: library/subprocess.rst:1288 msgid "" "Alternatively, for trusted input, the shell's own pipeline support may still " "be used directly:" @@ -2070,69 +2086,69 @@ msgstr "" "Alternativement, pour des entrées fiables, la gestion des tubes du *shell* " "peut directement être utilisé :" -#: library/subprocess.rst:1296 +#: library/subprocess.rst:1301 msgid "Replacing :func:`os.system`" msgstr "Remplacer :func:`os.system`" -#: library/subprocess.rst:1304 +#: library/subprocess.rst:1309 msgid "Notes:" msgstr "Notes :" -#: library/subprocess.rst:1306 +#: library/subprocess.rst:1311 msgid "Calling the program through the shell is usually not required." msgstr "" "Appeler le programme à travers un *shell* n'est habituellement pas requis." -#: library/subprocess.rst:1307 +#: library/subprocess.rst:1312 msgid "" "The :func:`call` return value is encoded differently to that of :func:`os." "system`." msgstr "" -#: library/subprocess.rst:1310 +#: library/subprocess.rst:1315 msgid "" "The :func:`os.system` function ignores SIGINT and SIGQUIT signals while the " "command is running, but the caller must do this separately when using the :" "mod:`subprocess` module." msgstr "" -#: library/subprocess.rst:1314 +#: library/subprocess.rst:1319 msgid "A more realistic example would look like this::" msgstr "Un exemple plus réaliste ressemblerait à cela ::" -#: library/subprocess.rst:1327 +#: library/subprocess.rst:1332 msgid "Replacing the :func:`os.spawn ` family" msgstr "Remplacer les fonctions de la famille :func:`os.spawn `" -#: library/subprocess.rst:1329 +#: library/subprocess.rst:1334 msgid "P_NOWAIT example::" msgstr "Exemple avec *P_NOWAIT* ::" -#: library/subprocess.rst:1335 +#: library/subprocess.rst:1340 msgid "P_WAIT example::" msgstr "Exemple avec *P_WAIT* ::" -#: library/subprocess.rst:1341 +#: library/subprocess.rst:1346 msgid "Vector example::" msgstr "Exemple avec un tableau ::" -#: library/subprocess.rst:1347 +#: library/subprocess.rst:1352 msgid "Environment example::" msgstr "Exemple en passant un environnement ::" -#: library/subprocess.rst:1356 +#: library/subprocess.rst:1361 msgid "Replacing :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" msgstr "Remplacer :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" -#: library/subprocess.rst:1386 +#: library/subprocess.rst:1391 msgid "Return code handling translates as follows::" msgstr "La gestion du code de retour se traduit comme suit ::" -#: library/subprocess.rst:1402 +#: library/subprocess.rst:1407 msgid "Replacing functions from the :mod:`popen2` module" msgstr "Remplacer les fonctions du module :mod:`popen2`" -#: library/subprocess.rst:1406 +#: library/subprocess.rst:1411 msgid "" "If the cmd argument to popen2 functions is a string, the command is executed " "through /bin/sh. If it is a list, the command is directly executed." @@ -2141,7 +2157,7 @@ msgstr "" "la commande est exécutée à travers */bin/sh*. Si c'est une liste, la " "commande est directement exécutée." -#: library/subprocess.rst:1425 +#: library/subprocess.rst:1430 msgid "" ":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work as :class:" "`subprocess.Popen`, except that:" @@ -2149,19 +2165,19 @@ msgstr "" ":class:`popen2.Popen3` et :class:`popen2.Popen4` fonctionnent basiquement " "comme :class:`subprocess.Popen`, excepté que :" -#: library/subprocess.rst:1428 +#: library/subprocess.rst:1433 msgid ":class:`Popen` raises an exception if the execution fails." msgstr ":class:`Popen` lève une exception si l'exécution échoue." -#: library/subprocess.rst:1430 +#: library/subprocess.rst:1435 msgid "The *capturestderr* argument is replaced with the *stderr* argument." msgstr "L'argument *capturestderr* est remplacé par *stderr*." -#: library/subprocess.rst:1432 +#: library/subprocess.rst:1437 msgid "``stdin=PIPE`` and ``stdout=PIPE`` must be specified." msgstr "``stdin=PIPE`` et ``stdout=PIPE`` doivent être spécifiés." -#: library/subprocess.rst:1434 +#: library/subprocess.rst:1439 msgid "" "popen2 closes all file descriptors by default, but you have to specify " "``close_fds=True`` with :class:`Popen` to guarantee this behavior on all " @@ -2171,11 +2187,11 @@ msgstr "" "spécifier ``close_fds=True`` avec :class:`Popen` pour garantir ce " "comportement sur toutes les plateformes ou les anciennes versions de Python." -#: library/subprocess.rst:1440 +#: library/subprocess.rst:1445 msgid "Legacy Shell Invocation Functions" msgstr "Remplacement des fonctions originales d'invocation du *shell*" -#: library/subprocess.rst:1442 +#: library/subprocess.rst:1447 msgid "" "This module also provides the following legacy functions from the 2.x " "``commands`` module. These operations implicitly invoke the system shell and " @@ -2187,13 +2203,13 @@ msgstr "" "*shell* du système et n'apportent aucune des garanties décrites ci-dessus " "par rapport à la sécurité ou la cohérence de la gestion des exceptions." -#: library/subprocess.rst:1449 +#: library/subprocess.rst:1454 msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." msgstr "" "Renvoie les valeurs ``(exitcode, output)`` de l'exécution de *cmd* dans un " "*shell*." -#: library/subprocess.rst:1451 +#: library/subprocess.rst:1456 msgid "" "Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " "return a 2-tuple ``(exitcode, output)``. The locale encoding is used; see " @@ -2204,7 +2220,7 @@ msgstr "" "les notes de la section :ref:`frequently-used-arguments` pour plus de " "détails." -#: library/subprocess.rst:1455 +#: library/subprocess.rst:1460 msgid "" "A trailing newline is stripped from the output. The exit code for the " "command can be interpreted as the return code of subprocess. Example::" @@ -2213,15 +2229,15 @@ msgstr "" "supprimé. Le code de statut de la commande peut être interprété comme le " "code de retour de *subprocess*. Par exemple ::" -#: library/subprocess.rst:1489 +#: library/subprocess.rst:1494 msgid ":ref:`Availability `: POSIX & Windows." msgstr ":ref:`Disponibilité ` : POSIX et Windows." -#: library/subprocess.rst:1470 +#: library/subprocess.rst:1475 msgid "Windows support was added." msgstr "Ajout de la gestion de Windows." -#: library/subprocess.rst:1473 +#: library/subprocess.rst:1478 msgid "" "The function now returns (exitcode, output) instead of (status, output) as " "it did in Python 3.3.3 and earlier. exitcode has the same value as :attr:" @@ -2231,13 +2247,13 @@ msgstr "" "output)`` comme dans les versions de Python 3.3.3 ou antérieures. " "*exitcode* vaut la même valeur que :attr:`~Popen.returncode`." -#: library/subprocess.rst:1480 +#: library/subprocess.rst:1485 msgid "Return output (stdout and stderr) of executing *cmd* in a shell." msgstr "" "Renvoie la sortie (standard et d'erreur) de l'exécution de *cmd* dans un " "*shell*." -#: library/subprocess.rst:1482 +#: library/subprocess.rst:1487 msgid "" "Like :func:`getstatusoutput`, except the exit code is ignored and the return " "value is a string containing the command's output. Example::" @@ -2246,20 +2262,20 @@ msgstr "" "ignoré et que la valeur de retour est une chaîne contenant la sortie de la " "commande. Exemple ::" -#: library/subprocess.rst:1490 +#: library/subprocess.rst:1495 msgid "Windows support added" msgstr "Ajout de la gestion de Windows" -#: library/subprocess.rst:1495 +#: library/subprocess.rst:1500 msgid "Notes" msgstr "Notes" -#: library/subprocess.rst:1500 +#: library/subprocess.rst:1505 msgid "Converting an argument sequence to a string on Windows" msgstr "" "Convertir une séquence d'arguments vers une chaîne de caractères sous Windows" -#: library/subprocess.rst:1502 +#: library/subprocess.rst:1507 msgid "" "On Windows, an *args* sequence is converted to a string that can be parsed " "using the following rules (which correspond to the rules used by the MS C " @@ -2269,14 +2285,14 @@ msgstr "" "être analysée avec les règles suivantes (qui correspondent aux règles " "utilisées par l'environnement *MS C*) :" -#: library/subprocess.rst:1506 +#: library/subprocess.rst:1511 msgid "" "Arguments are delimited by white space, which is either a space or a tab." msgstr "" "Les arguments sont délimités par des espacements, qui peuvent être des " "espaces ou des tabulations." -#: library/subprocess.rst:1509 +#: library/subprocess.rst:1514 msgid "" "A string surrounded by double quotation marks is interpreted as a single " "argument, regardless of white space contained within. A quoted string can " @@ -2286,7 +2302,7 @@ msgstr "" "seul, qu'elle contienne ou non des espacements. Une chaîne entre guillemets " "peut être intégrée dans un argument." -#: library/subprocess.rst:1514 +#: library/subprocess.rst:1519 msgid "" "A double quotation mark preceded by a backslash is interpreted as a literal " "double quotation mark." @@ -2294,7 +2310,7 @@ msgstr "" "Un guillemet double précédé d'un *backslash* est interprété comme un " "guillemet double littéral." -#: library/subprocess.rst:1517 +#: library/subprocess.rst:1522 msgid "" "Backslashes are interpreted literally, unless they immediately precede a " "double quotation mark." @@ -2302,7 +2318,7 @@ msgstr "" "Les *backslashs* sont interprétés littéralement, à moins qu'ils précèdent " "immédiatement un guillemet double." -#: library/subprocess.rst:1520 +#: library/subprocess.rst:1525 msgid "" "If backslashes immediately precede a double quotation mark, every pair of " "backslashes is interpreted as a literal backslash. If the number of " @@ -2314,11 +2330,11 @@ msgstr "" "de *backslashs* est impair, le dernier *backslash* échappe le prochain " "guillemet double comme décrit en règle 3." -#: library/subprocess.rst:1529 +#: library/subprocess.rst:1534 msgid ":mod:`shlex`" msgstr ":mod:`shlex`" -#: library/subprocess.rst:1530 +#: library/subprocess.rst:1535 msgid "Module which provides function to parse and escape command lines." msgstr "" "Module qui fournit des fonctions pour analyser et échapper les lignes de " diff --git a/library/symtable.po b/library/symtable.po index 5eb5ba7a18..82e343a60a 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-27 19:26+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -85,134 +85,136 @@ msgid "" msgstr "" #: library/symtable.rst:72 -msgid "Return a list of names of symbols in this table." +msgid "" +"Return a view object containing the names of symbols in the table. See the :" +"ref:`documentation of view objects `." msgstr "" -#: library/symtable.rst:76 +#: library/symtable.rst:77 msgid "Lookup *name* in the table and return a :class:`Symbol` instance." msgstr "" -#: library/symtable.rst:80 +#: library/symtable.rst:81 msgid "Return a list of :class:`Symbol` instances for names in the table." msgstr "" -#: library/symtable.rst:84 +#: library/symtable.rst:85 msgid "Return a list of the nested symbol tables." msgstr "" -#: library/symtable.rst:89 +#: library/symtable.rst:90 msgid "" "A namespace for a function or method. This class inherits :class:" "`SymbolTable`." msgstr "" -#: library/symtable.rst:94 +#: library/symtable.rst:95 msgid "Return a tuple containing names of parameters to this function." msgstr "" -#: library/symtable.rst:98 +#: library/symtable.rst:99 msgid "Return a tuple containing names of locals in this function." msgstr "" -#: library/symtable.rst:102 +#: library/symtable.rst:103 msgid "Return a tuple containing names of globals in this function." msgstr "" -#: library/symtable.rst:106 +#: library/symtable.rst:107 msgid "Return a tuple containing names of nonlocals in this function." msgstr "" -#: library/symtable.rst:110 +#: library/symtable.rst:111 msgid "Return a tuple containing names of free variables in this function." msgstr "" -#: library/symtable.rst:115 +#: library/symtable.rst:116 msgid "A namespace of a class. This class inherits :class:`SymbolTable`." msgstr "" -#: library/symtable.rst:119 +#: library/symtable.rst:120 msgid "Return a tuple containing the names of methods declared in the class." msgstr "" -#: library/symtable.rst:124 +#: library/symtable.rst:125 msgid "" "An entry in a :class:`SymbolTable` corresponding to an identifier in the " "source. The constructor is not public." msgstr "" -#: library/symtable.rst:129 +#: library/symtable.rst:130 msgid "Return the symbol's name." msgstr "" -#: library/symtable.rst:133 +#: library/symtable.rst:134 msgid "Return ``True`` if the symbol is used in its block." msgstr "" -#: library/symtable.rst:137 +#: library/symtable.rst:138 msgid "Return ``True`` if the symbol is created from an import statement." msgstr "" -#: library/symtable.rst:141 +#: library/symtable.rst:142 msgid "Return ``True`` if the symbol is a parameter." msgstr "" -#: library/symtable.rst:145 +#: library/symtable.rst:146 msgid "Return ``True`` if the symbol is global." msgstr "" -#: library/symtable.rst:149 +#: library/symtable.rst:150 msgid "Return ``True`` if the symbol is nonlocal." msgstr "" -#: library/symtable.rst:153 +#: library/symtable.rst:154 msgid "" "Return ``True`` if the symbol is declared global with a global statement." msgstr "" -#: library/symtable.rst:157 +#: library/symtable.rst:158 msgid "Return ``True`` if the symbol is local to its block." msgstr "" -#: library/symtable.rst:161 +#: library/symtable.rst:162 msgid "Return ``True`` if the symbol is annotated." msgstr "" -#: library/symtable.rst:167 +#: library/symtable.rst:168 msgid "" "Return ``True`` if the symbol is referenced in its block, but not assigned " "to." msgstr "" -#: library/symtable.rst:172 +#: library/symtable.rst:173 msgid "Return ``True`` if the symbol is assigned to in its block." msgstr "" -#: library/symtable.rst:176 +#: library/symtable.rst:177 msgid "Return ``True`` if name binding introduces new namespace." msgstr "" -#: library/symtable.rst:178 +#: library/symtable.rst:179 msgid "" "If the name is used as the target of a function or class statement, this " "will be true." msgstr "" -#: library/symtable.rst:181 +#: library/symtable.rst:182 msgid "For example::" msgstr "Par exemple ::" -#: library/symtable.rst:187 +#: library/symtable.rst:188 msgid "" "Note that a single name can be bound to multiple objects. If the result is " "``True``, the name may also be bound to other objects, like an int or list, " "that does not introduce a new namespace." msgstr "" -#: library/symtable.rst:193 +#: library/symtable.rst:194 msgid "Return a list of namespaces bound to this name." msgstr "" -#: library/symtable.rst:197 +#: library/symtable.rst:198 msgid "" "Return the namespace bound to this name. If more than one namespace is " "bound, :exc:`ValueError` is raised." diff --git a/library/sys.po b/library/sys.po index 93c1db49c5..2827da70c0 100644 --- a/library/sys.po +++ b/library/sys.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-09-15 10:22+0200\n" "Last-Translator: louisMaury \n" "Language-Team: FRENCH \n" @@ -442,9 +442,9 @@ msgstr "" #: library/sys.rst:253 #, fuzzy msgid "" -"If Python is `built in debug mode ` (:option:`configure --with-" -"pydebug option <--with-pydebug>`), it also performs some expensive internal " -"consistency checks." +"If Python is :ref:`built in debug mode ` (:option:`configure --" +"with-pydebug option <--with-pydebug>`), it also performs some expensive " +"internal consistency checks." msgstr "" "Si Python est configuré avec l'option *--with-pydebug*, il effectuera aussi " "quelques coûteuses vérifications de cohérence interne." @@ -461,7 +461,7 @@ msgstr "" msgid "Integer specifying the handle of the Python DLL." msgstr "Nombre entier spécifiant le descripteur de la DLL Python." -#: library/sys.rst:808 library/sys.rst:1716 +#: library/sys.rst:819 library/sys.rst:1748 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." @@ -523,9 +523,9 @@ msgid "" "files to (and read them from) a parallel directory tree rooted at this " "directory, rather than from ``__pycache__`` directories in the source code " "tree. Any ``__pycache__`` directories in the source code tree will be " -"ignored and new `.pyc` files written within the pycache prefix. Thus if you " -"use :mod:`compileall` as a pre-build step, you must ensure you run it with " -"the same pycache prefix (if any) that you will use at runtime." +"ignored and new ``.pyc`` files written within the pycache prefix. Thus if " +"you use :mod:`compileall` as a pre-build step, you must ensure you run it " +"with the same pycache prefix (if any) that you will use at runtime." msgstr "" #: library/sys.rst:327 @@ -762,7 +762,7 @@ msgstr "" "La :term:`named tuple` *flags* expose l'état des options de ligne de " "commande. Ces attributs sont en lecture seule." -#: library/sys.rst:513 library/sys.rst:853 +#: library/sys.rst:517 library/sys.rst:864 msgid "attribute" msgstr "attribut" @@ -887,24 +887,35 @@ msgstr ":const:`utf8_mode`" msgid ":option:`-X utf8 <-X>`" msgstr ":option:`-X` ``utf8``" -#: library/sys.rst:483 +#: library/sys.rst:481 +#, fuzzy +msgid ":const:`int_max_str_digits`" +msgstr ":const:`bits_per_digit`" + +#: library/sys.rst:481 +msgid "" +":option:`-X int_max_str_digits <-X>` (:ref:`integer string conversion length " +"limitation `)" +msgstr "" + +#: library/sys.rst:484 msgid "Added ``quiet`` attribute for the new :option:`-q` flag." msgstr "Ajout de l'attribut ``quiet`` pour la nouvelle option :option:`-q`." -#: library/sys.rst:486 +#: library/sys.rst:487 msgid "The ``hash_randomization`` attribute." msgstr "L'attribut ``hash_randomization``." -#: library/sys.rst:489 +#: library/sys.rst:490 msgid "Removed obsolete ``division_warning`` attribute." msgstr "Suppression de l'attribut obsolète ``division_warning``." -#: library/sys.rst:492 +#: library/sys.rst:493 msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." msgstr "" "Ajout de l'attribut ``isolated`` pour l'option :option:`-I` ``isolated``." -#: library/sys.rst:495 +#: library/sys.rst:496 #, fuzzy msgid "" "Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " @@ -915,7 +926,12 @@ msgstr "" "``dev`` et l'attribut ``utf8_mode`` pour la nouvelle option :option:`-X` " "``utf8``." -#: library/sys.rst:503 +#: library/sys.rst:501 +#, fuzzy +msgid "Added the ``int_max_str_digits`` attribute." +msgstr "Suppression de l'attribut obsolète ``division_warning``." + +#: library/sys.rst:507 msgid "" "A :term:`named tuple` holding information about the float type. It contains " "low level information about the precision and internal representation. The " @@ -932,23 +948,23 @@ msgstr "" "section 5.2.4.2.2 de *1999 ISO/IEC C standard* [C99]_, *Characteristics of " "floating types*, pour plus de détails." -#: library/sys.rst:513 +#: library/sys.rst:517 msgid "float.h macro" msgstr "macro *float.h*" -#: library/sys.rst:853 +#: library/sys.rst:864 msgid "explanation" msgstr "explication" -#: library/sys.rst:515 +#: library/sys.rst:519 msgid ":const:`epsilon`" msgstr ":const:`epsilon`" -#: library/sys.rst:515 +#: library/sys.rst:519 msgid "DBL_EPSILON" msgstr "DBL_EPSILON" -#: library/sys.rst:515 +#: library/sys.rst:519 #, fuzzy msgid "" "difference between 1.0 and the least value greater than 1.0 that is " @@ -957,19 +973,19 @@ msgstr "" "différence entre 1 et la plus petite valeur plus grande que 1 représentable " "en *float*" -#: library/sys.rst:518 +#: library/sys.rst:522 msgid "See also :func:`math.ulp`." msgstr "Voir aussi : :func:`math.ulp`." -#: library/sys.rst:520 +#: library/sys.rst:524 msgid ":const:`dig`" msgstr ":const:`dig`" -#: library/sys.rst:520 +#: library/sys.rst:524 msgid "DBL_DIG" msgstr "DBL_DIG" -#: library/sys.rst:520 +#: library/sys.rst:524 msgid "" "maximum number of decimal digits that can be faithfully represented in a " "float; see below" @@ -977,15 +993,15 @@ msgstr "" "nombre maximum de décimales pouvant être représentées fidèlement dans un " "*float* (voir ci-dessous)" -#: library/sys.rst:523 +#: library/sys.rst:527 msgid ":const:`mant_dig`" msgstr ":const:`mant_dig`" -#: library/sys.rst:523 +#: library/sys.rst:527 msgid "DBL_MANT_DIG" msgstr "DBL_MANT_DIG" -#: library/sys.rst:523 +#: library/sys.rst:527 msgid "" "float precision: the number of base-``radix`` digits in the significand of a " "float" @@ -993,28 +1009,28 @@ msgstr "" "précision : nombre de *base-*\\ ``radix`` chiffres dans la mantisse du " "*float*" -#: library/sys.rst:526 +#: library/sys.rst:530 msgid ":const:`max`" msgstr ":const:`max`" -#: library/sys.rst:526 +#: library/sys.rst:530 msgid "DBL_MAX" msgstr "DBL_MAX" -#: library/sys.rst:526 +#: library/sys.rst:530 #, fuzzy msgid "maximum representable positive finite float" msgstr "plus grand `float` fini représentable" -#: library/sys.rst:528 +#: library/sys.rst:532 msgid ":const:`max_exp`" msgstr ":const:`max_exp`" -#: library/sys.rst:528 +#: library/sys.rst:532 msgid "DBL_MAX_EXP" msgstr "DBL_MAX_EXP" -#: library/sys.rst:528 +#: library/sys.rst:532 #, fuzzy msgid "" "maximum integer *e* such that ``radix**(e-1)`` is a representable finite " @@ -1023,15 +1039,15 @@ msgstr "" "plus grand nombre entier *e* tel que ``radix**(e-1)`` soit représentable " "sous forme de *float* finit" -#: library/sys.rst:531 +#: library/sys.rst:535 msgid ":const:`max_10_exp`" msgstr ":const:`max_10_exp`" -#: library/sys.rst:531 +#: library/sys.rst:535 msgid "DBL_MAX_10_EXP" msgstr "DBL_MAX_10_EXP" -#: library/sys.rst:531 +#: library/sys.rst:535 #, fuzzy msgid "" "maximum integer *e* such that ``10**e`` is in the range of representable " @@ -1040,75 +1056,75 @@ msgstr "" "plus grand nombre entier *e* tel que ``10**e`` est dans l'intervalle des " "nombre flottants finis" -#: library/sys.rst:534 +#: library/sys.rst:538 msgid ":const:`min`" msgstr ":const:`min`" -#: library/sys.rst:534 +#: library/sys.rst:538 msgid "DBL_MIN" msgstr "DBL_MIN" -#: library/sys.rst:534 +#: library/sys.rst:538 #, fuzzy msgid "minimum representable positive *normalized* float" msgstr "plus petit nombre à virgule flottante positif normalisé" -#: library/sys.rst:536 +#: library/sys.rst:540 msgid "" "Use :func:`math.ulp(0.0) ` to get the smallest positive " "*denormalized* representable float." msgstr "" -#: library/sys.rst:540 +#: library/sys.rst:544 msgid ":const:`min_exp`" msgstr ":const:`min_exp`" -#: library/sys.rst:540 +#: library/sys.rst:544 msgid "DBL_MIN_EXP" msgstr "DBL_MIN_EXP" -#: library/sys.rst:540 +#: library/sys.rst:544 #, fuzzy msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" msgstr "" "plus petit entier *e* tel que ``radix**(e-1)`` est un *float* normalisé" -#: library/sys.rst:543 +#: library/sys.rst:547 msgid ":const:`min_10_exp`" msgstr ":const:`min_10_exp`" -#: library/sys.rst:543 +#: library/sys.rst:547 msgid "DBL_MIN_10_EXP" msgstr "DBL_MIN_10_EXP" -#: library/sys.rst:543 +#: library/sys.rst:547 #, fuzzy msgid "minimum integer *e* such that ``10**e`` is a normalized float" msgstr "" "plus petit nombre entier *e* tel que ``10**e`` est un nombre à virgule " "flottante normalisé" -#: library/sys.rst:546 +#: library/sys.rst:550 msgid ":const:`radix`" msgstr ":const:`radix`" -#: library/sys.rst:546 +#: library/sys.rst:550 msgid "FLT_RADIX" msgstr "FLT_RADIX" -#: library/sys.rst:546 +#: library/sys.rst:550 msgid "radix of exponent representation" msgstr "base de la représentation de l'exposant" -#: library/sys.rst:548 +#: library/sys.rst:552 msgid ":const:`rounds`" msgstr ":const:`rounds`" -#: library/sys.rst:548 +#: library/sys.rst:552 msgid "FLT_ROUNDS" msgstr "FLT_ROUNDS" -#: library/sys.rst:548 +#: library/sys.rst:552 msgid "" "integer constant representing the rounding mode used for arithmetic " "operations. This reflects the value of the system FLT_ROUNDS macro at " @@ -1121,7 +1137,7 @@ msgstr "" "5.2.4.4.2.2 de la norme C99 pour une explication des valeurs possibles et de " "leurs significations." -#: library/sys.rst:556 +#: library/sys.rst:560 msgid "" "The attribute :attr:`sys.float_info.dig` needs further explanation. If " "``s`` is any string representing a decimal number with at most :attr:`sys." @@ -1133,7 +1149,7 @@ msgstr "" "float_info.dig` chiffres significatifs, alors, convertir ``s`` en un nombre " "à virgule flottante puis à nouveau en chaîne redonnera la même valeur ::" -#: library/sys.rst:569 +#: library/sys.rst:573 msgid "" "But for strings with more than :attr:`sys.float_info.dig` significant " "digits, this isn't always true::" @@ -1141,7 +1157,7 @@ msgstr "" "Cependant, pour les chaînes avec plus de :attr:`sys.float_info.dig` chiffres " "significatifs, ce n'est pas toujours vrai ::" -#: library/sys.rst:578 +#: library/sys.rst:582 msgid "" "A string indicating how the :func:`repr` function behaves for floats. If " "the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " @@ -1157,7 +1173,7 @@ msgstr "" "Python 3.1. Autrement, ``float_repr_style`` a la valeur ``'legacy'`` et\n" "``repr(x)`` se comporte comme les versions antérieures à 3.1." -#: library/sys.rst:591 +#: library/sys.rst:595 msgid "" "Return the number of memory blocks currently allocated by the interpreter, " "regardless of their size. This function is mainly useful for tracking and " @@ -1173,7 +1189,7 @@ msgstr "" "`_clear_type_cache()` et :func:`gc.collect()` peut permettre d'obtenir des " "résultats plus prévisibles." -#: library/sys.rst:598 +#: library/sys.rst:602 msgid "" "If a Python build or implementation cannot reasonably compute this " "information, :func:`getallocatedblocks()` is allowed to return 0 instead." @@ -1181,17 +1197,17 @@ msgstr "" "Si Python n'arrive pas a calculer raisonnablement cette information, :func:" "`getallocatedblocks()` est autorisé à renvoyer 0 à la place." -#: library/sys.rst:606 +#: library/sys.rst:610 msgid "Return the build time API version of Android as an integer." msgstr "" "Renvoie la version de l'API Android utilisée pour compiler sous forme d'un " "entier." -#: library/sys.rst:609 +#: library/sys.rst:613 msgid ":ref:`Availability `: Android." msgstr ":ref:`Disponibilité ` : Android." -#: library/sys.rst:615 +#: library/sys.rst:619 msgid "" "Return the name of the current default string encoding used by the Unicode " "implementation." @@ -1199,7 +1215,7 @@ msgstr "" "Renvoie le nom du codage par défaut actuellement utilisé par " "l'implémentation *Unicode* pour coder les chaînes." -#: library/sys.rst:621 +#: library/sys.rst:625 msgid "" "Return the current value of the flags that are used for :c:func:`dlopen` " "calls. Symbolic names for the flag values can be found in the :mod:`os` " @@ -1209,11 +1225,11 @@ msgstr "" "`dlopen`. Les noms symboliques valeurs peuvent être trouvées dans le module :" "mod:`os`. (Ce sont les constantes ``RTLD_xxx`` e.g. :data:`os.RTLD_LAZY`)." -#: library/sys.rst:1255 +#: library/sys.rst:1279 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." -#: library/sys.rst:631 +#: library/sys.rst:635 #, fuzzy msgid "" "Get the :term:`filesystem encoding `: " @@ -1226,7 +1242,7 @@ msgstr "" "noms de fichiers entre Unicode et octets. Le nom de l'encodage est renvoyé " "par :func:`getfilesystemencoding`." -#: library/sys.rst:637 +#: library/sys.rst:641 #, fuzzy msgid "" "For best compatibility, str should be used for filenames in all cases, " @@ -1242,7 +1258,7 @@ msgstr "" "fichiers devraient supporter les deux (*str* ou *bytes*), et convertir en " "interne dans la représentation du système." -#: library/sys.rst:670 +#: library/sys.rst:674 msgid "" ":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " "the correct encoding and errors mode are used." @@ -1251,7 +1267,7 @@ msgstr "" "utilisées pour s'assurer qu'un encodage et un gestionnaire d'erreurs correct " "sont utilisés." -#: library/sys.rst:673 +#: library/sys.rst:677 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " "startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." @@ -1259,11 +1275,11 @@ msgid "" "c:type:`PyConfig`." msgstr "" -#: library/sys.rst:650 +#: library/sys.rst:654 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." msgstr ":func:`getfilesystemencoding` ne peut plus renvoyer ``None``." -#: library/sys.rst:653 +#: library/sys.rst:657 msgid "" "Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and :" "func:`_enablelegacywindowsfsencoding` for more information." @@ -1271,12 +1287,12 @@ msgstr "" "Sur Windows, on est plus assurés d'obtenir ``'mbcs'``. Voir la :pep:`529` " "et :func:`_enablelegacywindowsfsencoding` pour plus d'informations." -#: library/sys.rst:657 +#: library/sys.rst:661 msgid "" "Return ``'utf-8'`` if the :ref:`Python UTF-8 Mode ` is enabled." msgstr "" -#: library/sys.rst:664 +#: library/sys.rst:668 #, fuzzy msgid "" "Get the :term:`filesystem error handler `. See also :func:`set_int_max_str_digits`." +msgstr "" + +#: library/sys.rst:693 msgid "" "Return the reference count of the *object*. The count returned is generally " "one higher than you might expect, because it includes the (temporary) " @@ -1299,7 +1321,7 @@ msgstr "" "généralement d'une référence de plus qu'attendu, puisqu'il compte la " "référence (temporaire) de l'argument à :func:`getrefcount`." -#: library/sys.rst:689 +#: library/sys.rst:700 msgid "" "Return the current value of the recursion limit, the maximum depth of the " "Python interpreter stack. This limit prevents infinite recursion from " @@ -1311,7 +1333,7 @@ msgstr "" "d'une récursion infinie à cause d'un débordement de la pile. Elle peut être " "modifiée par :func:`setrecursionlimit`." -#: library/sys.rst:697 +#: library/sys.rst:708 msgid "" "Return the size of an object in bytes. The object can be any type of object. " "All built-in objects will return correct results, but this does not have to " @@ -1322,7 +1344,7 @@ msgstr "" "peut ne pas être toujours vrai pour les extensions, la valeur étant " "dépendante de l'implémentation." -#: library/sys.rst:702 +#: library/sys.rst:713 msgid "" "Only the memory consumption directly attributed to the object is accounted " "for, not the memory consumption of objects it refers to." @@ -1330,7 +1352,7 @@ msgstr "" "Seule la mémoire directement attribuée à l'objet est prise en compte, pas la " "mémoire consommée par les objets vers lesquels il a des références." -#: library/sys.rst:705 +#: library/sys.rst:716 msgid "" "If given, *default* will be returned if the object does not provide means to " "retrieve the size. Otherwise a :exc:`TypeError` will be raised." @@ -1338,7 +1360,7 @@ msgstr "" "S'il est fourni, *default* sera renvoyé si l'objet ne fournit aucun moyen de " "récupérer sa taille. Sinon, une exception :exc:`TypeError` sera levée." -#: library/sys.rst:708 +#: library/sys.rst:719 msgid "" ":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " "additional garbage collector overhead if the object is managed by the " @@ -1347,7 +1369,7 @@ msgstr "" ":func:`getsizeof` appelle la méthode ``__sizeof__`` de l'objet, et s'il est " "géré par lui, ajoute le surcoût du ramasse-miettes." -#: library/sys.rst:712 +#: library/sys.rst:723 msgid "" "See `recursive sizeof recipe `_ " "for an example of using :func:`getsizeof` recursively to find the size of " @@ -1357,7 +1379,7 @@ msgstr "" "recipes/577504>`_ pour un exemple d'utilisation récursive de :func:" "`getsizeof` pour trouver la taille d'un contenant et de son contenu." -#: library/sys.rst:718 +#: library/sys.rst:729 msgid "" "Return the interpreter's \"thread switch interval\"; see :func:" "`setswitchinterval`." @@ -1365,7 +1387,7 @@ msgstr "" "Renvoie la valeur du *thread switch interval* de l'interpréteur, voir :func:" "`setswitchinterval`." -#: library/sys.rst:726 +#: library/sys.rst:737 msgid "" "Return a frame object from the call stack. If optional integer *depth* is " "given, return the frame object that many calls below the top of the stack. " @@ -1379,13 +1401,13 @@ msgstr "" "exc:`ValueError` est levée. La profondeur par défaut est zéro, donnant ainsi " "la *frame* du dessus de la pile." -#: library/sys.rst:731 +#: library/sys.rst:742 msgid "" "Raises an :ref:`auditing event ` ``sys._getframe`` with no " "arguments." msgstr "" -#: library/sys.rst:735 +#: library/sys.rst:746 msgid "" "This function should be used for internal and specialized purposes only. It " "is not guaranteed to exist in all implementations of Python." @@ -1394,16 +1416,16 @@ msgstr "" "spécifique. Il n'est pas garanti qu'elle existe dans toutes les " "implémentations de Python." -#: library/sys.rst:745 +#: library/sys.rst:756 msgid "Get the profiler function as set by :func:`setprofile`." msgstr "" "Renvoie la fonction de profilage tel que défini par :func:`setprofile`." -#: library/sys.rst:754 +#: library/sys.rst:765 msgid "Get the trace function as set by :func:`settrace`." msgstr "Renvoie la fonction de traçage tel que définie par :func:`settrace`." -#: library/sys.rst:758 +#: library/sys.rst:769 msgid "" "The :func:`gettrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -1415,7 +1437,7 @@ msgstr "" "dépend de l'implémentation et non du langage, elle n'est donc pas forcément " "disponible dans toutes les implémentations de Python." -#: library/sys.rst:766 +#: library/sys.rst:777 msgid "" "Return a named tuple describing the Windows version currently running. The " "named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " @@ -1438,47 +1460,47 @@ msgstr "" "versions antérieures, seuls les 5 premiers éléments sont accessibles par " "leur indice." -#: library/sys.rst:777 +#: library/sys.rst:788 msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." msgstr "*platform* sera :const:`2 (VER_PLATFORM_WIN32_NT)`." -#: library/sys.rst:779 +#: library/sys.rst:790 msgid "*product_type* may be one of the following values:" msgstr "*product_type* peut être une des valeurs suivantes :" -#: library/sys.rst:782 +#: library/sys.rst:793 msgid "Constant" msgstr "Constante" -#: library/sys.rst:782 +#: library/sys.rst:793 msgid "Meaning" msgstr "Signification" -#: library/sys.rst:784 +#: library/sys.rst:795 msgid ":const:`1 (VER_NT_WORKSTATION)`" msgstr ":const:`1 (VER_NT_WORKSTATION)`" -#: library/sys.rst:784 +#: library/sys.rst:795 msgid "The system is a workstation." msgstr "Le système une station de travail." -#: library/sys.rst:786 +#: library/sys.rst:797 msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" -#: library/sys.rst:786 +#: library/sys.rst:797 msgid "The system is a domain controller." msgstr "Le système est un contrôleur de domaine." -#: library/sys.rst:789 +#: library/sys.rst:800 msgid ":const:`3 (VER_NT_SERVER)`" msgstr ":const:`3 (VER_NT_SERVER)`" -#: library/sys.rst:789 +#: library/sys.rst:800 msgid "The system is a server, but not a domain controller." msgstr "Le système est un serveur, mais pas un contrôleur de domaine." -#: library/sys.rst:793 +#: library/sys.rst:804 msgid "" "This function wraps the Win32 :c:func:`GetVersionEx` function; see the " "Microsoft documentation on :c:func:`OSVERSIONINFOEX` for more information " @@ -1489,7 +1511,7 @@ msgstr "" "de Microsoft sur :c:func:`OSVERSIONINFOEX` pour plus d'informations sur ces " "champs." -#: library/sys.rst:797 +#: library/sys.rst:808 #, fuzzy msgid "" "*platform_version* returns the major version, minor version and build number " @@ -1502,14 +1524,14 @@ msgstr "" "émulée pour ce processus. Il est destiné à être utilisé pour de la " "journalisation plutôt que pour la détection de fonctionnalités." -#: library/sys.rst:803 +#: library/sys.rst:814 msgid "" "*platform_version* derives the version from kernel32.dll which can be of a " "different version than the OS version. Please use :mod:`platform` module for " "achieving accurate OS version." msgstr "" -#: library/sys.rst:809 +#: library/sys.rst:820 msgid "" "Changed to a named tuple and added *service_pack_minor*, " "*service_pack_major*, *suite_mask*, and *product_type*." @@ -1517,14 +1539,15 @@ msgstr "" "Changé en un *n*-uplet nommé, et ajout de *service_pack_minor*, " "*service_pack_major*, *suite_mask*, et *product_type*." -#: library/sys.rst:813 +#: library/sys.rst:824 msgid "Added *platform_version*" msgstr "Ajout de *platform_version*" -#: library/sys.rst:819 +#: library/sys.rst:830 +#, fuzzy msgid "" "Returns an *asyncgen_hooks* object, which is similar to a :class:" -"`~collections.namedtuple` of the form `(firstiter, finalizer)`, where " +"`~collections.namedtuple` of the form ``(firstiter, finalizer)``, where " "*firstiter* and *finalizer* are expected to be either ``None`` or functions " "which take an :term:`asynchronous generator iterator` as an argument, and " "are used to schedule finalization of an asynchronous generator by an event " @@ -1537,11 +1560,11 @@ msgstr "" "pour planifier la finalisation d'un générateur asynchrone par un *event " "loop*." -#: library/sys.rst:826 +#: library/sys.rst:837 msgid "See :pep:`525` for more details." msgstr "Voir la :pep:`525` pour plus d'informations." -#: library/sys.rst:1449 +#: library/sys.rst:1481 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.)" @@ -1549,7 +1572,7 @@ msgstr "" "Cette fonction à été ajoutée à titre provisoire (voir la :pep:`411` pour " "plus d'informations.)" -#: library/sys.rst:836 +#: library/sys.rst:847 msgid "" "Get the current coroutine origin tracking depth, as set by :func:" "`set_coroutine_origin_tracking_depth`." @@ -1558,7 +1581,7 @@ msgstr "" "le suivi de leur création, telle que défini par :func:" "`set_coroutine_origin_tracking_depth`." -#: library/sys.rst:1470 +#: library/sys.rst:1502 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.) Use it only for debugging purposes." @@ -1566,7 +1589,7 @@ msgstr "" "Cette fonction à été ajoutée à titre provisoire (Voir la :pep:`411` pour " "plus d'informations.) Utilisez la uniquement à des fins de débogage." -#: library/sys.rst:848 +#: library/sys.rst:859 msgid "" "A :term:`named tuple` giving parameters of the numeric hash implementation. " "For more details about hashing of numeric types, see :ref:`numeric-hash`." @@ -1575,77 +1598,77 @@ msgstr "" "fonction de hachage de nombres. Pour plus d'informations sur le hachage des " "types numériques, consultez :ref:`numeric-hash`." -#: library/sys.rst:855 +#: library/sys.rst:866 msgid ":const:`width`" msgstr ":const:`width`" -#: library/sys.rst:855 +#: library/sys.rst:866 msgid "width in bits used for hash values" msgstr "Nombre de bits des valeurs de *hash*" -#: library/sys.rst:857 +#: library/sys.rst:868 msgid ":const:`modulus`" msgstr ":const:`modulus`" -#: library/sys.rst:857 +#: library/sys.rst:868 msgid "prime modulus P used for numeric hash scheme" msgstr "" "contient le premier P utilisé dans le modulo pour les *hash* numériques" -#: library/sys.rst:859 +#: library/sys.rst:870 msgid ":const:`inf`" msgstr ":const:`inf`" -#: library/sys.rst:859 +#: library/sys.rst:870 msgid "hash value returned for a positive infinity" msgstr "valeur du *hash* pour un infini positif" -#: library/sys.rst:861 +#: library/sys.rst:872 msgid ":const:`nan`" msgstr ":const:`nan`" -#: library/sys.rst:861 +#: library/sys.rst:872 msgid "(this attribute is no longer used)" msgstr "" -#: library/sys.rst:863 +#: library/sys.rst:874 msgid ":const:`imag`" msgstr ":const:`imag`" -#: library/sys.rst:863 +#: library/sys.rst:874 msgid "multiplier used for the imaginary part of a complex number" msgstr "multiplicateur utilisé pour la partie imaginaire d'un nombre complexe" -#: library/sys.rst:866 +#: library/sys.rst:877 msgid ":const:`algorithm`" msgstr ":const:`algorithm`" -#: library/sys.rst:866 +#: library/sys.rst:877 msgid "name of the algorithm for hashing of str, bytes, and memoryview" msgstr "" "nom de l'algorithme pour le hachage des *str*, *bytes*, et *memoryview*" -#: library/sys.rst:869 +#: library/sys.rst:880 msgid ":const:`hash_bits`" msgstr ":const:`hash_bits`" -#: library/sys.rst:869 +#: library/sys.rst:880 msgid "internal output size of the hash algorithm" msgstr "taille de la sortie interne de l'algorithme de hachage" -#: library/sys.rst:871 +#: library/sys.rst:882 msgid ":const:`seed_bits`" msgstr ":const:`seed_bits`" -#: library/sys.rst:871 +#: library/sys.rst:882 msgid "size of the seed key of the hash algorithm" msgstr "taille de la *seed key* utilisée par l'algorithme de hachage" -#: library/sys.rst:877 +#: library/sys.rst:888 msgid "Added *algorithm*, *hash_bits* and *seed_bits*" msgstr "Ajout de *algorithm*, *hash_bits* et *seed_bits*" -#: library/sys.rst:883 +#: library/sys.rst:894 msgid "" "The version number encoded as a single integer. This is guaranteed to " "increase with each version, including proper support for non-production " @@ -1657,7 +1680,7 @@ msgstr "" "Par exemple, pour vérifier que l'interpréteur Python est au moins la version " "1.5, utilisez ::" -#: library/sys.rst:894 +#: library/sys.rst:905 msgid "" "This is called ``hexversion`` since it only really looks meaningful when " "viewed as the result of passing it to the built-in :func:`hex` function. " @@ -1669,12 +1692,12 @@ msgstr "" "`hex`. Le :term:`named tuple` :data:`sys.version_info` représente la même " "information d'une manière plus humaine." -#: library/sys.rst:899 +#: library/sys.rst:910 msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." msgstr "" "Consultez :ref:`apiabiversion` pour plus d'informations sur ``hexversion``." -#: library/sys.rst:904 +#: library/sys.rst:915 msgid "" "An object containing information about the implementation of the currently " "running Python interpreter. The following attributes are required to exist " @@ -1684,7 +1707,7 @@ msgstr "" "actuelle de l'interpréteur Python. Les attributs suivants existent " "obligatoirement sur toutes les implémentations Python." -#: library/sys.rst:908 +#: library/sys.rst:919 msgid "" "*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " "string is defined by the Python implementation, but it is guaranteed to be " @@ -1694,7 +1717,7 @@ msgstr "" "chaîne est définie par l'implémentation de Python, mais sera toujours en " "minuscule." -#: library/sys.rst:912 +#: library/sys.rst:923 msgid "" "*version* is a named tuple, in the same format as :data:`sys.version_info`. " "It represents the version of the Python *implementation*. This has a " @@ -1714,7 +1737,7 @@ msgstr "" "valoir ``sys.version_info(2, 7, 2, 'final', 0)``. Pour CPython ces deux " "valeurs sont identiques puisque c'est l'implémentation de référence." -#: library/sys.rst:922 +#: library/sys.rst:933 msgid "" "*hexversion* is the implementation version in hexadecimal format, like :data:" "`sys.hexversion`." @@ -1722,7 +1745,7 @@ msgstr "" "*hexversion* est la version de l'implémentation sous forme hexadécimale, " "comme :data:`sys.hexversion`." -#: library/sys.rst:925 +#: library/sys.rst:936 msgid "" "*cache_tag* is the tag used by the import machinery in the filenames of " "cached modules. By convention, it would be a composite of the " @@ -1737,7 +1760,7 @@ msgstr "" "autre valeur si nécessaire. ``cache_tag`` à ``None`` signifie que la mise " "en cache des modules doit être désactivée." -#: library/sys.rst:932 +#: library/sys.rst:943 msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " @@ -1754,13 +1777,13 @@ msgstr "" "cependant changer entre les versions du langage Python.) Voir la :pep:`421` " "pour plus d'informations." -#: library/sys.rst:943 +#: library/sys.rst:954 msgid "" "The addition of new required attributes must go through the normal PEP " "process. See :pep:`421` for more information." msgstr "" -#: library/sys.rst:948 +#: library/sys.rst:959 msgid "" "A :term:`named tuple` that holds information about Python's internal " "representation of integers. The attributes are read only." @@ -1768,19 +1791,19 @@ msgstr "" "Un :term:`named tuple` qui contient des informations sur la représentation " "interne des entiers de Python. Les attributs sont en lecture seule." -#: library/sys.rst:1601 +#: library/sys.rst:1633 msgid "Attribute" msgstr "Attribut" -#: library/sys.rst:1601 +#: library/sys.rst:1633 msgid "Explanation" msgstr "Explication" -#: library/sys.rst:956 +#: library/sys.rst:967 msgid ":const:`bits_per_digit`" msgstr ":const:`bits_per_digit`" -#: library/sys.rst:956 +#: library/sys.rst:967 msgid "" "number of bits held in each digit. Python integers are stored internally in " "base ``2**int_info.bits_per_digit``" @@ -1788,15 +1811,41 @@ msgstr "" "nombre de bits utilisés pour chaque chiffre. Les entiers Python sont " "stockés en interne en base ``2**int_info.bits_per_digit``" -#: library/sys.rst:960 +#: library/sys.rst:971 msgid ":const:`sizeof_digit`" msgstr ":const:`sizeof_digit`" -#: library/sys.rst:960 +#: library/sys.rst:971 msgid "size in bytes of the C type used to represent a digit" msgstr "taille en octets du type C utilisé pour représenter un chiffre" -#: library/sys.rst:969 +#: library/sys.rst:974 +#, fuzzy +msgid ":const:`default_max_str_digits`" +msgstr ":const:`bits_per_digit`" + +#: library/sys.rst:974 +msgid "" +"default value for :func:`sys.get_int_max_str_digits` when it is not " +"otherwise explicitly configured." +msgstr "" + +#: library/sys.rst:978 +#, fuzzy +msgid ":const:`str_digits_check_threshold`" +msgstr ":const:`dont_write_bytecode`" + +#: library/sys.rst:978 +msgid "" +"minimum non-zero value for :func:`sys.set_int_max_str_digits`, :envvar:" +"`PYTHONINTMAXSTRDIGITS`, or :option:`-X int_max_str_digits <-X>`." +msgstr "" + +#: library/sys.rst:986 +msgid "Added ``default_max_str_digits`` and ``str_digits_check_threshold``." +msgstr "" + +#: library/sys.rst:992 msgid "" "When this attribute exists, its value is automatically called (with no " "arguments) when the interpreter is launched in :ref:`interactive mode ` par le module :mod:`site`." -#: library/sys.rst:975 +#: library/sys.rst:998 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with argument ``hook``." msgstr "" -#: library/sys.rst:977 +#: library/sys.rst:1000 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with the hook object as the argument when the hook is called on startup." msgstr "" -#: library/sys.rst:986 +#: library/sys.rst:1009 msgid "" "Enter *string* in the table of \"interned\" strings and return the interned " "string -- which is *string* itself or a copy. Interning strings is useful to " @@ -1844,7 +1893,7 @@ msgstr "" "attributs de modules, de classes, ou d'instances ont aussi leurs clés " "internées." -#: library/sys.rst:994 +#: library/sys.rst:1017 msgid "" "Interned strings are not immortal; you must keep a reference to the return " "value of :func:`intern` around to benefit from it." @@ -1852,7 +1901,7 @@ msgstr "" "Les chaînes internées ne sont pas immortelles ; vous devez garder une " "référence à la valeur renvoyée par :func:`intern` pour en bénéficier." -#: library/sys.rst:1000 +#: library/sys.rst:1023 msgid "" "Return :const:`True` if the Python interpreter is :term:`shutting down " "`, :const:`False` otherwise." @@ -1860,7 +1909,7 @@ msgstr "" "Donne :const:`True` si l'interpréteur Python est :term:`en train de " "s'arrêter `, et :const:`False` dans le cas contraire." -#: library/sys.rst:1010 +#: library/sys.rst:1033 msgid "" "These three variables are not always defined; they are set when an exception " "is not handled and the interpreter prints an error message and a stack " @@ -1879,7 +1928,7 @@ msgstr "" "mortem est ``import pdb; pdb.pm()``, voir :mod:`pdb` pour plus " "d'informations.)." -#: library/sys.rst:1018 +#: library/sys.rst:1041 msgid "" "The meaning of the variables is the same as that of the return values from :" "func:`exc_info` above." @@ -1887,7 +1936,7 @@ msgstr "" "La signification de ces variables est la même que celle des valeurs " "renvoyées par :func:`exc_info` ci-dessus." -#: library/sys.rst:1024 +#: library/sys.rst:1047 msgid "" "An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " "can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1`` " @@ -1897,7 +1946,7 @@ msgstr "" "`Py_ssize_t` peut prendre. C'est typiquement ``2**31 - 1`` sur une " "plateforme 32 bits et ``2**63 - 1`` sur une plateforme 64 bits." -#: library/sys.rst:1031 +#: library/sys.rst:1054 msgid "" "An integer giving the value of the largest Unicode code point, i.e. " "``1114111`` (``0x10FFFF`` in hexadecimal)." @@ -1905,7 +1954,7 @@ msgstr "" "Un entier donnant la valeur du plus grand point de code Unicode, c'est-à-" "dire ``1114111`` (``0x10FFFF`` en hexadécimal)." -#: library/sys.rst:1034 +#: library/sys.rst:1057 msgid "" "Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " "``0x10FFFF``, depending on the configuration option that specified whether " @@ -1915,16 +1964,18 @@ msgstr "" "``0x10FFFF``, en fonction l'option de configuration qui spécifiait si les " "caractères Unicode étaient stockés en UCS-2 ou UCS-4." -#: library/sys.rst:1042 +#: library/sys.rst:1065 +#, fuzzy msgid "" "A list of :term:`meta path finder` objects that have their :meth:`~importlib." "abc.MetaPathFinder.find_spec` methods called to see if one of the objects " -"can find the module to be imported. The :meth:`~importlib.abc.MetaPathFinder." -"find_spec` method is called with at least the absolute name of the module " -"being imported. If the module to be imported is contained in a package, then " -"the parent package's :attr:`__path__` attribute is passed in as a second " -"argument. The method returns a :term:`module spec`, or ``None`` if the " -"module cannot be found." +"can find the module to be imported. By default, it holds entries that " +"implement Python's default import semantics. The :meth:`~importlib.abc." +"MetaPathFinder.find_spec` method is called with at least the absolute name " +"of the module being imported. If the module to be imported is contained in a " +"package, then the parent package's :attr:`__path__` attribute is passed in " +"as a second argument. The method returns a :term:`module spec`, or ``None`` " +"if the module cannot be found." msgstr "" "Une liste d'objets :term:`meta path finder` qui ont leur méthode :meth:" "`~importlib.abc.MetaPathFinder.find_spec` appelée pour voir si un des objets " @@ -1934,11 +1985,11 @@ msgstr "" "attr:`__path__` du paquet parent est donné en deuxième argument. La méthode " "renvoie un :term:`module spec`, ou ``None`` si le module ne peut être trouvé." -#: library/sys.rst:1054 +#: library/sys.rst:1078 msgid ":class:`importlib.abc.MetaPathFinder`" msgstr ":class:`importlib.abc.MetaPathFinder`" -#: library/sys.rst:1054 +#: library/sys.rst:1078 msgid "" "The abstract base class defining the interface of finder objects on :data:" "`meta_path`." @@ -1946,11 +1997,11 @@ msgstr "" "La classe de base abstraite définissant l'interface des objets *finder* de :" "data:`meta_path`." -#: library/sys.rst:1058 +#: library/sys.rst:1082 msgid ":class:`importlib.machinery.ModuleSpec`" msgstr ":class:`importlib.machinery.ModuleSpec`" -#: library/sys.rst:1057 +#: library/sys.rst:1081 msgid "" "The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " "should return instances of." @@ -1958,7 +2009,7 @@ msgstr "" "La classe concrète dont :meth:`~importlib.abc.MetaPathFinder.find_spec` " "devrait renvoyer des instances." -#: library/sys.rst:1063 +#: library/sys.rst:1087 msgid "" ":term:`Module specs ` were introduced in Python 3.4, by :pep:" "`451`. Earlier versions of Python looked for a method called :meth:" @@ -1972,7 +2023,7 @@ msgstr "" "toujours appelée en dernier recours, dans le cas où une :data:`meta_path` " "n'a pas de méthode :meth:`~importlib.abc.MetaPathFinder.find_spec`." -#: library/sys.rst:1071 +#: library/sys.rst:1095 #, fuzzy msgid "" "This is a dictionary that maps module names to modules which have already " @@ -1989,17 +2040,17 @@ msgstr "" "rechargé. Cependant, le remplacer ne fonctionnera pas forcément comme prévu " "et en supprimer des éléments essentiels peut planter Python." -#: library/sys.rst:1083 +#: library/sys.rst:1107 msgid "" "The list of the original command line arguments passed to the Python " "executable." msgstr "" -#: library/sys.rst:1086 +#: library/sys.rst:1110 msgid "See also :data:`sys.argv`." msgstr "" -#: library/sys.rst:1095 +#: library/sys.rst:1119 msgid "" "A list of strings that specifies the search path for modules. Initialized " "from the environment variable :envvar:`PYTHONPATH`, plus an installation-" @@ -2009,7 +2060,7 @@ msgstr "" "modules, initialisée à partir de la variable d'environnement :envvar:" "`PYTHONPATH` et d'une valeur par défaut dépendante de l'installation." -#: library/sys.rst:1099 +#: library/sys.rst:1123 msgid "" "As initialized upon program startup, the first item of this list, " "``path[0]``, is the directory containing the script that was used to invoke " @@ -2029,7 +2080,7 @@ msgstr "" "actuel. Notez que le dossier du script est inséré *avant* les dossiers de :" "envvar:`PYTHONPATH`." -#: library/sys.rst:1107 +#: library/sys.rst:1131 msgid "" "A program is free to modify this list for its own purposes. Only strings " "and bytes should be added to :data:`sys.path`; all other data types are " @@ -2039,7 +2090,7 @@ msgstr "" "Seuls des *str* ou des *bytes* ne devraient être ajoutés à :data:`sys.path`, " "tous les autres types de données étant ignorés durant l'importation." -#: library/sys.rst:1113 +#: library/sys.rst:1137 msgid "" "Module :mod:`site` This describes how to use .pth files to extend :data:`sys." "path`." @@ -2047,7 +2098,7 @@ msgstr "" "Le module :mod:`site` décrit comment utiliser les fichiers *.pth* pour " "étendre :data:`sys.path`." -#: library/sys.rst:1119 +#: library/sys.rst:1143 msgid "" "A list of callables that take a path argument to try to create a :term:" "`finder` for the path. If a finder can be created, it is to be returned by " @@ -2057,11 +2108,11 @@ msgstr "" "`finder` pour ce chemin. Si un *finder* peut être créé, il doit être renvoyé " "par l'appelable, sinon une :exc:`ImportError` doit être levée." -#: library/sys.rst:1134 +#: library/sys.rst:1158 msgid "Originally specified in :pep:`302`." msgstr "Précisé à l'origine dans la :pep:`302`." -#: library/sys.rst:1128 +#: library/sys.rst:1152 msgid "" "A dictionary acting as a cache for :term:`finder` objects. The keys are " "paths that have been passed to :data:`sys.path_hooks` and the values are the " @@ -2074,7 +2125,7 @@ msgstr "" "de fichiers mais qu'aucun *finder* n'est trouvé dans :data:`sys.path_hooks`, " "``None`` est stocké." -#: library/sys.rst:1136 +#: library/sys.rst:1160 msgid "" "``None`` is stored instead of :class:`imp.NullImporter` when no finder is " "found." @@ -2082,7 +2133,7 @@ msgstr "" "``None`` est stocké à la place de :class:`imp.NullImporter` si aucun " "localisateur n'est trouvé." -#: library/sys.rst:1143 +#: library/sys.rst:1167 msgid "" "This string contains a platform identifier that can be used to append " "platform-specific components to :data:`sys.path`, for instance." @@ -2091,7 +2142,7 @@ msgstr "" "typiquement utilisé pour ajouter des composants spécifiques à :data:`sys." "path`." -#: library/sys.rst:1146 +#: library/sys.rst:1170 msgid "" "For Unix systems, except on Linux and AIX, this is the lowercased OS name as " "returned by ``uname -s`` with the first part of the version as returned by " @@ -2106,59 +2157,59 @@ msgstr "" "souhaitiez tester pour une version spécifique du système, vous pouvez faire " "comme suit ::" -#: library/sys.rst:1159 +#: library/sys.rst:1183 msgid "For other systems, the values are:" msgstr "Pour les autres systèmes, les valeurs sont :" -#: library/sys.rst:1162 +#: library/sys.rst:1186 msgid "System" msgstr "Le système une station de travail." -#: library/sys.rst:1162 +#: library/sys.rst:1186 msgid "``platform`` value" msgstr "Valeur pour ``plateforme``" -#: library/sys.rst:1164 +#: library/sys.rst:1188 msgid "AIX" msgstr "AIX" -#: library/sys.rst:1164 +#: library/sys.rst:1188 msgid "``'aix'``" msgstr "``'aix'``" -#: library/sys.rst:1165 +#: library/sys.rst:1189 msgid "Linux" msgstr "Linux" -#: library/sys.rst:1165 +#: library/sys.rst:1189 msgid "``'linux'``" msgstr "``'linux'``" -#: library/sys.rst:1166 +#: library/sys.rst:1190 msgid "Windows" msgstr "Windows" -#: library/sys.rst:1166 +#: library/sys.rst:1190 msgid "``'win32'``" msgstr "``'win32'``" -#: library/sys.rst:1167 +#: library/sys.rst:1191 msgid "Windows/Cygwin" msgstr "Windows/Cygwin" -#: library/sys.rst:1167 +#: library/sys.rst:1191 msgid "``'cygwin'``" msgstr "``'cygwin'``" -#: library/sys.rst:1168 +#: library/sys.rst:1192 msgid "macOS" msgstr "macOS" -#: library/sys.rst:1168 +#: library/sys.rst:1192 msgid "``'darwin'``" msgstr "``'darwin'``" -#: library/sys.rst:1171 +#: library/sys.rst:1195 msgid "" "On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " @@ -2170,7 +2221,7 @@ msgstr "" "anciennes versions de Python incluent le numéro de version, il est " "recommandé de toujours utiliser ``startswith``, tel qu'utilisé ci-dessus." -#: library/sys.rst:1177 +#: library/sys.rst:1201 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since older " @@ -2182,7 +2233,7 @@ msgstr "" "anciennes versions de Python incluent le numéro de version, il est " "recommandé de toujours utiliser ``startswith``, tel qu'utilisé ci-dessus." -#: library/sys.rst:1185 +#: library/sys.rst:1209 msgid "" ":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" "dependent version information." @@ -2190,7 +2241,7 @@ msgstr "" ":attr:`os.name` a une granularité plus grossière. :func:`os.uname` donne des " "informations sur la version dépendantes du système." -#: library/sys.rst:1188 +#: library/sys.rst:1212 msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." @@ -2198,45 +2249,45 @@ msgstr "" "Le module :mod:`platform` fournit des vérifications détaillées pour " "l'identité du système." -#: library/sys.rst:1194 +#: library/sys.rst:1218 msgid "" "Name of the platform-specific library directory. It is used to build the " "path of standard library and the paths of installed extension modules." msgstr "" -#: library/sys.rst:1197 +#: library/sys.rst:1221 msgid "" "It is equal to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is " "equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." "path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" msgstr "" -#: library/sys.rst:1201 +#: library/sys.rst:1225 msgid "" "``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " "module)" msgstr "" -#: library/sys.rst:1203 +#: library/sys.rst:1227 msgid "" "``/usr/lib64/pythonX.Y/lib-dynload/``: C extension modules of the standard " "library (like the :mod:`errno` module, the exact filename is platform " "specific)" msgstr "" -#: library/sys.rst:1206 +#: library/sys.rst:1230 msgid "" "``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." "platlibdir`): Third-party modules" msgstr "" -#: library/sys.rst:1208 +#: library/sys.rst:1232 msgid "" "``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " "packages" msgstr "" -#: library/sys.rst:1216 +#: library/sys.rst:1240 #, fuzzy msgid "" "A string giving the site-specific directory prefix where the platform " @@ -2255,7 +2306,7 @@ msgstr "" "stockées dans :file:`{prefix}/include/python{X.Y}`, où *X.Y* est le numéro " "de version de Python, par exemple ``3.2``." -#: library/sys.rst:1222 +#: library/sys.rst:1246 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " @@ -2266,7 +2317,7 @@ msgstr "" "donnée au moment de la compilation de Python sera toujours disponible, dans :" "data:`base_prefix`." -#: library/sys.rst:1237 +#: library/sys.rst:1261 msgid "" "Strings specifying the primary and secondary prompt of the interpreter. " "These are only defined if the interpreter is in interactive mode. Their " @@ -2283,7 +2334,7 @@ msgstr "" "à lire une nouvelle commande interactive, c'est donc utilisable pour " "implémenter une invite dynamique." -#: library/sys.rst:1247 +#: library/sys.rst:1271 msgid "" "Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " "when the interpreter loads extension modules. Among other things, this will " @@ -2302,7 +2353,14 @@ msgstr "" "trouvés dans le module :mod:`os` (ce sont les constantes ``RTLD_xxx``, " "comme :data:`os.RTLD_LAZY`)." -#: library/sys.rst:1263 +#: library/sys.rst:1283 +msgid "" +"Set the :ref:`integer string conversion length limitation " +"` used by this interpreter. See also :func:" +"`get_int_max_str_digits`." +msgstr "" + +#: library/sys.rst:1295 msgid "" "Set the system's profile function, which allows you to implement a Python " "source code profiler in Python. See chapter :ref:`profile` for more " @@ -2330,7 +2388,7 @@ msgstr "" "*multithread*. Sa valeur de retour n'est pas utilisée, elle peut simplement " "renvoyer ``None``." -#: library/sys.rst:1274 +#: library/sys.rst:1306 msgid "" "Profile functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2343,21 +2401,21 @@ msgstr "" "``'c_call'``, ``'c_return'`` ou ``'c_exception'``. *arg* dépend du type de " "l'évènement." -#: library/sys.rst:1279 +#: library/sys.rst:1311 msgid "" "Raises an :ref:`auditing event ` ``sys.setprofile`` with no " "arguments." msgstr "" -#: library/sys.rst:1362 +#: library/sys.rst:1394 msgid "The events have the following meaning:" msgstr "Les événements ont la signification suivante :" -#: library/sys.rst:1367 +#: library/sys.rst:1399 msgid "``'call'``" msgstr "``'call'``" -#: library/sys.rst:1284 +#: library/sys.rst:1316 msgid "" "A function is called (or some other code block entered). The profile " "function is called; *arg* is ``None``." @@ -2365,11 +2423,11 @@ msgstr "" "Une fonction est appelée (ou Python entre dans un autre bloc de code). La " "fonction de traçage est appelée, *arg* est ``None``." -#: library/sys.rst:1382 +#: library/sys.rst:1414 msgid "``'return'``" msgstr "``'return'``" -#: library/sys.rst:1288 +#: library/sys.rst:1320 msgid "" "A function (or other code block) is about to return. The profile function " "is called; *arg* is the value that will be returned, or ``None`` if the " @@ -2379,11 +2437,11 @@ msgstr "" "fonction de traçage est appelée, *arg* est la valeur qui sera renvoyée, ou " "``None`` si l'événement est causé par la levée d'une exception." -#: library/sys.rst:1294 +#: library/sys.rst:1326 msgid "``'c_call'``" msgstr "``'c_call'``" -#: library/sys.rst:1293 +#: library/sys.rst:1325 msgid "" "A C function is about to be called. This may be an extension function or a " "built-in. *arg* is the C function object." @@ -2391,23 +2449,23 @@ msgstr "" "Une fonction C est sur le point d'être appelée. C'est soit une fonction " "d'extension ou une fonction native. *arg* représente la fonction C." -#: library/sys.rst:1297 +#: library/sys.rst:1329 msgid "``'c_return'``" msgstr "``'c_return'``" -#: library/sys.rst:1297 +#: library/sys.rst:1329 msgid "A C function has returned. *arg* is the C function object." msgstr "Une fonction C a renvoyé une valeur. *arg* représente la fonction C." -#: library/sys.rst:1299 +#: library/sys.rst:1331 msgid "``'c_exception'``" msgstr "``'c_exception'``" -#: library/sys.rst:1300 +#: library/sys.rst:1332 msgid "A C function has raised an exception. *arg* is the C function object." msgstr "Une fonction C a levé une exception. *arg* représente la fonction C." -#: library/sys.rst:1304 +#: library/sys.rst:1336 msgid "" "Set the maximum depth of the Python interpreter stack to *limit*. This " "limit prevents infinite recursion from causing an overflow of the C stack " @@ -2417,7 +2475,7 @@ msgstr "" "*limit*. Cette limite empêche une récursion infinie de provoquer un " "débordement de la pile C et ainsi un crash de Python." -#: library/sys.rst:1308 +#: library/sys.rst:1340 msgid "" "The highest possible limit is platform-dependent. A user may need to set " "the limit higher when they have a program that requires deep recursion and a " @@ -2429,7 +2487,7 @@ msgstr "" "profonde, si sa plate-forme le permet. Cela doit être fait avec précaution, " "car une limite trop élevée peut conduire à un crash." -#: library/sys.rst:1313 +#: library/sys.rst:1345 msgid "" "If the new limit is too low at the current recursion depth, a :exc:" "`RecursionError` exception is raised." @@ -2437,7 +2495,7 @@ msgstr "" "Si la nouvelle limite est plus basse que la profondeur actuelle, une :exc:" "`RecursionError` est levée." -#: library/sys.rst:1316 +#: library/sys.rst:1348 msgid "" "A :exc:`RecursionError` exception is now raised if the new limit is too low " "at the current recursion depth." @@ -2445,7 +2503,7 @@ msgstr "" "Une :exc:`RecursionError` est maintenant levée si la nouvelle limite est " "plus basse que la profondeur de récursion actuelle." -#: library/sys.rst:1323 +#: library/sys.rst:1355 msgid "" "Set the interpreter's thread switch interval (in seconds). This floating-" "point value determines the ideal duration of the \"timeslices\" allocated to " @@ -2463,7 +2521,7 @@ msgstr "" "d'exécution prenant la main à la fin de l'intervalle revient au système " "d'exploitation. L'interpréteur n'a pas son propre ordonnanceur." -#: library/sys.rst:1340 +#: library/sys.rst:1372 msgid "" "Set the system's trace function, which allows you to implement a Python " "source code debugger in Python. The function is thread-specific; for a " @@ -2478,7 +2536,7 @@ msgstr "" "pour chaque fil d'exécution qu'il souhaite surveiller ou utilisez :func:" "`threading.settrace`." -#: library/sys.rst:1345 +#: library/sys.rst:1377 msgid "" "Trace functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2490,7 +2548,7 @@ msgstr "" "chaîne de caractères pouvant valoir : ``'call'``, ``'line'``, ``'return'``, " "``'exception'`` ou ``'opcode'``. *arg* dépend du type de l'évènement." -#: library/sys.rst:1350 +#: library/sys.rst:1382 msgid "" "The trace function is invoked (with *event* set to ``'call'``) whenever a " "new local scope is entered; it should return a reference to a local trace " @@ -2502,7 +2560,7 @@ msgstr "" "référence à une fonction de traçage locale à utiliser pour ce *scope*, ou " "``None`` si le *Scope* ne doit pas être tracé." -#: library/sys.rst:1355 +#: library/sys.rst:1387 msgid "" "The local trace function should return a reference to itself (or to another " "function for further tracing in that scope), or ``None`` to turn off tracing " @@ -2512,7 +2570,7 @@ msgstr "" "autre fonction de traçage pour un traçage ultérieur dans cette portée), ou " "``None`` pour désactiver le traçage dans cette portée." -#: library/sys.rst:1359 +#: library/sys.rst:1391 msgid "" "If there is any error occurred in the trace function, it will be unset, just " "like ``settrace(None)`` is called." @@ -2520,7 +2578,7 @@ msgstr "" "Si une erreur se produit dans la fonction de trace, elle sera désactivée, " "tout comme si ``settrace(None)`` avait été appelée." -#: library/sys.rst:1365 +#: library/sys.rst:1397 msgid "" "A function is called (or some other code block entered). The global trace " "function is called; *arg* is ``None``; the return value specifies the local " @@ -2530,11 +2588,11 @@ msgstr "" "globale est appelée, *arg* est ``None``, la valeur renvoyée donne la " "fonction de traçage locale." -#: library/sys.rst:1376 +#: library/sys.rst:1408 msgid "``'line'``" msgstr "``'line'``" -#: library/sys.rst:1370 +#: library/sys.rst:1402 msgid "" "The interpreter is about to execute a new line of code or re-execute the " "condition of a loop. The local trace function is called; *arg* is ``None``; " @@ -2551,7 +2609,7 @@ msgstr "" "désactivés pour un cadre d'exécution en mettant :attr:`f_trace_lines` à :" "const:`False` pour ce cadre d'exécution." -#: library/sys.rst:1379 +#: library/sys.rst:1411 msgid "" "A function (or other code block) is about to return. The local trace " "function is called; *arg* is the value that will be returned, or ``None`` if " @@ -2563,11 +2621,11 @@ msgstr "" "renvoyée, ou ``None`` si l'événement est causé par la levée d'une exception. " "La valeur renvoyée par la fonction de traçage est ignorée." -#: library/sys.rst:1387 +#: library/sys.rst:1419 msgid "``'exception'``" msgstr "``'exception'``" -#: library/sys.rst:1385 +#: library/sys.rst:1417 msgid "" "An exception has occurred. The local trace function is called; *arg* is a " "tuple ``(exception, value, traceback)``; the return value specifies the new " @@ -2577,11 +2635,11 @@ msgstr "" "est le triplet ``(exception, valeur, traceback)``, la valeur renvoyée " "spécifie la nouvelle fonction de traçage locale." -#: library/sys.rst:1395 +#: library/sys.rst:1427 msgid "``'opcode'``" msgstr "``'opcode'``" -#: library/sys.rst:1390 +#: library/sys.rst:1422 msgid "" "The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " "details). The local trace function is called; *arg* is ``None``; the return " @@ -2596,7 +2654,7 @@ msgstr "" "explicitement requis en mettant :attr:`f_trace_opcodes` à :const:`True` pour " "cette *frame*." -#: library/sys.rst:1397 +#: library/sys.rst:1429 msgid "" "Note that as an exception is propagated down the chain of callers, an " "``'exception'`` event is generated at each level." @@ -2604,7 +2662,7 @@ msgstr "" "Remarquez que, comme une exception se propage au travers de toute chaîne " "d'appelants, un événement ``'exception'`` est généré à chaque niveau." -#: library/sys.rst:1400 +#: library/sys.rst:1432 msgid "" "For more fine-grained usage, it's possible to set a trace function by " "assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on " @@ -2618,19 +2676,19 @@ msgid "" "on each frame)." msgstr "" -#: library/sys.rst:1411 +#: library/sys.rst:1443 msgid "For more information on code and frame objects, refer to :ref:`types`." msgstr "" "Pour plus d'informations sur les objets code et objets représentant une " "*frame* de la pile, consultez :ref:`types`." -#: library/sys.rst:1413 +#: library/sys.rst:1445 msgid "" "Raises an :ref:`auditing event ` ``sys.settrace`` with no " "arguments." msgstr "" -#: library/sys.rst:1417 +#: library/sys.rst:1449 msgid "" "The :func:`settrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -2643,7 +2701,7 @@ msgstr "" "que de la définition du langage, et peut donc ne pas être disponible dans " "toutes les implémentations de Python." -#: library/sys.rst:1424 +#: library/sys.rst:1456 msgid "" "``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" "`f_trace_opcodes` attributes added to frames" @@ -2651,7 +2709,7 @@ msgstr "" "Ajout du type d’événement ``'opcode'`` ; les attributs :attr:`f_trace_lines` " "et :attr:`f_trace_opcodes` ont été ajoutés aux cadres d'exécution" -#: library/sys.rst:1429 +#: library/sys.rst:1461 msgid "" "Accepts two optional keyword arguments which are callables that accept an :" "term:`asynchronous generator iterator` as an argument. The *firstiter* " @@ -2665,25 +2723,25 @@ msgstr "" "première fois, et l'appelable *finalizer* sera appelé lorsqu'un générateur " "asynchrone est sur le point d'être détruit." -#: library/sys.rst:1435 +#: library/sys.rst:1467 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_firstiter`` with no arguments." msgstr "" -#: library/sys.rst:1437 +#: library/sys.rst:1469 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_finalizer`` with no arguments." msgstr "" -#: library/sys.rst:1439 +#: library/sys.rst:1471 msgid "" "Two auditing events are raised because the underlying API consists of two " "calls, each of which must raise its own event." msgstr "" -#: library/sys.rst:1442 +#: library/sys.rst:1474 msgid "" "See :pep:`525` for more details, and for a reference example of a " "*finalizer* method see the implementation of ``asyncio.Loop." @@ -2693,7 +2751,7 @@ msgstr "" "voir l'implémentation de ``asyncio.Loop.shutdown_asyncgens`` dans :source:" "`Lib/asyncio/base_events.py`" -#: library/sys.rst:1454 +#: library/sys.rst:1486 msgid "" "Allows enabling or disabling coroutine origin tracking. When enabled, the " "``cr_origin`` attribute on coroutine objects will contain a tuple of " @@ -2708,7 +2766,7 @@ msgstr "" "coroutine a été créé, avec l'appel le plus récent en premier. Lorsqu'il est " "désactivé, la valeur de ``cr_origin`` est ``None``." -#: library/sys.rst:1461 +#: library/sys.rst:1493 msgid "" "To enable, pass a *depth* value greater than zero; this sets the number of " "frames whose information will be captured. To disable, pass set *depth* to " @@ -2718,11 +2776,11 @@ msgstr "" "le nombre de cadres d'exécution dont les informations sont capturées. Pour " "le désactiver, mettez *depth* à zéro." -#: library/sys.rst:1465 +#: library/sys.rst:1497 msgid "This setting is thread-specific." msgstr "Ce paramètre est spécifique au fil d'exécution courant." -#: library/sys.rst:1475 +#: library/sys.rst:1507 #, fuzzy msgid "" "Changes the :term:`filesystem encoding and error handler` to 'mbcs' and " @@ -2732,7 +2790,7 @@ msgstr "" "fichiers à *mbcs* et *replace* respectivement, par cohérence avec les " "versions de Python antérieures à la 3.6." -#: library/sys.rst:1479 +#: library/sys.rst:1511 msgid "" "This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " "environment variable before launching Python." @@ -2740,17 +2798,17 @@ msgstr "" "Équivaut à définir la variable d'environnement :envvar:" "`PYTHONLEGACYWINDOWSFSENCODING` avant de lancer Python." -#: library/sys.rst:1482 +#: library/sys.rst:1514 msgid "" "See also :func:`sys.getfilesystemencoding` and :func:`sys." "getfilesystemencodeerrors`." msgstr "" -#: library/sys.rst:1487 +#: library/sys.rst:1519 msgid "See :pep:`529` for more details." msgstr "Voir la :pep:`529` pour plus d'informations." -#: library/sys.rst:1494 +#: library/sys.rst:1526 msgid "" ":term:`File objects ` used by the interpreter for standard " "input, output and errors:" @@ -2758,7 +2816,7 @@ msgstr "" ":term:`objets fichiers ` utilisés par l'interpréteur pour " "l'entrée standard, la sortie standard et la sortie d'erreurs :" -#: library/sys.rst:1497 +#: library/sys.rst:1529 msgid "" "``stdin`` is used for all interactive input (including calls to :func:" "`input`);" @@ -2766,7 +2824,7 @@ msgstr "" "``stdin`` est utilisé pour toutes les entrées interactives (y compris les " "appels à :func:`input`)" -#: library/sys.rst:1499 +#: library/sys.rst:1531 msgid "" "``stdout`` is used for the output of :func:`print` and :term:`expression` " "statements and for the prompts of :func:`input`;" @@ -2774,13 +2832,13 @@ msgstr "" "``stdout`` est utilisé pour la sortie de :func:`print`, des :term:" "`expression` et pour les invites de :func:`input` ;" -#: library/sys.rst:1501 +#: library/sys.rst:1533 msgid "The interpreter's own prompts and its error messages go to ``stderr``." msgstr "" "Les invites de l'interpréteur et ses messages d'erreur sont écrits sur " "``stderr``." -#: library/sys.rst:1503 +#: library/sys.rst:1535 msgid "" "These streams are regular :term:`text files ` like those returned " "by the :func:`open` function. Their parameters are chosen as follows:" @@ -2789,13 +2847,13 @@ msgstr "" "renvoyés par la fonction :func:`open`. Leurs paramètres sont choisis comme " "suit :" -#: library/sys.rst:1507 +#: library/sys.rst:1539 msgid "" "The encoding and error handling are is initialized from :c:member:`PyConfig." "stdio_encoding` and :c:member:`PyConfig.stdio_errors`." msgstr "" -#: library/sys.rst:1510 +#: library/sys.rst:1542 #, fuzzy msgid "" "On Windows, UTF-8 is used for the console device. Non-character devices " @@ -2817,7 +2875,7 @@ msgstr "" "régionaux système si le processus n'est pas attaché initialement à une " "console." -#: library/sys.rst:1519 +#: library/sys.rst:1551 msgid "" "The special behaviour of the console can be overridden by setting the " "environment variable PYTHONLEGACYWINDOWSSTDIO before starting Python. In " @@ -2828,7 +2886,7 @@ msgstr "" "Python. Dans ce cas, les pages de code de la console sont utilisées comme " "pour tout autre périphérique de caractères." -#: library/sys.rst:1524 +#: library/sys.rst:1556 msgid "" "Under all platforms, you can override the character encoding by setting the :" "envvar:`PYTHONIOENCODING` environment variable before starting Python or by " @@ -2843,7 +2901,7 @@ msgstr "" "Toutefois, pour la console Windows, cela s'applique uniquement lorsque :" "envvar:`PYTHONLEGACYWINDOWSSTDIO` est également défini." -#: library/sys.rst:1531 +#: library/sys.rst:1563 #, fuzzy msgid "" "When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " @@ -2857,12 +2915,12 @@ msgstr "" "fichiers textes classiques. Vous pouvez remplacer cette valeur avec " "l'option :option:`-u` en ligne de commande." -#: library/sys.rst:1537 +#: library/sys.rst:1569 msgid "" "Non-interactive ``stderr`` is now line-buffered instead of fully buffered." msgstr "" -#: library/sys.rst:1543 +#: library/sys.rst:1575 msgid "" "To write or read binary data from/to the standard streams, use the " "underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " @@ -2873,7 +2931,7 @@ msgstr "" "pour écrire des octets sur :data:`stdout`, utilisez ``sys.stdout.buffer." "write(b'abc')``." -#: library/sys.rst:1547 +#: library/sys.rst:1579 msgid "" "However, if you are writing a library (and do not control in which context " "its code will be executed), be aware that the standard streams may be " @@ -2885,7 +2943,7 @@ msgstr "" "remplacés par des objets de type fichier tel un :class:`io.StringIO` qui " "n'ont pas l'attribut :attr:`~io.BufferedIOBase.buffer`." -#: library/sys.rst:1557 +#: library/sys.rst:1589 msgid "" "These objects contain the original values of ``stdin``, ``stderr`` and " "``stdout`` at the start of the program. They are used during finalization, " @@ -2897,7 +2955,7 @@ msgstr "" "pendant la finalisation, et peuvent être utiles pour écrire dans le vrai " "flux standard, peu importe si l'objet ``sys.std*`` a été redirigé." -#: library/sys.rst:1562 +#: library/sys.rst:1594 msgid "" "It can also be used to restore the actual files to known working file " "objects in case they have been overwritten with a broken object. However, " @@ -2909,7 +2967,7 @@ msgstr "" "cependant la bonne façon de faire serait de sauvegarder explicitement les " "flux avant de les remplacer et ainsi pouvoir les restaurer." -#: library/sys.rst:1568 +#: library/sys.rst:1600 msgid "" "Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " "original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " @@ -2922,12 +2980,12 @@ msgstr "" "Windows qui ne sont pas connectées à une console, ou les applications Python " "démarrées avec :program:`pythonw`." -#: library/sys.rst:1576 +#: library/sys.rst:1608 msgid "" "A frozenset of strings containing the names of standard library modules." msgstr "" -#: library/sys.rst:1578 +#: library/sys.rst:1610 msgid "" "It is the same on all platforms. Modules which are not available on some " "platforms and modules disabled at Python build are also listed. All module " @@ -2935,7 +2993,7 @@ msgid "" "modules are excluded." msgstr "" -#: library/sys.rst:1583 +#: library/sys.rst:1615 msgid "" "For packages, only the main package is listed: sub-packages and sub-modules " "are not listed. For example, the ``email`` package is listed, but the " @@ -2943,63 +3001,63 @@ msgid "" "listed." msgstr "" -#: library/sys.rst:1588 +#: library/sys.rst:1620 msgid "See also the :attr:`sys.builtin_module_names` list." msgstr "" -#: library/sys.rst:1595 +#: library/sys.rst:1627 msgid "" "A :term:`named tuple` holding information about the thread implementation." msgstr "" "Un :term:`named tuple` contenant des informations sur l'implémentation des " "fils d'exécution." -#: library/sys.rst:1603 +#: library/sys.rst:1635 msgid ":const:`name`" msgstr ":const:`name`" -#: library/sys.rst:1603 +#: library/sys.rst:1635 msgid "Name of the thread implementation:" msgstr "Nom de l'implémentation des fils d'exécution :" -#: library/sys.rst:1605 +#: library/sys.rst:1637 msgid "``'nt'``: Windows threads" msgstr "``'nt'`` : Fils d'exécution Windows" -#: library/sys.rst:1606 +#: library/sys.rst:1638 msgid "``'pthread'``: POSIX threads" msgstr "``'pthread'`` : Fils d'exécution POSIX" -#: library/sys.rst:1607 +#: library/sys.rst:1639 msgid "``'solaris'``: Solaris threads" msgstr "``'solaris'`` : Fils d'exécution Solaris" -#: library/sys.rst:1609 +#: library/sys.rst:1641 msgid ":const:`lock`" msgstr ":const:`lock`" -#: library/sys.rst:1609 +#: library/sys.rst:1641 msgid "Name of the lock implementation:" msgstr "Nom de l'implémentation du système de verrou :" -#: library/sys.rst:1611 +#: library/sys.rst:1643 msgid "``'semaphore'``: a lock uses a semaphore" msgstr "``'semaphore'`` : Verrou utilisant une sémaphore" -#: library/sys.rst:1612 +#: library/sys.rst:1644 msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" msgstr "" "``'mutex+cond'`` : Un verrou utilisant un *mutex* et une *condition variable*" -#: library/sys.rst:1614 +#: library/sys.rst:1646 msgid "``None`` if this information is unknown" msgstr "``None`` si cette information n'est pas connue" -#: library/sys.rst:1616 +#: library/sys.rst:1648 msgid ":const:`version`" msgstr ":const:`version`" -#: library/sys.rst:1616 +#: library/sys.rst:1648 msgid "" "Name and version of the thread library. It is a string, or ``None`` if this " "information is unknown." @@ -3007,7 +3065,7 @@ msgstr "" "Nom et version de l'implémentation des fils d'exécution, c'est une chaîne, " "ou ``None`` si ces informations sont inconnues." -#: library/sys.rst:1625 +#: library/sys.rst:1657 msgid "" "When this variable is set to an integer value, it determines the maximum " "number of levels of traceback information printed when an unhandled " @@ -3021,55 +3079,55 @@ msgstr "" "est égale ou inférieure à ``0``, la pile d'appels n'est pas affichée, seul " "seuls le type et la valeur de l'exception sont le sont." -#: library/sys.rst:1633 +#: library/sys.rst:1665 msgid "Handle an unraisable exception." msgstr "" -#: library/sys.rst:1635 +#: library/sys.rst:1667 msgid "" "Called when an exception has occurred but there is no way for Python to " "handle it. For example, when a destructor raises an exception or during " "garbage collection (:func:`gc.collect`)." msgstr "" -#: library/sys.rst:1639 +#: library/sys.rst:1671 msgid "The *unraisable* argument has the following attributes:" msgstr "Les arguments *unraisable* ont la signification suivante :" -#: library/sys.rst:1641 +#: library/sys.rst:1673 msgid "*exc_type*: Exception type." msgstr "*exc_type* : le type de l'exception ;" -#: library/sys.rst:1642 +#: library/sys.rst:1674 msgid "*exc_value*: Exception value, can be ``None``." msgstr "*exc_value*: la valeur de l'exception, peut être ``None`` ;" -#: library/sys.rst:1643 +#: library/sys.rst:1675 msgid "*exc_traceback*: Exception traceback, can be ``None``." msgstr "" "*exc_traceback* : la pile d'appels pour cette exception, peut être ``None`` ;" -#: library/sys.rst:1644 +#: library/sys.rst:1676 msgid "*err_msg*: Error message, can be ``None``." msgstr "" -#: library/sys.rst:1645 +#: library/sys.rst:1677 msgid "*object*: Object causing the exception, can be ``None``." msgstr "" -#: library/sys.rst:1647 +#: library/sys.rst:1679 msgid "" "The default hook formats *err_msg* and *object* as: ``f'{err_msg}: {object!" "r}'``; use \"Exception ignored in\" error message if *err_msg* is ``None``." msgstr "" -#: library/sys.rst:1651 +#: library/sys.rst:1683 msgid "" ":func:`sys.unraisablehook` can be overridden to control how unraisable " "exceptions are handled." msgstr "" -#: library/sys.rst:1654 +#: library/sys.rst:1686 msgid "" "Storing *exc_value* using a custom hook can create a reference cycle. It " "should be cleared explicitly to break the reference cycle when the exception " @@ -3079,7 +3137,7 @@ msgstr "" "créer un cycle de références. *exc_value* doit être nettoyée explicitement " "pour casser ce cycle lorsque l'exception n'est plus nécessaire." -#: library/sys.rst:1658 +#: library/sys.rst:1690 #, fuzzy msgid "" "Storing *object* using a custom hook can resurrect it if it is set to an " @@ -3091,17 +3149,17 @@ msgstr "" "*thread* après la fin de la fonction de rappel, pour éviter de ressusciter " "des objets." -#: library/sys.rst:1662 +#: library/sys.rst:1694 msgid "See also :func:`excepthook` which handles uncaught exceptions." msgstr "" -#: library/sys.rst:1664 +#: library/sys.rst:1696 msgid "" "Raises an :ref:`auditing event ` ``sys.unraisablehook`` with " "arguments ``hook``, ``unraisable``." msgstr "" -#: library/sys.rst:1666 +#: library/sys.rst:1698 msgid "" "Raise an auditing event ``sys.unraisablehook`` with arguments ``hook``, " "``unraisable`` when an exception that cannot be handled occurs. The " @@ -3109,7 +3167,7 @@ msgid "" "hook has been set, ``hook`` may be ``None``." msgstr "" -#: library/sys.rst:1675 +#: library/sys.rst:1707 msgid "" "A string containing the version number of the Python interpreter plus " "additional information on the build number and compiler used. This string " @@ -3124,7 +3182,7 @@ msgstr "" "utilisez plutôt :data:`version_info` et les fonctions fournies par le " "module :mod:`platform`." -#: library/sys.rst:1684 +#: library/sys.rst:1716 msgid "" "The C API version for this interpreter. Programmers may find this useful " "when debugging version conflicts between Python and extension modules." @@ -3133,7 +3191,7 @@ msgstr "" "trouver cette information utile en déboguant des conflits de versions entre " "Python et des modules d'extension." -#: library/sys.rst:1690 +#: library/sys.rst:1722 msgid "" "A tuple containing the five components of the version number: *major*, " "*minor*, *micro*, *releaselevel*, and *serial*. All values except " @@ -3151,11 +3209,11 @@ msgstr "" "attributs sont aussi accessibles par leur nom, ainsi ``sys.version_info[0]`` " "est équivalent à ``sys.version_info.major``, et ainsi de suite." -#: library/sys.rst:1698 +#: library/sys.rst:1730 msgid "Added named component attributes." msgstr "Ajout des attributs nommés." -#: library/sys.rst:1703 +#: library/sys.rst:1735 msgid "" "This is an implementation detail of the warnings framework; do not modify " "this value. Refer to the :mod:`warnings` module for more information on the " @@ -3165,7 +3223,7 @@ msgstr "" "Ne modifiez pas cette valeur. Reportez-vous au module :mod:`warnings` pour " "plus d'informations sur le gestionnaire d'avertissements." -#: library/sys.rst:1710 +#: library/sys.rst:1742 msgid "" "The version number used to form registry keys on Windows platforms. This is " "stored as string resource 1000 in the Python DLL. The value is normally the " @@ -3180,7 +3238,7 @@ msgstr "" "d'information, et la modifier n'a aucun effet sur les clés de registre " "utilisées par Python." -#: library/sys.rst:1721 +#: library/sys.rst:1753 msgid "" "A dictionary of the various implementation-specific flags passed through " "the :option:`-X` command-line option. Option names are either mapped to " @@ -3191,7 +3249,7 @@ msgstr "" "correspondent soit leur valeur, si elle est donnée explicitement, soit à :" "const:`True`. Exemple :" -#: library/sys.rst:1737 +#: library/sys.rst:1769 msgid "" "This is a CPython-specific way of accessing options passed through :option:`-" "X`. Other implementations may export them through other means, or not at " @@ -3201,14 +3259,15 @@ msgstr "" "l'option :option:`-X`. D'autres implémentations pourraient les exposer par " "d'autres moyens, ou pas du tout." -#: library/sys.rst:1745 +#: library/sys.rst:1777 msgid "Citations" msgstr "Citations" -#: library/sys.rst:1746 +#: library/sys.rst:1778 +#, fuzzy msgid "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " -"standard is available at http://www.open-std.org/jtc1/sc22/wg14/www/docs/" +"standard is available at https://www.open-std.org/jtc1/sc22/wg14/www/docs/" "n1256.pdf\\ ." msgstr "" "*ISO/IEC 9899:1999*. \"Langages de programmation -- C.\" Un texte public " diff --git a/library/syslog.po b/library/syslog.po index 596ba93fc3..174424a728 100644 --- a/library/syslog.po +++ b/library/syslog.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-03-19 16:59+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-06 18:42-0400\n" "Last-Translator: Nicolas Haller \n" "Language-Team: FRENCH \n" @@ -61,9 +61,10 @@ msgstr "" "donnée lors de l'appel à :func:`openlog` est utilisée." #: library/syslog.rst:31 +#, fuzzy msgid "" -"If :func:`openlog` has not been called prior to the call to :func:`syslog`, " -"``openlog()`` will be called with no arguments." +"If :func:`openlog` has not been called prior to the call to :func:`syslog`, :" +"func:`openlog` will be called with no arguments." msgstr "" "Si :func:`openlog` n'a pas été appelé avant :func:`syslog`, ``openlog()`` " "sera appelée sans argument." @@ -76,7 +77,14 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``syslog.syslog`` avec les " "arguments ``priority``, ``message``." -#: library/syslog.rst:39 +#: library/syslog.rst:36 +msgid "" +"In previous versions, :func:`openlog` would not be called automatically if " +"it wasn't called prior to the call to :func:`syslog`, deferring to the " +"syslog implementation to call ``openlog()``." +msgstr "" + +#: library/syslog.rst:44 msgid "" "Logging options of subsequent :func:`syslog` calls can be set by calling :" "func:`openlog`. :func:`syslog` will call :func:`openlog` with no arguments " @@ -86,7 +94,7 @@ msgstr "" "peuvent être définies en appelant :func:`openlog`. :func:`syslog` " "appellera :func:`openlog` sans argument si le journal n'est pas déjà ouvert." -#: library/syslog.rst:43 +#: library/syslog.rst:48 msgid "" "The optional *ident* keyword argument is a string which is prepended to " "every message, and defaults to ``sys.argv[0]`` with leading path components " @@ -103,7 +111,7 @@ msgstr "" "définit la fonction à utiliser pour les messages qui n'en définissent pas. " "Par défaut, :const:`LOG_USER` est utilisée." -#: library/syslog.rst:50 +#: library/syslog.rst:55 msgid "" "Raises an :ref:`auditing event ` ``syslog.openlog`` with arguments " "``ident``, ``logoption``, ``facility``." @@ -111,26 +119,20 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``syslog.openlog`` avec les " "arguments ``ident``, ``logoption``, ``facility``." -#: library/syslog.rst:52 -#, fuzzy +#: library/syslog.rst:57 msgid "" "In previous versions, keyword arguments were not allowed, and *ident* was " -"required. The default for *ident* was dependent on the system libraries, " -"and often was ``python`` instead of the name of the Python program file." +"required." msgstr "" -"Dans les versions précédentes, les arguments nommés n'étaient pas autorisés " -"et *ident* était requis. La valeur par défaut pour *ident* dépendait des " -"bibliothèques systèmes et été parfois définie à ``python`` au lieu " -"d'utiliser le nom du fichier du programme Python." -#: library/syslog.rst:60 +#: library/syslog.rst:64 msgid "" "Reset the syslog module values and call the system library ``closelog()``." msgstr "" "Réinitialise la configuration du module *syslog* et appelle la bibliothèque " "système ``closelog()``." -#: library/syslog.rst:62 +#: library/syslog.rst:66 msgid "" "This causes the module to behave as it does when initially imported. For " "example, :func:`openlog` will be called on the first :func:`syslog` call " @@ -143,7 +145,7 @@ msgstr "" "et aux paramètres de :func:`openlog`, ceux-ci seront réinitialisés à leur " "valeur par défaut." -#: library/syslog.rst:67 +#: library/syslog.rst:71 msgid "" "Raises an :ref:`auditing event ` ``syslog.closelog`` with no " "arguments." @@ -151,7 +153,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``syslog.closelog`` sans " "argument." -#: library/syslog.rst:72 +#: library/syslog.rst:76 msgid "" "Set the priority mask to *maskpri* and return the previous mask value. " "Calls to :func:`syslog` with a priority level not set in *maskpri* are " @@ -167,7 +169,7 @@ msgstr "" "``LOG_UPTO(pri)`` calcule le masque pour toutes les priorités jusqu'à *pri* " "(inclus)." -#: library/syslog.rst:79 +#: library/syslog.rst:83 msgid "" "Raises an :ref:`auditing event ` ``syslog.setlogmask`` with " "argument ``maskpri``." @@ -175,15 +177,15 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``syslog.setlogmask`` avec " "l'argument ``maskpri``." -#: library/syslog.rst:81 +#: library/syslog.rst:85 msgid "The module defines the following constants:" msgstr "Le module définit les constantes suivantes :" -#: library/syslog.rst:86 +#: library/syslog.rst:90 msgid "Priority levels (high to low):" msgstr "Niveau de priorités (décroissant) :" -#: library/syslog.rst:84 +#: library/syslog.rst:88 msgid "" ":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:" "`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" @@ -193,11 +195,11 @@ msgstr "" "`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" "const:`LOG_DEBUG`." -#: library/syslog.rst:93 +#: library/syslog.rst:97 msgid "Facilities:" msgstr "Fonctions :" -#: library/syslog.rst:89 +#: library/syslog.rst:93 msgid "" ":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:" "`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:" @@ -209,11 +211,11 @@ msgstr "" "`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` à :" "const:`LOG_LOCAL7` et, si défini dans ````, :const:`LOG_AUTHPRIV`." -#: library/syslog.rst:99 +#: library/syslog.rst:103 msgid "Log options:" msgstr "Options de journalisation :" -#: library/syslog.rst:96 +#: library/syslog.rst:100 msgid "" ":const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, and, if defined in " "````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, and :const:" @@ -223,19 +225,19 @@ msgstr "" "````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT` et :const:" "`LOG_PERROR`." -#: library/syslog.rst:102 +#: library/syslog.rst:106 msgid "Examples" msgstr "Exemples" -#: library/syslog.rst:105 +#: library/syslog.rst:109 msgid "Simple example" msgstr "Exemple simple" -#: library/syslog.rst:107 +#: library/syslog.rst:111 msgid "A simple set of examples::" msgstr "Un simple jeu d'exemples ::" -#: library/syslog.rst:115 +#: library/syslog.rst:119 msgid "" "An example of setting some log options, these would include the process ID " "in logged messages, and write the messages to the destination facility used " @@ -245,3 +247,14 @@ msgstr "" "options ajoutent l'identifiant du processus (*PID*) dans les messages " "journalisés et écrivent ces messages à l'aide de la fonction utilisée pour " "la journalisation des systèmes de messagerie ::" + +#, fuzzy +#~ msgid "" +#~ "In previous versions, keyword arguments were not allowed, and *ident* was " +#~ "required. The default for *ident* was dependent on the system libraries, " +#~ "and often was ``python`` instead of the name of the Python program file." +#~ msgstr "" +#~ "Dans les versions précédentes, les arguments nommés n'étaient pas " +#~ "autorisés et *ident* était requis. La valeur par défaut pour *ident* " +#~ "dépendait des bibliothèques systèmes et été parfois définie à ``python`` " +#~ "au lieu d'utiliser le nom du fichier du programme Python." diff --git a/library/tarfile.po b/library/tarfile.po index bd41ec64ec..beb10c9139 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:30+0200\n" "Last-Translator: Yannick Gingras \n" "Language-Team: FRENCH \n" @@ -1312,13 +1312,14 @@ msgstr "" "longs, la prise en charge des fichiers discontinus est en lecture seule." #: library/tarfile.rst:834 +#, fuzzy msgid "" "The POSIX.1-2001 pax format (:const:`PAX_FORMAT`). It is the most flexible " "format with virtually no limits. It supports long filenames and linknames, " "large files and stores pathnames in a portable way. Modern tar " "implementations, including GNU tar, bsdtar/libarchive and star, fully " "support extended *pax* features; some old or unmaintained libraries may not, " -"but should treat *pax* archives as if they were in the universally-supported " +"but should treat *pax* archives as if they were in the universally supported " "*ustar* format. It is the current default format for new archives." msgstr "" "Le format *POSIX.1-2001* *pax* (:const:`PAX_FORMAT`). Il est le format le " diff --git a/library/test.po b/library/test.po index d7a1e70d74..fa0aecdb84 100644 --- a/library/test.po +++ b/library/test.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -414,61 +414,73 @@ msgstr "" #: library/test.rst:362 msgid "" -"Return ``True`` if running on CPython, not on Windows, and configuration not " -"set with ``WITH_DOC_STRINGS``." +"Set to ``True`` if Python is built without docstrings (the :c:macro:" +"`WITH_DOC_STRINGS` macro is not defined). See the :option:`configure --" +"without-doc-strings <--without-doc-strings>` option." msgstr "" -#: library/test.rst:368 -msgid "Check for presence of docstrings." +#: library/test.rst:366 +msgid "See also the :data:`HAVE_DOCSTRINGS` variable." msgstr "" -#: library/test.rst:373 +#: library/test.rst:371 +msgid "" +"Set to ``True`` if function docstrings are available. See the :option:" +"`python -OO <-O>` option, which strips docstrings of functions implemented " +"in Python." +msgstr "" + +#: library/test.rst:374 +msgid "See also the :data:`MISSING_C_DOCSTRINGS` variable." +msgstr "" + +#: library/test.rst:379 msgid "Define the URL of a dedicated HTTP server for the network tests." msgstr "" -#: library/test.rst:378 +#: library/test.rst:384 msgid "Object that is equal to anything. Used to test mixed type comparison." msgstr "" -#: library/test.rst:383 +#: library/test.rst:389 msgid "" "Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " "test mixed type comparison." msgstr "" -#: library/test.rst:389 +#: library/test.rst:395 msgid "" "Object that is greater than anything (except itself). Used to test mixed " "type comparison." msgstr "" -#: library/test.rst:395 +#: library/test.rst:401 msgid "" "Object that is less than anything (except itself). Used to test mixed type " "comparison." msgstr "" -#: library/test.rst:399 +#: library/test.rst:405 #, fuzzy msgid "The :mod:`test.support` module defines the following functions:" msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:403 +#: library/test.rst:409 msgid "" "Return ``True`` if *resource* is enabled and available. The list of " "available resources is only set when :mod:`test.regrtest` is executing the " "tests." msgstr "" -#: library/test.rst:410 +#: library/test.rst:416 msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." msgstr "" -#: library/test.rst:415 +#: library/test.rst:421 msgid "Return :data:`_testcapi.WITH_PYMALLOC`." msgstr "" -#: library/test.rst:420 +#: library/test.rst:426 msgid "" "Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " "argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " @@ -476,44 +488,42 @@ msgid "" "tests are executed by :mod:`test.regrtest`." msgstr "" -#: library/test.rst:428 -msgid "" -"Raise :exc:`unittest.SkipTest` on TLS certification validation failures." -msgstr "" - -#: library/test.rst:433 +#: library/test.rst:434 msgid "Return a repr of *dict* with keys sorted." msgstr "" -#: library/test.rst:438 +#: library/test.rst:439 msgid "" "Return the path to the file named *filename*. If no match is found " "*filename* is returned. This does not equal a failure since it could be the " "path to the file." msgstr "" -#: library/test.rst:442 +#: library/test.rst:443 msgid "" "Setting *subdir* indicates a relative path to use to find the file rather " "than looking directly in the path directories." msgstr "" -#: library/test.rst:448 -msgid "Match *test* to patterns set in :func:`set_match_tests`." +#: library/test.rst:449 +msgid "" +"Determine whether *test* matches the patterns set in :func:`set_match_tests`." msgstr "" -#: library/test.rst:453 -msgid "Define match test with regular expression *patterns*." +#: library/test.rst:454 +msgid "" +"Define match patterns on test filenames and test method names for filtering " +"tests." msgstr "" -#: library/test.rst:458 +#: library/test.rst:459 msgid "" "Execute :class:`unittest.TestCase` subclasses passed to the function. The " "function scans the classes for methods starting with the prefix ``test_`` " "and executes the tests individually." msgstr "" -#: library/test.rst:462 +#: library/test.rst:463 msgid "" "It is also legal to pass strings as parameters; these should be keys in " "``sys.modules``. Each associated module will be scanned by ``unittest." @@ -521,17 +531,17 @@ msgid "" "func:`test_main` function::" msgstr "" -#: library/test.rst:470 +#: library/test.rst:471 msgid "This will run all tests defined in the named module." msgstr "" -#: library/test.rst:475 +#: library/test.rst:476 msgid "" "Run :func:`doctest.testmod` on the given *module*. Return ``(failure_count, " "test_count)``." msgstr "" -#: library/test.rst:478 +#: library/test.rst:479 msgid "" "If *verbosity* is ``None``, :func:`doctest.testmod` is run with verbosity " "set to :data:`verbose`. Otherwise, it is run with verbosity set to " @@ -539,67 +549,68 @@ msgid "" "testmod`." msgstr "" -#: library/test.rst:486 +#: library/test.rst:487 msgid "" "Set the :func:`sys.setswitchinterval` to the given *interval*. Defines a " "minimum interval for Android systems to prevent the system from hanging." msgstr "" -#: library/test.rst:492 +#: library/test.rst:493 msgid "" "Use this check to guard CPython's implementation-specific tests or to run " -"them only on the implementations guarded by the arguments::" +"them only on the implementations guarded by the arguments. This function " +"returns ``True`` or ``False`` depending on the host platform. Example usage::" msgstr "" -#: library/test.rst:502 +#: library/test.rst:505 msgid "" "Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " "memory tests." msgstr "" -#: library/test.rst:508 +#: library/test.rst:511 msgid "" "Store the value from *stdout*. It is meant to hold the stdout at the time " "the regrtest began." msgstr "" -#: library/test.rst:514 +#: library/test.rst:517 msgid "" "Return the original stdout set by :func:`record_original_stdout` or ``sys." "stdout`` if it's not set." msgstr "" -#: library/test.rst:520 +#: library/test.rst:523 msgid "" "Return a list of command line arguments reproducing the current settings in " "``sys.flags`` and ``sys.warnoptions``." msgstr "" -#: library/test.rst:526 +#: library/test.rst:529 msgid "" "Return a list of command line arguments reproducing the current optimization " "settings in ``sys.flags``." msgstr "" -#: library/test.rst:534 +#: library/test.rst:537 msgid "" "A context managers that temporarily replaces the named stream with :class:" "`io.StringIO` object." msgstr "" -#: library/test.rst:537 +#: library/test.rst:540 msgid "Example use with output streams::" msgstr "" -#: library/test.rst:545 +#: library/test.rst:548 msgid "Example use with input stream::" msgstr "" -#: library/test.rst:557 -msgid "A context manager that replaces ``sys.stderr`` with ``sys.__stderr__``." +#: library/test.rst:560 +msgid "A context manager that temporary disables :mod:`faulthandler`." msgstr "" -#: library/test.rst:562 +#: library/test.rst:565 msgid "" "Force as many objects as possible to be collected. This is needed because " "timely deallocation is not guaranteed by the garbage collector. This means " @@ -607,96 +618,104 @@ msgid "" "remain alive for longer than expected." msgstr "" -#: library/test.rst:570 +#: library/test.rst:573 msgid "" -"A context manager that disables the garbage collector upon entry and " -"reenables it upon exit." +"A context manager that disables the garbage collector on entry. On exit, the " +"garbage collector is restored to its prior state." msgstr "" -#: library/test.rst:576 +#: library/test.rst:579 msgid "Context manager to swap out an attribute with a new object." msgstr "" -#: library/test.rst:596 library/test.rst:1263 +#: library/test.rst:599 library/test.rst:1292 msgid "Usage::" msgstr "Utilisation ::" -#: library/test.rst:583 +#: library/test.rst:586 msgid "" "This will set ``obj.attr`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``attr`` doesn't exist " "on ``obj``, it will be created and then deleted at the end of the block." msgstr "" -#: library/test.rst:606 +#: library/test.rst:609 msgid "" "The old value (or ``None`` if it doesn't exist) will be assigned to the " "target of the \"as\" clause, if there is one." msgstr "" -#: library/test.rst:594 +#: library/test.rst:597 msgid "Context manager to swap out an item with a new object." msgstr "" -#: library/test.rst:601 +#: library/test.rst:604 msgid "" "This will set ``obj[\"item\"]`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``item`` doesn't exist " "on ``obj``, it will be created and then deleted at the end of the block." msgstr "" -#: library/test.rst:612 +#: library/test.rst:615 msgid "" "Print a warning into :data:`sys.__stderr__`. Format the message as: " "``f\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add " "``\"Warning -- \"`` prefix to each line." msgstr "" -#: library/test.rst:621 +#: library/test.rst:624 msgid "" "Wait until process *pid* completes and check that the process exit code is " "*exitcode*." msgstr "" -#: library/test.rst:624 +#: library/test.rst:627 msgid "" "Raise an :exc:`AssertionError` if the process exit code is not equal to " "*exitcode*." msgstr "" -#: library/test.rst:627 +#: library/test.rst:630 msgid "" "If the process runs longer than *timeout* seconds (:data:`SHORT_TIMEOUT` by " "default), kill the process and raise an :exc:`AssertionError`. The timeout " "feature is not available on Windows." msgstr "" -#: library/test.rst:636 +#: library/test.rst:639 msgid "" -"Return :func:`struct.calcsize` for ``nP{fmt}0n`` or, if ``gettotalrefcount`` " -"exists, ``2PnP{fmt}0P``." +"Return the size of the :c:type:`PyObject` whose structure members are " +"defined by *fmt*. The returned value includes the size of the Python object " +"header and alignment." msgstr "" -#: library/test.rst:642 +#: library/test.rst:645 msgid "" -"Return :func:`struct.calcsize` for ``nPn{fmt}0n`` or, if " -"``gettotalrefcount`` exists, ``2PnPn{fmt}0P``." +"Return the size of the :c:type:`PyVarObject` whose structure members are " +"defined by *fmt*. The returned value includes the size of the Python object " +"header and alignment." msgstr "" -#: library/test.rst:648 +#: library/test.rst:651 msgid "" "For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " "header size equals *size*." msgstr "" -#: library/test.rst:654 +#: library/test.rst:657 msgid "" "A decorator to conditionally mark tests with :func:`unittest." "expectedFailure`. Any use of this decorator should have an associated " "comment identifying the relevant tracker issue." msgstr "" -#: library/test.rst:661 +#: library/test.rst:664 +msgid "" +"A decorator that skips the decorated test on TLS certification validation " +"failures." +msgstr "" + +#: library/test.rst:669 msgid "" "A decorator for running a function in a different locale, correctly " "resetting it after it has finished. *catstr* is the locale category as a " @@ -704,73 +723,73 @@ msgid "" "sequentially, and the first valid locale will be used." msgstr "" -#: library/test.rst:669 +#: library/test.rst:677 msgid "" "A decorator for running a function in a specific timezone, correctly " "resetting it after it has finished." msgstr "" -#: library/test.rst:675 +#: library/test.rst:683 msgid "" "Decorator for the minimum version when running test on FreeBSD. If the " -"FreeBSD version is less than the minimum, raise :exc:`unittest.SkipTest`." +"FreeBSD version is less than the minimum, the test is skipped." msgstr "" -#: library/test.rst:681 +#: library/test.rst:689 msgid "" "Decorator for the minimum version when running test on Linux. If the Linux " -"version is less than the minimum, raise :exc:`unittest.SkipTest`." +"version is less than the minimum, the test is skipped." msgstr "" -#: library/test.rst:687 +#: library/test.rst:695 msgid "" "Decorator for the minimum version when running test on macOS. If the macOS " -"version is less than the minimum, raise :exc:`unittest.SkipTest`." +"version is less than the minimum, the test is skipped." msgstr "" -#: library/test.rst:693 +#: library/test.rst:701 msgid "Decorator for skipping tests on non-IEEE 754 platforms." msgstr "" -#: library/test.rst:698 +#: library/test.rst:706 msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." msgstr "" -#: library/test.rst:703 +#: library/test.rst:711 msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." msgstr "" -#: library/test.rst:708 +#: library/test.rst:716 msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." msgstr "" -#: library/test.rst:713 +#: library/test.rst:721 msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." msgstr "" -#: library/test.rst:718 +#: library/test.rst:726 msgid "Decorator for skipping tests if *resource* is not available." msgstr "" -#: library/test.rst:723 +#: library/test.rst:731 msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." msgstr "" -#: library/test.rst:728 +#: library/test.rst:736 msgid "Decorator for tests only applicable to CPython." msgstr "" -#: library/test.rst:733 +#: library/test.rst:741 msgid "" "Decorator for invoking :func:`check_impl_detail` on *guards*. If that " "returns ``False``, then uses *msg* as the reason for skipping the test." msgstr "" -#: library/test.rst:739 +#: library/test.rst:747 msgid "Decorator to temporarily turn off tracing for the duration of the test." msgstr "" -#: library/test.rst:744 +#: library/test.rst:752 msgid "" "Decorator for tests which involve reference counting. The decorator does " "not run the test if it is not run by CPython. Any trace function is unset " @@ -778,11 +797,11 @@ msgid "" "trace function." msgstr "" -#: library/test.rst:752 +#: library/test.rst:760 msgid "Decorator for bigmem tests." msgstr "" -#: library/test.rst:754 +#: library/test.rst:762 msgid "" "*size* is a requested size for the test (in arbitrary, test-interpreted " "units.) *memuse* is the number of bytes per unit for the test, or a good " @@ -790,7 +809,7 @@ msgid "" "each, could be decorated with ``@bigmemtest(size=_4G, memuse=2)``." msgstr "" -#: library/test.rst:759 +#: library/test.rst:767 msgid "" "The *size* argument is normally passed to the decorated test method as an " "extra argument. If *dry_run* is ``True``, the value passed to the test " @@ -798,13 +817,11 @@ msgid "" "means the test doesn't support dummy runs when ``-M`` is not specified." msgstr "" -#: library/test.rst:767 -msgid "" -"Decorator for tests that fill the address space. *f* is the function to " -"wrap." +#: library/test.rst:775 +msgid "Decorator for tests that fill the address space." msgstr "" -#: library/test.rst:773 +#: library/test.rst:780 msgid "" "Test for syntax errors in *statement* by attempting to compile *statement*. " "*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " @@ -814,44 +831,44 @@ msgid "" "of the exception." msgstr "" -#: library/test.rst:783 +#: library/test.rst:790 msgid "Open *url*. If open fails, raises :exc:`TestFailed`." msgstr "" -#: library/test.rst:788 +#: library/test.rst:795 msgid "" "Use this at the end of ``test_main`` whenever sub-processes are started. " "This will help ensure that no extra children (zombies) stick around to hog " "resources and create problems when looking for refleaks." msgstr "" -#: library/test.rst:795 +#: library/test.rst:802 msgid "" "Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " "is raised." msgstr "" -#: library/test.rst:801 +#: library/test.rst:808 msgid "" "Context manager catching unraisable exception using :func:`sys." "unraisablehook`." msgstr "" -#: library/test.rst:804 +#: library/test.rst:811 msgid "" "Storing the exception value (``cm.unraisable.exc_value``) creates a " "reference cycle. The reference cycle is broken explicitly when the context " "manager exits." msgstr "" -#: library/test.rst:808 +#: library/test.rst:815 msgid "" "Storing the object (``cm.unraisable.object``) can resurrect it if it is set " "to an object which is being finalized. Exiting the context manager clears " "the stored object." msgstr "" -#: library/test.rst:829 +#: library/test.rst:836 msgid "" "Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " "use in test packages. *pkg_dir* is the root directory of the package; " @@ -860,55 +877,55 @@ msgid "" "the following::" msgstr "" -#: library/test.rst:844 +#: library/test.rst:851 msgid "" "Returns the set of attributes, functions or methods of *ref_api* not found " "on *other_api*, except for a defined list of items to be ignored in this " "check specified in *ignore*." msgstr "" -#: library/test.rst:848 +#: library/test.rst:855 msgid "" "By default this skips private attributes beginning with '_' but includes all " "magic methods, i.e. those starting and ending in '__'." msgstr "" -#: library/test.rst:856 +#: library/test.rst:863 msgid "" "Override *object_to_patch.attr_name* with *new_value*. Also add cleanup " "procedure to *test_instance* to restore *object_to_patch* for *attr_name*. " "The *attr_name* should be a valid attribute for *object_to_patch*." msgstr "" -#: library/test.rst:864 +#: library/test.rst:871 msgid "" "Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if :mod:" "`tracemalloc` is enabled." msgstr "" -#: library/test.rst:870 -msgid "Assert that *iter* is deallocated after iterating." +#: library/test.rst:877 +msgid "Assert instances of *cls* are deallocated after iterating." msgstr "" -#: library/test.rst:875 +#: library/test.rst:882 msgid "" "Check for the existence of the compiler executables whose names are listed " "in *cmd_names* or all the compiler executables when *cmd_names* is empty and " "return the first missing executable or ``None`` when none is found missing." msgstr "" -#: library/test.rst:883 +#: library/test.rst:890 msgid "" "Assert that the ``__all__`` variable of *module* contains all public names." msgstr "" -#: library/test.rst:885 +#: library/test.rst:892 msgid "" "The module's public names (its API) are detected automatically based on " "whether they match the public name convention and were defined in *module*." msgstr "" -#: library/test.rst:889 +#: library/test.rst:896 msgid "" "The *name_of_module* argument can specify (as a string or tuple thereof) " "what module(s) an API could be defined in order to be detected as a public " @@ -916,7 +933,7 @@ msgid "" "other modules, possibly a C backend (like ``csv`` and its ``_csv``)." msgstr "" -#: library/test.rst:894 +#: library/test.rst:901 msgid "" "The *extra* argument can be a set of names that wouldn't otherwise be " "automatically detected as \"public\", like objects without a proper " @@ -924,88 +941,107 @@ msgid "" "detected ones." msgstr "" -#: library/test.rst:898 +#: library/test.rst:905 msgid "" "The *not_exported* argument can be a set of names that must not be treated " "as part of the public API even though their names indicate otherwise." msgstr "" -#: library/test.rst:1505 +#: library/test.rst:1541 #, fuzzy msgid "Example use::" msgstr "Exemple d'utilisation ::" -#: library/test.rst:924 +#: library/test.rst:931 msgid "" "Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if " "there is no available semaphore implementation, or if creating a lock raises " "an :exc:`OSError`." msgstr "" -#: library/test.rst:933 +#: library/test.rst:940 msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." msgstr "" -#: library/test.rst:938 +#: library/test.rst:947 +msgid "" +"This function returns a context manager that will change the global :func:" +"`sys.set_int_max_str_digits` setting for the duration of the context to " +"allow execution of test code that needs a different limit on the number of " +"digits when converting between an integer and string." +msgstr "" + +#: library/test.rst:955 msgid "The :mod:`test.support` module defines the following classes:" msgstr "" -#: library/test.rst:943 +#: library/test.rst:960 msgid "" "A context manager used to try to prevent crash dialog popups on tests that " "are expected to crash a subprocess." msgstr "" -#: library/test.rst:946 +#: library/test.rst:963 msgid "" "On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " "`_." msgstr "" -#: library/test.rst:949 +#: library/test.rst:966 msgid "" "On UNIX, :func:`resource.setrlimit` is used to set :attr:`resource." "RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." msgstr "" -#: library/test.rst:953 +#: library/test.rst:970 msgid "On both platforms, the old value is restored by :meth:`__exit__`." msgstr "" -#: library/test.rst:958 +#: library/test.rst:975 msgid "" "Class to save and restore signal handlers registered by the Python signal " "handler." msgstr "" -#: library/test.rst:966 +#: library/test.rst:980 +msgid "" +"Save the signal handlers to a dictionary mapping signal numbers to the " +"current signal handler." +msgstr "" + +#: library/test.rst:985 +msgid "" +"Set the signal numbers from the :meth:`save` dictionary to the saved handler." +msgstr "" + +#: library/test.rst:993 msgid "Try to match a single dict with the supplied arguments." msgstr "" -#: library/test.rst:971 +#: library/test.rst:998 msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." msgstr "" -#: library/test.rst:978 +#: library/test.rst:1005 msgid "Run *test* and return the result." msgstr "" -#: library/test.rst:982 +#: library/test.rst:1009 msgid ":mod:`test.support.socket_helper` --- Utilities for socket tests" msgstr "" -#: library/test.rst:988 +#: library/test.rst:1015 #, fuzzy msgid "" "The :mod:`test.support.socket_helper` module provides support for socket " "tests." msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:995 +#: library/test.rst:1022 msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." msgstr "" -#: library/test.rst:1000 +#: library/test.rst:1027 msgid "" "Returns an unused port that should be suitable for binding. This is " "achieved by creating a temporary socket with the same family and type as the " @@ -1016,7 +1052,7 @@ msgid "" "port is returned." msgstr "" -#: library/test.rst:1009 +#: library/test.rst:1036 msgid "" "Either this method or :func:`bind_port` should be used for any tests where a " "server socket needs to be bound to a particular port for the duration of the " @@ -1029,7 +1065,7 @@ msgid "" "simultaneously, which is a problem for buildbots." msgstr "" -#: library/test.rst:1023 +#: library/test.rst:1050 msgid "" "Bind the socket to a free port and return the port number. Relies on " "ephemeral ports in order to ensure we are using an unbound port. This is " @@ -1042,7 +1078,7 @@ msgid "" "testing multicasting via multiple UDP sockets." msgstr "" -#: library/test.rst:1034 +#: library/test.rst:1061 msgid "" "Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " "available (i.e. on Windows), it will be set on the socket. This will " @@ -1050,58 +1086,58 @@ msgid "" "test." msgstr "" -#: library/test.rst:1042 +#: library/test.rst:1069 msgid "" -"Bind a unix socket, raising :exc:`unittest.SkipTest` if :exc:" +"Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:" "`PermissionError` is raised." msgstr "" -#: library/test.rst:1048 +#: library/test.rst:1075 msgid "" "A decorator for running tests that require a functional ``bind()`` for Unix " "sockets." msgstr "" -#: library/test.rst:1054 +#: library/test.rst:1081 msgid "" "A context manager that raises :exc:`~test.support.ResourceDenied` when " "various issues with the internet connection manifest themselves as " "exceptions." msgstr "" -#: library/test.rst:1060 +#: library/test.rst:1087 msgid "" ":mod:`test.support.script_helper` --- Utilities for the Python execution " "tests" msgstr "" -#: library/test.rst:1066 +#: library/test.rst:1093 msgid "" "The :mod:`test.support.script_helper` module provides support for Python's " "script execution tests." msgstr "" -#: library/test.rst:1071 +#: library/test.rst:1098 msgid "" "Return ``True`` if ``sys.executable interpreter`` requires environment " "variables in order to be able to run at all." msgstr "" -#: library/test.rst:1074 +#: library/test.rst:1101 msgid "" "This is designed to be used with ``@unittest.skipIf()`` to annotate tests " "that need to use an ``assert_python*()`` function to launch an isolated mode " "(``-I``) or no environment mode (``-E``) sub-interpreter process." msgstr "" -#: library/test.rst:1078 +#: library/test.rst:1105 msgid "" "A normal build & test does not run into this situation but it can happen " "when trying to run the standard library test suite from an interpreter that " "doesn't have an obvious home with Python's current home finding logic." msgstr "" -#: library/test.rst:1082 +#: library/test.rst:1109 msgid "" "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " "in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " @@ -1109,84 +1145,84 @@ msgid "" "interpreter can start." msgstr "" -#: library/test.rst:1090 +#: library/test.rst:1117 msgid "" "Set up the environment based on *env_vars* for running the interpreter in a " "subprocess. The values can include ``__isolated``, ``__cleanenv``, " "``__cwd``, and ``TERM``." msgstr "" -#: library/test.rst:1110 library/test.rst:1122 +#: library/test.rst:1137 library/test.rst:1149 msgid "The function no longer strips whitespaces from *stderr*." msgstr "" -#: library/test.rst:1100 +#: library/test.rst:1127 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: library/test.rst:1104 +#: library/test.rst:1131 msgid "" -"If the ``__cleanenv`` keyword is set, *env_vars* is used as a fresh " -"environment." +"If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " +"fresh environment." msgstr "" -#: library/test.rst:1107 +#: library/test.rst:1134 msgid "" "Python is started in isolated mode (command line option ``-I``), except if " -"the ``__isolated`` keyword is set to ``False``." +"the *__isolated* keyword-only parameter is set to ``False``." msgstr "" -#: library/test.rst:1116 +#: library/test.rst:1143 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* fails (``rc != 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: library/test.rst:1120 +#: library/test.rst:1147 msgid "See :func:`assert_python_ok` for more options." msgstr "" -#: library/test.rst:1128 +#: library/test.rst:1155 msgid "Run a Python subprocess with the given arguments." msgstr "" -#: library/test.rst:1130 +#: library/test.rst:1157 msgid "" "*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" "class:`subprocess.Popen` object." msgstr "" -#: library/test.rst:1136 +#: library/test.rst:1163 msgid "" "Run the given :class:`subprocess.Popen` process until completion and return " "stdout." msgstr "" -#: library/test.rst:1142 +#: library/test.rst:1169 msgid "" "Create script containing *source* in path *script_dir* and " "*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " "name. Return the full script path." msgstr "" -#: library/test.rst:1149 +#: library/test.rst:1176 msgid "" "Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which " "contains the files in *script_name*. *name_in_zip* is the archive name. " "Return a tuple containing ``(full path, full path of archive name)``." msgstr "" -#: library/test.rst:1156 +#: library/test.rst:1183 msgid "" "Create a directory named *pkg_dir* containing an ``__init__`` file with " "*init_source* as its contents." msgstr "" -#: library/test.rst:1163 +#: library/test.rst:1190 msgid "" "Create a zip package directory with a path of *zip_dir* and *zip_basename* " "containing an empty ``__init__`` file and a file *script_basename* " @@ -1195,165 +1231,171 @@ msgid "" "path and the archive name for the zip file." msgstr "" -#: library/test.rst:1171 +#: library/test.rst:1198 msgid "" ":mod:`test.support.bytecode_helper` --- Support tools for testing correct " "bytecode generation" msgstr "" -#: library/test.rst:1176 +#: library/test.rst:1203 msgid "" "The :mod:`test.support.bytecode_helper` module provides support for testing " "and inspecting bytecode generation." msgstr "" -#: library/test.rst:1181 +#: library/test.rst:1208 #, fuzzy msgid "The module defines the following class:" msgstr "Ce module définit les fonctions suivantes :" -#: library/test.rst:1185 +#: library/test.rst:1212 msgid "This class has custom assertion methods for inspecting bytecode." msgstr "" -#: library/test.rst:1189 +#: library/test.rst:1216 msgid "Return the disassembly of *co* as string." msgstr "" -#: library/test.rst:1194 +#: library/test.rst:1221 msgid "" "Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." msgstr "" -#: library/test.rst:1199 +#: library/test.rst:1226 msgid "Throws :exc:`AssertionError` if *opname* is found." msgstr "" -#: library/test.rst:1203 +#: library/test.rst:1230 #, fuzzy msgid ":mod:`test.support.threading_helper` --- Utilities for threading tests" msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1208 +#: library/test.rst:1235 #, fuzzy msgid "" "The :mod:`test.support.threading_helper` module provides support for " "threading tests." msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1215 +#: library/test.rst:1242 msgid "" "Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " "is still alive after *timeout* seconds." msgstr "" -#: library/test.rst:1221 +#: library/test.rst:1248 msgid "Decorator to ensure the threads are cleaned up even if the test fails." msgstr "" -#: library/test.rst:1226 +#: library/test.rst:1253 msgid "" -"Context manager to start *threads*. It attempts to join the threads upon " -"exit." +"Context manager to start *threads*, which is a sequence of threads. *unlock* " +"is a function called after the threads are started, even if an exception was " +"raised; an example would be :meth:`threading.Event.set`. ``start_threads`` " +"will attempt to join the started threads upon exit." msgstr "" -#: library/test.rst:1232 +#: library/test.rst:1261 msgid "" "Cleanup up threads not specified in *original_values*. Designed to emit a " "warning if a test leaves running threads in the background." msgstr "" -#: library/test.rst:1238 +#: library/test.rst:1267 msgid "Return current thread count and copy of dangling threads." msgstr "" -#: library/test.rst:1243 +#: library/test.rst:1272 msgid "" "Context manager to wait until all threads created in the ``with`` statement " "exit." msgstr "" -#: library/test.rst:1249 +#: library/test.rst:1278 msgid "" "Context manager catching :class:`threading.Thread` exception using :func:" "`threading.excepthook`." msgstr "" -#: library/test.rst:1252 +#: library/test.rst:1281 msgid "Attributes set when an exception is caught:" msgstr "" -#: library/test.rst:1254 +#: library/test.rst:1283 msgid "``exc_type``" msgstr "" -#: library/test.rst:1255 +#: library/test.rst:1284 msgid "``exc_value``" msgstr "" -#: library/test.rst:1256 +#: library/test.rst:1285 msgid "``exc_traceback``" msgstr "" -#: library/test.rst:1257 +#: library/test.rst:1286 msgid "``thread``" msgstr "" -#: library/test.rst:1259 +#: library/test.rst:1288 msgid "See :func:`threading.excepthook` documentation." msgstr "" -#: library/test.rst:1261 +#: library/test.rst:1290 msgid "These attributes are deleted at the context manager exit." msgstr "" -#: library/test.rst:1281 +#: library/test.rst:1310 #, fuzzy msgid ":mod:`test.support.os_helper` --- Utilities for os tests" msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1286 +#: library/test.rst:1315 #, fuzzy msgid "The :mod:`test.support.os_helper` module provides support for os tests." msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1293 +#: library/test.rst:1322 msgid "A non-ASCII character encodable by :func:`os.fsencode`." msgstr "" -#: library/test.rst:1298 +#: library/test.rst:1327 msgid "Set to :func:`os.getcwd`." msgstr "" -#: library/test.rst:1303 +#: library/test.rst:1332 msgid "" "Set to a name that is safe to use as the name of a temporary file. Any " "temporary file that is created should be closed and unlinked (removed)." msgstr "" -#: library/test.rst:1309 -msgid "Set to a filename containing the :data:`FS_NONASCII` character." +#: library/test.rst:1338 +msgid "" +"Set to a filename containing the :data:`FS_NONASCII` character, if it " +"exists. This guarantees that if the filename exists, it can be encoded and " +"decoded with the default filesystem encoding. This allows tests that require " +"a non-ASCII filename to be easily skipped on platforms where they can't work." msgstr "" -#: library/test.rst:1314 +#: library/test.rst:1346 msgid "" "Set to a filename (str type) that should not be able to be encoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " "generate such a filename." msgstr "" -#: library/test.rst:1321 +#: library/test.rst:1353 msgid "" "Set to a filename (bytes type) that should not be able to be decoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " "generate such a filename." msgstr "" -#: library/test.rst:1328 +#: library/test.rst:1360 msgid "Set to a non-ASCII name for a temporary file." msgstr "" -#: library/test.rst:1333 +#: library/test.rst:1365 msgid "" "Class used to temporarily set or unset environment variables. Instances can " "be used as a context manager and have a complete dictionary interface for " @@ -1362,95 +1404,97 @@ msgid "" "instance will be rolled back." msgstr "" -#: library/test.rst:1339 +#: library/test.rst:1371 msgid "Added dictionary interface." msgstr "" -#: library/test.rst:1345 +#: library/test.rst:1377 msgid "" "Simple :term:`path-like object`. It implements the :meth:`__fspath__` " "method which just returns the *path* argument. If *path* is an exception, " "it will be raised in :meth:`!__fspath__`." msgstr "" -#: library/test.rst:1352 +#: library/test.rst:1384 msgid "" "Temporarily set the environment variable ``envvar`` to the value of " "``value``." msgstr "" -#: library/test.rst:1358 +#: library/test.rst:1390 msgid "Temporarily unset the environment variable ``envvar``." msgstr "" -#: library/test.rst:1363 +#: library/test.rst:1395 msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." msgstr "" -#: library/test.rst:1369 +#: library/test.rst:1401 msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." msgstr "" -#: library/test.rst:1375 +#: library/test.rst:1407 msgid "" "A context manager that temporarily changes the current working directory to " "*path* and yields the directory." msgstr "" -#: library/test.rst:1378 +#: library/test.rst:1410 msgid "" "If *quiet* is ``False``, the context manager raises an exception on error. " "Otherwise, it issues only a warning and keeps the current working directory " "the same." msgstr "" -#: library/test.rst:1385 +#: library/test.rst:1417 msgid "" "Create an empty file with *filename*. If it already exists, truncate it." msgstr "" -#: library/test.rst:1390 +#: library/test.rst:1422 msgid "Count the number of open file descriptors." msgstr "" -#: library/test.rst:1395 +#: library/test.rst:1427 msgid "Return ``True`` if the file system for *directory* is case-insensitive." msgstr "" -#: library/test.rst:1400 +#: library/test.rst:1432 msgid "" "Create an invalid file descriptor by opening and closing a temporary file, " "and returning its descriptor." msgstr "" -#: library/test.rst:1406 +#: library/test.rst:1438 msgid "" "Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " -"with a wait loop that checks for the existence of the file." +"with a wait loop that checks for the existence of the file, which is needed " +"due to antivirus programs that can hold files open and prevent deletion." msgstr "" -#: library/test.rst:1412 +#: library/test.rst:1446 msgid "" "Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." -"rmdir` to remove a path and its contents. On Windows platforms, this is " -"wrapped with a wait loop that checks for the existence of the files." +"rmdir` to remove a path and its contents. As with :func:`rmdir`, on Windows " +"platforms this is wrapped with a wait loop that checks for the existence of " +"the files." msgstr "" -#: library/test.rst:1419 +#: library/test.rst:1454 msgid "A decorator for running tests that require support for symbolic links." msgstr "" -#: library/test.rst:1424 +#: library/test.rst:1459 msgid "A decorator for running tests that require support for xattr." msgstr "" -#: library/test.rst:1429 +#: library/test.rst:1464 msgid "" "A context manager that temporarily creates a new directory and changes the " "current working directory (CWD)." msgstr "" -#: library/test.rst:1432 +#: library/test.rst:1467 msgid "" "The context manager creates a temporary directory in the current directory " "with name *name* before temporarily changing the current working directory. " @@ -1458,20 +1502,20 @@ msgid "" "`tempfile.mkdtemp`." msgstr "" -#: library/test.rst:1437 +#: library/test.rst:1472 msgid "" "If *quiet* is ``False`` and it is not possible to create or change the CWD, " "an error is raised. Otherwise, only a warning is raised and the original " "CWD is used." msgstr "" -#: library/test.rst:1444 +#: library/test.rst:1479 msgid "" "A context manager that creates a temporary directory at *path* and yields " "the directory." msgstr "" -#: library/test.rst:1447 +#: library/test.rst:1482 msgid "" "If *path* is ``None``, the temporary directory is created using :func:" "`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " @@ -1479,35 +1523,36 @@ msgid "" "created, only a warning is issued." msgstr "" -#: library/test.rst:1455 +#: library/test.rst:1490 msgid "A context manager that temporarily sets the process umask." msgstr "" -#: library/test.rst:1460 +#: library/test.rst:1495 msgid "" -"Call :func:`os.unlink` on *filename*. On Windows platforms, this is wrapped " -"with a wait loop that checks for the existence of the file." +"Call :func:`os.unlink` on *filename*. As with :func:`rmdir`, on Windows " +"platforms, this is wrapped with a wait loop that checks for the existence of " +"the file." msgstr "" -#: library/test.rst:1465 +#: library/test.rst:1501 #, fuzzy msgid ":mod:`test.support.import_helper` --- Utilities for import tests" msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1470 +#: library/test.rst:1506 #, fuzzy msgid "" "The :mod:`test.support.import_helper` module provides support for import " "tests." msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1477 +#: library/test.rst:1513 msgid "" "Remove the module named *module_name* from ``sys.modules`` and delete any " "byte-compiled files of the module." msgstr "" -#: library/test.rst:1483 +#: library/test.rst:1519 msgid "" "This function imports and returns a fresh copy of the named Python module by " "removing the named module from ``sys.modules`` before doing the import. Note " @@ -1515,46 +1560,46 @@ msgid "" "operation." msgstr "" -#: library/test.rst:1488 +#: library/test.rst:1524 msgid "" "*fresh* is an iterable of additional module names that are also removed from " "the ``sys.modules`` cache before doing the import." msgstr "" -#: library/test.rst:1491 +#: library/test.rst:1527 msgid "" "*blocked* is an iterable of module names that are replaced with ``None`` in " "the module cache during the import to ensure that attempts to import them " "raise :exc:`ImportError`." msgstr "" -#: library/test.rst:1495 +#: library/test.rst:1531 msgid "" "The named module and any modules named in the *fresh* and *blocked* " "parameters are saved before starting the import and then reinserted into " "``sys.modules`` when the fresh import is complete." msgstr "" -#: library/test.rst:1499 +#: library/test.rst:1535 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``." msgstr "" -#: library/test.rst:1502 +#: library/test.rst:1538 msgid "" "This function will raise :exc:`ImportError` if the named module cannot be " "imported." msgstr "" -#: library/test.rst:1519 +#: library/test.rst:1555 msgid "" "This function imports and returns the named module. Unlike a normal import, " "this function raises :exc:`unittest.SkipTest` if the module cannot be " "imported." msgstr "" -#: library/test.rst:1523 +#: library/test.rst:1559 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``. If a module is required on a platform but " @@ -1562,21 +1607,21 @@ msgid "" "which will be compared against :data:`sys.platform`." msgstr "" -#: library/test.rst:1533 +#: library/test.rst:1569 msgid "Return a copy of :data:`sys.modules`." msgstr "" -#: library/test.rst:1538 +#: library/test.rst:1574 msgid "" "Remove modules except for *oldmodules* and ``encodings`` in order to " "preserve internal cache." msgstr "" -#: library/test.rst:1544 +#: library/test.rst:1580 msgid "Delete *name* from ``sys.modules``." msgstr "" -#: library/test.rst:1549 +#: library/test.rst:1585 msgid "" "Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return " "the file system path to the legacy pyc file. The *source* value is the file " @@ -1584,51 +1629,51 @@ msgid "" "3147/488 pyc file must exist." msgstr "" -#: library/test.rst:1557 +#: library/test.rst:1593 msgid "" "A context manager to force import to return a new module reference. This is " -"useful for testing module-level behaviors, such as the emission of a " -"DeprecationWarning on import. Example usage::" +"useful for testing module-level behaviors, such as the emission of a :exc:" +"`DeprecationWarning` on import. Example usage::" msgstr "" -#: library/test.rst:1567 -msgid "A context manager to temporarily add directories to sys.path." +#: library/test.rst:1603 +msgid "A context manager to temporarily add directories to :data:`sys.path`." msgstr "" -#: library/test.rst:1569 +#: library/test.rst:1605 msgid "" "This makes a copy of :data:`sys.path`, appends any directories given as " "positional arguments, then reverts :data:`sys.path` to the copied settings " "when the context ends." msgstr "" -#: library/test.rst:1573 +#: library/test.rst:1609 msgid "" "Note that *all* :data:`sys.path` modifications in the body of the context " "manager, including replacement of the object, will be reverted at the end of " "the block." msgstr "" -#: library/test.rst:1579 +#: library/test.rst:1615 #, fuzzy msgid ":mod:`test.support.warnings_helper` --- Utilities for warnings tests" msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1584 +#: library/test.rst:1620 #, fuzzy msgid "" "The :mod:`test.support.warnings_helper` module provides support for warnings " "tests." msgstr "Le module :mod:`pty` expose les fonctions suivantes :" -#: library/test.rst:1591 +#: library/test.rst:1627 msgid "" "Context manager to check that no :exc:`ResourceWarning` was raised. You " "must remove the object which may emit :exc:`ResourceWarning` before the end " "of the context manager." msgstr "" -#: library/test.rst:1598 +#: library/test.rst:1634 msgid "" "Test for syntax warning in *statement* by attempting to compile *statement*. " "Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " @@ -1640,7 +1685,7 @@ msgid "" "``None``, compares to the offset of the exception." msgstr "" -#: library/test.rst:1612 +#: library/test.rst:1648 msgid "" "A convenience wrapper for :func:`warnings.catch_warnings()` that makes it " "easier to test that a warning was correctly raised. It is approximately " @@ -1649,7 +1694,7 @@ msgid "" "automatically validate the results that are recorded." msgstr "" -#: library/test.rst:1618 +#: library/test.rst:1654 msgid "" "``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " "WarningCategory)`` as positional arguments. If one or more *filters* are " @@ -1661,15 +1706,15 @@ msgid "" "*quiet* to ``True``." msgstr "" -#: library/test.rst:1627 +#: library/test.rst:1663 msgid "If no arguments are specified, it defaults to::" msgstr "" -#: library/test.rst:1631 +#: library/test.rst:1667 msgid "In this case all warnings are caught and no errors are raised." msgstr "" -#: library/test.rst:1633 +#: library/test.rst:1669 msgid "" "On entry to the context manager, a :class:`WarningRecorder` instance is " "returned. The underlying warnings list from :func:`~warnings.catch_warnings` " @@ -1681,39 +1726,39 @@ msgid "" "return ``None``." msgstr "" -#: library/test.rst:1642 +#: library/test.rst:1678 msgid "" "The recorder object also has a :meth:`reset` method, which clears the " "warnings list." msgstr "" -#: library/test.rst:1645 +#: library/test.rst:1681 msgid "The context manager is designed to be used like this::" msgstr "" -#: library/test.rst:1652 +#: library/test.rst:1688 msgid "" "In this case if either warning was not raised, or some other warning was " "raised, :func:`check_warnings` would raise an error." msgstr "" -#: library/test.rst:1655 +#: library/test.rst:1691 msgid "" "When a test needs to look more deeply into the warnings, rather than just " "checking whether or not they occurred, code like this can be used::" msgstr "" -#: library/test.rst:1669 +#: library/test.rst:1705 msgid "" "Here all warnings will be caught, and the test code tests the captured " "warnings directly." msgstr "" -#: library/test.rst:1672 +#: library/test.rst:1708 msgid "New optional arguments *filters* and *quiet*." msgstr "" -#: library/test.rst:1678 +#: library/test.rst:1714 msgid "" "Class used to record warnings for unit tests. See documentation of :func:" "`check_warnings` above for more details." diff --git a/library/threading.po b/library/threading.po index 52485cb194..6253b8d48e 100644 --- a/library/threading.po +++ b/library/threading.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-03-29 11:56+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -25,9 +25,10 @@ msgid "**Source code:** :source:`Lib/threading.py`" msgstr "**Code source :** :source:`Lib/threading.py`" #: library/threading.rst:11 +#, fuzzy msgid "" "This module constructs higher-level threading interfaces on top of the lower " -"level :mod:`_thread` module. See also the :mod:`queue` module." +"level :mod:`_thread` module." msgstr "" "Ce module élabore des interfaces haut-niveau de fils d'exécutions multiples " "(*threading*) conçues en s'appuyant sur le module bas-niveau :mod:`_thread`. " @@ -39,6 +40,26 @@ msgstr "" "Ce module était auparavant optionnel, il est maintenant toujours disponible." #: library/threading.rst:19 +msgid "" +":class:`concurrent.futures.ThreadPoolExecutor` offers a higher level " +"interface to push tasks to a background thread without blocking execution of " +"the calling thread, while still being able to retrieve their results when " +"needed." +msgstr "" + +#: library/threading.rst:23 +msgid "" +":mod:`queue` provides a thread-safe interface for exchanging data between " +"running threads." +msgstr "" + +#: library/threading.rst:26 +msgid "" +":mod:`asyncio` offers an alternative approach to achieving task level " +"concurrency without requiring the use of multiple operating system threads." +msgstr "" + +#: library/threading.rst:31 #, fuzzy msgid "" "In the Python 2.x series, this module contained ``camelCase`` names for some " @@ -49,7 +70,7 @@ msgstr "" "noms en ``camelCase`` utilisés pour certaines méthodes et fonctions de ce " "module dans la série Python 2.x." -#: library/threading.rst:26 +#: library/threading.rst:38 #, fuzzy msgid "" "In CPython, due to the :term:`Global Interpreter Lock `: Windows, FreeBSD, Linux, macOS, OpenBSD, " "NetBSD, AIX." @@ -221,7 +242,7 @@ msgstr "" ":ref:`Disponibilité ` : Windows, FreeBSD, Linux, macOS, " "OpenBSD, NetBSD, AIX." -#: library/threading.rst:124 +#: library/threading.rst:136 #, fuzzy msgid "" "Return a list of all :class:`Thread` objects currently active. The list " @@ -235,7 +256,7 @@ msgstr "" "créés par :func:`current_thread` et le fil principal. Elle exclut les fils " "terminés et les fils qui n'ont pas encore été lancés." -#: library/threading.rst:133 +#: library/threading.rst:145 msgid "" "Return the main :class:`Thread` object. In normal conditions, the main " "thread is the thread from which the Python interpreter was started." @@ -244,7 +265,7 @@ msgstr "" "conditions normales, le fil principal est le fil à partir duquel " "l'interpréteur Python a été lancé." -#: library/threading.rst:144 +#: library/threading.rst:156 msgid "" "Set a trace function for all threads started from the :mod:`threading` " "module. The *func* will be passed to :func:`sys.settrace` for each thread, " @@ -255,11 +276,11 @@ msgstr "" "settrace` pour chaque fil, avant que sa méthode :meth:`~Thread.run` soit " "appelée." -#: library/threading.rst:155 +#: library/threading.rst:167 msgid "Get the trace function as set by :func:`settrace`." msgstr "Renvoie la fonction de traçage tel que définie par :func:`settrace`." -#: library/threading.rst:164 +#: library/threading.rst:176 msgid "" "Set a profile function for all threads started from the :mod:`threading` " "module. The *func* will be passed to :func:`sys.setprofile` for each " @@ -270,12 +291,12 @@ msgstr "" "`sys.setprofile` pour chaque fil, avant que sa méthode :meth:`~Thread.run` " "soit appelée." -#: library/threading.rst:173 +#: library/threading.rst:185 msgid "Get the profiler function as set by :func:`setprofile`." msgstr "" "Renvoie la fonction de profilage tel que défini par :func:`setprofile`." -#: library/threading.rst:180 +#: library/threading.rst:192 msgid "" "Return the thread stack size used when creating new threads. The optional " "*size* argument specifies the stack size to be used for subsequently created " @@ -312,18 +333,18 @@ msgstr "" "spécifiques, l'approche proposée est l'utilisation de multiples de 4 096 " "pour la taille de la pile)." -#: library/threading.rst:195 +#: library/threading.rst:207 msgid "" ":ref:`Availability `: Windows, systems with POSIX threads." msgstr "" ":ref:`Disponibilité ` : Windows et systèmes gérant les fils " "d'exécution POSIX." -#: library/threading.rst:198 +#: library/threading.rst:210 msgid "This module also defines the following constant:" msgstr "Ce module définit également la constante suivante :" -#: library/threading.rst:202 +#: library/threading.rst:214 msgid "" "The maximum value allowed for the *timeout* parameter of blocking functions " "(:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.). " @@ -335,7 +356,7 @@ msgstr "" "wait`, etc.). Spécifier un délai d'attente supérieur à cette valeur lève " "une :exc:`OverflowError`." -#: library/threading.rst:210 +#: library/threading.rst:222 msgid "" "This module defines a number of classes, which are detailed in the sections " "below." @@ -343,7 +364,7 @@ msgstr "" "Ce module définit un certain nombre de classes, qui sont détaillées dans les " "sections ci-dessous." -#: library/threading.rst:213 +#: library/threading.rst:225 msgid "" "The design of this module is loosely based on Java's threading model. " "However, where Java makes locks and condition variables basic behavior of " @@ -363,16 +384,16 @@ msgstr "" "méthodes statiques de la classe *Thread* de Java, lorsqu'elles sont " "implémentées, correspondent à des fonctions au niveau du module." -#: library/threading.rst:221 +#: library/threading.rst:233 msgid "All of the methods described below are executed atomically." msgstr "" "Toutes les méthodes décrites ci-dessous sont exécutées de manière atomique." -#: library/threading.rst:225 +#: library/threading.rst:237 msgid "Thread-Local Data" msgstr "Données locales au fil d'exécution" -#: library/threading.rst:227 +#: library/threading.rst:239 msgid "" "Thread-local data is data whose values are thread specific. To manage " "thread-local data, just create an instance of :class:`local` (or a subclass) " @@ -383,16 +404,16 @@ msgstr "" "locales au fil, il suffit de créer une instance de :class:`local` (ou une " "sous-classe) et d'y stocker des données ::" -#: library/threading.rst:234 +#: library/threading.rst:246 msgid "The instance's values will be different for separate threads." msgstr "" "Les valeurs dans l'instance sont différentes pour des *threads* différents." -#: library/threading.rst:239 +#: library/threading.rst:251 msgid "A class that represents thread-local data." msgstr "Classe qui représente les données locales au fil d'exécution." -#: library/threading.rst:241 +#: library/threading.rst:253 msgid "" "For more details and extensive examples, see the documentation string of " "the :mod:`_threading_local` module." @@ -400,11 +421,11 @@ msgstr "" "Pour plus de détails et de nombreux exemples, voir la chaîne de " "documentation du module :mod:`_threading_local`." -#: library/threading.rst:248 +#: library/threading.rst:260 msgid "Thread Objects" msgstr "Objets *Threads*" -#: library/threading.rst:250 +#: library/threading.rst:262 msgid "" "The :class:`Thread` class represents an activity that is run in a separate " "thread of control. There are two ways to specify the activity: by passing a " @@ -421,7 +442,7 @@ msgstr "" "une sous-classe. En d'autres termes, réimplémentez *seulement* les méthodes :" "meth:`~Thread.__init__` et :meth:`~Thread.run` de cette classe." -#: library/threading.rst:257 +#: library/threading.rst:269 msgid "" "Once a thread object is created, its activity must be started by calling the " "thread's :meth:`~Thread.start` method. This invokes the :meth:`~Thread.run` " @@ -431,7 +452,7 @@ msgstr "" "en appelant la méthode :meth:`~Thread.start` du fil. Ceci invoque la " "méthode :meth:`~Thread.run` dans un fil d'exécution séparé." -#: library/threading.rst:261 +#: library/threading.rst:273 msgid "" "Once the thread's activity is started, the thread is considered 'alive'. It " "stops being alive when its :meth:`~Thread.run` method terminates -- either " @@ -443,7 +464,7 @@ msgstr "" "run` se termine – soit normalement, soit en levant une exception non gérée. " "La méthode :meth:`~Thread.is_alive` teste si le fil est vivant." -#: library/threading.rst:266 +#: library/threading.rst:278 msgid "" "Other threads can call a thread's :meth:`~Thread.join` method. This blocks " "the calling thread until the thread whose :meth:`~Thread.join` method is " @@ -453,7 +474,7 @@ msgstr "" "d'un fil. Ceci bloque le fil appelant jusqu'à ce que le fil dont la méthode :" "meth:`~Thread.join` est appelée soit terminé." -#: library/threading.rst:270 +#: library/threading.rst:282 msgid "" "A thread has a name. The name can be passed to the constructor, and read or " "changed through the :attr:`~Thread.name` attribute." @@ -461,7 +482,7 @@ msgstr "" "Un fil d'exécution a un nom. Le nom peut être passé au constructeur, et lu " "ou modifié via l'attribut :attr:`~Thread.name`." -#: library/threading.rst:273 +#: library/threading.rst:285 msgid "" "If the :meth:`~Thread.run` method raises an exception, :func:`threading." "excepthook` is called to handle it. By default, :func:`threading.excepthook` " @@ -471,7 +492,7 @@ msgstr "" "excepthook` est appelée pour s'en occuper. Par défaut, :func:`threading." "excepthook` ignore silencieusement :exc:`SystemExit`." -#: library/threading.rst:277 +#: library/threading.rst:289 msgid "" "A thread can be flagged as a \"daemon thread\". The significance of this " "flag is that the entire Python program exits when only daemon threads are " @@ -485,7 +506,7 @@ msgstr "" "par la propriété :attr:`~Thread.daemon` ou par l'argument *daemon* du " "constructeur." -#: library/threading.rst:284 +#: library/threading.rst:296 msgid "" "Daemon threads are abruptly stopped at shutdown. Their resources (such as " "open files, database transactions, etc.) may not be released properly. If " @@ -499,7 +520,7 @@ msgstr "" "utilisez un mécanisme de signalisation approprié tel qu'un objet évènement :" "class:`Event`." -#: library/threading.rst:289 +#: library/threading.rst:301 msgid "" "There is a \"main thread\" object; this corresponds to the initial thread of " "control in the Python program. It is not a daemon thread." @@ -507,7 +528,7 @@ msgstr "" "Il y a un objet \"fil principal\", qui correspond au fil de contrôle initial " "dans le programme Python. Ce n'est pas un fil démon." -#: library/threading.rst:292 +#: library/threading.rst:304 msgid "" "There is the possibility that \"dummy thread objects\" are created. These " "are thread objects corresponding to \"alien threads\", which are threads of " @@ -525,7 +546,7 @@ msgstr "" "meth:`~Thread.join`. Ils ne sont jamais supprimés, car il est impossible de " "détecter la fin des fils d'exécution étrangers." -#: library/threading.rst:303 +#: library/threading.rst:315 msgid "" "This constructor should always be called with keyword arguments. Arguments " "are:" @@ -533,7 +554,7 @@ msgstr "" "Ce constructeur doit toujours être appelé avec des arguments nommés. Les " "arguments sont :" -#: library/threading.rst:306 +#: library/threading.rst:318 msgid "" "*group* should be ``None``; reserved for future extension when a :class:" "`ThreadGroup` class is implemented." @@ -541,7 +562,7 @@ msgstr "" "*group* doit être ``None`` ; cet argument est réservé pour une extension " "future lorsqu'une classe :class:`ThreadGroup` sera implémentée." -#: library/threading.rst:309 +#: library/threading.rst:321 msgid "" "*target* is the callable object to be invoked by the :meth:`run` method. " "Defaults to ``None``, meaning nothing is called." @@ -550,7 +571,7 @@ msgstr "" "`run`. La valeur par défaut est ``None``, ce qui signifie que rien n'est " "appelé." -#: library/threading.rst:312 +#: library/threading.rst:324 #, fuzzy msgid "" "*name* is the thread name. By default, a unique name is constructed of the " @@ -561,14 +582,14 @@ msgstr "" "*name* est le nom du fil d'exécution. Par défaut, un nom unique est " "construit de la forme « Thread–*N* » où *N* est un petit nombre décimal." -#: library/threading.rst:317 +#: library/threading.rst:329 msgid "" "*args* is the argument tuple for the target invocation. Defaults to ``()``." msgstr "" "*args* est le *n*-uplet d'arguments pour l'invocation de l'objet appelable. " "La valeur par défaut est ``()``." -#: library/threading.rst:319 +#: library/threading.rst:331 msgid "" "*kwargs* is a dictionary of keyword arguments for the target invocation. " "Defaults to ``{}``." @@ -576,7 +597,7 @@ msgstr "" "*kwargs* est un dictionnaire d'arguments nommés pour l'invocation de l'objet " "appelable. La valeur par défaut est ``{}``." -#: library/threading.rst:322 +#: library/threading.rst:334 msgid "" "If not ``None``, *daemon* explicitly sets whether the thread is daemonic. If " "``None`` (the default), the daemonic property is inherited from the current " @@ -586,7 +607,7 @@ msgstr "" "d'exécution est démonique ou pas. S'il vaut ``None`` (par défaut), la valeur " "est héritée du fil courant." -#: library/threading.rst:326 +#: library/threading.rst:338 msgid "" "If the subclass overrides the constructor, it must make sure to invoke the " "base class constructor (``Thread.__init__()``) before doing anything else to " @@ -596,19 +617,19 @@ msgstr "" "d'appeler le constructeur de la classe de base (``Thread.__init__()``) avant " "de faire autre chose au fil d'exécution." -#: library/threading.rst:330 +#: library/threading.rst:342 msgid "Use the *target* name if *name* argument is omitted." msgstr "" -#: library/threading.rst:333 +#: library/threading.rst:345 msgid "Added the *daemon* argument." msgstr "Ajout de l'argument *daemon*." -#: library/threading.rst:338 +#: library/threading.rst:350 msgid "Start the thread's activity." msgstr "Lance l'activité du fil d'exécution." -#: library/threading.rst:340 +#: library/threading.rst:352 msgid "" "It must be called at most once per thread object. It arranges for the " "object's :meth:`~Thread.run` method to be invoked in a separate thread of " @@ -618,7 +639,7 @@ msgstr "" "que la méthode :meth:`~Thread.run` de l'objet soit invoquée dans un fil " "d'exécution." -#: library/threading.rst:344 +#: library/threading.rst:356 msgid "" "This method will raise a :exc:`RuntimeError` if called more than once on the " "same thread object." @@ -626,11 +647,11 @@ msgstr "" "Cette méthode lève une :exc:`RuntimeError` si elle est appelée plus d'une " "fois sur le même objet fil d'exécution." -#: library/threading.rst:349 +#: library/threading.rst:361 msgid "Method representing the thread's activity." msgstr "Méthode représentant l'activité du fil d'exécution." -#: library/threading.rst:351 +#: library/threading.rst:363 msgid "" "You may override this method in a subclass. The standard :meth:`run` method " "invokes the callable object passed to the object's constructor as the " @@ -643,7 +664,7 @@ msgstr "" "positionnels et des arguments nommés tirés respectivement des arguments " "*args* et *kwargs*." -#: library/threading.rst:358 +#: library/threading.rst:370 msgid "" "Wait until the thread terminates. This blocks the calling thread until the " "thread whose :meth:`~Thread.join` method is called terminates -- either " @@ -655,7 +676,7 @@ msgstr "" "termine – soit normalement, soit par une exception non gérée – ou jusqu'à ce " "que le délai optionnel *timeout* soit atteint." -#: library/threading.rst:363 +#: library/threading.rst:375 msgid "" "When the *timeout* argument is present and not ``None``, it should be a " "floating point number specifying a timeout for the operation in seconds (or " @@ -671,7 +692,7 @@ msgstr "" "`~Thread.join` pour déterminer si le délai a expiré – si le fil d'exécution " "est toujours vivant, c'est que l'appel à :meth:`~Thread.join` a expiré." -#: library/threading.rst:370 +#: library/threading.rst:382 msgid "" "When the *timeout* argument is not present or ``None``, the operation will " "block until the thread terminates." @@ -679,13 +700,13 @@ msgstr "" "Lorsque l'argument *timeout* n'est pas présent ou vaut ``None``, l'opération " "se bloque jusqu'à ce que le fil d'exécution se termine." -#: library/threading.rst:373 +#: library/threading.rst:385 msgid "A thread can be :meth:`~Thread.join`\\ ed many times." msgstr "" "Un fil d'exécution peut être attendu via :meth:`~Thread.join` de nombreuses " "fois." -#: library/threading.rst:375 +#: library/threading.rst:387 msgid "" ":meth:`~Thread.join` raises a :exc:`RuntimeError` if an attempt is made to " "join the current thread as that would cause a deadlock. It is also an error " @@ -698,7 +719,7 @@ msgstr "" "fil d'exécution avant son lancement est aussi une erreur et, si vous tentez " "de le faire, lève la même exception." -#: library/threading.rst:382 +#: library/threading.rst:394 msgid "" "A string used for identification purposes only. It has no semantics. " "Multiple threads may be given the same name. The initial name is set by the " @@ -708,7 +729,7 @@ msgstr "" "Elle n'a pas de sémantique. Plusieurs fils d'exécution peuvent porter le " "même nom. Le nom initial est défini par le constructeur." -#: library/threading.rst:389 +#: library/threading.rst:401 #, fuzzy msgid "" "Deprecated getter/setter API for :attr:`~Thread.name`; use it directly as a " @@ -717,7 +738,7 @@ msgstr "" "Anciens accesseur et mutateur pour :attr:`~Thread.name` ; utilisez plutôt ce " "dernier directement." -#: library/threading.rst:396 +#: library/threading.rst:408 msgid "" "The 'thread identifier' of this thread or ``None`` if the thread has not " "been started. This is a nonzero integer. See the :func:`get_ident` " @@ -731,7 +752,7 @@ msgstr "" "se termine et qu'un autre fil est créé. L'identifiant est disponible même " "après que le fil ait terminé." -#: library/threading.rst:404 +#: library/threading.rst:416 #, fuzzy msgid "" "The Thread ID (``TID``) of this thread, as assigned by the OS (kernel). This " @@ -748,7 +769,7 @@ msgstr "" "tout le système (jusqu'à la fin de l'exécution de ce fil, après quoi le " "système d'exploitation peut recycler la valeur)." -#: library/threading.rst:413 +#: library/threading.rst:425 msgid "" "Similar to Process IDs, Thread IDs are only valid (guaranteed unique system-" "wide) from the time the thread is created until the thread has been " @@ -757,18 +778,18 @@ msgstr "" "Tout comme pour les *Process IDs*, les *Thread IDs* ne sont valides " "(garantis uniques sur le système) uniquement du démarrage du fil à sa fin." -#: library/threading.rst:418 +#: library/threading.rst:430 msgid "" ":ref:`Availability `: Requires :func:`get_native_id` function." msgstr "" ":ref:`Disponibilité ` : nécessite la fonction :func:" "`get_native_id`." -#: library/threading.rst:423 +#: library/threading.rst:435 msgid "Return whether the thread is alive." msgstr "Renvoie si le fil d'exécution est vivant ou pas." -#: library/threading.rst:425 +#: library/threading.rst:437 msgid "" "This method returns ``True`` just before the :meth:`~Thread.run` method " "starts until just after the :meth:`~Thread.run` method terminates. The " @@ -779,7 +800,7 @@ msgstr "" "méthode :meth:`~Thread.run`. La fonction :func:`.enumerate` du module " "renvoie une liste de tous les fils d'exécution vivants." -#: library/threading.rst:431 +#: library/threading.rst:443 #, fuzzy msgid "" "A boolean value indicating whether this thread is a daemon thread (``True``) " @@ -796,14 +817,14 @@ msgstr "" "démon et donc tous les fils créés dans ce fil principal ont par défaut la " "valeur :attr:`~Thread.daemon` = ``False``." -#: library/threading.rst:438 +#: library/threading.rst:450 msgid "" "The entire Python program exits when no alive non-daemon threads are left." msgstr "" "Le programme Python se termine lorsqu'il ne reste plus de fils d'exécution " "non-démons vivants." -#: library/threading.rst:443 +#: library/threading.rst:455 #, fuzzy msgid "" "Deprecated getter/setter API for :attr:`~Thread.daemon`; use it directly as " @@ -812,11 +833,11 @@ msgstr "" "Anciens accesseur et mutateur pour :attr:`~Thread.daemon` ; utilisez plutôt " "ce dernier directement." -#: library/threading.rst:452 +#: library/threading.rst:464 msgid "Lock Objects" msgstr "Verrous" -#: library/threading.rst:454 +#: library/threading.rst:466 msgid "" "A primitive lock is a synchronization primitive that is not owned by a " "particular thread when locked. In Python, it is currently the lowest level " @@ -828,7 +849,7 @@ msgstr "" "plus bas-niveau qui soit disponible, implémentée directement par le module " "d'extension :mod:`_thread`." -#: library/threading.rst:459 +#: library/threading.rst:471 msgid "" "A primitive lock is in one of two states, \"locked\" or \"unlocked\". It is " "created in the unlocked state. It has two basic methods, :meth:`~Lock." @@ -853,11 +874,11 @@ msgstr "" "Déverrouiller un verrou qui n'est pas verrouillé provoque une :exc:" "`RuntimeError`." -#: library/threading.rst:470 +#: library/threading.rst:482 msgid "Locks also support the :ref:`context management protocol `." msgstr "" -#: library/threading.rst:472 +#: library/threading.rst:484 msgid "" "When more than one thread is blocked in :meth:`~Lock.acquire` waiting for " "the state to turn to unlocked, only one thread proceeds when a :meth:`~Lock." @@ -865,42 +886,42 @@ msgid "" "proceeds is not defined, and may vary across implementations." msgstr "" -#: library/threading.rst:477 +#: library/threading.rst:489 msgid "All methods are executed atomically." msgstr "" -#: library/threading.rst:482 +#: library/threading.rst:494 msgid "" "The class implementing primitive lock objects. Once a thread has acquired a " "lock, subsequent attempts to acquire it block, until it is released; any " "thread may release it." msgstr "" -#: library/threading.rst:486 +#: library/threading.rst:498 msgid "" "Note that ``Lock`` is actually a factory function which returns an instance " "of the most efficient version of the concrete Lock class that is supported " "by the platform." msgstr "" -#: library/threading.rst:573 +#: library/threading.rst:585 msgid "Acquire a lock, blocking or non-blocking." msgstr "Acquiert un verrou, bloquant ou non bloquant." -#: library/threading.rst:495 +#: library/threading.rst:507 msgid "" "When invoked with the *blocking* argument set to ``True`` (the default), " "block until the lock is unlocked, then set it to locked and return ``True``." msgstr "" -#: library/threading.rst:498 +#: library/threading.rst:510 msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. If " "a call with *blocking* set to ``True`` would block, return ``False`` " "immediately; otherwise, set the lock to locked and return ``True``." msgstr "" -#: library/threading.rst:502 +#: library/threading.rst:514 msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -909,53 +930,53 @@ msgid "" "*blocking* is ``False``." msgstr "" -#: library/threading.rst:508 +#: library/threading.rst:520 msgid "" "The return value is ``True`` if the lock is acquired successfully, ``False`` " "if not (for example if the *timeout* expired)." msgstr "" -#: library/threading.rst:595 library/threading.rst:842 +#: library/threading.rst:607 library/threading.rst:854 msgid "The *timeout* parameter is new." msgstr "Le paramètre *timeout* est nouveau." -#: library/threading.rst:514 +#: library/threading.rst:526 msgid "" "Lock acquisition can now be interrupted by signals on POSIX if the " "underlying threading implementation supports it." msgstr "" -#: library/threading.rst:521 +#: library/threading.rst:533 msgid "" "Release a lock. This can be called from any thread, not only the thread " "which has acquired the lock." msgstr "" -#: library/threading.rst:524 +#: library/threading.rst:536 msgid "" "When the lock is locked, reset it to unlocked, and return. If any other " "threads are blocked waiting for the lock to become unlocked, allow exactly " "one of them to proceed." msgstr "" -#: library/threading.rst:528 +#: library/threading.rst:540 msgid "When invoked on an unlocked lock, a :exc:`RuntimeError` is raised." msgstr "" -#: library/threading.rst:611 +#: library/threading.rst:623 msgid "There is no return value." msgstr "Il n'y a pas de valeur de retour." -#: library/threading.rst:534 +#: library/threading.rst:546 #, fuzzy msgid "Return ``True`` if the lock is acquired." msgstr "Renvoie ``True`` si le verrou est acquis." -#: library/threading.rst:541 +#: library/threading.rst:553 msgid "RLock Objects" msgstr "" -#: library/threading.rst:543 +#: library/threading.rst:555 msgid "" "A reentrant lock is a synchronization primitive that may be acquired " "multiple times by the same thread. Internally, it uses the concepts of " @@ -964,7 +985,7 @@ msgid "" "lock; in the unlocked state, no thread owns it." msgstr "" -#: library/threading.rst:549 +#: library/threading.rst:561 msgid "" "To lock the lock, a thread calls its :meth:`~RLock.acquire` method; this " "returns once the thread owns the lock. To unlock the lock, a thread calls " @@ -975,13 +996,13 @@ msgid "" "proceed." msgstr "" -#: library/threading.rst:556 +#: library/threading.rst:568 msgid "" "Reentrant locks also support the :ref:`context management protocol `." msgstr "" -#: library/threading.rst:561 +#: library/threading.rst:573 msgid "" "This class implements reentrant lock objects. A reentrant lock must be " "released by the thread that acquired it. Once a thread has acquired a " @@ -989,14 +1010,14 @@ msgid "" "thread must release it once for each time it has acquired it." msgstr "" -#: library/threading.rst:566 +#: library/threading.rst:578 msgid "" "Note that ``RLock`` is actually a factory function which returns an instance " "of the most efficient version of the concrete RLock class that is supported " "by the platform." msgstr "" -#: library/threading.rst:575 +#: library/threading.rst:587 msgid "" "When invoked without arguments: if this thread already owns the lock, " "increment the recursion level by one, and return immediately. Otherwise, if " @@ -1007,13 +1028,13 @@ msgid "" "ownership of the lock. There is no return value in this case." msgstr "" -#: library/threading.rst:583 +#: library/threading.rst:595 msgid "" "When invoked with the *blocking* argument set to ``True``, do the same thing " "as when called without arguments, and return ``True``." msgstr "" -#: library/threading.rst:586 +#: library/threading.rst:598 msgid "" "When invoked with the *blocking* argument set to ``False``, do not block. " "If a call without an argument would block, return ``False`` immediately; " @@ -1021,7 +1042,7 @@ msgid "" "``True``." msgstr "" -#: library/threading.rst:590 +#: library/threading.rst:602 msgid "" "When invoked with the floating-point *timeout* argument set to a positive " "value, block for at most the number of seconds specified by *timeout* and as " @@ -1029,7 +1050,7 @@ msgid "" "acquired, ``False`` if the timeout has elapsed." msgstr "" -#: library/threading.rst:601 +#: library/threading.rst:613 msgid "" "Release a lock, decrementing the recursion level. If after the decrement it " "is zero, reset the lock to unlocked (not owned by any thread), and if any " @@ -1038,17 +1059,17 @@ msgid "" "is still nonzero, the lock remains locked and owned by the calling thread." msgstr "" -#: library/threading.rst:607 +#: library/threading.rst:619 msgid "" "Only call this method when the calling thread owns the lock. A :exc:" "`RuntimeError` is raised if this method is called when the lock is unlocked." msgstr "" -#: library/threading.rst:617 +#: library/threading.rst:629 msgid "Condition Objects" msgstr "" -#: library/threading.rst:619 +#: library/threading.rst:631 msgid "" "A condition variable is always associated with some kind of lock; this can " "be passed in or one will be created by default. Passing one in is useful " @@ -1056,7 +1077,7 @@ msgid "" "of the condition object: you don't have to track it separately." msgstr "" -#: library/threading.rst:624 +#: library/threading.rst:636 msgid "" "A condition variable obeys the :ref:`context management protocol `: using the ``with`` statement acquires the associated lock for the " @@ -1065,7 +1086,7 @@ msgid "" "associated lock." msgstr "" -#: library/threading.rst:630 +#: library/threading.rst:642 msgid "" "Other methods must be called with the associated lock held. The :meth:" "`~Condition.wait` method releases the lock, and then blocks until another " @@ -1074,14 +1095,14 @@ msgid "" "and returns. It is also possible to specify a timeout." msgstr "" -#: library/threading.rst:636 +#: library/threading.rst:648 msgid "" "The :meth:`~Condition.notify` method wakes up one of the threads waiting for " "the condition variable, if any are waiting. The :meth:`~Condition." "notify_all` method wakes up all threads waiting for the condition variable." msgstr "" -#: library/threading.rst:640 +#: library/threading.rst:652 msgid "" "Note: the :meth:`~Condition.notify` and :meth:`~Condition.notify_all` " "methods don't release the lock; this means that the thread or threads " @@ -1090,7 +1111,7 @@ msgid "" "or :meth:`~Condition.notify_all` finally relinquishes ownership of the lock." msgstr "" -#: library/threading.rst:646 +#: library/threading.rst:658 msgid "" "The typical programming style using condition variables uses the lock to " "synchronize access to some shared state; threads that are interested in a " @@ -1102,7 +1123,7 @@ msgid "" "situation with unlimited buffer capacity::" msgstr "" -#: library/threading.rst:666 +#: library/threading.rst:678 msgid "" "The ``while`` loop checking for the application's condition is necessary " "because :meth:`~Condition.wait` can return after an arbitrary long time, and " @@ -1112,7 +1133,7 @@ msgid "" "checking, and eases the computation of timeouts::" msgstr "" -#: library/threading.rst:678 +#: library/threading.rst:690 msgid "" "To choose between :meth:`~Condition.notify` and :meth:`~Condition." "notify_all`, consider whether one state change can be interesting for only " @@ -1121,44 +1142,44 @@ msgid "" "thread." msgstr "" -#: library/threading.rst:686 +#: library/threading.rst:698 msgid "" "This class implements condition variable objects. A condition variable " "allows one or more threads to wait until they are notified by another thread." msgstr "" -#: library/threading.rst:689 +#: library/threading.rst:701 msgid "" "If the *lock* argument is given and not ``None``, it must be a :class:`Lock` " "or :class:`RLock` object, and it is used as the underlying lock. Otherwise, " "a new :class:`RLock` object is created and used as the underlying lock." msgstr "" -#: library/threading.rst:817 library/threading.rst:915 -#: library/threading.rst:986 +#: library/threading.rst:829 library/threading.rst:927 +#: library/threading.rst:998 msgid "changed from a factory function to a class." msgstr "" -#: library/threading.rst:698 +#: library/threading.rst:710 msgid "" "Acquire the underlying lock. This method calls the corresponding method on " "the underlying lock; the return value is whatever that method returns." msgstr "" -#: library/threading.rst:703 +#: library/threading.rst:715 msgid "" "Release the underlying lock. This method calls the corresponding method on " "the underlying lock; there is no return value." msgstr "" -#: library/threading.rst:708 +#: library/threading.rst:720 msgid "" "Wait until notified or until a timeout occurs. If the calling thread has not " "acquired the lock when this method is called, a :exc:`RuntimeError` is " "raised." msgstr "" -#: library/threading.rst:712 +#: library/threading.rst:724 msgid "" "This method releases the underlying lock, and then blocks until it is " "awakened by a :meth:`notify` or :meth:`notify_all` call for the same " @@ -1166,14 +1187,14 @@ msgid "" "Once awakened or timed out, it re-acquires the lock and returns." msgstr "" -#: library/threading.rst:717 +#: library/threading.rst:729 msgid "" "When the *timeout* argument is present and not ``None``, it should be a " "floating point number specifying a timeout for the operation in seconds (or " "fractions thereof)." msgstr "" -#: library/threading.rst:721 +#: library/threading.rst:733 msgid "" "When the underlying lock is an :class:`RLock`, it is not released using its :" "meth:`release` method, since this may not actually unlock the lock when it " @@ -1183,24 +1204,24 @@ msgid "" "used to restore the recursion level when the lock is reacquired." msgstr "" -#: library/threading.rst:729 +#: library/threading.rst:741 msgid "" "The return value is ``True`` unless a given *timeout* expired, in which case " "it is ``False``." msgstr "" -#: library/threading.rst:951 +#: library/threading.rst:963 msgid "Previously, the method always returned ``None``." msgstr "" -#: library/threading.rst:737 +#: library/threading.rst:749 msgid "" "Wait until a condition evaluates to true. *predicate* should be a callable " "which result will be interpreted as a boolean value. A *timeout* may be " "provided giving the maximum time to wait." msgstr "" -#: library/threading.rst:741 +#: library/threading.rst:753 msgid "" "This utility method may call :meth:`wait` repeatedly until the predicate is " "satisfied, or until a timeout occurs. The return value is the last return " @@ -1208,33 +1229,33 @@ msgid "" "out." msgstr "" -#: library/threading.rst:746 +#: library/threading.rst:758 msgid "" "Ignoring the timeout feature, calling this method is roughly equivalent to " "writing::" msgstr "" -#: library/threading.rst:752 +#: library/threading.rst:764 msgid "" "Therefore, the same rules apply as with :meth:`wait`: The lock must be held " "when called and is re-acquired on return. The predicate is evaluated with " "the lock held." msgstr "" -#: library/threading.rst:760 +#: library/threading.rst:772 msgid "" "By default, wake up one thread waiting on this condition, if any. If the " "calling thread has not acquired the lock when this method is called, a :exc:" "`RuntimeError` is raised." msgstr "" -#: library/threading.rst:764 +#: library/threading.rst:776 msgid "" "This method wakes up at most *n* of the threads waiting for the condition " "variable; it is a no-op if no threads are waiting." msgstr "" -#: library/threading.rst:767 +#: library/threading.rst:779 msgid "" "The current implementation wakes up exactly *n* threads, if at least *n* " "threads are waiting. However, it's not safe to rely on this behavior. A " @@ -1242,14 +1263,14 @@ msgid "" "threads." msgstr "" -#: library/threading.rst:772 +#: library/threading.rst:784 msgid "" "Note: an awakened thread does not actually return from its :meth:`wait` call " "until it can reacquire the lock. Since :meth:`notify` does not release the " "lock, its caller should." msgstr "" -#: library/threading.rst:778 +#: library/threading.rst:790 msgid "" "Wake up all threads waiting on this condition. This method acts like :meth:" "`notify`, but wakes up all waiting threads instead of one. If the calling " @@ -1257,15 +1278,15 @@ msgid "" "`RuntimeError` is raised." msgstr "" -#: library/threading.rst:783 +#: library/threading.rst:795 msgid "The method ``notifyAll`` is a deprecated alias for this method." msgstr "" -#: library/threading.rst:789 +#: library/threading.rst:801 msgid "Semaphore Objects" msgstr "" -#: library/threading.rst:791 +#: library/threading.rst:803 msgid "" "This is one of the oldest synchronization primitives in the history of " "computer science, invented by the early Dutch computer scientist Edsger W. " @@ -1273,7 +1294,7 @@ msgid "" "acquire` and :meth:`~Semaphore.release`)." msgstr "" -#: library/threading.rst:796 +#: library/threading.rst:808 msgid "" "A semaphore manages an internal counter which is decremented by each :meth:" "`~Semaphore.acquire` call and incremented by each :meth:`~Semaphore.release` " @@ -1282,12 +1303,12 @@ msgid "" "meth:`~Semaphore.release`." msgstr "" -#: library/threading.rst:802 +#: library/threading.rst:814 msgid "" "Semaphores also support the :ref:`context management protocol `." msgstr "" -#: library/threading.rst:807 +#: library/threading.rst:819 msgid "" "This class implements semaphore objects. A semaphore manages an atomic " "counter representing the number of :meth:`release` calls minus the number " @@ -1296,28 +1317,28 @@ msgid "" "If not given, *value* defaults to 1." msgstr "" -#: library/threading.rst:813 +#: library/threading.rst:825 msgid "" "The optional argument gives the initial *value* for the internal counter; it " "defaults to ``1``. If the *value* given is less than 0, :exc:`ValueError` is " "raised." msgstr "" -#: library/threading.rst:822 +#: library/threading.rst:834 msgid "Acquire a semaphore." msgstr "" -#: library/threading.rst:824 +#: library/threading.rst:836 msgid "When invoked without arguments:" msgstr "" -#: library/threading.rst:826 +#: library/threading.rst:838 msgid "" "If the internal counter is larger than zero on entry, decrement it by one " "and return ``True`` immediately." msgstr "" -#: library/threading.rst:828 +#: library/threading.rst:840 msgid "" "If the internal counter is zero on entry, block until awoken by a call to :" "meth:`~Semaphore.release`. Once awoken (and the counter is greater than 0), " @@ -1326,32 +1347,32 @@ msgid "" "threads are awoken should not be relied on." msgstr "" -#: library/threading.rst:834 +#: library/threading.rst:846 msgid "" "When invoked with *blocking* set to ``False``, do not block. If a call " "without an argument would block, return ``False`` immediately; otherwise, do " "the same thing as when called without arguments, and return ``True``." msgstr "" -#: library/threading.rst:838 +#: library/threading.rst:850 msgid "" "When invoked with a *timeout* other than ``None``, it will block for at most " "*timeout* seconds. If acquire does not complete successfully in that " "interval, return ``False``. Return ``True`` otherwise." msgstr "" -#: library/threading.rst:847 +#: library/threading.rst:859 msgid "" "Release a semaphore, incrementing the internal counter by *n*. When it was " "zero on entry and other threads are waiting for it to become larger than " "zero again, wake up *n* of those threads." msgstr "" -#: library/threading.rst:851 +#: library/threading.rst:863 msgid "Added the *n* parameter to release multiple waiting threads at once." msgstr "" -#: library/threading.rst:857 +#: library/threading.rst:869 msgid "" "Class implementing bounded semaphore objects. A bounded semaphore checks to " "make sure its current value doesn't exceed its initial value. If it does, :" @@ -1360,11 +1381,11 @@ msgid "" "times it's a sign of a bug. If not given, *value* defaults to 1." msgstr "" -#: library/threading.rst:870 +#: library/threading.rst:882 msgid ":class:`Semaphore` Example" msgstr "" -#: library/threading.rst:872 +#: library/threading.rst:884 msgid "" "Semaphores are often used to guard resources with limited capacity, for " "example, a database server. In any situation where the size of the resource " @@ -1372,37 +1393,37 @@ msgid "" "threads, your main thread would initialize the semaphore::" msgstr "" -#: library/threading.rst:881 +#: library/threading.rst:893 msgid "" "Once spawned, worker threads call the semaphore's acquire and release " "methods when they need to connect to the server::" msgstr "" -#: library/threading.rst:891 +#: library/threading.rst:903 msgid "" "The use of a bounded semaphore reduces the chance that a programming error " "which causes the semaphore to be released more than it's acquired will go " "undetected." msgstr "" -#: library/threading.rst:898 +#: library/threading.rst:910 msgid "Event Objects" msgstr "" -#: library/threading.rst:900 +#: library/threading.rst:912 msgid "" "This is one of the simplest mechanisms for communication between threads: " "one thread signals an event and other threads wait for it." msgstr "" -#: library/threading.rst:903 +#: library/threading.rst:915 msgid "" "An event object manages an internal flag that can be set to true with the :" "meth:`~Event.set` method and reset to false with the :meth:`~Event.clear` " "method. The :meth:`~Event.wait` method blocks until the flag is true." msgstr "" -#: library/threading.rst:910 +#: library/threading.rst:922 msgid "" "Class implementing event objects. An event manages a flag that can be set " "to true with the :meth:`~Event.set` method and reset to false with the :meth:" @@ -1410,43 +1431,43 @@ msgid "" "flag is initially false." msgstr "" -#: library/threading.rst:920 +#: library/threading.rst:932 msgid "Return ``True`` if and only if the internal flag is true." msgstr "" -#: library/threading.rst:922 +#: library/threading.rst:934 msgid "The method ``isSet`` is a deprecated alias for this method." msgstr "" -#: library/threading.rst:926 +#: library/threading.rst:938 msgid "" "Set the internal flag to true. All threads waiting for it to become true are " "awakened. Threads that call :meth:`wait` once the flag is true will not " "block at all." msgstr "" -#: library/threading.rst:932 +#: library/threading.rst:944 msgid "" "Reset the internal flag to false. Subsequently, threads calling :meth:`wait` " "will block until :meth:`.set` is called to set the internal flag to true " "again." msgstr "" -#: library/threading.rst:938 +#: library/threading.rst:950 msgid "" "Block until the internal flag is true. If the internal flag is true on " "entry, return immediately. Otherwise, block until another thread calls :" "meth:`.set` to set the flag to true, or until the optional timeout occurs." msgstr "" -#: library/threading.rst:942 +#: library/threading.rst:954 msgid "" "When the timeout argument is present and not ``None``, it should be a " "floating point number specifying a timeout for the operation in seconds (or " "fractions thereof)." msgstr "" -#: library/threading.rst:946 +#: library/threading.rst:958 msgid "" "This method returns ``True`` if and only if the internal flag has been set " "to true, either before the wait call or after the wait starts, so it will " @@ -1454,11 +1475,11 @@ msgid "" "out." msgstr "" -#: library/threading.rst:958 +#: library/threading.rst:970 msgid "Timer Objects" msgstr "" -#: library/threading.rst:960 +#: library/threading.rst:972 msgid "" "This class represents an action that should be run only after a certain " "amount of time has passed --- a timer. :class:`Timer` is a subclass of :" @@ -1466,7 +1487,7 @@ msgid "" "threads." msgstr "" -#: library/threading.rst:964 +#: library/threading.rst:976 msgid "" "Timers are started, as with threads, by calling their :meth:`~Timer.start` " "method. The timer can be stopped (before its action has begun) by calling " @@ -1475,11 +1496,11 @@ msgid "" "by the user." msgstr "" -#: library/threading.rst:970 +#: library/threading.rst:982 msgid "For example::" msgstr "Par exemple ::" -#: library/threading.rst:981 +#: library/threading.rst:993 msgid "" "Create a timer that will run *function* with arguments *args* and keyword " "arguments *kwargs*, after *interval* seconds have passed. If *args* is " @@ -1487,17 +1508,17 @@ msgid "" "``None`` (the default) then an empty dict will be used." msgstr "" -#: library/threading.rst:991 +#: library/threading.rst:1003 msgid "" "Stop the timer, and cancel the execution of the timer's action. This will " "only work if the timer is still in its waiting stage." msgstr "" -#: library/threading.rst:996 +#: library/threading.rst:1008 msgid "Barrier Objects" msgstr "" -#: library/threading.rst:1000 +#: library/threading.rst:1012 msgid "" "This class provides a simple synchronization primitive for use by a fixed " "number of threads that need to wait for each other. Each of the threads " @@ -1506,18 +1527,18 @@ msgid "" "calls. At this point, the threads are released simultaneously." msgstr "" -#: library/threading.rst:1006 +#: library/threading.rst:1018 msgid "" "The barrier can be reused any number of times for the same number of threads." msgstr "" -#: library/threading.rst:1008 +#: library/threading.rst:1020 msgid "" "As an example, here is a simple way to synchronize a client and server " "thread::" msgstr "" -#: library/threading.rst:1028 +#: library/threading.rst:1040 msgid "" "Create a barrier object for *parties* number of threads. An *action*, when " "provided, is a callable to be called by one of the threads when they are " @@ -1525,7 +1546,7 @@ msgid "" "the :meth:`wait` method." msgstr "" -#: library/threading.rst:1035 +#: library/threading.rst:1047 msgid "" "Pass the barrier. When all the threads party to the barrier have called " "this function, they are all released simultaneously. If a *timeout* is " @@ -1533,44 +1554,44 @@ msgid "" "constructor." msgstr "" -#: library/threading.rst:1040 +#: library/threading.rst:1052 msgid "" "The return value is an integer in the range 0 to *parties* -- 1, different " "for each thread. This can be used to select a thread to do some special " "housekeeping, e.g.::" msgstr "" -#: library/threading.rst:1049 +#: library/threading.rst:1061 msgid "" "If an *action* was provided to the constructor, one of the threads will have " "called it prior to being released. Should this call raise an error, the " "barrier is put into the broken state." msgstr "" -#: library/threading.rst:1053 +#: library/threading.rst:1065 msgid "If the call times out, the barrier is put into the broken state." msgstr "" -#: library/threading.rst:1055 +#: library/threading.rst:1067 msgid "" "This method may raise a :class:`BrokenBarrierError` exception if the barrier " "is broken or reset while a thread is waiting." msgstr "" -#: library/threading.rst:1060 +#: library/threading.rst:1072 msgid "" "Return the barrier to the default, empty state. Any threads waiting on it " "will receive the :class:`BrokenBarrierError` exception." msgstr "" -#: library/threading.rst:1063 +#: library/threading.rst:1075 msgid "" "Note that using this function may require some external synchronization if " "there are other threads whose state is unknown. If a barrier is broken it " "may be better to just leave it and create a new one." msgstr "" -#: library/threading.rst:1069 +#: library/threading.rst:1081 msgid "" "Put the barrier into a broken state. This causes any active or future calls " "to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for " @@ -1578,36 +1599,36 @@ msgid "" "application." msgstr "" -#: library/threading.rst:1074 +#: library/threading.rst:1086 msgid "" "It may be preferable to simply create the barrier with a sensible *timeout* " "value to automatically guard against one of the threads going awry." msgstr "" -#: library/threading.rst:1080 +#: library/threading.rst:1092 msgid "The number of threads required to pass the barrier." msgstr "" -#: library/threading.rst:1084 +#: library/threading.rst:1096 msgid "The number of threads currently waiting in the barrier." msgstr "" -#: library/threading.rst:1088 +#: library/threading.rst:1100 msgid "A boolean that is ``True`` if the barrier is in the broken state." msgstr "" -#: library/threading.rst:1093 +#: library/threading.rst:1105 msgid "" "This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" "`Barrier` object is reset or broken." msgstr "" -#: library/threading.rst:1100 +#: library/threading.rst:1112 msgid "" "Using locks, conditions, and semaphores in the :keyword:`!with` statement" msgstr "" -#: library/threading.rst:1102 +#: library/threading.rst:1114 msgid "" "All of the objects provided by this module that have :meth:`acquire` and :" "meth:`release` methods can be used as context managers for a :keyword:`with` " @@ -1616,11 +1637,11 @@ msgid "" "Hence, the following snippet::" msgstr "" -#: library/threading.rst:1111 +#: library/threading.rst:1123 msgid "is equivalent to::" msgstr "est équivalente à ::" -#: library/threading.rst:1119 +#: library/threading.rst:1131 msgid "" "Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:" "`Semaphore`, and :class:`BoundedSemaphore` objects may be used as :keyword:" diff --git a/library/tkinter.po b/library/tkinter.po index ab7afb875b..0441ca2d13 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-12-13 23:41+0100\n" "Last-Translator: pierre choffe \n" "Language-Team: FRENCH \n" @@ -76,7 +76,7 @@ msgstr "" #: library/tkinter.rst:43 #, fuzzy -msgid "`TkDocs `_" +msgid "`TkDocs `_" msgstr "`TKDocs `_" #: library/tkinter.rst:42 @@ -149,7 +149,8 @@ msgid "By Alan Moore. (ISBN 978-1788835886)" msgstr "" #: library/tkinter.rst:65 -msgid "`Programming Python `_" +#, fuzzy +msgid "`Programming Python `_" msgstr "`Programming Python `_" #: library/tkinter.rst:65 @@ -208,11 +209,11 @@ msgstr "Tk" #: library/tkinter.rst:93 msgid "" -"Tk is a `Tcl package `_ implemented in C that adds " -"custom commands to create and manipulate GUI widgets. Each :class:`Tk` " -"object embeds its own Tcl interpreter instance with Tk loaded into it. Tk's " -"widgets are very customizable, though at the cost of a dated appearance. Tk " -"uses Tcl's event queue to generate and process GUI events." +"Tk is a `Tcl package `_ implemented in C " +"that adds custom commands to create and manipulate GUI widgets. Each :class:" +"`Tk` object embeds its own Tcl interpreter instance with Tk loaded into it. " +"Tk's widgets are very customizable, though at the cost of a dated " +"appearance. Tk uses Tcl's event queue to generate and process GUI events." msgstr "" #: library/tkinter.rst:103 @@ -1952,8 +1953,9 @@ msgstr "" "était utilisée." #: library/tkinter.rst:991 +#, fuzzy msgid "" -"The `Pillow `_ package adds support for formats " +"The `Pillow `_ package adds support for formats " "such as BMP, JPEG, TIFF, and WebP, among others." msgstr "" "Le paquet `Pillow `_ ajoute la prise en charge de " diff --git a/library/tkinter.tix.po b/library/tkinter.tix.po index 4b385a5b5c..f7bd46529d 100644 --- a/library/tkinter.tix.po +++ b/library/tkinter.tix.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -51,7 +51,7 @@ msgid "" msgstr "" #: library/tkinter.tix.rst:38 -msgid "`Tix Homepage `_" +msgid "`Tix Homepage `_" msgstr "" #: library/tkinter.tix.rst:37 @@ -61,7 +61,7 @@ msgid "" msgstr "" #: library/tkinter.tix.rst:41 -msgid "`Tix Man Pages `_" +msgid "`Tix Man Pages `_" msgstr "" #: library/tkinter.tix.rst:41 @@ -70,7 +70,7 @@ msgstr "" #: library/tkinter.tix.rst:44 msgid "" -"`Tix Programming Guide `_" msgstr "" @@ -80,7 +80,7 @@ msgstr "" #: library/tkinter.tix.rst:48 msgid "" -"`Tix Development Applications `_" msgstr "" @@ -123,7 +123,7 @@ msgstr "" #: library/tkinter.tix.rst:83 msgid "" -"`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` repertoire." msgstr "" @@ -133,7 +133,7 @@ msgstr "" #: library/tkinter.tix.rst:93 msgid "" -"A `Balloon `_ that pops up over a widget to provide help. When the user " "moves the cursor inside a widget to which a Balloon widget has been bound, a " "small pop-up window with a descriptive message will be shown on the screen." @@ -141,14 +141,14 @@ msgstr "" #: library/tkinter.tix.rst:105 msgid "" -"The `ButtonBox `_ widget creates a box of buttons, such as is commonly " "used for ``Ok Cancel``." msgstr "" #: library/tkinter.tix.rst:115 msgid "" -"The `ComboBox `_ widget is similar to the combo box control in MS Windows. " "The user can select a choice by either typing in the entry subwidget or " "selecting from the listbox subwidget." @@ -156,7 +156,7 @@ msgstr "" #: library/tkinter.tix.rst:127 msgid "" -"The `Control `_ widget is also known as the :class:`SpinBox` widget. The " "user can adjust the value by pressing the two arrow buttons or by entering " "the value directly into the entry. The new value will be checked against the " @@ -165,7 +165,7 @@ msgstr "" #: library/tkinter.tix.rst:140 msgid "" -"The `LabelEntry `_ widget packages an entry widget and a label into one " "mega widget. It can be used to simplify the creation of \"entry-form\" type " "of interface." @@ -173,7 +173,7 @@ msgstr "" #: library/tkinter.tix.rst:151 msgid "" -"The `LabelFrame `_ widget packages a frame widget and a label into one " "mega widget. To create widgets inside a LabelFrame widget, one creates the " "new widgets relative to the :attr:`frame` subwidget and manage them inside " @@ -182,20 +182,20 @@ msgstr "" #: library/tkinter.tix.rst:163 msgid "" -"The `Meter `_ widget can be used to show the progress of a background job which may " -"take a long time to execute." +"The `Meter `_ widget can be used to show the progress of a background job " +"which may take a long time to execute." msgstr "" #: library/tkinter.tix.rst:174 msgid "" -"The `OptionMenu `_ creates a menu button of options." msgstr "" #: library/tkinter.tix.rst:184 msgid "" -"The `PopupMenu `_ widget can be used as a replacement of the ``tk_popup`` " "command. The advantage of the :mod:`Tix` :class:`PopupMenu` widget is it " "requires less application code to manipulate." @@ -203,14 +203,14 @@ msgstr "" #: library/tkinter.tix.rst:196 msgid "" -"The `Select `_ widget is a container of button subwidgets. It can be used " "to provide radio-box or check-box style of selection options for the user." msgstr "" #: library/tkinter.tix.rst:207 msgid "" -"The `StdButtonBox `_ widget is a group of standard buttons for Motif-like " "dialog boxes." msgstr "" @@ -221,7 +221,7 @@ msgstr "" #: library/tkinter.tix.rst:221 msgid "" -"The `DirList `_ widget displays a list view of a directory, its previous " "directories and its sub-directories. The user can choose one of the " "directories displayed in the list or change to another directory." @@ -229,7 +229,7 @@ msgstr "" #: library/tkinter.tix.rst:233 msgid "" -"The `DirTree `_ widget displays a tree view of a directory, its previous " "directories and its sub-directories. The user can choose one of the " "directories displayed in the list or change to another directory." @@ -237,7 +237,7 @@ msgstr "" #: library/tkinter.tix.rst:245 msgid "" -"The `DirSelectDialog `_ widget presents the directories in the file " "system in a dialog window. The user can use this dialog window to navigate " "through the file system to select the desired directory." @@ -253,7 +253,7 @@ msgstr "" #: library/tkinter.tix.rst:265 msgid "" -"The `ExFileSelectBox `_ widget is usually embedded in a " "tixExFileSelectDialog widget. It provides a convenient method for the user " "to select files. The style of the :class:`ExFileSelectBox` widget is very " @@ -262,7 +262,7 @@ msgstr "" #: library/tkinter.tix.rst:278 msgid "" -"The `FileSelectBox `_ is similar to the standard Motif(TM) file-selection " "box. It is generally used for the user to choose a file. FileSelectBox " "stores the files mostly recently selected into a :class:`ComboBox` widget so " @@ -271,7 +271,7 @@ msgstr "" #: library/tkinter.tix.rst:291 msgid "" -"The `FileEntry `_ widget can be used to input a filename. The user can " "type in the filename manually. Alternatively, the user can press the button " "widget that sits next to the entry, which will bring up a file selection " @@ -284,16 +284,16 @@ msgstr "" #: library/tkinter.tix.rst:307 msgid "" -"The `HList `_ widget can be used to display any data that have a hierarchical " -"structure, for example, file system directory trees. The list entries are " -"indented and connected by branch lines according to their places in the " -"hierarchy." +"The `HList `_ widget can be used to display any data that have a " +"hierarchical structure, for example, file system directory trees. The list " +"entries are indented and connected by branch lines according to their places " +"in the hierarchy." msgstr "" #: library/tkinter.tix.rst:319 msgid "" -"The `CheckList `_ widget displays a list of items to be selected by the " "user. CheckList acts similarly to the Tk checkbutton or radiobutton widgets, " "except it is capable of handling many more items than checkbuttons or " @@ -302,7 +302,7 @@ msgstr "" #: library/tkinter.tix.rst:335 msgid "" -"The `Tree `_ widget can be used to display hierarchical data in a tree form. The " "user can adjust the view of the tree by opening or closing parts of the tree." msgstr "" @@ -313,9 +313,9 @@ msgstr "" #: library/tkinter.tix.rst:352 msgid "" -"The `TList `_ widget can be used to display data in a tabular format. The list " -"entries of a :class:`TList` widget are similar to the entries in the Tk " +"The `TList `_ widget can be used to display data in a tabular format. The " +"list entries of a :class:`TList` widget are similar to the entries in the Tk " "listbox widget. The main differences are (1) the :class:`TList` widget can " "display the list entries in a two dimensional format and (2) you can use " "graphical images as well as multiple colors and fonts for the list entries." @@ -327,7 +327,7 @@ msgstr "" #: library/tkinter.tix.rst:380 msgid "" -"The `PanedWindow `_ widget allows the user to interactively manipulate the " "sizes of several panes. The panes can be arranged either vertically or " "horizontally. The user changes the sizes of the panes by dragging the " @@ -336,7 +336,7 @@ msgstr "" #: library/tkinter.tix.rst:392 msgid "" -"The `ListNoteBook `_ widget is very similar to the :class:`TixNoteBook` " "widget: it can be used to display many windows in a limited space using a " "notebook metaphor. The notebook is divided into a stack of pages (windows). " @@ -347,7 +347,7 @@ msgstr "" #: library/tkinter.tix.rst:406 msgid "" -"The `NoteBook `_ widget can be used to display many windows in a limited " "space using a notebook metaphor. The notebook is divided into a stack of " "pages. At one time only one of these pages can be shown. The user can " @@ -365,14 +365,14 @@ msgstr "" #: library/tkinter.tix.rst:432 msgid "" -"`pixmap `_ capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` widgets to " "create color images from XPM files." msgstr "" #: library/tkinter.tix.rst:441 msgid "" -"`Compound `_ image types can be used to create images that consists of multiple " "horizontal lines; each line is composed of a series of items (texts, " "bitmaps, images or spaces) arranged from left to right. For example, a " @@ -386,7 +386,7 @@ msgstr "" #: library/tkinter.tix.rst:465 msgid "" -"The `InputOnly `_ widgets are to accept inputs from the user, which can be " "done with the ``bind`` command (Unix only)." msgstr "" @@ -401,7 +401,7 @@ msgstr "" #: library/tkinter.tix.rst:479 msgid "" -"The `Form `_ geometry manager based on attachment rules for all Tk widgets." msgstr "" @@ -411,7 +411,7 @@ msgstr "" #: library/tkinter.tix.rst:490 msgid "" -"The `tix commands `_ provide access to miscellaneous elements of :mod:`Tix`'s internal " "state and the :mod:`Tix` application context. Most of the information " "manipulated by these methods pertains to the application as a whole, or to a " diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 36c2fd652e..0efd9bd625 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -83,7 +83,7 @@ msgstr "" #: library/tkinter.ttk.rst:62 msgid "" -"`Converting existing applications to use Tile widgets `_" msgstr "" @@ -478,7 +478,7 @@ msgstr "" msgid "" "Modify or inquire widget state. If *statespec* is specified, sets the widget " "state according to it and return a new *statespec* indicating which flags " -"were changed. If *statespec* is not specified, returns the currently-enabled " +"were changed. If *statespec* is not specified, returns the currently enabled " "state flags." msgstr "" @@ -731,7 +731,7 @@ msgstr "" msgid "" "Ttk Notebook widget manages a collection of windows and displays a single " "one at a time. Each child window is associated with a tab, which the user " -"may select to change the currently-displayed window." +"may select to change the currently displayed window." msgstr "" #: library/tkinter.ttk.rst:483 @@ -840,7 +840,7 @@ msgstr "" #: library/tkinter.ttk.rst:548 msgid "" -"The literal string \"current\", which identifies the currently-selected tab" +"The literal string \"current\", which identifies the currently selected tab" msgstr "" #: library/tkinter.ttk.rst:549 @@ -923,7 +923,7 @@ msgstr "" #: library/tkinter.ttk.rst:617 msgid "" -"The associated child window will be displayed, and the previously-selected " +"The associated child window will be displayed, and the previously selected " "window (if different) is unmapped. If *tab_id* is omitted, returns the " "widget name of the currently selected pane." msgstr "" @@ -1869,7 +1869,7 @@ msgstr "" #: library/tkinter.ttk.rst:1277 msgid "" -"`Tcl'2004 conference presentation `_" msgstr "" diff --git a/library/types.po b/library/types.po index 2e3718acfb..e84858ba82 100644 --- a/library/types.po +++ b/library/types.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-09-28 10:04+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -290,7 +290,7 @@ msgstr "" #: library/types.rst:241 msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader` as " -"stored in the attr:`__spec__` object." +"stored in the :attr:`__spec__` object." msgstr "" #: library/types.rst:245 @@ -322,7 +322,7 @@ msgstr "" #: library/types.rst:266 msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent` as " -"stored in the attr:`__spec__` object." +"stored in the :attr:`__spec__` object." msgstr "" #: library/types.rst:270 diff --git a/library/typing.po b/library/typing.po index a58820da2f..df98a8f571 100644 --- a/library/typing.po +++ b/library/typing.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:27+0100\n" "Last-Translator: Jean-Michel Laprise \n" "Language-Team: FRENCH \n" @@ -73,120 +73,127 @@ msgid "" "provides backports of these new features to older versions of Python." msgstr "" -#: library/typing.rst:42 +#: library/typing.rst:41 +msgid "" +"The documentation at https://typing.readthedocs.io/ serves as useful " +"reference for type system features, useful typing related tools and typing " +"best practices." +msgstr "" + +#: library/typing.rst:47 msgid "Relevant PEPs" msgstr "" -#: library/typing.rst:44 +#: library/typing.rst:49 msgid "" "Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a " "number of PEPs have modified and enhanced Python's framework for type " "annotations. These include:" msgstr "" -#: library/typing.rst:49 +#: library/typing.rst:54 msgid ":pep:`526`: Syntax for Variable Annotations" msgstr "" -#: library/typing.rst:49 +#: library/typing.rst:54 msgid "" "*Introducing* syntax for annotating variables outside of function " "definitions, and :data:`ClassVar`" msgstr "" -#: library/typing.rst:52 +#: library/typing.rst:57 msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)" msgstr "" -#: library/typing.rst:52 +#: library/typing.rst:57 msgid "" "*Introducing* :class:`Protocol` and the :func:" "`@runtime_checkable` decorator" msgstr "" -#: library/typing.rst:55 +#: library/typing.rst:60 msgid ":pep:`585`: Type Hinting Generics In Standard Collections" msgstr "" -#: library/typing.rst:55 +#: library/typing.rst:60 msgid "" "*Introducing* :class:`types.GenericAlias` and the ability to use standard " "library classes as :ref:`generic types`" msgstr "" -#: library/typing.rst:57 +#: library/typing.rst:62 msgid ":pep:`586`: Literal Types" msgstr "" -#: library/typing.rst:58 +#: library/typing.rst:63 msgid "*Introducing* :data:`Literal`" msgstr "" -#: library/typing.rst:59 +#: library/typing.rst:64 msgid "" ":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys" msgstr "" -#: library/typing.rst:60 +#: library/typing.rst:65 msgid "*Introducing* :class:`TypedDict`" msgstr "" -#: library/typing.rst:61 +#: library/typing.rst:66 msgid ":pep:`591`: Adding a final qualifier to typing" msgstr "" -#: library/typing.rst:62 +#: library/typing.rst:67 msgid "*Introducing* :data:`Final` and the :func:`@final` decorator" msgstr "" -#: library/typing.rst:63 +#: library/typing.rst:68 msgid ":pep:`593`: Flexible function and variable annotations" msgstr "" -#: library/typing.rst:64 +#: library/typing.rst:69 msgid "*Introducing* :data:`Annotated`" msgstr "" -#: library/typing.rst:67 +#: library/typing.rst:72 msgid ":pep:`604`: Allow writing union types as ``X | Y``" msgstr "" -#: library/typing.rst:66 +#: library/typing.rst:71 msgid "" "*Introducing* :data:`types.UnionType` and the ability to use the binary-or " "operator ``|`` to signify a :ref:`union of types`" msgstr "" -#: library/typing.rst:69 +#: library/typing.rst:74 msgid ":pep:`612`: Parameter Specification Variables" msgstr "" -#: library/typing.rst:70 +#: library/typing.rst:75 msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`" msgstr "" -#: library/typing.rst:71 +#: library/typing.rst:76 #, fuzzy msgid ":pep:`613`: Explicit Type Aliases" msgstr "Voir la :pep:`484` pour plus de détails." -#: library/typing.rst:72 +#: library/typing.rst:77 msgid "*Introducing* :data:`TypeAlias`" msgstr "" -#: library/typing.rst:74 +#: library/typing.rst:79 msgid ":pep:`647`: User-Defined Type Guards" msgstr "" -#: library/typing.rst:74 +#: library/typing.rst:79 msgid "*Introducing* :data:`TypeGuard`" msgstr "" -#: library/typing.rst:79 +#: library/typing.rst:84 msgid "Type aliases" msgstr "Alias de type" -#: library/typing.rst:81 +#: library/typing.rst:86 #, fuzzy msgid "" "A type alias is defined by assigning the type to the alias. In this example, " @@ -196,7 +203,7 @@ msgstr "" "exemple, ``Vector`` et ``List[float]`` sont traités comme des synonymes " "interchangeables ::" -#: library/typing.rst:92 +#: library/typing.rst:97 msgid "" "Type aliases are useful for simplifying complex type signatures. For " "example::" @@ -204,7 +211,7 @@ msgstr "" "Les alias de type sont utiles pour simplifier les signatures complexes. Par " "exemple ::" -#: library/typing.rst:110 +#: library/typing.rst:115 msgid "" "Note that ``None`` as a type hint is a special case and is replaced by " "``type(None)``." @@ -212,17 +219,17 @@ msgstr "" "Notez que ``None`` comme indication de type est un cas particulier et est " "remplacé par ``type(None)``." -#: library/typing.rst:116 +#: library/typing.rst:121 msgid "NewType" msgstr "*NewType*" -#: library/typing.rst:118 +#: library/typing.rst:123 #, fuzzy msgid "Use the :class:`NewType` helper to create distinct types::" msgstr "" "Aidez-vous de la fonction :func:`NewType` pour créer des types distincts ::" -#: library/typing.rst:125 +#: library/typing.rst:130 msgid "" "The static type checker will treat the new type as if it were a subclass of " "the original type. This is useful in helping catch logical errors::" @@ -231,7 +238,7 @@ msgstr "" "s'agissait d'une sous-classe du type original. C'est utile pour aider à " "détecter les erreurs logiques ::" -#: library/typing.rst:137 +#: library/typing.rst:142 msgid "" "You may still perform all ``int`` operations on a variable of type " "``UserId``, but the result will always be of type ``int``. This lets you " @@ -244,7 +251,7 @@ msgstr "" "où un ``int`` est attendu, mais vous empêche de créer accidentellement un " "``UserId`` d'une manière invalide ::" -#: library/typing.rst:145 +#: library/typing.rst:150 #, fuzzy msgid "" "Note that these checks are enforced only by the static type checker. At " @@ -260,7 +267,7 @@ msgstr "" "``Derived(some_value)`` ne crée pas une nouvelle classe ou n'introduit pas " "de surcharge au-delà de celle d'un appel de fonction normal." -#: library/typing.rst:151 +#: library/typing.rst:156 msgid "" "More precisely, the expression ``some_value is Derived(some_value)`` is " "always true at runtime." @@ -268,11 +275,11 @@ msgstr "" "Plus précisément, l'expression ``some_value is Derived(some_value)`` est " "toujours vraie au moment de l'exécution." -#: library/typing.rst:154 +#: library/typing.rst:159 msgid "It is invalid to create a subtype of ``Derived``::" msgstr "" -#: library/typing.rst:163 +#: library/typing.rst:168 #, fuzzy msgid "" "However, it is possible to create a :class:`NewType` based on a 'derived' " @@ -281,15 +288,15 @@ msgstr "" "Cependant, il est possible de créer un :func:`NewType` basé sur un " "``NewType`` « dérivé » ::" -#: library/typing.rst:171 +#: library/typing.rst:176 msgid "and typechecking for ``ProUserId`` will work as expected." msgstr "et la vérification de type pour ``ProUserId`` fonctionne comme prévu." -#: library/typing.rst:173 +#: library/typing.rst:178 msgid "See :pep:`484` for more details." msgstr "Voir la :pep:`484` pour plus de détails." -#: library/typing.rst:177 +#: library/typing.rst:182 msgid "" "Recall that the use of a type alias declares two types to be *equivalent* to " "one another. Doing ``Alias = Original`` will make the static type checker " @@ -302,7 +309,7 @@ msgstr "" "équivalent* à ``Original`` dans tous les cas. C'est utile lorsque vous " "voulez simplifier des signatures complexes." -#: library/typing.rst:182 +#: library/typing.rst:187 msgid "" "In contrast, ``NewType`` declares one type to be a *subtype* of another. " "Doing ``Derived = NewType('Derived', Original)`` will make the static type " @@ -319,18 +326,18 @@ msgstr "" "prévue. C'est utile lorsque vous voulez éviter les erreurs logiques avec un " "coût d'exécution minimal." -#: library/typing.rst:191 +#: library/typing.rst:196 msgid "" "``NewType`` is now a class rather than a function. There is some additional " "runtime cost when calling ``NewType`` over a regular function. However, " "this cost will be reduced in 3.11.0." msgstr "" -#: library/typing.rst:198 +#: library/typing.rst:203 msgid "Callable" msgstr "Appelable" -#: library/typing.rst:200 +#: library/typing.rst:205 msgid "" "Frameworks expecting callback functions of specific signatures might be type " "hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." @@ -339,11 +346,11 @@ msgstr "" "rappel ayant des signatures spécifiques peuvent être typés en utilisant " "``Callable[[Arg1Type, Arg2Type], ReturnType]``." -#: library/typing.rst:1018 library/typing.rst:2247 +#: library/typing.rst:1023 library/typing.rst:2256 msgid "For example::" msgstr "Par exemple ::" -#: library/typing.rst:218 +#: library/typing.rst:223 msgid "" "It is possible to declare the return type of a callable without specifying " "the call signature by substituting a literal ellipsis for the list of " @@ -353,7 +360,7 @@ msgstr "" "la signature de l'appel en indiquant des points de suspension à la liste des " "arguments dans l'indice de type : ``Callable[..., ReturnType]``." -#: library/typing.rst:709 +#: library/typing.rst:714 msgid "" "Callables which take other callables as arguments may indicate that their " "parameter types are dependent on each other using :class:`ParamSpec`. " @@ -364,23 +371,23 @@ msgid "" "ReturnType]`` respectively." msgstr "" -#: library/typing.rst:721 +#: library/typing.rst:726 msgid "" "``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :" -"pep:`612` for more information." +"pep:`612` for more details." msgstr "" -#: library/typing.rst:235 +#: library/typing.rst:240 msgid "" "The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " "examples of usage in ``Callable``." msgstr "" -#: library/typing.rst:241 +#: library/typing.rst:246 msgid "Generics" msgstr "Génériques" -#: library/typing.rst:243 +#: library/typing.rst:248 msgid "" "Since type information about objects kept in containers cannot be statically " "inferred in a generic way, abstract base classes have been extended to " @@ -392,7 +399,7 @@ msgstr "" "(*subscription* en anglais) et indiquer les types attendus pour les éléments " "de conteneur." -#: library/typing.rst:254 +#: library/typing.rst:259 #, fuzzy msgid "" "Generics can be parameterized by using a factory available in typing called :" @@ -401,17 +408,17 @@ msgstr "" "Les génériques peuvent être paramétrés en utilisant une nouvelle fabrique " "(au sens des patrons de conception) disponible en tapant :class:`TypeVar`." -#: library/typing.rst:270 +#: library/typing.rst:275 msgid "User-defined generic types" msgstr "Types génériques définis par l'utilisateur" -#: library/typing.rst:272 +#: library/typing.rst:277 msgid "A user-defined class can be defined as a generic class." msgstr "" "Une classe définie par l'utilisateur peut être définie comme une classe " "générique." -#: library/typing.rst:298 +#: library/typing.rst:303 msgid "" "``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a " "single type parameter ``T`` . This also makes ``T`` valid as a type within " @@ -421,7 +428,7 @@ msgstr "" "``LoggedVar`` prend un paramètre de type unique ``T``. Ceci rend également " "``T`` valide en tant que type dans le corps de la classe." -#: library/typing.rst:302 +#: library/typing.rst:307 #, fuzzy msgid "" "The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so " @@ -430,7 +437,7 @@ msgstr "" "La classe de base :class:`Generic` définit :meth:`__class_getitem__` de " "sorte que ``LoggedVar[t]`` est valide comme type ::" -#: library/typing.rst:311 +#: library/typing.rst:316 #, fuzzy msgid "" "A generic type can have any number of type variables. All varieties of :" @@ -439,7 +446,7 @@ msgstr "" "Un type générique peut avoir un nombre quelconque de variables de type et " "vous pouvez fixer des contraintes sur les variables de type ::" -#: library/typing.rst:323 +#: library/typing.rst:328 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" @@ -447,22 +454,22 @@ msgstr "" "Chaque argument de variable de type :class:`Generic` doit être distinct. " "Ceci n'est donc pas valable ::" -#: library/typing.rst:334 +#: library/typing.rst:339 msgid "You can use multiple inheritance with :class:`Generic`::" msgstr "Vous pouvez utiliser l'héritage multiple avec :class:`Generic` ::" -#: library/typing.rst:344 +#: library/typing.rst:349 msgid "" "When inheriting from generic classes, some type variables could be fixed::" msgstr "" "Lors de l'héritage de classes génériques, certaines variables de type " "peuvent être corrigées ::" -#: library/typing.rst:354 +#: library/typing.rst:359 msgid "In this case ``MyDict`` has a single parameter, ``T``." msgstr "Dans ce cas, ``MyDict`` a un seul paramètre, ``T``." -#: library/typing.rst:356 +#: library/typing.rst:361 msgid "" "Using a generic class without specifying type parameters assumes :data:`Any` " "for each position. In the following example, ``MyIterable`` is not generic " @@ -473,17 +480,17 @@ msgstr "" "``MyIterable`` n'est pas générique mais hérite implicitement de " "``Iterable[Any]`` ::" -#: library/typing.rst:364 +#: library/typing.rst:369 msgid "User defined generic type aliases are also supported. Examples::" msgstr "" "Les alias de type générique définis par l'utilisateur sont également pris en " "charge. Exemples ::" -#: library/typing.rst:381 +#: library/typing.rst:386 msgid ":class:`Generic` no longer has a custom metaclass." msgstr ":class:`Generic` n'a plus de métaclasse personnalisée." -#: library/typing.rst:384 +#: library/typing.rst:389 msgid "" "User-defined generics for parameter expressions are also supported via " "parameter specification variables in the form ``Generic[P]``. The behavior " @@ -493,7 +500,7 @@ msgid "" "used to substitute a :class:`ParamSpec`::" msgstr "" -#: library/typing.rst:401 +#: library/typing.rst:406 msgid "" "Furthermore, a generic with only one parameter specification variable will " "accept parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also " @@ -501,20 +508,20 @@ msgid "" "converted to the former, so the following are equivalent::" msgstr "" -#: library/typing.rst:413 +#: library/typing.rst:418 msgid "" "Do note that generics with :class:`ParamSpec` may not have correct " "``__parameters__`` after substitution in some cases because they are " "intended primarily for static type checking." msgstr "" -#: library/typing.rst:417 +#: library/typing.rst:422 msgid "" ":class:`Generic` can now be parameterized over parameter expressions. See :" "class:`ParamSpec` and :pep:`612` for more details." msgstr "" -#: library/typing.rst:421 +#: library/typing.rst:426 msgid "" "A user-defined generic class can have ABCs as base classes without a " "metaclass conflict. Generic metaclasses are not supported. The outcome of " @@ -527,11 +534,11 @@ msgstr "" "paramétrage des génériques est mis en cache et la plupart des types dans le " "module ``typing`` sont hachables et comparables pour l'égalité." -#: library/typing.rst:428 +#: library/typing.rst:433 msgid "The :data:`Any` type" msgstr "Le type :data:`Any`" -#: library/typing.rst:430 +#: library/typing.rst:435 msgid "" "A special kind of type is :data:`Any`. A static type checker will treat " "every type as being compatible with :data:`Any` and :data:`Any` as being " @@ -541,7 +548,7 @@ msgstr "" "chaque type comme étant compatible avec :data:`Any` et :data:`Any` comme " "étant compatible avec chaque type." -#: library/typing.rst:434 +#: library/typing.rst:439 #, fuzzy msgid "" "This means that it is possible to perform any operation or method call on a " @@ -551,9 +558,10 @@ msgstr "" "appel de méthode sur une valeur de type :data:`Any` et de l'affecter à " "n'importe quelle variable ::" -#: library/typing.rst:452 +#: library/typing.rst:457 +#, fuzzy msgid "" -"Notice that no typechecking is performed when assigning a value of type :" +"Notice that no type checking is performed when assigning a value of type :" "data:`Any` to a more precise type. For example, the static type checker did " "not report an error when assigning ``a`` to ``s`` even though ``s`` was " "declared to be of type :class:`str` and receives an :class:`int` value at " @@ -565,7 +573,7 @@ msgstr "" "de ``a`` à ``s`` même si ``s`` était déclaré être de type :class:`str` et " "reçoit une valeur :class:`int` au moment de son exécution !" -#: library/typing.rst:458 +#: library/typing.rst:463 msgid "" "Furthermore, all functions without a return type or parameter types will " "implicitly default to using :data:`Any`::" @@ -573,7 +581,7 @@ msgstr "" "De plus, toutes les fonctions sans type de retour ni type de paramètre sont " "considérées comme utilisant :data:`Any` implicitement par défaut ::" -#: library/typing.rst:471 +#: library/typing.rst:476 msgid "" "This behavior allows :data:`Any` to be used as an *escape hatch* when you " "need to mix dynamically and statically typed code." @@ -581,7 +589,7 @@ msgstr "" "Ce comportement permet à :data:`Any` d'être utilisé comme succédané lorsque " "vous avez besoin de mélanger du code typé dynamiquement et statiquement." -#: library/typing.rst:474 +#: library/typing.rst:479 msgid "" "Contrast the behavior of :data:`Any` with the behavior of :class:`object`. " "Similar to :data:`Any`, every type is a subtype of :class:`object`. However, " @@ -593,7 +601,7 @@ msgstr "" "`object`. Cependant, contrairement à :data:`Any`, l'inverse n'est pas " "vrai : :class:`object` n'est *pas* un sous-type de chaque autre type." -#: library/typing.rst:479 +#: library/typing.rst:484 msgid "" "That means when the type of a value is :class:`object`, a type checker will " "reject almost all operations on it, and assigning it to a variable (or using " @@ -605,7 +613,7 @@ msgstr "" "l'affecter à une variable (ou l'utiliser comme une valeur de retour) d'un " "type plus spécialisé est une erreur de typage. Par exemple ::" -#: library/typing.rst:501 +#: library/typing.rst:506 msgid "" "Use :class:`object` to indicate that a value could be any type in a typesafe " "manner. Use :data:`Any` to indicate that a value is dynamically typed." @@ -614,11 +622,11 @@ msgstr "" "quel type de manière sûre. Utiliser :data:`Any` pour indiquer qu'une valeur " "est typée dynamiquement." -#: library/typing.rst:506 +#: library/typing.rst:511 msgid "Nominal vs structural subtyping" msgstr "Sous-typage nominal et sous-typage structurel" -#: library/typing.rst:508 +#: library/typing.rst:513 #, fuzzy msgid "" "Initially :pep:`484` defined the Python static type system as using *nominal " @@ -630,7 +638,7 @@ msgstr "" "est permise lorsqu'une classe ``B`` est prévue si et seulement si ``A`` est " "une sous-classe de ``B``." -#: library/typing.rst:512 +#: library/typing.rst:517 #, fuzzy msgid "" "This requirement previously also applied to abstract base classes, such as :" @@ -646,7 +654,7 @@ msgstr "" "Python idiomatique typé dynamiquement. Par exemple, ceci est conforme à la :" "pep:`484` ::" -#: library/typing.rst:525 +#: library/typing.rst:530 msgid "" ":pep:`544` allows to solve this problem by allowing users to write the above " "code without explicit base classes in the class definition, allowing " @@ -661,7 +669,7 @@ msgstr "" "de type statique. C'est ce qu'on appelle le *sous-typage structurel* (ou " "typage canard) ::" -#: library/typing.rst:541 +#: library/typing.rst:546 msgid "" "Moreover, by subclassing a special class :class:`Protocol`, a user can " "define new custom protocols to fully enjoy structural subtyping (see " @@ -671,16 +679,16 @@ msgstr "" "utilisateur peut définir de nouveaux protocoles personnalisés pour profiter " "pleinement du sous-typage structurel (voir exemples ci-dessous)." -#: library/typing.rst:546 +#: library/typing.rst:551 msgid "Module contents" msgstr "Classe de données" -#: library/typing.rst:548 +#: library/typing.rst:553 #, fuzzy msgid "The module defines the following classes, functions and decorators." msgstr "Ce module définit les classes, fonctions et décorateurs suivants :" -#: library/typing.rst:552 +#: library/typing.rst:557 msgid "" "This module defines several types that are subclasses of pre-existing " "standard library classes which also extend :class:`Generic` to support type " @@ -688,7 +696,7 @@ msgid "" "corresponding pre-existing classes were enhanced to support ``[]``." msgstr "" -#: library/typing.rst:558 +#: library/typing.rst:563 msgid "" "The redundant types are deprecated as of Python 3.9 but no deprecation " "warnings will be issued by the interpreter. It is expected that type " @@ -696,64 +704,64 @@ msgid "" "Python 3.9 or newer." msgstr "" -#: library/typing.rst:563 +#: library/typing.rst:568 msgid "" "The deprecated types will be removed from the :mod:`typing` module in the " "first Python version released 5 years after the release of Python 3.9.0. See " "details in :pep:`585`—*Type Hinting Generics In Standard Collections*." msgstr "" -#: library/typing.rst:569 +#: library/typing.rst:574 msgid "Special typing primitives" msgstr "" -#: library/typing.rst:572 +#: library/typing.rst:577 #, fuzzy msgid "Special types" msgstr "Type « optionnel »." -#: library/typing.rst:574 +#: library/typing.rst:579 msgid "These can be used as types in annotations and do not support ``[]``." msgstr "" -#: library/typing.rst:578 +#: library/typing.rst:583 msgid "Special type indicating an unconstrained type." msgstr "Type spécial indiquant un type non contraint." -#: library/typing.rst:580 +#: library/typing.rst:585 msgid "Every type is compatible with :data:`Any`." msgstr "Chaque type est compatible avec :data:`Any`." -#: library/typing.rst:581 +#: library/typing.rst:586 msgid ":data:`Any` is compatible with every type." msgstr ":data:`Any` est compatible avec tous les types." -#: library/typing.rst:585 +#: library/typing.rst:590 msgid "Special type indicating that a function never returns. For example::" msgstr "Type spécial indiquant qu'une fonction ne renvoie rien. Par exemple ::" -#: library/typing.rst:598 +#: library/typing.rst:603 msgid "" "Special annotation for explicitly declaring a :ref:`type alias `. For example::" msgstr "" -#: library/typing.rst:605 +#: library/typing.rst:610 #, fuzzy msgid "See :pep:`613` for more details about explicit type aliases." msgstr "Voir la :pep:`484` pour plus de détails." -#: library/typing.rst:610 +#: library/typing.rst:615 msgid "Special forms" msgstr "" -#: library/typing.rst:612 +#: library/typing.rst:617 msgid "" "These can be used as types in annotations using ``[]``, each having a unique " "syntax." msgstr "" -#: library/typing.rst:616 +#: library/typing.rst:621 msgid "" "Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the " "first item of type X and the second of type Y. The type of the empty tuple " @@ -763,7 +771,7 @@ msgstr "" "éléments avec le premier élément de type X et le second de type Y. Le type " "du *n*-uplet vide peut être écrit comme ``Tuple[()]``." -#: library/typing.rst:620 +#: library/typing.rst:625 msgid "" "Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type " "variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an int, a " @@ -773,7 +781,7 @@ msgstr "" "type ``T1`` et ``T2``. ``Tuple[int, float, str]`` est un triplet composé " "d'un entier, d'un flottant et d'une chaîne de caractères." -#: library/typing.rst:624 +#: library/typing.rst:629 msgid "" "To specify a variable-length tuple of homogeneous type, use literal " "ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to " @@ -784,7 +792,7 @@ msgstr "" "`Tuple` est équivalent à ``Tuple[Any, ....]`` et, à son tour, à :class:" "`tuple`." -#: library/typing.rst:628 +#: library/typing.rst:633 msgid "" ":class:`builtins.tuple ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -792,14 +800,14 @@ msgstr "" ":class:`builtins.tuple ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:634 +#: library/typing.rst:639 #, fuzzy msgid "" "Union type; ``Union[X, Y]`` is equivalent to ``X | Y`` and means either X or " "Y." msgstr "Type « union » ; ``Union[X, Y]`` signifie X ou Y." -#: library/typing.rst:636 +#: library/typing.rst:641 #, fuzzy msgid "" "To define a union, use e.g. ``Union[int, str]`` or the shorthand ``int | " @@ -807,58 +815,58 @@ msgid "" msgstr "" "Pour définir une union, utilisez par exemple ``Union[int, str]``. Détail :" -#: library/typing.rst:638 +#: library/typing.rst:643 msgid "The arguments must be types and there must be at least one." msgstr "" "Les arguments doivent être des types et il doit y en avoir au moins un." -#: library/typing.rst:640 +#: library/typing.rst:645 msgid "Unions of unions are flattened, e.g.::" msgstr "Les unions d'unions sont aplanies, par exemple ::" -#: library/typing.rst:644 +#: library/typing.rst:649 msgid "Unions of a single argument vanish, e.g.::" msgstr "Les unions d'un seul argument disparaissent, par exemple ::" -#: library/typing.rst:648 +#: library/typing.rst:653 msgid "Redundant arguments are skipped, e.g.::" msgstr "Les arguments redondants sont ignorés, par exemple ::" -#: library/typing.rst:652 +#: library/typing.rst:657 msgid "When comparing unions, the argument order is ignored, e.g.::" msgstr "" "Lors de la comparaison d'unions, l'ordre des arguments est ignoré, par " "exemple ::" -#: library/typing.rst:656 +#: library/typing.rst:661 #, fuzzy msgid "You cannot subclass or instantiate a ``Union``." msgstr "Vous ne pouvez pas sous-classer ou instancier une union." -#: library/typing.rst:658 +#: library/typing.rst:663 msgid "You cannot write ``Union[X][Y]``." msgstr "Vous ne pouvez pas écrire ``Union[X][Y]``." -#: library/typing.rst:660 +#: library/typing.rst:665 msgid "Don't remove explicit subclasses from unions at runtime." msgstr "Ne supprime pas les sous-classes explicites des unions à l'exécution." -#: library/typing.rst:663 +#: library/typing.rst:668 msgid "" "Unions can now be written as ``X | Y``. See :ref:`union type " "expressions`." msgstr "" -#: library/typing.rst:669 +#: library/typing.rst:674 msgid "Optional type." msgstr "Type « optionnel »." -#: library/typing.rst:671 +#: library/typing.rst:676 #, fuzzy msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)." msgstr "``Optional[X]`` équivaut à ``Union[X, None]``." -#: library/typing.rst:673 +#: library/typing.rst:678 msgid "" "Note that this is not the same concept as an optional argument, which is one " "that has a default. An optional argument with a default does not require " @@ -870,7 +878,7 @@ msgstr "" "valeur par défaut) ne nécessite pas, à ce titre, le qualificatif " "``Optional`` sur son annotation de type. Par exemple ::" -#: library/typing.rst:681 +#: library/typing.rst:686 msgid "" "On the other hand, if an explicit value of ``None`` is allowed, the use of " "``Optional`` is appropriate, whether the argument is optional or not. For " @@ -880,19 +888,19 @@ msgstr "" "de ``Optional`` est appropriée, que l'argument soit facultatif ou non. Par " "exemple ::" -#: library/typing.rst:688 +#: library/typing.rst:693 msgid "" "Optional can now be written as ``X | None``. See :ref:`union type " "expressions`." msgstr "" -#: library/typing.rst:694 +#: library/typing.rst:699 msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." msgstr "" "Type Appelable. ``Callable[[int], str]`` est une fonction de type ``(int) -> " "str``." -#: library/typing.rst:696 +#: library/typing.rst:701 msgid "" "The subscription syntax must always be used with exactly two values: the " "argument list and the return type. The argument list must be a list of " @@ -903,7 +911,7 @@ msgstr "" "retour. La liste d'arguments doit être une liste de types ou une ellipse ; " "il doit y avoir un seul type de retour." -#: library/typing.rst:701 +#: library/typing.rst:706 msgid "" "There is no syntax to indicate optional or keyword arguments; such function " "types are rarely used as callback types. ``Callable[..., ReturnType]`` " @@ -920,7 +928,7 @@ msgstr "" "équivalent à ``Callable[..., Any]`` et, à son tour, à :class:`collections." "abc.Callable`." -#: library/typing.rst:717 +#: library/typing.rst:722 msgid "" ":class:`collections.abc.Callable` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -928,13 +936,13 @@ msgstr "" ":class:`collections.abc.Callable` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:726 +#: library/typing.rst:731 msgid "" "The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " "examples of usage with ``Callable``." msgstr "" -#: library/typing.rst:731 +#: library/typing.rst:736 msgid "" "Used with :data:`Callable` and :class:`ParamSpec` to type annotate a higher " "order callable which adds, removes, or transforms parameters of another " @@ -944,7 +952,7 @@ msgid "" "``Concatenate`` must be a :class:`ParamSpec`." msgstr "" -#: library/typing.rst:738 +#: library/typing.rst:743 msgid "" "For example, to annotate a decorator ``with_lock`` which provides a :class:" "`threading.Lock` to the decorated function, ``Concatenate`` can be used to " @@ -955,17 +963,17 @@ msgid "" "passed in::" msgstr "" -#: library/typing.rst:1264 +#: library/typing.rst:1268 msgid "" ":pep:`612` -- Parameter Specification Variables (the PEP which introduced " "``ParamSpec`` and ``Concatenate``)." msgstr "" -#: library/typing.rst:779 +#: library/typing.rst:784 msgid ":class:`ParamSpec` and :class:`Callable`." msgstr "" -#: library/typing.rst:784 +#: library/typing.rst:789 msgid "" "A variable annotated with ``C`` may accept a value of type ``C``. In " "contrast, a variable annotated with ``Type[C]`` may accept values that are " @@ -977,11 +985,11 @@ msgstr "" "qui sont elles-mêmes des classes — plus précisément, elle accepte l'objet " "*class* de ``C``. Par exemple ::" -#: library/typing.rst:793 +#: library/typing.rst:798 msgid "Note that ``Type[C]`` is covariant::" msgstr "Notez que ``Type[C]`` est covariant ::" -#: library/typing.rst:805 +#: library/typing.rst:810 msgid "" "The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` " "should implement the same constructor signature and class method signatures " @@ -999,7 +1007,7 @@ msgstr "" "de type est tenu de traiter ce cas particulier peut changer dans les futures " "révisions de :pep:`484`." -#: library/typing.rst:813 +#: library/typing.rst:818 msgid "" "The only legal parameters for :class:`Type` are classes, :data:`Any`, :ref:" "`type variables `, and unions of any of these types. For example::" @@ -1008,7 +1016,7 @@ msgstr "" "`Any`, :ref:`type variables `, et les unions de ces types. Par " "exemple ::" -#: library/typing.rst:819 +#: library/typing.rst:824 msgid "" "``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to " "``type``, which is the root of Python's metaclass hierarchy." @@ -1016,7 +1024,7 @@ msgstr "" "``Type[Any]`` est équivalent à ``Type`` qui à son tour est équivalent à " "``type``, qui est la racine de la hiérarchie des métaclasses de Python." -#: library/typing.rst:824 +#: library/typing.rst:829 msgid "" ":class:`builtins.type ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1024,7 +1032,7 @@ msgstr "" ":class:`builtins.type ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:830 +#: library/typing.rst:835 msgid "" "A type that can be used to indicate to type checkers that the corresponding " "variable or function parameter has a value equivalent to the provided " @@ -1034,7 +1042,7 @@ msgstr "" "de fonction correspondant a une valeur équivalente au littéral fourni (ou un " "parmi plusieurs littéraux). Par exemple ::" -#: library/typing.rst:844 +#: library/typing.rst:849 msgid "" "``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is " "allowed as type argument to ``Literal[...]``, but type checkers may impose " @@ -1045,7 +1053,7 @@ msgstr "" "les vérificateurs de type peuvent imposer des restrictions. Voir la :pep:" "`586` pour plus de détails sur les types littéraux." -#: library/typing.rst:850 +#: library/typing.rst:855 msgid "" "``Literal`` now de-duplicates parameters. Equality comparisons of " "``Literal`` objects are no longer order dependent. ``Literal`` objects will " @@ -1053,12 +1061,12 @@ msgid "" "their parameters are not :term:`hashable`." msgstr "" -#: library/typing.rst:858 +#: library/typing.rst:863 msgid "Special type construct to mark class variables." msgstr "" "Construction de type particulière pour indiquer les variables de classe." -#: library/typing.rst:860 +#: library/typing.rst:865 msgid "" "As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " "indicates that a given attribute is intended to be used as a class variable " @@ -1069,11 +1077,11 @@ msgstr "" "utilisé comme une variable de classe et ne doit pas être défini sur des " "instances de cette classe. Utilisation ::" -#: library/typing.rst:868 +#: library/typing.rst:873 msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." msgstr ":data:`ClassVar` n'accepte que les types et ne peut plus être dérivé." -#: library/typing.rst:870 +#: library/typing.rst:875 msgid "" ":data:`ClassVar` is not a class itself, and should not be used with :func:" "`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python " @@ -1086,7 +1094,7 @@ msgstr "" "par des vérificateurs tiers. Par exemple, un vérificateur de type peut " "marquer le code suivant comme une erreur ::" -#: library/typing.rst:884 +#: library/typing.rst:889 msgid "" "A special typing construct to indicate to type checkers that a name cannot " "be re-assigned or overridden in a subclass. For example::" @@ -1095,7 +1103,7 @@ msgstr "" "qu'un nom ne peut pas être réassigné ou remplacé dans une sous-classe. Par " "exemple ::" -#: library/typing.rst:2142 +#: library/typing.rst:2151 msgid "" "There is no runtime checking of these properties. See :pep:`591` for more " "details." @@ -1103,7 +1111,7 @@ msgstr "" "Ces propriétés ne sont pas vérifiées à l'exécution. Voir la :pep:`591` pour " "plus de détails." -#: library/typing.rst:903 +#: library/typing.rst:908 msgid "" "A type, introduced in :pep:`593` (``Flexible function and variable " "annotations``), to decorate existing types with context-specific metadata " @@ -1120,7 +1128,7 @@ msgid "" "application." msgstr "" -#: library/typing.rst:917 +#: library/typing.rst:922 msgid "" "Ultimately, the responsibility of how to interpret the annotations (if at " "all) is the responsibility of the tool or library encountering the " @@ -1129,21 +1137,21 @@ msgid "" "using ``isinstance()``)." msgstr "" -#: library/typing.rst:923 +#: library/typing.rst:928 msgid "" "When a tool or a library does not support annotations or encounters an " "unknown annotation it should just ignore it and treat annotated type as the " "underlying type." msgstr "" -#: library/typing.rst:927 +#: library/typing.rst:932 msgid "" "It's up to the tool consuming the annotations to decide whether the client " "is allowed to have several annotations on one type and how to merge those " "annotations." msgstr "" -#: library/typing.rst:931 +#: library/typing.rst:936 msgid "" "Since the ``Annotated`` type allows you to put several annotations of the " "same (or different) type(s) on any node, the tools or libraries consuming " @@ -1151,59 +1159,59 @@ msgid "" "example, if you are doing value range analysis you might allow this::" msgstr "" -#: library/typing.rst:940 +#: library/typing.rst:945 msgid "" "Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " "the extra annotations at runtime." msgstr "" -#: library/typing.rst:943 +#: library/typing.rst:948 msgid "The details of the syntax:" msgstr "" -#: library/typing.rst:945 +#: library/typing.rst:950 msgid "The first argument to ``Annotated`` must be a valid type" msgstr "" -#: library/typing.rst:947 +#: library/typing.rst:952 msgid "" "Multiple type annotations are supported (``Annotated`` supports variadic " "arguments)::" msgstr "" -#: library/typing.rst:952 +#: library/typing.rst:957 msgid "" "``Annotated`` must be called with at least two arguments " "( ``Annotated[int]`` is not valid)" msgstr "" -#: library/typing.rst:955 +#: library/typing.rst:960 msgid "" "The order of the annotations is preserved and matters for equality checks::" msgstr "" -#: library/typing.rst:962 +#: library/typing.rst:967 msgid "" "Nested ``Annotated`` types are flattened, with metadata ordered starting " "with the innermost annotation::" msgstr "" -#: library/typing.rst:969 +#: library/typing.rst:974 msgid "Duplicated annotations are not removed::" msgstr "" -#: library/typing.rst:975 +#: library/typing.rst:980 msgid "``Annotated`` can be used with nested and generic aliases::" msgstr "" -#: library/typing.rst:988 +#: library/typing.rst:993 msgid "" "Special typing form used to annotate the return type of a user-defined type " "guard function. ``TypeGuard`` only accepts a single type argument. At " "runtime, functions marked this way should return a boolean." msgstr "" -#: library/typing.rst:992 +#: library/typing.rst:997 msgid "" "``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static " "type checkers to determine a more precise type of an expression within a " @@ -1212,44 +1220,44 @@ msgid "" "conditional expression here is sometimes referred to as a \"type guard\"::" msgstr "" -#: library/typing.rst:1007 +#: library/typing.rst:1012 msgid "" "Sometimes it would be convenient to use a user-defined boolean function as a " "type guard. Such a function should use ``TypeGuard[...]`` as its return " "type to alert static type checkers to this intention." msgstr "" -#: library/typing.rst:1011 +#: library/typing.rst:1016 msgid "" "Using ``-> TypeGuard`` tells the static type checker that for a given " "function:" msgstr "" -#: library/typing.rst:1014 +#: library/typing.rst:1019 msgid "The return value is a boolean." msgstr "" -#: library/typing.rst:1015 +#: library/typing.rst:1020 msgid "" "If the return value is ``True``, the type of its argument is the type inside " "``TypeGuard``." msgstr "" -#: library/typing.rst:1032 +#: library/typing.rst:1037 msgid "" "If ``is_str_list`` is a class or instance method, then the type in " "``TypeGuard`` maps to the type of the second parameter after ``cls`` or " "``self``." msgstr "" -#: library/typing.rst:1036 +#: library/typing.rst:1041 msgid "" "In short, the form ``def foo(arg: TypeA) -> TypeGuard[TypeB]: ...``, means " "that if ``foo(arg)`` returns ``True``, then ``arg`` narrows from ``TypeA`` " "to ``TypeB``." msgstr "" -#: library/typing.rst:1042 +#: library/typing.rst:1047 msgid "" "``TypeB`` need not be a narrower form of ``TypeA`` -- it can even be a wider " "form. The main reason is to allow for things like narrowing ``List[object]`` " @@ -1258,28 +1266,31 @@ msgid "" "guards is left to the user." msgstr "" -#: library/typing.rst:1048 +#: library/typing.rst:1053 +#, fuzzy msgid "" -"``TypeGuard`` also works with type variables. For more information, see :" -"pep:`647` (User-Defined Type Guards)." +"``TypeGuard`` also works with type variables. See :pep:`647` for more " +"details." msgstr "" +"Ces propriétés ne sont pas vérifiées à l'exécution. Voir la :pep:`591` pour " +"plus de détails." -#: library/typing.rst:1055 +#: library/typing.rst:1059 #, fuzzy msgid "Building generic types" msgstr "Types génériques définis par l'utilisateur" -#: library/typing.rst:1057 +#: library/typing.rst:1061 msgid "" "These are not used in annotations. They are building blocks for creating " "generic types." msgstr "" -#: library/typing.rst:1061 +#: library/typing.rst:1065 msgid "Abstract base class for generic types." msgstr "Classe de base abstraite pour les types génériques." -#: library/typing.rst:1063 +#: library/typing.rst:1067 msgid "" "A generic type is typically declared by inheriting from an instantiation of " "this class with one or more type variables. For example, a generic mapping " @@ -1289,19 +1300,19 @@ msgstr "" "de cette classe avec une ou plusieurs variables de type. Par exemple, un " "type de correspondance générique peut être défini comme suit ::" -#: library/typing.rst:1072 +#: library/typing.rst:1076 msgid "This class can then be used as follows::" msgstr "Cette classe peut alors être utilisée comme suit ::" -#: library/typing.rst:1085 +#: library/typing.rst:1089 msgid "Type variable." msgstr "Variables de type." -#: library/typing.rst:1193 library/typing.rst:1370 +#: library/typing.rst:1197 library/typing.rst:1374 msgid "Usage::" msgstr "Utilisation ::" -#: library/typing.rst:1093 +#: library/typing.rst:1097 #, fuzzy msgid "" "Type variables exist primarily for the benefit of static type checkers. " @@ -1315,13 +1326,13 @@ msgstr "" "``Generic`` pour plus d'informations sur les types génériques. Les fonctions " "génériques fonctionnent comme suit ::" -#: library/typing.rst:1113 +#: library/typing.rst:1117 msgid "" "Note that type variables can be *bound*, *constrained*, or neither, but " "cannot be both bound *and* constrained." msgstr "" -#: library/typing.rst:1116 +#: library/typing.rst:1120 msgid "" "Constrained type variables and bound type variables have different semantics " "in several important ways. Using a *constrained* type variable means that " @@ -1329,23 +1340,23 @@ msgid "" "constraints given::" msgstr "" -#: library/typing.rst:1126 +#: library/typing.rst:1130 msgid "" "Using a *bound* type variable, however, means that the ``TypeVar`` will be " "solved using the most specific type possible::" msgstr "" -#: library/typing.rst:1137 +#: library/typing.rst:1141 msgid "" "Type variables can be bound to concrete types, abstract types (ABCs or " "protocols), and even unions of types::" msgstr "" -#: library/typing.rst:1143 +#: library/typing.rst:1147 msgid "" "Bound type variables are particularly useful for annotating :func:" "`classmethods ` that serve as alternative constructors. In the " -"following example (© `Raymond Hettinger `_), the type variable ``C`` is bound to the ``Circle`` class " "through the use of a forward reference. Using this type variable to annotate " "the ``with_circumference`` classmethod, rather than hardcoding the return " @@ -1353,7 +1364,7 @@ msgid "" "type even if the method is called on a subclass::" msgstr "" -#: library/typing.rst:1181 +#: library/typing.rst:1185 msgid "" "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" "func:`isinstance` and :func:`issubclass` should not be used with types." @@ -1362,7 +1373,7 @@ msgstr "" "général, :func:`isinstance` et :func:`issubclass` ne devraient pas être " "utilisés avec les types." -#: library/typing.rst:1184 +#: library/typing.rst:1188 #, fuzzy msgid "" "Type variables may be marked covariant or contravariant by passing " @@ -1377,13 +1388,13 @@ msgstr "" "(explicitement ou implicitement) à la variable type doit être une sous-" "classe du type frontière (*boundary* en anglais), voir la :pep:`484`." -#: library/typing.rst:1190 +#: library/typing.rst:1194 msgid "" "Parameter specification variable. A specialized version of :class:`type " "variables `." msgstr "" -#: library/typing.rst:1197 +#: library/typing.rst:1201 msgid "" "Parameter specification variables exist primarily for the benefit of static " "type checkers. They are used to forward the parameter types of one callable " @@ -1393,7 +1404,7 @@ msgid "" "See :class:`Generic` for more information on generic types." msgstr "" -#: library/typing.rst:1204 +#: library/typing.rst:1208 msgid "" "For example, to add basic logging to a function, one can create a decorator " "``add_logging`` to log function calls. The parameter specification variable " @@ -1401,27 +1412,27 @@ msgid "" "new callable returned by it have inter-dependent type parameters::" msgstr "" -#: library/typing.rst:1228 +#: library/typing.rst:1232 msgid "" "Without ``ParamSpec``, the simplest way to annotate this previously was to " "use a :class:`TypeVar` with bound ``Callable[..., Any]``. However this " "causes two problems:" msgstr "" -#: library/typing.rst:1232 +#: library/typing.rst:1236 msgid "" "The type checker can't type check the ``inner`` function because ``*args`` " "and ``**kwargs`` have to be typed :data:`Any`." msgstr "" -#: library/typing.rst:1234 +#: library/typing.rst:1238 msgid "" ":func:`~cast` may be required in the body of the ``add_logging`` decorator " "when returning the ``inner`` function, or the static type checker must be " "told to ignore the ``return inner``." msgstr "" -#: library/typing.rst:1241 +#: library/typing.rst:1245 msgid "" "Since ``ParamSpec`` captures both positional and keyword parameters, ``P." "args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its " @@ -1434,7 +1445,7 @@ msgid "" "`ParamSpecKwargs`." msgstr "" -#: library/typing.rst:1251 +#: library/typing.rst:1255 msgid "" "Parameter specification variables created with ``covariant=True`` or " "``contravariant=True`` can be used to declare covariant or contravariant " @@ -1443,17 +1454,17 @@ msgid "" "decided." msgstr "" -#: library/typing.rst:1260 +#: library/typing.rst:1264 msgid "" "Only parameter specification variables defined in global scope can be " "pickled." msgstr "" -#: library/typing.rst:1266 +#: library/typing.rst:1270 msgid ":class:`Callable` and :class:`Concatenate`." msgstr "" -#: library/typing.rst:1271 +#: library/typing.rst:1275 msgid "" "Arguments and keyword arguments attributes of a :class:`ParamSpec`. The ``P." "args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``, and " @@ -1461,13 +1472,13 @@ msgid "" "runtime introspection and have no special meaning to static type checkers." msgstr "" -#: library/typing.rst:1276 +#: library/typing.rst:1280 msgid "" "Calling :func:`get_origin` on either of these objects will return the " "original ``ParamSpec``::" msgstr "" -#: library/typing.rst:1288 +#: library/typing.rst:1292 #, fuzzy msgid "" "``AnyStr`` is a :class:`constrained type variable ` defined as " @@ -1476,7 +1487,7 @@ msgstr "" "``AnyStr`` est une variable de type définie comme ``AnyStr = " "TypeVar('AnyStr', str, bytes)``." -#: library/typing.rst:1291 +#: library/typing.rst:1295 msgid "" "It is meant to be used for functions that may accept any kind of string " "without allowing different kinds of strings to mix. For example::" @@ -1485,14 +1496,14 @@ msgstr "" "n'importe quel type de chaîne de caractères sans permettre à différents " "types de chaînes de caractères de se mélanger. Par exemple ::" -#: library/typing.rst:1303 +#: library/typing.rst:1307 msgid "" "Base class for protocol classes. Protocol classes are defined like this::" msgstr "" "Classe de base pour les classes de protocole. Les classes de protocole sont " "définies comme suit ::" -#: library/typing.rst:1309 +#: library/typing.rst:1313 msgid "" "Such classes are primarily used with static type checkers that recognize " "structural subtyping (static duck-typing), for example::" @@ -1501,9 +1512,10 @@ msgstr "" "de type qui reconnaissent les sous-types structurels (typage canard " "statique), par exemple ::" -#: library/typing.rst:1321 +#: library/typing.rst:1325 +#, fuzzy msgid "" -"See :pep:`544` for details. Protocol classes decorated with :func:" +"See :pep:`544` for more details. Protocol classes decorated with :func:" "`runtime_checkable` (described later) act as simple-minded runtime protocols " "that check only the presence of given attributes, ignoring their type " "signatures." @@ -1513,15 +1525,15 @@ msgstr "" "protocoles d'exécution simples qui ne vérifient que la présence d'attributs " "donnés, ignorant leurs signatures de type." -#: library/typing.rst:1326 +#: library/typing.rst:1330 msgid "Protocol classes can be generic, for example::" msgstr "Les classes de protocole peuvent être génériques, par exemple ::" -#: library/typing.rst:1336 +#: library/typing.rst:1340 msgid "Mark a protocol class as a runtime protocol." msgstr "Marquez une classe de protocole comme protocole d'exécution." -#: library/typing.rst:1338 +#: library/typing.rst:1342 #, fuzzy msgid "" "Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " @@ -1536,7 +1548,7 @@ msgstr "" "similaire aux « classes qui ne savent faire qu'une chose » présentes dans :" "mod:`collections.abc` tel que :class:`Iterable`. Par exemple ::" -#: library/typing.rst:1351 +#: library/typing.rst:1355 msgid "" ":func:`runtime_checkable` will check only the presence of the required " "methods, not their type signatures. For example, :class:`ssl.SSLObject` is a " @@ -1546,39 +1558,39 @@ msgid "" "making it impossible to call (instantiate) :class:`ssl.SSLObject`." msgstr "" -#: library/typing.rst:1362 +#: library/typing.rst:1366 msgid "Other special directives" msgstr "" -#: library/typing.rst:1364 +#: library/typing.rst:1368 msgid "" "These are not used in annotations. They are building blocks for declaring " "types." msgstr "" -#: library/typing.rst:1368 +#: library/typing.rst:1372 msgid "Typed version of :func:`collections.namedtuple`." msgstr "Version typée de :func:`collections.namedtuple`." -#: library/typing.rst:1376 +#: library/typing.rst:1380 msgid "This is equivalent to::" msgstr "Ce qui est équivalent à ::" -#: library/typing.rst:1380 +#: library/typing.rst:1384 msgid "" "To give a field a default value, you can assign to it in the class body::" msgstr "" "Pour assigner une valeur par défaut à un champ, vous pouvez lui donner dans " "le corps de classe ::" -#: library/typing.rst:1389 +#: library/typing.rst:1393 msgid "" "Fields with a default value must come after any fields without a default." msgstr "" "Les champs avec une valeur par défaut doivent venir après tous les champs " "sans valeur par défaut." -#: library/typing.rst:1391 +#: library/typing.rst:1395 #, fuzzy msgid "" "The resulting class has an extra attribute ``__annotations__`` giving a dict " @@ -1593,28 +1605,28 @@ msgstr "" "défaut sont dans l'attribut ``_field_defaults`` qui font partie de l'API " "*namedtuple*.)" -#: library/typing.rst:1397 +#: library/typing.rst:1401 msgid "``NamedTuple`` subclasses can also have docstrings and methods::" msgstr "" "Les sous-classes de ``NamedTuple`` peuvent aussi avoir des *docstrings* et " "des méthodes ::" -#: library/typing.rst:1407 +#: library/typing.rst:1411 msgid "Backward-compatible usage::" msgstr "Utilisation rétrocompatible ::" -#: library/typing.rst:1411 +#: library/typing.rst:1415 msgid "Added support for :pep:`526` variable annotation syntax." msgstr "" "Ajout de la gestion de la syntaxe d'annotation variable de la :pep:`526`." -#: library/typing.rst:1414 +#: library/typing.rst:1418 msgid "Added support for default values, methods, and docstrings." msgstr "" "Ajout de la prise en charge des valeurs par défaut, des méthodes et des " "chaînes de caractères *docstrings*." -#: library/typing.rst:1417 +#: library/typing.rst:1421 msgid "" "The ``_field_types`` and ``__annotations__`` attributes are now regular " "dictionaries instead of instances of ``OrderedDict``." @@ -1622,7 +1634,7 @@ msgstr "" "Les attributs ``_field_types`` et ``__annotations__`` sont maintenant des " "dictionnaires standards au lieu d'instances de ``OrderedDict``." -#: library/typing.rst:1421 +#: library/typing.rst:1425 msgid "" "Removed the ``_field_types`` attribute in favor of the more standard " "``__annotations__`` attribute which has the same information." @@ -1630,7 +1642,7 @@ msgstr "" "rend l'attribut ``_field_types`` obsolète en faveur de l'attribut plus " "standard ``__annotations__`` qui a la même information." -#: library/typing.rst:1427 +#: library/typing.rst:1431 #, fuzzy msgid "" "A helper class to indicate a distinct type to a typechecker, see :ref:" @@ -1641,11 +1653,11 @@ msgstr "" "vérificateur de type, voir :ref:`distinct`. Lors de l'exécution, elle " "renvoie une fonction qui renvoie son argument. Utilisation ::" -#: library/typing.rst:1437 +#: library/typing.rst:1441 msgid "``NewType`` is now a class rather than a function." msgstr "" -#: library/typing.rst:1442 +#: library/typing.rst:1446 #, fuzzy msgid "" "Special construct to add type hints to a dictionary. At runtime it is a " @@ -1654,7 +1666,7 @@ msgstr "" "Un simple espace de nommage typé. À l'exécution, c'est l'équivalent d'un " "simple :class:`dict`." -#: library/typing.rst:1445 +#: library/typing.rst:1449 #, fuzzy msgid "" "``TypedDict`` declares a dictionary type that expects all of its instances " @@ -1668,7 +1680,7 @@ msgstr "" "l'exécution mais n'est appliquée que par les vérificateurs de type. " "Utilisation ::" -#: library/typing.rst:1461 +#: library/typing.rst:1465 #, fuzzy msgid "" "To allow using this feature with older versions of Python that do not " @@ -1681,20 +1693,20 @@ msgstr "" "pas en compte la :pep:`526`, ``TypedDict`` gère deux formes syntaxiques " "équivalentes supplémentaires ::" -#: library/typing.rst:1468 +#: library/typing.rst:1472 msgid "" "The functional syntax should also be used when any of the keys are not " "valid :ref:`identifiers `, for example because they are " "keywords or contain hyphens. Example::" msgstr "" -#: library/typing.rst:1480 +#: library/typing.rst:1484 msgid "" "By default, all keys must be present in a ``TypedDict``. It is possible to " "override this by specifying totality. Usage::" msgstr "" -#: library/typing.rst:1488 +#: library/typing.rst:1492 msgid "" "This means that a ``Point2D`` ``TypedDict`` can have any of the keys " "omitted. A type checker is only expected to support a literal ``False`` or " @@ -1702,37 +1714,37 @@ msgid "" "and makes all items defined in the class body required." msgstr "" -#: library/typing.rst:1493 +#: library/typing.rst:1497 msgid "" "It is possible for a ``TypedDict`` type to inherit from one or more other " "``TypedDict`` types using the class-based syntax. Usage::" msgstr "" -#: library/typing.rst:1500 +#: library/typing.rst:1504 msgid "" "``Point3D`` has three items: ``x``, ``y`` and ``z``. It is equivalent to " "this definition::" msgstr "" -#: library/typing.rst:1508 +#: library/typing.rst:1512 msgid "" "A ``TypedDict`` cannot inherit from a non-\\ ``TypedDict`` class, notably " "including :class:`Generic`. For example::" msgstr "" -#: library/typing.rst:1526 +#: library/typing.rst:1530 msgid "" "A ``TypedDict`` can be introspected via annotations dicts (see :ref:" "`annotations-howto` for more information on annotations best practices), :" "attr:`__total__`, :attr:`__required_keys__`, and :attr:`__optional_keys__`." msgstr "" -#: library/typing.rst:1532 +#: library/typing.rst:1536 msgid "" "``Point2D.__total__`` gives the value of the ``total`` argument. Example::" msgstr "" -#: library/typing.rst:1549 +#: library/typing.rst:1556 msgid "" "``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` return :" "class:`frozenset` objects containing required and non-required keys, " @@ -1742,7 +1754,7 @@ msgid "" "it from another ``TypedDict`` with a different value for ``total``. Usage::" msgstr "" -#: library/typing.rst:1569 +#: library/typing.rst:1578 #, fuzzy msgid "" "See :pep:`589` for more examples and detailed rules of using ``TypedDict``." @@ -1750,15 +1762,15 @@ msgstr "" "Voir la :pep:`589` pour plus d'exemples et de règles détaillées " "d'utilisation de ``TypedDict`` avec les vérificateurs de type." -#: library/typing.rst:1574 +#: library/typing.rst:1583 msgid "Generic concrete collections" msgstr "" -#: library/typing.rst:1577 +#: library/typing.rst:1586 msgid "Corresponding to built-in types" msgstr "" -#: library/typing.rst:1581 +#: library/typing.rst:1590 msgid "" "A generic version of :class:`dict`. Useful for annotating return types. To " "annotate arguments it is preferred to use an abstract collection type such " @@ -1768,11 +1780,11 @@ msgstr "" "retour. Pour annoter les arguments, il est préférable d'utiliser un type de " "collection abstraite tel que :class:`Mapping`." -#: library/typing.rst:1585 +#: library/typing.rst:1594 msgid "This type can be used as follows::" msgstr "Ce type peut être utilisé comme suit ::" -#: library/typing.rst:1590 +#: library/typing.rst:1599 msgid "" ":class:`builtins.dict ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1780,7 +1792,7 @@ msgstr "" ":class:`builtins.dict ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1596 +#: library/typing.rst:1605 msgid "" "Generic version of :class:`list`. Useful for annotating return types. To " "annotate arguments it is preferred to use an abstract collection type such " @@ -1790,11 +1802,11 @@ msgstr "" "Pour annoter les arguments, il est préférable d'utiliser un type de " "collection abstraite tel que :class:`Sequence` ou :class:`Iterable`." -#: library/typing.rst:1601 +#: library/typing.rst:1610 msgid "This type may be used as follows::" msgstr "Ce type peut être utilisé comme suit ::" -#: library/typing.rst:1611 +#: library/typing.rst:1620 msgid "" ":class:`builtins.list ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1802,7 +1814,7 @@ msgstr "" ":class:`builtins.list ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1617 +#: library/typing.rst:1626 msgid "" "A generic version of :class:`builtins.set `. Useful for annotating " "return types. To annotate arguments it is preferred to use an abstract " @@ -1812,7 +1824,7 @@ msgstr "" "types de retour. Pour annoter les arguments, il est préférable d'utiliser un " "type de collection abstraite tel que :class:`AbstractSet`." -#: library/typing.rst:1621 +#: library/typing.rst:1630 msgid "" ":class:`builtins.set ` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1820,11 +1832,11 @@ msgstr "" ":class:`builtins.set ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1627 +#: library/typing.rst:1636 msgid "A generic version of :class:`builtins.frozenset `." msgstr "Une version générique de :class:`builtins.frozenset `." -#: library/typing.rst:1629 +#: library/typing.rst:1638 msgid "" ":class:`builtins.frozenset ` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -1832,19 +1844,19 @@ msgstr "" ":class:`builtins.frozenset ` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1633 +#: library/typing.rst:1642 msgid ":data:`Tuple` is a special form." msgstr "" -#: library/typing.rst:1636 +#: library/typing.rst:1645 msgid "Corresponding to types in :mod:`collections`" msgstr "" -#: library/typing.rst:1640 +#: library/typing.rst:1649 msgid "A generic version of :class:`collections.defaultdict`." msgstr "Une version générique de :class:`collections.defaultdict`." -#: library/typing.rst:1644 +#: library/typing.rst:1653 msgid "" ":class:`collections.defaultdict` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -1852,11 +1864,11 @@ msgstr "" ":class:`collections.defaultdict` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1650 +#: library/typing.rst:1659 msgid "A generic version of :class:`collections.OrderedDict`." msgstr "Une version générique de :class:`collections.OrderedDict`." -#: library/typing.rst:1654 +#: library/typing.rst:1663 msgid "" ":class:`collections.OrderedDict` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -1864,11 +1876,11 @@ msgstr "" ":class:`collections.OrderedDict` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1660 +#: library/typing.rst:1669 msgid "A generic version of :class:`collections.ChainMap`." msgstr "Une version générique de :class:`collections.ChainMap`." -#: library/typing.rst:1665 +#: library/typing.rst:1674 msgid "" ":class:`collections.ChainMap` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1876,11 +1888,11 @@ msgstr "" ":class:`collections.ChainMap` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1671 +#: library/typing.rst:1680 msgid "A generic version of :class:`collections.Counter`." msgstr "Une version générique de :class:`collections.Counter`." -#: library/typing.rst:1676 +#: library/typing.rst:1685 msgid "" ":class:`collections.Counter` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1888,11 +1900,11 @@ msgstr "" ":class:`collections.Counter` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1682 +#: library/typing.rst:1691 msgid "A generic version of :class:`collections.deque`." msgstr "Une version générique de :class:`collections.deque`." -#: library/typing.rst:1687 +#: library/typing.rst:1696 msgid "" ":class:`collections.deque` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1900,11 +1912,11 @@ msgstr "" ":class:`collections.deque` prend désormais en charge ``[]``. Voir :pep:`585` " "et :ref:`types-genericalias`." -#: library/typing.rst:1692 +#: library/typing.rst:1701 msgid "Other concrete types" msgstr "" -#: library/typing.rst:1698 +#: library/typing.rst:1707 #, fuzzy msgid "" "Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " @@ -1915,13 +1927,13 @@ msgstr "" "``BinaryIO(IO[bytes])`` représentent les types de flux d'entrées-sorties " "tels que renvoyés par :func:`open`." -#: library/typing.rst:1705 +#: library/typing.rst:1714 msgid "" "The ``typing.io`` namespace is deprecated and will be removed. These types " "should be directly imported from ``typing`` instead." msgstr "" -#: library/typing.rst:1710 +#: library/typing.rst:1719 #, fuzzy msgid "" "These type aliases correspond to the return types from :func:`re.compile` " @@ -1934,19 +1946,19 @@ msgstr "" "génériques dans ``AnyStr`` et peuvent être rendus spécifiques en écrivant " "``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]`` ou ``Match[bytes]``." -#: library/typing.rst:1720 +#: library/typing.rst:1729 msgid "" "The ``typing.re`` namespace is deprecated and will be removed. These types " "should be directly imported from ``typing`` instead." msgstr "" -#: library/typing.rst:1721 +#: library/typing.rst:1730 msgid "" "Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :" "pep:`585` and :ref:`types-genericalias`." msgstr "" -#: library/typing.rst:1727 +#: library/typing.rst:1736 msgid "" "``Text`` is an alias for ``str``. It is provided to supply a forward " "compatible path for Python 2 code: in Python 2, ``Text`` is an alias for " @@ -1956,7 +1968,7 @@ msgstr "" "compatibilité ascendante du code Python 2 : en Python 2, ``Text`` est un " "alias pour ``unicode``." -#: library/typing.rst:1731 +#: library/typing.rst:1740 msgid "" "Use ``Text`` to indicate that a value must contain a unicode string in a " "manner that is compatible with both Python 2 and Python 3::" @@ -1964,20 +1976,20 @@ msgstr "" "Utilisez ``Text`` pour indiquer qu'une valeur doit contenir une chaîne " "Unicode d'une manière compatible avec Python 2 et Python 3 ::" -#: library/typing.rst:1740 +#: library/typing.rst:1749 #, fuzzy msgid "Abstract Base Classes" msgstr "Classe de base abstraite pour les types génériques." -#: library/typing.rst:1743 +#: library/typing.rst:1752 msgid "Corresponding to collections in :mod:`collections.abc`" msgstr "" -#: library/typing.rst:1747 +#: library/typing.rst:1756 msgid "A generic version of :class:`collections.abc.Set`." msgstr "Une version générique de :class:`collections.abc.Set`." -#: library/typing.rst:1749 +#: library/typing.rst:1758 msgid "" ":class:`collections.abc.Set` now supports ``[]``. See :pep:`585` and :ref:" "`types-genericalias`." @@ -1985,11 +1997,11 @@ msgstr "" ":class:`collections.abc.Set` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1755 +#: library/typing.rst:1764 msgid "A generic version of :class:`collections.abc.ByteString`." msgstr "Une version générique de :class:`collections.abc.ByteString`." -#: library/typing.rst:1757 +#: library/typing.rst:1766 #, fuzzy msgid "" "This type represents the types :class:`bytes`, :class:`bytearray`, and :" @@ -1998,7 +2010,7 @@ msgstr "" "Ce type représente les types :class:`bytes`, :class:`bytearray` et :class:" "`memoryview`." -#: library/typing.rst:1760 +#: library/typing.rst:1769 msgid "" "As a shorthand for this type, :class:`bytes` can be used to annotate " "arguments of any of the types mentioned above." @@ -2006,7 +2018,7 @@ msgstr "" "Comme abréviation pour ce type, :class:`bytes` peut être utilisé pour " "annoter des arguments de n'importe quel type mentionné ci-dessus." -#: library/typing.rst:1763 +#: library/typing.rst:1772 msgid "" ":class:`collections.abc.ByteString` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2014,11 +2026,11 @@ msgstr "" ":class:`collections.abc.ByteString` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1769 +#: library/typing.rst:1778 msgid "A generic version of :class:`collections.abc.Collection`" msgstr "Une version générique de :class:`collections.abc.Collection`" -#: library/typing.rst:1773 +#: library/typing.rst:1782 msgid "" ":class:`collections.abc.Collection` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2026,11 +2038,11 @@ msgstr "" ":class:`collections.abc.Collection` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1779 +#: library/typing.rst:1788 msgid "A generic version of :class:`collections.abc.Container`." msgstr "Une version générique de :class:`collections.abc.Container`." -#: library/typing.rst:1781 +#: library/typing.rst:1790 msgid "" ":class:`collections.abc.Container` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2038,11 +2050,11 @@ msgstr "" ":class:`collections.abc.Container` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1787 +#: library/typing.rst:1796 msgid "A generic version of :class:`collections.abc.ItemsView`." msgstr "Une version générique de :class:`collections.abc.ItemsView`." -#: library/typing.rst:1789 +#: library/typing.rst:1798 msgid "" ":class:`collections.abc.ItemsView` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2050,11 +2062,11 @@ msgstr "" ":class:`collections.abc.ItemsView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1795 +#: library/typing.rst:1804 msgid "A generic version of :class:`collections.abc.KeysView`." msgstr "Une version générique de :class:`collections.abc.KeysView`." -#: library/typing.rst:1797 +#: library/typing.rst:1806 msgid "" ":class:`collections.abc.KeysView` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2062,7 +2074,7 @@ msgstr "" ":class:`collections.abc.KeysView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1803 +#: library/typing.rst:1812 msgid "" "A generic version of :class:`collections.abc.Mapping`. This type can be used " "as follows::" @@ -2070,7 +2082,7 @@ msgstr "" "Une version générique de :class:`collections.abc.Mapping`. Ce type peut être " "utilisé comme suit ::" -#: library/typing.rst:1809 +#: library/typing.rst:1818 msgid "" ":class:`collections.abc.Mapping` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2078,11 +2090,11 @@ msgstr "" ":class:`collections.abc.Mapping` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1815 +#: library/typing.rst:1824 msgid "A generic version of :class:`collections.abc.MappingView`." msgstr "Une version générique de :class:`collections.abc.MappingView`." -#: library/typing.rst:1817 +#: library/typing.rst:1826 msgid "" ":class:`collections.abc.MappingView` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -2090,11 +2102,11 @@ msgstr "" ":class:`collections.abc.MappingView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1823 +#: library/typing.rst:1832 msgid "A generic version of :class:`collections.abc.MutableMapping`." msgstr "Une version générique de :class:`collections.abc.MutableMapping`." -#: library/typing.rst:1825 +#: library/typing.rst:1834 msgid "" ":class:`collections.abc.MutableMapping` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -2102,11 +2114,11 @@ msgstr "" ":class:`collections.abc.MutableMapping` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1831 +#: library/typing.rst:1840 msgid "A generic version of :class:`collections.abc.MutableSequence`." msgstr "Une version générique de :class:`collections.abc.MutableSequence`." -#: library/typing.rst:1833 +#: library/typing.rst:1842 msgid "" ":class:`collections.abc.MutableSequence` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -2114,11 +2126,11 @@ msgstr "" ":class:`collections.abc.MutableSequence` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1839 +#: library/typing.rst:1848 msgid "A generic version of :class:`collections.abc.MutableSet`." msgstr "Une version générique de :class:`collections.abc.MutableSet`." -#: library/typing.rst:1841 +#: library/typing.rst:1850 msgid "" ":class:`collections.abc.MutableSet` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2126,11 +2138,11 @@ msgstr "" ":class:`collections.abc.MutableSet` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1847 +#: library/typing.rst:1856 msgid "A generic version of :class:`collections.abc.Sequence`." msgstr "Une version générique de :class:`collections.abc.Sequence`." -#: library/typing.rst:1849 +#: library/typing.rst:1858 msgid "" ":class:`collections.abc.Sequence` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2138,11 +2150,11 @@ msgstr "" ":class:`collections.abc.Sequence` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1855 +#: library/typing.rst:1864 msgid "A generic version of :class:`collections.abc.ValuesView`." msgstr "Une version générique de :class:`collections.abc.ValuesView`." -#: library/typing.rst:1857 +#: library/typing.rst:1866 msgid "" ":class:`collections.abc.ValuesView` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2150,15 +2162,15 @@ msgstr "" ":class:`collections.abc.ValuesView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1862 +#: library/typing.rst:1871 msgid "Corresponding to other types in :mod:`collections.abc`" msgstr "" -#: library/typing.rst:1866 +#: library/typing.rst:1875 msgid "A generic version of :class:`collections.abc.Iterable`." msgstr "Une version générique de :class:`collections.abc.Iterable`." -#: library/typing.rst:1868 +#: library/typing.rst:1877 msgid "" ":class:`collections.abc.Iterable` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2166,11 +2178,11 @@ msgstr "" ":class:`collections.abc.Iterable` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1874 +#: library/typing.rst:1883 msgid "A generic version of :class:`collections.abc.Iterator`." msgstr "Une version générique de :class:`collections.abc.Iterator`." -#: library/typing.rst:1876 +#: library/typing.rst:1885 msgid "" ":class:`collections.abc.Iterator` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2178,7 +2190,7 @@ msgstr "" ":class:`collections.abc.Iterator` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1882 +#: library/typing.rst:1891 msgid "" "A generator can be annotated by the generic type ``Generator[YieldType, " "SendType, ReturnType]``. For example::" @@ -2186,7 +2198,7 @@ msgstr "" "Un générateur peut être annoté par le type générique ``Generator[YieldType, " "SendType, ReturnType]``. Par exemple ::" -#: library/typing.rst:1891 +#: library/typing.rst:1900 msgid "" "Note that unlike many other generics in the typing module, the ``SendType`` " "of :class:`Generator` behaves contravariantly, not covariantly or " @@ -2196,7 +2208,7 @@ msgstr "" "*typing*, le ``SendType`` de :class:`Generator` se comporte de manière " "contravariante, pas de manière covariante ou invariante." -#: library/typing.rst:1895 +#: library/typing.rst:1904 msgid "" "If your generator will only yield values, set the ``SendType`` and " "``ReturnType`` to ``None``::" @@ -2204,7 +2216,7 @@ msgstr "" "Si votre générateur ne donne que des valeurs, réglez les paramètres " "``SendType`` et ``ReturnType`` sur ``None`` ::" -#: library/typing.rst:1903 +#: library/typing.rst:1912 msgid "" "Alternatively, annotate your generator as having a return type of either " "``Iterable[YieldType]`` or ``Iterator[YieldType]``::" @@ -2212,7 +2224,7 @@ msgstr "" "Alternativement, annotez votre générateur comme ayant un type de retour soit " "``Iterable[YieldType]`` ou ``Iterator[YieldType]`` ::" -#: library/typing.rst:1911 +#: library/typing.rst:1920 msgid "" ":class:`collections.abc.Generator` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2220,16 +2232,16 @@ msgstr "" ":class:`collections.abc.Generator` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1917 +#: library/typing.rst:1926 #, fuzzy msgid "An alias to :class:`collections.abc.Hashable`." msgstr "Un alias pour :class:`collections.abc.Hashable`" -#: library/typing.rst:1921 +#: library/typing.rst:1930 msgid "A generic version of :class:`collections.abc.Reversible`." msgstr "Une version générique de :class:`collections.abc.Reversible`." -#: library/typing.rst:1923 +#: library/typing.rst:1932 msgid "" ":class:`collections.abc.Reversible` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2237,16 +2249,16 @@ msgstr "" ":class:`collections.abc.Reversible` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1929 +#: library/typing.rst:1938 #, fuzzy msgid "An alias to :class:`collections.abc.Sized`." msgstr "Un alias pour :class:`collections.abc.Sized`" -#: library/typing.rst:1932 +#: library/typing.rst:1941 msgid "Asynchronous programming" msgstr "" -#: library/typing.rst:1936 +#: library/typing.rst:1945 msgid "" "A generic version of :class:`collections.abc.Coroutine`. The variance and " "order of type variables correspond to those of :class:`Generator`, for " @@ -2256,7 +2268,7 @@ msgstr "" "l'ordre des variables de type correspondent à ceux de la classe :class:" "`Generator`, par exemple ::" -#: library/typing.rst:1948 +#: library/typing.rst:1957 msgid "" ":class:`collections.abc.Coroutine` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2264,7 +2276,7 @@ msgstr "" ":class:`collections.abc.Coroutine` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1954 +#: library/typing.rst:1963 msgid "" "An async generator can be annotated by the generic type " "``AsyncGenerator[YieldType, SendType]``. For example::" @@ -2272,7 +2284,7 @@ msgstr "" "Un générateur asynchrone peut être annoté par le type générique " "``AsyncGenerator[YieldType, SendType]``. Par exemple ::" -#: library/typing.rst:1963 +#: library/typing.rst:1972 msgid "" "Unlike normal generators, async generators cannot return a value, so there " "is no ``ReturnType`` type parameter. As with :class:`Generator`, the " @@ -2283,14 +2295,14 @@ msgstr "" "``ReturnType``. Comme avec :class:`Generator`, le ``SendType`` se comporte " "de manière contravariante." -#: library/typing.rst:1967 +#: library/typing.rst:1976 msgid "" "If your generator will only yield values, set the ``SendType`` to ``None``::" msgstr "" "Si votre générateur ne donne que des valeurs, réglez le paramètre " "``SendType`` sur ``None`` ::" -#: library/typing.rst:1975 +#: library/typing.rst:1984 msgid "" "Alternatively, annotate your generator as having a return type of either " "``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" @@ -2298,7 +2310,7 @@ msgstr "" "Alternativement, annotez votre générateur comme ayant un type de retour soit " "``AsyncIterable[YieldType]`` ou ``AsyncIterator[YieldType]`` ::" -#: library/typing.rst:1985 +#: library/typing.rst:1994 msgid "" ":class:`collections.abc.AsyncGenerator` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -2306,11 +2318,11 @@ msgstr "" ":class:`collections.abc.AsyncGenerator` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1991 +#: library/typing.rst:2000 msgid "A generic version of :class:`collections.abc.AsyncIterable`." msgstr "Une version générique de :class:`collections.abc.AsyncIterable`." -#: library/typing.rst:1995 +#: library/typing.rst:2004 msgid "" ":class:`collections.abc.AsyncIterable` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -2318,11 +2330,11 @@ msgstr "" ":class:`collections.abc.AsyncIterable` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2001 +#: library/typing.rst:2010 msgid "A generic version of :class:`collections.abc.AsyncIterator`." msgstr "Une version générique de :class:`collections.abc.AsyncIterator`." -#: library/typing.rst:2005 +#: library/typing.rst:2014 msgid "" ":class:`collections.abc.AsyncIterator` now supports ``[]``. See :pep:`585` " "and :ref:`types-genericalias`." @@ -2330,11 +2342,11 @@ msgstr "" ":class:`collections.abc.AsyncIterator` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2011 +#: library/typing.rst:2020 msgid "A generic version of :class:`collections.abc.Awaitable`." msgstr "Une version générique de :class:`collections.abc.Awaitable`." -#: library/typing.rst:2015 +#: library/typing.rst:2024 msgid "" ":class:`collections.abc.Awaitable` now supports ``[]``. See :pep:`585` and :" "ref:`types-genericalias`." @@ -2342,15 +2354,15 @@ msgstr "" ":class:`collections.abc.Awaitable` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2021 +#: library/typing.rst:2030 msgid "Context manager types" msgstr "" -#: library/typing.rst:2025 +#: library/typing.rst:2034 msgid "A generic version of :class:`contextlib.AbstractContextManager`." msgstr "Une version générique de :class:`contextlib.AbstractContextManager`." -#: library/typing.rst:2030 +#: library/typing.rst:2039 msgid "" ":class:`contextlib.AbstractContextManager` now supports ``[]``. See :pep:" "`585` and :ref:`types-genericalias`." @@ -2358,12 +2370,12 @@ msgstr "" ":class:`contextlib.AbstractContextManager` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2036 +#: library/typing.rst:2045 msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." msgstr "" "Une version générique de :class:`contextlib.AbstractAsyncContextManager`." -#: library/typing.rst:2041 +#: library/typing.rst:2050 msgid "" ":class:`contextlib.AbstractAsyncContextManager` now supports ``[]``. See :" "pep:`585` and :ref:`types-genericalias`." @@ -2371,15 +2383,15 @@ msgstr "" ":class:`contextlib.AbstractAsyncContextManager` prend désormais en charge " "``[]``. Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2046 +#: library/typing.rst:2055 msgid "Protocols" msgstr "" -#: library/typing.rst:2048 +#: library/typing.rst:2057 msgid "These protocols are decorated with :func:`runtime_checkable`." msgstr "" -#: library/typing.rst:2052 +#: library/typing.rst:2061 msgid "" "An ABC with one abstract method ``__abs__`` that is covariant in its return " "type." @@ -2387,27 +2399,27 @@ msgstr "" "Une ABC avec une méthode abstraite ``__abs__`` qui est covariante dans son " "type de retour." -#: library/typing.rst:2057 +#: library/typing.rst:2066 msgid "An ABC with one abstract method ``__bytes__``." msgstr "Une ABC avec une méthode abstraite ``__bytes__``." -#: library/typing.rst:2061 +#: library/typing.rst:2070 msgid "An ABC with one abstract method ``__complex__``." msgstr "Une ABC avec une méthode abstraite ``__complex__``." -#: library/typing.rst:2065 +#: library/typing.rst:2074 msgid "An ABC with one abstract method ``__float__``." msgstr "Une ABC avec une méthode abstraite ``__float__``." -#: library/typing.rst:2069 +#: library/typing.rst:2078 msgid "An ABC with one abstract method ``__index__``." msgstr "Une ABC avec une méthode abstraite ``__index__``." -#: library/typing.rst:2075 +#: library/typing.rst:2084 msgid "An ABC with one abstract method ``__int__``." msgstr "Une ABC avec une méthode abstraite ``__int__``." -#: library/typing.rst:2079 +#: library/typing.rst:2088 msgid "" "An ABC with one abstract method ``__round__`` that is covariant in its " "return type." @@ -2415,16 +2427,16 @@ msgstr "" "Une ABC avec une méthode abstraite ``__round__`` qui est covariante dans son " "type de retour." -#: library/typing.rst:2083 +#: library/typing.rst:2092 #, fuzzy msgid "Functions and decorators" msgstr "Classes, fonctions et décorateurs" -#: library/typing.rst:2087 +#: library/typing.rst:2096 msgid "Cast a value to a type." msgstr "Convertit une valeur en un type." -#: library/typing.rst:2089 +#: library/typing.rst:2098 msgid "" "This returns the value unchanged. To the type checker this signals that the " "return value has the designated type, but at runtime we intentionally don't " @@ -2435,7 +2447,7 @@ msgstr "" "intentionnellement, rien n'est vérifié (afin que cela soit aussi rapide que " "possible)." -#: library/typing.rst:2096 +#: library/typing.rst:2105 msgid "" "The ``@overload`` decorator allows describing functions and methods that " "support multiple different combinations of argument types. A series of " @@ -2461,13 +2473,15 @@ msgstr "" "`NotImplementedError`. Un exemple de surcharge qui donne un type plus précis " "que celui qui peut être exprimé à l'aide d'une variable union ou type ::" -#: library/typing.rst:2120 -msgid "See :pep:`484` for details and comparison with other typing semantics." +#: library/typing.rst:2129 +#, fuzzy +msgid "" +"See :pep:`484` for more details and comparison with other typing semantics." msgstr "" "Voir la :pep:`484` pour plus de détails et la comparaison avec d'autres " "sémantiques de typage." -#: library/typing.rst:2124 +#: library/typing.rst:2133 msgid "" "A decorator to indicate to type checkers that the decorated method cannot be " "overridden, and the decorated class cannot be subclassed. For example::" @@ -2476,13 +2490,13 @@ msgstr "" "décorée ne peut pas être remplacée et que la classe décorée ne peut pas être " "sous-classée. Par exemple ::" -#: library/typing.rst:2149 +#: library/typing.rst:2158 msgid "Decorator to indicate that annotations are not type hints." msgstr "" "Décorateur pour indiquer que les annotations ne sont pas des indications de " "type." -#: library/typing.rst:2151 +#: library/typing.rst:2160 msgid "" "This works as class or function :term:`decorator`. With a class, it applies " "recursively to all methods defined in that class (but not to methods defined " @@ -2493,16 +2507,16 @@ msgstr "" "méthodes définies dans cette classe (mais pas aux méthodes définies dans ses " "superclasses ou sous-classes)." -#: library/typing.rst:2155 +#: library/typing.rst:2164 msgid "This mutates the function(s) in place." msgstr "Cela fait muter la ou les fonctions en place." -#: library/typing.rst:2159 +#: library/typing.rst:2168 msgid "Decorator to give another decorator the :func:`no_type_check` effect." msgstr "" "Décorateur pour donner à un autre décorateur l'effet :func:`no_type_check`." -#: library/typing.rst:2161 +#: library/typing.rst:2170 msgid "" "This wraps the decorator with something that wraps the decorated function " "in :func:`no_type_check`." @@ -2510,13 +2524,13 @@ msgstr "" "Ceci enveloppe le décorateur avec quelque chose qui enveloppe la fonction " "décorée dans :func:`no_type_check`." -#: library/typing.rst:2166 +#: library/typing.rst:2175 msgid "Decorator to mark a class or function to be unavailable at runtime." msgstr "" "Décorateur pour marquer une classe ou une fonction comme étant indisponible " "au moment de l'exécution." -#: library/typing.rst:2168 +#: library/typing.rst:2177 msgid "" "This decorator is itself not available at runtime. It is mainly intended to " "mark classes that are defined in type stub files if an implementation " @@ -2527,7 +2541,7 @@ msgstr "" "d'annotations de type (*type stub file*, en anglais) si une implémentation " "renvoie une instance d'une classe privée ::" -#: library/typing.rst:2179 +#: library/typing.rst:2188 msgid "" "Note that returning instances of private classes is not recommended. It is " "usually preferable to make such classes public." @@ -2535,11 +2549,11 @@ msgstr "" "Notez qu'il n'est pas recommandé de renvoyer les instances des classes " "privées. Il est généralement préférable de rendre ces classes publiques." -#: library/typing.rst:2183 +#: library/typing.rst:2192 msgid "Introspection helpers" msgstr "" -#: library/typing.rst:2187 +#: library/typing.rst:2196 msgid "" "Return a dictionary containing type hints for a function, method, module or " "class object." @@ -2547,7 +2561,7 @@ msgstr "" "renvoie un dictionnaire contenant des indications de type pour une fonction, " "une méthode, un module ou un objet de classe." -#: library/typing.rst:2190 +#: library/typing.rst:2199 msgid "" "This is often the same as ``obj.__annotations__``. In addition, forward " "references encoded as string literals are handled by evaluating them in " @@ -2564,31 +2578,31 @@ msgstr "" "classe ``C``, renvoie un dictionnaire construit en fusionnant toutes les " "``__annotations__`` en parcourant ``C.__mro__`` en ordre inverse." -#: library/typing.rst:2198 +#: library/typing.rst:2207 msgid "" "The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " "more information). For example::" msgstr "" -#: library/typing.rst:2213 +#: library/typing.rst:2222 msgid "" ":func:`get_type_hints` does not work with imported :ref:`type aliases ` that include forward references. Enabling postponed evaluation of " "annotations (:pep:`563`) may remove the need for most forward references." msgstr "" -#: library/typing.rst:2218 +#: library/typing.rst:2227 msgid "Added ``include_extras`` parameter as part of :pep:`593`." msgstr "" -#: library/typing.rst:2224 +#: library/typing.rst:2233 msgid "Provide basic introspection for generic types and special typing forms." msgstr "" "Fournit une introspection de base pour les types génériques et les formes " "spéciales de typage." -#: library/typing.rst:2226 +#: library/typing.rst:2235 #, fuzzy msgid "" "For a typing object of the form ``X[Y, Z, ...]`` these functions return " @@ -2604,11 +2618,11 @@ msgstr "" "native ou de :mod:`collections`, il est normalisé en la classe originale. " "Pour les objets non gérés, renvoie la paire ``None`` , ``()``. Exemples ::" -#: library/typing.rst:2245 +#: library/typing.rst:2254 msgid "Check if a type is a :class:`TypedDict`." msgstr "" -#: library/typing.rst:2260 +#: library/typing.rst:2269 #, fuzzy msgid "" "A class used for internal typing representation of string forward " @@ -2623,18 +2637,18 @@ msgstr "" "instanciée par un utilisateur, mais peut être utilisée par des outils " "d'introspection." -#: library/typing.rst:2266 +#: library/typing.rst:2275 msgid "" ":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be " "implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " "will not automatically resolve to ``list[SomeClass]``." msgstr "" -#: library/typing.rst:2273 +#: library/typing.rst:2282 msgid "Constant" msgstr "Constante" -#: library/typing.rst:2277 +#: library/typing.rst:2286 msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" @@ -2642,7 +2656,7 @@ msgstr "" "Constante spéciale qui vaut ``True`` pour les vérificateurs de type " "statiques tiers et ``False`` à l'exécution. Utilisation ::" -#: library/typing.rst:2286 +#: library/typing.rst:2295 #, fuzzy msgid "" "The first type annotation must be enclosed in quotes, making it a \"forward " @@ -2657,7 +2671,7 @@ msgstr "" "sorte que la deuxième annotation n'a pas besoin d'être placée entre " "guillemets." -#: library/typing.rst:2293 +#: library/typing.rst:2302 msgid "" "If ``from __future__ import annotations`` is used, annotations are not " "evaluated at function definition time. Instead, they are stored as strings " diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index 811ee32db8..1a9b04bca4 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-12-01 23:32+0100\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -945,7 +945,7 @@ msgid "" "import. Importing fetches an *object* from the :data:`sys.modules` " "dictionary. Note that it fetches an *object*, which need not be a module. " "Importing a module for the first time results in a module object being put " -"in `sys.modules`, so usually when you import something you get a module " +"in ``sys.modules``, so usually when you import something you get a module " "back. This need not be the case however." msgstr "" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 1f1f76c49f..0af7af31ca 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-04-22 12:07+0200\n" "Last-Translator: Bousquié Pierre \n" "Language-Team: FRENCH \n" @@ -1749,8 +1749,9 @@ msgid "" "Both patch_ and patch.object_ correctly patch and restore descriptors: class " "methods, static methods and properties. You should patch these on the " "*class* rather than an instance. They also work with *some* objects that " -"proxy attribute access, like the `django settings object `_." +"proxy attribute access, like the `django settings object `_." msgstr "" #: library/unittest.mock.rst:1951 diff --git a/library/unittest.po b/library/unittest.po index 7a613b6d3e..6f9473a40d 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-12-16 17:28+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -2813,9 +2813,10 @@ msgstr "" "Les objets de la classe :class:`TestLoader` ont les attributs suivants :" #: library/unittest.rst:1739 +#, fuzzy msgid "" "A list of the non-fatal errors encountered while loading tests. Not reset by " -"the loader at any point. Fatal errors are signalled by the relevant a method " +"the loader at any point. Fatal errors are signalled by the relevant method " "raising an exception to the caller. Non-fatal errors are also indicated by a " "synthetic test that will raise the original error when run." msgstr "" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 317faf6b7d..e46a322434 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -97,65 +97,65 @@ msgid "" "accessed by index or as named attributes, which are:" msgstr "" -#: library/urllib.parse.rst:292 library/urllib.parse.rst:396 +#: library/urllib.parse.rst:293 library/urllib.parse.rst:397 msgid "Attribute" msgstr "Attribut" -#: library/urllib.parse.rst:292 library/urllib.parse.rst:396 +#: library/urllib.parse.rst:293 library/urllib.parse.rst:397 msgid "Index" msgstr "Index" -#: library/urllib.parse.rst:292 library/urllib.parse.rst:396 +#: library/urllib.parse.rst:293 library/urllib.parse.rst:397 msgid "Value" msgstr "Valeur" -#: library/urllib.parse.rst:292 library/urllib.parse.rst:396 +#: library/urllib.parse.rst:293 library/urllib.parse.rst:397 msgid "Value if not present" msgstr "" -#: library/urllib.parse.rst:294 +#: library/urllib.parse.rst:295 msgid ":attr:`scheme`" msgstr ":attr:`scheme`" -#: library/urllib.parse.rst:294 library/urllib.parse.rst:398 +#: library/urllib.parse.rst:295 library/urllib.parse.rst:399 msgid "0" msgstr "0" -#: library/urllib.parse.rst:294 +#: library/urllib.parse.rst:295 msgid "URL scheme specifier" msgstr "" -#: library/urllib.parse.rst:294 +#: library/urllib.parse.rst:295 msgid "*scheme* parameter" msgstr "" -#: library/urllib.parse.rst:296 +#: library/urllib.parse.rst:297 msgid ":attr:`netloc`" msgstr ":attr:`netloc`" -#: library/urllib.parse.rst:296 library/urllib.parse.rst:400 +#: library/urllib.parse.rst:297 library/urllib.parse.rst:401 msgid "1" msgstr "1" -#: library/urllib.parse.rst:296 +#: library/urllib.parse.rst:297 msgid "Network location part" msgstr "" -#: library/urllib.parse.rst:114 library/urllib.parse.rst:120 -#: library/urllib.parse.rst:298 library/urllib.parse.rst:302 -#: library/urllib.parse.rst:400 +#: library/urllib.parse.rst:114 library/urllib.parse.rst:119 +#: library/urllib.parse.rst:297 library/urllib.parse.rst:301 +#: library/urllib.parse.rst:399 library/urllib.parse.rst:401 msgid "empty string" msgstr "" -#: library/urllib.parse.rst:298 +#: library/urllib.parse.rst:299 msgid ":attr:`path`" msgstr ":attr:`path`" -#: library/urllib.parse.rst:298 +#: library/urllib.parse.rst:299 msgid "2" msgstr "2" -#: library/urllib.parse.rst:298 +#: library/urllib.parse.rst:299 msgid "Hierarchical path" msgstr "" @@ -163,93 +163,89 @@ msgstr "" msgid ":attr:`params`" msgstr ":attr:`params`" -#: library/urllib.parse.rst:300 +#: library/urllib.parse.rst:301 msgid "3" msgstr "3" #: library/urllib.parse.rst:116 -msgid "No longer used" +msgid "Parameters for last path element" msgstr "" -#: library/urllib.parse.rst:116 -msgid "always an empty string" -msgstr "" - -#: library/urllib.parse.rst:300 +#: library/urllib.parse.rst:301 msgid ":attr:`query`" msgstr ":attr:`query`" -#: library/urllib.parse.rst:302 +#: library/urllib.parse.rst:303 msgid "4" msgstr "4" -#: library/urllib.parse.rst:300 +#: library/urllib.parse.rst:301 msgid "Query component" msgstr "" -#: library/urllib.parse.rst:302 library/urllib.parse.rst:400 +#: library/urllib.parse.rst:303 library/urllib.parse.rst:401 msgid ":attr:`fragment`" msgstr ":attr:`fragment`" -#: library/urllib.parse.rst:120 +#: library/urllib.parse.rst:121 msgid "5" msgstr "5" -#: library/urllib.parse.rst:302 library/urllib.parse.rst:400 +#: library/urllib.parse.rst:303 library/urllib.parse.rst:401 msgid "Fragment identifier" msgstr "" -#: library/urllib.parse.rst:304 +#: library/urllib.parse.rst:305 msgid ":attr:`username`" msgstr ":attr:`username`" -#: library/urllib.parse.rst:304 +#: library/urllib.parse.rst:305 msgid "User name" msgstr "" -#: library/urllib.parse.rst:124 library/urllib.parse.rst:128 -#: library/urllib.parse.rst:306 library/urllib.parse.rst:310 +#: library/urllib.parse.rst:125 library/urllib.parse.rst:129 +#: library/urllib.parse.rst:307 library/urllib.parse.rst:311 msgid ":const:`None`" msgstr ":const:`None`" -#: library/urllib.parse.rst:306 +#: library/urllib.parse.rst:307 msgid ":attr:`password`" msgstr ":attr:`password`" -#: library/urllib.parse.rst:306 +#: library/urllib.parse.rst:307 msgid "Password" msgstr "" -#: library/urllib.parse.rst:308 +#: library/urllib.parse.rst:309 msgid ":attr:`hostname`" msgstr ":attr:`hostname`" -#: library/urllib.parse.rst:308 +#: library/urllib.parse.rst:309 msgid "Host name (lower case)" msgstr "" -#: library/urllib.parse.rst:310 +#: library/urllib.parse.rst:311 msgid ":attr:`port`" msgstr ":attr:`port`" -#: library/urllib.parse.rst:310 +#: library/urllib.parse.rst:311 msgid "Port number as integer, if present" msgstr "" -#: library/urllib.parse.rst:314 +#: library/urllib.parse.rst:315 msgid "" "Reading the :attr:`port` attribute will raise a :exc:`ValueError` if an " "invalid port is specified in the URL. See section :ref:`urlparse-result-" "object` for more information on the result object." msgstr "" -#: library/urllib.parse.rst:318 +#: library/urllib.parse.rst:319 msgid "" "Unmatched square brackets in the :attr:`netloc` attribute will raise a :exc:" "`ValueError`." msgstr "" -#: library/urllib.parse.rst:321 +#: library/urllib.parse.rst:322 msgid "" "Characters in the :attr:`netloc` attribute that decompose under NFKC " "normalization (as used by the IDNA encoding) into any of ``/``, ``?``, " @@ -257,7 +253,7 @@ msgid "" "decomposed before parsing, no error will be raised." msgstr "" -#: library/urllib.parse.rst:144 +#: library/urllib.parse.rst:145 msgid "" "As is the case with all named tuples, the subclass has a few additional " "methods and attributes that are particularly useful. One such method is :" @@ -265,30 +261,30 @@ msgid "" "object replacing specified fields with new values." msgstr "" -#: library/urllib.parse.rst:162 +#: library/urllib.parse.rst:163 msgid "Added IPv6 URL parsing capabilities." msgstr "" -#: library/urllib.parse.rst:165 +#: library/urllib.parse.rst:166 msgid "" "The fragment is now parsed for all URL schemes (unless *allow_fragment* is " "false), in accordance with :rfc:`3986`. Previously, an allowlist of schemes " "that support fragments existed." msgstr "" -#: library/urllib.parse.rst:329 +#: library/urllib.parse.rst:330 msgid "" "Out-of-range port numbers now raise :exc:`ValueError`, instead of returning :" "const:`None`." msgstr "" -#: library/urllib.parse.rst:333 +#: library/urllib.parse.rst:334 msgid "" "Characters that affect netloc parsing under NFKC normalization will now " "raise :exc:`ValueError`." msgstr "" -#: library/urllib.parse.rst:181 +#: library/urllib.parse.rst:182 msgid "" "Parse a query string given as a string argument (data of type :mimetype:" "`application/x-www-form-urlencoded`). Data are returned as a dictionary. " @@ -296,7 +292,7 @@ msgid "" "lists of values for each name." msgstr "" -#: library/urllib.parse.rst:231 +#: library/urllib.parse.rst:232 msgid "" "The optional argument *keep_blank_values* is a flag indicating whether blank " "values in percent-encoded queries should be treated as blank strings. A true " @@ -305,48 +301,48 @@ msgid "" "treated as if they were not included." msgstr "" -#: library/urllib.parse.rst:237 +#: library/urllib.parse.rst:238 msgid "" "The optional argument *strict_parsing* is a flag indicating what to do with " "parsing errors. If false (the default), errors are silently ignored. If " "true, errors raise a :exc:`ValueError` exception." msgstr "" -#: library/urllib.parse.rst:241 +#: library/urllib.parse.rst:242 msgid "" "The optional *encoding* and *errors* parameters specify how to decode " "percent-encoded sequences into Unicode characters, as accepted by the :meth:" "`bytes.decode` method." msgstr "" -#: library/urllib.parse.rst:245 +#: library/urllib.parse.rst:246 msgid "" "The optional argument *max_num_fields* is the maximum number of fields to " "read. If set, then throws a :exc:`ValueError` if there are more than " "*max_num_fields* fields read." msgstr "" -#: library/urllib.parse.rst:249 +#: library/urllib.parse.rst:250 msgid "" "The optional argument *separator* is the symbol to use for separating the " "query arguments. It defaults to ``&``." msgstr "" -#: library/urllib.parse.rst:207 +#: library/urllib.parse.rst:208 msgid "" "Use the :func:`urllib.parse.urlencode` function (with the ``doseq`` " "parameter set to ``True``) to convert such dictionaries into query strings." msgstr "" -#: library/urllib.parse.rst:255 +#: library/urllib.parse.rst:256 msgid "Add *encoding* and *errors* parameters." msgstr "" -#: library/urllib.parse.rst:258 +#: library/urllib.parse.rst:259 msgid "Added *max_num_fields* parameter." msgstr "" -#: library/urllib.parse.rst:261 +#: library/urllib.parse.rst:262 msgid "" "Added *separator* parameter with the default value of ``&``. Python versions " "earlier than Python 3.10 allowed using both ``;`` and ``&`` as query " @@ -354,20 +350,20 @@ msgid "" "key, with ``&`` as the default separator." msgstr "" -#: library/urllib.parse.rst:227 +#: library/urllib.parse.rst:228 msgid "" "Parse a query string given as a string argument (data of type :mimetype:" "`application/x-www-form-urlencoded`). Data are returned as a list of name, " "value pairs." msgstr "" -#: library/urllib.parse.rst:252 +#: library/urllib.parse.rst:253 msgid "" "Use the :func:`urllib.parse.urlencode` function to convert such lists of " "pairs into query strings." msgstr "" -#: library/urllib.parse.rst:270 +#: library/urllib.parse.rst:271 msgid "" "Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " "argument can be any six-item iterable. This may result in a slightly " @@ -376,7 +372,7 @@ msgid "" "states that these are equivalent)." msgstr "" -#: library/urllib.parse.rst:279 +#: library/urllib.parse.rst:280 msgid "" "This is similar to :func:`urlparse`, but does not split the params from the " "URL. This should generally be used instead of :func:`urlparse` if the more " @@ -386,23 +382,23 @@ msgid "" "returns a 5-item :term:`named tuple`::" msgstr "" -#: library/urllib.parse.rst:392 +#: library/urllib.parse.rst:393 msgid "" "The return value is a :term:`named tuple`, its items can be accessed by " "index or as named attributes:" msgstr "" -#: library/urllib.parse.rst:326 +#: library/urllib.parse.rst:327 msgid "" "Following the `WHATWG spec`_ that updates RFC 3986, ASCII newline ``\\n``, " "``\\r`` and tab ``\\t`` characters are stripped from the URL." msgstr "" -#: library/urllib.parse.rst:337 +#: library/urllib.parse.rst:338 msgid "ASCII newline and tab characters are stripped from the URL." msgstr "" -#: library/urllib.parse.rst:344 +#: library/urllib.parse.rst:345 msgid "" "Combine the elements of a tuple as returned by :func:`urlsplit` into a " "complete URL as a string. The *parts* argument can be any five-item " @@ -411,7 +407,7 @@ msgid "" "a ? with an empty query; the RFC states that these are equivalent)." msgstr "" -#: library/urllib.parse.rst:353 +#: library/urllib.parse.rst:354 msgid "" "Construct a full (\"absolute\") URL by combining a \"base URL\" (*base*) " "with another URL (*url*). Informally, this uses components of the base URL, " @@ -419,30 +415,30 @@ msgid "" "path, to provide missing components in the relative URL. For example:" msgstr "" -#: library/urllib.parse.rst:362 +#: library/urllib.parse.rst:363 msgid "" "The *allow_fragments* argument has the same meaning and default as for :func:" "`urlparse`." msgstr "" -#: library/urllib.parse.rst:367 +#: library/urllib.parse.rst:368 msgid "" "If *url* is an absolute URL (that is, it starts with ``//`` or ``scheme://" "``), the *url*'s hostname and/or scheme will be present in the result. For " "example:" msgstr "" -#: library/urllib.parse.rst:376 +#: library/urllib.parse.rst:377 msgid "" "If you do not want that behavior, preprocess the *url* with :func:`urlsplit` " "and :func:`urlunsplit`, removing possible *scheme* and *netloc* parts." msgstr "" -#: library/urllib.parse.rst:382 +#: library/urllib.parse.rst:383 msgid "Behavior updated to match the semantics defined in :rfc:`3986`." msgstr "" -#: library/urllib.parse.rst:387 +#: library/urllib.parse.rst:388 msgid "" "If *url* contains a fragment identifier, return a modified version of *url* " "with no fragment identifier, and the fragment identifier as a separate " @@ -450,25 +446,25 @@ msgid "" "unmodified and an empty string." msgstr "" -#: library/urllib.parse.rst:398 +#: library/urllib.parse.rst:399 msgid ":attr:`url`" msgstr ":attr:`url`" -#: library/urllib.parse.rst:398 +#: library/urllib.parse.rst:399 msgid "URL with no fragment" msgstr "" -#: library/urllib.parse.rst:403 +#: library/urllib.parse.rst:404 msgid "" "See section :ref:`urlparse-result-object` for more information on the result " "object." msgstr "" -#: library/urllib.parse.rst:406 +#: library/urllib.parse.rst:407 msgid "Result is a structured object rather than a simple 2-tuple." msgstr "" -#: library/urllib.parse.rst:411 +#: library/urllib.parse.rst:412 msgid "" "Extract the url from a wrapped URL (that is, a string formatted as ````, ````, ``URL:scheme://host/path`` " @@ -476,11 +472,11 @@ msgid "" "without changes." msgstr "" -#: library/urllib.parse.rst:419 +#: library/urllib.parse.rst:420 msgid "Parsing ASCII Encoded Bytes" msgstr "" -#: library/urllib.parse.rst:421 +#: library/urllib.parse.rst:422 msgid "" "The URL parsing functions were originally designed to operate on character " "strings only. In practice, it is useful to be able to manipulate properly " @@ -489,14 +485,14 @@ msgid "" "`bytearray` objects in addition to :class:`str` objects." msgstr "" -#: library/urllib.parse.rst:427 +#: library/urllib.parse.rst:428 msgid "" "If :class:`str` data is passed in, the result will also contain only :class:" "`str` data. If :class:`bytes` or :class:`bytearray` data is passed in, the " "result will contain only :class:`bytes` data." msgstr "" -#: library/urllib.parse.rst:431 +#: library/urllib.parse.rst:432 msgid "" "Attempting to mix :class:`str` data with :class:`bytes` or :class:" "`bytearray` in a single function call will result in a :exc:`TypeError` " @@ -504,7 +500,7 @@ msgid "" "trigger :exc:`UnicodeDecodeError`." msgstr "" -#: library/urllib.parse.rst:436 +#: library/urllib.parse.rst:437 msgid "" "To support easier conversion of result objects between :class:`str` and :" "class:`bytes`, all return values from URL parsing functions provide either " @@ -517,14 +513,14 @@ msgid "" "`str` data (for :meth:`decode` methods)." msgstr "" -#: library/urllib.parse.rst:447 +#: library/urllib.parse.rst:448 msgid "" "Applications that need to operate on potentially improperly quoted URLs that " "may contain non-ASCII data will need to do their own decoding from bytes to " "characters before invoking the URL parsing methods." msgstr "" -#: library/urllib.parse.rst:451 +#: library/urllib.parse.rst:452 msgid "" "The behaviour described in this section applies only to the URL parsing " "functions. The URL quoting functions use their own rules when producing or " @@ -532,15 +528,15 @@ msgid "" "URL quoting functions." msgstr "" -#: library/urllib.parse.rst:456 +#: library/urllib.parse.rst:457 msgid "URL parsing functions now accept ASCII encoded byte sequences" msgstr "" -#: library/urllib.parse.rst:463 +#: library/urllib.parse.rst:464 msgid "Structured Parse Results" msgstr "" -#: library/urllib.parse.rst:465 +#: library/urllib.parse.rst:466 msgid "" "The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" "`urldefrag` functions are subclasses of the :class:`tuple` type. These " @@ -549,7 +545,7 @@ msgid "" "section, as well as an additional method:" msgstr "" -#: library/urllib.parse.rst:473 +#: library/urllib.parse.rst:474 msgid "" "Return the re-combined version of the original URL as a string. This may " "differ from the original URL in that the scheme may be normalized to lower " @@ -557,72 +553,72 @@ msgid "" "queries, and fragment identifiers will be removed." msgstr "" -#: library/urllib.parse.rst:478 +#: library/urllib.parse.rst:479 msgid "" "For :func:`urldefrag` results, only empty fragment identifiers will be " "removed. For :func:`urlsplit` and :func:`urlparse` results, all noted " "changes will be made to the URL returned by this method." msgstr "" -#: library/urllib.parse.rst:482 +#: library/urllib.parse.rst:483 msgid "" "The result of this method remains unchanged if passed back through the " "original parsing function:" msgstr "" -#: library/urllib.parse.rst:495 +#: library/urllib.parse.rst:496 msgid "" "The following classes provide the implementations of the structured parse " "results when operating on :class:`str` objects:" msgstr "" -#: library/urllib.parse.rst:500 +#: library/urllib.parse.rst:501 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`DefragResultBytes` instance." msgstr "" -#: library/urllib.parse.rst:508 +#: library/urllib.parse.rst:509 msgid "" "Concrete class for :func:`urlparse` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`ParseResultBytes` instance." msgstr "" -#: library/urllib.parse.rst:514 +#: library/urllib.parse.rst:515 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`SplitResultBytes` instance." msgstr "" -#: library/urllib.parse.rst:519 +#: library/urllib.parse.rst:520 msgid "" "The following classes provide the implementations of the parse results when " "operating on :class:`bytes` or :class:`bytearray` objects:" msgstr "" -#: library/urllib.parse.rst:524 +#: library/urllib.parse.rst:525 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`DefragResult` instance." msgstr "" -#: library/urllib.parse.rst:532 +#: library/urllib.parse.rst:533 msgid "" "Concrete class for :func:`urlparse` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`ParseResult` instance." msgstr "" -#: library/urllib.parse.rst:540 +#: library/urllib.parse.rst:541 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`SplitResult` instance." msgstr "" -#: library/urllib.parse.rst:548 +#: library/urllib.parse.rst:549 msgid "URL Quoting" msgstr "" -#: library/urllib.parse.rst:550 +#: library/urllib.parse.rst:551 msgid "" "The URL quoting functions focus on taking program data and making it safe " "for use as URL components by quoting special characters and appropriately " @@ -631,7 +627,7 @@ msgid "" "isn't already covered by the URL parsing functions above." msgstr "" -#: library/urllib.parse.rst:558 +#: library/urllib.parse.rst:559 msgid "" "Replace special characters in *string* using the ``%xx`` escape. Letters, " "digits, and the characters ``'_.-~'`` are never quoted. By default, this " @@ -640,17 +636,17 @@ msgid "" "quoted --- its default value is ``'/'``." msgstr "" -#: library/urllib.parse.rst:610 library/urllib.parse.rst:639 +#: library/urllib.parse.rst:611 library/urllib.parse.rst:640 msgid "*string* may be either a :class:`str` or a :class:`bytes` object." msgstr "" -#: library/urllib.parse.rst:566 +#: library/urllib.parse.rst:567 msgid "" "Moved from :rfc:`2396` to :rfc:`3986` for quoting URL strings. \"~\" is now " "included in the set of unreserved characters." msgstr "" -#: library/urllib.parse.rst:570 +#: library/urllib.parse.rst:571 msgid "" "The optional *encoding* and *errors* parameters specify how to deal with non-" "ASCII characters, as accepted by the :meth:`str.encode` method. *encoding* " @@ -660,17 +656,17 @@ msgid "" "`TypeError` is raised." msgstr "" -#: library/urllib.parse.rst:578 +#: library/urllib.parse.rst:579 msgid "" "Note that ``quote(string, safe, encoding, errors)`` is equivalent to " "``quote_from_bytes(string.encode(encoding, errors), safe)``." msgstr "" -#: library/urllib.parse.rst:581 +#: library/urllib.parse.rst:582 msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." msgstr "" -#: library/urllib.parse.rst:586 +#: library/urllib.parse.rst:587 msgid "" "Like :func:`quote`, but also replace spaces with plus signs, as required for " "quoting HTML form values when building up a query string to go into a URL. " @@ -678,21 +674,21 @@ msgid "" "*safe*. It also does not have *safe* default to ``'/'``." msgstr "" -#: library/urllib.parse.rst:591 +#: library/urllib.parse.rst:592 msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." msgstr "" -#: library/urllib.parse.rst:596 +#: library/urllib.parse.rst:597 msgid "" "Like :func:`quote`, but accepts a :class:`bytes` object rather than a :class:" "`str`, and does not perform string-to-bytes encoding." msgstr "" -#: library/urllib.parse.rst:599 +#: library/urllib.parse.rst:600 msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." msgstr "" -#: library/urllib.parse.rst:605 +#: library/urllib.parse.rst:606 msgid "" "Replace ``%xx`` escapes with their single-character equivalent. The optional " "*encoding* and *errors* parameters specify how to decode percent-encoded " @@ -700,52 +696,52 @@ msgid "" "method." msgstr "" -#: library/urllib.parse.rst:612 +#: library/urllib.parse.rst:613 msgid "" "*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " "meaning invalid sequences are replaced by a placeholder character." msgstr "" -#: library/urllib.parse.rst:616 +#: library/urllib.parse.rst:617 msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "" -#: library/urllib.parse.rst:618 +#: library/urllib.parse.rst:619 msgid "" "*string* parameter supports bytes and str objects (previously only str)." msgstr "" -#: library/urllib.parse.rst:626 +#: library/urllib.parse.rst:627 msgid "" "Like :func:`unquote`, but also replace plus signs with spaces, as required " "for unquoting HTML form values." msgstr "" -#: library/urllib.parse.rst:629 +#: library/urllib.parse.rst:630 msgid "*string* must be a :class:`str`." msgstr "" -#: library/urllib.parse.rst:631 +#: library/urllib.parse.rst:632 msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "" -#: library/urllib.parse.rst:636 +#: library/urllib.parse.rst:637 msgid "" "Replace ``%xx`` escapes with their single-octet equivalent, and return a :" "class:`bytes` object." msgstr "" -#: library/urllib.parse.rst:641 +#: library/urllib.parse.rst:642 msgid "" "If it is a :class:`str`, unescaped non-ASCII characters in *string* are " "encoded into UTF-8 bytes." msgstr "" -#: library/urllib.parse.rst:644 +#: library/urllib.parse.rst:645 msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." msgstr "" -#: library/urllib.parse.rst:650 +#: library/urllib.parse.rst:651 msgid "" "Convert a mapping object or a sequence of two-element tuples, which may " "contain :class:`str` or :class:`bytes` objects, to a percent-encoded ASCII " @@ -754,7 +750,7 @@ msgid "" "be encoded to bytes, otherwise it would result in a :exc:`TypeError`." msgstr "" -#: library/urllib.parse.rst:657 +#: library/urllib.parse.rst:658 msgid "" "The resulting string is a series of ``key=value`` pairs separated by ``'&'`` " "characters, where both *key* and *value* are quoted using the *quote_via* " @@ -767,7 +763,7 @@ msgid "" "``quote`` and specify a value for *safe*." msgstr "" -#: library/urllib.parse.rst:667 +#: library/urllib.parse.rst:668 msgid "" "When a sequence of two-element tuples is used as the *query* argument, the " "first element of each tuple is a key and the second is a value. The value " @@ -778,49 +774,49 @@ msgid "" "order of parameter tuples in the sequence." msgstr "" -#: library/urllib.parse.rst:675 +#: library/urllib.parse.rst:676 msgid "" "The *safe*, *encoding*, and *errors* parameters are passed down to " "*quote_via* (the *encoding* and *errors* parameters are only passed when a " "query element is a :class:`str`)." msgstr "" -#: library/urllib.parse.rst:679 +#: library/urllib.parse.rst:680 msgid "" "To reverse this encoding process, :func:`parse_qs` and :func:`parse_qsl` are " "provided in this module to parse query strings into Python data structures." msgstr "" -#: library/urllib.parse.rst:682 +#: library/urllib.parse.rst:683 msgid "" "Refer to :ref:`urllib examples ` to find out how the :func:" "`urllib.parse.urlencode` method can be used for generating the query string " "of a URL or data for a POST request." msgstr "" -#: library/urllib.parse.rst:686 +#: library/urllib.parse.rst:687 msgid "*query* supports bytes and string objects." msgstr "" -#: library/urllib.parse.rst:689 +#: library/urllib.parse.rst:690 msgid "*quote_via* parameter." msgstr "" -#: library/urllib.parse.rst:697 +#: library/urllib.parse.rst:698 msgid "`WHATWG`_ - URL Living standard" msgstr "" -#: library/urllib.parse.rst:696 +#: library/urllib.parse.rst:697 msgid "" "Working Group for the URL Standard that defines URLs, domains, IP addresses, " "the application/x-www-form-urlencoded format, and their API." msgstr "" -#: library/urllib.parse.rst:703 +#: library/urllib.parse.rst:704 msgid ":rfc:`3986` - Uniform Resource Identifiers" msgstr "" -#: library/urllib.parse.rst:700 +#: library/urllib.parse.rst:701 msgid "" "This is the current standard (STD66). Any changes to urllib.parse module " "should conform to this. Certain deviations could be observed, which are " @@ -828,47 +824,47 @@ msgid "" "requirements as commonly observed in major browsers." msgstr "" -#: library/urllib.parse.rst:706 +#: library/urllib.parse.rst:707 msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." msgstr "" -#: library/urllib.parse.rst:706 +#: library/urllib.parse.rst:707 msgid "This specifies the parsing requirements of IPv6 URLs." msgstr "" -#: library/urllib.parse.rst:710 +#: library/urllib.parse.rst:711 msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" msgstr "" -#: library/urllib.parse.rst:709 +#: library/urllib.parse.rst:710 msgid "" "Document describing the generic syntactic requirements for both Uniform " "Resource Names (URNs) and Uniform Resource Locators (URLs)." msgstr "" -#: library/urllib.parse.rst:713 +#: library/urllib.parse.rst:714 msgid ":rfc:`2368` - The mailto URL scheme." msgstr "" -#: library/urllib.parse.rst:713 +#: library/urllib.parse.rst:714 msgid "Parsing requirements for mailto URL schemes." msgstr "" -#: library/urllib.parse.rst:718 +#: library/urllib.parse.rst:719 msgid ":rfc:`1808` - Relative Uniform Resource Locators" msgstr "" -#: library/urllib.parse.rst:716 +#: library/urllib.parse.rst:717 msgid "" "This Request For Comments includes the rules for joining an absolute and a " "relative URL, including a fair number of \"Abnormal Examples\" which govern " "the treatment of border cases." msgstr "" -#: library/urllib.parse.rst:720 +#: library/urllib.parse.rst:721 msgid ":rfc:`1738` - Uniform Resource Locators (URL)" msgstr "" -#: library/urllib.parse.rst:721 +#: library/urllib.parse.rst:722 msgid "This specifies the formal syntax and semantics of absolute URLs." msgstr "" diff --git a/library/urllib.request.po b/library/urllib.request.po index bb10c7ffc4..67d1180742 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -1381,7 +1381,7 @@ msgstr "" #: library/urllib.request.rst:1271 msgid "" "This example replaces the default :class:`ProxyHandler` with one that uses " -"programmatically-supplied proxy URLs, and adds proxy authorization support " +"programmatically supplied proxy URLs, and adds proxy authorization support " "with :class:`ProxyBasicAuthHandler`. ::" msgstr "" diff --git a/library/uuid.po b/library/uuid.po index 0fbba32608..6d71b290a6 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-05-07 19:56+0200\n" "Last-Translator: Nicolas Audebert \n" "Language-Team: FRENCH \n" @@ -351,8 +351,9 @@ msgstr "" "(pour :func:`uuid3` et :func:`uuid5`)." #: library/uuid.rst:214 +#, fuzzy msgid "" -"When this namespace is specified, the *name* string is a fully-qualified " +"When this namespace is specified, the *name* string is a fully qualified " "domain name." msgstr "" "Lorsque cet espace de nom est spécifié, la chaîne *name* doit être un nom de " diff --git a/library/venv.po b/library/venv.po index c77b79be8c..ee52501996 100644 --- a/library/venv.po +++ b/library/venv.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-11-06 17:48+0100\n" "Last-Translator: ZepmanBC \n" "Language-Team: FRENCH \n" @@ -93,10 +93,11 @@ msgstr "" "packages``). Si un dossier existant est spécifié, il sera réutilisé." #: using/venv-create.inc:17 +#, fuzzy msgid "" "``pyvenv`` was the recommended tool for creating virtual environments for " "Python 3.3 and 3.4, and is `deprecated in Python 3.6 `_." +"org/dev/whatsnew/3.6.html#id8>`_." msgstr "" "``pyvenv`` était l'outil recommandé pour créer des environnements sous " "Python 3.3 et 3.4, et est `obsolète depuis Python 3.6 `_." diff --git a/library/warnings.po b/library/warnings.po index d638849b33..e7c53f7e8d 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 13:35+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -389,14 +389,13 @@ msgstr "" #: library/warnings.rst:156 msgid "" "*message* is a string containing a regular expression that the start of the " -"warning message must match. The expression is compiled to always be case-" -"insensitive." +"warning message must match, case-insensitively. In :option:`-W` and :envvar:" +"`PYTHONWARNINGS`, *message* is a literal string that the start of the " +"warning message must contain (case-insensitively), ignoring any whitespace " +"at the start or end of *message*." msgstr "" -"*message* est une chaîne de caractères contenant une expression régulière " -"avec laquelle le début du message d'avertissement doit correspondre. " -"L'expression est compilée pour être toujours insensible à la casse." -#: library/warnings.rst:160 +#: library/warnings.rst:162 msgid "" "*category* is a class (a subclass of :exc:`Warning`) of which the warning " "category must be a subclass in order to match." @@ -404,16 +403,16 @@ msgstr "" "*category* est une classe (une sous-classe de :exc:`Warning`) dont la " "catégorie d'avertissement doit être une sous-classe afin de correspondre." -#: library/warnings.rst:163 +#: library/warnings.rst:165 msgid "" -"*module* is a string containing a regular expression that the module name " -"must match. The expression is compiled to be case-sensitive." +"*module* is a string containing a regular expression that the start of the " +"fully qualified module name must match, case-sensitively. In :option:`-W` " +"and :envvar:`PYTHONWARNINGS`, *module* is a literal string that the fully " +"qualified module name must be equal to (case-sensitively), ignoring any " +"whitespace at the start or end of *module*." msgstr "" -"*module* est une chaîne de caractères contenant une expression régulière " -"avec laquelle le nom du module doit correspondre. L'expression est compilée " -"pour être sensible à la casse." -#: library/warnings.rst:166 +#: library/warnings.rst:171 msgid "" "*lineno* is an integer that the line number where the warning occurred must " "match, or ``0`` to match all line numbers." @@ -421,7 +420,7 @@ msgstr "" "*lineno* est le numéro de ligne d'où l'avertissement doit provenir, ou ``0`` " "pour correspondre à tous les numéros de ligne." -#: library/warnings.rst:169 +#: library/warnings.rst:174 msgid "" "Since the :exc:`Warning` class is derived from the built-in :exc:`Exception` " "class, to turn a warning into an error we simply raise ``category(message)``." @@ -430,7 +429,7 @@ msgstr "" "pour transformer un avertissement en erreur, il suffit de lever " "``category(message)``." -#: library/warnings.rst:172 +#: library/warnings.rst:177 msgid "" "If a warning is reported and doesn't match any registered filter then the " "\"default\" action is applied (hence its name)." @@ -438,11 +437,11 @@ msgstr "" "Si un avertissement est signalé et ne correspond à aucun filtre enregistré, " "l'action ``default`` est appliquée (d'où son nom)." -#: library/warnings.rst:179 +#: library/warnings.rst:184 msgid "Describing Warning Filters" msgstr "Rédaction de filtres d'avertissement" -#: library/warnings.rst:181 +#: library/warnings.rst:186 msgid "" "The warnings filter is initialized by :option:`-W` options passed to the " "Python interpreter command line and the :envvar:`PYTHONWARNINGS` environment " @@ -459,7 +458,7 @@ msgstr "" "importation (les options invalides sont ignorées, et un message d'erreur est " "envoyé à :data:`sys.stderr`)." -#: library/warnings.rst:188 +#: library/warnings.rst:193 msgid "" "Individual warnings filters are specified as a sequence of fields separated " "by colons::" @@ -467,7 +466,7 @@ msgstr "" "Les filtres d'avertissement individuels sont décrits sous la forme d'une " "séquence de champs séparés par des deux-points ::" -#: library/warnings.rst:193 +#: library/warnings.rst:198 msgid "" "The meaning of each of these fields is as described in :ref:`warning-" "filter`. When listing multiple filters on a single line (as for :envvar:" @@ -483,7 +482,7 @@ msgstr "" "les précèdent (car ils sont appliqués de gauche à droite, et les filtres les " "plus récemment appliqués ont priorité sur les précédents)." -#: library/warnings.rst:200 +#: library/warnings.rst:205 msgid "" "Commonly used warning filters apply to either all warnings, warnings in a " "particular category, or warnings raised by particular modules or packages. " @@ -493,11 +492,11 @@ msgstr "" "avertissements, aux avertissements d'une catégorie particulière ou aux " "avertissements émis par certains modules ou paquets. Quelques exemples ::" -#: library/warnings.rst:217 +#: library/warnings.rst:221 msgid "Default Warning Filter" msgstr "Filtre d'avertissement par défaut" -#: library/warnings.rst:219 +#: library/warnings.rst:223 msgid "" "By default, Python installs several warning filters, which can be overridden " "by the :option:`-W` command-line option, the :envvar:`PYTHONWARNINGS` " @@ -508,7 +507,7 @@ msgstr "" "d'environnement :envvar:`PYTHONWARNINGS` et les appels à :func:" "`filterwarnings`." -#: library/warnings.rst:223 +#: library/warnings.rst:227 msgid "" "In regular release builds, the default warning filter has the following " "entries (in order of precedence)::" @@ -516,7 +515,7 @@ msgstr "" "Dans les versions standard publiées de Python, le filtre d'avertissement par " "défaut a les entrées suivantes (par ordre de priorité) ::" -#: library/warnings.rst:232 +#: library/warnings.rst:236 msgid "" "In a :ref:`debug build `, the list of default warning filters " "is empty." @@ -524,7 +523,7 @@ msgstr "" "Dans les :ref:`versions de débogage `, la liste des filtres " "d'avertissement par défaut est vide." -#: library/warnings.rst:234 +#: library/warnings.rst:238 msgid "" ":exc:`DeprecationWarning` is now ignored by default in addition to :exc:" "`PendingDeprecationWarning`." @@ -532,7 +531,7 @@ msgstr "" ":exc:`DeprecationWarning` est maintenant ignoré par défaut en plus de :exc:" "`PendingDeprecationWarning`." -#: library/warnings.rst:238 +#: library/warnings.rst:242 msgid "" ":exc:`DeprecationWarning` is once again shown by default when triggered " "directly by code in ``__main__``." @@ -540,7 +539,7 @@ msgstr "" ":exc:`DeprecationWarning` est à nouveau affiché par défaut lorsqu'il " "provient directement de ``__main__``." -#: library/warnings.rst:242 +#: library/warnings.rst:246 msgid "" ":exc:`BytesWarning` no longer appears in the default filter list and is " "instead configured via :data:`sys.warnoptions` when :option:`-b` is " @@ -550,11 +549,11 @@ msgstr "" "est configuré via :data:`sys.warnoptions` lorsque l'option :option:`-b` est " "donnée deux fois." -#: library/warnings.rst:251 +#: library/warnings.rst:255 msgid "Overriding the default filter" msgstr "Outrepasser le filtre par défaut" -#: library/warnings.rst:253 +#: library/warnings.rst:257 msgid "" "Developers of applications written in Python may wish to hide *all* Python " "level warnings from their users by default, and only display them when " @@ -570,7 +569,7 @@ msgstr "" "filtre à l'interpréteur peut être utilisé comme marqueur pour indiquer si " "les avertissements doivent être ou non désactivés ::" -#: library/warnings.rst:265 +#: library/warnings.rst:269 msgid "" "Developers of test runners for Python code are advised to instead ensure " "that *all* warnings are displayed by default for the code under test, using " @@ -580,7 +579,7 @@ msgstr "" "s'assurer que *tous* les avertissements sont affichés par défaut pour le " "code en cours de test, en utilisant par exemple ::" -#: library/warnings.rst:276 +#: library/warnings.rst:280 msgid "" "Finally, developers of interactive shells that run user code in a namespace " "other than ``__main__`` are advised to ensure that :exc:`DeprecationWarning` " @@ -594,11 +593,11 @@ msgstr "" "suivant (où ``user_ns`` est le module utilisé pour exécuter le code entré " "interactivement) ::" -#: library/warnings.rst:289 +#: library/warnings.rst:293 msgid "Temporarily Suppressing Warnings" msgstr "Suppression temporaire des avertissements" -#: library/warnings.rst:291 +#: library/warnings.rst:295 msgid "" "If you are using code that you know will raise a warning, such as a " "deprecated function, but do not want to see the warning (even when warnings " @@ -612,7 +611,7 @@ msgstr "" "l'avertissement en utilisant le gestionnaire de contexte :class:" "`catch_warnings` ::" -#: library/warnings.rst:305 +#: library/warnings.rst:309 msgid "" "While within the context manager all warnings will simply be ignored. This " "allows you to use known-deprecated code without having to see the warning " @@ -630,11 +629,11 @@ msgstr "" "gestionnaire de contexte :class:`catch_warnings` en même temps, le " "comportement est indéfini." -#: library/warnings.rst:317 +#: library/warnings.rst:321 msgid "Testing Warnings" msgstr "Tester les avertissements" -#: library/warnings.rst:319 +#: library/warnings.rst:323 msgid "" "To test warnings raised by code, use the :class:`catch_warnings` context " "manager. With it you can temporarily mutate the warnings filter to " @@ -646,7 +645,7 @@ msgstr "" "modifier le filtre d'avertissements pour faciliter votre test. Par exemple, " "procédez comme suit pour capturer tous les avertissements levés à vérifier ::" -#: library/warnings.rst:339 +#: library/warnings.rst:343 msgid "" "One can also cause all warnings to be exceptions by using ``error`` instead " "of ``always``. One thing to be aware of is that if a warning has already " @@ -661,7 +660,7 @@ msgstr "" "revu à moins que le registre des avertissements lié à l'avertissement ait " "été vidé." -#: library/warnings.rst:345 +#: library/warnings.rst:349 msgid "" "Once the context manager exits, the warnings filter is restored to its state " "when the context was entered. This prevents tests from changing the warnings " @@ -681,7 +680,7 @@ msgstr "" "utilisent le gestionnaire de contexte :class:`catch_warnings` en même temps, " "le comportement est indéfini." -#: library/warnings.rst:353 +#: library/warnings.rst:357 msgid "" "When testing multiple operations that raise the same kind of warning, it is " "important to test them in a manner that confirms each operation is raising a " @@ -699,11 +698,11 @@ msgstr "" "supprimez les entrées précédentes de la liste des avertissements avant " "chaque nouvelle opération)." -#: library/warnings.rst:364 +#: library/warnings.rst:368 msgid "Updating Code For New Versions of Dependencies" msgstr "Mise à jour du code pour les nouvelles versions des dépendances" -#: library/warnings.rst:366 +#: library/warnings.rst:370 msgid "" "Warning categories that are primarily of interest to Python developers " "(rather than end users of applications written in Python) are ignored by " @@ -713,7 +712,7 @@ msgstr "" "développeurs Python (plutôt que les utilisateurs finaux d'applications " "écrites en Python) sont ignorées par défaut." -#: library/warnings.rst:369 +#: library/warnings.rst:373 msgid "" "Notably, this \"ignored by default\" list includes :exc:`DeprecationWarning` " "(for every module except ``__main__``), which means developers should make " @@ -728,7 +727,7 @@ msgstr "" "notifications rapides des changements d'API (que ce soit dans la " "bibliothèque standard ou les paquets tiers)." -#: library/warnings.rst:375 +#: library/warnings.rst:379 msgid "" "In the ideal case, the code will have a suitable test suite, and the test " "runner will take care of implicitly enabling all warnings when running tests " @@ -739,7 +738,7 @@ msgstr "" "l'exécution des tests (le testeur fourni par le module :mod:`unittest` le " "fait)." -#: library/warnings.rst:379 +#: library/warnings.rst:383 msgid "" "In less ideal cases, applications can be checked for use of deprecated " "interfaces by passing :option:`-Wd <-W>` to the Python interpreter (this is " @@ -760,11 +759,11 @@ msgstr "" "`!-W error`). Voir l'option :option:`-W` pour plus de détails sur ce qui est " "possible." -#: library/warnings.rst:392 +#: library/warnings.rst:396 msgid "Available Functions" msgstr "Fonctions disponibles" -#: library/warnings.rst:397 +#: library/warnings.rst:401 msgid "" "Issue a warning, or maybe ignore it or raise an exception. The *category* " "argument, if given, must be a :ref:`warning category class `. L'argument *stacklevel* peut être " "utilisé par les fonctions *wrapper* écrites en Python, comme ceci ::" -#: library/warnings.rst:409 +#: library/warnings.rst:413 msgid "" "This makes the warning refer to :func:`deprecation`'s caller, rather than to " "the source of :func:`deprecation` itself (since the latter would defeat the " @@ -796,7 +795,7 @@ msgstr "" "`deprecation` plutôt qu'à la source de :func:`deprecation` elle-même " "(puisque celle-ci irait à l'encontre du but du message d'avertissement)." -#: library/warnings.rst:436 +#: library/warnings.rst:440 msgid "" "*source*, if supplied, is the destroyed object which emitted a :exc:" "`ResourceWarning`." @@ -804,11 +803,11 @@ msgstr "" "*source*, s'il est fourni, est l'objet détruit qui a émis un :exc:" "`ResourceWarning`." -#: library/warnings.rst:416 +#: library/warnings.rst:420 msgid "Added *source* parameter." msgstr "Ajout du paramètre *source*." -#: library/warnings.rst:422 +#: library/warnings.rst:426 msgid "" "This is a low-level interface to the functionality of :func:`warn`, passing " "in explicitly the message, category, filename and line number, and " @@ -829,7 +828,7 @@ msgstr "" "`Warning` ou *message* peut être une instance de :exc:`Warning`, auquel cas " "*category* sera ignoré." -#: library/warnings.rst:431 +#: library/warnings.rst:435 msgid "" "*module_globals*, if supplied, should be the global namespace in use by the " "code for which the warning is issued. (This argument is used to support " @@ -841,11 +840,11 @@ msgstr "" "utilisé pour afficher les sources des modules trouvés dans les fichiers zip " "ou d'autres sources d'importation hors du système de fichiers)." -#: library/warnings.rst:439 +#: library/warnings.rst:443 msgid "Add the *source* parameter." msgstr "Ajout du paramètre *source*." -#: library/warnings.rst:445 +#: library/warnings.rst:449 msgid "" "Write a warning to a file. The default implementation calls " "``formatwarning(message, category, filename, lineno, line)`` and writes the " @@ -863,7 +862,7 @@ msgstr "" "dans le message d'avertissement ; si *line* n'est pas fourni, :func:" "`showwarning` essaiera de lire la ligne spécifiée par *filename* et *lineno*." -#: library/warnings.rst:456 +#: library/warnings.rst:460 msgid "" "Format a warning the standard way. This returns a string which may contain " "embedded newlines and ends in a newline. *line* is a line of source code to " @@ -877,7 +876,7 @@ msgstr "" "d'avertissement ; si *line* n'est pas fourni, :func:`formatwarning` essaiera " "de lire la ligne spécifiée par *filename* et *lineno*." -#: library/warnings.rst:465 +#: library/warnings.rst:469 msgid "" "Insert an entry into the list of :ref:`warnings filter specifications " "`. The entry is inserted at the front by default; if " @@ -897,7 +896,7 @@ msgstr "" "dans la liste. Les arguments omis ont par défaut une valeur qui correspond " "à tout." -#: library/warnings.rst:477 +#: library/warnings.rst:481 msgid "" "Insert a simple entry into the list of :ref:`warnings filter specifications " "`. The meaning of the function parameters is as for :func:" @@ -912,7 +911,7 @@ msgstr "" "à n'importe quel message dans n'importe quel module tant que la catégorie et " "le numéro de ligne correspondent." -#: library/warnings.rst:486 +#: library/warnings.rst:490 msgid "" "Reset the warnings filter. This discards the effect of all previous calls " "to :func:`filterwarnings`, including that of the :option:`-W` command line " @@ -923,11 +922,11 @@ msgstr "" "option:`-W` des options de ligne de commande et des appels à :func:" "`simplefilter`." -#: library/warnings.rst:492 +#: library/warnings.rst:496 msgid "Available Context Managers" msgstr "Gestionnaires de contexte disponibles" -#: library/warnings.rst:496 +#: library/warnings.rst:500 msgid "" "A context manager that copies and, upon exit, restores the warnings filter " "and the :func:`showwarning` function. If the *record* argument is :const:" @@ -946,7 +945,7 @@ msgstr "" "``sys.stdout``). Chaque objet de la liste a des attributs avec les mêmes " "noms que les arguments de :func:`showwarning`." -#: library/warnings.rst:505 +#: library/warnings.rst:509 msgid "" "The *module* argument takes a module that will be used instead of the module " "returned when you import :mod:`warnings` whose filter will be protected. " @@ -957,7 +956,7 @@ msgstr "" "Cet argument existe principalement pour tester le module :mod:`warnings` lui-" "même." -#: library/warnings.rst:512 +#: library/warnings.rst:516 msgid "" "The :class:`catch_warnings` manager works by replacing and then later " "restoring the module's :func:`showwarning` function and internal list of " @@ -969,3 +968,20 @@ msgstr "" "interne des spécifications du filtre. Cela signifie que le gestionnaire de " "contexte modifie l'état global et n'est donc pas prévisible avec plusieurs " "fils d'exécution." + +#~ msgid "" +#~ "*message* is a string containing a regular expression that the start of " +#~ "the warning message must match. The expression is compiled to always be " +#~ "case-insensitive." +#~ msgstr "" +#~ "*message* est une chaîne de caractères contenant une expression régulière " +#~ "avec laquelle le début du message d'avertissement doit correspondre. " +#~ "L'expression est compilée pour être toujours insensible à la casse." + +#~ msgid "" +#~ "*module* is a string containing a regular expression that the module name " +#~ "must match. The expression is compiled to be case-sensitive." +#~ msgstr "" +#~ "*module* est une chaîne de caractères contenant une expression régulière " +#~ "avec laquelle le nom du module doit correspondre. L'expression est " +#~ "compilée pour être sensible à la casse." diff --git a/library/wave.po b/library/wave.po index 89e0d3897a..83ba55174d 100644 --- a/library/wave.po +++ b/library/wave.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-05-31 15:21+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -24,20 +24,22 @@ msgid "**Source code:** :source:`Lib/wave.py`" msgstr "**Code source :** :source:`Lib/wave.py`" #: library/wave.rst:14 +#, fuzzy msgid "" "The :mod:`wave` module provides a convenient interface to the WAV sound " -"format. It does not support compression/decompression, but it does support " -"mono/stereo." +"format. Only files using ``WAVE_FORMAT_PCM`` are supported. Note that this " +"does not include files using ``WAVE_FORMAT_EXTENSIBLE`` even if the " +"subformat is PCM." msgstr "" "Le module :mod:`wave` fournit une interface pratique pour le format de son " "WAV. Il ne gère pas la compression ni la décompression, mais gère le mono et " "le stéréo." -#: library/wave.rst:17 +#: library/wave.rst:18 msgid "The :mod:`wave` module defines the following function and exception:" msgstr "Le module :mod:`wave` définit la fonction et l'exception suivante :" -#: library/wave.rst:22 +#: library/wave.rst:23 msgid "" "If *file* is a string, open the file by that name, otherwise treat it as a " "file-like object. *mode* can be:" @@ -45,29 +47,29 @@ msgstr "" "Si *file* est une chaîne de caractères, ouvre le fichier sous ce nom, sinon, " "il est traité comme un objet de type fichier. *mode* peut être :" -#: library/wave.rst:26 +#: library/wave.rst:27 msgid "``'rb'``" msgstr "``'rb'``" -#: library/wave.rst:26 +#: library/wave.rst:27 msgid "Read only mode." msgstr "Mode lecture seule." -#: library/wave.rst:29 +#: library/wave.rst:30 msgid "``'wb'``" msgstr "``'wb'``" -#: library/wave.rst:29 +#: library/wave.rst:30 msgid "Write only mode." msgstr "Mode écriture seule." -#: library/wave.rst:31 +#: library/wave.rst:32 msgid "Note that it does not allow read/write WAV files." msgstr "" "Notez que ce module ne permet pas de manipuler des fichiers WAV en lecture/" "écriture." -#: library/wave.rst:33 +#: library/wave.rst:34 msgid "" "A *mode* of ``'rb'`` returns a :class:`Wave_read` object, while a *mode* of " "``'wb'`` returns a :class:`Wave_write` object. If *mode* is omitted and a " @@ -79,7 +81,7 @@ msgstr "" "objet de type fichier est donné au paramètre *file*, ``file.mode`` est " "utilisé comme valeur par défaut pour *mode*." -#: library/wave.rst:38 +#: library/wave.rst:39 msgid "" "If you pass in a file-like object, the wave object will not close it when " "its :meth:`close` method is called; it is the caller's responsibility to " @@ -89,7 +91,7 @@ msgstr "" "lorsque sa méthode :meth:`close` est appelée car c'est l'appelant qui est " "responsable de la fermeture." -#: library/wave.rst:42 +#: library/wave.rst:43 msgid "" "The :func:`.open` function may be used in a :keyword:`with` statement. When " "the :keyword:`!with` block completes, the :meth:`Wave_read.close() ` ou la méthode :meth:`Wave_write.close() " "` est appelée." -#: library/wave.rst:163 +#: library/wave.rst:164 msgid "Added support for unseekable files." msgstr "Ajout de la gestion des fichiers non navigables." -#: library/wave.rst:52 +#: library/wave.rst:53 msgid "" "An error raised when something is impossible because it violates the WAV " "specification or hits an implementation deficiency." @@ -113,18 +115,18 @@ msgstr "" "Une erreur est levée lorsque quelque chose est impossible car elle enfreint " "la spécification WAV ou rencontre un problème d'implémentation." -#: library/wave.rst:59 +#: library/wave.rst:60 msgid "Wave_read Objects" msgstr "Objets Wave_read" -#: library/wave.rst:61 +#: library/wave.rst:62 msgid "" "Wave_read objects, as returned by :func:`.open`, have the following methods:" msgstr "" "Les objets Wave_read, tels qu'ils sont renvoyés par :func:`.open`, ont les " "méthodes suivantes :" -#: library/wave.rst:66 +#: library/wave.rst:67 msgid "" "Close the stream if it was opened by :mod:`wave`, and make the instance " "unusable. This is called automatically on object collection." @@ -132,28 +134,28 @@ msgstr "" "Ferme le flux s'il a été ouvert par :mod:`wave` et rend l'instance " "inutilisable. Ceci est appelé automatiquement lorsque l'objet est détruit ." -#: library/wave.rst:72 +#: library/wave.rst:73 msgid "Returns number of audio channels (``1`` for mono, ``2`` for stereo)." msgstr "" "Renvoie le nombre de canaux audio (``1`` pour mono, ``2`` pour stéréo)." -#: library/wave.rst:77 +#: library/wave.rst:78 msgid "Returns sample width in bytes." msgstr "Renvoie la largeur de l'échantillon en octets." -#: library/wave.rst:82 +#: library/wave.rst:83 msgid "Returns sampling frequency." msgstr "Renvoie la fréquence d'échantillonnage." -#: library/wave.rst:87 +#: library/wave.rst:88 msgid "Returns number of audio frames." msgstr "Renvoie le nombre de trames audio." -#: library/wave.rst:92 +#: library/wave.rst:93 msgid "Returns compression type (``'NONE'`` is the only supported type)." msgstr "Renvoie le type de compression (``'NONE'`` est le seul type géré)." -#: library/wave.rst:97 +#: library/wave.rst:98 msgid "" "Human-readable version of :meth:`getcomptype`. Usually ``'not compressed'`` " "parallels ``'NONE'``." @@ -161,7 +163,7 @@ msgstr "" "Version compréhensible de :meth:`getcomptype`. Généralement, ``'not " "compressed'`` équivaut à ``'NONE'``." -#: library/wave.rst:103 +#: library/wave.rst:104 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " "framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" @@ -171,17 +173,17 @@ msgstr "" "framerate, nframes, comptype, compname)``, équivalent à la sortie des " "méthodes :meth:`get\\*`." -#: library/wave.rst:110 +#: library/wave.rst:111 msgid "" "Reads and returns at most *n* frames of audio, as a :class:`bytes` object." msgstr "" "Lit et renvoie au plus *n* trames audio, sous forme d'objet :class:`bytes`." -#: library/wave.rst:115 +#: library/wave.rst:116 msgid "Rewind the file pointer to the beginning of the audio stream." msgstr "Remet le pointeur de fichier au début du flux audio." -#: library/wave.rst:117 +#: library/wave.rst:118 msgid "" "The following two methods are defined for compatibility with the :mod:`aifc` " "module, and don't do anything interesting." @@ -189,15 +191,15 @@ msgstr "" "Les deux méthodes suivantes sont définies pour la compatibilité avec le " "module :mod:`aifc` ; elles ne font rien d’intéressant." -#: library/wave.rst:123 +#: library/wave.rst:124 msgid "Returns ``None``." msgstr "Renvoie ``None``." -#: library/wave.rst:128 +#: library/wave.rst:129 msgid "Raise an error." msgstr "Lève une erreur." -#: library/wave.rst:130 +#: library/wave.rst:131 msgid "" "The following two methods define a term \"position\" which is compatible " "between them, and is otherwise implementation dependent." @@ -207,19 +209,19 @@ msgstr "" "compatible avec la \"position\" de l'autre. Cette position est dépendante de " "l'implémentation." -#: library/wave.rst:136 +#: library/wave.rst:137 msgid "Set the file pointer to the specified position." msgstr "Place le pointeur du fichier sur la position spécifiée." -#: library/wave.rst:141 +#: library/wave.rst:142 msgid "Return current file pointer position." msgstr "Renvoie la position actuelle du pointeur du fichier." -#: library/wave.rst:147 +#: library/wave.rst:148 msgid "Wave_write Objects" msgstr "Objets Wave_write" -#: library/wave.rst:149 +#: library/wave.rst:150 msgid "" "For seekable output streams, the ``wave`` header will automatically be " "updated to reflect the number of frames actually written. For unseekable " @@ -246,14 +248,14 @@ msgstr "" "writeframes` calcule le nombre de trames dans le flux audio et définit " "*nframes* en conséquence avant d'écrire les données des trames." -#: library/wave.rst:161 +#: library/wave.rst:162 msgid "" "Wave_write objects, as returned by :func:`.open`, have the following methods:" msgstr "" "Les objets Wave_write, tels qu'ils sont renvoyés par :func:`.open`, ont les " "méthodes suivantes :" -#: library/wave.rst:169 +#: library/wave.rst:170 msgid "" "Make sure *nframes* is correct, and close the file if it was opened by :mod:" "`wave`. This method is called upon object collection. It will raise an " @@ -265,25 +267,25 @@ msgstr "" "l'objet. Il lève une erreur si le flux de sortie n'est pas navigable et si " "*nframes* ne correspond pas au nombre de trames réellement écrites." -#: library/wave.rst:177 +#: library/wave.rst:178 msgid "Set the number of channels." msgstr "Définit le nombre de canaux." -#: library/wave.rst:182 +#: library/wave.rst:183 msgid "Set the sample width to *n* bytes." msgstr "Définit la largeur de l'échantillon à *n* octets." -#: library/wave.rst:187 +#: library/wave.rst:188 msgid "Set the frame rate to *n*." msgstr "Définit la fréquence des trames à *n*." -#: library/wave.rst:189 +#: library/wave.rst:190 msgid "A non-integral input to this method is rounded to the nearest integer." msgstr "" "Un paramètre non-entier passé à cette méthode est arrondi à l'entier le plus " "proche." -#: library/wave.rst:196 +#: library/wave.rst:197 msgid "" "Set the number of frames to *n*. This will be changed later if the number " "of frames actually written is different (this update attempt will raise an " @@ -293,7 +295,7 @@ msgstr "" "nombre de trames réellement écrites est différent (la tentative de mise à " "jour générera une erreur si le flux de sortie n'est pas indexable)." -#: library/wave.rst:203 +#: library/wave.rst:204 msgid "" "Set the compression type and description. At the moment, only compression " "type ``NONE`` is supported, meaning no compression." @@ -301,7 +303,7 @@ msgstr "" "Définit le type de compression et la description. Pour le moment, seul le " "type de compression ``NONE`` est géré, c'est-à-dire aucune compression." -#: library/wave.rst:209 +#: library/wave.rst:210 msgid "" "The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " "compname)``, with values valid for the :meth:`set\\*` methods. Sets all " @@ -311,7 +313,7 @@ msgstr "" "comptype, compname)``, avec des valeurs valides pour les méthodes :meth:" "`set\\*`. Tous les paramètres sont obligatoires et doivent être définis." -#: library/wave.rst:216 +#: library/wave.rst:217 msgid "" "Return current position in the file, with the same disclaimer for the :meth:" "`Wave_read.tell` and :meth:`Wave_read.setpos` methods." @@ -319,15 +321,15 @@ msgstr "" "Renvoie la position actuelle dans le fichier, avec les mêmes réserves que " "pour les méthodes :meth:`Wave_read.tell` et :meth:`Wave_read.setpos`." -#: library/wave.rst:222 +#: library/wave.rst:223 msgid "Write audio frames, without correcting *nframes*." msgstr "Écrit les trames audio sans corriger *nframes*." -#: library/wave.rst:235 +#: library/wave.rst:236 msgid "Any :term:`bytes-like object` is now accepted." msgstr "N'importe quel :term:`bytes-like object` est maintenant accepté." -#: library/wave.rst:230 +#: library/wave.rst:231 msgid "" "Write audio frames and make sure *nframes* is correct. It will raise an " "error if the output stream is not seekable and the total number of frames " @@ -339,7 +341,7 @@ msgstr "" "écrites après que *data* soit écrit ne correspond pas à la valeur " "précédemment définie pour *nframes*." -#: library/wave.rst:239 +#: library/wave.rst:240 msgid "" "Note that it is invalid to set any parameters after calling :meth:" "`writeframes` or :meth:`writeframesraw`, and any attempt to do so will " diff --git a/library/winreg.po b/library/winreg.po index 9332cd7aee..4ecbcc9330 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -80,8 +80,8 @@ msgid "" "arguments ``computer_name``, ``key``." msgstr "" -#: library/winreg.rst:84 library/winreg.rst:139 library/winreg.rst:208 -#: library/winreg.rst:334 +#: library/winreg.rst:84 library/winreg.rst:139 library/winreg.rst:203 +#: library/winreg.rst:329 msgid "See :ref:`above `." msgstr "" @@ -91,9 +91,9 @@ msgid "" "object>`." msgstr "" -#: library/winreg.rst:93 library/winreg.rst:153 library/winreg.rst:197 -#: library/winreg.rst:265 library/winreg.rst:342 library/winreg.rst:388 -#: library/winreg.rst:437 library/winreg.rst:496 library/winreg.rst:528 +#: library/winreg.rst:93 library/winreg.rst:147 library/winreg.rst:192 +#: library/winreg.rst:260 library/winreg.rst:337 library/winreg.rst:383 +#: library/winreg.rst:432 library/winreg.rst:491 library/winreg.rst:523 msgid "" "*key* is an already open key, or one of the predefined :ref:`HKEY_* " "constants `." @@ -119,13 +119,13 @@ msgid "" "arguments ``key``, ``sub_key``, ``access``." msgstr "" -#: library/winreg.rst:114 library/winreg.rst:329 +#: library/winreg.rst:114 library/winreg.rst:324 msgid "" "Raises an :ref:`auditing event ` ``winreg.OpenKey/result`` with " "argument ``key``." msgstr "" -#: library/winreg.rst:160 +#: library/winreg.rst:154 msgid "" "*reserved* is a reserved integer, and must be zero. The default is zero." msgstr "" @@ -148,162 +148,155 @@ msgid "" "subkeys." msgstr "" -#: library/winreg.rst:166 +#: library/winreg.rst:161 msgid "*This method can not delete keys with subkeys.*" msgstr "" -#: library/winreg.rst:168 +#: library/winreg.rst:163 msgid "" "If the method succeeds, the entire key, including all of its values, is " "removed. If the method fails, an :exc:`OSError` exception is raised." msgstr "" -#: library/winreg.rst:173 +#: library/winreg.rst:168 msgid "" "Raises an :ref:`auditing event ` ``winreg.DeleteKey`` with " "arguments ``key``, ``sub_key``, ``access``." msgstr "" -#: library/winreg.rst:148 -msgid "" -"The :func:`DeleteKeyEx` function is implemented with the RegDeleteKeyEx " -"Windows API function, which is specific to 64-bit versions of Windows. See " -"the `RegDeleteKeyEx documentation `__." -msgstr "" - -#: library/winreg.rst:156 +#: library/winreg.rst:150 msgid "" "*sub_key* is a string that must be a subkey of the key identified by the " "*key* parameter. This value must not be ``None``, and the key may not have " "subkeys." msgstr "" -#: library/winreg.rst:162 +#: library/winreg.rst:156 msgid "" "*access* is an integer that specifies an access mask that describes the " -"desired security access for the key. Default is :const:`KEY_WOW64_64KEY`. " -"See :ref:`Access Rights ` for other allowed values." +"desired security access for the key. Default is :const:`KEY_WOW64_64KEY`. " +"On 32-bit Windows, the WOW64 constants are ignored. See :ref:`Access Rights " +"` for other allowed values." msgstr "" -#: library/winreg.rst:171 +#: library/winreg.rst:166 msgid "On unsupported Windows versions, :exc:`NotImplementedError` is raised." msgstr "" -#: library/winreg.rst:183 +#: library/winreg.rst:178 msgid "Removes a named value from a registry key." msgstr "" -#: library/winreg.rst:188 +#: library/winreg.rst:183 msgid "*value* is a string that identifies the value to remove." msgstr "" -#: library/winreg.rst:190 +#: library/winreg.rst:185 msgid "" "Raises an :ref:`auditing event ` ``winreg.DeleteValue`` with " "arguments ``key``, ``value``." msgstr "" -#: library/winreg.rst:195 +#: library/winreg.rst:190 msgid "Enumerates subkeys of an open registry key, returning a string." msgstr "" -#: library/winreg.rst:200 +#: library/winreg.rst:195 msgid "*index* is an integer that identifies the index of the key to retrieve." msgstr "" -#: library/winreg.rst:202 +#: library/winreg.rst:197 msgid "" "The function retrieves the name of one subkey each time it is called. It is " "typically called repeatedly until an :exc:`OSError` exception is raised, " "indicating, no more values are available." msgstr "" -#: library/winreg.rst:206 +#: library/winreg.rst:201 msgid "" "Raises an :ref:`auditing event ` ``winreg.EnumKey`` with arguments " "``key``, ``index``." msgstr "" -#: library/winreg.rst:214 +#: library/winreg.rst:209 msgid "Enumerates values of an open registry key, returning a tuple." msgstr "" -#: library/winreg.rst:219 +#: library/winreg.rst:214 msgid "" "*index* is an integer that identifies the index of the value to retrieve." msgstr "" -#: library/winreg.rst:221 +#: library/winreg.rst:216 msgid "" "The function retrieves the name of one subkey each time it is called. It is " "typically called repeatedly, until an :exc:`OSError` exception is raised, " "indicating no more values." msgstr "" -#: library/winreg.rst:345 +#: library/winreg.rst:340 msgid "The result is a tuple of 3 items:" msgstr "" -#: library/winreg.rst:348 library/winreg.rst:396 +#: library/winreg.rst:343 library/winreg.rst:391 msgid "Index" msgstr "Index" -#: library/winreg.rst:348 library/winreg.rst:396 +#: library/winreg.rst:343 library/winreg.rst:391 msgid "Meaning" msgstr "Signification" -#: library/winreg.rst:350 library/winreg.rst:398 +#: library/winreg.rst:345 library/winreg.rst:393 msgid "``0``" msgstr "``0``" -#: library/winreg.rst:230 +#: library/winreg.rst:225 msgid "A string that identifies the value name" msgstr "" -#: library/winreg.rst:353 library/winreg.rst:400 +#: library/winreg.rst:348 library/winreg.rst:395 msgid "``1``" msgstr "``1``" -#: library/winreg.rst:232 +#: library/winreg.rst:227 msgid "" "An object that holds the value data, and whose type depends on the " "underlying registry type" msgstr "" -#: library/winreg.rst:356 +#: library/winreg.rst:351 msgid "``2``" msgstr "``2``" -#: library/winreg.rst:236 +#: library/winreg.rst:231 msgid "" "An integer that identifies the type of the value data (see table in docs " "for :meth:`SetValueEx`)" msgstr "" -#: library/winreg.rst:241 +#: library/winreg.rst:236 msgid "" "Raises an :ref:`auditing event ` ``winreg.EnumValue`` with " "arguments ``key``, ``index``." msgstr "" -#: library/winreg.rst:252 +#: library/winreg.rst:247 msgid "" "Expands environment variable placeholders ``%NAME%`` in strings like :const:" "`REG_EXPAND_SZ`::" msgstr "" -#: library/winreg.rst:258 +#: library/winreg.rst:253 msgid "" "Raises an :ref:`auditing event ` ``winreg." "ExpandEnvironmentStrings`` with argument ``str``." msgstr "" -#: library/winreg.rst:263 +#: library/winreg.rst:258 msgid "Writes all the attributes of a key to the registry." msgstr "" -#: library/winreg.rst:268 +#: library/winreg.rst:263 msgid "" "It is not necessary to call :func:`FlushKey` to change a key. Registry " "changes are flushed to disk by the registry using its lazy flusher. " @@ -314,36 +307,36 @@ msgid "" "disk." msgstr "" -#: library/winreg.rst:277 +#: library/winreg.rst:272 msgid "" "If you don't know whether a :func:`FlushKey` call is required, it probably " "isn't." msgstr "" -#: library/winreg.rst:283 +#: library/winreg.rst:278 msgid "" "Creates a subkey under the specified key and stores registration information " "from a specified file into that subkey." msgstr "" -#: library/winreg.rst:286 +#: library/winreg.rst:281 msgid "" "*key* is a handle returned by :func:`ConnectRegistry` or one of the " "constants :const:`HKEY_USERS` or :const:`HKEY_LOCAL_MACHINE`." msgstr "" -#: library/winreg.rst:289 +#: library/winreg.rst:284 msgid "*sub_key* is a string that identifies the subkey to load." msgstr "" -#: library/winreg.rst:291 +#: library/winreg.rst:286 msgid "" "*file_name* is the name of the file to load registry data from. This file " "must have been created with the :func:`SaveKey` function. Under the file " "allocation table (FAT) file system, the filename may not have an extension." msgstr "" -#: library/winreg.rst:295 +#: library/winreg.rst:290 msgid "" "A call to :func:`LoadKey` fails if the calling process does not have the :" "const:`SE_RESTORE_PRIVILEGE` privilege. Note that privileges are different " @@ -351,86 +344,86 @@ msgid "" "microsoft.com/en-us/library/ms724889%28v=VS.85%29.aspx>`__ for more details." msgstr "" -#: library/winreg.rst:301 +#: library/winreg.rst:296 msgid "" "If *key* is a handle returned by :func:`ConnectRegistry`, then the path " "specified in *file_name* is relative to the remote computer." msgstr "" -#: library/winreg.rst:304 +#: library/winreg.rst:299 msgid "" "Raises an :ref:`auditing event ` ``winreg.LoadKey`` with arguments " "``key``, ``sub_key``, ``file_name``." msgstr "" -#: library/winreg.rst:310 +#: library/winreg.rst:305 msgid "" "Opens the specified key, returning a :ref:`handle object `." msgstr "" -#: library/winreg.rst:315 +#: library/winreg.rst:310 msgid "*sub_key* is a string that identifies the sub_key to open." msgstr "" -#: library/winreg.rst:317 +#: library/winreg.rst:312 msgid "" "*reserved* is a reserved integer, and must be zero. The default is zero." msgstr "" -#: library/winreg.rst:319 +#: library/winreg.rst:314 msgid "" "*access* is an integer that specifies an access mask that describes the " "desired security access for the key. Default is :const:`KEY_READ`. See :" "ref:`Access Rights ` for other allowed values." msgstr "" -#: library/winreg.rst:323 +#: library/winreg.rst:318 msgid "The result is a new handle to the specified key." msgstr "" -#: library/winreg.rst:325 +#: library/winreg.rst:320 msgid "If the function fails, :exc:`OSError` is raised." msgstr "" -#: library/winreg.rst:327 +#: library/winreg.rst:322 msgid "" "Raises an :ref:`auditing event ` ``winreg.OpenKey`` with arguments " "``key``, ``sub_key``, ``access``." msgstr "" -#: library/winreg.rst:331 +#: library/winreg.rst:326 msgid "Allow the use of named arguments." msgstr "" -#: library/winreg.rst:340 +#: library/winreg.rst:335 msgid "Returns information about a key, as a tuple." msgstr "" -#: library/winreg.rst:350 +#: library/winreg.rst:345 msgid "An integer giving the number of sub keys this key has." msgstr "" -#: library/winreg.rst:353 +#: library/winreg.rst:348 msgid "An integer giving the number of values this key has." msgstr "" -#: library/winreg.rst:356 +#: library/winreg.rst:351 msgid "" "An integer giving when the key was last modified (if available) as 100's of " "nanoseconds since Jan 1, 1601." msgstr "" -#: library/winreg.rst:361 +#: library/winreg.rst:356 msgid "" "Raises an :ref:`auditing event ` ``winreg.QueryInfoKey`` with " "argument ``key``." msgstr "" -#: library/winreg.rst:366 +#: library/winreg.rst:361 msgid "Retrieves the unnamed value for a key, as a string." msgstr "" -#: library/winreg.rst:371 +#: library/winreg.rst:366 msgid "" "*sub_key* is a string that holds the name of the subkey with which the value " "is associated. If this parameter is ``None`` or empty, the function " @@ -438,7 +431,7 @@ msgid "" "identified by *key*." msgstr "" -#: library/winreg.rst:375 +#: library/winreg.rst:370 msgid "" "Values in the registry have name, type, and data components. This method " "retrieves the data for a key's first value that has a ``NULL`` name. But the " @@ -446,41 +439,41 @@ msgid "" "`QueryValueEx` if possible." msgstr "" -#: library/winreg.rst:405 +#: library/winreg.rst:400 msgid "" "Raises an :ref:`auditing event ` ``winreg.QueryValue`` with " "arguments ``key``, ``sub_key``, ``value_name``." msgstr "" -#: library/winreg.rst:385 +#: library/winreg.rst:380 msgid "" "Retrieves the type and data for a specified value name associated with an " "open registry key." msgstr "" -#: library/winreg.rst:391 +#: library/winreg.rst:386 msgid "*value_name* is a string indicating the value to query." msgstr "" -#: library/winreg.rst:393 +#: library/winreg.rst:388 msgid "The result is a tuple of 2 items:" msgstr "" -#: library/winreg.rst:398 +#: library/winreg.rst:393 msgid "The value of the registry item." msgstr "" -#: library/winreg.rst:400 +#: library/winreg.rst:395 msgid "" "An integer giving the registry type for this value (see table in docs for :" "meth:`SetValueEx`)" msgstr "" -#: library/winreg.rst:410 +#: library/winreg.rst:405 msgid "Saves the specified key, and all its subkeys to the specified file." msgstr "" -#: library/winreg.rst:415 +#: library/winreg.rst:410 msgid "" "*file_name* is the name of the file to save registry data to. This file " "cannot already exist. If this filename includes an extension, it cannot be " @@ -488,7 +481,7 @@ msgid "" "method." msgstr "" -#: library/winreg.rst:420 +#: library/winreg.rst:415 msgid "" "If *key* represents a key on a remote computer, the path described by " "*file_name* is relative to the remote computer. The caller of this method " @@ -498,168 +491,168 @@ msgid "" "library/ms724878%28v=VS.85%29.aspx>`__ for more details." msgstr "" -#: library/winreg.rst:428 +#: library/winreg.rst:423 msgid "This function passes ``NULL`` for *security_attributes* to the API." msgstr "" -#: library/winreg.rst:430 +#: library/winreg.rst:425 msgid "" "Raises an :ref:`auditing event ` ``winreg.SaveKey`` with arguments " "``key``, ``file_name``." msgstr "" -#: library/winreg.rst:435 +#: library/winreg.rst:430 msgid "Associates a value with a specified key." msgstr "" -#: library/winreg.rst:440 +#: library/winreg.rst:435 msgid "" "*sub_key* is a string that names the subkey with which the value is " "associated." msgstr "" -#: library/winreg.rst:442 +#: library/winreg.rst:437 msgid "" "*type* is an integer that specifies the type of the data. Currently this " "must be :const:`REG_SZ`, meaning only strings are supported. Use the :func:" "`SetValueEx` function for support for other data types." msgstr "" -#: library/winreg.rst:476 +#: library/winreg.rst:471 msgid "*value* is a string that specifies the new value." msgstr "" -#: library/winreg.rst:448 +#: library/winreg.rst:443 msgid "" "If the key specified by the *sub_key* parameter does not exist, the SetValue " "function creates it." msgstr "" -#: library/winreg.rst:484 +#: library/winreg.rst:479 msgid "" "Value lengths are limited by available memory. Long values (more than 2048 " "bytes) should be stored as files with the filenames stored in the " "configuration registry. This helps the registry perform efficiently." msgstr "" -#: library/winreg.rst:455 +#: library/winreg.rst:450 msgid "" "The key identified by the *key* parameter must have been opened with :const:" "`KEY_SET_VALUE` access." msgstr "" -#: library/winreg.rst:488 +#: library/winreg.rst:483 msgid "" "Raises an :ref:`auditing event ` ``winreg.SetValue`` with " "arguments ``key``, ``sub_key``, ``type``, ``value``." msgstr "" -#: library/winreg.rst:463 +#: library/winreg.rst:458 msgid "Stores data in the value field of an open registry key." msgstr "" -#: library/winreg.rst:468 +#: library/winreg.rst:463 msgid "" "*value_name* is a string that names the subkey with which the value is " "associated." msgstr "" -#: library/winreg.rst:471 +#: library/winreg.rst:466 msgid "*reserved* can be anything -- zero is always passed to the API." msgstr "" -#: library/winreg.rst:473 +#: library/winreg.rst:468 msgid "" "*type* is an integer that specifies the type of the data. See :ref:`Value " "Types ` for the available types." msgstr "" -#: library/winreg.rst:478 +#: library/winreg.rst:473 msgid "" "This method can also set additional value and type information for the " "specified key. The key identified by the key parameter must have been " "opened with :const:`KEY_SET_VALUE` access." msgstr "" -#: library/winreg.rst:482 +#: library/winreg.rst:477 msgid "To open the key, use the :func:`CreateKey` or :func:`OpenKey` methods." msgstr "" -#: library/winreg.rst:493 +#: library/winreg.rst:488 msgid "" "Disables registry reflection for 32-bit processes running on a 64-bit " "operating system." msgstr "" -#: library/winreg.rst:516 library/winreg.rst:533 +#: library/winreg.rst:511 library/winreg.rst:528 msgid "" "Will generally raise :exc:`NotImplementedError` if executed on a 32-bit " "operating system." msgstr "" -#: library/winreg.rst:502 +#: library/winreg.rst:497 msgid "" "If the key is not on the reflection list, the function succeeds but has no " "effect. Disabling reflection for a key does not affect reflection of any " "subkeys." msgstr "" -#: library/winreg.rst:506 +#: library/winreg.rst:501 msgid "" "Raises an :ref:`auditing event ` ``winreg.DisableReflectionKey`` " "with argument ``key``." msgstr "" -#: library/winreg.rst:511 +#: library/winreg.rst:506 msgid "Restores registry reflection for the specified disabled key." msgstr "" -#: library/winreg.rst:519 +#: library/winreg.rst:514 msgid "" "Restoring reflection for a key does not affect reflection of any subkeys." msgstr "" -#: library/winreg.rst:521 +#: library/winreg.rst:516 msgid "" "Raises an :ref:`auditing event ` ``winreg.EnableReflectionKey`` " "with argument ``key``." msgstr "" -#: library/winreg.rst:526 +#: library/winreg.rst:521 msgid "Determines the reflection state for the specified key." msgstr "" -#: library/winreg.rst:531 +#: library/winreg.rst:526 msgid "Returns ``True`` if reflection is disabled." msgstr "" -#: library/winreg.rst:536 +#: library/winreg.rst:531 msgid "" "Raises an :ref:`auditing event ` ``winreg.QueryReflectionKey`` " "with argument ``key``." msgstr "" -#: library/winreg.rst:542 +#: library/winreg.rst:537 msgid "Constants" msgstr "Constantes" -#: library/winreg.rst:544 +#: library/winreg.rst:539 msgid "" "The following constants are defined for use in many :mod:`_winreg` functions." msgstr "" -#: library/winreg.rst:549 +#: library/winreg.rst:544 msgid "HKEY_* Constants" msgstr "" -#: library/winreg.rst:553 +#: library/winreg.rst:548 msgid "" "Registry entries subordinate to this key define types (or classes) of " "documents and the properties associated with those types. Shell and COM " "applications use the information stored under this key." msgstr "" -#: library/winreg.rst:560 +#: library/winreg.rst:555 msgid "" "Registry entries subordinate to this key define the preferences of the " "current user. These preferences include the settings of environment " @@ -667,48 +660,48 @@ msgid "" "and application preferences." msgstr "" -#: library/winreg.rst:567 +#: library/winreg.rst:562 msgid "" "Registry entries subordinate to this key define the physical state of the " "computer, including data about the bus type, system memory, and installed " "hardware and software." msgstr "" -#: library/winreg.rst:573 +#: library/winreg.rst:568 msgid "" "Registry entries subordinate to this key define the default user " "configuration for new users on the local computer and the user configuration " "for the current user." msgstr "" -#: library/winreg.rst:579 +#: library/winreg.rst:574 msgid "" "Registry entries subordinate to this key allow you to access performance " "data. The data is not actually stored in the registry; the registry " "functions cause the system to collect the data from its source." msgstr "" -#: library/winreg.rst:587 +#: library/winreg.rst:582 msgid "" "Contains information about the current hardware profile of the local " "computer system." msgstr "" -#: library/winreg.rst:592 +#: library/winreg.rst:587 msgid "This key is not used in versions of Windows after 98." msgstr "" -#: library/winreg.rst:598 +#: library/winreg.rst:593 msgid "Access Rights" msgstr "" -#: library/winreg.rst:600 +#: library/winreg.rst:595 msgid "" "For more information, see `Registry Key Security and Access `__." msgstr "" -#: library/winreg.rst:605 +#: library/winreg.rst:600 msgid "" "Combines the STANDARD_RIGHTS_REQUIRED, :const:`KEY_QUERY_VALUE`, :const:" "`KEY_SET_VALUE`, :const:`KEY_CREATE_SUB_KEY`, :const:" @@ -716,180 +709,180 @@ msgid "" "access rights." msgstr "" -#: library/winreg.rst:612 +#: library/winreg.rst:607 msgid "" "Combines the STANDARD_RIGHTS_WRITE, :const:`KEY_SET_VALUE`, and :const:" "`KEY_CREATE_SUB_KEY` access rights." msgstr "" -#: library/winreg.rst:617 +#: library/winreg.rst:612 msgid "" "Combines the STANDARD_RIGHTS_READ, :const:`KEY_QUERY_VALUE`, :const:" "`KEY_ENUMERATE_SUB_KEYS`, and :const:`KEY_NOTIFY` values." msgstr "" -#: library/winreg.rst:622 +#: library/winreg.rst:617 msgid "Equivalent to :const:`KEY_READ`." msgstr "" -#: library/winreg.rst:626 +#: library/winreg.rst:621 msgid "Required to query the values of a registry key." msgstr "" -#: library/winreg.rst:630 +#: library/winreg.rst:625 msgid "Required to create, delete, or set a registry value." msgstr "" -#: library/winreg.rst:634 +#: library/winreg.rst:629 msgid "Required to create a subkey of a registry key." msgstr "" -#: library/winreg.rst:638 +#: library/winreg.rst:633 msgid "Required to enumerate the subkeys of a registry key." msgstr "" -#: library/winreg.rst:642 +#: library/winreg.rst:637 msgid "" "Required to request change notifications for a registry key or for subkeys " "of a registry key." msgstr "" -#: library/winreg.rst:647 +#: library/winreg.rst:642 msgid "Reserved for system use." msgstr "" -#: library/winreg.rst:653 +#: library/winreg.rst:648 msgid "64-bit Specific" msgstr "" -#: library/winreg.rst:655 +#: library/winreg.rst:650 msgid "" "For more information, see `Accessing an Alternate Registry View `__." msgstr "" -#: library/winreg.rst:660 +#: library/winreg.rst:655 msgid "" "Indicates that an application on 64-bit Windows should operate on the 64-bit " -"registry view." +"registry view. On 32-bit Windows, this constant is ignored." msgstr "" -#: library/winreg.rst:665 +#: library/winreg.rst:660 msgid "" "Indicates that an application on 64-bit Windows should operate on the 32-bit " -"registry view." +"registry view. On 32-bit Windows, this constant is ignored." msgstr "" -#: library/winreg.rst:672 +#: library/winreg.rst:666 msgid "Value Types" msgstr "" -#: library/winreg.rst:674 +#: library/winreg.rst:668 msgid "" "For more information, see `Registry Value Types `__." msgstr "" -#: library/winreg.rst:679 +#: library/winreg.rst:673 msgid "Binary data in any form." msgstr "" -#: library/winreg.rst:683 +#: library/winreg.rst:677 msgid "32-bit number." msgstr "" -#: library/winreg.rst:687 +#: library/winreg.rst:681 msgid "" "A 32-bit number in little-endian format. Equivalent to :const:`REG_DWORD`." msgstr "" -#: library/winreg.rst:691 +#: library/winreg.rst:685 msgid "A 32-bit number in big-endian format." msgstr "" -#: library/winreg.rst:695 +#: library/winreg.rst:689 msgid "" "Null-terminated string containing references to environment variables " "(``%PATH%``)." msgstr "" -#: library/winreg.rst:700 +#: library/winreg.rst:694 msgid "A Unicode symbolic link." msgstr "" -#: library/winreg.rst:704 +#: library/winreg.rst:698 msgid "" "A sequence of null-terminated strings, terminated by two null characters. " "(Python handles this termination automatically.)" msgstr "" -#: library/winreg.rst:709 +#: library/winreg.rst:703 msgid "No defined value type." msgstr "" -#: library/winreg.rst:713 +#: library/winreg.rst:707 msgid "A 64-bit number." msgstr "" -#: library/winreg.rst:719 +#: library/winreg.rst:713 msgid "" "A 64-bit number in little-endian format. Equivalent to :const:`REG_QWORD`." msgstr "" -#: library/winreg.rst:725 +#: library/winreg.rst:719 msgid "A device-driver resource list." msgstr "" -#: library/winreg.rst:729 +#: library/winreg.rst:723 msgid "A hardware setting." msgstr "" -#: library/winreg.rst:733 +#: library/winreg.rst:727 msgid "A hardware resource list." msgstr "" -#: library/winreg.rst:737 +#: library/winreg.rst:731 msgid "A null-terminated string." msgstr "" -#: library/winreg.rst:743 +#: library/winreg.rst:737 msgid "Registry Handle Objects" msgstr "" -#: library/winreg.rst:745 +#: library/winreg.rst:739 msgid "" "This object wraps a Windows HKEY object, automatically closing it when the " "object is destroyed. To guarantee cleanup, you can call either the :meth:" "`~PyHKEY.Close` method on the object, or the :func:`CloseKey` function." msgstr "" -#: library/winreg.rst:749 +#: library/winreg.rst:743 msgid "All registry functions in this module return one of these objects." msgstr "" -#: library/winreg.rst:751 +#: library/winreg.rst:745 msgid "" "All registry functions in this module which accept a handle object also " "accept an integer, however, use of the handle object is encouraged." msgstr "" -#: library/winreg.rst:754 +#: library/winreg.rst:748 msgid "Handle objects provide semantics for :meth:`__bool__` -- thus ::" msgstr "" -#: library/winreg.rst:759 +#: library/winreg.rst:753 msgid "" "will print ``Yes`` if the handle is currently valid (has not been closed or " "detached)." msgstr "" -#: library/winreg.rst:762 +#: library/winreg.rst:756 msgid "" "The object also support comparison semantics, so handle objects will compare " "true if they both reference the same underlying Windows handle value." msgstr "" -#: library/winreg.rst:765 +#: library/winreg.rst:759 msgid "" "Handle objects can be converted to an integer (e.g., using the built-in :" "func:`int` function), in which case the underlying Windows handle value is " @@ -898,46 +891,46 @@ msgid "" "object." msgstr "" -#: library/winreg.rst:773 +#: library/winreg.rst:767 msgid "Closes the underlying Windows handle." msgstr "" -#: library/winreg.rst:775 +#: library/winreg.rst:769 msgid "If the handle is already closed, no error is raised." msgstr "" -#: library/winreg.rst:780 +#: library/winreg.rst:774 msgid "Detaches the Windows handle from the handle object." msgstr "" -#: library/winreg.rst:782 +#: library/winreg.rst:776 msgid "" "The result is an integer that holds the value of the handle before it is " "detached. If the handle is already detached or closed, this will return " "zero." msgstr "" -#: library/winreg.rst:786 +#: library/winreg.rst:780 msgid "" "After calling this function, the handle is effectively invalidated, but the " "handle is not closed. You would call this function when you need the " "underlying Win32 handle to exist beyond the lifetime of the handle object." msgstr "" -#: library/winreg.rst:790 +#: library/winreg.rst:784 msgid "" "Raises an :ref:`auditing event ` ``winreg.PyHKEY.Detach`` with " "argument ``key``." msgstr "" -#: library/winreg.rst:796 +#: library/winreg.rst:790 msgid "" "The HKEY object implements :meth:`~object.__enter__` and :meth:`~object." "__exit__` and thus supports the context protocol for the :keyword:`with` " "statement::" msgstr "" -#: library/winreg.rst:803 +#: library/winreg.rst:797 msgid "" "will automatically close *key* when control leaves the :keyword:`with` block." msgstr "" diff --git a/library/wsgiref.po b/library/wsgiref.po index 1801214975..fefbf7baba 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -388,7 +388,7 @@ msgid "" msgstr "" #: library/wsgiref.rst:332 -msgid "Returns the currently-set application callable." +msgid "Returns the currently set application callable." msgstr "" #: library/wsgiref.rst:334 @@ -726,7 +726,7 @@ msgstr "" #: library/wsgiref.rst:638 msgid "" -"Set the :attr:`environ` attribute to a fully-populated WSGI environment. " +"Set the :attr:`environ` attribute to a fully populated WSGI environment. " "The default implementation uses all of the above methods and attributes, " "plus the :meth:`get_stdin`, :meth:`get_stderr`, and :meth:`add_cgi_vars` " "methods and the :attr:`wsgi_file_wrapper` attribute. It also inserts a " diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index f9821dc6f6..aa3b7448b6 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-09-29 19:35+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -117,7 +117,7 @@ msgid "" "When you are finished with a DOM tree, you may optionally call the :meth:" "`unlink` method to encourage early cleanup of the now-unneeded objects. :" "meth:`unlink` is an :mod:`xml.dom.minidom`\\ -specific extension to the DOM " -"API that renders the node and its descendants are essentially useless. " +"API that renders the node and its descendants essentially useless. " "Otherwise, Python's garbage collector will eventually take care of the " "objects in the tree." msgstr "" @@ -183,8 +183,8 @@ msgstr "" msgid "" "Similarly, explicitly stating the *standalone* argument causes the " "standalone document declarations to be added to the prologue of the XML " -"document. If the value is set to `True`, `standalone=\"yes\"` is added, " -"otherwise it is set to `\"no\"`. Not stating the argument will omit the " +"document. If the value is set to ``True``, ``standalone=\"yes\"`` is added, " +"otherwise it is set to ``\"no\"``. Not stating the argument will omit the " "declaration from the document." msgstr "" diff --git a/library/xml.po b/library/xml.po index 0550cdbcc4..4bba7cd816 100644 --- a/library/xml.po +++ b/library/xml.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-04-27 18:40+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -254,12 +254,13 @@ msgid "quadratic blowup entity expansion" msgstr "*quadratic blowup entity expansion*" #: library/xml.rst:94 +#, fuzzy msgid "" "A quadratic blowup attack is similar to a `Billion Laughs`_ attack; it " "abuses entity expansion, too. Instead of nested entities it repeats one " "large entity with a couple of thousand chars over and over again. The attack " "isn't as efficient as the exponential case but it avoids triggering parser " -"countermeasures that forbid deeply-nested entities." +"countermeasures that forbid deeply nested entities." msgstr "" "Une attaque *quadratic blowup* est similaire à l'attaque `Billion Laughs`_ ; " "il s'agit également d'un abus d'extension d'entités. Au lieu d'utiliser des " diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 03864ed1a1..8c9a8f1bda 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -65,7 +65,7 @@ msgid "" "The following parameters govern the use of the returned proxy instance. If " "*allow_none* is true, the Python constant ``None`` will be translated into " "XML; the default behaviour is for ``None`` to raise a :exc:`TypeError`. This " -"is a commonly-used extension to the XML-RPC specification, but isn't " +"is a commonly used extension to the XML-RPC specification, but isn't " "supported by all clients and servers; see `http://ontosys.com/xml-rpc/" "extensions.php `_ for a description. The *use_builtin_types* " @@ -75,7 +75,7 @@ msgid "" "class:`bytes` and :class:`bytearray` objects may be passed to calls. The " "*headers* parameter is an optional sequence of HTTP headers to send with " "each request, expressed as a sequence of 2-tuples representing the header " -"name and value. (e.g. `[('Header-Name', 'value')]`). The obsolete " +"name and value. (e.g. ``[('Header-Name', 'value')]``). The obsolete " "*use_datetime* flag is similar to *use_builtin_types* but it applies only to " "date/time values." msgstr "" @@ -254,11 +254,12 @@ msgid "" "Added support of type tags with prefixes (e.g. ``ex:nil``). Added support of " "unmarshalling additional types used by Apache XML-RPC implementation for " "numerics: ``i1``, ``i2``, ``i8``, ``biginteger``, ``float`` and " -"``bigdecimal``. See http://ws.apache.org/xmlrpc/types.html for a description." +"``bigdecimal``. See https://ws.apache.org/xmlrpc/types.html for a " +"description." msgstr "" #: library/xmlrpc.client.rst:164 -msgid "`XML-RPC HOWTO `_" +msgid "`XML-RPC HOWTO `_" msgstr "" #: library/xmlrpc.client.rst:163 @@ -270,7 +271,8 @@ msgstr "" #: library/xmlrpc.client.rst:167 msgid "" -"`XML-RPC Introspection `_" +"`XML-RPC Introspection `_" msgstr "" #: library/xmlrpc.client.rst:167 diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index 6860ed1fa2..d9c4f09c62 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -201,8 +201,8 @@ msgstr "" #: library/xmlrpc.server.rst:264 msgid "" -"The client that interacts with the above server is included in `Lib/xmlrpc/" -"client.py`::" +"The client that interacts with the above server is included in ``Lib/xmlrpc/" +"client.py``::" msgstr "" #: library/xmlrpc.server.rst:284 diff --git a/library/zlib.po b/library/zlib.po index 71c30a8d9d..600089e0e2 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 13:34+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -504,8 +504,9 @@ msgid "" msgstr "Booléen qui signale si la fin du flux compressé est atteint." #: library/zlib.rst:262 +#, fuzzy msgid "" -"This makes it possible to distinguish between a properly-formed compressed " +"This makes it possible to distinguish between a properly formed compressed " "stream, and an incomplete or truncated one." msgstr "" "Ceci rend possible la distinction entre un flux correctement compressé et un " diff --git a/license.po b/license.po index f2ff698200..1cd1dbba03 100644 --- a/license.po +++ b/license.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 13:33+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -322,10 +322,11 @@ msgid "Sockets" msgstr "Interfaces de connexion (*sockets*)" #: license.rst:354 +#, fuzzy msgid "" "The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and :func:" "`getnameinfo`, which are coded in separate source files from the WIDE " -"Project, http://www.wide.ad.jp/. ::" +"Project, https://www.wide.ad.jp/. ::" msgstr "" "Le module :mod:`socket` utilise les fonctions :func:`getaddrinfo` et :func:" "`getnameinfo` codées dans des fichiers source séparés et provenant du projet " @@ -414,12 +415,14 @@ msgid "strtod and dtoa" msgstr "*strtod* et *dtoa*" #: license.rst:626 +#, fuzzy msgid "" "The file :file:`Python/dtoa.c`, which supplies C functions dtoa and strtod " "for conversion of C doubles to and from strings, is derived from the file of " -"the same name by David M. Gay, currently available from http://www.netlib." -"org/fp/. The original file, as retrieved on March 16, 2009, contains the " -"following copyright and licensing notice::" +"the same name by David M. Gay, currently available from https://web.archive." +"org/web/20220517033456/http://www.netlib.org/fp/dtoa.c. The original file, " +"as retrieved on March 16, 2009, contains the following copyright and " +"licensing notice::" msgstr "" "Le fichier :file:`Python/dtoa.c`, qui fournit les fonctions ``dtoa`` et " "``strtod`` pour la conversion de *doubles* C vers et depuis les chaînes, est " diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 6dfea2d2d7..e5c34682f4 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 12:53+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -1716,11 +1716,11 @@ msgid ":class:`tuple`" msgstr ":class:`tuple`" #: reference/compound_stmts.rst:1075 +#, fuzzy msgid "" "These classes accept a single positional argument, and the pattern there is " "matched against the whole object rather than an attribute. For example " -"``int(0|1)`` matches the value ``0``, but not the values ``0.0`` or " -"``False``." +"``int(0|1)`` matches the value ``0``, but not the value ``0.0``." msgstr "" "Ces classes acceptent un argument positionnel seul et le filtre s'applique " "alors sur l'ensemble de l'objet plutôt que sur un simple attribut. Par " @@ -2252,7 +2252,9 @@ msgid "Is semantically equivalent to::" msgstr "est sémantiquement équivalent à ::" #: reference/compound_stmts.rst:1450 -msgid "See also :meth:`__aiter__` and :meth:`__anext__` for details." +#, fuzzy +msgid "" +"See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details." msgstr "" "Voir aussi :meth:`__aiter__` et :meth:`__anext__` pour plus de détails." @@ -2278,7 +2280,10 @@ msgstr "" "capable de suspendre l'exécution dans ses méthodes *enter* et *exit*." #: reference/compound_stmts.rst:1492 -msgid "See also :meth:`__aenter__` and :meth:`__aexit__` for details." +#, fuzzy +msgid "" +"See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " +"details." msgstr "" "Voir aussi :meth:`__aenter__` et :meth:`__aexit__` pour plus de détails." diff --git a/reference/datamodel.po b/reference/datamodel.po index bdbb407cec..83dc0e2a13 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-21 23:42+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -559,10 +559,11 @@ msgid "Strings" msgstr "Chaînes de caractères" #: reference/datamodel.rst:317 +#, fuzzy msgid "" "A string is a sequence of values that represent Unicode code points. All the " "code points in the range ``U+0000 - U+10FFFF`` can be represented in a " -"string. Python doesn't have a :c:type:`char` type; instead, every code " +"string. Python doesn't have a :c:expr:`char` type; instead, every code " "point in the string is represented as a string object with length ``1``. " "The built-in function :func:`ord` converts a code point from its string form " "to an integer in the range ``0 - 10FFFF``; :func:`chr` converts an integer " @@ -2149,10 +2150,11 @@ msgstr "" "(classiquement une instance de *cls*)." #: reference/datamodel.rst:1236 +#, fuzzy msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " -"with appropriate arguments and then modifying the newly-created instance as " +"with appropriate arguments and then modifying the newly created instance as " "necessary before returning it." msgstr "" "Une implémentation typique crée une nouvelle instance de la classe en " @@ -2271,6 +2273,17 @@ msgstr "" "le compteur de références de ``x``. La seconde n'est appelée que quand le " "compteur de références de ``x`` atteint zéro." +#: reference/datamodel.rst:1301 +msgid "" +"It is possible for a reference cycle to prevent the reference count of an " +"object from going to zero. In this case, the cycle will be later detected " +"and deleted by the :term:`cyclic garbage collector `. A " +"common cause of reference cycles is when an exception has been caught in a " +"local variable. The frame's locals then reference the exception, which " +"references its own traceback, which references the locals of all frames " +"caught in the traceback." +msgstr "" + #: reference/datamodel.rst:1311 msgid "Documentation for the :mod:`gc` module." msgstr "Documentation du module :mod:`gc`." @@ -2652,7 +2665,7 @@ msgstr "" #, fuzzy msgid "" "This is intended to provide protection against a denial-of-service caused by " -"carefully-chosen inputs that exploit the worst case performance of a dict " +"carefully chosen inputs that exploit the worst case performance of a dict " "insertion, O(n\\ :sup:`2`) complexity. See http://www.ocert.org/advisories/" "ocert-2011-003.html for details." msgstr "" diff --git a/reference/expressions.po b/reference/expressions.po index 74e0da33f7..52b3ae99c2 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-17 16:54+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -923,7 +923,7 @@ msgstr "" #: reference/expressions.rst:571 msgid "" -"For backwards compatability, however, the second signature is supported, " +"For backwards compatibility, however, the second signature is supported, " "following a convention from older versions of Python. The *type* argument " "should be an exception class, and *value* should be an exception instance. " "If the *value* is not provided, the *type* constructor is called to get an " @@ -1597,12 +1597,13 @@ msgstr "" "fait que la confusion reste hypothétique." #: reference/expressions.rst:1050 +#, fuzzy msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " "must evaluate to a :term:`mapping`, the contents of which are treated as " -"additional keyword arguments. If a keyword is already present (as an " -"explicit keyword argument, or from another unpacking), a :exc:`TypeError` " -"exception is raised." +"additional keyword arguments. If a parameter matching a key has already been " +"given a value (by an explicit keyword argument, or from another unpacking), " +"a :exc:`TypeError` exception is raised." msgstr "" "Si la syntaxe ``**expression`` apparaît dans un appel de fonction, " "``expression`` doit pouvoir s'évaluer comme un :term:`tableau de " @@ -1613,6 +1614,18 @@ msgstr "" #: reference/expressions.rst:1056 msgid "" +"When ``**expression`` is used, each key in this mapping must be a string. " +"Each value from the mapping is assigned to the first formal parameter " +"eligible for keyword assignment whose name is equal to the key. A key need " +"not be a Python identifier (e.g. ``\"max-temp °F\"`` is acceptable, although " +"it will not match any formal parameter that could be declared). If there is " +"no match to a formal parameter the key-value pair is collected by the ``**`` " +"parameter, if there is one, or if there is not, a :exc:`TypeError` exception " +"is raised." +msgstr "" + +#: reference/expressions.rst:1066 +msgid "" "Formal parameters using the syntax ``*identifier`` or ``**identifier`` " "cannot be used as positional argument slots or as keyword argument names." msgstr "" @@ -1620,7 +1633,7 @@ msgstr "" "``**identifier`` ne peuvent pas être utilisés comme arguments positionnels " "ou comme noms d'arguments par mots-clés." -#: reference/expressions.rst:1059 +#: reference/expressions.rst:1069 msgid "" "Function calls accept any number of ``*`` and ``**`` unpackings, positional " "arguments may follow iterable unpackings (``*``), and keyword arguments may " @@ -1632,7 +1645,7 @@ msgstr "" "dépaquetages de dictionnaires (``**``). Proposé pour la première fois par " "la :pep:`448`." -#: reference/expressions.rst:1065 +#: reference/expressions.rst:1075 msgid "" "A call always returns some value, possibly ``None``, unless it raises an " "exception. How this value is computed depends on the type of the callable " @@ -1642,15 +1655,15 @@ msgstr "" "ne lève une exception. La façon dont celle valeur est calculée dépend du " "type de l'objet appelable." -#: reference/expressions.rst:1069 +#: reference/expressions.rst:1079 msgid "If it is---" msgstr "Si c'est ---" -#: reference/expressions.rst:1082 +#: reference/expressions.rst:1092 msgid "a user-defined function:" msgstr "une fonction définie par l'utilisateur :" -#: reference/expressions.rst:1078 +#: reference/expressions.rst:1088 msgid "" "The code block for the function is executed, passing it the argument list. " "The first thing the code block will do is bind the formal parameters to the " @@ -1664,11 +1677,11 @@ msgstr "" "`function`. Quand le bloc de code exécute l'instruction :keyword:`return`, " "cela spécifie la valeur de retour de l'appel de la fonction." -#: reference/expressions.rst:1096 +#: reference/expressions.rst:1106 msgid "a built-in function or method:" msgstr "une fonction ou une méthode native :" -#: reference/expressions.rst:1095 +#: reference/expressions.rst:1105 msgid "" "The result is up to the interpreter; see :ref:`built-in-funcs` for the " "descriptions of built-in functions and methods." @@ -1676,19 +1689,19 @@ msgstr "" "le résultat dépend de l'interpréteur ; lisez :ref:`built-in-funcs` pour une " "description des fonctions et méthodes natives." -#: reference/expressions.rst:1103 +#: reference/expressions.rst:1113 msgid "a class object:" msgstr "un objet classe :" -#: reference/expressions.rst:1103 +#: reference/expressions.rst:1113 msgid "A new instance of that class is returned." msgstr "une nouvelle instance de cette classe est renvoyée." -#: reference/expressions.rst:1113 +#: reference/expressions.rst:1123 msgid "a class instance method:" msgstr "une méthode d'instance de classe :" -#: reference/expressions.rst:1111 +#: reference/expressions.rst:1121 msgid "" "The corresponding user-defined function is called, with an argument list " "that is one longer than the argument list of the call: the instance becomes " @@ -1698,11 +1711,11 @@ msgstr "" "liste d'arguments qui est plus grande d'un élément que la liste des " "arguments de l'appel : l'instance est placée en tête des arguments." -#: reference/expressions.rst:1122 +#: reference/expressions.rst:1132 msgid "a class instance:" msgstr "une instance de classe :" -#: reference/expressions.rst:1120 +#: reference/expressions.rst:1130 msgid "" "The class must define a :meth:`__call__` method; the effect is then the same " "as if that method was called." @@ -1710,11 +1723,11 @@ msgstr "" "la classe doit définir une méthode :meth:`__call__` ; l'effet est le même " "que si cette méthode était appelée." -#: reference/expressions.rst:1894 +#: reference/expressions.rst:1917 msgid "Await expression" msgstr "Expression ``await``" -#: reference/expressions.rst:1130 +#: reference/expressions.rst:1140 msgid "" "Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " "Can only be used inside a :term:`coroutine function`." @@ -1722,11 +1735,11 @@ msgstr "" "Suspend l'exécution de la :term:`coroutine` sur un objet :term:`awaitable`. " "Ne peut être utilisée qu'à l'intérieur d'une :term:`coroutine function`." -#: reference/expressions.rst:1142 +#: reference/expressions.rst:1152 msgid "The power operator" msgstr "L'opérateur puissance" -#: reference/expressions.rst:1148 +#: reference/expressions.rst:1158 msgid "" "The power operator binds more tightly than unary operators on its left; it " "binds less tightly than unary operators on its right. The syntax is:" @@ -1735,7 +1748,7 @@ msgstr "" "gauche ; il est moins prioritaire que les opérateurs unaires sur sa droite. " "La syntaxe est :" -#: reference/expressions.rst:1154 +#: reference/expressions.rst:1164 msgid "" "Thus, in an unparenthesized sequence of power and unary operators, the " "operators are evaluated from right to left (this does not constrain the " @@ -1745,7 +1758,7 @@ msgstr "" "unaires, les opérateurs sont évalués de droite à gauche (ceci ne contraint " "pas l'ordre d'évaluation des opérandes) : ``-1**2`` donne ``-1``." -#: reference/expressions.rst:1158 +#: reference/expressions.rst:1168 msgid "" "The power operator has the same semantics as the built-in :func:`pow` " "function, when called with two arguments: it yields its left argument raised " @@ -1758,7 +1771,7 @@ msgstr "" "arguments numériques sont d'abord convertis vers un type commun et le " "résultat est de ce type." -#: reference/expressions.rst:1163 +#: reference/expressions.rst:1173 msgid "" "For int operands, the result has the same type as the operands unless the " "second argument is negative; in that case, all arguments are converted to " @@ -1771,7 +1784,7 @@ msgstr "" "virgule flottante. Par exemple, ``10**2`` renvoie ``100`` mais ``10**-2`` " "renvoie ``0.01``." -#: reference/expressions.rst:1168 +#: reference/expressions.rst:1178 msgid "" "Raising ``0.0`` to a negative power results in a :exc:`ZeroDivisionError`. " "Raising a negative number to a fractional power results in a :class:" @@ -1782,24 +1795,24 @@ msgstr "" "renvoie un nombre :class:`complexe ` (dans les versions " "antérieures, cela levait une :exc:`ValueError`)." -#: reference/expressions.rst:1172 +#: reference/expressions.rst:1182 msgid "" "This operation can be customized using the special :meth:`__pow__` method." msgstr "" "La méthode spéciale qui permet de surcharger cet opérateur est :meth:" "`__pow__`." -#: reference/expressions.rst:1177 +#: reference/expressions.rst:1187 msgid "Unary arithmetic and bitwise operations" msgstr "Arithmétique unaire et opérations sur les bits" -#: reference/expressions.rst:1183 +#: reference/expressions.rst:1193 msgid "All unary arithmetic and bitwise operations have the same priority:" msgstr "" "Toute l'arithmétique unaire et les opérations sur les bits ont la même " "priorité :" -#: reference/expressions.rst:1194 +#: reference/expressions.rst:1204 msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric " "argument; the operation can be overridden with the :meth:`__neg__` special " @@ -1808,7 +1821,7 @@ msgstr "" "L'opérateur unaire ``-`` (moins) produit l'opposé de son argument numérique " "(la méthode spéciale qui le surcharge est :meth:`__neg__`) ;" -#: reference/expressions.rst:1202 +#: reference/expressions.rst:1212 msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " "operation can be overridden with the :meth:`__pos__` special method." @@ -1816,7 +1829,7 @@ msgstr "" "L'opérateur unaire ``+`` (plus) produit son argument numérique inchangé " "(surcharge par la méthode :meth:`__pos__`) ;" -#: reference/expressions.rst:1209 +#: reference/expressions.rst:1219 msgid "" "The unary ``~`` (invert) operator yields the bitwise inversion of its " "integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " @@ -1828,7 +1841,7 @@ msgstr "" "(x+1)``. Elle ne s'applique qu'aux nombres entiers et aux objets allogènes " "qui surchargent la méthode spéciale :meth:`__invert__`." -#: reference/expressions.rst:1218 +#: reference/expressions.rst:1228 msgid "" "In all three cases, if the argument does not have the proper type, a :exc:" "`TypeError` exception is raised." @@ -1836,11 +1849,11 @@ msgstr "" "Dans ces trois cas, si l'argument n'est pas du bon type, une exception :exc:" "`TypeError` est levée." -#: reference/expressions.rst:1225 +#: reference/expressions.rst:1235 msgid "Binary arithmetic operations" msgstr "Opérations arithmétiques binaires" -#: reference/expressions.rst:1229 +#: reference/expressions.rst:1239 msgid "" "The binary arithmetic operations have the conventional priority levels. " "Note that some of these operations also apply to certain non-numeric types. " @@ -1853,7 +1866,7 @@ msgstr "" "niveaux, le premier pour les opérateurs multiplicatifs et le second pour les " "opérateurs additifs :" -#: reference/expressions.rst:1244 +#: reference/expressions.rst:1254 msgid "" "The ``*`` (multiplication) operator yields the product of its arguments. " "The arguments must either both be numbers, or one argument must be an " @@ -1869,7 +1882,7 @@ msgstr "" "Dans le dernier cas, la séquence est répétée ; une répétition négative " "produit une séquence vide." -#: reference/expressions.rst:1250 +#: reference/expressions.rst:1260 msgid "" "This operation can be customized using the special :meth:`__mul__` and :meth:" "`__rmul__` methods." @@ -1877,7 +1890,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger cet opérateur sont :meth:" "`__mul__` et :meth:`__rmul__`." -#: reference/expressions.rst:1257 +#: reference/expressions.rst:1267 msgid "" "The ``@`` (at) operator is intended to be used for matrix multiplication. " "No builtin Python types implement this operator." @@ -1885,7 +1898,7 @@ msgstr "" "L'opérateur ``@`` (prononcé *at* en anglais) a vocation à multiplier des " "matrices. Aucun type Python natif n'implémente cet opérateur." -#: reference/expressions.rst:1268 +#: reference/expressions.rst:1278 msgid "" "The ``/`` (division) and ``//`` (floor division) operators yield the " "quotient of their arguments. The numeric arguments are first converted to a " @@ -1902,7 +1915,7 @@ msgstr "" "mathématique suivie de la fonction ``floor`` appliquée au résultat. Une " "division par zéro lève une exception :exc:`ZeroDivisionError`." -#: reference/expressions.rst:1275 +#: reference/expressions.rst:1285 msgid "" "This operation can be customized using the special :meth:`__truediv__` and :" "meth:`__floordiv__` methods." @@ -1910,7 +1923,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger ces opérations sont :" "meth:`__truediv__` et :meth:`__floordiv__`." -#: reference/expressions.rst:1282 +#: reference/expressions.rst:1292 msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " "first argument by the second. The numeric arguments are first converted to " @@ -1930,7 +1943,7 @@ msgstr "" "même signe que le second opérande (ou zéro) ; la valeur absolue du résultat " "est strictement inférieure à la valeur absolue du second opérande [#]_." -#: reference/expressions.rst:1291 +#: reference/expressions.rst:1301 msgid "" "The floor division and modulo operators are connected by the following " "identity: ``x == (x//y)*y + (x%y)``. Floor division and modulo are also " @@ -1942,7 +1955,7 @@ msgstr "" "aussi liés à la fonction native :func:`divmod` : ``divmod(x, y) == (x//y, " "x%y)`` [#]_." -#: reference/expressions.rst:1296 +#: reference/expressions.rst:1306 msgid "" "In addition to performing the modulo operation on numbers, the ``%`` " "operator is also overloaded by string objects to perform old-style string " @@ -1956,7 +1969,7 @@ msgstr "" "décrit dans la référence de la bibliothèque Python, dans la section :ref:" "`old-string-formatting`." -#: reference/expressions.rst:1301 +#: reference/expressions.rst:1311 msgid "" "The *modulo* operation can be customized using the special :meth:`__mod__` " "method." @@ -1964,7 +1977,7 @@ msgstr "" "La méthode spéciale qui permet de surcharger cette opération est :meth:" "`__mod__`." -#: reference/expressions.rst:1303 +#: reference/expressions.rst:1313 msgid "" "The floor division operator, the modulo operator, and the :func:`divmod` " "function are not defined for complex numbers. Instead, convert to a " @@ -1975,7 +1988,7 @@ msgstr "" "pouvez, si cela a du sens pour ce que vous voulez faire, les convertir vers " "des nombres à virgule flottante en utilisant la fonction :func:`abs`." -#: reference/expressions.rst:1312 +#: reference/expressions.rst:1322 msgid "" "The ``+`` (addition) operator yields the sum of its arguments. The " "arguments must either both be numbers or both be sequences of the same " @@ -1988,7 +2001,7 @@ msgstr "" "puis sont additionnés entre eux. Dans le dernier cas, les séquences sont " "concaténées." -#: reference/expressions.rst:1317 +#: reference/expressions.rst:1327 msgid "" "This operation can be customized using the special :meth:`__add__` and :meth:" "`__radd__` methods." @@ -1996,7 +2009,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger cette opération sont :" "meth:`__add__` et :meth:`__radd__`." -#: reference/expressions.rst:1325 +#: reference/expressions.rst:1335 msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." @@ -2004,25 +2017,25 @@ msgstr "" "L'opérateur ``-`` (soustraction) produit la différence entre ses arguments. " "Les arguments numériques sont d'abord convertis vers un type commun." -#: reference/expressions.rst:1328 +#: reference/expressions.rst:1338 msgid "" "This operation can be customized using the special :meth:`__sub__` method." msgstr "" "La méthode spéciale qui permet de surcharger cette opération est :meth:" "`__sub__`." -#: reference/expressions.rst:1334 +#: reference/expressions.rst:1344 msgid "Shifting operations" msgstr "Opérations de décalage" -#: reference/expressions.rst:1341 +#: reference/expressions.rst:1351 msgid "" "The shifting operations have lower priority than the arithmetic operations:" msgstr "" "Les opérations de décalage sont moins prioritaires que les opérations " "arithmétiques :" -#: reference/expressions.rst:1346 +#: reference/expressions.rst:1356 msgid "" "These operators accept integers as arguments. They shift the first argument " "to the left or right by the number of bits given by the second argument." @@ -2031,7 +2044,7 @@ msgstr "" "argument vers la gauche ou vers la droite du nombre de bits donné par le " "deuxième argument." -#: reference/expressions.rst:1349 +#: reference/expressions.rst:1359 msgid "" "This operation can be customized using the special :meth:`__lshift__` and :" "meth:`__rshift__` methods." @@ -2039,7 +2052,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger ces opérations sont :" "meth:`__lshift__` et :meth:`__rshift__`." -#: reference/expressions.rst:1354 +#: reference/expressions.rst:1364 msgid "" "A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " "left shift by *n* bits is defined as multiplication with ``pow(2,n)``." @@ -2048,17 +2061,17 @@ msgstr "" "``pow(2,n)``. Un décalage à gauche de *n* bits est défini comme la " "multiplication par ``pow(2,n)``." -#: reference/expressions.rst:1361 +#: reference/expressions.rst:1371 msgid "Binary bitwise operations" msgstr "Opérations binaires bit à bit" -#: reference/expressions.rst:1365 +#: reference/expressions.rst:1375 msgid "Each of the three bitwise operations has a different priority level:" msgstr "" "Chacune des trois opérations binaires bit à bit possède une priorité " "différente :" -#: reference/expressions.rst:1376 +#: reference/expressions.rst:1386 msgid "" "The ``&`` operator yields the bitwise AND of its arguments, which must be " "integers or one of them must be a custom object overriding :meth:`__and__` " @@ -2068,7 +2081,7 @@ msgstr "" "des entiers, sauf si celui de gauche surcharge la méthode spéciale :meth:" "`__and__`, ou celui de droite la méthode :meth:`__rand__`." -#: reference/expressions.rst:1385 +#: reference/expressions.rst:1395 msgid "" "The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " "which must be integers or one of them must be a custom object overriding :" @@ -2078,7 +2091,7 @@ msgstr "" "doivent être des entiers, sauf à surcharger :meth:`__xor__` ou :meth:" "`__rxor__`." -#: reference/expressions.rst:1394 +#: reference/expressions.rst:1404 msgid "" "The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " "must be integers or one of them must be a custom object overriding :meth:" @@ -2087,11 +2100,11 @@ msgstr "" "L'opérateur ``|`` produit le OU logique de ses arguments. Ils doivent être " "des entiers, sauf à surcharger :meth:`__or__` ou :meth:`__ror__`." -#: reference/expressions.rst:1402 +#: reference/expressions.rst:1412 msgid "Comparisons" msgstr "Comparaisons" -#: reference/expressions.rst:1414 +#: reference/expressions.rst:1424 msgid "" "Unlike C, all comparison operations in Python have the same priority, which " "is lower than that of any arithmetic, shifting or bitwise operation. Also " @@ -2104,7 +2117,7 @@ msgstr "" "les expressions telles que ``a < b < c`` sont interprétées comme elles le " "seraient conventionnellement en mathématiques :" -#: reference/expressions.rst:1424 +#: reference/expressions.rst:1434 msgid "" "Comparisons yield boolean values: ``True`` or ``False``. Custom :dfn:`rich " "comparison methods` may return non-boolean values. In this case Python will " @@ -2116,7 +2129,7 @@ msgstr "" "la comparaison est converti en booléen avec :func:`bool` dans les contextes " "qui attendent un booléen." -#: reference/expressions.rst:1430 +#: reference/expressions.rst:1440 msgid "" "Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent " "to ``x < y and y <= z``, except that ``y`` is evaluated only once (but in " @@ -2128,7 +2141,7 @@ msgstr "" "seulement une fois (mais dans les deux cas, ``z`` n'est pas évalué du tout " "si ``x < y`` s'avère être faux)." -#: reference/expressions.rst:1434 +#: reference/expressions.rst:1444 msgid "" "Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, " "*op2*, ..., *opN* are comparison operators, then ``a op1 b op2 c ... y opN " @@ -2140,7 +2153,7 @@ msgstr "" "opN z`` est équivalent à ``a op1 b and b op2 c and … y opN z``, sauf que " "chaque expression est évaluée au maximum une fois." -#: reference/expressions.rst:1439 +#: reference/expressions.rst:1449 msgid "" "Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a* " "and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not " @@ -2150,11 +2163,11 @@ msgstr "" "Ainsi, par exemple, ``x < y > z`` est parfaitement légal (mais peut-être pas " "très élégant)." -#: reference/expressions.rst:1444 +#: reference/expressions.rst:1454 msgid "Value comparisons" msgstr "Comparaisons de valeurs" -#: reference/expressions.rst:1446 +#: reference/expressions.rst:1456 msgid "" "The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " "values of two objects. The objects do not need to have the same type." @@ -2162,7 +2175,7 @@ msgstr "" "Les opérateurs ``<``, ``>``, ``==``, ``>=``, ``<=`` et ``!=`` comparent les " "valeurs de deux objets. Les objets n'ont pas besoin d'être du même type." -#: reference/expressions.rst:1449 +#: reference/expressions.rst:1459 msgid "" "Chapter :ref:`objects` states that objects have a value (in addition to type " "and identity). The value of an object is a rather abstract notion in " @@ -2183,7 +2196,7 @@ msgstr "" "d'un objet. Vous pouvez vous le représenter comme une définition indirecte " "de la valeur d'un objet, *via* l'implémentation de leur comparaison." -#: reference/expressions.rst:1458 +#: reference/expressions.rst:1468 msgid "" "Because all types are (direct or indirect) subtypes of :class:`object`, they " "inherit the default comparison behavior from :class:`object`. Types can " @@ -2196,7 +2209,7 @@ msgstr "" "des comparaisons en implémentant des :dfn:`méthodes de comparaisons riches`, " "comme :meth:`__lt__`, décrites dans :ref:`customization`." -#: reference/expressions.rst:1464 +#: reference/expressions.rst:1474 msgid "" "The default behavior for equality comparison (``==`` and ``!=``) is based on " "the identity of the objects. Hence, equality comparison of instances with " @@ -2212,7 +2225,7 @@ msgstr "" "choix est que Python souhaite que tous les objets soient réflexifs, c'est-à-" "dire que ``x is y`` implique ``x == y``." -#: reference/expressions.rst:1471 +#: reference/expressions.rst:1481 msgid "" "A default order comparison (``<``, ``>``, ``<=``, and ``>=``) is not " "provided; an attempt raises :exc:`TypeError`. A motivation for this default " @@ -2222,7 +2235,7 @@ msgstr "" "défaut ; une tentative se solde par une :exc:`TypeError`. La raison de ce " "choix est qu'il n'existe pas d'invariant similaire à celui de l'égalité." -#: reference/expressions.rst:1475 +#: reference/expressions.rst:1485 msgid "" "The behavior of the default equality comparison, that instances with " "different identities are always unequal, may be in contrast to what types " @@ -2237,7 +2250,7 @@ msgstr "" "personnaliser leurs tests de comparaison et, en fait, c'est ce qu'ont fait " "un certain nombre de types natifs." -#: reference/expressions.rst:1481 +#: reference/expressions.rst:1491 msgid "" "The following list describes the comparison behavior of the most important " "built-in types." @@ -2245,7 +2258,7 @@ msgstr "" "La liste suivante décrit le comportement des tests d'égalité pour les types " "natifs les plus importants." -#: reference/expressions.rst:1484 +#: reference/expressions.rst:1494 msgid "" "Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " "library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " @@ -2262,7 +2275,7 @@ msgstr "" "des types concernés, la comparaison mathématique équivaut à la comparaison " "algorithmique, sans perte de précision." -#: reference/expressions.rst:1491 +#: reference/expressions.rst:1501 msgid "" "The not-a-number values ``float('NaN')`` and ``decimal.Decimal('NaN')`` are " "special. Any ordered comparison of a number to a not-a-number value is " @@ -2279,7 +2292,7 @@ msgstr "" "sont toutes fausses, mais l’expression ``x != x`` est vraie. Ce comportement " "est en accord avec IEEE 754." -#: reference/expressions.rst:1498 +#: reference/expressions.rst:1508 msgid "" "``None`` and ``NotImplemented`` are singletons. :PEP:`8` advises that " "comparisons for singletons should always be done with ``is`` or ``is not``, " @@ -2289,7 +2302,7 @@ msgstr "" "toujours comparer les singletons en utilisant soit ``is`` soit ``is not``, " "jamais les autres opérateurs." -#: reference/expressions.rst:1502 +#: reference/expressions.rst:1512 msgid "" "Binary sequences (instances of :class:`bytes` or :class:`bytearray`) can be " "compared within and across their types. They compare lexicographically " @@ -2300,7 +2313,7 @@ msgstr "" "La comparaison est lexicographique, en utilisant la valeur numérique des " "éléments." -#: reference/expressions.rst:1506 +#: reference/expressions.rst:1516 msgid "" "Strings (instances of :class:`str`) compare lexicographically using the " "numerical Unicode code points (the result of the built-in function :func:" @@ -2310,13 +2323,13 @@ msgstr "" "lexicographique en utilisant la valeur Unicode (le résultat de la fonction " "native :func:`ord`) des caractères [#]_." -#: reference/expressions.rst:1510 +#: reference/expressions.rst:1520 msgid "Strings and binary sequences cannot be directly compared." msgstr "" "Les chaînes de caractères et les séquences binaires ne peuvent pas être " "comparées directement." -#: reference/expressions.rst:1512 +#: reference/expressions.rst:1522 msgid "" "Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " "can be compared only within each of their types, with the restriction that " @@ -2330,7 +2343,7 @@ msgstr "" "d'égalité entre ces types renvoie faux et une comparaison entre instances de " "types différents lève une :exc:`TypeError`." -#: reference/expressions.rst:1518 +#: reference/expressions.rst:1528 msgid "" "Sequences compare lexicographically using comparison of corresponding " "elements. The built-in containers typically assume identical objects are " @@ -2343,13 +2356,13 @@ msgstr "" "d’égalité pour des objets identiques afin d’améliorer les performances et de " "conserver leurs invariants internes." -#: reference/expressions.rst:1523 +#: reference/expressions.rst:1533 msgid "" "Lexicographical comparison between built-in collections works as follows:" msgstr "" "L'ordre lexicographique pour les collections natives fonctionne comme suit :" -#: reference/expressions.rst:1525 +#: reference/expressions.rst:1535 msgid "" "For two collections to compare equal, they must be of the same type, have " "the same length, and each pair of corresponding elements must compare equal " @@ -2359,7 +2372,7 @@ msgstr "" "longueur et si les éléments correspondants de chaque paire sont égaux. Par " "exemple, ``[1,2] == (1,2)`` est faux car les types sont différents." -#: reference/expressions.rst:1530 +#: reference/expressions.rst:1540 msgid "" "Collections that support order comparison are ordered the same as their " "first unequal elements (for example, ``[1,2,x] <= [1,2,y]`` has the same " @@ -2373,23 +2386,24 @@ msgstr "" "collection la plus courte est la plus petite (par exemple, ``[1,2] < " "[1,2,3]`` est vrai)." -#: reference/expressions.rst:1536 +#: reference/expressions.rst:1546 +#, fuzzy msgid "" "Mappings (instances of :class:`dict`) compare equal if and only if they have " -"equal `(key, value)` pairs. Equality comparison of the keys and values " +"equal ``(key, value)`` pairs. Equality comparison of the keys and values " "enforces reflexivity." msgstr "" "Les tableaux de correspondances (instances de :class:`dict`) sont égales si " "et seulement si toutes leurs paires `(clé, valeur)` sont égales. L'égalité " "des clés et des valeurs met en œuvre la réflexivité." -#: reference/expressions.rst:1540 +#: reference/expressions.rst:1550 msgid "" "Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." msgstr "" "Les comparaisons (``<``, ``>``, ``<=`` et ``>=``) lèvent :exc:`TypeError`." -#: reference/expressions.rst:1542 +#: reference/expressions.rst:1552 msgid "" "Sets (instances of :class:`set` or :class:`frozenset`) can be compared " "within and across their types." @@ -2397,7 +2411,7 @@ msgstr "" "Les ensembles (instances de :class:`set` ou :class:`frozenset`) peuvent être " "comparés au sein de leur propre type et entre types différents." -#: reference/expressions.rst:1545 +#: reference/expressions.rst:1555 msgid "" "They define order comparison operators to mean subset and superset tests. " "Those relations do not define total orderings (for example, the two sets " @@ -2415,11 +2429,11 @@ msgstr "" "exemple, les fonctions :func:`min`, :func:`max` et :func:`sorted` produisent " "des résultats indéfinis si on leur donne des listes d'ensembles en entrée)." -#: reference/expressions.rst:1553 +#: reference/expressions.rst:1563 msgid "Comparison of sets enforces reflexivity of its elements." msgstr "La comparaison des ensembles met en œuvre la réflexivité des éléments." -#: reference/expressions.rst:1555 +#: reference/expressions.rst:1565 msgid "" "Most other built-in types have no comparison methods implemented, so they " "inherit the default comparison behavior." @@ -2427,7 +2441,7 @@ msgstr "" "La plupart des autres types natifs n'implémentent pas de méthodes de " "comparaisons, ils héritent donc du comportement par défaut." -#: reference/expressions.rst:1558 +#: reference/expressions.rst:1568 msgid "" "User-defined classes that customize their comparison behavior should follow " "some consistency rules, if possible:" @@ -2435,7 +2449,7 @@ msgstr "" "Les classes allogènes qui particularisent les opérations de comparaison " "doivent, si possible, respecter quelques règles pour la cohérence :" -#: reference/expressions.rst:1561 +#: reference/expressions.rst:1571 msgid "" "Equality comparison should be reflexive. In other words, identical objects " "should compare equal:" @@ -2443,11 +2457,11 @@ msgstr "" "Le test d'égalité doit être réflexif. En d'autres termes, des objets " "identiques doivent être égaux :" -#: reference/expressions.rst:1564 +#: reference/expressions.rst:1574 msgid "``x is y`` implies ``x == y``" msgstr "``x is y`` implique ``x == y``" -#: reference/expressions.rst:1566 +#: reference/expressions.rst:1576 msgid "" "Comparison should be symmetric. In other words, the following expressions " "should have the same result:" @@ -2455,23 +2469,23 @@ msgstr "" "La comparaison doit être symétrique. En d'autres termes, les expressions " "suivantes doivent donner le même résultat :" -#: reference/expressions.rst:1569 +#: reference/expressions.rst:1579 msgid "``x == y`` and ``y == x``" msgstr "``x == y`` et ``y == x``" -#: reference/expressions.rst:1571 +#: reference/expressions.rst:1581 msgid "``x != y`` and ``y != x``" msgstr "``x != y`` et ``y != x``" -#: reference/expressions.rst:1573 +#: reference/expressions.rst:1583 msgid "``x < y`` and ``y > x``" msgstr "``x < y`` et ``y > x``" -#: reference/expressions.rst:1575 +#: reference/expressions.rst:1585 msgid "``x <= y`` and ``y >= x``" msgstr "``x <= y`` et ``y >= x``" -#: reference/expressions.rst:1577 +#: reference/expressions.rst:1587 msgid "" "Comparison should be transitive. The following (non-exhaustive) examples " "illustrate that:" @@ -2479,15 +2493,15 @@ msgstr "" "La comparaison doit être transitive. Les exemples suivants (liste non " "exhaustive) illustrent ce concept :" -#: reference/expressions.rst:1580 +#: reference/expressions.rst:1590 msgid "``x > y and y > z`` implies ``x > z``" msgstr "``x > y and y > z`` implique ``x > z``" -#: reference/expressions.rst:1582 +#: reference/expressions.rst:1592 msgid "``x < y and y <= z`` implies ``x < z``" msgstr "``x < y and y <= z`` implique ``x < z``" -#: reference/expressions.rst:1584 +#: reference/expressions.rst:1594 msgid "" "Inverse comparison should result in the boolean negation. In other words, " "the following expressions should have the same result:" @@ -2496,19 +2510,19 @@ msgstr "" "booléenne. En d'autres termes, les expressions suivantes doivent produire le " "même résultat :" -#: reference/expressions.rst:1587 +#: reference/expressions.rst:1597 msgid "``x == y`` and ``not x != y``" msgstr "``x == y`` et ``not x != y``" -#: reference/expressions.rst:1589 +#: reference/expressions.rst:1599 msgid "``x < y`` and ``not x >= y`` (for total ordering)" msgstr "``x < y`` et ``not x >= y`` (pour une relation d'ordre total)" -#: reference/expressions.rst:1591 +#: reference/expressions.rst:1601 msgid "``x > y`` and ``not x <= y`` (for total ordering)" msgstr "``x > y`` et ``not x <= y`` (pour une relation d'ordre total)" -#: reference/expressions.rst:1593 +#: reference/expressions.rst:1603 msgid "" "The last two expressions apply to totally ordered collections (e.g. to " "sequences, but not to sets or mappings). See also the :func:`~functools." @@ -2519,7 +2533,7 @@ msgstr "" "de correspondances). Regardez aussi le décorateur :func:`~functools." "total_ordering`." -#: reference/expressions.rst:1597 +#: reference/expressions.rst:1607 msgid "" "The :func:`hash` result should be consistent with equality. Objects that are " "equal should either have the same hash value, or be marked as unhashable." @@ -2528,7 +2542,7 @@ msgstr "" "qui sont égaux doivent avoir la même empreinte ou être marqués comme non-" "hachables." -#: reference/expressions.rst:1601 +#: reference/expressions.rst:1611 msgid "" "Python does not enforce these consistency rules. In fact, the not-a-number " "values are an example for not following these rules." @@ -2536,11 +2550,11 @@ msgstr "" "Python ne vérifie pas ces règles de cohérence. En fait, l'utilisation de " "valeurs non numériques est un exemple de non-respect de ces règles." -#: reference/expressions.rst:1610 +#: reference/expressions.rst:1620 msgid "Membership test operations" msgstr "Opérations de tests d’appartenance à un ensemble" -#: reference/expressions.rst:1612 +#: reference/expressions.rst:1622 msgid "" "The operators :keyword:`in` and :keyword:`not in` test for membership. ``x " "in s`` evaluates to ``True`` if *x* is a member of *s*, and ``False`` " @@ -2560,7 +2574,7 @@ msgstr "" "*collections.deque*, l’expression ``x in y`` est équivalente à ``any(x is e " "or x == e for e in y)``." -#: reference/expressions.rst:1620 +#: reference/expressions.rst:1630 msgid "" "For the string and bytes types, ``x in y`` is ``True`` if and only if *x* is " "a substring of *y*. An equivalent test is ``y.find(x) != -1``. Empty " @@ -2572,7 +2586,7 @@ msgstr "" "``y.find(x) != -1``. Une chaîne vide est considérée comme une sous-chaîne de " "toute autre chaîne, ainsi ``\"\" in \"abc\"`` renvoie ``True``." -#: reference/expressions.rst:1625 +#: reference/expressions.rst:1635 msgid "" "For user-defined classes which define the :meth:`__contains__` method, ``x " "in y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and " @@ -2582,7 +2596,7 @@ msgstr "" "``x in y`` renvoie ``True`` si ``y.__contains__(x)`` renvoie vrai, et " "``False`` sinon." -#: reference/expressions.rst:1629 +#: reference/expressions.rst:1639 msgid "" "For user-defined classes which do not define :meth:`__contains__` but do " "define :meth:`__iter__`, ``x in y`` is ``True`` if some value ``z``, for " @@ -2596,7 +2610,7 @@ msgstr "" "de l'itération sur ``y``. Si une exception est levée pendant l'itération, " "c'est comme si :keyword:`in` avait levé cette exception." -#: reference/expressions.rst:1635 +#: reference/expressions.rst:1645 msgid "" "Lastly, the old-style iteration protocol is tried: if a class defines :meth:" "`__getitem__`, ``x in y`` is ``True`` if and only if there is a non-negative " @@ -2611,7 +2625,7 @@ msgstr "" "`IndexError` (si toute autre exception est levée, c'est comme si :keyword:" "`in` avait levé cette exception)." -#: reference/expressions.rst:1647 +#: reference/expressions.rst:1657 msgid "" "The operator :keyword:`not in` is defined to have the inverse truth value " "of :keyword:`in`." @@ -2619,11 +2633,11 @@ msgstr "" "L'opérateur :keyword:`not in` est défini comme produisant le contraire de :" "keyword:`in`." -#: reference/expressions.rst:1660 +#: reference/expressions.rst:1670 msgid "Identity comparisons" msgstr "Comparaisons d'identifiants" -#: reference/expressions.rst:1662 +#: reference/expressions.rst:1672 msgid "" "The operators :keyword:`is` and :keyword:`is not` test for an object's " "identity: ``x is y`` is true if and only if *x* and *y* are the same " @@ -2636,11 +2650,11 @@ msgstr "" "fonction :meth:`id`. ``x is not y`` renvoie le résultat contraire de " "l'égalité des identifiants [#]_." -#: reference/expressions.rst:1674 +#: reference/expressions.rst:1684 msgid "Boolean operations" msgstr "Opérations booléennes" -#: reference/expressions.rst:1685 +#: reference/expressions.rst:1695 msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " @@ -2659,7 +2673,7 @@ msgstr "" "allogènes peuvent personnaliser leur table de vérité en implémentant une " "méthode :meth:`__bool__`." -#: reference/expressions.rst:1694 +#: reference/expressions.rst:1704 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." @@ -2667,7 +2681,7 @@ msgstr "" "L'opérateur :keyword:`not` produit ``True`` si son argument est faux, " "``False`` sinon." -#: reference/expressions.rst:1699 +#: reference/expressions.rst:1709 msgid "" "The expression ``x and y`` first evaluates *x*; if *x* is false, its value " "is returned; otherwise, *y* is evaluated and the resulting value is returned." @@ -2676,7 +2690,7 @@ msgstr "" "valeur est renvoyée ; sinon, *y* est évalué et la valeur résultante est " "renvoyée." -#: reference/expressions.rst:1704 +#: reference/expressions.rst:1714 msgid "" "The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " "returned; otherwise, *y* is evaluated and the resulting value is returned." @@ -2685,7 +2699,7 @@ msgstr "" "valeur est renvoyée ; sinon, *y* est évalué et la valeur résultante est " "renvoyée." -#: reference/expressions.rst:1707 +#: reference/expressions.rst:1717 msgid "" "Note that neither :keyword:`and` nor :keyword:`or` restrict the value and " "type they return to ``False`` and ``True``, but rather return the last " @@ -2704,11 +2718,11 @@ msgstr "" "de son argument (par exemple, ``not 'truc'`` produit ``False`` plutôt que " "``''``." -#: reference/expressions.rst:1717 +#: reference/expressions.rst:1733 msgid "Assignment expressions" msgstr "Expressions d'affectation" -#: reference/expressions.rst:1722 +#: reference/expressions.rst:1738 #, fuzzy msgid "" "An assignment expression (sometimes also called a \"named expression\" or " @@ -2720,26 +2734,35 @@ msgstr "" "« expression morse ») affecte l':token:`expression` à un :token:" "`identifiant` et renvoie la valeur de l':token:`expression`." -#: reference/expressions.rst:1727 +#: reference/expressions.rst:1743 msgid "One common use case is when handling matched regular expressions:" msgstr "" "Une utilisation classique concerne les correspondances d'expressions " "rationnelles :" -#: reference/expressions.rst:1734 +#: reference/expressions.rst:1750 msgid "Or, when processing a file stream in chunks:" msgstr "Ou lorsqu'on traite le contenu d'un fichier par morceaux :" -#: reference/expressions.rst:1741 +#: reference/expressions.rst:1757 +msgid "" +"Assignment expressions must be surrounded by parentheses when used as sub-" +"expressions in slicing, conditional, lambda, keyword-argument, and " +"comprehension-if expressions and in ``assert`` and ``with`` statements. In " +"all other places where they can be used, parentheses are not required, " +"including in ``if`` and ``while`` statements." +msgstr "" + +#: reference/expressions.rst:1764 msgid "See :pep:`572` for more details about assignment expressions." msgstr "" "Voir la :pep:`572` pour plus de détails sur les expressions d’affectation." -#: reference/expressions.rst:1748 +#: reference/expressions.rst:1771 msgid "Conditional expressions" msgstr "Expressions conditionnelles" -#: reference/expressions.rst:1760 +#: reference/expressions.rst:1783 msgid "" "Conditional expressions (sometimes called a \"ternary operator\") have the " "lowest priority of all Python operations." @@ -2747,7 +2770,7 @@ msgstr "" "Les expressions conditionnelles (parfois appelées « opérateur ternaire ») " "sont les moins prioritaires de toutes les opérations Python." -#: reference/expressions.rst:1763 +#: reference/expressions.rst:1786 msgid "" "The expression ``x if C else y`` first evaluates the condition, *C* rather " "than *x*. If *C* is true, *x* is evaluated and its value is returned; " @@ -2757,16 +2780,16 @@ msgstr "" "est vrai, alors *x* est évalué et sa valeur est renvoyée ; sinon, *y* est " "évalué et sa valeur est renvoyée." -#: reference/expressions.rst:1767 +#: reference/expressions.rst:1790 msgid "See :pep:`308` for more details about conditional expressions." msgstr "" "Voir la :pep:`308` pour plus de détails sur les expressions conditionnelles." -#: reference/expressions.rst:1774 +#: reference/expressions.rst:1797 msgid "Lambdas" msgstr "Expressions lambda" -#: reference/expressions.rst:1785 +#: reference/expressions.rst:1808 msgid "" "Lambda expressions (sometimes called lambda forms) are used to create " "anonymous functions. The expression ``lambda parameters: expression`` yields " @@ -2777,7 +2800,7 @@ msgstr "" "L'expression ``lambda parameters: expression`` produit un objet fonction. " "Cet objet anonyme se comporte comme un objet fonction défini par :" -#: reference/expressions.rst:1794 +#: reference/expressions.rst:1817 msgid "" "See section :ref:`function` for the syntax of parameter lists. Note that " "functions created with lambda expressions cannot contain statements or " @@ -2787,11 +2810,11 @@ msgstr "" "Notez que les fonctions créées par des expressions lambda ne peuvent pas " "contenir d'instructions ou d'annotations." -#: reference/expressions.rst:1802 +#: reference/expressions.rst:1825 msgid "Expression lists" msgstr "Listes d'expressions" -#: reference/expressions.rst:1816 +#: reference/expressions.rst:1839 msgid "" "Except when part of a list or set display, an expression list containing at " "least one comma yields a tuple. The length of the tuple is the number of " @@ -2802,7 +2825,7 @@ msgstr "" "La longueur du *n*-uplet est le nombre d'expressions dans la liste. Les " "expressions sont évaluées de la gauche vers la droite." -#: reference/expressions.rst:1825 +#: reference/expressions.rst:1848 msgid "" "An asterisk ``*`` denotes :dfn:`iterable unpacking`. Its operand must be " "an :term:`iterable`. The iterable is expanded into a sequence of items, " @@ -2814,14 +2837,14 @@ msgstr "" "L'itérable est développé en une séquence d'éléments qui sont inclus dans un " "nouvel objet *n*-uplet, liste ou ensemble à l'emplacement du dépaquetage." -#: reference/expressions.rst:1830 +#: reference/expressions.rst:1853 msgid "" "Iterable unpacking in expression lists, originally proposed by :pep:`448`." msgstr "" "dépaquetage d'itérables dans les listes d'expressions, proposé à l'origine " "par la :pep:`448`." -#: reference/expressions.rst:1835 +#: reference/expressions.rst:1858 msgid "" "The trailing comma is required only to create a single tuple (a.k.a. a " "*singleton*); it is optional in all other cases. A single expression " @@ -2835,11 +2858,11 @@ msgstr "" "produit la valeur de cette expression (pour créer un *n*-uplet vide, " "utilisez une paire de parenthèses vide : ``()``)." -#: reference/expressions.rst:1845 +#: reference/expressions.rst:1868 msgid "Evaluation order" msgstr "Ordre d'évaluation" -#: reference/expressions.rst:1849 +#: reference/expressions.rst:1872 msgid "" "Python evaluates expressions from left to right. Notice that while " "evaluating an assignment, the right-hand side is evaluated before the left-" @@ -2849,7 +2872,7 @@ msgstr "" "lors de l'évaluation d'une assignation, la partie droite de l'assignation " "est évaluée avant la partie gauche." -#: reference/expressions.rst:1852 +#: reference/expressions.rst:1875 msgid "" "In the following lines, expressions will be evaluated in the arithmetic " "order of their suffixes::" @@ -2857,11 +2880,11 @@ msgstr "" "Dans les lignes qui suivent, les expressions sont évaluées suivant l'ordre " "arithmétique de leurs suffixes ::" -#: reference/expressions.rst:1866 +#: reference/expressions.rst:1889 msgid "Operator precedence" msgstr "Priorités des opérateurs" -#: reference/expressions.rst:1871 +#: reference/expressions.rst:1894 msgid "" "The following table summarizes the operator precedence in Python, from " "highest precedence (most binding) to lowest precedence (least binding). " @@ -2876,7 +2899,7 @@ msgstr "" "binaires. Les opérateurs dans la même case regroupent de la gauche vers la " "droite (sauf pour la puissance qui regroupe de la droite vers la gauche)." -#: reference/expressions.rst:1877 +#: reference/expressions.rst:1900 msgid "" "Note that comparisons, membership tests, and identity tests, all have the " "same precedence and have a left-to-right chaining feature as described in " @@ -2886,23 +2909,23 @@ msgstr "" "d'identifiants possèdent tous la même priorité et s'enchaînent de la gauche " "vers la droite comme décrit dans la section :ref:`comparisons`." -#: reference/expressions.rst:1883 +#: reference/expressions.rst:1906 msgid "Operator" msgstr "Opérateur" -#: reference/expressions.rst:1883 +#: reference/expressions.rst:1906 msgid "Description" msgstr "Description" -#: reference/expressions.rst:1885 +#: reference/expressions.rst:1908 msgid "``(expressions...)``," msgstr "``(expressions…)``," -#: reference/expressions.rst:1887 +#: reference/expressions.rst:1910 msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" msgstr "``[expressions…]``, ``{key: value…}``, ``{expressions…}``" -#: reference/expressions.rst:1885 +#: reference/expressions.rst:1908 msgid "" "Binding or parenthesized expression, list display, dictionary display, set " "display" @@ -2910,40 +2933,40 @@ msgstr "" "Expression de liaison ou parenthèse, affichage de liste, affichage de " "dictionnaire, affichage de *set*" -#: reference/expressions.rst:1891 +#: reference/expressions.rst:1914 msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" msgstr "``x[indice]``, ``x[indice:indice]``, ``x(arguments…)``, ``x.attribut``" -#: reference/expressions.rst:1891 +#: reference/expressions.rst:1914 msgid "Subscription, slicing, call, attribute reference" msgstr "indiçage, tranches, appel, référence à un attribut" -#: reference/expressions.rst:1894 +#: reference/expressions.rst:1917 #, fuzzy msgid ":keyword:`await x `" msgstr ":keyword:`await` ``x``" -#: reference/expressions.rst:1896 +#: reference/expressions.rst:1919 msgid "``**``" msgstr "``**``" -#: reference/expressions.rst:1896 +#: reference/expressions.rst:1919 msgid "Exponentiation [#]_" msgstr "Puissance [#]_" -#: reference/expressions.rst:1898 +#: reference/expressions.rst:1921 msgid "``+x``, ``-x``, ``~x``" msgstr "``+x``, ``-x``, ``~x``" -#: reference/expressions.rst:1898 +#: reference/expressions.rst:1921 msgid "Positive, negative, bitwise NOT" msgstr "NOT (positif, négatif, bit à bit)" -#: reference/expressions.rst:1900 +#: reference/expressions.rst:1923 msgid "``*``, ``@``, ``/``, ``//``, ``%``" msgstr "``*``, ``@``, ``/``, ``//``, ``%``" -#: reference/expressions.rst:1900 +#: reference/expressions.rst:1923 msgid "" "Multiplication, matrix multiplication, division, floor division, remainder " "[#]_" @@ -2951,47 +2974,47 @@ msgstr "" "Multiplication, multiplication de matrices, division, division entière, " "reste [#]_" -#: reference/expressions.rst:1904 +#: reference/expressions.rst:1927 msgid "``+``, ``-``" msgstr "``+``, ``-``" -#: reference/expressions.rst:1904 +#: reference/expressions.rst:1927 msgid "Addition and subtraction" msgstr "Addition et soustraction" -#: reference/expressions.rst:1906 +#: reference/expressions.rst:1929 msgid "``<<``, ``>>``" msgstr "``<<``, ``>>``" -#: reference/expressions.rst:1906 +#: reference/expressions.rst:1929 msgid "Shifts" msgstr "décalages" -#: reference/expressions.rst:1908 +#: reference/expressions.rst:1931 msgid "``&``" msgstr "``&``" -#: reference/expressions.rst:1908 +#: reference/expressions.rst:1931 msgid "Bitwise AND" msgstr "AND (bit à bit)" -#: reference/expressions.rst:1910 +#: reference/expressions.rst:1933 msgid "``^``" msgstr "``^``" -#: reference/expressions.rst:1910 +#: reference/expressions.rst:1933 msgid "Bitwise XOR" msgstr "XOR (bit à bit)" -#: reference/expressions.rst:1912 +#: reference/expressions.rst:1935 msgid "``|``" msgstr "``|``" -#: reference/expressions.rst:1912 +#: reference/expressions.rst:1935 msgid "Bitwise OR" msgstr "OR (bit à bit)" -#: reference/expressions.rst:1914 +#: reference/expressions.rst:1937 msgid "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" @@ -2999,65 +3022,65 @@ msgstr "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" -#: reference/expressions.rst:1914 +#: reference/expressions.rst:1937 msgid "Comparisons, including membership tests and identity tests" msgstr "" "Comparaisons, y compris les tests d'appartenance et les tests d'identifiants" -#: reference/expressions.rst:1918 +#: reference/expressions.rst:1941 #, fuzzy msgid ":keyword:`not x `" msgstr ":keyword:`not` ``x``" -#: reference/expressions.rst:1918 +#: reference/expressions.rst:1941 msgid "Boolean NOT" msgstr "NOT (booléen)" -#: reference/expressions.rst:1920 +#: reference/expressions.rst:1943 msgid ":keyword:`and`" msgstr ":keyword:`and`" -#: reference/expressions.rst:1920 +#: reference/expressions.rst:1943 msgid "Boolean AND" msgstr "AND (booléen)" -#: reference/expressions.rst:1922 +#: reference/expressions.rst:1945 msgid ":keyword:`or`" msgstr ":keyword:`or`" -#: reference/expressions.rst:1922 +#: reference/expressions.rst:1945 msgid "Boolean OR" msgstr "OR (booléen)" -#: reference/expressions.rst:1924 +#: reference/expressions.rst:1947 msgid ":keyword:`if ` -- :keyword:`!else`" msgstr ":keyword:`if ` -- :keyword:`!else`" -#: reference/expressions.rst:1924 +#: reference/expressions.rst:1947 msgid "Conditional expression" msgstr "Expressions conditionnelles" -#: reference/expressions.rst:1926 +#: reference/expressions.rst:1949 msgid ":keyword:`lambda`" msgstr ":keyword:`lambda`" -#: reference/expressions.rst:1926 +#: reference/expressions.rst:1949 msgid "Lambda expression" msgstr "Expression lambda" -#: reference/expressions.rst:1928 +#: reference/expressions.rst:1951 msgid "``:=``" msgstr "``:=``" -#: reference/expressions.rst:1928 +#: reference/expressions.rst:1951 msgid "Assignment expression" msgstr "Expression d'affectation" -#: reference/expressions.rst:1933 +#: reference/expressions.rst:1956 msgid "Footnotes" msgstr "Notes" -#: reference/expressions.rst:1934 +#: reference/expressions.rst:1957 msgid "" "While ``abs(x%y) < abs(y)`` is true mathematically, for floats it may not be " "true numerically due to roundoff. For example, and assuming a platform on " @@ -3078,7 +3101,7 @@ msgstr "" "argument, c'est-à-dire ``-1e-100`` dans ce cas. La meilleure approche dépend " "de l'application." -#: reference/expressions.rst:1943 +#: reference/expressions.rst:1966 msgid "" "If x is very close to an exact integer multiple of y, it's possible for ``x//" "y`` to be one larger than ``(x-x%y)//y`` due to rounding. In such cases, " @@ -3090,7 +3113,7 @@ msgstr "" "Dans de tels cas, Python renvoie le second résultat afin d'avoir ``divmod(x," "y)[0] * y + x % y`` le plus proche de ``x``." -#: reference/expressions.rst:1948 +#: reference/expressions.rst:1971 msgid "" "The Unicode standard distinguishes between :dfn:`code points` (e.g. U+0041) " "and :dfn:`abstract characters` (e.g. \"LATIN CAPITAL LETTER A\"). While most " @@ -3115,7 +3138,7 @@ msgstr "" "position *U+0043* (LATIN CAPITAL LETTER C) du code, suivi par un :dfn:" "`caractère combiné` à la position *U+0327* (*COMBINING CEDILLA*) du code." -#: reference/expressions.rst:1959 +#: reference/expressions.rst:1982 msgid "" "The comparison operators on strings compare at the level of Unicode code " "points. This may be counter-intuitive to humans. For example, ``\"\\u00C7\" " @@ -3128,7 +3151,7 @@ msgstr "" "chaînes représentent le même caractère abstrait \"LATIN CAPITAL LETTER C " "WITH CEDILLA\"." -#: reference/expressions.rst:1964 +#: reference/expressions.rst:1987 msgid "" "To compare strings at the level of abstract characters (that is, in a way " "intuitive to humans), use :func:`unicodedata.normalize`." @@ -3137,7 +3160,7 @@ msgstr "" "quelque chose d'intuitif pour les humains), utilisez :func:`unicodedata." "normalize`." -#: reference/expressions.rst:1967 +#: reference/expressions.rst:1990 msgid "" "Due to automatic garbage-collection, free lists, and the dynamic nature of " "descriptors, you may notice seemingly unusual behaviour in certain uses of " @@ -3150,7 +3173,7 @@ msgstr "" "cela implique des comparaisons entre des méthodes d'instances ou des " "constantes. Allez vérifier dans la documentation pour plus d'informations." -#: reference/expressions.rst:1972 +#: reference/expressions.rst:1995 msgid "" "The power operator ``**`` binds less tightly than an arithmetic or bitwise " "unary operator on its right, that is, ``2**-1`` is ``0.5``." @@ -3158,7 +3181,7 @@ msgstr "" "L'opérateur puissance ``**`` est moins prioritaire qu'un opérateur unaire " "arithmétique ou bit à bit sur sa droite. Ainsi, ``2**-1`` vaut ``0.5``." -#: reference/expressions.rst:1975 +#: reference/expressions.rst:1998 msgid "" "The ``%`` operator is also used for string formatting; the same precedence " "applies." diff --git a/reference/import.po b/reference/import.po index 7729450a4a..29884eefc4 100644 --- a/reference/import.po +++ b/reference/import.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-04-10 15:09+0200\n" "Last-Translator: Samuel Giffard \n" "Language-Team: FRENCH \n" @@ -1012,8 +1012,9 @@ msgstr "" "le chargeur n'exécute le module." #: reference/import.rst:544 +#, fuzzy msgid "" -"The ``__name__`` attribute must be set to the fully-qualified name of the " +"The ``__name__`` attribute must be set to the fully qualified name of the " "module. This name is used to uniquely identify the module in the import " "system." msgstr "" @@ -1572,11 +1573,12 @@ msgstr "" "utilisée." #: reference/import.rst:811 +#, fuzzy msgid "" "The path based finder iterates over every entry in the search path, and for " "each of these, looks for an appropriate :term:`path entry finder` (:class:" "`~importlib.abc.PathEntryFinder`) for the path entry. Because this can be " -"an expensive operation (e.g. there may be `stat()` call overheads for this " +"an expensive operation (e.g. there may be ``stat()`` call overheads for this " "search), the path based finder maintains a cache mapping path entries to " "path entry finders. This cache is maintained in :data:`sys." "path_importer_cache` (despite the name, this cache actually stores finder " @@ -1993,53 +1995,10 @@ msgstr "" "durant une importation normale." #: reference/import.rst:1019 -msgid "Open issues" -msgstr "Idées d'amélioration" - -#: reference/import.rst:1021 -msgid "XXX It would be really nice to have a diagram." -msgstr "XXX Ce serait vraiment bien de disposer d'un diagramme." - -#: reference/import.rst:1023 -msgid "" -"XXX * (import_machinery.rst) how about a section devoted just to the " -"attributes of modules and packages, perhaps expanding upon or supplanting " -"the related entries in the data model reference page?" -msgstr "" -"XXX * (``import_machinery.rst``) Pourquoi pas une section dédiée aux " -"attributs des modules et paquets, développant ou remplaçant les entrées " -"associées dans la page de référence du modèle de données ?" - -#: reference/import.rst:1027 -msgid "" -"XXX runpy, pkgutil, et al in the library manual should all get \"See Also\" " -"links at the top pointing to the new import system section." -msgstr "" -"XXX *runpy*, *pkgutil* et autres dans le manuel de la bibliothèque devraient " -"comporter un lien \"Lisez aussi\" en début de page pointant vers la section " -"du nouveau mécanisme d'import." - -#: reference/import.rst:1030 -msgid "" -"XXX Add more explanation regarding the different ways in which ``__main__`` " -"is initialized?" -msgstr "" -"XXX Ajouter des explications sur les différentes manières dont ``__main__`` " -"est initialisé ?" - -#: reference/import.rst:1033 -msgid "" -"XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from :pep:" -"`395`)." -msgstr "" -"XXX Ajouter des informations sur les pièges et bizarreries de ``__main__`` " -"(c.-à-d. des extraits de la :pep:`395`)." - -#: reference/import.rst:1038 msgid "References" msgstr "Références" -#: reference/import.rst:1040 +#: reference/import.rst:1021 msgid "" "The import machinery has evolved considerably since Python's early days. " "The original `specification for packages `_ originale est toujours disponible, bien que quelques détails " "ont changé depuis l'écriture de ce document." -#: reference/import.rst:1045 +#: reference/import.rst:1026 msgid "" "The original specification for :data:`sys.meta_path` was :pep:`302`, with " "subsequent extension in :pep:`420`." @@ -2059,7 +2018,7 @@ msgstr "" "La spécification originale de :data:`sys.meta_path` se trouve dans la :pep:" "`302`. La :pep:`420` contient des extensions significatives." -#: reference/import.rst:1048 +#: reference/import.rst:1029 msgid "" ":pep:`420` introduced :term:`namespace packages ` for " "Python 3.3. :pep:`420` also introduced the :meth:`find_loader` protocol as " @@ -2070,7 +2029,7 @@ msgstr "" "meth:`recherche du chargeur ` comme une alternative à :meth:" "`find_module`." -#: reference/import.rst:1052 +#: reference/import.rst:1033 msgid "" ":pep:`366` describes the addition of the ``__package__`` attribute for " "explicit relative imports in main modules." @@ -2078,7 +2037,7 @@ msgstr "" "La :pep:`366` décrit l'ajout de l'attribut ``__package__`` pour les " "importations relatives explicites dans les modules principaux." -#: reference/import.rst:1055 +#: reference/import.rst:1036 msgid "" ":pep:`328` introduced absolute and explicit relative imports and initially " "proposed ``__name__`` for semantics :pep:`366` would eventually specify for " @@ -2088,11 +2047,11 @@ msgstr "" "relatives explicites. Elle a aussi proposé ``__name__`` pour la sémantique " "que la :pep:`366` attribuait à ``__package__``." -#: reference/import.rst:1059 +#: reference/import.rst:1040 msgid ":pep:`338` defines executing modules as scripts." msgstr ":pep:`338` définit l'exécution de modules en tant que scripts." -#: reference/import.rst:1061 +#: reference/import.rst:1042 msgid "" ":pep:`451` adds the encapsulation of per-module import state in spec " "objects. It also off-loads most of the boilerplate responsibilities of " @@ -2106,15 +2065,15 @@ msgstr "" "permettent de supprimer plusieurs API dans le système d'importation et " "d'ajouter de nouvelles méthodes aux chercheurs et chargeurs." -#: reference/import.rst:1068 +#: reference/import.rst:1049 msgid "Footnotes" msgstr "Notes" -#: reference/import.rst:1069 +#: reference/import.rst:1050 msgid "See :class:`types.ModuleType`." msgstr "Voir :class:`types.ModuleType`." -#: reference/import.rst:1071 +#: reference/import.rst:1052 msgid "" "The importlib implementation avoids using the return value directly. " "Instead, it gets the module object by looking the module name up in :data:" @@ -2129,7 +2088,7 @@ msgstr "" "comportement spécifique à l'implémentation dont le résultat n'est pas " "garanti pour les autres implémentations de Python." -#: reference/import.rst:1078 +#: reference/import.rst:1059 msgid "" "In legacy code, it is possible to find instances of :class:`imp." "NullImporter` in the :data:`sys.path_importer_cache`. It is recommended " @@ -2141,6 +2100,43 @@ msgstr "" "de modifier ce code afin d'utiliser ``None`` à la place. Lisez :ref:" "`portingpythoncode` pour plus de détails." +#~ msgid "Open issues" +#~ msgstr "Idées d'amélioration" + +#~ msgid "XXX It would be really nice to have a diagram." +#~ msgstr "XXX Ce serait vraiment bien de disposer d'un diagramme." + +#~ msgid "" +#~ "XXX * (import_machinery.rst) how about a section devoted just to the " +#~ "attributes of modules and packages, perhaps expanding upon or supplanting " +#~ "the related entries in the data model reference page?" +#~ msgstr "" +#~ "XXX * (``import_machinery.rst``) Pourquoi pas une section dédiée aux " +#~ "attributs des modules et paquets, développant ou remplaçant les entrées " +#~ "associées dans la page de référence du modèle de données ?" + +#~ msgid "" +#~ "XXX runpy, pkgutil, et al in the library manual should all get \"See " +#~ "Also\" links at the top pointing to the new import system section." +#~ msgstr "" +#~ "XXX *runpy*, *pkgutil* et autres dans le manuel de la bibliothèque " +#~ "devraient comporter un lien \"Lisez aussi\" en début de page pointant " +#~ "vers la section du nouveau mécanisme d'import." + +#~ msgid "" +#~ "XXX Add more explanation regarding the different ways in which " +#~ "``__main__`` is initialized?" +#~ msgstr "" +#~ "XXX Ajouter des explications sur les différentes manières dont " +#~ "``__main__`` est initialisé ?" + +#~ msgid "" +#~ "XXX Add more info on ``__main__`` quirks/pitfalls (i.e. copy from :pep:" +#~ "`395`)." +#~ msgstr "" +#~ "XXX Ajouter des informations sur les pièges et bizarreries de " +#~ "``__main__`` (c.-à-d. des extraits de la :pep:`395`)." + #~ msgid "" #~ ":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, " #~ "the fully qualified name of the module being imported. ``find_loader()`` " diff --git a/reference/introduction.po b/reference/introduction.po index f8f2729fbd..8e5f868798 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-07 19:09+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -124,11 +124,12 @@ msgid "Jython" msgstr "Jython" #: reference/introduction.rst:54 +#, fuzzy msgid "" "Python implemented in Java. This implementation can be used as a scripting " "language for Java applications, or can be used to create applications using " "the Java class libraries. It is also often used to create tests for Java " -"libraries. More information can be found at `the Jython website `_." msgstr "" "Python implémenté en Java. Cette implémentation peut être utilisée comme " @@ -159,11 +160,13 @@ msgid "IronPython" msgstr "IronPython" #: reference/introduction.rst:66 +#, fuzzy msgid "" "An alternate Python for .NET. Unlike Python.NET, this is a complete Python " "implementation that generates IL, and compiles Python code directly to .NET " "assemblies. It was created by Jim Hugunin, the original creator of Jython. " -"For more information, see `the IronPython website `_." +"For more information, see `the IronPython website `_." msgstr "" "Un autre Python pour .NET. Contrairement à Python.NET, il s’agit d’une " "implémentation Python complète qui génère du code intermédiaire (IL) .NET et " @@ -176,13 +179,14 @@ msgid "PyPy" msgstr "PyPy" #: reference/introduction.rst:72 +#, fuzzy msgid "" "An implementation of Python written completely in Python. It supports " "several advanced features not found in other implementations like stackless " "support and a Just in Time compiler. One of the goals of the project is to " "encourage experimentation with the language itself by making it easier to " "modify the interpreter (since it is written in Python). Additional " -"information is available on `the PyPy project's home page `_." msgstr "" "Une implémentation de Python complètement écrite en Python. Elle apporte des " diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index cc121a644d..639b2b171d 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-04-10 17:40+0200\n" "Last-Translator: Samuel Giffard \n" "Language-Team: FRENCH \n" @@ -851,13 +851,18 @@ msgid "Notes" msgstr "Notes" #: reference/lexical_analysis.rst:555 -msgid "``\\newline``" +#, fuzzy +msgid "``\\``\\ " msgstr "``\\newline``" #: reference/lexical_analysis.rst:555 msgid "Backslash and newline ignored" msgstr "barre oblique inversée et retour à la ligne ignorés" +#: reference/lexical_analysis.rst:555 +msgid "\\(1)" +msgstr "" + #: reference/lexical_analysis.rst:557 msgid "``\\\\``" msgstr "``\\\\``" @@ -947,8 +952,8 @@ msgid "Character with octal value *ooo*" msgstr "caractère dont le code est *ooo* en octal" #: reference/lexical_analysis.rst:577 -msgid "(1,3)" -msgstr "(1,3)" +msgid "(2,4)" +msgstr "" #: reference/lexical_analysis.rst:580 msgid "``\\xhh``" @@ -959,8 +964,8 @@ msgid "Character with hex value *hh*" msgstr "caractère dont le code est *ooo* en hexadécimal" #: reference/lexical_analysis.rst:580 -msgid "(2,3)" -msgstr "(2,3)" +msgid "(3,4)" +msgstr "" #: reference/lexical_analysis.rst:583 msgid "Escape sequences only recognized in string literals are:" @@ -977,8 +982,8 @@ msgid "Character named *name* in the Unicode database" msgstr "caractère dont le nom est *name* dans la base de données Unicode" #: reference/lexical_analysis.rst:588 -msgid "\\(4)" -msgstr "\\(4)" +msgid "\\(5)" +msgstr "\\(5)" #: reference/lexical_analysis.rst:591 msgid "``\\uxxxx``" @@ -989,8 +994,8 @@ msgid "Character with 16-bit hex value *xxxx*" msgstr "caractère dont le code est *xxxx* en hexadécimal" #: reference/lexical_analysis.rst:591 -msgid "\\(5)" -msgstr "\\(5)" +msgid "\\(6)" +msgstr "\\(6)" #: reference/lexical_analysis.rst:594 msgid "``\\Uxxxxxxxx``" @@ -1001,25 +1006,36 @@ msgid "Character with 32-bit hex value *xxxxxxxx*" msgstr "caractère dont le code est *xxxxxxxx* en hexadécimal sur 32 bits" #: reference/lexical_analysis.rst:594 -msgid "\\(6)" -msgstr "\\(6)" +msgid "\\(7)" +msgstr "" #: reference/lexical_analysis.rst:598 msgid "Notes:" msgstr "Notes :" #: reference/lexical_analysis.rst:601 +msgid "A backslash can be added at the end of a line to ignore the newline::" +msgstr "" + +#: reference/lexical_analysis.rst:607 +msgid "" +"The same result can be achieved using :ref:`triple-quoted strings " +"`, or parentheses and :ref:`string literal concatenation `." +msgstr "" + +#: reference/lexical_analysis.rst:611 msgid "As in Standard C, up to three octal digits are accepted." msgstr "" "Comme dans le C Standard, jusqu'à trois chiffres en base huit sont acceptés." -#: reference/lexical_analysis.rst:604 +#: reference/lexical_analysis.rst:614 msgid "Unlike in Standard C, exactly two hex digits are required." msgstr "" "Contrairement au C Standard, il est obligatoire de fournir deux chiffres " "hexadécimaux." -#: reference/lexical_analysis.rst:607 +#: reference/lexical_analysis.rst:617 msgid "" "In a bytes literal, hexadecimal and octal escapes denote the byte with the " "given value. In a string literal, these escapes denote a Unicode character " @@ -1029,15 +1045,15 @@ msgstr "" "un octet dont la valeur est donnée. Dans une chaîne littérale, un " "échappement est un caractère Unicode dont le code est donné." -#: reference/lexical_analysis.rst:612 +#: reference/lexical_analysis.rst:622 msgid "Support for name aliases [#]_ has been added." msgstr "Ajout du support pour les alias de noms [#]_." -#: reference/lexical_analysis.rst:616 +#: reference/lexical_analysis.rst:626 msgid "Exactly four hex digits are required." msgstr "Exactement quatre chiffres hexadécimaux sont requis." -#: reference/lexical_analysis.rst:619 +#: reference/lexical_analysis.rst:629 msgid "" "Any Unicode character can be encoded this way. Exactly eight hex digits are " "required." @@ -1045,7 +1061,7 @@ msgstr "" "N'importe quel caractère Unicode peut être encodé de cette façon. Exactement " "huit chiffres hexadécimaux sont requis." -#: reference/lexical_analysis.rst:625 +#: reference/lexical_analysis.rst:635 msgid "" "Unlike Standard C, all unrecognized escape sequences are left in the string " "unchanged, i.e., *the backslash is left in the result*. (This behavior is " @@ -1063,7 +1079,7 @@ msgstr "" "dans les littéraux de chaînes de caractères ne sont pas reconnues pour les " "littéraux de suites d'octets." -#: reference/lexical_analysis.rst:632 +#: reference/lexical_analysis.rst:642 msgid "" "Unrecognized escape sequences produce a :exc:`DeprecationWarning`. In a " "future Python version they will be a :exc:`SyntaxWarning` and eventually a :" @@ -1073,7 +1089,7 @@ msgstr "" "`DeprecationWarning`. Dans les versions suivantes de Python, elles génèrent " "une :exc:`SyntaxWarning` et éventuellement une :exc:`SyntaxError`." -#: reference/lexical_analysis.rst:637 +#: reference/lexical_analysis.rst:647 msgid "" "Even in a raw literal, quotes can be escaped with a backslash, but the " "backslash remains in the result; for example, ``r\"\\\"\"`` is a valid " @@ -1098,11 +1114,11 @@ msgstr "" "comme deux caractères faisant partie du littéral et *non* comme une " "continuation de ligne." -#: reference/lexical_analysis.rst:650 +#: reference/lexical_analysis.rst:660 msgid "String literal concatenation" msgstr "Concaténation de chaînes de caractères" -#: reference/lexical_analysis.rst:652 +#: reference/lexical_analysis.rst:662 msgid "" "Multiple adjacent string or bytes literals (delimited by whitespace), " "possibly using different quoting conventions, are allowed, and their meaning " @@ -1120,7 +1136,7 @@ msgstr "" "caractères sur plusieurs lignes ou même pour ajouter des commentaires à des " "portions de chaînes de caractères. Par exemple ::" -#: reference/lexical_analysis.rst:663 +#: reference/lexical_analysis.rst:673 msgid "" "Note that this feature is defined at the syntactical level, but implemented " "at compile time. The '+' operator must be used to concatenate string " @@ -1138,11 +1154,11 @@ msgstr "" "triples guillemets). Enfin, les chaînes de caractères formatées peuvent être " "concaténées avec des chaînes de caractères ordinaires." -#: reference/lexical_analysis.rst:684 +#: reference/lexical_analysis.rst:694 msgid "Formatted string literals" msgstr "Chaînes de caractères formatées littérales" -#: reference/lexical_analysis.rst:688 +#: reference/lexical_analysis.rst:698 msgid "" "A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " "that is prefixed with ``'f'`` or ``'F'``. These strings may contain " @@ -1157,7 +1173,7 @@ msgstr "" "littéraux de chaines ont des valeurs constantes, les chaines formatées sont " "de vraies expressions évaluées à l'exécution." -#: reference/lexical_analysis.rst:694 +#: reference/lexical_analysis.rst:704 msgid "" "Escape sequences are decoded like in ordinary string literals (except when a " "literal is also marked as a raw string). After decoding, the grammar for " @@ -1168,7 +1184,7 @@ msgstr "" "marquée comme une chaîne brute). Après décodage, la grammaire s'appliquant " "au contenu de la chaîne de caractères est :" -#: reference/lexical_analysis.rst:708 +#: reference/lexical_analysis.rst:718 msgid "" "The parts of the string outside curly braces are treated literally, except " "that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " @@ -1191,7 +1207,7 @@ msgstr "" "de format peut aussi être rajoutée, introduite par le caractère deux-points " "``':'``. Le champ à remplacer se termine par une accolade fermante ``'}'``." -#: reference/lexical_analysis.rst:718 +#: reference/lexical_analysis.rst:728 msgid "" "Expressions in formatted string literals are treated like regular Python " "expressions surrounded by parentheses, with a few exceptions. An empty " @@ -1211,7 +1227,7 @@ msgstr "" "commentaire. Chaque expression est évaluée dans le contexte où la chaîne de " "caractères formatée apparaît, de gauche à droite." -#: reference/lexical_analysis.rst:727 +#: reference/lexical_analysis.rst:737 msgid "" "Prior to Python 3.7, an :keyword:`await` expression and comprehensions " "containing an :keyword:`async for` clause were illegal in the expressions in " @@ -1222,7 +1238,7 @@ msgstr "" "des chaînes de caractères formatées littérales à cause d’un problème dans " "l’implémentation." -#: reference/lexical_analysis.rst:732 +#: reference/lexical_analysis.rst:742 msgid "" "When the equal sign ``'='`` is provided, the output will have the expression " "text, the ``'='`` and the evaluated value. Spaces after the opening brace " @@ -1240,11 +1256,11 @@ msgstr "" "indiqué, c'est :func:`str` de l'expression qui est utilisée à moins qu'une " "conversion ``!r`` ne soit déclarée." -#: reference/lexical_analysis.rst:740 +#: reference/lexical_analysis.rst:750 msgid "The equal sign ``'='``." msgstr "le signe égal ``'='``." -#: reference/lexical_analysis.rst:743 +#: reference/lexical_analysis.rst:753 msgid "" "If a conversion is specified, the result of evaluating the expression is " "converted before formatting. Conversion ``'!s'`` calls :func:`str` on the " @@ -1255,7 +1271,7 @@ msgstr "" "`str` sur le résultat, ``'!r'`` appelle :func:`repr` et ``'!a'`` appelle :" "func:`ascii`." -#: reference/lexical_analysis.rst:747 +#: reference/lexical_analysis.rst:757 msgid "" "The result is then formatted using the :func:`format` protocol. The format " "specifier is passed to the :meth:`__format__` method of the expression or " @@ -1269,11 +1285,12 @@ msgstr "" "lorsque la spécification de format est omise. Le résultat formaté est alors " "inclus dans la valeur finale de la chaîne complète." -#: reference/lexical_analysis.rst:753 +#: reference/lexical_analysis.rst:763 +#, fuzzy msgid "" "Top-level format specifiers may include nested replacement fields. These " "nested fields may include their own conversion fields and :ref:`format " -"specifiers `, but may not include more deeply-nested replacement " +"specifiers `, but may not include more deeply nested replacement " "fields. The :ref:`format specifier mini-language ` is the same " "as that used by the :meth:`str.format` method." msgstr "" @@ -1284,7 +1301,7 @@ msgstr "" "spécification de format ` est le même que celui utilisé par la " "méthode :meth:`str.format`." -#: reference/lexical_analysis.rst:759 +#: reference/lexical_analysis.rst:769 msgid "" "Formatted string literals may be concatenated, but replacement fields cannot " "be split across literals." @@ -1292,11 +1309,11 @@ msgstr "" "Les chaînes formatées littérales peuvent être concaténées mais les champs à " "remplacer ne peuvent pas être divisés entre les littéraux." -#: reference/lexical_analysis.rst:762 +#: reference/lexical_analysis.rst:772 msgid "Some examples of formatted string literals::" msgstr "Quelques exemples de chaines formatées littérales ::" -#: reference/lexical_analysis.rst:794 +#: reference/lexical_analysis.rst:804 msgid "" "A consequence of sharing the same syntax as regular string literals is that " "characters in the replacement fields must not conflict with the quoting used " @@ -1307,14 +1324,14 @@ msgstr "" "entrer en conflit avec le guillemet utilisé pour encadrer la chaine formatée " "littérale ::" -#: reference/lexical_analysis.rst:801 +#: reference/lexical_analysis.rst:811 msgid "" "Backslashes are not allowed in format expressions and will raise an error::" msgstr "" "La barre oblique inversée (ou antislash) n'est pas autorisée dans les " "expressions des champs à remplacer et son utilisation génère une erreur ::" -#: reference/lexical_analysis.rst:806 +#: reference/lexical_analysis.rst:816 msgid "" "To include a value in which a backslash escape is required, create a " "temporary variable." @@ -1322,7 +1339,7 @@ msgstr "" "Pour inclure une valeur où l'échappement par barre oblique inversée est " "nécessaire, vous devez créer une variable temporaire." -#: reference/lexical_analysis.rst:813 +#: reference/lexical_analysis.rst:823 msgid "" "Formatted string literals cannot be used as docstrings, even if they do not " "include expressions." @@ -1330,7 +1347,7 @@ msgstr "" "Une chaine formatée littérale ne peut pas être utilisée en tant que " "*docstring*, même si elle ne comporte pas d'expression." -#: reference/lexical_analysis.rst:824 +#: reference/lexical_analysis.rst:834 msgid "" "See also :pep:`498` for the proposal that added formatted string literals, " "and :meth:`str.format`, which uses a related format string mechanism." @@ -1339,11 +1356,11 @@ msgstr "" "littérales et :meth:`str.format` qui utilise un mécanisme similaire pour " "formater les chaînes de caractères." -#: reference/lexical_analysis.rst:831 +#: reference/lexical_analysis.rst:841 msgid "Numeric literals" msgstr "Littéraux numériques" -#: reference/lexical_analysis.rst:837 +#: reference/lexical_analysis.rst:847 msgid "" "There are three types of numeric literals: integers, floating point numbers, " "and imaginary numbers. There are no complex literals (complex numbers can " @@ -1354,7 +1371,7 @@ msgstr "" "complexes (les nombres complexes peuvent être construits en ajoutant un " "nombre réel et un nombre imaginaire)." -#: reference/lexical_analysis.rst:841 +#: reference/lexical_analysis.rst:851 msgid "" "Note that numeric literals do not include a sign; a phrase like ``-1`` is " "actually an expression composed of the unary operator '``-``' and the " @@ -1364,16 +1381,16 @@ msgstr "" "telle que ``-1`` est en fait une expression composée de l'opérateur unitaire " "``-`` et du littéral ``1``." -#: reference/lexical_analysis.rst:855 +#: reference/lexical_analysis.rst:865 msgid "Integer literals" msgstr "Entiers littéraux" -#: reference/lexical_analysis.rst:857 +#: reference/lexical_analysis.rst:867 msgid "Integer literals are described by the following lexical definitions:" msgstr "" "Les entiers littéraux sont décrits par les définitions lexicales suivantes :" -#: reference/lexical_analysis.rst:871 +#: reference/lexical_analysis.rst:881 msgid "" "There is no limit for the length of integer literals apart from what can be " "stored in available memory." @@ -1381,7 +1398,7 @@ msgstr "" "Il n'y a pas de limite pour la longueur des entiers littéraux, sauf celle " "relative à la capacité mémoire." -#: reference/lexical_analysis.rst:874 +#: reference/lexical_analysis.rst:884 msgid "" "Underscores are ignored for determining the numeric value of the literal. " "They can be used to group digits for enhanced readability. One underscore " @@ -1392,7 +1409,7 @@ msgstr "" "lecture. Un souligné peut être placé entre des chiffres ou après la " "spécification de la base telle que ``0x``." -#: reference/lexical_analysis.rst:878 +#: reference/lexical_analysis.rst:888 msgid "" "Note that leading zeros in a non-zero decimal number are not allowed. This " "is for disambiguation with C-style octal literals, which Python used before " @@ -1403,26 +1420,26 @@ msgstr "" "les littéraux en base octale selon le style C que Python utilisait avant la " "version 3.0." -#: reference/lexical_analysis.rst:882 +#: reference/lexical_analysis.rst:892 msgid "Some examples of integer literals::" msgstr "Quelques exemples d'entiers littéraux ::" -#: reference/lexical_analysis.rst:888 reference/lexical_analysis.rst:920 +#: reference/lexical_analysis.rst:898 reference/lexical_analysis.rst:930 msgid "Underscores are now allowed for grouping purposes in literals." msgstr "Les tirets bas ne sont pas autorisés pour grouper les littéraux." -#: reference/lexical_analysis.rst:899 +#: reference/lexical_analysis.rst:909 msgid "Floating point literals" msgstr "Nombres à virgule flottante littéraux" -#: reference/lexical_analysis.rst:901 +#: reference/lexical_analysis.rst:911 msgid "" "Floating point literals are described by the following lexical definitions:" msgstr "" "Les nombres à virgule flottante littéraux sont décrits par les définitions " "lexicales suivantes :" -#: reference/lexical_analysis.rst:911 +#: reference/lexical_analysis.rst:921 msgid "" "Note that the integer and exponent parts are always interpreted using radix " "10. For example, ``077e010`` is legal, and denotes the same number as " @@ -1436,21 +1453,21 @@ msgstr "" "virgule flottante dépend de l'implémentation. Comme pour les entiers " "littéraux, les soulignés permettent de grouper des chiffres." -#: reference/lexical_analysis.rst:916 +#: reference/lexical_analysis.rst:926 msgid "Some examples of floating point literals::" msgstr "Quelques exemples de nombres à virgule flottante littéraux ::" -#: reference/lexical_analysis.rst:929 +#: reference/lexical_analysis.rst:939 msgid "Imaginary literals" msgstr "Imaginaires littéraux" -#: reference/lexical_analysis.rst:931 +#: reference/lexical_analysis.rst:941 msgid "Imaginary literals are described by the following lexical definitions:" msgstr "" "Les nombres imaginaires sont décrits par les définitions lexicales " "suivantes :" -#: reference/lexical_analysis.rst:936 +#: reference/lexical_analysis.rst:946 msgid "" "An imaginary literal yields a complex number with a real part of 0.0. " "Complex numbers are represented as a pair of floating point numbers and have " @@ -1465,23 +1482,23 @@ msgstr "" "nulle, ajoutez un nombre à virgule flottante à votre littéral imaginaire. " "Par exemple ``(3+4j)``. Voici d'autres exemples de littéraux imaginaires ::" -#: reference/lexical_analysis.rst:948 +#: reference/lexical_analysis.rst:958 msgid "Operators" msgstr "Opérateurs" -#: reference/lexical_analysis.rst:952 +#: reference/lexical_analysis.rst:962 msgid "The following tokens are operators:" msgstr "Les lexèmes suivants sont des opérateurs :" -#: reference/lexical_analysis.rst:965 +#: reference/lexical_analysis.rst:975 msgid "Delimiters" msgstr "Délimiteurs" -#: reference/lexical_analysis.rst:969 +#: reference/lexical_analysis.rst:979 msgid "The following tokens serve as delimiters in the grammar:" msgstr "Les lexèmes suivants servent de délimiteurs dans la grammaire :" -#: reference/lexical_analysis.rst:978 +#: reference/lexical_analysis.rst:988 msgid "" "The period can also occur in floating-point and imaginary literals. A " "sequence of three periods has a special meaning as an ellipsis literal. The " @@ -1494,7 +1511,7 @@ msgstr "" "la liste, les opérateurs d'assignation augmentés, servent de délimiteurs " "pour l'analyseur lexical mais sont aussi des opérateurs." -#: reference/lexical_analysis.rst:983 +#: reference/lexical_analysis.rst:993 msgid "" "The following printing ASCII characters have special meaning as part of " "other tokens or are otherwise significant to the lexical analyzer:" @@ -1503,7 +1520,7 @@ msgstr "" "partie d'autres lexèmes ou ont une signification particulière pour " "l'analyseur lexical :" -#: reference/lexical_analysis.rst:990 +#: reference/lexical_analysis.rst:1000 msgid "" "The following printing ASCII characters are not used in Python. Their " "occurrence outside string literals and comments is an unconditional error:" @@ -1512,14 +1529,23 @@ msgstr "" "apparaissent en dehors de chaines littérales ou de commentaires, ils " "produisent une erreur :" -#: reference/lexical_analysis.rst:999 +#: reference/lexical_analysis.rst:1009 msgid "Footnotes" msgstr "Notes" -#: reference/lexical_analysis.rst:1000 +#: reference/lexical_analysis.rst:1010 msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" +#~ msgid "(1,3)" +#~ msgstr "(1,3)" + +#~ msgid "(2,3)" +#~ msgstr "(2,3)" + +#~ msgid "\\(4)" +#~ msgstr "\\(4)" + #~ msgid "" #~ "Not imported by ``from module import *``. The special identifier ``_`` " #~ "is used in the interactive interpreter to store the result of the last " diff --git a/tutorial/classes.po b/tutorial/classes.po index fe2928a662..90e2deaba4 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2020-09-30 16:12+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -579,9 +579,10 @@ msgstr "" "définir une méthode spéciale nommée :meth:`__init__`, comme ceci ::" #: tutorial/classes.rst:299 +#, fuzzy msgid "" "When a class defines an :meth:`__init__` method, class instantiation " -"automatically invokes :meth:`__init__` for the newly-created class " +"automatically invokes :meth:`__init__` for the newly created class " "instance. So in this example, a new, initialized instance can be obtained " "by::" msgstr "" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 1565d9a65a..67048df918 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-04-13 16:37-0400\n" "Last-Translator: Jean-Michel Laprise \n" "Language-Team: FRENCH \n" @@ -280,12 +280,15 @@ msgid ":keyword:`!match` Statements" msgstr "L'instruction :keyword:`!match`" #: tutorial/controlflow.rst:253 +#, fuzzy msgid "" "A :keyword:`match` statement takes an expression and compares its value to " "successive patterns given as one or more case blocks. This is superficially " "similar to a switch statement in C, Java or JavaScript (and many other " -"languages), but it can also extract components (sequence elements or object " -"attributes) from the value into variables." +"languages), but it's more similar to pattern matching in languages like Rust " +"or Haskell. Only the first pattern that matches gets executed and it can " +"also extract components (sequence elements or object attributes) from the " +"value into variables." msgstr "" "L'instruction :keyword:`match` confronte la valeur d'une expression à " "plusieurs filtres successifs donnés par les instructions ``case``. " @@ -294,14 +297,14 @@ msgstr "" "d'extraire dans des variables des composantes de la valeur, comme les " "éléments d'une séquence ou les attributs d'un objet." -#: tutorial/controlflow.rst:259 +#: tutorial/controlflow.rst:261 msgid "" "The simplest form compares a subject value against one or more literals::" msgstr "" "Dans sa plus simple expression, une instruction ``match`` compare une valeur " "à des littéraux :" -#: tutorial/controlflow.rst:272 +#: tutorial/controlflow.rst:274 msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match. If no case matches, none of the branches is executed." @@ -312,14 +315,14 @@ msgstr "" "``case`` ne fonctionne, aucune des branches indentées sous les ``case`` " "n'est exécutée." -#: tutorial/controlflow.rst:275 +#: tutorial/controlflow.rst:277 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" "On peut combiner plusieurs littéraux en un seul filtre avec le signe ``|``, " "qui se lit OU ::" -#: tutorial/controlflow.rst:280 +#: tutorial/controlflow.rst:282 msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" @@ -327,7 +330,7 @@ msgstr "" "Les filtres peuvent prendre une forme similaire aux affectations multiples, " "et provoquer la liaison de variables :" -#: tutorial/controlflow.rst:296 +#: tutorial/controlflow.rst:298 msgid "" "Study that one carefully! The first pattern has two literals, and can be " "thought of as an extension of the literal pattern shown above. But the next " @@ -343,7 +346,7 @@ msgstr "" "est constitué de deux variables, ce qui le fait beaucoup ressembler à " "l'affectation multiple ``(x, y) = point``." -#: tutorial/controlflow.rst:303 +#: tutorial/controlflow.rst:305 msgid "" "If you are using classes to structure your data you can use the class name " "followed by an argument list resembling a constructor, but with the ability " @@ -354,7 +357,7 @@ msgstr "" "Ces filtres sont semblables à l'appel d'un constructeur, et permettent de " "capturer des attributs ::" -#: tutorial/controlflow.rst:324 +#: tutorial/controlflow.rst:326 msgid "" "You can use positional parameters with some builtin classes that provide an " "ordering for their attributes (e.g. dataclasses). You can also define a " @@ -371,7 +374,7 @@ msgstr "" "(en particulier, tous provoquent la liaison de l'attribut ``y`` à la " "variable ``var``) ::" -#: tutorial/controlflow.rst:335 +#: tutorial/controlflow.rst:337 msgid "" "A recommended way to read patterns is to look at them as an extended form of " "what you would put on the left of an assignment, to understand which " @@ -390,7 +393,7 @@ msgstr "" "d'attributs (tels que ``x=`` et ``y=`` dans l'exemple précédent) et les noms " "de classes (identifiés par les parenthèses à leur droite, comme ``Point``)." -#: tutorial/controlflow.rst:342 +#: tutorial/controlflow.rst:344 msgid "" "Patterns can be arbitrarily nested. For example, if we have a short list of " "points, we could match it like this::" @@ -398,7 +401,7 @@ msgstr "" "On peut imbriquer les filtres autant que de besoin. Ainsi, on peut lire une " "courte liste de points comme ceci :" -#: tutorial/controlflow.rst:357 +#: tutorial/controlflow.rst:359 msgid "" "We can add an ``if`` clause to a pattern, known as a \"guard\". If the " "guard is false, ``match`` goes on to try the next case block. Note that " @@ -410,11 +413,11 @@ msgstr "" "variables sont liées avant l'évaluation de la garde, et peuvent être " "utilisées à l'intérieur ::" -#: tutorial/controlflow.rst:367 +#: tutorial/controlflow.rst:369 msgid "Several other key features of this statement:" msgstr "Voici d’autres caractéristiques importantes de cette instruction :" -#: tutorial/controlflow.rst:369 +#: tutorial/controlflow.rst:371 msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " "meaning and actually match arbitrary sequences. An important exception is " @@ -425,7 +428,7 @@ msgstr "" "Exception importante, ils n'autorisent pas les itérateurs ni les chaînes de " "caractères ;" -#: tutorial/controlflow.rst:373 +#: tutorial/controlflow.rst:375 msgid "" "Sequence patterns support extended unpacking: ``[x, y, *rest]`` and ``(x, y, " "*rest)`` work similar to unpacking assignments. The name after ``*`` may " @@ -439,7 +442,7 @@ msgstr "" "séquences à deux éléments ou plus, en capturant les deux premiers et en " "ignorant le reste ;" -#: tutorial/controlflow.rst:378 +#: tutorial/controlflow.rst:380 msgid "" "Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " "``\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " @@ -453,13 +456,13 @@ msgstr "" "ignorées. L'affectation double-étoilée (``**reste``) fonctionne aussi " "(cependant, ``**_`` serait redondant et n'est donc pas permis) ;" -#: tutorial/controlflow.rst:383 +#: tutorial/controlflow.rst:385 msgid "Subpatterns may be captured using the ``as`` keyword::" msgstr "" "on peut capturer la valeur d'une partie d'un filtre avec le mot-clé ``as``, " "par exemple :" -#: tutorial/controlflow.rst:387 +#: tutorial/controlflow.rst:389 msgid "" "will capture the second element of the input as ``p2`` (as long as the input " "is a sequence of two points)" @@ -467,7 +470,7 @@ msgstr "" "Ce filtre, lorsqu'il est comparé à une séquence de deux points, réussit et " "capture le second dans la variable ``p2`` ;" -#: tutorial/controlflow.rst:390 +#: tutorial/controlflow.rst:392 msgid "" "Most literals are compared by equality, however the singletons ``True``, " "``False`` and ``None`` are compared by identity." @@ -475,7 +478,7 @@ msgstr "" "la plupart des littéraux sont comparés par égalité. Néanmoins, les " "singletons ``True``, ``False`` et ``None`` sont comparés par identité ;" -#: tutorial/controlflow.rst:393 +#: tutorial/controlflow.rst:395 msgid "" "Patterns may use named constants. These must be dotted names to prevent " "them from being interpreted as capture variable::" @@ -484,7 +487,7 @@ msgstr "" "noms doivent impérativement être qualifiés (contenir un point) pour ne pas " "être interprétés comme des variables de capture ::" -#: tutorial/controlflow.rst:412 +#: tutorial/controlflow.rst:414 msgid "" "For a more detailed explanation and additional examples, you can look into :" "pep:`636` which is written in a tutorial format." @@ -492,11 +495,11 @@ msgstr "" "Pour plus d'explications et d'exemples, lire la :pep:`636` (en anglais), qui " "est écrite sous forme de tutoriel." -#: tutorial/controlflow.rst:418 +#: tutorial/controlflow.rst:420 msgid "Defining Functions" msgstr "Définir des fonctions" -#: tutorial/controlflow.rst:420 +#: tutorial/controlflow.rst:422 msgid "" "We can create a function that writes the Fibonacci series to an arbitrary " "boundary::" @@ -504,7 +507,7 @@ msgstr "" "On peut créer une fonction qui écrit la suite de Fibonacci jusqu'à une " "limite imposée ::" -#: tutorial/controlflow.rst:440 +#: tutorial/controlflow.rst:442 msgid "" "The keyword :keyword:`def` introduces a function *definition*. It must be " "followed by the function name and the parenthesized list of formal " @@ -516,7 +519,7 @@ msgstr "" "paramètres. L'instruction qui constitue le corps de la fonction débute à la " "ligne suivante et doit être indentée." -#: tutorial/controlflow.rst:445 +#: tutorial/controlflow.rst:447 msgid "" "The first statement of the function body can optionally be a string literal; " "this string literal is the function's documentation string, or :dfn:" @@ -535,7 +538,7 @@ msgstr "" "naviguer de façon interactive dans le code ; prenez-en l'habitude, c'est une " "bonne pratique que de documenter le code que vous écrivez." -#: tutorial/controlflow.rst:452 +#: tutorial/controlflow.rst:454 msgid "" "The *execution* of a function introduces a new symbol table used for the " "local variables of the function. More precisely, all variable assignments " @@ -561,7 +564,7 @@ msgstr "" "instruction :keyword:`global` et, pour les variables des fonctions " "englobantes, désignées dans une instruction :keyword:`nonlocal`)." -#: tutorial/controlflow.rst:463 +#: tutorial/controlflow.rst:465 msgid "" "The actual parameters (arguments) to a function call are introduced in the " "local symbol table of the called function when it is called; thus, arguments " @@ -578,7 +581,7 @@ msgstr "" "s'appelle elle-même par récursion, une nouvelle table de symboles locaux est " "créée pour cet appel." -#: tutorial/controlflow.rst:470 +#: tutorial/controlflow.rst:472 msgid "" "A function definition associates the function name with the function object " "in the current symbol table. The interpreter recognizes the object pointed " @@ -591,7 +594,7 @@ msgstr "" "référence à une même fonction, ils peuvent alors tous être utilisés pour " "appeler la fonction ::" -#: tutorial/controlflow.rst:481 +#: tutorial/controlflow.rst:483 msgid "" "Coming from other languages, you might object that ``fib`` is not a function " "but a procedure since it doesn't return a value. In fact, even functions " @@ -610,7 +613,7 @@ msgstr "" "Vous pouvez le constater, si vous y tenez vraiment, en utilisant :func:" "`print` ::" -#: tutorial/controlflow.rst:492 +#: tutorial/controlflow.rst:494 msgid "" "It is simple to write a function that returns a list of the numbers of the " "Fibonacci series, instead of printing it::" @@ -618,14 +621,14 @@ msgstr "" "Il est facile d'écrire une fonction qui renvoie une liste de la série de " "Fibonacci au lieu de l'afficher ::" -#: tutorial/controlflow.rst:508 +#: tutorial/controlflow.rst:510 msgid "This example, as usual, demonstrates some new Python features:" msgstr "" "Cet exemple, comme d'habitude, illustre de nouvelles fonctionnalités de " "Python :" # énumération --> pas de majuscule et point-virgule en fin de proposition. -#: tutorial/controlflow.rst:510 +#: tutorial/controlflow.rst:512 msgid "" "The :keyword:`return` statement returns with a value from a function. :" "keyword:`!return` without an expression argument returns ``None``. Falling " @@ -637,7 +640,7 @@ msgstr "" "``None`` ;" # fin d'énumération --> pas de majuscule et point final. -#: tutorial/controlflow.rst:514 +#: tutorial/controlflow.rst:516 msgid "" "The statement ``result.append(a)`` calls a *method* of the list object " "``result``. A method is a function that 'belongs' to an object and is named " @@ -663,11 +666,11 @@ msgstr "" "liste. Dans cet exemple, elle est l'équivalent de ``result = result + [a]``, " "en plus efficace." -#: tutorial/controlflow.rst:529 +#: tutorial/controlflow.rst:531 msgid "More on Defining Functions" msgstr "Davantage sur la définition des fonctions" -#: tutorial/controlflow.rst:531 +#: tutorial/controlflow.rst:533 msgid "" "It is also possible to define functions with a variable number of arguments. " "There are three forms, which can be combined." @@ -675,11 +678,11 @@ msgstr "" "Il est également possible de définir des fonctions avec un nombre variable " "d'arguments. Trois syntaxes peuvent être utilisées, éventuellement combinées." -#: tutorial/controlflow.rst:538 +#: tutorial/controlflow.rst:540 msgid "Default Argument Values" msgstr "Valeur par défaut des arguments" -#: tutorial/controlflow.rst:540 +#: tutorial/controlflow.rst:542 msgid "" "The most useful form is to specify a default value for one or more " "arguments. This creates a function that can be called with fewer arguments " @@ -689,12 +692,12 @@ msgstr "" "certains arguments. Ceci crée une fonction qui peut être appelée avec moins " "d'arguments que ceux présents dans sa définition. Par exemple ::" -#: tutorial/controlflow.rst:556 +#: tutorial/controlflow.rst:558 msgid "This function can be called in several ways:" msgstr "Cette fonction peut être appelée de plusieurs façons :" # énumération --> pas de majuscule -#: tutorial/controlflow.rst:558 +#: tutorial/controlflow.rst:560 msgid "" "giving only the mandatory argument: ``ask_ok('Do you really want to quit?')``" msgstr "" @@ -702,7 +705,7 @@ msgstr "" "want to quit?')`` ;" # énumération --> pas de majuscule et point-virgule en fin de proposition. -#: tutorial/controlflow.rst:560 +#: tutorial/controlflow.rst:562 msgid "" "giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " "2)``" @@ -711,7 +714,7 @@ msgstr "" "overwrite the file?', 2)`` ;" # fin d'énumération --> pas de majuscule et point final. -#: tutorial/controlflow.rst:562 +#: tutorial/controlflow.rst:564 msgid "" "or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come " "on, only yes or no!')``" @@ -719,7 +722,7 @@ msgstr "" "en fournissant tous les arguments : ``ask_ok('OK to overwrite the file?', 2, " "'Come on, only yes or no!')``." -#: tutorial/controlflow.rst:565 +#: tutorial/controlflow.rst:567 msgid "" "This example also introduces the :keyword:`in` keyword. This tests whether " "or not a sequence contains a certain value." @@ -727,7 +730,7 @@ msgstr "" "Cet exemple présente également le mot-clé :keyword:`in`. Celui-ci permet de " "tester si une séquence contient une certaine valeur." -#: tutorial/controlflow.rst:568 +#: tutorial/controlflow.rst:570 msgid "" "The default values are evaluated at the point of function definition in the " "*defining* scope, so that ::" @@ -735,11 +738,11 @@ msgstr "" "Les valeurs par défaut sont évaluées lors de la définition de la fonction " "dans la portée de la *définition*, de telle sorte que ::" -#: tutorial/controlflow.rst:579 +#: tutorial/controlflow.rst:581 msgid "will print ``5``." msgstr "affiche ``5``." -#: tutorial/controlflow.rst:581 +#: tutorial/controlflow.rst:583 msgid "" "**Important warning:** The default value is evaluated only once. This makes " "a difference when the default is a mutable object such as a list, " @@ -753,11 +756,11 @@ msgstr "" "arguments qui lui sont passés au fil des appels successifs ::" # pas de majuscule : ok -#: tutorial/controlflow.rst:594 +#: tutorial/controlflow.rst:596 msgid "This will print ::" msgstr "affiche ::" -#: tutorial/controlflow.rst:600 +#: tutorial/controlflow.rst:602 msgid "" "If you don't want the default to be shared between subsequent calls, you can " "write the function like this instead::" @@ -765,11 +768,11 @@ msgstr "" "Si vous ne voulez pas que cette valeur par défaut soit partagée entre des " "appels successifs, vous pouvez écrire la fonction de cette façon ::" -#: tutorial/controlflow.rst:613 +#: tutorial/controlflow.rst:615 msgid "Keyword Arguments" msgstr "Les arguments nommés" -#: tutorial/controlflow.rst:615 +#: tutorial/controlflow.rst:617 msgid "" "Functions can also be called using :term:`keyword arguments ` of the form ``kwarg=value``. For instance, the following " @@ -779,7 +782,7 @@ msgstr "" "`arguments nommés ` sous la forme ``kwarg=value``. Par " "exemple, la fonction suivante ::" -#: tutorial/controlflow.rst:624 +#: tutorial/controlflow.rst:626 msgid "" "accepts one required argument (``voltage``) and three optional arguments " "(``state``, ``action``, and ``type``). This function can be called in any " @@ -789,11 +792,11 @@ msgstr "" "(``state``, ``action`` et ``type``). Cette fonction peut être appelée de " "n'importe laquelle des façons suivantes ::" -#: tutorial/controlflow.rst:635 +#: tutorial/controlflow.rst:637 msgid "but all the following calls would be invalid::" msgstr "mais tous les appels qui suivent sont incorrects ::" -#: tutorial/controlflow.rst:642 +#: tutorial/controlflow.rst:644 msgid "" "In a function call, keyword arguments must follow positional arguments. All " "the keyword arguments passed must match one of the arguments accepted by the " @@ -812,7 +815,7 @@ msgstr "" "recevoir une valeur plus d'une fois, comme l'illustre cet exemple incorrect " "du fait de cette restriction ::" -#: tutorial/controlflow.rst:658 +#: tutorial/controlflow.rst:660 msgid "" "When a final formal parameter of the form ``**name`` is present, it receives " "a dictionary (see :ref:`typesmapping`) containing all keyword arguments " @@ -831,15 +834,15 @@ msgstr "" "formels (``*name`` doit être présent avant ``**name``). Par exemple, si vous " "définissez une fonction comme ceci ::" -#: tutorial/controlflow.rst:675 +#: tutorial/controlflow.rst:677 msgid "It could be called like this::" msgstr "Elle pourrait être appelée comme ceci ::" -#: tutorial/controlflow.rst:683 +#: tutorial/controlflow.rst:685 msgid "and of course it would print:" msgstr "et, bien sûr, elle affiche :" -#: tutorial/controlflow.rst:696 +#: tutorial/controlflow.rst:698 msgid "" "Note that the order in which the keyword arguments are printed is guaranteed " "to match the order in which they were provided in the function call." @@ -847,11 +850,11 @@ msgstr "" "Notez que Python garantit que l'ordre d'affichage des arguments est le même " "que l'ordre dans lesquels ils sont fournis lors de l'appel à la fonction." -#: tutorial/controlflow.rst:700 +#: tutorial/controlflow.rst:702 msgid "Special parameters" msgstr "Paramètres spéciaux" -#: tutorial/controlflow.rst:702 +#: tutorial/controlflow.rst:704 msgid "" "By default, arguments may be passed to a Python function either by position " "or explicitly by keyword. For readability and performance, it makes sense to " @@ -866,11 +869,11 @@ msgstr "" "définition de la fonction pour déterminer si les éléments sont transmis par " "position seule, par position ou nommé, ou seulement nommé." -#: tutorial/controlflow.rst:708 +#: tutorial/controlflow.rst:710 msgid "A function definition may look like:" msgstr "Voici à quoi ressemble une définition de fonction :" -#: tutorial/controlflow.rst:719 +#: tutorial/controlflow.rst:721 msgid "" "where ``/`` and ``*`` are optional. If used, these symbols indicate the kind " "of parameter by how the arguments may be passed to the function: positional-" @@ -882,11 +885,11 @@ msgstr "" "fonction : position seule, position ou nommé, et seulement nommé. Les " "paramètres par mot-clé sont aussi appelés paramètres nommés." -#: tutorial/controlflow.rst:726 +#: tutorial/controlflow.rst:728 msgid "Positional-or-Keyword Arguments" msgstr "Les arguments positionnels-ou-nommés" -#: tutorial/controlflow.rst:728 +#: tutorial/controlflow.rst:730 msgid "" "If ``/`` and ``*`` are not present in the function definition, arguments may " "be passed to a function by position or by keyword." @@ -894,11 +897,11 @@ msgstr "" "Si ``/`` et ``*`` ne sont pas présents dans la définition de fonction, les " "arguments peuvent être passés à une fonction par position ou par nommés." -#: tutorial/controlflow.rst:733 +#: tutorial/controlflow.rst:735 msgid "Positional-Only Parameters" msgstr "Paramètres positionnels uniquement" -#: tutorial/controlflow.rst:735 +#: tutorial/controlflow.rst:737 msgid "" "Looking at this in a bit more detail, it is possible to mark certain " "parameters as *positional-only*. If *positional-only*, the parameters' order " @@ -917,7 +920,7 @@ msgstr "" "des paramètres. S'il n'y a pas de ``/`` dans la définition de fonction, il " "n'y a pas de paramètres « positionnels uniquement »." -#: tutorial/controlflow.rst:743 +#: tutorial/controlflow.rst:745 msgid "" "Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" "only*." @@ -925,11 +928,11 @@ msgstr "" "Les paramètres qui suivent le ``/`` peuvent être *positionnels-ou-nommés* ou " "*nommés-uniquement*." -#: tutorial/controlflow.rst:747 +#: tutorial/controlflow.rst:749 msgid "Keyword-Only Arguments" msgstr "Arguments nommés uniquement" -#: tutorial/controlflow.rst:749 +#: tutorial/controlflow.rst:751 msgid "" "To mark parameters as *keyword-only*, indicating the parameters must be " "passed by keyword argument, place an ``*`` in the arguments list just before " @@ -940,11 +943,11 @@ msgstr "" "``*`` dans la liste des arguments juste avant le premier paramètre " "*uniquement nommé*." -#: tutorial/controlflow.rst:755 +#: tutorial/controlflow.rst:757 msgid "Function Examples" msgstr "Exemples de fonctions" -#: tutorial/controlflow.rst:757 +#: tutorial/controlflow.rst:759 msgid "" "Consider the following example function definitions paying close attention " "to the markers ``/`` and ``*``::" @@ -952,7 +955,7 @@ msgstr "" "Considérons l'exemple suivant de définitions de fonctions en portant une " "attention particulière aux marqueurs ``/`` et ``*`` ::" -#: tutorial/controlflow.rst:773 +#: tutorial/controlflow.rst:775 msgid "" "The first function definition, ``standard_arg``, the most familiar form, " "places no restrictions on the calling convention and arguments may be passed " @@ -962,7 +965,7 @@ msgstr "" "familière, n'impose aucune restriction sur la convention d'appel et les " "arguments peuvent être passés par position ou nommés ::" -#: tutorial/controlflow.rst:783 +#: tutorial/controlflow.rst:785 msgid "" "The second function ``pos_only_arg`` is restricted to only use positional " "parameters as there is a ``/`` in the function definition::" @@ -970,7 +973,7 @@ msgstr "" "La deuxième fonction ``pos_only_arg`` restreint le passage aux seuls " "arguments par position car il y a un ``/`` dans la définition de fonction ::" -#: tutorial/controlflow.rst:794 +#: tutorial/controlflow.rst:796 msgid "" "The third function ``kwd_only_args`` only allows keyword arguments as " "indicated by a ``*`` in the function definition::" @@ -978,7 +981,7 @@ msgstr "" "La troisième fonction ``kwd_only_args`` n'autorise que les arguments nommés " "comme l'indique le ``*`` dans la définition de fonction ::" -#: tutorial/controlflow.rst:805 +#: tutorial/controlflow.rst:807 msgid "" "And the last uses all three calling conventions in the same function " "definition::" @@ -986,7 +989,7 @@ msgstr "" "Et la dernière utilise les trois conventions d'appel dans la même définition " "de fonction ::" -#: tutorial/controlflow.rst:825 +#: tutorial/controlflow.rst:827 msgid "" "Finally, consider this function definition which has a potential collision " "between the positional argument ``name`` and ``**kwds`` which has ``name`` " @@ -996,7 +999,7 @@ msgstr "" "potentielle entre l'argument positionnel ``name`` et ``**kwds`` qui a " "``name`` comme mot-clé ::" -#: tutorial/controlflow.rst:830 +#: tutorial/controlflow.rst:832 msgid "" "There is no possible call that will make it return ``True`` as the keyword " "``'name'`` will always bind to the first parameter. For example::" @@ -1004,7 +1007,7 @@ msgstr "" "Il n'y a pas d'appel possible qui renvoie ``True`` car le mot-clé ``'name'`` " "est toujours lié au premier paramètre. Par exemple ::" -#: tutorial/controlflow.rst:839 +#: tutorial/controlflow.rst:841 msgid "" "But using ``/`` (positional only arguments), it is possible since it allows " "``name`` as a positional argument and ``'name'`` as a key in the keyword " @@ -1014,7 +1017,7 @@ msgstr "" "puisqu'il permet d'utiliser ``name`` comme argument positionnel et " "``'name'`` comme mot-clé dans les arguments nommés ::" -#: tutorial/controlflow.rst:846 +#: tutorial/controlflow.rst:848 msgid "" "In other words, the names of positional-only parameters can be used in " "``**kwds`` without ambiguity." @@ -1022,11 +1025,11 @@ msgstr "" "En d'autres termes, les noms des paramètres seulement positionnels peuvent " "être utilisés sans ambiguïté dans ``**kwds``." -#: tutorial/controlflow.rst:851 +#: tutorial/controlflow.rst:853 msgid "Recap" msgstr "Récapitulatif" -#: tutorial/controlflow.rst:853 +#: tutorial/controlflow.rst:855 msgid "" "The use case will determine which parameters to use in the function " "definition::" @@ -1034,12 +1037,12 @@ msgstr "" "Le cas d'utilisation détermine les paramètres à utiliser dans la définition " "de fonction ::" -#: tutorial/controlflow.rst:857 +#: tutorial/controlflow.rst:859 msgid "As guidance:" msgstr "Quelques conseils :" # énumération --> pas de majuscule et point-virgule en fin de proposition. -#: tutorial/controlflow.rst:859 +#: tutorial/controlflow.rst:861 msgid "" "Use positional-only if you want the name of the parameters to not be " "available to the user. This is useful when parameter names have no real " @@ -1054,7 +1057,7 @@ msgstr "" "de prendre certains paramètres positionnels et mots-clés arbitraires ;" # énumération --> pas de majuscule et point-virgule en fin de proposition. -#: tutorial/controlflow.rst:864 +#: tutorial/controlflow.rst:866 msgid "" "Use keyword-only when names have meaning and the function definition is more " "understandable by being explicit with names or you want to prevent users " @@ -1066,7 +1069,7 @@ msgstr "" "l'argument qui est passé ;" # fin d'énumération -#: tutorial/controlflow.rst:867 +#: tutorial/controlflow.rst:869 msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." @@ -1074,11 +1077,11 @@ msgstr "" "dans le cas d'une API, utilisez les paramètres seulement positionnels pour " "éviter de casser l'API si le nom du paramètre est modifié dans l'avenir." -#: tutorial/controlflow.rst:873 +#: tutorial/controlflow.rst:875 msgid "Arbitrary Argument Lists" msgstr "Listes d'arguments arbitraires" -#: tutorial/controlflow.rst:878 +#: tutorial/controlflow.rst:880 msgid "" "Finally, the least frequently used option is to specify that a function can " "be called with an arbitrary number of arguments. These arguments will be " @@ -1091,7 +1094,7 @@ msgstr "" "nombre variable d'arguments, zéro ou plus arguments normaux peuvent " "apparaître ::" -#: tutorial/controlflow.rst:887 +#: tutorial/controlflow.rst:889 msgid "" "Normally, these *variadic* arguments will be last in the list of formal " "parameters, because they scoop up all remaining input arguments that are " @@ -1104,11 +1107,11 @@ msgstr "" "après le paramètre ``*arg`` ne pourra être utilisé que comme argument nommé, " "pas comme argument positionnel ::" -#: tutorial/controlflow.rst:904 +#: tutorial/controlflow.rst:906 msgid "Unpacking Argument Lists" msgstr "Séparation des listes d'arguments" -#: tutorial/controlflow.rst:906 +#: tutorial/controlflow.rst:908 msgid "" "The reverse situation occurs when the arguments are already in a list or " "tuple but need to be unpacked for a function call requiring separate " @@ -1125,7 +1128,7 @@ msgstr "" "l'opérateur ``*`` pour séparer les arguments présents dans une liste ou un " "*n*-uplet ::" -#: tutorial/controlflow.rst:922 +#: tutorial/controlflow.rst:924 msgid "" "In the same fashion, dictionaries can deliver keyword arguments with the " "``**``\\ -operator::" @@ -1133,11 +1136,11 @@ msgstr "" "De la même façon, les dictionnaires peuvent fournir des arguments nommés en " "utilisant l'opérateur ``**`` ::" -#: tutorial/controlflow.rst:938 +#: tutorial/controlflow.rst:940 msgid "Lambda Expressions" msgstr "Fonctions anonymes" -#: tutorial/controlflow.rst:940 +#: tutorial/controlflow.rst:942 msgid "" "Small anonymous functions can be created with the :keyword:`lambda` keyword. " "This function returns the sum of its two arguments: ``lambda a, b: a+b``. " @@ -1155,7 +1158,7 @@ msgstr "" "définition de fonction normale. Comme les fonctions imbriquées, les " "fonctions lambda peuvent référencer des variables de la portée englobante ::" -#: tutorial/controlflow.rst:957 +#: tutorial/controlflow.rst:959 msgid "" "The above example uses a lambda expression to return a function. Another " "use is to pass a small function as an argument::" @@ -1164,11 +1167,11 @@ msgstr "" "Une autre utilisation classique est de donner une fonction minimaliste " "directement en tant que paramètre ::" -#: tutorial/controlflow.rst:969 +#: tutorial/controlflow.rst:971 msgid "Documentation Strings" msgstr "Chaînes de documentation" -#: tutorial/controlflow.rst:976 +#: tutorial/controlflow.rst:978 msgid "" "Here are some conventions about the content and formatting of documentation " "strings." @@ -1176,7 +1179,7 @@ msgstr "" "Voici quelques conventions concernant le contenu et le format des chaînes de " "documentation." -#: tutorial/controlflow.rst:979 +#: tutorial/controlflow.rst:981 msgid "" "The first line should always be a short, concise summary of the object's " "purpose. For brevity, it should not explicitly state the object's name or " @@ -1190,7 +1193,7 @@ msgstr "" "si le nom est un verbe qui décrit une opération). La convention veut que la " "ligne commence par une majuscule et se termine par un point." -#: tutorial/controlflow.rst:985 +#: tutorial/controlflow.rst:987 msgid "" "If there are more lines in the documentation string, the second line should " "be blank, visually separating the summary from the rest of the description. " @@ -1202,7 +1205,7 @@ msgstr "" "Les autres lignes peuvent alors constituer un ou plusieurs paragraphes " "décrivant le mode d'utilisation de l'objet, ses effets de bord, etc." -#: tutorial/controlflow.rst:990 +#: tutorial/controlflow.rst:992 msgid "" "The Python parser does not strip indentation from multi-line string literals " "in Python, so tools that process documentation have to strip indentation if " @@ -1230,15 +1233,15 @@ msgstr "" "début de ligne doivent être supprimées. L'équivalent des espaces doit être " "testé après expansion des tabulations (normalement remplacées par 8 espaces)." -#: tutorial/controlflow.rst:1002 +#: tutorial/controlflow.rst:1004 msgid "Here is an example of a multi-line docstring::" msgstr "Voici un exemple de chaîne de documentation multi-lignes ::" -#: tutorial/controlflow.rst:1020 +#: tutorial/controlflow.rst:1022 msgid "Function Annotations" msgstr "Annotations de fonctions" -#: tutorial/controlflow.rst:1028 +#: tutorial/controlflow.rst:1030 msgid "" ":ref:`Function annotations ` are completely optional metadata " "information about the types used by user-defined functions (see :pep:`3107` " @@ -1248,7 +1251,7 @@ msgstr "" "optionnelles décrivant les types utilisés par une fonction définie par " "l'utilisateur (voir les :pep:`3107` et :pep:`484` pour plus d'informations)." -#: tutorial/controlflow.rst:1032 +#: tutorial/controlflow.rst:1034 msgid "" ":term:`Annotations ` are stored in the :attr:" "`__annotations__` attribute of the function as a dictionary and have no " @@ -1268,11 +1271,11 @@ msgstr "" "points de fin de l'instruction :keyword:`def`. L'exemple suivant a un " "paramètre requis, un paramètre optionnel et la valeur de retour annotés ::" -#: tutorial/controlflow.rst:1054 +#: tutorial/controlflow.rst:1056 msgid "Intermezzo: Coding Style" msgstr "Aparté : le style de codage" -#: tutorial/controlflow.rst:1059 +#: tutorial/controlflow.rst:1061 msgid "" "Now that you are about to write longer, more complex pieces of Python, it is " "a good time to talk about *coding style*. Most languages can be written (or " @@ -1287,7 +1290,7 @@ msgstr "" "votre code plus facile aux autres est toujours une bonne idée et adopter un " "bon style de codage peut énormément vous y aider." -#: tutorial/controlflow.rst:1065 +#: tutorial/controlflow.rst:1067 msgid "" "For Python, :pep:`8` has emerged as the style guide that most projects " "adhere to; it promotes a very readable and eye-pleasing coding style. Every " @@ -1299,11 +1302,11 @@ msgstr "" "Chaque développeur Python se doit donc de la lire et de s'en inspirer autant " "que possible ; voici ses principaux points notables :" -#: tutorial/controlflow.rst:1070 +#: tutorial/controlflow.rst:1072 msgid "Use 4-space indentation, and no tabs." msgstr "utilisez des indentations de 4 espaces et pas de tabulation." -#: tutorial/controlflow.rst:1072 +#: tutorial/controlflow.rst:1074 msgid "" "4 spaces are a good compromise between small indentation (allows greater " "nesting depth) and large indentation (easier to read). Tabs introduce " @@ -1314,13 +1317,13 @@ msgstr "" "le code plus facile à lire). Les tabulations introduisent de la confusion et " "doivent être proscrites autant que possible ;" -#: tutorial/controlflow.rst:1076 +#: tutorial/controlflow.rst:1078 msgid "Wrap lines so that they don't exceed 79 characters." msgstr "" "faites en sorte que les lignes ne dépassent pas 79 caractères, au besoin en " "insérant des retours à la ligne." -#: tutorial/controlflow.rst:1078 +#: tutorial/controlflow.rst:1080 msgid "" "This helps users with small displays and makes it possible to have several " "code files side-by-side on larger displays." @@ -1329,7 +1332,7 @@ msgstr "" "écran et, pour les autres, cela leur permet de visualiser plusieurs fichiers " "côte à côte ;" -#: tutorial/controlflow.rst:1081 +#: tutorial/controlflow.rst:1083 msgid "" "Use blank lines to separate functions and classes, and larger blocks of code " "inside functions." @@ -1337,16 +1340,16 @@ msgstr "" "utilisez des lignes vides pour séparer les fonctions et les classes, ou pour " "scinder de gros blocs de code à l'intérieur de fonctions ;" -#: tutorial/controlflow.rst:1084 +#: tutorial/controlflow.rst:1086 msgid "When possible, put comments on a line of their own." msgstr "" "lorsque c'est possible, placez les commentaires sur leurs propres lignes ;" -#: tutorial/controlflow.rst:1086 +#: tutorial/controlflow.rst:1088 msgid "Use docstrings." msgstr "utilisez les chaînes de documentation ;" -#: tutorial/controlflow.rst:1088 +#: tutorial/controlflow.rst:1090 msgid "" "Use spaces around operators and after commas, but not directly inside " "bracketing constructs: ``a = f(1, 2) + g(3, 4)``." @@ -1354,7 +1357,7 @@ msgstr "" "utilisez des espaces autour des opérateurs et après les virgules, mais pas " "juste à l'intérieur des parenthèses : ``a = f(1, 2) + g(3, 4)`` ;" -#: tutorial/controlflow.rst:1091 +#: tutorial/controlflow.rst:1093 msgid "" "Name your classes and functions consistently; the convention is to use " "``UpperCamelCase`` for classes and ``lowercase_with_underscores`` for " @@ -1367,7 +1370,7 @@ msgstr "" "toujours ``self`` comme nom du premier argument des méthodes (voyez :ref:" "`tut-firstclasses` pour en savoir plus sur les classes et les méthodes) ;" -#: tutorial/controlflow.rst:1096 +#: tutorial/controlflow.rst:1098 msgid "" "Don't use fancy encodings if your code is meant to be used in international " "environments. Python's default, UTF-8, or even plain ASCII work best in any " @@ -1377,7 +1380,7 @@ msgstr "" "utilisé dans des environnements internationaux. Par défaut, Python travaille " "en UTF-8. Pour couvrir tous les cas, préférez le simple ASCII ;" -#: tutorial/controlflow.rst:1100 +#: tutorial/controlflow.rst:1102 msgid "" "Likewise, don't use non-ASCII characters in identifiers if there is only the " "slightest chance people speaking a different language will read or maintain " @@ -1387,11 +1390,11 @@ msgstr "" "variables s'il est envisageable qu'une personne parlant une autre langue " "lise ou doive modifier votre code." -#: tutorial/controlflow.rst:1106 +#: tutorial/controlflow.rst:1108 msgid "Footnotes" msgstr "Notes" -#: tutorial/controlflow.rst:1107 +#: tutorial/controlflow.rst:1109 msgid "" "Actually, *call by object reference* would be a better description, since if " "a mutable object is passed, the caller will see any changes the callee makes " diff --git a/tutorial/errors.po b/tutorial/errors.po index 2f66d0ee61..8c42d71f85 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-18 12:44+0200\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -372,39 +372,40 @@ msgstr "Chaînage d'exceptions" #: tutorial/errors.rst:278 msgid "" -"The :keyword:`raise` statement allows an optional :keyword:`from` " -"which enables chaining exceptions. For example::" +"If an unhandled exception occurs inside an :keyword:`except` section, it " +"will have the exception being handled attached to it and included in the " +"error message::" msgstr "" -"L'instruction :keyword:`raise` autorise un :keyword:`from` optionnel " -"qui permet de chaîner les exceptions. Par exemple ::" -#: tutorial/errors.rst:284 +#: tutorial/errors.rst:297 +msgid "" +"To indicate that an exception is a direct consequence of another, the :" +"keyword:`raise` statement allows an optional :keyword:`from` clause::" +msgstr "" + +#: tutorial/errors.rst:303 msgid "This can be useful when you are transforming exceptions. For example::" msgstr "" "Cela peut être utile lorsque vous transformez des exceptions. Par exemple ::" -#: tutorial/errors.rst:305 +#: tutorial/errors.rst:324 msgid "" -"Exception chaining happens automatically when an exception is raised inside " -"an :keyword:`except` or :keyword:`finally` section. This can be disabled by " -"using ``from None`` idiom:" +"It also allows disabling automatic exception chaining using the ``from " +"None`` idiom::" msgstr "" -"Le chaînage d'exceptions se produit automatiquement lorsqu'une exception est " -"levée dans une section :keyword:`except` ou :keyword:`finally`. Le chaînage " -"d'exceptions peut être désactivé en utilisant l'idiome ``from None`` :" -#: tutorial/errors.rst:318 +#: tutorial/errors.rst:336 msgid "" "For more information about chaining mechanics, see :ref:`bltin-exceptions`." msgstr "" "Pour plus d'informations sur les mécanismes de chaînage, voir :ref:`bltin-" "exceptions`." -#: tutorial/errors.rst:324 +#: tutorial/errors.rst:342 msgid "User-defined Exceptions" msgstr "Exceptions définies par l'utilisateur" -#: tutorial/errors.rst:326 +#: tutorial/errors.rst:344 msgid "" "Programs may name their own exceptions by creating a new exception class " "(see :ref:`tut-classes` for more about Python classes). Exceptions should " @@ -416,7 +417,7 @@ msgstr "" "les classes de Python). Les exceptions sont typiquement dérivées de la " "classe :exc:`Exception`, directement ou non." -#: tutorial/errors.rst:330 +#: tutorial/errors.rst:348 msgid "" "Exception classes can be defined which do anything any other class can do, " "but are usually kept simple, often only offering a number of attributes that " @@ -429,7 +430,7 @@ msgstr "" "permettent aux gestionnaires de ces exceptions d'extraire les informations " "relatives à l'erreur qui s'est produite." -#: tutorial/errors.rst:334 +#: tutorial/errors.rst:352 msgid "" "Most exceptions are defined with names that end in \"Error\", similar to the " "naming of the standard exceptions." @@ -437,7 +438,7 @@ msgstr "" "La plupart des exceptions sont définies avec des noms qui se terminent par " "\"Error\", comme les exceptions standards." -#: tutorial/errors.rst:337 +#: tutorial/errors.rst:355 msgid "" "Many standard modules define their own exceptions to report errors that may " "occur in functions they define. More information on classes is presented in " @@ -448,11 +449,11 @@ msgstr "" "d'informations sur les classes sont présentées dans le chapitre :ref:`tut-" "classes`." -#: tutorial/errors.rst:345 +#: tutorial/errors.rst:363 msgid "Defining Clean-up Actions" msgstr "Définition d'actions de nettoyage" -#: tutorial/errors.rst:347 +#: tutorial/errors.rst:365 msgid "" "The :keyword:`try` statement has another optional clause which is intended " "to define clean-up actions that must be executed under all circumstances. " @@ -462,7 +463,7 @@ msgstr "" "à définir des actions de nettoyage devant être exécutées dans certaines " "circonstances. Par exemple ::" -#: tutorial/errors.rst:361 +#: tutorial/errors.rst:379 msgid "" "If a :keyword:`finally` clause is present, the :keyword:`!finally` clause " "will execute as the last task before the :keyword:`try` statement completes. " @@ -476,7 +477,7 @@ msgstr "" "exception ou non. Les prochains points parlent de cas plus complexes " "lorsqu'une exception apparait :" -#: tutorial/errors.rst:367 +#: tutorial/errors.rst:385 msgid "" "If an exception occurs during execution of the :keyword:`!try` clause, the " "exception may be handled by an :keyword:`except` clause. If the exception is " @@ -488,7 +489,7 @@ msgstr "" "n'est pas récupérée par une clause :keyword:`!except`, l'exception est levée " "à nouveau après que la clause :keyword:`!finally` a été exécutée." -#: tutorial/errors.rst:373 +#: tutorial/errors.rst:391 msgid "" "An exception could occur during execution of an :keyword:`!except` or :" "keyword:`!else` clause. Again, the exception is re-raised after the :keyword:" @@ -498,7 +499,7 @@ msgstr "" "except` ou :keyword:`!else`. Encore une fois, l'exception est reprise après " "que la clause :keyword:`!finally` a été exécutée." -#: tutorial/errors.rst:377 +#: tutorial/errors.rst:395 msgid "" "If the :keyword:`!finally` clause executes a :keyword:`break`, :keyword:" "`continue` or :keyword:`return` statement, exceptions are not re-raised." @@ -507,7 +508,7 @@ msgstr "" "instruction :keyword:`break`, :keyword:`continue` ou :keyword:`return`, " "alors les exceptions ne sont pas reprises." -#: tutorial/errors.rst:381 +#: tutorial/errors.rst:399 msgid "" "If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:" "`continue` or :keyword:`return` statement, the :keyword:`!finally` clause " @@ -519,7 +520,7 @@ msgstr "" "keyword:`!finally` s'exécute juste avant l'exécution de :keyword:`!break`, :" "keyword:`!continue` ou :keyword:`!return`." -#: tutorial/errors.rst:387 +#: tutorial/errors.rst:405 msgid "" "If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the " "returned value will be the one from the :keyword:`!finally` clause's :" @@ -531,15 +532,15 @@ msgstr "" "keyword:`!finally`, et non la valeur du :keyword:`!return` de la clause :" "keyword:`!try`." -#: tutorial/errors.rst:393 +#: tutorial/errors.rst:411 msgid "For example::" msgstr "Par exemple ::" -#: tutorial/errors.rst:404 +#: tutorial/errors.rst:422 msgid "A more complicated example::" msgstr "Un exemple plus compliqué ::" -#: tutorial/errors.rst:429 +#: tutorial/errors.rst:447 msgid "" "As you can see, the :keyword:`finally` clause is executed in any event. " "The :exc:`TypeError` raised by dividing two strings is not handled by the :" @@ -552,7 +553,7 @@ msgstr "" "`except` et est donc propagée après que la clause :keyword:`!finally` a été " "exécutée." -#: tutorial/errors.rst:434 +#: tutorial/errors.rst:452 msgid "" "In real world applications, the :keyword:`finally` clause is useful for " "releasing external resources (such as files or network connections), " @@ -562,11 +563,11 @@ msgstr "" "utile pour libérer des ressources externes (telles que des fichiers ou des " "connexions réseau), quelle qu'ait été l'utilisation de ces ressources." -#: tutorial/errors.rst:442 +#: tutorial/errors.rst:460 msgid "Predefined Clean-up Actions" msgstr "Actions de nettoyage prédéfinies" -#: tutorial/errors.rst:444 +#: tutorial/errors.rst:462 msgid "" "Some objects define standard clean-up actions to be undertaken when the " "object is no longer needed, regardless of whether or not the operation using " @@ -578,7 +579,7 @@ msgstr "" "que l'opération ayant utilisé l'objet ait réussi ou non. Regardez l'exemple " "suivant, qui tente d'ouvrir un fichier et d'afficher son contenu à l'écran ::" -#: tutorial/errors.rst:452 +#: tutorial/errors.rst:470 msgid "" "The problem with this code is that it leaves the file open for an " "indeterminate amount of time after this part of the code has finished " @@ -594,7 +595,7 @@ msgstr "" "objets comme des fichiers d'une façon qui assure qu'ils seront toujours " "nettoyés rapidement et correctement. ::" -#: tutorial/errors.rst:462 +#: tutorial/errors.rst:480 msgid "" "After the statement is executed, the file *f* is always closed, even if a " "problem was encountered while processing the lines. Objects which, like " @@ -605,3 +606,20 @@ msgstr "" "problème est survenu pendant l'exécution de ces lignes. D'autres objets qui, " "comme pour les fichiers, fournissent des actions de nettoyage prédéfinies " "l'indiquent dans leur documentation." + +#~ msgid "" +#~ "The :keyword:`raise` statement allows an optional :keyword:`from` " +#~ "which enables chaining exceptions. For example::" +#~ msgstr "" +#~ "L'instruction :keyword:`raise` autorise un :keyword:`from` " +#~ "optionnel qui permet de chaîner les exceptions. Par exemple ::" + +#~ msgid "" +#~ "Exception chaining happens automatically when an exception is raised " +#~ "inside an :keyword:`except` or :keyword:`finally` section. This can be " +#~ "disabled by using ``from None`` idiom:" +#~ msgstr "" +#~ "Le chaînage d'exceptions se produit automatiquement lorsqu'une exception " +#~ "est levée dans une section :keyword:`except` ou :keyword:`finally`. Le " +#~ "chaînage d'exceptions peut être désactivé en utilisant l'idiome ``from " +#~ "None`` :" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 8b9220ee60..6585b9bf12 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-24 18:30+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -188,22 +188,31 @@ msgstr "" #: tutorial/inputoutput.rst:136 msgid "" -"For a reference on these format specifications, see the reference guide for " -"the :ref:`formatspec`." +"The ``=`` specifier can be used to expand an expression to the text of the " +"expression, an equal sign, then the representation of the evaluated " +"expression:" +msgstr "" + +#: tutorial/inputoutput.rst:145 +#, fuzzy +msgid "" +"See :ref:`self-documenting expressions ` for more " +"information on the ``=`` specifier. For a reference on these format " +"specifications, see the reference guide for the :ref:`formatspec`." msgstr "" "Pour une référence sur ces spécifications de formats, voir le guide de " "référence pour les :ref:`formatspec`." -#: tutorial/inputoutput.rst:142 +#: tutorial/inputoutput.rst:152 msgid "The String format() Method" msgstr "La méthode de chaine de caractères ``format()``" -#: tutorial/inputoutput.rst:144 +#: tutorial/inputoutput.rst:154 msgid "Basic usage of the :meth:`str.format` method looks like this::" msgstr "" "L'utilisation de base de la méthode :meth:`str.format` ressemble à ceci ::" -#: tutorial/inputoutput.rst:149 +#: tutorial/inputoutput.rst:159 msgid "" "The brackets and characters within them (called format fields) are replaced " "with the objects passed into the :meth:`str.format` method. A number in the " @@ -215,7 +224,7 @@ msgstr "" "meth:`str.format`. Un nombre entre accolades se réfère à la position de " "l'objet passé à la méthode :meth:`str.format`. ::" -#: tutorial/inputoutput.rst:159 +#: tutorial/inputoutput.rst:169 msgid "" "If keyword arguments are used in the :meth:`str.format` method, their values " "are referred to by using the name of the argument. ::" @@ -223,12 +232,12 @@ msgstr "" "Si des arguments nommés sont utilisés dans la méthode :meth:`str.format`, " "leurs valeurs sont utilisées en se basant sur le nom des arguments ::" -#: tutorial/inputoutput.rst:166 +#: tutorial/inputoutput.rst:176 msgid "Positional and keyword arguments can be arbitrarily combined::" msgstr "" "Les arguments positionnés et nommés peuvent être combinés arbitrairement ::" -#: tutorial/inputoutput.rst:172 +#: tutorial/inputoutput.rst:182 msgid "" "If you have a really long format string that you don't want to split up, it " "would be nice if you could reference the variables to be formatted by name " @@ -240,15 +249,16 @@ msgstr "" "nom plutôt que par leur position. Utilisez simplement un dictionnaire et la " "notation entre crochets ``'[]'`` pour accéder aux clés ::" -#: tutorial/inputoutput.rst:182 +#: tutorial/inputoutput.rst:192 +#, fuzzy msgid "" -"This could also be done by passing the table as keyword arguments with the " -"'**' notation. ::" +"This could also be done by passing the ``table`` dictionary as keyword " +"arguments with the ``**`` notation. ::" msgstr "" "Vous pouvez obtenir le même résultat en passant le tableau comme des " "arguments nommés en utilisant la notation ``**`` ::" -#: tutorial/inputoutput.rst:189 +#: tutorial/inputoutput.rst:199 msgid "" "This is particularly useful in combination with the built-in function :func:" "`vars`, which returns a dictionary containing all local variables." @@ -256,16 +266,17 @@ msgstr "" "C'est particulièrement utile en combinaison avec la fonction native :func:" "`vars` qui renvoie un dictionnaire contenant toutes les variables locales." -#: tutorial/inputoutput.rst:192 +#: tutorial/inputoutput.rst:202 +#, fuzzy msgid "" -"As an example, the following lines produce a tidily-aligned set of columns " +"As an example, the following lines produce a tidily aligned set of columns " "giving integers and their squares and cubes::" msgstr "" "À titre d’exemple, les lignes suivantes produisent un ensemble de colonnes " "alignées de façon ordonnée donnant les entiers, leurs carrés et leurs " "cubes ::" -#: tutorial/inputoutput.rst:209 +#: tutorial/inputoutput.rst:219 msgid "" "For a complete overview of string formatting with :meth:`str.format`, see :" "ref:`formatstrings`." @@ -273,15 +284,15 @@ msgstr "" "Pour avoir une description complète du formatage des chaînes de caractères " "avec la méthode :meth:`str.format`, lisez : :ref:`formatstrings`." -#: tutorial/inputoutput.rst:214 +#: tutorial/inputoutput.rst:224 msgid "Manual String Formatting" msgstr "Formatage de chaînes à la main" -#: tutorial/inputoutput.rst:216 +#: tutorial/inputoutput.rst:226 msgid "Here's the same table of squares and cubes, formatted manually::" msgstr "Voici le même tableau de carrés et de cubes, formaté à la main ::" -#: tutorial/inputoutput.rst:234 +#: tutorial/inputoutput.rst:244 msgid "" "(Note that the one space between each column was added by the way :func:" "`print` works: it always adds spaces between its arguments.)" @@ -289,7 +300,7 @@ msgstr "" "(Remarquez que l'espace séparant les colonnes vient de la manière dont :func:" "`print` fonctionne : il ajoute toujours des espaces entre ses arguments.)" -#: tutorial/inputoutput.rst:237 +#: tutorial/inputoutput.rst:247 msgid "" "The :meth:`str.rjust` method of string objects right-justifies a string in a " "field of a given width by padding it with spaces on the left. There are " @@ -311,7 +322,7 @@ msgstr "" "valeurs, vous pouvez toujours utiliser une tranche, comme dans ``x.ljust(n)[:" "n]``)." -#: tutorial/inputoutput.rst:246 +#: tutorial/inputoutput.rst:256 msgid "" "There is another method, :meth:`str.zfill`, which pads a numeric string on " "the left with zeros. It understands about plus and minus signs::" @@ -319,11 +330,11 @@ msgstr "" "Il existe une autre méthode, :meth:`str.zfill`, qui comble une chaîne " "numérique à gauche avec des zéros. Elle comprend les signes plus et moins ::" -#: tutorial/inputoutput.rst:258 +#: tutorial/inputoutput.rst:268 msgid "Old string formatting" msgstr "Anciennes méthodes de formatage de chaînes" -#: tutorial/inputoutput.rst:260 +#: tutorial/inputoutput.rst:270 msgid "" "The % operator (modulo) can also be used for string formatting. Given " "``'string' % values``, instances of ``%`` in ``string`` are replaced with " @@ -336,18 +347,18 @@ msgstr "" "plusieurs d'éléments de ``values``. Cette opération est communément appelée " "interpolation de chaîne de caractères. Par exemple ::" -#: tutorial/inputoutput.rst:269 +#: tutorial/inputoutput.rst:279 msgid "" "More information can be found in the :ref:`old-string-formatting` section." msgstr "" "Vous trouvez plus d'informations dans la section :ref:`old-string-" "formatting`." -#: tutorial/inputoutput.rst:275 +#: tutorial/inputoutput.rst:285 msgid "Reading and Writing Files" msgstr "Lecture et écriture de fichiers" -#: tutorial/inputoutput.rst:281 +#: tutorial/inputoutput.rst:291 msgid "" ":func:`open` returns a :term:`file object`, and is most commonly used with " "two positional arguments and one keyword argument: ``open(filename, mode, " @@ -357,7 +368,7 @@ msgstr "" "souvent utilisée avec deux arguments positionnels et un argument nommé : " "``open(filename, mode, encoding=None)``" -#: tutorial/inputoutput.rst:294 +#: tutorial/inputoutput.rst:304 msgid "" "The first argument is a string containing the filename. The second argument " "is another string containing a few characters describing the way in which " @@ -377,7 +388,7 @@ msgstr "" "ajoutée à la fin). ``'r+'`` ouvre le fichier en mode lecture/écriture. " "L'argument *mode* est optionnel, sa valeur par défaut est ``'r'``." -#: tutorial/inputoutput.rst:303 +#: tutorial/inputoutput.rst:313 msgid "" "Normally, files are opened in :dfn:`text mode`, that means, you read and " "write strings from and to the file, which are encoded in a specific " @@ -399,7 +410,7 @@ msgstr "" "d’objets :class:`bytes`. Vous ne pouvez pas spécifier *encoding* lorsque " "vous ouvrez un fichier en mode binaire." -#: tutorial/inputoutput.rst:313 +#: tutorial/inputoutput.rst:323 msgid "" "In text mode, the default when reading is to convert platform-specific line " "endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " @@ -419,7 +430,7 @@ msgstr "" "`EXE`. Soyez particulièrement attentifs à ouvrir ces fichiers binaires en " "mode binaire." -#: tutorial/inputoutput.rst:321 +#: tutorial/inputoutput.rst:331 msgid "" "It is good practice to use the :keyword:`with` keyword when dealing with " "file objects. The advantage is that the file is properly closed after its " @@ -433,7 +444,7 @@ msgstr "" "beaucoup plus court que d'utiliser l'équivalent avec des blocs :keyword:" "`try`\\ …\\ :keyword:`finally` ::" -#: tutorial/inputoutput.rst:334 +#: tutorial/inputoutput.rst:344 msgid "" "If you're not using the :keyword:`with` keyword, then you should call ``f." "close()`` to close the file and immediately free up any system resources " @@ -443,7 +454,7 @@ msgstr "" "close()`` pour fermer le fichier, et ainsi immédiatement libérer les " "ressources qu'il utilise." -#: tutorial/inputoutput.rst:339 +#: tutorial/inputoutput.rst:349 msgid "" "Calling ``f.write()`` without using the :keyword:`!with` keyword or calling " "``f.close()`` **might** result in the arguments of ``f.write()`` not being " @@ -454,7 +465,7 @@ msgstr "" "write()`` ne seraient pas complètement écrits sur le disque, même si le " "programme se termine avec succès." -#: tutorial/inputoutput.rst:347 +#: tutorial/inputoutput.rst:357 msgid "" "After a file object is closed, either by a :keyword:`with` statement or by " "calling ``f.close()``, attempts to use the file object will automatically " @@ -464,11 +475,11 @@ msgstr "" "`with` ou en appelant ``f.close()``, toute tentative d'utilisation de " "l'objet fichier échoue systématiquement. ::" -#: tutorial/inputoutput.rst:361 +#: tutorial/inputoutput.rst:371 msgid "Methods of File Objects" msgstr "Méthodes des objets fichiers" -#: tutorial/inputoutput.rst:363 +#: tutorial/inputoutput.rst:373 msgid "" "The rest of the examples in this section will assume that a file object " "called ``f`` has already been created." @@ -476,7 +487,7 @@ msgstr "" "Les derniers exemples de cette section supposent qu'un objet fichier appelé " "``f`` a déjà été créé." -#: tutorial/inputoutput.rst:366 +#: tutorial/inputoutput.rst:376 msgid "" "To read a file's contents, call ``f.read(size)``, which reads some quantity " "of data and returns it as a string (in text mode) or bytes object (in binary " @@ -497,7 +508,7 @@ msgstr "" "mode binaire) sont lus et renvoyés. Si la fin du fichier est atteinte, ``f." "read()`` renvoie une chaîne vide (``''``). ::" -#: tutorial/inputoutput.rst:380 +#: tutorial/inputoutput.rst:390 msgid "" "``f.readline()`` reads a single line from the file; a newline character " "(``\\n``) is left at the end of the string, and is only omitted on the last " @@ -514,7 +525,7 @@ msgstr "" "atteinte, alors qu'une ligne vide est représentée par ``'\\n'`` (une chaîne " "de caractères ne contenant qu'une fin de ligne). ::" -#: tutorial/inputoutput.rst:394 +#: tutorial/inputoutput.rst:404 msgid "" "For reading lines from a file, you can loop over the file object. This is " "memory efficient, fast, and leads to simple code::" @@ -523,7 +534,7 @@ msgstr "" "C'est plus efficace en termes de gestion mémoire, plus rapide et donne un " "code plus simple ::" -#: tutorial/inputoutput.rst:403 +#: tutorial/inputoutput.rst:413 msgid "" "If you want to read all the lines of a file in a list you can also use " "``list(f)`` or ``f.readlines()``." @@ -531,7 +542,7 @@ msgstr "" "Pour construire une liste avec toutes les lignes d'un fichier, il est aussi " "possible d'utiliser ``list(f)`` ou ``f.readlines()``." -#: tutorial/inputoutput.rst:406 +#: tutorial/inputoutput.rst:416 msgid "" "``f.write(string)`` writes the contents of *string* to the file, returning " "the number of characters written. ::" @@ -539,7 +550,7 @@ msgstr "" "``f.write(chaine)`` écrit le contenu de *chaine* dans le fichier et renvoie " "le nombre de caractères écrits. ::" -#: tutorial/inputoutput.rst:412 +#: tutorial/inputoutput.rst:422 msgid "" "Other types of objects need to be converted -- either to a string (in text " "mode) or a bytes object (in binary mode) -- before writing them::" @@ -547,7 +558,7 @@ msgstr "" "Les autres types doivent être convertis, soit en une chaîne (en mode texte), " "soit en objet *bytes* (en mode binaire) avant de les écrire ::" -#: tutorial/inputoutput.rst:420 +#: tutorial/inputoutput.rst:430 msgid "" "``f.tell()`` returns an integer giving the file object's current position in " "the file represented as number of bytes from the beginning of the file when " @@ -557,7 +568,7 @@ msgstr "" "fichier, mesurée en octets à partir du début du fichier lorsque le fichier " "est ouvert en mode binaire, ou un nombre obscur en mode texte." -#: tutorial/inputoutput.rst:424 +#: tutorial/inputoutput.rst:434 msgid "" "To change the file object's position, use ``f.seek(offset, whence)``. The " "position is computed from adding *offset* to a reference point; the " @@ -574,7 +585,7 @@ msgstr "" "la fin du fichier. *origine* peut être omis et sa valeur par défaut est 0 " "(Python utilise le début du fichier comme point de référence). ::" -#: tutorial/inputoutput.rst:443 +#: tutorial/inputoutput.rst:453 msgid "" "In text files (those opened without a ``b`` in the mode string), only seeks " "relative to the beginning of the file are allowed (the exception being " @@ -589,7 +600,7 @@ msgstr "" "renvoyées par ``f.tell()``, ou zéro. Toute autre valeur pour le paramètre " "*décalage* produit un comportement indéfini." -#: tutorial/inputoutput.rst:449 +#: tutorial/inputoutput.rst:459 msgid "" "File objects have some additional methods, such as :meth:`~file.isatty` and :" "meth:`~file.truncate` which are less frequently used; consult the Library " @@ -600,11 +611,11 @@ msgstr "" "consultez la Référence de la Bibliothèque Standard pour avoir un guide " "complet des objets fichiers." -#: tutorial/inputoutput.rst:457 +#: tutorial/inputoutput.rst:467 msgid "Saving structured data with :mod:`json`" msgstr "Sauvegarde de données structurées avec le module :mod:`json`" -#: tutorial/inputoutput.rst:461 +#: tutorial/inputoutput.rst:471 msgid "" "Strings can easily be written to and read from a file. Numbers take a bit " "more effort, since the :meth:`read` method only returns strings, which will " @@ -622,11 +633,12 @@ msgstr "" "instances de classes, le traitement lecture/écriture à la main devient vite " "compliqué." -#: tutorial/inputoutput.rst:468 +#: tutorial/inputoutput.rst:478 +#, fuzzy msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " -"interchange format called `JSON (JavaScript Object Notation) `_. The standard module called :mod:`json` can take Python data " "hierarchies, and convert them to string representations; this process is " "called :dfn:`serializing`. Reconstructing the data from the string " @@ -645,7 +657,7 @@ msgstr "" "et sa dé-sérialisation, la chaîne représentant les données peut avoir été " "stockée ou transmise à une autre machine." -#: tutorial/inputoutput.rst:479 +#: tutorial/inputoutput.rst:489 msgid "" "The JSON format is commonly used by modern applications to allow for data " "exchange. Many programmers are already familiar with it, which makes it a " @@ -655,7 +667,7 @@ msgstr "" "échanger des données. Beaucoup de développeurs le maîtrisent, ce qui en fait " "un format de prédilection pour l'interopérabilité." -#: tutorial/inputoutput.rst:483 +#: tutorial/inputoutput.rst:493 msgid "" "If you have an object ``x``, you can view its JSON string representation " "with a simple line of code::" @@ -663,7 +675,7 @@ msgstr "" "Si vous avez un objet ``x``, vous pouvez voir sa représentation JSON en " "tapant simplement ::" -#: tutorial/inputoutput.rst:491 +#: tutorial/inputoutput.rst:501 msgid "" "Another variant of the :func:`~json.dumps` function, called :func:`~json." "dump`, simply serializes the object to a :term:`text file`. So if ``f`` is " @@ -673,7 +685,7 @@ msgstr "" "sérialise simplement l'objet donné vers un :term:`text file`. Donc si ``f`` " "est un :term:`text file` ouvert en écriture, il est possible de faire ::" -#: tutorial/inputoutput.rst:497 +#: tutorial/inputoutput.rst:507 msgid "" "To decode the object again, if ``f`` is a :term:`binary file` or :term:`text " "file` object which has been opened for reading::" @@ -681,7 +693,7 @@ msgstr "" "Pour reconstruire l'objet, si ``f`` est cette fois un :term:`binary file` ou " "un :term:`text file` ouvert en lecture ::" -#: tutorial/inputoutput.rst:503 +#: tutorial/inputoutput.rst:513 msgid "" "JSON files must be encoded in UTF-8. Use ``encoding=\"utf-8\"`` when opening " "JSON file as a :term:`text file` for both of reading and writing." @@ -690,7 +702,7 @@ msgstr "" "``encoding=\"utf-8\"`` lorsque vous ouvrez un fichier JSON en tant que :term:" "`fichier texte`, que ce soit en lecture ou en écriture." -#: tutorial/inputoutput.rst:506 +#: tutorial/inputoutput.rst:516 msgid "" "This simple serialization technique can handle lists and dictionaries, but " "serializing arbitrary class instances in JSON requires a bit of extra " @@ -702,11 +714,11 @@ msgstr "" "plus de travail. La documentation du module :mod:`json` explique comment " "faire." -#: tutorial/inputoutput.rst:512 +#: tutorial/inputoutput.rst:522 msgid ":mod:`pickle` - the pickle module" msgstr "Le module :mod:`pickle`" -#: tutorial/inputoutput.rst:514 +#: tutorial/inputoutput.rst:524 msgid "" "Contrary to :ref:`JSON `, *pickle* is a protocol which allows the " "serialization of arbitrarily complex Python objects. As such, it is " diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index 2875f47ead..064af76148 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-09-25 11:35+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -111,12 +111,13 @@ msgstr "" "et exécute un *script* depuis ce fichier." #: tutorial/interpreter.rst:51 +#, fuzzy msgid "" "A second way of starting the interpreter is ``python -c command [arg] ...``, " "which executes the statement(s) in *command*, analogous to the shell's :" "option:`-c` option. Since Python statements often contain spaces or other " "characters that are special to the shell, it is usually advised to quote " -"*command* in its entirety with single quotes." +"*command* in its entirety." msgstr "" "Une autre façon de lancer l'interpréteur est ``python -c commande [arg] ..." "``. Cela exécute les instructions de *commande* de façon analogue à " diff --git a/tutorial/introduction.po b/tutorial/introduction.po index ff6177b842..edca2be6d5 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-01-31 21:28+0100\n" "Last-Translator: Fipaddict \n" "Language-Team: FRENCH \n" @@ -114,10 +114,11 @@ msgstr "" "tutoriel." #: tutorial/introduction.rst:72 +#, fuzzy msgid "" "Division (``/``) always returns a float. To do :term:`floor division` and " -"get an integer result (discarding any fractional result) you can use the ``//" -"`` operator; to calculate the remainder you can use ``%``::" +"get an integer result you can use the ``//`` operator; to calculate the " +"remainder you can use ``%``::" msgstr "" "Les divisions (``/``) donnent toujours des :class:`float`. Utilisez " "l'opérateur ``//`` pour effectuer des divisions entières et donc obtenir un " diff --git a/tutorial/modules.po b/tutorial/modules.po index 87fd02ec1a..1cdd8eba3f 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-24 18:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -76,27 +76,29 @@ msgid "" msgstr "Maintenant, ouvrez un interpréteur et importez le module en tapant ::" #: tutorial/modules.rst:50 +#, fuzzy msgid "" -"This does not enter the names of the functions defined in ``fibo`` directly " -"in the current symbol table; it only enters the module name ``fibo`` there. " -"Using the module name you can access the functions::" +"This does not add the names of the functions defined in ``fibo`` directly " +"to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " +"it only adds the module name ``fibo`` there. Using the module name you can " +"access the functions::" msgstr "" "Cela n'importe pas les noms des fonctions définies dans ``fibo`` directement " "dans la table des symboles courants mais y ajoute simplement ``fibo``. Vous " "pouvez donc appeler les fonctions *via* le nom du module ::" -#: tutorial/modules.rst:61 +#: tutorial/modules.rst:62 msgid "" "If you intend to use a function often you can assign it to a local name::" msgstr "" "Si vous avez l'intention d'utiliser souvent une fonction, il est possible de " "lui assigner un nom local ::" -#: tutorial/modules.rst:71 +#: tutorial/modules.rst:72 msgid "More on Modules" msgstr "Les modules en détail" -#: tutorial/modules.rst:73 +#: tutorial/modules.rst:74 msgid "" "A module can contain executable statements as well as function definitions. " "These statements are intended to initialize the module. They are executed " @@ -109,10 +111,11 @@ msgstr "" "un ``import`` [#]_ (elles sont aussi exécutées lorsque le fichier est " "exécuté en tant que script)." -#: tutorial/modules.rst:78 +#: tutorial/modules.rst:79 +#, fuzzy msgid "" -"Each module has its own private symbol table, which is used as the global " -"symbol table by all functions defined in the module. Thus, the author of a " +"Each module has its own private namespace, which is used as the global " +"namespace by all functions defined in the module. Thus, the author of a " "module can use global variables in the module without worrying about " "accidental clashes with a user's global variables. On the other hand, if you " "know what you are doing you can touch a module's global variables with the " @@ -126,44 +129,47 @@ msgstr "" "vous pouvez modifier une variable globale d'un module avec la même notation " "que pour accéder aux fonctions : ``nommodule.nomelement``." -#: tutorial/modules.rst:85 +#: tutorial/modules.rst:86 +#, fuzzy msgid "" "Modules can import other modules. It is customary but not required to place " "all :keyword:`import` statements at the beginning of a module (or script, " -"for that matter). The imported module names are placed in the importing " -"module's global symbol table." +"for that matter). The imported module names, if placed at the top level of " +"a module (outside any functions or classes), are added to the module's " +"global namespace." msgstr "" "Des modules peuvent importer d'autres modules. Il est courant, mais pas " "obligatoire, de ranger tous les :keyword:`import` au début du module (ou du " "script). Les noms des modules importés sont insérés dans la table des " "symboles globaux du module qui importe." -#: tutorial/modules.rst:90 +#: tutorial/modules.rst:91 +#, fuzzy msgid "" "There is a variant of the :keyword:`import` statement that imports names " -"from a module directly into the importing module's symbol table. For " -"example::" +"from a module directly into the importing module's namespace. For example::" msgstr "" "Il existe une variante de l'instruction :keyword:`import` qui importe les " "noms d'un module directement dans la table de symboles du module qui " "l'importe, par exemple ::" -#: tutorial/modules.rst:97 +#: tutorial/modules.rst:98 +#, fuzzy msgid "" "This does not introduce the module name from which the imports are taken in " -"the local symbol table (so in the example, ``fibo`` is not defined)." +"the local namespace (so in the example, ``fibo`` is not defined)." msgstr "" "Cela n'insère pas le nom du module depuis lequel les définitions sont " "récupérées dans la table des symboles locaux (dans cet exemple, ``fibo`` " "n'est pas défini)." -#: tutorial/modules.rst:100 +#: tutorial/modules.rst:101 msgid "There is even a variant to import all names that a module defines::" msgstr "" "Il existe même une variante permettant d'importer tous les noms qu'un module " "définit ::" -#: tutorial/modules.rst:106 +#: tutorial/modules.rst:107 msgid "" "This imports all names except those beginning with an underscore (``_``). In " "most cases Python programmers do not use this facility since it introduces " @@ -175,7 +181,7 @@ msgstr "" "puisqu'en important un ensemble indéfini de noms, des noms déjà définis " "peuvent se retrouver masqués." -#: tutorial/modules.rst:111 +#: tutorial/modules.rst:112 msgid "" "Note that in general the practice of importing ``*`` from a module or " "package is frowned upon, since it often causes poorly readable code. " @@ -185,7 +191,7 @@ msgstr "" "déconseillé. Souvent, le code devient difficilement lisible. Son utilisation " "en mode interactif est acceptée pour gagner quelques secondes." -#: tutorial/modules.rst:115 +#: tutorial/modules.rst:116 msgid "" "If the module name is followed by :keyword:`!as`, then the name following :" "keyword:`!as` is bound directly to the imported module." @@ -193,7 +199,7 @@ msgstr "" "Si le nom du module est suivi par :keyword:`!as`, alors le nom suivant :" "keyword:`!as` est directement lié au module importé." -#: tutorial/modules.rst:124 +#: tutorial/modules.rst:125 msgid "" "This is effectively importing the module in the same way that ``import " "fibo`` will do, with the only difference of it being available as ``fib``." @@ -201,12 +207,12 @@ msgstr "" "Dans les faits, le module est importé de la même manière qu'avec ``import " "fibo``, la seule différence est qu'il sera disponible sous le nom de ``fib``." -#: tutorial/modules.rst:127 +#: tutorial/modules.rst:128 msgid "" "It can also be used when utilising :keyword:`from` with similar effects::" msgstr "C'est aussi valide en utilisant :keyword:`from`, et a le même effet ::" -#: tutorial/modules.rst:136 +#: tutorial/modules.rst:137 msgid "" "For efficiency reasons, each module is only imported once per interpreter " "session. Therefore, if you change your modules, you must restart the " @@ -220,15 +226,15 @@ msgstr "" "voulez tester interactivement, utilisez :func:`importlib.reload`, par " "exemple ``import importlib ; importlib.reload(modulename)``." -#: tutorial/modules.rst:146 +#: tutorial/modules.rst:147 msgid "Executing modules as scripts" msgstr "Exécuter des modules comme des scripts" -#: tutorial/modules.rst:148 +#: tutorial/modules.rst:149 msgid "When you run a Python module with ::" msgstr "Lorsque vous exécutez un module Python avec ::" -#: tutorial/modules.rst:152 +#: tutorial/modules.rst:153 msgid "" "the code in the module will be executed, just as if you imported it, but " "with the ``__name__`` set to ``\"__main__\"``. That means that by adding " @@ -238,7 +244,7 @@ msgstr "" "``__name__`` vaut ``\"__main__\"``. Donc, en ajoutant ces lignes à la fin du " "module ::" -#: tutorial/modules.rst:160 +#: tutorial/modules.rst:161 msgid "" "you can make the file usable as a script as well as an importable module, " "because the code that parses the command line only runs if the module is " @@ -248,11 +254,11 @@ msgstr "" "module importable, car le code qui analyse la ligne de commande n'est lancé " "que si le module est exécuté comme fichier « main » :" -#: tutorial/modules.rst:169 +#: tutorial/modules.rst:170 msgid "If the module is imported, the code is not run::" msgstr "Si le fichier est importé, le code n'est pas exécuté ::" -#: tutorial/modules.rst:174 +#: tutorial/modules.rst:175 msgid "" "This is often used either to provide a convenient user interface to a " "module, or for testing purposes (running the module as a script executes a " @@ -262,11 +268,11 @@ msgstr "" "un module, soit pour lancer les tests sur le module (exécuter le module en " "tant que script lance les tests)." -#: tutorial/modules.rst:181 +#: tutorial/modules.rst:182 msgid "The Module Search Path" msgstr "Les dossiers de recherche de modules" -#: tutorial/modules.rst:185 +#: tutorial/modules.rst:186 msgid "" "When a module named :mod:`spam` is imported, the interpreter first searches " "for a built-in module with that name. These module names are listed in :data:" @@ -281,7 +287,7 @@ msgstr "" "dossiers donnée par la variable :data:`sys.path`. Par défaut, :data:`sys." "path` est initialisée à ::" -#: tutorial/modules.rst:191 +#: tutorial/modules.rst:192 msgid "" "The directory containing the input script (or the current directory when no " "file is specified)." @@ -289,7 +295,7 @@ msgstr "" "le dossier contenant le script courant (ou le dossier courant si aucun " "script n'est donné) ;" -#: tutorial/modules.rst:193 +#: tutorial/modules.rst:194 msgid "" ":envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the " "shell variable :envvar:`PATH`)." @@ -297,7 +303,7 @@ msgstr "" ":envvar:`PYTHONPATH` (une liste de dossiers, utilisant la même syntaxe que " "la variable shell :envvar:`PATH`) ;" -#: tutorial/modules.rst:195 +#: tutorial/modules.rst:196 msgid "" "The installation-dependent default (by convention including a ``site-" "packages`` directory, handled by the :mod:`site` module)." @@ -305,7 +311,7 @@ msgstr "" "La valeur par défaut, qui dépend de l'installation (incluant par convention " "un dossier ``site-packages``, géré par le module :mod:`site`)." -#: tutorial/modules.rst:199 +#: tutorial/modules.rst:200 msgid "" "On file systems which support symlinks, the directory containing the input " "script is calculated after the symlink is followed. In other words the " @@ -316,7 +322,7 @@ msgstr "" "Autrement dit, le dossier contenant le lien symbolique n'est **pas** ajouté " "aux dossiers de recherche de modules." -#: tutorial/modules.rst:203 +#: tutorial/modules.rst:204 msgid "" "After initialization, Python programs can modify :data:`sys.path`. The " "directory containing the script being run is placed at the beginning of the " @@ -332,11 +338,11 @@ msgstr "" "chargé à sa place. C'est une erreur typique, à moins que ce ne soit voulu. " "Voir :ref:`tut-standardmodules` pour plus d'informations." -#: tutorial/modules.rst:214 +#: tutorial/modules.rst:215 msgid "\"Compiled\" Python files" msgstr "Fichiers Python « compilés »" -#: tutorial/modules.rst:216 +#: tutorial/modules.rst:217 msgid "" "To speed up loading modules, Python caches the compiled version of each " "module in the ``__pycache__`` directory under the name :file:`module." @@ -354,7 +360,7 @@ msgstr "" "Cette règle de nommage permet à des versions compilées par des versions " "différentes de Python de coexister." -#: tutorial/modules.rst:224 +#: tutorial/modules.rst:225 msgid "" "Python checks the modification date of the source against the compiled " "version to see if it's out of date and needs to be recompiled. This is a " @@ -368,7 +374,7 @@ msgstr "" "indépendantes de la plateforme et peuvent donc être partagées entre des " "systèmes d'architectures différentes." -#: tutorial/modules.rst:229 +#: tutorial/modules.rst:230 msgid "" "Python does not check the cache in two circumstances. First, it always " "recompiles and does not store the result for the module that's loaded " @@ -384,11 +390,11 @@ msgstr "" "source (où seule la version compilée est fournie), le module compilé doit se " "trouver dans le dossier source et sa source ne doit pas être présente." -#: tutorial/modules.rst:236 +#: tutorial/modules.rst:237 msgid "Some tips for experts:" msgstr "Astuces pour les experts :" -#: tutorial/modules.rst:238 +#: tutorial/modules.rst:239 msgid "" "You can use the :option:`-O` or :option:`-OO` switches on the Python command " "to reduce the size of a compiled module. The ``-O`` switch removes assert " @@ -407,7 +413,7 @@ msgstr "" "`` et sont généralement plus petits. Les versions futures de Python " "pourraient changer les effets de l'optimisation ;" -#: tutorial/modules.rst:246 +#: tutorial/modules.rst:247 msgid "" "A program doesn't run any faster when it is read from a ``.pyc`` file than " "when it is read from a ``.py`` file; the only thing that's faster about ``." @@ -416,7 +422,7 @@ msgstr "" "un programme ne s'exécute pas plus vite lorsqu'il est lu depuis un ``.pyc``, " "il est juste chargé plus vite ;" -#: tutorial/modules.rst:250 +#: tutorial/modules.rst:251 msgid "" "The module :mod:`compileall` can create .pyc files for all modules in a " "directory." @@ -424,7 +430,7 @@ msgstr "" "le module :mod:`compileall` peut créer des fichiers ``.pyc`` pour tous les " "modules d'un dossier ;" -#: tutorial/modules.rst:253 +#: tutorial/modules.rst:254 msgid "" "There is more detail on this process, including a flow chart of the " "decisions, in :pep:`3147`." @@ -432,11 +438,11 @@ msgstr "" "vous trouvez plus de détails sur ce processus, ainsi qu'un organigramme des " "décisions, dans la :pep:`3147`." -#: tutorial/modules.rst:260 +#: tutorial/modules.rst:261 msgid "Standard Modules" msgstr "Modules standards" -#: tutorial/modules.rst:264 +#: tutorial/modules.rst:265 msgid "" "Python comes with a library of standard modules, described in a separate " "document, the Python Library Reference (\"Library Reference\" hereafter). " @@ -462,7 +468,7 @@ msgstr "" "présent dans tous les interpréteurs Python. Les variables ``sys.ps1`` et " "``sys.ps2`` définissent les chaînes d'invites principales et secondaires ::" -#: tutorial/modules.rst:287 +#: tutorial/modules.rst:288 msgid "" "These two variables are only defined if the interpreter is in interactive " "mode." @@ -470,7 +476,7 @@ msgstr "" "Ces deux variables ne sont définies que si l'interpréteur est en mode " "interactif." -#: tutorial/modules.rst:289 +#: tutorial/modules.rst:290 msgid "" "The variable ``sys.path`` is a list of strings that determines the " "interpreter's search path for modules. It is initialized to a default path " @@ -485,11 +491,11 @@ msgstr "" "définie. ``sys.path`` est modifiable en utilisant les opérations habituelles " "des listes ::" -#: tutorial/modules.rst:302 +#: tutorial/modules.rst:303 msgid "The :func:`dir` Function" msgstr "La fonction :func:`dir`" -#: tutorial/modules.rst:304 +#: tutorial/modules.rst:305 msgid "" "The built-in function :func:`dir` is used to find out which names a module " "defines. It returns a sorted list of strings::" @@ -498,19 +504,19 @@ msgstr "" "définis par un module. Elle donne une liste de chaînes classées par ordre " "lexicographique ::" -#: tutorial/modules.rst:333 +#: tutorial/modules.rst:334 msgid "" "Without arguments, :func:`dir` lists the names you have defined currently::" msgstr "Sans paramètre, :func:`dir` liste les noms actuellement définis ::" -#: tutorial/modules.rst:341 +#: tutorial/modules.rst:342 msgid "" "Note that it lists all types of names: variables, modules, functions, etc." msgstr "" "Notez qu'elle liste tous les types de noms : les variables, fonctions, " "modules, etc." -#: tutorial/modules.rst:345 +#: tutorial/modules.rst:346 msgid "" ":func:`dir` does not list the names of built-in functions and variables. If " "you want a list of those, they are defined in the standard module :mod:" @@ -520,11 +526,11 @@ msgstr "" "Si vous voulez les lister, elles sont définies dans le module :mod:" "`builtins` ::" -#: tutorial/modules.rst:384 +#: tutorial/modules.rst:385 msgid "Packages" msgstr "Les paquets" -#: tutorial/modules.rst:386 +#: tutorial/modules.rst:387 msgid "" "Packages are a way of structuring Python's module namespace by using " "\"dotted module names\". For example, the module name :mod:`A.B` designates " @@ -543,7 +549,7 @@ msgstr "" "paquets contenant plusieurs modules tel que NumPy ou Pillow d'avoir à se " "soucier des noms des modules des autres." -#: tutorial/modules.rst:394 +#: tutorial/modules.rst:395 msgid "" "Suppose you want to design a collection of modules (a \"package\") for the " "uniform handling of sound files and sound data. There are many different " @@ -570,7 +576,7 @@ msgstr "" "structure possible pour votre paquet (exprimée sous la forme d'une " "arborescence de fichiers) :" -#: tutorial/modules.rst:431 +#: tutorial/modules.rst:432 msgid "" "When importing the package, Python searches through the directories on ``sys." "path`` looking for the package subdirectory." @@ -578,7 +584,7 @@ msgstr "" "Lorsqu'il importe des paquets, Python cherche dans chaque dossier de ``sys." "path`` un sous-dossier du nom du paquet." -#: tutorial/modules.rst:434 +#: tutorial/modules.rst:435 msgid "" "The :file:`__init__.py` files are required to make Python treat directories " "containing the file as packages. This prevents directories with a common " @@ -595,7 +601,7 @@ msgstr "" "exécuter du code d'initialisation pour son paquet ou configurer la variable " "``__all__`` (documentée plus loin)." -#: tutorial/modules.rst:441 +#: tutorial/modules.rst:442 msgid "" "Users of the package can import individual modules from the package, for " "example::" @@ -603,7 +609,7 @@ msgstr "" "Les utilisateurs d'un module peuvent importer ses modules individuellement, " "par exemple ::" -#: tutorial/modules.rst:446 +#: tutorial/modules.rst:447 msgid "" "This loads the submodule :mod:`sound.effects.echo`. It must be referenced " "with its full name. ::" @@ -611,11 +617,11 @@ msgstr "" "charge le sous-module :mod:`sound.effects.echo`. Il doit alors être " "référencé par son nom complet. ::" -#: tutorial/modules.rst:451 +#: tutorial/modules.rst:452 msgid "An alternative way of importing the submodule is::" msgstr "Une autre manière d'importer des sous-modules est ::" -#: tutorial/modules.rst:455 +#: tutorial/modules.rst:456 msgid "" "This also loads the submodule :mod:`echo`, and makes it available without " "its package prefix, so it can be used as follows::" @@ -623,7 +629,7 @@ msgstr "" "charge aussi le sous-module :mod:`echo` et le rend disponible sans avoir à " "indiquer le préfixe du paquet. Il peut donc être utilisé comme ceci ::" -#: tutorial/modules.rst:460 +#: tutorial/modules.rst:461 msgid "" "Yet another variation is to import the desired function or variable " "directly::" @@ -631,7 +637,7 @@ msgstr "" "Une autre méthode consiste à importer la fonction ou la variable désirée " "directement ::" -#: tutorial/modules.rst:464 +#: tutorial/modules.rst:465 msgid "" "Again, this loads the submodule :mod:`echo`, but this makes its function :" "func:`echofilter` directly available::" @@ -639,7 +645,7 @@ msgstr "" "Le sous-module :mod:`echo` est toujours chargé mais ici la fonction :func:" "`echofilter` est disponible directement ::" -#: tutorial/modules.rst:469 +#: tutorial/modules.rst:470 msgid "" "Note that when using ``from package import item``, the item can be either a " "submodule (or subpackage) of the package, or some other name defined in the " @@ -655,7 +661,7 @@ msgstr "" "le paquet ; s'il ne l'est pas, elle cherche à charger un module et, si elle " "n'en trouve pas, une exception :exc:`ImportError` est levée." -#: tutorial/modules.rst:476 +#: tutorial/modules.rst:477 msgid "" "Contrarily, when using syntax like ``import item.subitem.subsubitem``, each " "item except for the last must be a package; the last item can be a module or " @@ -668,11 +674,11 @@ msgstr "" "ni une fonction, ni une classe, ni une variable définie dans l'élément " "précédent." -#: tutorial/modules.rst:485 +#: tutorial/modules.rst:486 msgid "Importing \\* From a Package" msgstr "Importer \\* depuis un paquet" -#: tutorial/modules.rst:489 +#: tutorial/modules.rst:490 msgid "" "Now what happens when the user writes ``from sound.effects import *``? " "Ideally, one would hope that this somehow goes out to the filesystem, finds " @@ -687,7 +693,7 @@ msgstr "" "avoir des effets secondaires indésirables ou, du moins, désirés seulement " "lorsque le sous-module est importé explicitement." -#: tutorial/modules.rst:495 +#: tutorial/modules.rst:496 msgid "" "The only solution is for the package author to provide an explicit index of " "the package. The :keyword:`import` statement uses the following convention: " @@ -710,7 +716,7 @@ msgstr "" "pour son paquet. Par exemple, le fichier :file:`sound/effects/__init__.py` " "peut contenir le code suivant ::" -#: tutorial/modules.rst:507 +#: tutorial/modules.rst:508 msgid "" "This would mean that ``from sound.effects import *`` would import the three " "named submodules of the :mod:`sound.effects` package." @@ -718,7 +724,7 @@ msgstr "" "Cela signifie que ``from sound.effects import *`` importe les trois sous-" "modules explicitement désignés du paquet :mod:`sound.effects`." -#: tutorial/modules.rst:510 +#: tutorial/modules.rst:511 msgid "" "If ``__all__`` is not defined, the statement ``from sound.effects import *`` " "does *not* import all submodules from the package :mod:`sound.effects` into " @@ -740,7 +746,7 @@ msgstr "" "modules du paquet ayant été chargés explicitement par une instruction :" "keyword:`import`. Typiquement ::" -#: tutorial/modules.rst:523 +#: tutorial/modules.rst:524 msgid "" "In this example, the :mod:`echo` and :mod:`surround` modules are imported in " "the current namespace because they are defined in the :mod:`sound.effects` " @@ -752,7 +758,7 @@ msgstr "" "qu'ils sont définis dans le paquet :mod:`sound.effects` (cela fonctionne " "aussi lorsque ``__all__`` est définie)." -#: tutorial/modules.rst:528 +#: tutorial/modules.rst:529 msgid "" "Although certain modules are designed to export only names that follow " "certain patterns when you use ``import *``, it is still considered bad " @@ -763,7 +769,7 @@ msgstr "" "*`` reste considéré comme une mauvaise pratique dans du code à destination " "d'un environnement de production." -#: tutorial/modules.rst:532 +#: tutorial/modules.rst:533 msgid "" "Remember, there is nothing wrong with using ``from package import " "specific_submodule``! In fact, this is the recommended notation unless the " @@ -775,11 +781,11 @@ msgstr "" "que le module qui fait les importations ait besoin de sous-modules ayant le " "même nom mais provenant de paquets différents." -#: tutorial/modules.rst:541 +#: tutorial/modules.rst:542 msgid "Intra-package References" msgstr "Références internes dans un paquet" -#: tutorial/modules.rst:543 +#: tutorial/modules.rst:544 msgid "" "When packages are structured into subpackages (as with the :mod:`sound` " "package in the example), you can use absolute imports to refer to submodules " @@ -793,7 +799,7 @@ msgstr "" "vocoder` a besoin du module :mod:`echo` du paquet :mod:`sound.effects`, il " "peut utiliser ``from sound.effects import echo``." -#: tutorial/modules.rst:549 +#: tutorial/modules.rst:550 msgid "" "You can also write relative imports, with the ``from module import name`` " "form of import statement. These imports use leading dots to indicate the " @@ -805,7 +811,7 @@ msgstr "" "points pour indiquer leur origine (paquet courant ou parent). Depuis le " "module :mod:`surround`, par exemple vous pouvez écrire ::" -#: tutorial/modules.rst:558 +#: tutorial/modules.rst:559 msgid "" "Note that relative imports are based on the name of the current module. " "Since the name of the main module is always ``\"__main__\"``, modules " @@ -817,11 +823,11 @@ msgstr "" "modules utilisés par le module principal d'une application ne peuvent être " "importés que par des importations absolues." -#: tutorial/modules.rst:564 +#: tutorial/modules.rst:565 msgid "Packages in Multiple Directories" msgstr "Paquets dans plusieurs dossiers" -#: tutorial/modules.rst:566 +#: tutorial/modules.rst:567 msgid "" "Packages support one more special attribute, :attr:`__path__`. This is " "initialized to be a list containing the name of the directory holding the " @@ -835,7 +841,7 @@ msgstr "" "peut être modifiée, altérant ainsi les futures recherches de modules et sous-" "paquets contenus dans le paquet." -#: tutorial/modules.rst:572 +#: tutorial/modules.rst:573 msgid "" "While this feature is not often needed, it can be used to extend the set of " "modules found in a package." @@ -843,15 +849,16 @@ msgstr "" "Bien que cette fonctionnalité ne soit que rarement utile, elle peut servir à " "élargir la liste des modules trouvés dans un paquet." -#: tutorial/modules.rst:577 +#: tutorial/modules.rst:578 msgid "Footnotes" msgstr "Notes" -#: tutorial/modules.rst:578 +#: tutorial/modules.rst:579 +#, fuzzy msgid "" "In fact function definitions are also 'statements' that are 'executed'; the " -"execution of a module-level function definition enters the function name in " -"the module's global symbol table." +"execution of a module-level function definition adds the function name to " +"the module's global namespace." msgstr "" "En réalité, la déclaration d'une fonction est elle-même une instruction ; " "son exécution enregistre le nom de la fonction dans la table des symboles " diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 47445b1bc1..0e5206366c 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-09-25 11:32+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -86,25 +86,16 @@ msgstr "D'autres ressources :" #: tutorial/whatnow.rst:33 msgid "" "https://www.python.org: The major Python web site. It contains code, " -"documentation, and pointers to Python-related pages around the web. This " -"web site is mirrored in various places around the world, such as Europe, " -"Japan, and Australia; a mirror may be faster than the main site, depending " -"on your geographical location." +"documentation, and pointers to Python-related pages around the web." msgstr "" -"https://www.python.org est le site principal pour Python. Il contient du " -"code, de la documentation, des liens vers d'autres sites traitant de Python " -"partout sur Internet. Il est répliqué dans différents endroits autour du " -"globe, comme en Europe, au Japon et en Australie. Ces répliques peuvent dans " -"certains cas être plus rapides que le site principal, en fonction de " -"l'endroit où vous vous trouvez." - -#: tutorial/whatnow.rst:39 + +#: tutorial/whatnow.rst:36 msgid "https://docs.python.org: Fast access to Python's documentation." msgstr "" "https://docs.python.org/fr/ offre un accès rapide à la documentation de " "Python en français." -#: tutorial/whatnow.rst:41 +#: tutorial/whatnow.rst:38 msgid "" "https://pypi.org: The Python Package Index, previously also nicknamed the " "Cheese Shop [#]_, is an index of user-created Python modules that are " @@ -118,7 +109,7 @@ msgstr "" "utilisateurs. Lorsque vous commencez à distribuer du code, vous pouvez " "l'inscrire ici afin que les autres puissent le trouver." -#: tutorial/whatnow.rst:46 +#: tutorial/whatnow.rst:43 msgid "" "https://code.activestate.com/recipes/langs/python/: The Python Cookbook is a " "sizable collection of code examples, larger modules, and useful scripts. " @@ -130,16 +121,17 @@ msgstr "" "Les contributions les plus remarquables y sont regroupées dans le livre " "\"Python Cookbook\" (O'Reilly & Associates, ISBN 0-596-00797-3)." -#: tutorial/whatnow.rst:51 +#: tutorial/whatnow.rst:48 +#, fuzzy msgid "" -"http://www.pyvideo.org collects links to Python-related videos from " -"conferences and user-group meetings." +"https://pyvideo.org collects links to Python-related videos from conferences " +"and user-group meetings." msgstr "" "http://www.pyvideo.org regroupe des liens vers des vidéos relatives à " "Python, enregistrées lors de conférences ou de réunions de groupes " "d'utilisateurs." -#: tutorial/whatnow.rst:54 +#: tutorial/whatnow.rst:51 msgid "" "https://scipy.org: The Scientific Python project includes modules for fast " "array computations and manipulations plus a host of packages for such things " @@ -152,7 +144,7 @@ msgstr "" "des résolveurs non-linéaires, différentes distributions de nombres " "aléatoires, l'analyse statistique et d'autres choses du domaine scientifique." -#: tutorial/whatnow.rst:59 +#: tutorial/whatnow.rst:56 msgid "" "For Python-related questions and problem reports, you can post to the " "newsgroup :newsgroup:`comp.lang.python`, or send them to the mailing list at " @@ -171,7 +163,7 @@ msgstr "" "fonctionnalités et annonçant des nouveaux modules. Les archives sont " "disponibles à https://mail.python.org/pipermail/." -#: tutorial/whatnow.rst:67 +#: tutorial/whatnow.rst:64 msgid "" "Before posting, be sure to check the list of :ref:`Frequently Asked " "Questions ` (also called the FAQ). The FAQ answers many of the " @@ -183,11 +175,11 @@ msgstr "" "beaucoup de questions fréquentes et contient probablement une solution à " "votre problème." -#: tutorial/whatnow.rst:73 +#: tutorial/whatnow.rst:70 msgid "Footnotes" msgstr "Notes" -#: tutorial/whatnow.rst:74 +#: tutorial/whatnow.rst:71 msgid "" "\"Cheese Shop\" is a Monty Python's sketch: a customer enters a cheese shop, " "but whatever cheese he asks for, the clerk says it's missing." @@ -195,3 +187,17 @@ msgstr "" "« Cheese Shop » est un sketch de Monty Python : un client entre dans une " "fromagerie, mais peu importe le fromage que demande le client, le vendeur " "dit qu’il n’en a pas." + +#~ msgid "" +#~ "https://www.python.org: The major Python web site. It contains code, " +#~ "documentation, and pointers to Python-related pages around the web. This " +#~ "web site is mirrored in various places around the world, such as Europe, " +#~ "Japan, and Australia; a mirror may be faster than the main site, " +#~ "depending on your geographical location." +#~ msgstr "" +#~ "https://www.python.org est le site principal pour Python. Il contient du " +#~ "code, de la documentation, des liens vers d'autres sites traitant de " +#~ "Python partout sur Internet. Il est répliqué dans différents endroits " +#~ "autour du globe, comme en Europe, au Japon et en Australie. Ces répliques " +#~ "peuvent dans certains cas être plus rapides que le site principal, en " +#~ "fonction de l'endroit où vous vous trouvez." diff --git a/using/cmdline.po b/using/cmdline.po index e9c0ad1518..fe11a608ba 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-07-07 21:00+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -571,9 +571,10 @@ msgstr "" "code Python." #: using/cmdline.rst:323 +#, fuzzy msgid "" "Hash randomization is intended to provide protection against a denial-of-" -"service caused by carefully-chosen inputs that exploit the worst case " +"service caused by carefully chosen inputs that exploit the worst case " "performance of a dict construction, O(n\\ :sup:`2`) complexity. See http://" "www.ocert.org/advisories/ocert-2011-003.html for details." msgstr "" @@ -603,7 +604,7 @@ msgstr "" "N'ajoute pas le répertoire utilisateur :data:`site-packages ` à :data:`sys.path`." -#: using/cmdline.rst:705 using/cmdline.rst:717 +#: using/cmdline.rst:717 using/cmdline.rst:729 msgid ":pep:`370` -- Per user site-packages directory" msgstr ":pep:`370` -- Répertoire site-packages propre à l'utilisateur" @@ -671,7 +672,7 @@ msgstr "" "Contrôle des avertissements. Le mécanisme d'avertissement de Python, par " "défaut, affiche les messages d'avertissement sur :data:`sys.stderr`." -#: using/cmdline.rst:733 +#: using/cmdline.rst:745 msgid "" "The simplest settings apply a particular action unconditionally to all " "warnings emitted by a process (even those that are otherwise ignored by " @@ -735,8 +736,9 @@ msgstr "" "*category*. Un exemple pour *category* est ``DeprecationWarning``." #: using/cmdline.rst:420 +#, fuzzy msgid "" -"The *module* field matches the (fully-qualified) module name; this match is " +"The *module* field matches the (fully qualified) module name; this match is " "case-sensitive." msgstr "" "Un filtre *module* restreint l'action aux avertissements qui ont leur " @@ -779,7 +781,7 @@ msgstr "" "`warnings.filterwarnings` peut être utilisée pour filtrer les messages " "d'avertissement en utilisant une expression rationnelle." -#: using/cmdline.rst:744 +#: using/cmdline.rst:756 msgid "" "See :ref:`warning-filter` and :ref:`describing-warning-filters` for more " "details." @@ -837,6 +839,13 @@ msgstr "" #: using/cmdline.rst:460 msgid "" +"``-X int_max_str_digits`` configures the :ref:`integer string conversion " +"length limitation `. See also :envvar:" +"`PYTHONINTMAXSTRDIGITS`." +msgstr "" + +#: using/cmdline.rst:463 +msgid "" "``-X importtime`` to show how long each import takes. It shows module name, " "cumulative time (including nested imports) and self time (excluding nested " "imports). Note that its output may be broken in multi-threaded " @@ -851,7 +860,7 @@ msgstr "" "``python3 -X importtime -c 'import asyncio'``. Voir aussi :envvar:" "`PYTHONPROFILEIMPORTTIME`." -#: using/cmdline.rst:465 +#: using/cmdline.rst:468 msgid "" "``-X dev``: enable :ref:`Python Development Mode `, introducing " "additional runtime checks that are too expensive to be enabled by default." @@ -860,7 +869,7 @@ msgstr "" "rajoutant des vérifications additionnelles durant l'exécution qui sont trop " "lourdes pour être activées par défaut." -#: using/cmdline.rst:468 +#: using/cmdline.rst:471 msgid "" "``-X utf8`` enables the :ref:`Python UTF-8 Mode `. ``-X utf8=0`` " "explicitly disables :ref:`Python UTF-8 Mode ` (even when it would " @@ -870,7 +879,7 @@ msgstr "" "explicitement le :ref:`mode UTF-8 ` (même s'il avait dû s'activer " "automatiquement)." -#: using/cmdline.rst:471 +#: using/cmdline.rst:474 msgid "" "``-X pycache_prefix=PATH`` enables writing ``.pyc`` files to a parallel tree " "rooted at the given directory instead of to the code tree. See also :envvar:" @@ -880,7 +889,7 @@ msgstr "" "partir du chemin donné au lieu de l'arborescence du code source. Voir aussi :" "envvar:`PYTHONPYCACHEPREFIX`." -#: using/cmdline.rst:474 +#: using/cmdline.rst:477 msgid "" "``-X warn_default_encoding`` issues a :class:`EncodingWarning` when the " "locale-specific default encoding is used for opening files. See also :envvar:" @@ -890,7 +899,7 @@ msgstr "" "lorsqu'un fichier est ouvert avec l'encodage par défaut des paramètres " "régionaux. Voir aussi :envvar:`PYTHONWARNDEFAULTENCODING`." -#: using/cmdline.rst:478 +#: using/cmdline.rst:481 msgid "" "It also allows passing arbitrary values and retrieving them through the :" "data:`sys._xoptions` dictionary." @@ -898,27 +907,27 @@ msgstr "" "Il est aussi possible de passer des valeurs arbitraires et de les récupérer " "par le dictionnaire :data:`sys._xoptions`." -#: using/cmdline.rst:481 +#: using/cmdline.rst:484 msgid "The :option:`-X` option was added." msgstr "L'option :option:`-X` a été ajoutée." -#: using/cmdline.rst:484 +#: using/cmdline.rst:487 msgid "The ``-X faulthandler`` option." msgstr "L'option ``-X faulthandler``." -#: using/cmdline.rst:487 +#: using/cmdline.rst:490 msgid "The ``-X showrefcount`` and ``-X tracemalloc`` options." msgstr "Les options ``-X showrefcount`` et ``-X tracemalloc`` ." -#: using/cmdline.rst:490 +#: using/cmdline.rst:493 msgid "The ``-X showalloccount`` option." msgstr "L'option ``-X showalloccount``." -#: using/cmdline.rst:493 +#: using/cmdline.rst:496 msgid "The ``-X importtime``, ``-X dev`` and ``-X utf8`` options." msgstr "Les options ``-X importtime``, ``-X dev`` et ``-X utf8``." -#: using/cmdline.rst:496 +#: using/cmdline.rst:499 msgid "" "The ``-X pycache_prefix`` option. The ``-X dev`` option now logs ``close()`` " "exceptions in :class:`io.IOBase` destructor." @@ -927,7 +936,7 @@ msgstr "" "des exceptions ``close()`` dans le destructeur de la classe :class:`io." "IOBase`." -#: using/cmdline.rst:500 +#: using/cmdline.rst:503 msgid "" "Using ``-X dev`` option, check *encoding* and *errors* arguments on string " "encoding and decoding operations." @@ -936,31 +945,36 @@ msgstr "" "*encoding* et *errors* sur les opérations d'encodage et de décodage des " "chaînes de caractères." -#: using/cmdline.rst:504 +#: using/cmdline.rst:507 msgid "The ``-X showalloccount`` option has been removed." msgstr "L'option ``-X showalloccount`` a été supprimée." -#: using/cmdline.rst:506 +#: using/cmdline.rst:509 msgid "The ``-X warn_default_encoding`` option." msgstr "L'option ``-X warn_default_encoding``." -#: using/cmdline.rst:510 +#: using/cmdline.rst:512 +#, fuzzy +msgid "The ``-X int_max_str_digits`` option." +msgstr "L'option ``-X warn_default_encoding``." + +#: using/cmdline.rst:516 msgid "The ``-X oldparser`` option." msgstr "L'option ``-X oldparser``." -#: using/cmdline.rst:514 +#: using/cmdline.rst:520 msgid "Options you shouldn't use" msgstr "Options à ne pas utiliser" -#: using/cmdline.rst:518 +#: using/cmdline.rst:524 msgid "Reserved for use by Jython_." msgstr "Utilisation réservée à Jython_." -#: using/cmdline.rst:526 +#: using/cmdline.rst:531 msgid "Environment variables" msgstr "Variables d'environnement" -#: using/cmdline.rst:528 +#: using/cmdline.rst:533 msgid "" "These environment variables influence Python's behavior, they are processed " "before the command-line switches other than -E or -I. It is customary that " @@ -972,7 +986,7 @@ msgstr "" "E* ou *-I*. Il est d'usage que les options de la ligne de commande prennent " "le pas sur les variables d'environnement en cas de conflit." -#: using/cmdline.rst:535 +#: using/cmdline.rst:540 msgid "" "Change the location of the standard Python libraries. By default, the " "libraries are searched in :file:`{prefix}/lib/python{version}` and :file:" @@ -986,7 +1000,7 @@ msgstr "" "`{préfixe_exec}` sont des répertoires qui dépendent de l'installation (leur " "valeur par défaut étant :file:`/usr/local`)." -#: using/cmdline.rst:541 +#: using/cmdline.rst:546 msgid "" "When :envvar:`PYTHONHOME` is set to a single directory, its value replaces " "both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different " @@ -997,7 +1011,7 @@ msgstr "" "spécifier des valeurs différentes à ces variables, définissez :envvar:" "`PYTHONHOME` à :file:`{préfixe}:{préfixe_exec}`." -#: using/cmdline.rst:548 +#: using/cmdline.rst:553 msgid "" "Augment the default search path for module files. The format is the same as " "the shell's :envvar:`PATH`: one or more directory pathnames separated by :" @@ -1010,7 +1024,7 @@ msgstr "" "caractère deux-points sous Unix et point-virgule sous Windows). Les " "répertoires qui n'existent pas sont ignorés silencieusement." -#: using/cmdline.rst:553 +#: using/cmdline.rst:558 msgid "" "In addition to normal directories, individual :envvar:`PYTHONPATH` entries " "may refer to zipfiles containing pure Python modules (in either source or " @@ -1022,7 +1036,7 @@ msgstr "" "compilée). Les modules d'extensions ne peuvent pas être importés à partir de " "fichiers zip." -#: using/cmdline.rst:557 +#: using/cmdline.rst:562 msgid "" "The default search path is installation dependent, but generally begins " "with :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). " @@ -1032,7 +1046,7 @@ msgstr "" "généralement par :file:`{préfixe}/lib/python{version}` (voir :envvar:" "`PYTHONHOME` ci-dessus). Il est *toujours* ajouté à :envvar:`PYTHONPATH`." -#: using/cmdline.rst:561 +#: using/cmdline.rst:566 msgid "" "An additional directory will be inserted in the search path in front of :" "envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" @@ -1044,7 +1058,7 @@ msgstr "" "envvar:`PYTHONPATH`. Le chemin de recherche peut être manipulé depuis un " "programme Python avec la variable :data:`sys.path`." -#: using/cmdline.rst:569 +#: using/cmdline.rst:574 msgid "" "If this is set to a non-empty string, it overrides the :data:`sys." "platlibdir` value." @@ -1052,7 +1066,7 @@ msgstr "" "Si elle est définie à une chaîne non vide, elle remplace la valeur de :data:" "`sys.platlibdir`." -#: using/cmdline.rst:577 +#: using/cmdline.rst:582 msgid "" "If this is the name of a readable file, the Python commands in that file are " "executed before the first prompt is displayed in interactive mode. The file " @@ -1071,7 +1085,7 @@ msgstr "" "`sys.ps2` ainsi que le point d'entrée (*hook* en anglais) :data:`sys." "__interactivehook__` dans ce fichier." -#: using/cmdline.rst:584 +#: using/cmdline.rst:589 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with " "argument ``filename``." @@ -1079,7 +1093,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``cpython.run_startup`` avec " "comme argument ``filename``." -#: using/cmdline.rst:586 +#: using/cmdline.rst:591 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with the " "filename as the argument when called on startup." @@ -1087,7 +1101,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``cpython.run_startup`` avec le " "nom du fichier en argument lorsqu'il est lancé au démarrage." -#: using/cmdline.rst:592 +#: using/cmdline.rst:597 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-O` option. If set to an integer, it is equivalent to specifying :" @@ -1097,7 +1111,7 @@ msgstr "" "l'option :option:`-O`. Si elle est définie à un entier, c'est équivalent à " "spécifier l'option :option:`-O` plusieurs fois." -#: using/cmdline.rst:599 +#: using/cmdline.rst:604 msgid "" "If this is set, it names a callable using dotted-path notation. The module " "containing the callable will be imported and then the callable will be run " @@ -1116,7 +1130,7 @@ msgstr "" "la chaîne \"0\" entraine que l'implémentation par défaut de :func:`sys." "breakpointhook` ne fait rien et s'interrompt immédiatement." -#: using/cmdline.rst:611 +#: using/cmdline.rst:616 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-d` option. If set to an integer, it is equivalent to specifying :" @@ -1126,7 +1140,7 @@ msgstr "" "l'option :option:`-d`. Si elle est définie à un entier, c'est équivalent à " "spécifier l'option :option:`-d` plusieurs fois." -#: using/cmdline.rst:618 +#: using/cmdline.rst:623 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-i` option." @@ -1134,7 +1148,7 @@ msgstr "" "Si elle est définie à une chaîne non vide, c'est équivalent à spécifier " "l'option :option:`-i`." -#: using/cmdline.rst:621 +#: using/cmdline.rst:626 msgid "" "This variable can also be modified by Python code using :data:`os.environ` " "to force inspect mode on program termination." @@ -1142,7 +1156,7 @@ msgstr "" "Cette variable peut aussi être modifiée par du code Python en utilisant :" "data:`os.environ` pour forcer le mode introspectif à la fin du programme." -#: using/cmdline.rst:627 +#: using/cmdline.rst:632 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-u` option." @@ -1150,7 +1164,7 @@ msgstr "" "Si elle est définie à une chaîne non vide, c'est équivalent à spécifier " "l'option :option:`-u`." -#: using/cmdline.rst:633 +#: using/cmdline.rst:638 msgid "" "If this is set to a non-empty string it is equivalent to specifying the :" "option:`-v` option. If set to an integer, it is equivalent to specifying :" @@ -1160,7 +1174,7 @@ msgstr "" "l'option :option:`-v`. Si elle est définie à un entier, c'est équivalent à " "spécifier l'option :option:`-v` plusieurs fois." -#: using/cmdline.rst:640 +#: using/cmdline.rst:645 msgid "" "If this is set, Python ignores case in :keyword:`import` statements. This " "only works on Windows and macOS." @@ -1168,7 +1182,7 @@ msgstr "" "Si elle est définie, Python ignore la casse dans les instructions :keyword:" "`import`. Ceci ne fonctionne que sous Windows et macOS." -#: using/cmdline.rst:646 +#: using/cmdline.rst:651 msgid "" "If this is set to a non-empty string, Python won't try to write ``.pyc`` " "files on the import of source modules. This is equivalent to specifying " @@ -1178,7 +1192,7 @@ msgstr "" "fichier ``.pyc`` à l'importation des modules sources. C'est équivalent à " "spécifier l'option :option:`-B`." -#: using/cmdline.rst:653 +#: using/cmdline.rst:658 msgid "" "If this is set, Python will write ``.pyc`` files in a mirror directory tree " "at this path, instead of in ``__pycache__`` directories within the source " @@ -1189,7 +1203,7 @@ msgstr "" "``__pycache__`` mais dans une arborescence miroir à ce chemin. C'est " "l'équivalent de l'option :option:`-X` ``pycache_prefix=PATH``." -#: using/cmdline.rst:663 +#: using/cmdline.rst:668 msgid "" "If this variable is not set or set to ``random``, a random value is used to " "seed the hashes of str and bytes objects." @@ -1198,7 +1212,7 @@ msgstr "" "aléatoire est utilisée pour saler les empreintes des objets ``str`` et " "``bytes``." -#: using/cmdline.rst:666 +#: using/cmdline.rst:671 msgid "" "If :envvar:`PYTHONHASHSEED` is set to an integer value, it is used as a " "fixed seed for generating the hash() of the types covered by the hash " @@ -1208,7 +1222,7 @@ msgstr "" "utilisée comme valeur de salage pour générer les empreintes des types " "utilisant l'imprévisibilité du hachage." -#: using/cmdline.rst:670 +#: using/cmdline.rst:675 msgid "" "Its purpose is to allow repeatable hashing, such as for selftests for the " "interpreter itself, or to allow a cluster of python processes to share hash " @@ -1218,7 +1232,7 @@ msgstr "" "l'interpréteur lui-même ou pour qu'un groupe de processus Python puisse " "partager des empreintes." -#: using/cmdline.rst:674 +#: using/cmdline.rst:679 msgid "" "The integer must be a decimal number in the range [0,4294967295]. " "Specifying the value 0 will disable hash randomization." @@ -1227,7 +1241,14 @@ msgstr "" "4 294 967 295. Spécifier la valeur 0 désactive l'imprévisibilité des " "empreintes." -#: using/cmdline.rst:682 +#: using/cmdline.rst:686 +msgid "" +"If this variable is set to an integer, it is used to configure the " +"interpreter's global :ref:`integer string conversion length limitation " +"`." +msgstr "" + +#: using/cmdline.rst:694 msgid "" "If this is set before running the interpreter, it overrides the encoding " "used for stdin/stdout/stderr, in the syntax ``encodingname:errorhandler``. " @@ -1241,7 +1262,7 @@ msgstr "" "facultatifs tous les deux et possèdent la même signification que dans :func:" "`str.encode`." -#: using/cmdline.rst:687 +#: using/cmdline.rst:699 msgid "" "For stderr, the ``:errorhandler`` part is ignored; the handler will always " "be ``'backslashreplace'``." @@ -1249,11 +1270,11 @@ msgstr "" "Pour la sortie d'erreur, la partie ``:gestionnaire_erreur`` est ignorée : le " "gestionnaire est toujours ``'backslashreplace'``." -#: using/cmdline.rst:690 +#: using/cmdline.rst:702 msgid "The ``encodingname`` part is now optional." msgstr "La partie ``nom_encodage`` est maintenant optionnelle." -#: using/cmdline.rst:693 +#: using/cmdline.rst:705 msgid "" "On Windows, the encoding specified by this variable is ignored for " "interactive console buffers unless :envvar:`PYTHONLEGACYWINDOWSSTDIO` is " @@ -1265,7 +1286,7 @@ msgstr "" "`PYTHONLEGACYWINDOWSSTDIO` ne soit aussi spécifié. Les fichiers et tubes " "(*pipes* en anglais) redirigés vers les flux standards ne sont pas concernés." -#: using/cmdline.rst:700 +#: using/cmdline.rst:712 msgid "" "If this is set, Python won't add the :data:`user site-packages directory " "` to :data:`sys.path`." @@ -1273,7 +1294,7 @@ msgstr "" "Si elle est définie, Python n'ajoute pas le répertoire :data:`site-packages " "propre à l'utilisateur ` à :data:`sys.path`." -#: using/cmdline.rst:710 +#: using/cmdline.rst:722 msgid "" "Defines the :data:`user base directory `, which is used to " "compute the path of the :data:`user site-packages directory ` pour ``python setup.py install --" "user``." -#: using/cmdline.rst:722 +#: using/cmdline.rst:734 msgid "" "If this environment variable is set, ``sys.argv[0]`` will be set to its " "value instead of the value got through the C runtime. Only works on macOS." @@ -1295,7 +1316,7 @@ msgstr "" "cette valeur au lieu de la valeur fournie par l'exécutable. Ne fonctionne " "que sur macOS." -#: using/cmdline.rst:728 +#: using/cmdline.rst:740 msgid "" "This is equivalent to the :option:`-W` option. If set to a comma separated " "string, it is equivalent to specifying :option:`-W` multiple times, with " @@ -1306,7 +1327,7 @@ msgstr "" "option:`-W` plusieurs fois. Dans ce cas, les filtres spécifiés en derniers " "prennent le pas sur ceux qui les précèdent dans la liste." -#: using/cmdline.rst:750 +#: using/cmdline.rst:762 msgid "" "If this environment variable is set to a non-empty string, :func:" "`faulthandler.enable` is called at startup: install a handler for :const:" @@ -1320,7 +1341,7 @@ msgstr "" "`SIGILL` afin de générer une trace de la pile d'appels. C'est équivalent à " "spécifier l'option :option:`-X` ``faulthandler``." -#: using/cmdline.rst:761 +#: using/cmdline.rst:773 msgid "" "If this environment variable is set to a non-empty string, start tracing " "Python memory allocations using the :mod:`tracemalloc` module. The value of " @@ -1335,7 +1356,7 @@ msgstr "" "ne stocke que l'appel le plus récent. Voir :func:`tracemalloc.start` pour " "davantage d'informations." -#: using/cmdline.rst:772 +#: using/cmdline.rst:784 msgid "" "If this environment variable is set to a non-empty string, Python will show " "how long each import takes. This is exactly equivalent to setting ``-X " @@ -1345,7 +1366,7 @@ msgstr "" "pris par les importations. C'est exactement équivalent à donner ``-X " "importtime`` en ligne de commande." -#: using/cmdline.rst:781 +#: using/cmdline.rst:793 msgid "" "If this environment variable is set to a non-empty string, enable the :ref:" "`debug mode ` of the :mod:`asyncio` module." @@ -1353,17 +1374,17 @@ msgstr "" "Si elle est définie à une chaîne non vide, active le :ref:`mode debogage " "` du module :mod:`asyncio`." -#: using/cmdline.rst:789 +#: using/cmdline.rst:801 msgid "Set the Python memory allocators and/or install debug hooks." msgstr "" "Définit l'allocateur mémoire de Python ou installe des points d'entrée " "(*hooks* en anglais) de débogage." -#: using/cmdline.rst:791 +#: using/cmdline.rst:803 msgid "Set the family of memory allocators used by Python:" msgstr "Définit la famille d'allocateurs mémoire utilisés par Python :" -#: using/cmdline.rst:793 +#: using/cmdline.rst:805 msgid "" "``default``: use the :ref:`default memory allocators `." @@ -1371,7 +1392,7 @@ msgstr "" "``default``: utilise les :ref:`allocateurs de mémoire par défaut `." -#: using/cmdline.rst:795 +#: using/cmdline.rst:807 msgid "" "``malloc``: use the :c:func:`malloc` function of the C library for all " "domains (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" @@ -1381,7 +1402,7 @@ msgstr "" "standard pour tous les domaines (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:" "`PYMEM_DOMAIN_MEM`, :c:data:`PYMEM_DOMAIN_OBJ`)." -#: using/cmdline.rst:798 +#: using/cmdline.rst:810 msgid "" "``pymalloc``: use the :ref:`pymalloc allocator ` for :c:data:" "`PYMEM_DOMAIN_MEM` and :c:data:`PYMEM_DOMAIN_OBJ` domains and use the :c:" @@ -1392,13 +1413,13 @@ msgstr "" "utilise la fonction :c:func:`malloc` pour le domaine :c:data:" "`PYMEM_DOMAIN_RAW`." -#: using/cmdline.rst:802 +#: using/cmdline.rst:814 msgid "Install :ref:`debug hooks `:" msgstr "" "Chacun de ces modes possède un pendant qui ajoute en plus des :ref:`points " "d'entrée de débogage ` :" -#: using/cmdline.rst:804 +#: using/cmdline.rst:816 msgid "" "``debug``: install debug hooks on top of the :ref:`default memory allocators " "`." @@ -1406,19 +1427,19 @@ msgstr "" "``debug`` pour :ref:`l'allocateur de mémoire par défaut ` ;" -#: using/cmdline.rst:806 +#: using/cmdline.rst:818 msgid "``malloc_debug``: same as ``malloc`` but also install debug hooks." msgstr "``malloc_debug`` pour ``malloc`` ;" -#: using/cmdline.rst:807 +#: using/cmdline.rst:819 msgid "``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks." msgstr "``pymalloc_debug`` pour ``pymalloc``." -#: using/cmdline.rst:809 +#: using/cmdline.rst:821 msgid "Added the ``\"default\"`` allocator." msgstr "L'allocateur ``default`` a été ajouté." -#: using/cmdline.rst:817 +#: using/cmdline.rst:829 msgid "" "If set to a non-empty string, Python will print statistics of the :ref:" "`pymalloc memory allocator ` every time a new pymalloc object " @@ -1429,7 +1450,7 @@ msgstr "" "qu'un objet est créé par ce gestionnaire, ainsi qu'à la fin de l'exécution " "du programme." -#: using/cmdline.rst:821 +#: using/cmdline.rst:833 msgid "" "This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable " "is used to force the :c:func:`malloc` allocator of the C library, or if " @@ -1440,7 +1461,7 @@ msgstr "" "bibliothèque C standard ou si Python est configuré sans le support de " "``pymalloc``." -#: using/cmdline.rst:825 +#: using/cmdline.rst:837 msgid "" "This variable can now also be used on Python compiled in release mode. It " "now has no effect if set to an empty string." @@ -1448,7 +1469,7 @@ msgstr "" "Cette variable peut maintenant être utilisée avec Python compilé en mode " "*release*. Elle n'a pas d'effet si elle est définie à une chaine vide." -#: using/cmdline.rst:832 +#: using/cmdline.rst:844 msgid "" "If set to a non-empty string, the default :term:`filesystem encoding and " "error handler` mode will revert to their pre-3.6 values of 'mbcs' and " @@ -1462,7 +1483,7 @@ msgstr "" "prennent les nouvelles valeurs par défaut ``\"UTF-8\"`` et " "``\"surrogatepass\"``." -#: using/cmdline.rst:837 +#: using/cmdline.rst:849 msgid "" "This may also be enabled at runtime with :func:`sys." "_enablelegacywindowsfsencoding()`." @@ -1470,15 +1491,15 @@ msgstr "" "Vous pouvez aussi activer ceci à l'exécution avec :func:`sys." "_enablelegacywindowsfsencoding()`." -#: using/cmdline.rst:855 +#: using/cmdline.rst:867 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: using/cmdline.rst:842 +#: using/cmdline.rst:854 msgid "See :pep:`529` for more details." msgstr "Voir la :pep:`529` pour plus d'informations." -#: using/cmdline.rst:847 +#: using/cmdline.rst:859 msgid "" "If set to a non-empty string, does not use the new console reader and " "writer. This means that Unicode characters will be encoded according to the " @@ -1488,7 +1509,7 @@ msgstr "" "et écrivain de la nouvelle console. Cela signifie que les caractères Unicode " "sont encodés avec l'encodage de la console active plutôt qu'en UTF-8." -#: using/cmdline.rst:851 +#: using/cmdline.rst:863 msgid "" "This variable is ignored if the standard streams are redirected (to files or " "pipes) rather than referring to console buffers." @@ -1497,7 +1518,7 @@ msgstr "" "fichiers ou des tubes) plutôt que pointant vers des mémoires tampons de " "console." -#: using/cmdline.rst:861 +#: using/cmdline.rst:873 msgid "" "If set to the value ``0``, causes the main Python command line application " "to skip coercing the legacy ASCII-based C and POSIX locales to a more " @@ -1508,7 +1529,7 @@ msgstr "" "POSIX à base ASCII, mais bascule sur une alternative basée sur l'UTF-8 qui " "doit posséder plus de possibilités." -#: using/cmdline.rst:865 +#: using/cmdline.rst:877 msgid "" "If this variable is *not* set (or is set to a value other than ``0``), the " "``LC_ALL`` locale override environment variable is also not set, and the " @@ -1527,19 +1548,19 @@ msgstr "" "paramètres régionaux pour la catégorie ``LC_TYPE`` dans l'ordre suivant " "avant de charger l'exécutable de l'interpréteur :" -#: using/cmdline.rst:873 +#: using/cmdline.rst:885 msgid "``C.UTF-8``" msgstr "``C.UTF-8``" -#: using/cmdline.rst:874 +#: using/cmdline.rst:886 msgid "``C.utf8``" msgstr "``C.utf8``" -#: using/cmdline.rst:875 +#: using/cmdline.rst:887 msgid "``UTF-8``" msgstr "``UTF-8``" -#: using/cmdline.rst:877 +#: using/cmdline.rst:889 msgid "" "If setting one of these locale categories succeeds, then the ``LC_CTYPE`` " "environment variable will also be set accordingly in the current process " @@ -1563,7 +1584,7 @@ msgstr "" "régionale C courante, tel que c'est le cas pour la propre fonction Python :" "func:`locale.getdefaultlocale`)." -#: using/cmdline.rst:887 +#: using/cmdline.rst:899 msgid "" "Configuring one of these locales (either explicitly or via the above " "implicit locale coercion) automatically enables the ``surrogateescape`` :ref:" @@ -1580,7 +1601,7 @@ msgstr "" "régionale). Ce comportement relatif à la gestion des flux standards peut " "être surchargé, comme d'habitude, par :envvar:`PYTHONIOENCODING`." -#: using/cmdline.rst:894 +#: using/cmdline.rst:906 msgid "" "For debugging purposes, setting ``PYTHONCOERCECLOCALE=warn`` will cause " "Python to emit warning messages on ``stderr`` if either the locale coercion " @@ -1592,7 +1613,7 @@ msgstr "" "régionale est activée, ou si une configuration régionale qui *aurait* activé " "est toujours active quand l'interpréteur Python est initialisé." -#: using/cmdline.rst:899 +#: using/cmdline.rst:911 msgid "" "Also note that even when locale coercion is disabled, or when it fails to " "find a suitable target locale, :envvar:`PYTHONUTF8` will still activate by " @@ -1607,15 +1628,15 @@ msgstr "" "désactivées pour forcer l'interpréteur à utiliser ``ASCII`` en lieu et place " "de ``UTF-8`` pour les interfaces avec le système." -#: using/cmdline.rst:906 +#: using/cmdline.rst:918 msgid ":ref:`Availability `: \\*nix." msgstr ":ref:`Disponibilité ` : systèmes de type UNIX." -#: using/cmdline.rst:907 +#: using/cmdline.rst:919 msgid "See :pep:`538` for more details." msgstr "Voir la :pep:`538` pour plus d'informations." -#: using/cmdline.rst:913 +#: using/cmdline.rst:925 msgid "" "If this environment variable is set to a non-empty string, enable :ref:" "`Python Development Mode `, introducing additional runtime checks " @@ -1626,15 +1647,15 @@ msgstr "" "additionnelles durant l'exécution qui sont trop lourdes pour être activées " "par défaut." -#: using/cmdline.rst:921 +#: using/cmdline.rst:933 msgid "If set to ``1``, enable the :ref:`Python UTF-8 Mode `." msgstr "La valeur ``1`` active le :ref:`mode UTF-8 `." -#: using/cmdline.rst:923 +#: using/cmdline.rst:935 msgid "If set to ``0``, disable the :ref:`Python UTF-8 Mode `." msgstr "La valeur ``0`` désactive le :ref:`mode UTF-8 `." -#: using/cmdline.rst:925 +#: using/cmdline.rst:937 msgid "" "Setting any other non-empty string causes an error during interpreter " "initialisation." @@ -1642,7 +1663,7 @@ msgstr "" "Définir une valeur autre (non vide) entraine une erreur pendant " "l'initialisation de l'interpréteur." -#: using/cmdline.rst:932 +#: using/cmdline.rst:944 msgid "" "If this environment variable is set to a non-empty string, issue a :class:" "`EncodingWarning` when the locale-specific default encoding is used." @@ -1651,27 +1672,27 @@ msgstr "" "`EncodingWarning` est émis lorsque l'encodage par défaut de la configuration " "régionale est utilisé." -#: using/cmdline.rst:935 +#: using/cmdline.rst:947 msgid "See :ref:`io-encoding-warning` for details." msgstr "Voir :ref:`io-encoding-warning` pour plus de détails." -#: using/cmdline.rst:941 +#: using/cmdline.rst:953 msgid "Debug-mode variables" msgstr "Variables en mode débogage" -#: using/cmdline.rst:945 +#: using/cmdline.rst:957 msgid "If set, Python will print threading debug info into stdout." msgstr "" "Si elle est définie, Python affiche sur la sortie standard des informations " "de débogage relatives aux différents fils d'exécution." -#: using/cmdline.rst:947 +#: using/cmdline.rst:959 msgid "Need a :ref:`debug build of Python `." msgstr "" "Cette variable nécessite un interpréteur :ref:`compilé avec les paramètres " "de débogage `." -#: using/cmdline.rst:954 +#: using/cmdline.rst:966 msgid "" "If set, Python will dump objects and reference counts still alive after " "shutting down the interpreter." @@ -1680,7 +1701,7 @@ msgstr "" "compteurs de références toujours existant après la fermeture de " "l'interpréteur." -#: using/cmdline.rst:957 +#: using/cmdline.rst:969 msgid "" "Need Python configured with the :option:`--with-trace-refs` build option." msgstr "" diff --git a/using/configure.po b/using/configure.po index cea55e4ef7..45f0cd667a 100644 --- a/using/configure.po +++ b/using/configure.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -890,7 +890,7 @@ msgid "" "headers in a nonstandard directory ````." msgstr "" -#: using/configure.rst:779 +#: using/configure.rst:797 msgid "" "Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " "value for setup.py to be able to build extension modules using the " @@ -958,173 +958,201 @@ msgid "" "distutils :envvar:`CFLAGS` once Python is installed (:issue:`21121`)." msgstr "" -#: using/configure.rst:659 +#: using/configure.rst:655 +msgid "In particular, :envvar:`CFLAGS` should not contain:" +msgstr "" + +#: using/configure.rst:657 +msgid "" +"the compiler flag ``-I`` (for setting the search path for include files). " +"The ``-I`` flags are processed from left to right, and any flags in :envvar:" +"`CFLAGS` would take precedence over user- and package-supplied ``-I`` flags." +msgstr "" + +#: using/configure.rst:662 +msgid "" +"hardening flags such as ``-Werror`` because distributions cannot control " +"whether packages installed by users conform to such heightened standards." +msgstr "" + +#: using/configure.rst:670 msgid "Extra C compiler flags." msgstr "" -#: using/configure.rst:663 +#: using/configure.rst:674 msgid "" "Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." msgstr "" -#: using/configure.rst:670 +#: using/configure.rst:681 msgid "" "Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " "script." msgstr "" -#: using/configure.rst:677 +#: using/configure.rst:688 msgid "Base compiler flags." msgstr "" -#: using/configure.rst:681 +#: using/configure.rst:692 msgid "Optimization flags." msgstr "" -#: using/configure.rst:685 +#: using/configure.rst:696 msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." msgstr "" -#: using/configure.rst:691 +#: using/configure.rst:702 msgid "Compiler flags used to build a shared library." msgstr "" -#: using/configure.rst:693 +#: using/configure.rst:704 msgid "For example, ``-fPIC`` is used on Linux and on BSD." msgstr "" -#: using/configure.rst:697 +#: using/configure.rst:708 msgid "Extra C flags added for building the interpreter object files." msgstr "" -#: using/configure.rst:699 +#: using/configure.rst:710 msgid "" "Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty " "string otherwise." msgstr "" -#: using/configure.rst:704 +#: using/configure.rst:715 msgid "" "Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " "$(EXTRA_CFLAGS)``." msgstr "" -#: using/configure.rst:708 +#: using/configure.rst:719 msgid "" "Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." msgstr "" -#: using/configure.rst:714 +#: using/configure.rst:725 msgid "C flags used for building the interpreter object files." msgstr "" -#: using/configure.rst:716 +#: using/configure.rst:727 msgid "" "Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " "$(CFLAGSFORSHARED)``." msgstr "" -#: using/configure.rst:722 +#: using/configure.rst:733 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." msgstr "" -#: using/configure.rst:728 +#: using/configure.rst:739 msgid "" "Compiler flags to build a standard library extension module as a built-in " "module, like the :mod:`posix` module." msgstr "" -#: using/configure.rst:731 +#: using/configure.rst:742 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." msgstr "" -#: using/configure.rst:737 +#: using/configure.rst:748 msgid "Purify command. Purify is a memory debugger program." msgstr "" -#: using/configure.rst:739 +#: using/configure.rst:750 msgid "Default: empty string (not used)." msgstr "" -#: using/configure.rst:743 +#: using/configure.rst:754 msgid "Linker flags" msgstr "" -#: using/configure.rst:747 +#: using/configure.rst:758 msgid "" "Linker command used to build programs like ``python`` and ``_testembed``." msgstr "" -#: using/configure.rst:749 +#: using/configure.rst:760 msgid "Default: ``$(PURIFY) $(MAINCC)``." msgstr "" -#: using/configure.rst:753 +#: using/configure.rst:764 msgid "" "Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." msgstr "" -#: using/configure.rst:755 +#: using/configure.rst:766 msgid "" "Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " "them on the command line to append to these values without stomping the pre-" "set values." msgstr "" -#: using/configure.rst:763 +#: using/configure.rst:774 msgid "" ":envvar:`LDFLAGS_NODIST` is used in the same manner as :envvar:" "`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of the " "distutils :envvar:`LDFLAGS` once Python is installed (:issue:`35257`)." msgstr "" -#: using/configure.rst:769 +#: using/configure.rst:778 +msgid "In particular, :envvar:`LDFLAGS` should not contain:" +msgstr "" + +#: using/configure.rst:780 +msgid "" +"the compiler flag ``-L`` (for setting the search path for libraries). The ``-" +"L`` flags are processed from left to right, and any flags in :envvar:" +"`LDFLAGS` would take precedence over user- and package-supplied ``-L`` flags." +msgstr "" + +#: using/configure.rst:787 msgid "" "Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " "script." msgstr "" -#: using/configure.rst:776 +#: using/configure.rst:794 msgid "" "Linker flags, e.g. ``-L`` if you have libraries in a nonstandard " "directory ````." msgstr "" -#: using/configure.rst:785 +#: using/configure.rst:803 msgid "" "Linker flags to pass libraries to the linker when linking the Python " "executable." msgstr "" -#: using/configure.rst:788 +#: using/configure.rst:806 msgid "Example: ``-lrt``." msgstr "" -#: using/configure.rst:792 +#: using/configure.rst:810 msgid "Command to build a shared library." msgstr "" -#: using/configure.rst:794 +#: using/configure.rst:812 msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." msgstr "" -#: using/configure.rst:798 +#: using/configure.rst:816 msgid "Command to build ``libpython`` shared library." msgstr "" -#: using/configure.rst:800 +#: using/configure.rst:818 msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." msgstr "" -#: using/configure.rst:804 +#: using/configure.rst:822 msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." msgstr "" -#: using/configure.rst:808 +#: using/configure.rst:826 msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." msgstr "" -#: using/configure.rst:814 +#: using/configure.rst:832 msgid "Linker flags used for building the interpreter object files." msgstr "" diff --git a/using/mac.po b/using/mac.po index 5e6801667e..441596705a 100644 --- a/using/mac.po +++ b/using/mac.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-24 13:11+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -43,12 +43,14 @@ msgid "Getting and Installing MacPython" msgstr "Obtenir et installer MacPython" #: using/mac.rst:20 +#, fuzzy msgid "" -"macOS since version 10.8 comes with Python 2.7 pre-installed by Apple. If " -"you wish, you are invited to install the most recent version of Python 3 " -"from the Python website (https://www.python.org). A current \"universal " -"binary\" build of Python, which runs natively on the Mac's new Intel and " -"legacy PPC CPU's, is available there." +"macOS used to come with Python 2.7 pre-installed between versions 10.8 and " +"`12.3 `_. You are invited to install the most " +"recent version of Python 3 from the Python website (https://www.python." +"org). A current \"universal binary\" build of Python, which runs natively " +"on the Mac's new Intel and legacy PPC CPU's, is available there." msgstr "" "macOS contient déjà Python 2.7 pré-installé par Apple depuis la version " "10.8. Si vous le souhaitez, vous êtes invités à installer la version la plus " @@ -57,23 +59,24 @@ msgstr "" "nouveaux processeurs Intel et les anciens processeurs PPC, de Mac, y est " "disponible." -#: using/mac.rst:26 +#: using/mac.rst:27 msgid "What you get after installing is a number of things:" msgstr "Vous obtiendrez un certain nombre de choses après installation:" -#: using/mac.rst:28 +#: using/mac.rst:29 +#, fuzzy msgid "" -"A :file:`Python 3.9` folder in your :file:`Applications` folder. In here you " -"find IDLE, the development environment that is a standard part of official " -"Python distributions; and PythonLauncher, which handles double-clicking " -"Python scripts from the Finder." +"A :file:`Python 3.12` folder in your :file:`Applications` folder. In here " +"you find IDLE, the development environment that is a standard part of " +"official Python distributions; and PythonLauncher, which handles double-" +"clicking Python scripts from the Finder." msgstr "" "Un dossier :file:`Python 3.9` dans votre dossier :file:`Applications`. " "Dedans vous trouverez **IDLE**, l'environnement de développement qui fait " "partie des distributions Python officielles ; **PythonLauncher**, qui gère " "le lancement de scripts Python depuis le ``Finder``." -#: using/mac.rst:33 +#: using/mac.rst:34 msgid "" "A framework :file:`/Library/Frameworks/Python.framework`, which includes the " "Python executable and libraries. The installer adds this location to your " @@ -86,7 +89,7 @@ msgstr "" "supprimer ces trois choses. Un lien symbolique vers l'exécutable Python est " "placé dans ``/usr/local/bin/``." -#: using/mac.rst:38 +#: using/mac.rst:39 msgid "" "The Apple-provided build of Python is installed in :file:`/System/Library/" "Frameworks/Python.framework` and :file:`/usr/bin/python`, respectively. You " @@ -105,7 +108,7 @@ msgstr "" "il est donc important que vos chemins et utilisations soit cohérentes avec " "ce que vous voulez faire." -#: using/mac.rst:46 +#: using/mac.rst:47 msgid "" "IDLE includes a help menu that allows you to access Python documentation. If " "you are completely new to Python you should start reading the tutorial " @@ -115,7 +118,7 @@ msgstr "" "Python. Si vous êtes entièrement novice, vous devriez commencer par lire le " "tutoriel d'introduction dans ce document." -#: using/mac.rst:50 +#: using/mac.rst:51 msgid "" "If you are familiar with Python on other Unix platforms you should read the " "section on running Python scripts from the Unix shell." @@ -124,11 +127,11 @@ msgstr "" "devriez lire la section sur comment exécuter des scripts Python depuis un " "shell Unix." -#: using/mac.rst:55 +#: using/mac.rst:56 msgid "How to run a Python script" msgstr "Comment exécuter un script Python" -#: using/mac.rst:57 +#: using/mac.rst:58 msgid "" "Your best way to get started with Python on macOS is through the IDLE " "integrated development environment, see section :ref:`ide` and use the Help " @@ -138,7 +141,8 @@ msgstr "" "l'environnement de développement intégré **IDLE**, voir la section :ref:" "`ide` et utilisez le menu d'aide (**Help**) quand l'``IDE`` est lancé." -#: using/mac.rst:61 +#: using/mac.rst:62 +#, fuzzy msgid "" "If you want to run Python scripts from the Terminal window command line or " "from the Finder you first need an editor to create your script. macOS comes " @@ -147,8 +151,8 @@ msgid "" "`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see http://www." "barebones.com/products/bbedit/index.html) are good choices, as is :program:" "`TextMate` (see https://macromates.com/). Other editors include :program:" -"`Gvim` (http://macvim-dev.github.io/macvim/) and :program:`Aquamacs` (http://" -"aquamacs.org/)." +"`Gvim` (https://macvim-dev.github.io/macvim/) and :program:`Aquamacs` " +"(http://aquamacs.org/)." msgstr "" "Si vous souhaitez exécuter des scripts Python depuis l'invite de commande " "dans la fenêtre Terminal, ou depuis le **Finder**, vous avez d'abord besoin " @@ -161,7 +165,7 @@ msgstr "" "program:`Gvim` (http://macvim-dev.github.io/macvim/) et :program:`Aquamacs` " "(http://aquamacs.org/)." -#: using/mac.rst:71 +#: using/mac.rst:72 msgid "" "To run your script from the Terminal window you must make sure that :file:`/" "usr/local/bin` is in your shell search path." @@ -170,15 +174,15 @@ msgstr "" "assurer que :file:`/usr/local/bin` est dans le chemin de recherche de votre " "shell (**PATH**)." -#: using/mac.rst:74 +#: using/mac.rst:75 msgid "To run your script from the Finder you have two options:" msgstr "Pour exécuter votre script depuis le Finder vous avez deux options :" -#: using/mac.rst:76 +#: using/mac.rst:77 msgid "Drag it to :program:`PythonLauncher`" msgstr "Glissez-le vers :program:`PythonLauncher`" -#: using/mac.rst:78 +#: using/mac.rst:79 msgid "" "Select :program:`PythonLauncher` as the default application to open your " "script (or any .py script) through the finder Info window and double-click " @@ -194,11 +198,11 @@ msgstr "" "invocation, ou utilisez le menu Préférences pour changer les choses " "globalement." -#: using/mac.rst:88 +#: using/mac.rst:89 msgid "Running scripts with a GUI" msgstr "Lancer des scripts avec une interface graphique" -#: using/mac.rst:90 +#: using/mac.rst:91 msgid "" "With older versions of Python, there is one macOS quirk that you need to be " "aware of: programs that talk to the Aqua window manager (in other words, " @@ -212,18 +216,18 @@ msgstr "" "program:`pythonw` au lieu de :program:`python` pour exécuter ce genre de " "scripts." -#: using/mac.rst:95 +#: using/mac.rst:96 msgid "" "With Python 3.9, you can use either :program:`python` or :program:`pythonw`." msgstr "" "Avec Python 3.9, vous pouvez utiliser :program:`python` ou :program:" "`pythonw`." -#: using/mac.rst:99 +#: using/mac.rst:100 msgid "Configuration" msgstr "Configuration" -#: using/mac.rst:101 +#: using/mac.rst:102 msgid "" "Python on macOS honors all standard Unix environment variables such as :" "envvar:`PYTHONPATH`, but setting these variables for programs started from " @@ -238,7 +242,7 @@ msgstr "" "démarrage. Vous devez créer un fichier :file:`~/.MacOSX/environment.plist`. " "Voir le document technique d'Apple QA1067 pour plus de détails." -#: using/mac.rst:108 +#: using/mac.rst:109 msgid "" "For more information on installation Python packages in MacPython, see " "section :ref:`mac-package-manager`." @@ -246,11 +250,11 @@ msgstr "" "Pour plus d'informations sur l'installation de paquets Python dans " "**MacPython**, voir la section :ref:`mac-package-manager`." -#: using/mac.rst:115 +#: using/mac.rst:116 msgid "The IDE" msgstr "L'*IDE*" -#: using/mac.rst:117 +#: using/mac.rst:118 msgid "" "MacPython ships with the standard IDLE development environment. A good " "introduction to using IDLE can be found at http://www.hashcollision.org/hkn/" @@ -260,16 +264,16 @@ msgstr "" "**IDLE**. Une bonne introduction sur l’utilisation d'**IDLE** peut être " "trouvée à http://www.hashcollision.org/hkn/python/idle_intro/index.html." -#: using/mac.rst:125 +#: using/mac.rst:126 msgid "Installing Additional Python Packages" msgstr "Installation de paquets Python additionnels" -#: using/mac.rst:127 +#: using/mac.rst:128 msgid "There are several methods to install additional Python packages:" msgstr "" "Il y a plusieurs méthodes pour installer des paquets Python supplémentaires :" -#: using/mac.rst:129 +#: using/mac.rst:130 msgid "" "Packages can be installed via the standard Python distutils mode (``python " "setup.py install``)." @@ -277,7 +281,7 @@ msgstr "" "Les paquets peuvent être installés en utilisant **distutils** (``python " "setup.py install``)." -#: using/mac.rst:132 +#: using/mac.rst:133 msgid "" "Many packages can also be installed via the :program:`setuptools` extension " "or :program:`pip` wrapper, see https://pip.pypa.io/." @@ -285,11 +289,11 @@ msgstr "" "Beaucoup de paquets peuvent aussi être installés via l'extension :program:" "`setuptools` ou :program:`pip`, voir https://pip.pypa.io/." -#: using/mac.rst:137 +#: using/mac.rst:138 msgid "GUI Programming on the Mac" msgstr "Programmation d'interface graphique sur le Mac" -#: using/mac.rst:139 +#: using/mac.rst:140 msgid "" "There are several options for building GUI applications on the Mac with " "Python." @@ -297,7 +301,7 @@ msgstr "" "Il y a plusieurs options pour construire des applications avec interface " "graphique sur le Mac avec Python." -#: using/mac.rst:141 +#: using/mac.rst:142 msgid "" "*PyObjC* is a Python binding to Apple's Objective-C/Cocoa framework, which " "is the foundation of most modern Mac development. Information on PyObjC is " @@ -308,7 +312,7 @@ msgstr "" "Des informations sur PyObjC sont disponible à https://pypi.org/project/" "pyobjc/." -#: using/mac.rst:145 +#: using/mac.rst:146 msgid "" "The standard Python GUI toolkit is :mod:`tkinter`, based on the cross-" "platform Tk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is " @@ -322,7 +326,7 @@ msgstr "" "https://www.activestate.com ; elle peut aussi être construite depuis les " "sources." -#: using/mac.rst:150 +#: using/mac.rst:151 msgid "" "*wxPython* is another popular cross-platform GUI toolkit that runs natively " "on macOS. Packages and documentation are available from https://www.wxpython." @@ -332,7 +336,7 @@ msgstr "" "graphiques qui tourne nativement sur macOS. Les paquets et la documentation " "sont disponibles sur https://www.wxpython.org." -#: using/mac.rst:153 +#: using/mac.rst:154 msgid "" "*PyQt* is another popular cross-platform GUI toolkit that runs natively on " "macOS. More information can be found at https://riverbankcomputing.com/" @@ -342,11 +346,11 @@ msgstr "" "populaire qui tourne nativement sur macOS. Plus d'informations sont " "disponibles sur https://riverbankcomputing.com/software/pyqt/intro." -#: using/mac.rst:159 +#: using/mac.rst:160 msgid "Distributing Python Applications on the Mac" msgstr "Distribuer des Applications Python sur le Mac" -#: using/mac.rst:161 +#: using/mac.rst:162 msgid "" "The standard tool for deploying standalone Python applications on the Mac " "is :program:`py2app`. More information on installing and using py2app can be " @@ -356,11 +360,11 @@ msgstr "" "program:`py2app`. Plus d'information sur l'installation et l'utilisation de " "**py2app** sur https://pypi.org/project/py2app/." -#: using/mac.rst:167 +#: using/mac.rst:168 msgid "Other Resources" msgstr "Autres ressources" -#: using/mac.rst:169 +#: using/mac.rst:170 msgid "" "The MacPython mailing list is an excellent support resource for Python users " "and developers on the Mac:" @@ -368,14 +372,14 @@ msgstr "" "La liste de diffusion courriel **MacPython** est une excellente ressource " "support pour les utilisateurs et développeurs Python sur Mac :" -#: using/mac.rst:172 +#: using/mac.rst:173 msgid "https://www.python.org/community/sigs/current/pythonmac-sig/" msgstr "https://www.python.org/community/sigs/current/pythonmac-sig/" -#: using/mac.rst:174 +#: using/mac.rst:175 msgid "Another useful resource is the MacPython wiki:" msgstr "Une autre ressource utile est le wiki **MacPython** :" -#: using/mac.rst:176 +#: using/mac.rst:177 msgid "https://wiki.python.org/moin/MacPython" msgstr "https://wiki.python.org/moin/MacPython" diff --git a/using/unix.po b/using/unix.po index 9b8b7e525b..b8dee8c061 100644 --- a/using/unix.po +++ b/using/unix.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2021-10-22 01:46+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -123,11 +123,12 @@ msgid "Building Python" msgstr "Compiler Python" #: using/unix.rst:69 +#, fuzzy msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " "either the latest release's source or just grab a fresh `clone `_. (If you want to " +"devguide.python.org/setup/#get-the-source-code>`_. (If you want to " "contribute patches, you will need a clone.)" msgstr "" "Si vous voulez compiler CPython vous-même, la première chose à faire est de " @@ -296,9 +297,10 @@ msgstr "" "``install`` réécrirait le fichier ``openssl.cnf``." #: using/unix.rst:172 +#, fuzzy msgid "" -"Build Python with custom OpenSSL (see the configure `--with-openssl` and `--" -"with-openssl-rpath` options)" +"Build Python with custom OpenSSL (see the configure ``--with-openssl`` and " +"``--with-openssl-rpath`` options)" msgstr "" "Ensuite, compilez Python avec votre version d'OpenSSL personnalisée (voir " "les options ``--with-openssl`` et ``--with-openssl-rpath`` du script " diff --git a/using/windows.po b/using/windows.po index 2784a036b8..589af5bad2 100644 --- a/using/windows.po +++ b/using/windows.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-05-26 20:24+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -81,12 +81,13 @@ msgstr "" "pour les développeurs utilisant Python pour tout type de projet." #: using/windows.rst:35 +#, fuzzy msgid "" ":ref:`windows-store` is a simple installation of Python that is suitable for " "running scripts and packages, and using IDLE or other development " -"environments. It requires Windows 10, but can be safely installed without " -"corrupting other programs. It also provides many convenient commands for " -"launching Python and its tools." +"environments. It requires Windows 10 and above, but can be safely installed " +"without corrupting other programs. It also provides many convenient commands " +"for launching Python and its tools." msgstr "" ":ref:`windows-store` est une simple installation de Python qui convient à " "l'exécution de scripts, de paquets et à l’utilisation d’IDLE ou d'autres " @@ -259,14 +260,14 @@ msgid "" "In the latest versions of Windows, this limitation can be expanded to " "approximately 32,000 characters. Your administrator will need to activate " "the \"Enable Win32 long paths\" group policy, or set ``LongPathsEnabled`` to " -"``1`` in the registry key ``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet" -"\\Control\\FileSystem``." +"``1`` in the registry key " +"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." msgstr "" "Dans les dernières versions de Windows, cette limitation peut être étendue à " "approximativement 32.000 caractères. Votre administrateur devra activer la " "stratégie de groupe « **Enable Win32 long paths** » ou mettre la valeur de " -"``LongPathsEnabled`` à ``1`` dans de registre à ``HKEY_LOCAL_MACHINE\\SYSTEM" -"\\CurrentControlSet\\Control\\FileSystem``." +"``LongPathsEnabled`` à ``1`` dans de registre à " +"``HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem``." #: using/windows.rst:110 msgid "" @@ -349,8 +350,8 @@ msgstr "InstallAllUsers" msgid "Perform a system-wide installation." msgstr "Effectue une installation pour tous les utilisateurs." -#: using/windows.rst:165 using/windows.rst:177 using/windows.rst:203 -#: using/windows.rst:206 +#: using/windows.rst:168 using/windows.rst:180 using/windows.rst:210 +#: using/windows.rst:213 msgid "0" msgstr "0" @@ -394,55 +395,56 @@ msgstr "" "Le dossier d'installation par défaut pour des installations juste pour soi" #: using/windows.rst:152 +#, fuzzy msgid "" -":file:`%LocalAppData%\\\\\\ Programs\\\\PythonXY` or :file:`%LocalAppData%\\" -"\\\\ Programs\\\\PythonXY-32` or :file:`%LocalAppData%\\\\\\ Programs\\" -"\\PythonXY-64`" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` or :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:" +"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" msgstr "" ":file:`%LocalAppData%\\\\\\ Programs\\\\PythonXY` ou :file:`%LocalAppData%\\" "\\\\ Programs\\\\PythonXY-32` ou :file:`%LocalAppData%\\\\\\ Programs\\" "\\PythonXY-64`" -#: using/windows.rst:159 +#: using/windows.rst:162 msgid "DefaultCustomTargetDir" msgstr "DefaultCustomTargetDir" -#: using/windows.rst:159 +#: using/windows.rst:162 msgid "The default custom install directory displayed in the UI" msgstr "" "Le dossier d'installation personnalisé par défaut affiché par l'interface " "utilisateur" -#: using/windows.rst:208 +#: using/windows.rst:215 msgid "(empty)" msgstr "(vide)" -#: using/windows.rst:162 +#: using/windows.rst:165 msgid "AssociateFiles" msgstr "AssociateFiles" -#: using/windows.rst:162 +#: using/windows.rst:165 msgid "Create file associations if the launcher is also installed." msgstr "Crée les associations de fichiers si le lanceur est aussi installé." -#: using/windows.rst:172 using/windows.rst:179 using/windows.rst:185 -#: using/windows.rst:190 using/windows.rst:197 using/windows.rst:201 +#: using/windows.rst:175 using/windows.rst:182 using/windows.rst:190 +#: using/windows.rst:196 using/windows.rst:204 using/windows.rst:208 msgid "1" msgstr "1" -#: using/windows.rst:165 +#: using/windows.rst:168 msgid "CompileAll" msgstr "CompileAll" -#: using/windows.rst:165 +#: using/windows.rst:168 msgid "Compile all ``.py`` files to ``.pyc``." msgstr "Compile tous les fichiers ``.py`` en ``.pyc``." -#: using/windows.rst:168 +#: using/windows.rst:171 msgid "PrependPath" msgstr "PrependPath" -#: using/windows.rst:168 +#: using/windows.rst:171 msgid "" "Add install and Scripts directories to :envvar:`PATH` and ``.PY`` to :envvar:" "`PATHEXT`" @@ -450,141 +452,152 @@ msgstr "" "Ajoute les dossiers ``install`` et ``Scripts`` à :envvar:`PATH` et assigne " "``.PY`` à :envvar:`PATHEXT`" -#: using/windows.rst:172 +#: using/windows.rst:175 msgid "Shortcuts" msgstr "Shortcuts" -#: using/windows.rst:172 +#: using/windows.rst:175 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." msgstr "" "Crée des raccourcis pour l'interpréteur, la documentation et IDLE si " "installé." -#: using/windows.rst:175 +#: using/windows.rst:178 msgid "Include_doc" msgstr "Include_doc" -#: using/windows.rst:175 +#: using/windows.rst:178 msgid "Install Python manual" msgstr "Installe le manuel Python" -#: using/windows.rst:177 +#: using/windows.rst:180 msgid "Include_debug" msgstr "Include_debug" -#: using/windows.rst:177 +#: using/windows.rst:180 msgid "Install debug binaries" msgstr "Installe les binaires de débogage" -#: using/windows.rst:179 +#: using/windows.rst:182 msgid "Include_dev" msgstr "Include_dev" -#: using/windows.rst:179 -msgid "Install developer headers and libraries" -msgstr "Installe les fichiers d'en-tête et les bibliothèques développeur" - #: using/windows.rst:182 +msgid "" +"Install developer headers and libraries. Omitting this may lead to an " +"unusable installation." +msgstr "" + +#: using/windows.rst:186 msgid "Include_exe" msgstr "Include_exe" -#: using/windows.rst:182 -msgid "Install :file:`python.exe` and related files" +#: using/windows.rst:186 +#, fuzzy +msgid "" +"Install :file:`python.exe` and related files. Omitting this may lead to an " +"unusable installation." msgstr "Installe :file:`python.exe` et les fichiers connexes" -#: using/windows.rst:185 +#: using/windows.rst:190 msgid "Include_launcher" msgstr "Include_launcher" -#: using/windows.rst:185 +#: using/windows.rst:190 msgid "Install :ref:`launcher`." msgstr "Installe le :ref:`launcher`." -#: using/windows.rst:187 +#: using/windows.rst:192 msgid "InstallLauncherAllUsers" msgstr "InstallLauncherAllUsers" -#: using/windows.rst:187 -msgid "Installs :ref:`launcher` for all users." -msgstr "Installe le :ref:`launcher` pour tous les utilisateurs." +#: using/windows.rst:192 +msgid "" +"Installs the launcher for all users. Also requires ``Include_launcher`` to " +"be set to 1" +msgstr "" -#: using/windows.rst:190 +#: using/windows.rst:196 msgid "Include_lib" msgstr "Include_lib" -#: using/windows.rst:190 -msgid "Install standard library and extension modules" +#: using/windows.rst:196 +#, fuzzy +msgid "" +"Install standard library and extension modules. Omitting this may lead to an " +"unusable installation." msgstr "Installe la bibliothèque standard et les modules d'extension" -#: using/windows.rst:193 +#: using/windows.rst:200 msgid "Include_pip" msgstr "Include_pip" -#: using/windows.rst:193 +#: using/windows.rst:200 msgid "Install bundled pip and setuptools" msgstr "Installe ``pip`` et ``setuptools``" -#: using/windows.rst:195 +#: using/windows.rst:202 msgid "Include_symbols" msgstr "Include_symbols" -#: using/windows.rst:195 -msgid "Install debugging symbols (`*`.pdb)" +#: using/windows.rst:202 +#, fuzzy +msgid "Install debugging symbols (``*.pdb``)" msgstr "Installe les symboles de débogage (``*.pdb``)" -#: using/windows.rst:197 +#: using/windows.rst:204 msgid "Include_tcltk" msgstr "Include_tcltk" -#: using/windows.rst:197 +#: using/windows.rst:204 msgid "Install Tcl/Tk support and IDLE" msgstr "Installe Tcl/Tk et IDLE" -#: using/windows.rst:199 +#: using/windows.rst:206 msgid "Include_test" msgstr "Include_test" -#: using/windows.rst:199 +#: using/windows.rst:206 msgid "Install standard library test suite" msgstr "Installe la suite de tests de la bibliothèque standard" -#: using/windows.rst:201 +#: using/windows.rst:208 msgid "Include_tools" msgstr "Include_tools" -#: using/windows.rst:201 +#: using/windows.rst:208 msgid "Install utility scripts" msgstr "Installe les scripts utilitaires" -#: using/windows.rst:203 +#: using/windows.rst:210 msgid "LauncherOnly" msgstr "LauncherOnly" -#: using/windows.rst:203 +#: using/windows.rst:210 msgid "Only installs the launcher. This will override most other options." msgstr "" "Installe seulement le lanceur. Ceci écrasera la plupart des autres options." -#: using/windows.rst:206 +#: using/windows.rst:213 msgid "SimpleInstall" msgstr "SimpleInstall" -#: using/windows.rst:206 +#: using/windows.rst:213 msgid "Disable most install UI" msgstr "Désactive la plupart de l'interface d'installation" -#: using/windows.rst:208 +#: using/windows.rst:215 msgid "SimpleInstallDescription" msgstr "SimpleInstallDescription" -#: using/windows.rst:208 +#: using/windows.rst:215 msgid "A custom message to display when the simplified install UI is used." msgstr "" "Un message personnalisé à afficher quand l'interface d'installation " "simplifiée est utilisée." -#: using/windows.rst:212 +#: using/windows.rst:219 msgid "" "For example, to silently install a default, system-wide Python installation, " "you could use the following command (from an elevated command prompt)::" @@ -593,7 +606,7 @@ msgstr "" "pourriez utilisez la commande suivante (depuis une invite de commande " "administrateur) ::" -#: using/windows.rst:217 +#: using/windows.rst:224 msgid "" "To allow users to easily install a personal copy of Python without the test " "suite, you could provide a shortcut with the following command. This will " @@ -604,7 +617,7 @@ msgstr "" "suivante. Cela affichera une page initiale simplifiée et interdira la " "personnalisation ::" -#: using/windows.rst:224 +#: using/windows.rst:231 msgid "" "(Note that omitting the launcher also omits file associations, and is only " "recommended for per-user installs when there is also a system-wide " @@ -614,7 +627,7 @@ msgstr "" "n'est recommandé que pour les installations par utilisateur quand il y a " "aussi une installation complète sur le système qui a inclus de lanceur.)" -#: using/windows.rst:228 +#: using/windows.rst:235 msgid "" "The options listed above can also be provided in a file named ``unattend." "xml`` alongside the executable. This file specifies a list of options and " @@ -629,11 +642,11 @@ msgstr "" "texte sont toujours laissées en tant que chaînes de caractères. Ce fichier " "d'exemple propose les mêmes options que l'exemple précédent :" -#: using/windows.rst:247 +#: using/windows.rst:254 msgid "Installing Without Downloading" msgstr "Installation sans téléchargement" -#: using/windows.rst:249 +#: using/windows.rst:256 msgid "" "As some features of Python are not included in the initial installer " "download, selecting those features may require an internet connection. To " @@ -653,7 +666,7 @@ msgstr "" "d'installations doivent être faites, il est très utile d'avoir une copie " "locale." -#: using/windows.rst:257 +#: using/windows.rst:264 msgid "" "Execute the following command from Command Prompt to download all possible " "required files. Remember to substitute ``python-3.9.0.exe`` for the actual " @@ -666,17 +679,17 @@ msgstr "" "agencements avec leurs propres dossiers pour éviter les conflits entre " "fichiers du même nom." -#: using/windows.rst:266 +#: using/windows.rst:273 msgid "" "You may also specify the ``/quiet`` option to hide the progress display." msgstr "" "Vous pouvez aussi spécifier l'option ``/quiet`` pour masquer la progression." -#: using/windows.rst:269 +#: using/windows.rst:276 msgid "Modifying an install" msgstr "Modification d'une installation" -#: using/windows.rst:271 +#: using/windows.rst:278 msgid "" "Once Python has been installed, you can add or remove features through the " "Programs and Features tool that is part of Windows. Select the Python entry " @@ -688,7 +701,7 @@ msgstr "" "« Uninstall/Change » (Désinstaller/Modifier) pour ouvrir l'installateur en " "mode maintenance." -#: using/windows.rst:275 +#: using/windows.rst:282 msgid "" "\"Modify\" allows you to add or remove features by modifying the checkboxes " "- unchanged checkboxes will not install or remove anything. Some options " @@ -701,7 +714,7 @@ msgstr "" "mode, comme le dossier d'installation. Pour modifier ces options, vous " "devrez ré-installer Python entièrement." -#: using/windows.rst:280 +#: using/windows.rst:287 msgid "" "\"Repair\" will verify all the files that should be installed using the " "current settings and replace any that have been removed or modified." @@ -710,7 +723,7 @@ msgstr "" "paramètres actuels le sont, et remplacera ceux qui ont étés supprimés ou " "modifiés." -#: using/windows.rst:283 +#: using/windows.rst:290 msgid "" "\"Uninstall\" will remove Python entirely, with the exception of the :ref:" "`launcher`, which has its own entry in Programs and Features." @@ -718,11 +731,11 @@ msgstr "" "« Uninstall » désinstallera Python entièrement, à l'exception du :ref:" "`launcher` qui à sa propre ligne dans *Programs and Features*." -#: using/windows.rst:290 +#: using/windows.rst:297 msgid "The Microsoft Store package" msgstr "Le paquet Microsoft Store" -#: using/windows.rst:294 +#: using/windows.rst:301 msgid "" "The Microsoft Store package is an easily installable Python interpreter that " "is intended mainly for interactive use, for example, by students." @@ -731,7 +744,7 @@ msgstr "" "installable qui est destiné principalement à une utilisation interactive, " "par exemple, par des étudiants." -#: using/windows.rst:297 +#: using/windows.rst:304 msgid "" "To install the package, ensure you have the latest Windows 10 updates and " "search the Microsoft Store app for \"Python |version|\". Ensure that the app " @@ -742,7 +755,7 @@ msgstr "" "version|”. Assurez-vous que l'application que vous sélectionnez est publiée " "par la *Python Software Foundation* et installez-la." -#: using/windows.rst:302 +#: using/windows.rst:309 msgid "" "Python will always be available for free on the Microsoft Store. If you are " "asked to pay for it, you have not selected the correct package." @@ -750,7 +763,7 @@ msgstr "" "Python sera toujours disponible gratuitement sur le Microsoft Store. Si vous " "êtes invité à payer, vous n'avez pas sélectionné le bon paquet." -#: using/windows.rst:305 +#: using/windows.rst:312 msgid "" "After installation, Python may be launched by finding it in Start. " "Alternatively, it will be available from any Command Prompt or PowerShell " @@ -763,7 +776,7 @@ msgstr "" "en entrant ``pip`` ou ``idle`` . IDLE peut également être trouvé dans le " "menu Démarrer." -#: using/windows.rst:310 +#: using/windows.rst:317 msgid "" "All three commands are also available with version number suffixes, for " "example, as ``python3.exe`` and ``python3.x.exe`` as well as ``python.exe`` " @@ -782,7 +795,7 @@ msgstr "" "commande. Il est recommandé de s'assurer que ``pip`` et ``idle`` utilisent " "la même version de Python que la commande ``python``." -#: using/windows.rst:318 +#: using/windows.rst:325 msgid "" "Virtual environments can be created with ``python -m venv`` and activated " "and used as normal." @@ -790,7 +803,7 @@ msgstr "" "Les environnements virtuels peuvent être créés avec ``python -m venv`` et " "activés et utilisés normalement." -#: using/windows.rst:321 +#: using/windows.rst:328 msgid "" "If you have installed another version of Python and added it to your " "``PATH`` variable, it will be available as ``python.exe`` rather than the " @@ -802,7 +815,7 @@ msgstr "" "exe`` plutôt que celle de la boutique Microsoft. Pour accéder à la nouvelle " "installation, utilisez ``python3.exe`` ou ``python3.x.exe``." -#: using/windows.rst:326 +#: using/windows.rst:333 msgid "" "The ``py.exe`` launcher will detect this Python installation, but will " "prefer installations from the traditional installer." @@ -810,7 +823,7 @@ msgstr "" "Le lanceur ``py.exe`` va détecter cette installation Python, mais préfèrera " "les versions de l'installateur traditionnel." -#: using/windows.rst:329 +#: using/windows.rst:336 msgid "" "To remove Python, open Settings and use Apps and Features, or else find " "Python in Start and right-click to select Uninstall. Uninstalling will " @@ -824,16 +837,22 @@ msgstr "" "installés directement dans cette installation Python, mais ne supprimera " "aucun environnement virtuel" -#: using/windows.rst:335 -msgid "Known Issues" +#: using/windows.rst:342 +#, fuzzy +msgid "Known issues" msgstr "Problèmes connus" -#: using/windows.rst:337 +#: using/windows.rst:345 +msgid "Redirection of local data, registry, and temporary paths" +msgstr "" + +#: using/windows.rst:347 +#, fuzzy msgid "" "Because of restrictions on Microsoft Store apps, Python scripts may not have " -"full write access to shared locations such as ``TEMP`` and the registry. " -"Instead, it will write to a private copy. If your scripts must modify the " -"shared locations, you will need to install the full installer." +"full write access to shared locations such as :envvar:`TEMP` and the " +"registry. Instead, it will write to a private copy. If your scripts must " +"modify the shared locations, you will need to install the full installer." msgstr "" "En raison de restrictions sur les applications Microsoft Store, les scripts " "Python peuvent ne pas avoir un accès en écriture complet aux emplacements " @@ -841,7 +860,56 @@ msgstr "" "une copie privée. Si vos scripts doivent modifier les emplacements partagés, " "vous devrez installer le programme d'installation complet." -#: using/windows.rst:342 +#: using/windows.rst:352 +msgid "" +"At runtime, Python will use a private copy of well-known Windows folders and " +"the registry. For example, if the environment variable :envvar:`%APPDATA%` " +"is :file:`c:\\\\Users\\\\\\\\AppData\\\\`, then when writing to :file:" +"`C:\\\\Users\\\\\\\\AppData\\\\Local` will write to :file:`C:\\" +"\\Users\\\\\\\\AppData\\\\Local\\\\Packages\\" +"\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" +"\\`." +msgstr "" + +#: using/windows.rst:357 +msgid "" +"When reading files, Windows will return the file from the private folder, or " +"if that does not exist, the real Windows directory. For example reading :" +"file:`C:\\\\Windows\\\\System32` returns the contents of :file:`C:\\" +"\\Windows\\\\System32` plus the contents of :file:`C:\\\\Program Files\\" +"\\WindowsApps\\\\package_name\\\\VFS\\\\SystemX86`." +msgstr "" + +#: using/windows.rst:361 +msgid "" +"You can find the real path of any existing file using :func:`os.path." +"realpath`:" +msgstr "" + +#: using/windows.rst:370 +msgid "When writing to the Windows Registry, the following behaviors exist:" +msgstr "" + +#: using/windows.rst:372 +msgid "" +"Reading from ``HKLM\\\\Software`` is allowed and results are merged with " +"the :file:`registry.dat` file in the package." +msgstr "" + +#: using/windows.rst:373 +msgid "" +"Writing to ``HKLM\\\\Software`` is not allowed if the corresponding key/" +"value exists, i.e. modifying existing keys." +msgstr "" + +#: using/windows.rst:374 +msgid "" +"Writing to ``HKLM\\\\Software`` is allowed as long as a corresponding key/" +"value does not exist in the package and the user has the correct access " +"permissions." +msgstr "" + +#: using/windows.rst:377 msgid "" "For more detail on the technical basis for these limitations, please consult " "Microsoft's documentation on packaged full-trust apps, currently available " @@ -855,11 +923,11 @@ msgstr "" "behind-the-scenes `_" -#: using/windows.rst:351 +#: using/windows.rst:386 msgid "The nuget.org packages" msgstr "Les paquets *nuget.org*" -#: using/windows.rst:355 +#: using/windows.rst:390 msgid "" "The nuget.org package is a reduced size Python environment intended for use " "on continuous integration and build systems that do not have a system-wide " @@ -872,7 +940,7 @@ msgstr "" "package pour .NET”, il fonctionne également parfaitement bien pour les " "packages contenant des outils de *build-time*." -#: using/windows.rst:360 +#: using/windows.rst:395 msgid "" "Visit `nuget.org `_ for the most up-to-date " "information on using nuget. What follows is a summary that is sufficient for " @@ -882,7 +950,7 @@ msgstr "" "à jour sur l'utilisation de *nuget*. Ce qui suit est un résumé suffisant " "pour les développeurs Python." -#: using/windows.rst:364 +#: using/windows.rst:399 msgid "" "The ``nuget.exe`` command line tool may be downloaded directly from " "``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With " @@ -894,7 +962,7 @@ msgstr "" "ou de PowerShell. Avec l'outil, la dernière version de Python pour les " "machines 64 bits ou 32 bits est installée à l'aide de ::" -#: using/windows.rst:372 +#: using/windows.rst:407 msgid "" "To select a particular version, add a ``-Version 3.x.y``. The output " "directory may be changed from ``.``, and the package will be installed into " @@ -910,7 +978,7 @@ msgstr "" "version spécifique installée. À l'intérieur du sous-répertoire se trouve un " "répertoire ``tools`` qui contient l'installation Python :" -#: using/windows.rst:389 +#: using/windows.rst:424 msgid "" "In general, nuget packages are not upgradeable, and newer versions should be " "installed side-by-side and referenced using the full path. Alternatively, " @@ -924,7 +992,7 @@ msgstr "" "systèmes CI le feront automatiquement s'ils ne conservent pas les fichiers " "entre les *builds*." -#: using/windows.rst:394 +#: using/windows.rst:429 msgid "" "Alongside the ``tools`` directory is a ``build\\native`` directory. This " "contains a MSBuild properties file ``python.props`` that can be used in a C+" @@ -937,7 +1005,7 @@ msgstr "" "L'inclusion des paramètres utilisera automatiquement les en-têtes et les " "bibliothèques d'importation dans votre *build*." -#: using/windows.rst:399 +#: using/windows.rst:434 msgid "" "The package information pages on nuget.org are `www.nuget.org/packages/" "python `_ for the 64-bit version and " @@ -949,11 +1017,11 @@ msgstr "" "nuget.org/packages/pythonx86 `_ " "pour la version 32 Bits." -#: using/windows.rst:408 +#: using/windows.rst:443 msgid "The embeddable package" msgstr "Le paquet intégrable" -#: using/windows.rst:412 +#: using/windows.rst:447 msgid "" "The embedded distribution is a ZIP file containing a minimal Python " "environment. It is intended for acting as part of another application, " @@ -963,7 +1031,7 @@ msgstr "" "Python minimal. Il est destiné à agir dans le cadre d'une autre application, " "plutôt que d'être directement accessible par les utilisateurs finaux." -#: using/windows.rst:416 +#: using/windows.rst:451 msgid "" "When extracted, the embedded distribution is (almost) fully isolated from " "the user's system, including environment variables, system registry " @@ -981,7 +1049,7 @@ msgstr "" "``pythonw.exe`` sont tous fournis. *Tcl/Tk* (y compris tous les dépendants, " "telles que IDLE), pip et la documentation Python ne sont pas inclus." -#: using/windows.rst:425 +#: using/windows.rst:460 msgid "" "The embedded distribution does not include the `Microsoft C Runtime `_" msgstr "`ActivePython `_" -#: using/windows.rst:493 +#: using/windows.rst:528 msgid "Installer with multi-platform compatibility, documentation, PyWin32" msgstr "" "Installateur avec une compatibilité multiplateforme, de la documentation, et " "*PyWin32*" -#: using/windows.rst:497 +#: using/windows.rst:532 msgid "`Anaconda `_" msgstr "`Anaconda `_" -#: using/windows.rst:496 +#: using/windows.rst:531 msgid "" "Popular scientific modules (such as numpy, scipy and pandas) and the " "``conda`` package manager." @@ -1163,23 +1231,28 @@ msgstr "" "Des modules scientifiques populaires (comme *numpy*, *scipy* et *pandas*) et " "le gestionnaire de paquets ``conda``." -#: using/windows.rst:501 -msgid "`Canopy `_" +#: using/windows.rst:538 +#, fuzzy +msgid "`Enthought Deployment Manager `_" msgstr "`Canopy `_" -#: using/windows.rst:500 +#: using/windows.rst:535 +msgid "\"The Next Generation Python Environment and Package Manager\"." +msgstr "" + +#: using/windows.rst:537 msgid "" -"A \"comprehensive Python analysis environment\" with editors and other " -"development tools." +"Previously Enthought provided Canopy, but it `reached end of life in 2016 " +"`_." msgstr "" -"Un « environnement d’analyse complet Python » avec des éditeurs et autres " -"outils de développement." -#: using/windows.rst:505 +#: using/windows.rst:542 msgid "`WinPython `_" msgstr "`WinPython `_" -#: using/windows.rst:504 +#: using/windows.rst:541 msgid "" "Windows-specific distribution with prebuilt scientific packages and tools " "for building packages." @@ -1187,7 +1260,7 @@ msgstr "" "Distribution spécifique à Windows avec des paquets scientifiques pré-" "compilés et des outils pour construire des paquets." -#: using/windows.rst:507 +#: using/windows.rst:544 msgid "" "Note that these packages may not include the latest versions of Python or " "other libraries, and are not maintained or supported by the core Python team." @@ -1196,11 +1269,11 @@ msgstr "" "ou d'autres bibliothèques, et ne sont pas maintenus ni supportés par les " "*core devs* Python." -#: using/windows.rst:513 +#: using/windows.rst:550 msgid "Configuring Python" msgstr "Configurer Python" -#: using/windows.rst:515 +#: using/windows.rst:552 msgid "" "To run Python conveniently from a command prompt, you might consider " "changing some default environment variables in Windows. While the installer " @@ -1216,11 +1289,11 @@ msgstr "" "régulièrement plusieurs versions de Python, pensez à utiliser le :ref:" "`launcher`." -#: using/windows.rst:525 +#: using/windows.rst:562 msgid "Excursus: Setting environment variables" msgstr "Digression : Définition des variables d'environnement" -#: using/windows.rst:527 +#: using/windows.rst:564 msgid "" "Windows allows environment variables to be configured permanently at both " "the User level and the System level, or temporarily in a command prompt." @@ -1229,7 +1302,7 @@ msgstr "" "permanente au niveau de l'utilisateur et du système, ou temporairement dans " "une invite de commandes." -#: using/windows.rst:530 +#: using/windows.rst:567 msgid "" "To temporarily set environment variables, open Command Prompt and use the :" "command:`set` command:" @@ -1237,7 +1310,7 @@ msgstr "" "Pour définir temporairement les variables d'environnement, ouvrez l'invite " "de commandes et utilisez la commande :command:`set` :" -#: using/windows.rst:539 +#: using/windows.rst:576 msgid "" "These changes will apply to any further commands executed in that console, " "and will be inherited by any applications started from the console." @@ -1246,7 +1319,7 @@ msgstr "" "dans cette console et seront héritées par toutes les applications démarrées " "à partir de cette console." -#: using/windows.rst:542 +#: using/windows.rst:579 msgid "" "Including the variable name within percent signs will expand to the existing " "value, allowing you to add your new value at either the start or the end. " @@ -1259,7 +1332,7 @@ msgstr "" "Ajouter :program:`python.exe` au début de :envvar:`PATH` est un moyen " "courant de s'assurer que la version correcte de Python est lancée." -#: using/windows.rst:548 +#: using/windows.rst:585 msgid "" "To permanently modify the default environment variables, click Start and " "search for 'edit environment variables', or open System properties, :" @@ -1277,7 +1350,7 @@ msgstr "" "besoin d'un accès non restreint à votre ordinateur (c'est-à-dire aux droits " "d'administrateur)." -#: using/windows.rst:557 +#: using/windows.rst:594 msgid "" "Windows will concatenate User variables *after* System variables, which may " "cause unexpected results when modifying :envvar:`PATH`." @@ -1286,7 +1359,7 @@ msgstr "" "systèmes, ce qui peut provoquer des résultats inattendus lors de la " "modification de :envvar:`PATH`." -#: using/windows.rst:560 +#: using/windows.rst:597 msgid "" "The :envvar:`PYTHONPATH` variable is used by all versions of Python, so you " "should not permanently configure it unless the listed paths only include " @@ -1297,7 +1370,7 @@ msgstr "" "à moins qu'elle n'ajoute que du code compatible avec toutes les versions de " "Python installées." -#: using/windows.rst:568 +#: using/windows.rst:605 msgid "" "https://docs.microsoft.com/en-us/windows/win32/procthread/environment-" "variables" @@ -1305,11 +1378,11 @@ msgstr "" "https://docs.microsoft.com/fr-fr/windows/win32/procthread/environment-" "variables" -#: using/windows.rst:568 +#: using/windows.rst:605 msgid "Overview of environment variables on Windows" msgstr "Aperçu des variables d'environnement dans Windows" -#: using/windows.rst:571 +#: using/windows.rst:608 msgid "" "https://docs.microsoft.com/en-us/windows-server/administration/windows-" "commands/set_1" @@ -1317,13 +1390,13 @@ msgstr "" "https://docs.microsoft.com/fr-fr/windows-server/administration/windows-" "commands/set_1" -#: using/windows.rst:571 +#: using/windows.rst:608 msgid "The ``set`` command, for temporarily modifying environment variables" msgstr "" "La commande ``set``, pour modifier temporairement les variables " "d'environnement" -#: using/windows.rst:573 +#: using/windows.rst:610 msgid "" "https://docs.microsoft.com/en-us/windows-server/administration/windows-" "commands/setx" @@ -1331,17 +1404,17 @@ msgstr "" "https://docs.microsoft.com/fr-fr/windows-server/administration/windows-" "commands/setx" -#: using/windows.rst:574 +#: using/windows.rst:611 msgid "The ``setx`` command, for permanently modifying environment variables" msgstr "" "La commande ``setx``, pour modifier de façon permanente les variables " "d'environnement" -#: using/windows.rst:580 +#: using/windows.rst:617 msgid "Finding the Python executable" msgstr "Trouver l'exécutable Python" -#: using/windows.rst:584 +#: using/windows.rst:621 msgid "" "Besides using the automatically created start menu entry for the Python " "interpreter, you might want to start Python in the command prompt. The " @@ -1352,11 +1425,11 @@ msgstr "" "l'invite de commandes. L'installateur a une option pour installer cela pour " "vous." -#: using/windows.rst:588 +#: using/windows.rst:625 msgid "" -"On the first page of the installer, an option labelled \"Add Python to PATH" -"\" may be selected to have the installer add the install location into the :" -"envvar:`PATH`. The location of the :file:`Scripts\\\\` folder is also " +"On the first page of the installer, an option labelled \"Add Python to " +"PATH\" may be selected to have the installer add the install location into " +"the :envvar:`PATH`. The location of the :file:`Scripts\\\\` folder is also " "added. This allows you to type :command:`python` to run the interpreter, " "and :command:`pip` for the package installer. Thus, you can also execute " "your scripts with command line options, see :ref:`using-on-cmdline` " @@ -1371,7 +1444,7 @@ msgstr "" "avec les options de ligne de commande, voir la documentation :ref:`using-on-" "cmdline`." -#: using/windows.rst:595 +#: using/windows.rst:632 msgid "" "If you don't enable this option at install time, you can always re-run the " "installer, select Modify, and enable it. Alternatively, you can manually " @@ -1390,11 +1463,11 @@ msgstr "" "variable d'exemple pourrait ressembler à ceci (en supposant que les deux " "premières entrées existaient déjà) ::" -#: using/windows.rst:608 +#: using/windows.rst:645 msgid "UTF-8 mode" msgstr "Mode UTF-8" -#: using/windows.rst:612 +#: using/windows.rst:649 msgid "" "Windows still uses legacy encodings for the system encoding (the ANSI Code " "Page). Python uses it for the default encoding of text files (e.g. :func:" @@ -1404,7 +1477,7 @@ msgstr "" "page de code ANSI). Python l'utilise pour le codage par défaut des fichiers " "texte (par exemple :func:`locale.getpreferredencoding`)." -#: using/windows.rst:616 +#: using/windows.rst:653 msgid "" "This may cause issues because UTF-8 is widely used on the internet and most " "Unix systems, including WSL (Windows Subsystem for Linux)." @@ -1413,7 +1486,7 @@ msgstr "" "et sur la plupart des systèmes Unix, y compris le WSL (*Windows Subsystem " "for Linux*)." -#: using/windows.rst:619 +#: using/windows.rst:656 msgid "" "You can use the :ref:`Python UTF-8 Mode ` to change the default " "text encoding to UTF-8. You can enable the :ref:`Python UTF-8 Mode ` is enabled, you can still use " "the system encoding (the ANSI Code Page) via the \"mbcs\" codec." @@ -1436,7 +1509,7 @@ msgstr "" "Lorsque le :ref:`mode UTF-8 ` est activé, vous pouvez toujours " "utiliser l’encodage système (la page de code ANSI) via le codec « *mbcs* »." -#: using/windows.rst:628 +#: using/windows.rst:665 msgid "" "Note that adding ``PYTHONUTF8=1`` to the default environment variables will " "affect all Python 3.7+ applications on your system. If you have any Python " @@ -1450,7 +1523,7 @@ msgstr "" "système existant, il est recommandé de définir la variable d'environnement " "temporairement ou d'utiliser l'option de ligne de commande ``-X utf8``." -#: using/windows.rst:635 +#: using/windows.rst:672 msgid "" "Even when UTF-8 mode is disabled, Python uses UTF-8 by default on Windows " "for:" @@ -1458,13 +1531,13 @@ msgstr "" "même lorsque le mode UTF-8 est désactivé, Python utilise UTF-8 par défaut " "sur Windows pour :" -#: using/windows.rst:638 +#: using/windows.rst:675 msgid "Console I/O including standard I/O (see :pep:`528` for details)." msgstr "" "Les E/S de la console, y compris les E/S standards (voir :pep:`528` pour " "plus de détails)." -#: using/windows.rst:639 +#: using/windows.rst:676 msgid "" "The :term:`filesystem encoding ` " "(see :pep:`529` for details)." @@ -1472,11 +1545,11 @@ msgstr "" "L':term:`encodage du système de fichiers ` (voir :pep:`529` pour plus de détails)." -#: using/windows.rst:646 +#: using/windows.rst:683 msgid "Python Launcher for Windows" msgstr "Lanceur Python pour Windows" -#: using/windows.rst:650 +#: using/windows.rst:687 msgid "" "The Python launcher for Windows is a utility which aids in locating and " "executing of different Python versions. It allows scripts (or the command-" @@ -1488,7 +1561,7 @@ msgstr "" "à la ligne de commande) d'indiquer une préférence pour une version Python " "spécifique, cherchera et exécutera cette version." -#: using/windows.rst:655 +#: using/windows.rst:692 msgid "" "Unlike the :envvar:`PATH` variable, the launcher will correctly select the " "most appropriate version of Python. It will prefer per-user installations " @@ -1500,19 +1573,19 @@ msgstr "" "installations par utilisateur sur celles du système, et les trie par version " "plutôt que d'utiliser la version la plus récente installée." -#: using/windows.rst:660 +#: using/windows.rst:697 msgid "The launcher was originally specified in :pep:`397`." msgstr "Le lanceur a été initialement spécifié dans :pep:`397`." -#: using/windows.rst:663 +#: using/windows.rst:700 msgid "Getting started" msgstr "Pour commencer" -#: using/windows.rst:666 +#: using/windows.rst:703 msgid "From the command-line" msgstr "Depuis la ligne de commande" -#: using/windows.rst:670 +#: using/windows.rst:707 msgid "" "System-wide installations of Python 3.3 and later will put the launcher on " "your :envvar:`PATH`. The launcher is compatible with all available versions " @@ -1525,7 +1598,7 @@ msgstr "" "vérifier que le lanceur est disponible, exécutez la commande suivante dans " "l'invite de commandes ::" -#: using/windows.rst:677 +#: using/windows.rst:714 msgid "" "You should find that the latest version of Python you have installed is " "started - it can be exited as normal, and any additional command-line " @@ -1535,7 +1608,7 @@ msgstr "" "peut être quitté normalement, et tous les arguments de ligne de commande " "supplémentaires spécifiés seront envoyés directement à Python." -#: using/windows.rst:681 +#: using/windows.rst:718 msgid "" "If you have multiple versions of Python installed (e.g., 3.7 and |version|) " "you will have noticed that Python |version| was started - to launch Python " @@ -1545,7 +1618,7 @@ msgstr "" "version|), vous aurez remarqué que Python |version| se lance -- pour lancer " "Python 3.7, essayez la commande :" -#: using/windows.rst:687 +#: using/windows.rst:724 msgid "" "If you want the latest version of Python 2 you have installed, try the " "command::" @@ -1553,16 +1626,16 @@ msgstr "" "Si vous voulez que la dernière version de Python 2.x que vous avez installé, " "essayez la commande ::" -#: using/windows.rst:692 +#: using/windows.rst:729 msgid "You should find the latest version of Python 3.x starts." msgstr "Remarquez que la dernière version de Python 3.x démarre." -#: using/windows.rst:694 +#: using/windows.rst:731 msgid "" "If you see the following error, you do not have the launcher installed::" msgstr "Si vous voyez l'erreur suivante, le lanceur n'est pas installé ::" -#: using/windows.rst:699 +#: using/windows.rst:736 msgid "" "Per-user installations of Python do not add the launcher to :envvar:`PATH` " "unless the option was selected on installation." @@ -1570,19 +1643,19 @@ msgstr "" "Les installations par utilisateur de Python n'ajoutent pas le lanceur à :" "envvar:`PATH` sauf si l'option a été sélectionnée lors de l'installation." -#: using/windows.rst:702 +#: using/windows.rst:739 msgid "The command::" msgstr "La commande ::" -#: using/windows.rst:706 +#: using/windows.rst:743 msgid "displays the currently installed version(s) of Python." msgstr "affiche la ou les versions actuellement installées de Python." -#: using/windows.rst:709 +#: using/windows.rst:746 msgid "Virtual environments" msgstr "Environnements virtuels" -#: using/windows.rst:713 +#: using/windows.rst:750 msgid "" "If the launcher is run with no explicit Python version specification, and a " "virtual environment (created with the standard library :mod:`venv` module or " @@ -1598,11 +1671,11 @@ msgstr "" "Pour exécuter l'interpréteur global, désactivez l'environnement virtuel ou " "spécifiez explicitement la version Python globale." -#: using/windows.rst:721 +#: using/windows.rst:758 msgid "From a script" msgstr "À partir d'un script" -#: using/windows.rst:723 +#: using/windows.rst:760 msgid "" "Let's create a test Python script - create a file called ``hello.py`` with " "the following contents" @@ -1610,13 +1683,13 @@ msgstr "" "Créons un script Python de test, créez un fichier appelé ``hello.py`` avec " "le contenu suivant" -#: using/windows.rst:732 +#: using/windows.rst:769 msgid "From the directory in which hello.py lives, execute the command::" msgstr "" "À partir du répertoire dans lequel se trouve ``hello.py``, exécutez la " "commande ::" -#: using/windows.rst:736 +#: using/windows.rst:773 msgid "" "You should notice the version number of your latest Python 2.x installation " "is printed. Now try changing the first line to be:" @@ -1624,7 +1697,7 @@ msgstr "" "Vous devriez voir le numéro de version du Python 2.x le plus récemment " "installé. Maintenant, essayez de changer la première ligne en :" -#: using/windows.rst:743 +#: using/windows.rst:780 msgid "" "Re-executing the command should now print the latest Python 3.x information. " "As with the above command-line examples, you can specify a more explicit " @@ -1639,7 +1712,7 @@ msgstr "" "python3.7`` et vous devriez trouver les informations de version |version| " "affichées." -#: using/windows.rst:749 +#: using/windows.rst:786 msgid "" "Note that unlike interactive use, a bare \"python\" will use the latest " "version of Python 2.x that you have installed. This is for backward " @@ -1651,11 +1724,11 @@ msgstr "" "pour la compatibilité ascendante et pour la compatibilité avec UNIX, où la " "commande ``python`` fait généralement référence à Python 2." -#: using/windows.rst:755 +#: using/windows.rst:792 msgid "From file associations" msgstr "À partir d'associations de fichiers" -#: using/windows.rst:757 +#: using/windows.rst:794 msgid "" "The launcher should have been associated with Python files (i.e. ``.py``, ``." "pyw``, ``.pyc`` files) when it was installed. This means that when you " @@ -1670,7 +1743,7 @@ msgstr "" "les mêmes installations décrites ci-dessus pour que le script spécifie la " "version qui doit être utilisée." -#: using/windows.rst:763 +#: using/windows.rst:800 msgid "" "The key benefit of this is that a single launcher can support multiple " "Python versions at the same time depending on the contents of the first line." @@ -1679,11 +1752,11 @@ msgstr "" "plusieurs versions de Python en même temps en fonction du contenu de la " "première ligne." -#: using/windows.rst:767 +#: using/windows.rst:804 msgid "Shebang Lines" msgstr "Lignes Shebang" -#: using/windows.rst:769 +#: using/windows.rst:806 msgid "" "If the first line of a script file starts with ``#!``, it is known as a " "\"shebang\" line. Linux and other Unix like operating systems have native " @@ -1700,7 +1773,7 @@ msgstr "" "des scripts Python sur Windows et les exemples ci-dessus démontrent leur " "utilisation." -#: using/windows.rst:776 +#: using/windows.rst:813 msgid "" "To allow shebang lines in Python scripts to be portable between Unix and " "Windows, this launcher supports a number of 'virtual' commands to specify " @@ -1711,27 +1784,27 @@ msgstr "" "« virtuelles » pour spécifier l'interpréteur à utiliser. Les commandes " "virtuelles prises en charge sont :" -#: using/windows.rst:780 +#: using/windows.rst:817 msgid "``/usr/bin/env python``" msgstr "``/usr/bin/env python``" -#: using/windows.rst:781 +#: using/windows.rst:818 msgid "``/usr/bin/python``" msgstr "``/usr/bin/python``" -#: using/windows.rst:782 +#: using/windows.rst:819 msgid "``/usr/local/bin/python``" msgstr "``/usr/local/bin/python``" -#: using/windows.rst:783 +#: using/windows.rst:820 msgid "``python``" msgstr "``python``" -#: using/windows.rst:785 +#: using/windows.rst:822 msgid "For example, if the first line of your script starts with" msgstr "Par exemple, si la première ligne de votre script commence par" -#: using/windows.rst:791 +#: using/windows.rst:828 msgid "" "The default Python will be located and used. As many Python scripts written " "to work on Unix will already have this line, you should find these scripts " @@ -1745,7 +1818,7 @@ msgstr "" "nouveau script sur Windows et que vous pensez qu'il sera utile sur UNIX, " "vous devez utiliser l'une des lignes *shebang* commençant par ``/usr``." -#: using/windows.rst:797 +#: using/windows.rst:834 msgid "" "Any of the above virtual commands can be suffixed with an explicit version " "(either just the major version, or the major and minor version). Furthermore " @@ -1759,7 +1832,7 @@ msgstr "" "**-32** après le numéro de version mineur. Par exemple ``/usr/bin/" "python3.7-32`` demande d’utiliser la version 32-bit de Python 3.7." -#: using/windows.rst:805 +#: using/windows.rst:842 msgid "" "Beginning with python launcher 3.7 it is possible to request 64-bit version " "by the \"-64\" suffix. Furthermore it is possible to specify a major and " @@ -1770,7 +1843,7 @@ msgstr "" "spécifier une version majeure et une architecture sans version mineure (par " "exemple ``/usr/bin/python3-64``)." -#: using/windows.rst:809 +#: using/windows.rst:846 msgid "" "The ``/usr/bin/env`` form of shebang line has one further special property. " "Before looking for installed Python interpreters, this form will search the " @@ -1784,11 +1857,11 @@ msgstr "" "au comportement du programme Unix ``env``, qui effectue une recherche dans :" "envvar:`PATH`." -#: using/windows.rst:815 +#: using/windows.rst:852 msgid "Arguments in shebang lines" msgstr "Arguments dans les lignes *shebang*" -#: using/windows.rst:817 +#: using/windows.rst:854 msgid "" "The shebang lines can also specify additional options to be passed to the " "Python interpreter. For example, if you have a shebang line:" @@ -1797,19 +1870,19 @@ msgstr "" "à passer à l'interpréteur Python. Par exemple, si vous avez une ligne " "*shebang* :" -#: using/windows.rst:824 +#: using/windows.rst:861 msgid "Then Python will be started with the ``-v`` option" msgstr "Alors, Python sera démarré avec l'option ``-v``" -#: using/windows.rst:827 +#: using/windows.rst:864 msgid "Customization" msgstr "Personnalisation" -#: using/windows.rst:830 +#: using/windows.rst:867 msgid "Customization via INI files" msgstr "Personnalisation via des fichiers INI" -#: using/windows.rst:832 +#: using/windows.rst:869 msgid "" "Two .ini files will be searched by the launcher - ``py.ini`` in the current " "user's \"application data\" directory (i.e. the directory returned by " @@ -1826,7 +1899,7 @@ msgstr "" "« console » du lanceur (c'est-à-dire ``py.exe``) et pour la version " "« fenêtrée » (c'est-à-dire ``pyw.exe``)." -#: using/windows.rst:839 +#: using/windows.rst:876 msgid "" "Customization specified in the \"application directory\" will have " "precedence over the one next to the executable, so a user, who may not have " @@ -1838,11 +1911,11 @@ msgstr "" "qui peut ne pas avoir accès en écriture au fichier ``.ini`` à côté du " "lanceur, peut substituer des commandes dans ce fichier ``.ini`` global)" -#: using/windows.rst:844 +#: using/windows.rst:881 msgid "Customizing default Python versions" msgstr "Personnalisation des versions Python par défaut" -#: using/windows.rst:846 +#: using/windows.rst:883 msgid "" "In some cases, a version qualifier can be included in a command to dictate " "which version of Python will be used by the command. A version qualifier " @@ -1859,7 +1932,7 @@ msgstr "" "implémentation 32 ou 64 bit doit être demandée en ajoutant **-32** ou " "**-64**." -#: using/windows.rst:852 +#: using/windows.rst:889 msgid "" "For example, a shebang line of ``#!python`` has no version qualifier, while " "``#!python3`` has a version qualifier which specifies only a major version." @@ -1868,7 +1941,7 @@ msgstr "" "qualificateur de version, tandis que ``#!python3`` a un qualificateur de " "version qui ne spécifie qu'une version majeure." -#: using/windows.rst:855 +#: using/windows.rst:892 msgid "" "If no version qualifiers are found in a command, the environment variable :" "envvar:`PY_PYTHON` can be set to specify the default version qualifier. If " @@ -1885,7 +1958,7 @@ msgstr "" "``3.7-32`` ou ``3.7-64``. (Notez que l’option **-64** est seulement " "disponible avec le lanceur inclus avec Python 3.7 ou plus récent.)" -#: using/windows.rst:862 +#: using/windows.rst:899 msgid "" "If no minor version qualifiers are found, the environment variable " "``PY_PYTHON{major}`` (where ``{major}`` is the current major version " @@ -1903,7 +1976,7 @@ msgstr "" "la dernière version mineure trouvée pour la version principale, qui est " "probablement la plus récemment installée dans cette famille." -#: using/windows.rst:870 +#: using/windows.rst:907 msgid "" "On 64-bit Windows with both 32-bit and 64-bit implementations of the same " "(major.minor) Python version installed, the 64-bit version will always be " @@ -1928,11 +2001,11 @@ msgstr "" "un suffixe optionnel ``-32`` ou ``-64`` peut être utilisé sur un " "spécificateur de version pour modifier ce comportement." -#: using/windows.rst:881 +#: using/windows.rst:918 msgid "Examples:" msgstr "Exemples :" -#: using/windows.rst:883 +#: using/windows.rst:920 msgid "" "If no relevant options are set, the commands ``python`` and ``python2`` will " "use the latest Python 2.x version installed and the command ``python3`` will " @@ -1942,7 +2015,7 @@ msgstr "" "``python2`` utiliseront la dernière version de Python 2.x installée et la " "commande ``python3`` utilisera le dernier Python 3.x installé." -#: using/windows.rst:887 +#: using/windows.rst:924 msgid "" "The command ``python3.7`` will not consult any options at all as the " "versions are fully specified." @@ -1950,7 +2023,7 @@ msgstr "" "La commande ``python3.7`` ne consulte aucune option du tout car les versions " "sont entièrement spécifiées." -#: using/windows.rst:890 +#: using/windows.rst:927 msgid "" "If ``PY_PYTHON=3``, the commands ``python`` and ``python3`` will both use " "the latest installed Python 3 version." @@ -1958,7 +2031,7 @@ msgstr "" "Si ``PY_PYTHON=3``, les commandes ``python`` et ``python3`` utiliseront la " "dernière version de Python 3 installée." -#: using/windows.rst:893 +#: using/windows.rst:930 msgid "" "If ``PY_PYTHON=3.7-32``, the command ``python`` will use the 32-bit " "implementation of 3.7 whereas the command ``python3`` will use the latest " @@ -1970,7 +2043,7 @@ msgstr "" "installé (*PY_PYTHON* n'a pas été considéré du tout comme une version " "majeure a été spécifiée.)" -#: using/windows.rst:898 +#: using/windows.rst:935 msgid "" "If ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7``, the commands ``python`` and " "``python3`` will both use specifically 3.7" @@ -1978,7 +2051,7 @@ msgstr "" "Si ``PY_PYTHON=3`` et ``PY_PYTHON3=3.7``, les commandes ``python`` et " "``python3`` utiliseront spécifiquement 3.7" -#: using/windows.rst:901 +#: using/windows.rst:938 msgid "" "In addition to environment variables, the same settings can be configured in " "the .INI file used by the launcher. The section in the INI file is called " @@ -1995,15 +2068,15 @@ msgstr "" "contenu d'une variable d'environnement remplacera les éléments spécifiés " "dans le fichier *INI*." -#: using/windows.rst:908 +#: using/windows.rst:945 msgid "For example:" msgstr "Par exemple :" -#: using/windows.rst:910 +#: using/windows.rst:947 msgid "Setting ``PY_PYTHON=3.7`` is equivalent to the INI file containing:" msgstr "Le paramètre ``PY_PYTHON=3.7`` équivaut au fichier **INI** contenant :" -#: using/windows.rst:917 +#: using/windows.rst:954 msgid "" "Setting ``PY_PYTHON=3`` and ``PY_PYTHON3=3.7`` is equivalent to the INI file " "containing:" @@ -2011,11 +2084,11 @@ msgstr "" "Le paramètre ``PY_PYTHON=3`` et ``PY_PYTHON3=3.7`` équivaut au fichier *INI* " "contenant :" -#: using/windows.rst:927 +#: using/windows.rst:964 msgid "Diagnostics" msgstr "Diagnostics" -#: using/windows.rst:929 +#: using/windows.rst:966 msgid "" "If an environment variable ``PYLAUNCH_DEBUG`` is set (to any value), the " "launcher will print diagnostic information to stderr (i.e. to the console). " @@ -2032,17 +2105,17 @@ msgstr "" "une version particulière a été choisie et la ligne de commande exacte " "utilisée pour exécuter le Python cible." -#: using/windows.rst:941 +#: using/windows.rst:978 msgid "Finding modules" msgstr "Recherche de modules" -#: using/windows.rst:943 +#: using/windows.rst:980 msgid "" "Python usually stores its library (and thereby your site-packages folder) in " "the installation directory. So, if you had installed Python to :file:`C:\\" -"\\Python\\\\`, the default library would reside in :file:`C:\\\\Python\\\\Lib" -"\\\\` and third-party modules should be stored in :file:`C:\\\\Python\\\\Lib" -"\\\\site-packages\\\\`." +"\\Python\\\\`, the default library would reside in :file:`C:\\\\Python\\" +"\\Lib\\\\` and third-party modules should be stored in :file:`C:\\\\Python\\" +"\\Lib\\\\site-packages\\\\`." msgstr "" "Python stocke généralement sa bibliothèque (et donc votre dossier ``site-" "packages``) dans le répertoire d'installation. Donc, si vous aviez installé " @@ -2050,7 +2123,7 @@ msgstr "" "dans :file:`C:\\\\Python\\\\Lib\\\\` et les modules tiers devraient être " "stockés dans :file:`C:\\\\Python\\\\Lib\\\\site-packages\\\\`." -#: using/windows.rst:949 +#: using/windows.rst:986 msgid "" "To completely override :data:`sys.path`, create a ``._pth`` file with the " "same name as the DLL (``python37._pth``) or the executable (``python._pth``) " @@ -2065,7 +2138,7 @@ msgstr "" "l'exécutable, qui permet aux chemins d'être restreints pour tout programme " "chargeant le *runtime* si désiré." -#: using/windows.rst:955 +#: using/windows.rst:992 msgid "" "When the file exists, all registry and environment variables are ignored, " "isolated mode is enabled, and :mod:`site` is not imported unless one line in " @@ -2082,7 +2155,7 @@ msgstr "" "importations autres que vers *site* ne sont pas autorisées, ni n'importe " "quelle instruction Python." -#: using/windows.rst:962 +#: using/windows.rst:999 msgid "" "Note that ``.pth`` files (without leading underscore) will be processed " "normally by the :mod:`site` module when ``import site`` has been specified." @@ -2091,7 +2164,7 @@ msgstr "" "seront traités normalement par le module :mod:`site` lorsque ``import site`` " "a été spécifié." -#: using/windows.rst:965 +#: using/windows.rst:1002 msgid "" "When no ``._pth`` file is found, this is how :data:`sys.path` is populated " "on Windows:" @@ -2099,14 +2172,14 @@ msgstr "" "Lorsque aucun fichier ``._pth`` n'est trouvé, voilà comment :data:`sys.path` " "est construit sur Windows :" -#: using/windows.rst:968 +#: using/windows.rst:1005 msgid "" "An empty entry is added at the start, which corresponds to the current " "directory." msgstr "" "Une entrée vide est ajoutée au début, qui correspond au répertoire courant." -#: using/windows.rst:971 +#: using/windows.rst:1008 msgid "" "If the environment variable :envvar:`PYTHONPATH` exists, as described in :" "ref:`using-on-envvars`, its entries are added next. Note that on Windows, " @@ -2119,7 +2192,7 @@ msgstr "" "des points-virgules, pour les distinguer des deux points utilisés dans les " "identificateurs de lecteur (``C:\\`` etc.)." -#: using/windows.rst:976 +#: using/windows.rst:1013 msgid "" "Additional \"application paths\" can be added in the registry as subkeys of :" "samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " @@ -2137,7 +2210,7 @@ msgstr "" "tous les installateurs connus utilisent seulement HKLM, donc HKCU est " "généralement vide.)" -#: using/windows.rst:983 +#: using/windows.rst:1020 msgid "" "If the environment variable :envvar:`PYTHONHOME` is set, it is assumed as " "\"Python Home\". Otherwise, the path of the main Python executable is used " @@ -2156,7 +2229,7 @@ msgstr "" "chemin d'accès Python principal est construit à partir du PythonPath stocké " "dans le registre." -#: using/windows.rst:991 +#: using/windows.rst:1028 msgid "" "If the Python Home cannot be located, no :envvar:`PYTHONPATH` is specified " "in the environment, and no registry entries can be found, a default path " @@ -2167,7 +2240,7 @@ msgstr "" "trouvée, un chemin par défaut avec des entrées relatives est utilisé (par " "exemple ``.\\Lib`` ; ``.\\plat-win``, etc.)." -#: using/windows.rst:995 +#: using/windows.rst:1032 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable or in the " "directory one level above the executable, the following variations apply:" @@ -2176,7 +2249,7 @@ msgstr "" "dans le répertoire un niveau au-dessus de l'exécutable, les variantes " "suivantes s'appliquent :" -#: using/windows.rst:998 +#: using/windows.rst:1035 msgid "" "If ``home`` is an absolute path and :envvar:`PYTHONHOME` is not set, this " "path is used instead of the path to the main executable when deducing the " @@ -2186,11 +2259,11 @@ msgstr "" "ce chemin d'accès est utilisé au lieu du chemin d'accès à l'exécutable " "principal lors de la déduction de l'emplacement du `home`." -#: using/windows.rst:1002 +#: using/windows.rst:1039 msgid "The end result of all this is:" msgstr "Le résultat final de tout ceci est :" -#: using/windows.rst:1004 +#: using/windows.rst:1041 msgid "" "When running :file:`python.exe`, or any other .exe in the main Python " "directory (either an installed version, or directly from the PCbuild " @@ -2203,7 +2276,7 @@ msgstr "" "chemins d'accès principaux dans le Registre sont ignorés. D'autres \"chemins " "d'application\" dans le registre sont toujours lus." -#: using/windows.rst:1009 +#: using/windows.rst:1046 msgid "" "When Python is hosted in another .exe (different directory, embedded via " "COM, etc), the \"Python Home\" will not be deduced, so the core path from " @@ -2215,7 +2288,7 @@ msgstr "" "sorte que le chemin d'accès principal du registre est utilisé. D'autres " "\"chemins d'application\" dans le registre sont toujours lus." -#: using/windows.rst:1013 +#: using/windows.rst:1050 msgid "" "If Python can't find its home and there are no registry value (frozen .exe, " "some very strange installation setup) you get a path with some default, but " @@ -2225,7 +2298,7 @@ msgstr "" "registre (*.exe* figé, une installation très étrange) vous obtenez un chemin " "d'accès avec certains chemins par défaut, mais relatif." -#: using/windows.rst:1017 +#: using/windows.rst:1054 msgid "" "For those who want to bundle Python into their application or distribution, " "the following advice will prevent conflicts with other installations:" @@ -2234,7 +2307,7 @@ msgstr "" "distribution, les conseils suivants empêcheront les conflits avec d'autres " "installations :" -#: using/windows.rst:1020 +#: using/windows.rst:1057 msgid "" "Include a ``._pth`` file alongside your executable containing the " "directories to include. This will ignore paths listed in the registry and " @@ -2246,7 +2319,7 @@ msgstr "" "registre et les variables d'environnement, et ignorera également :mod:`site` " "à moins que ``import site`` soit listé." -#: using/windows.rst:1025 +#: using/windows.rst:1062 msgid "" "If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " "executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:" @@ -2256,7 +2329,7 @@ msgstr "" "propre exécutable, appelez explicitement :c:func:`Py_SetPath` ou (au moins) :" "c:func:`Py_SetProgramName` avant :c:func:`Py_Initialize`." -#: using/windows.rst:1029 +#: using/windows.rst:1066 msgid "" "Clear and/or overwrite :envvar:`PYTHONPATH` and set :envvar:`PYTHONHOME` " "before launching :file:`python.exe` from your application." @@ -2264,7 +2337,7 @@ msgstr "" "Effacer et/ou écraser :envvar:`PYTHONPATH` et configurez :envvar:" "`PYTHONHOME` avant de lancer le :file:`python.exe` de votre application." -#: using/windows.rst:1032 +#: using/windows.rst:1069 msgid "" "If you cannot use the previous suggestions (for example, you are a " "distribution that allows people to run :file:`python.exe` directly), ensure " @@ -2279,7 +2352,7 @@ msgstr "" "détecté à l'intérieur d'un fichier ZIP, mais un fichier ZIP correctement " "nommé sera détecté à la place.)" -#: using/windows.rst:1038 +#: using/windows.rst:1075 msgid "" "These will ensure that the files in a system-wide installation will not take " "precedence over the copy of the standard library bundled with your " @@ -2295,7 +2368,7 @@ msgstr "" "suggestion est la meilleure, car les autres peuvent encore être sensibles " "aux chemins non-standard dans le registre et le *site-packages* utilisateur." -#: using/windows.rst:1047 +#: using/windows.rst:1084 msgid "" "Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv." "cfg``." @@ -2303,7 +2376,7 @@ msgstr "" "Ajout de la gestion des ``._pth`` et suppression de l'option ``applocal`` de " "``pyvenv.cfg``." -#: using/windows.rst:1049 +#: using/windows.rst:1086 msgid "" "Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the " "executable." @@ -2311,7 +2384,7 @@ msgstr "" "Ajout de ``pythonXX.zip`` comme point de repère potentiel lorsqu'il est " "directement adjacent à l'exécutable." -#: using/windows.rst:1055 +#: using/windows.rst:1092 msgid "" "Modules specified in the registry under ``Modules`` (not ``PythonPath``) may " "be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " @@ -2324,11 +2397,11 @@ msgstr "" "récent, mais il pourrait être nécessaire de l'ajouter explicitement à :attr:" "`sys.meta_path` à l'avenir." -#: using/windows.rst:1061 +#: using/windows.rst:1098 msgid "Additional modules" msgstr "Modules supplémentaires" -#: using/windows.rst:1063 +#: using/windows.rst:1100 msgid "" "Even though Python aims to be portable among all platforms, there are " "features that are unique to Windows. A couple of modules, both in the " @@ -2339,7 +2412,7 @@ msgstr "" "dans la bibliothèque standard et externe, et des exemples existent pour " "utiliser ces fonctionnalités." -#: using/windows.rst:1067 +#: using/windows.rst:1104 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." @@ -2347,11 +2420,11 @@ msgstr "" "Les modules standard de Windows sont documentés dans :ref:`mswin-specific-" "services`." -#: using/windows.rst:1071 +#: using/windows.rst:1108 msgid "PyWin32" msgstr "PyWin32" -#: using/windows.rst:1073 +#: using/windows.rst:1110 msgid "" "The `PyWin32 `_ module by Mark Hammond is " "a collection of modules for advanced Windows-specific support. This " @@ -2361,7 +2434,7 @@ msgstr "" "une collection de modules pour un support avancé spécifique à Windows. Cela " "inclut les services pour :" -#: using/windows.rst:1077 +#: using/windows.rst:1114 msgid "" "`Component Object Model `_ (COM)" @@ -2369,19 +2442,19 @@ msgstr "" "`Component Object Model `_ (COM)" -#: using/windows.rst:1080 +#: using/windows.rst:1117 msgid "Win32 API calls" msgstr "Appels à l'API Win32" -#: using/windows.rst:1081 +#: using/windows.rst:1118 msgid "Registry" msgstr "Registre" -#: using/windows.rst:1082 +#: using/windows.rst:1119 msgid "Event log" msgstr "Journal d'événement" -#: using/windows.rst:1083 +#: using/windows.rst:1120 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" @@ -2389,7 +2462,7 @@ msgstr "" "`Microsoft Foundation Classes `_ (MFC) interfaces utilisateur" -#: using/windows.rst:1087 +#: using/windows.rst:1124 msgid "" "`PythonWin `_ is a sample MFC application shipped with PyWin32. " @@ -2399,29 +2472,29 @@ msgstr "" "windows/pythonwin/>`_ est un exemple d'application MFC livrée avec PyWin32. " "Il s'agit d'un IDE embarqué avec débogueur intégré." -#: using/windows.rst:1094 +#: using/windows.rst:1131 msgid "" "`Win32 How Do I...? `_" msgstr "" "`Win32 How Do I...? `_" -#: using/windows.rst:1094 +#: using/windows.rst:1131 msgid "by Tim Golden" msgstr "par Tim Golden" -#: using/windows.rst:1096 +#: using/windows.rst:1133 msgid "`Python and COM `_" msgstr "`Python and COM `_" -#: using/windows.rst:1097 +#: using/windows.rst:1134 msgid "by David and Paul Boddie" msgstr "par David et Paul Boddie" -#: using/windows.rst:1101 +#: using/windows.rst:1138 msgid "cx_Freeze" msgstr "cx_Freeze" -#: using/windows.rst:1103 +#: using/windows.rst:1140 msgid "" "`cx_Freeze `_ is a :mod:" "`distutils` extension (see :ref:`extending-distutils`) which wraps Python " @@ -2435,23 +2508,24 @@ msgstr "" "`{*}.exe`). Lorsque vous l'avez fait, vous pouvez distribuer votre " "application sans demander à vos utilisateurs d'installer Python." -#: using/windows.rst:1111 +#: using/windows.rst:1148 msgid "Compiling Python on Windows" msgstr "Compiler Python sous Windows" -#: using/windows.rst:1113 +#: using/windows.rst:1150 +#, fuzzy msgid "" "If you want to compile CPython yourself, first thing you should do is get " "the `source `_. You can download " "either the latest release's source or just grab a fresh `checkout `_." +"devguide.python.org/setup/#get-the-source-code>`_." msgstr "" "Si vous voulez compiler CPython vous-même, la première chose à faire est " "obtenir la `source `_. Vous pouvez " "télécharger soit la source de la dernière version ou tout simplement prendre " "un `checkout `_." -#: using/windows.rst:1118 +#: using/windows.rst:1155 msgid "" "The source tree contains a build solution and project files for Microsoft " "Visual Studio, which is the compiler used to build the official Python " @@ -2462,7 +2536,7 @@ msgstr "" "générer les versions officielles de Python. Ces fichiers se trouvent dans le " "répertoire :file:`PCbuild`." -#: using/windows.rst:1122 +#: using/windows.rst:1159 msgid "" "Check :file:`PCbuild/readme.txt` for general information on the build " "process." @@ -2470,15 +2544,15 @@ msgstr "" "Consultez :file:`PC/readme.txt` pour des informations générales sur le " "processus de construction." -#: using/windows.rst:1124 +#: using/windows.rst:1161 msgid "For extension modules, consult :ref:`building-on-windows`." msgstr "Pour les modules d'extension, consultez :ref:`building-on-windows`." -#: using/windows.rst:1128 +#: using/windows.rst:1165 msgid "Other Platforms" msgstr "Autres plateformes" -#: using/windows.rst:1130 +#: using/windows.rst:1167 msgid "" "With ongoing development of Python, some platforms that used to be supported " "earlier are no longer supported (due to the lack of users or developers). " @@ -2489,9 +2563,10 @@ msgstr "" "manque d'utilisateurs ou de développeurs). Voir :pep:`11` pour plus de " "détails sur toutes les plateformes non prises en charge." -#: using/windows.rst:1134 +#: using/windows.rst:1171 +#, fuzzy msgid "" -"`Windows CE `_ is `no longer supported " +"`Windows CE `_ is `no longer supported " "`__ since Python 3 (if it " "ever was)." msgstr "" @@ -2499,7 +2574,7 @@ msgstr "" "``__ depuis Python 3 (s’il " "l’a jamais été)." -#: using/windows.rst:1137 +#: using/windows.rst:1174 msgid "" "The `Cygwin `_ installer offers to install the `Python " "interpreter `__ as well" @@ -2508,7 +2583,7 @@ msgstr "" "d’installer également `l’interpréteur Python `__." -#: using/windows.rst:1141 +#: using/windows.rst:1178 msgid "" "See `Python for Windows `_ for " "detailed information about platforms with pre-compiled installers." @@ -2517,6 +2592,19 @@ msgstr "" "des instructions détaillées sur les plateformes avec installateurs pré-" "compilés." +#~ msgid "Install developer headers and libraries" +#~ msgstr "Installe les fichiers d'en-tête et les bibliothèques développeur" + +#~ msgid "Installs :ref:`launcher` for all users." +#~ msgstr "Installe le :ref:`launcher` pour tous les utilisateurs." + +#~ msgid "" +#~ "A \"comprehensive Python analysis environment\" with editors and other " +#~ "development tools." +#~ msgstr "" +#~ "Un « environnement d’analyse complet Python » avec des éditeurs et autres " +#~ "outils de développement." + #~ msgid "https://technet.microsoft.com/en-us/library/cc754250.aspx" #~ msgstr "https://technet.microsoft.com/en-us/library/cc754250.aspx" diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index f7f23bbd1c..24079b689f 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-11-01 11:43+0100\n" "Last-Translator: Melançon Victor \n" "Language-Team: FRENCH \n" @@ -44,12 +44,13 @@ msgstr "" "quelques incompatibilités qui peuvent nécessiter la réécriture du code." #: whatsnew/2.0.rst:20 +#, fuzzy msgid "" "Python's development never completely stops between releases, and a steady " "flow of bug fixes and improvements are always being submitted. A host of " "minor fixes, a few optimizations, additional docstrings, and better error " "messages went into 2.0; to list them all would be impossible, but they're " -"certainly significant. Consult the publicly-available CVS logs if you want " +"certainly significant. Consult the publicly available CVS logs if you want " "to see the full list. This progress is due to the five developers working " "for PythonLabs are now getting paid to spend their days fixing bugs, and " "also due to the improved communication resulting from moving to SourceForge." @@ -954,7 +955,7 @@ msgid "" "processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys." "platform`` is still ``'win32'`` on Win64 because it seems that for ease of " "porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also " -"supports Windows CE; see the Python CE page at http://pythonce.sourceforge." +"supports Windows CE; see the Python CE page at https://pythonce.sourceforge." "net/ for more information." msgstr "" diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po index b641f04628..cadae1f0ad 100644 --- a/whatsnew/2.1.po +++ b/whatsnew/2.1.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-12-11 11:28+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -474,7 +474,7 @@ msgstr "" msgid ":pep:`229` - Using Distutils to Build Python" msgstr "" -#: whatsnew/2.1.rst:571 +#: whatsnew/2.1.rst:574 msgid "Written and implemented by A.M. Kuchling." msgstr "" @@ -683,11 +683,14 @@ msgstr "" msgid "" "A common complaint from Python users is that there's no single catalog of " "all the Python modules in existence. T. Middleton's Vaults of Parnassus at " -"http://www.vex.net/parnassus/ are the largest catalog of Python modules, but " -"registering software at the Vaults is optional, and many people don't bother." +"``www.vex.net/parnassus/`` (retired in February 2009, `available in the " +"Internet Archive Wayback Machine `_) was the largest catalog of Python modules, " +"but registering software at the Vaults is optional, and many people did not " +"bother." msgstr "" -#: whatsnew/2.1.rst:548 +#: whatsnew/2.1.rst:551 msgid "" "As a first small step toward fixing the problem, Python software packaged " "using the Distutils :command:`sdist` command will include a file named :file:" @@ -703,7 +706,7 @@ msgid "" "would automatically upload your package to a catalog server." msgstr "" -#: whatsnew/2.1.rst:561 +#: whatsnew/2.1.rst:564 msgid "" "You can start creating packages containing :file:`PKG-INFO` even if you're " "not using Python 2.1, since a new release of the Distutils will be made for " @@ -713,25 +716,25 @@ msgid "" "python.org/community/sigs/current/distutils-sig/." msgstr "" -#: whatsnew/2.1.rst:571 +#: whatsnew/2.1.rst:574 msgid ":pep:`241` - Metadata for Python Software Packages" msgstr "" -#: whatsnew/2.1.rst:574 +#: whatsnew/2.1.rst:577 msgid ":pep:`243` - Module Repository Upload Mechanism" msgstr "" -#: whatsnew/2.1.rst:574 +#: whatsnew/2.1.rst:577 msgid "" "Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " "for uploading Python packages to a central server." msgstr "" -#: whatsnew/2.1.rst:581 +#: whatsnew/2.1.rst:584 msgid "New and Improved Modules" msgstr "" -#: whatsnew/2.1.rst:583 +#: whatsnew/2.1.rst:586 msgid "" "Ka-Ping Yee contributed two new modules: :mod:`inspect.py`, a module for " "getting information about live Python code, and :mod:`pydoc.py`, a module " @@ -741,13 +744,13 @@ msgid "" "name. For example, ``pydoc xml.dom`` displays the following::" msgstr "" -#: whatsnew/2.1.rst:605 +#: whatsnew/2.1.rst:608 msgid "" ":file:`pydoc` also includes a Tk-based interactive help browser. :file:" "`pydoc` quickly becomes addictive; try it out!" msgstr "" -#: whatsnew/2.1.rst:608 +#: whatsnew/2.1.rst:611 msgid "" "Two different modules for unit testing were added to the standard library. " "The :mod:`doctest` module, contributed by Tim Peters, provides a testing " @@ -758,7 +761,7 @@ msgid "" "sourceforge.net/ for more information about PyUnit." msgstr "" -#: whatsnew/2.1.rst:616 +#: whatsnew/2.1.rst:619 msgid "" "The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which " "compares two sequences and computes the changes required to transform one " @@ -768,7 +771,7 @@ msgid "" "script." msgstr "" -#: whatsnew/2.1.rst:622 +#: whatsnew/2.1.rst:625 msgid "" ":mod:`curses.panel`, a wrapper for the panel library, part of ncurses and of " "SYSV curses, was contributed by Thomas Gellekum. The panel library provides " @@ -777,7 +780,7 @@ msgid "" "overlap and which sections are visible." msgstr "" -#: whatsnew/2.1.rst:628 +#: whatsnew/2.1.rst:631 msgid "" "The PyXML package has gone through a few releases since Python 2.0, and " "Python 2.1 includes an updated version of the :mod:`xml` package. Some of " @@ -786,7 +789,7 @@ msgid "" "Python, and various bugfixes for SAX, DOM, and the :mod:`minidom` module." msgstr "" -#: whatsnew/2.1.rst:634 +#: whatsnew/2.1.rst:637 msgid "" "Ping also contributed another hook for handling uncaught exceptions. :func:" "`sys.excepthook` can be set to a callable object. When an exception isn't " @@ -798,7 +801,7 @@ msgid "" "each frame." msgstr "" -#: whatsnew/2.1.rst:642 +#: whatsnew/2.1.rst:645 msgid "" "Various functions in the :mod:`time` module, such as :func:`asctime` and :" "func:`localtime`, require a floating point argument containing the time in " @@ -810,11 +813,11 @@ msgid "" "``time.asctime(time.localtime(time.time()))`` that was previously required." msgstr "" -#: whatsnew/2.1.rst:651 +#: whatsnew/2.1.rst:654 msgid "This change was proposed and implemented by Thomas Wouters." msgstr "" -#: whatsnew/2.1.rst:653 +#: whatsnew/2.1.rst:656 msgid "" "The :mod:`ftplib` module now defaults to retrieving files in passive mode, " "because passive mode is more likely to work from behind a firewall. This " @@ -826,20 +829,20 @@ msgid "" "``set_pasv(0)`` on FTP objects to disable passive mode." msgstr "" -#: whatsnew/2.1.rst:662 +#: whatsnew/2.1.rst:665 msgid "" "Support for raw socket access has been added to the :mod:`socket` module, " "contributed by Grant Edwards." msgstr "" -#: whatsnew/2.1.rst:665 +#: whatsnew/2.1.rst:668 msgid "" "The :mod:`pstats` module now contains a simple interactive statistics " "browser for displaying timing profiles for Python programs, invoked when the " "module is run as a script. Contributed by Eric S. Raymond." msgstr "" -#: whatsnew/2.1.rst:669 +#: whatsnew/2.1.rst:672 msgid "" "A new implementation-dependent function, ``sys._getframe([depth])``, has " "been added to return a given frame object from the current call stack. :func:" @@ -849,18 +852,18 @@ msgid "" "_getframe(1)`` returns the caller's frame object." msgstr "" -#: whatsnew/2.1.rst:676 +#: whatsnew/2.1.rst:679 msgid "" "This function is only present in CPython, not in Jython or the .NET " "implementation. Use it for debugging, and resist the temptation to put it " "into production code." msgstr "" -#: whatsnew/2.1.rst:684 +#: whatsnew/2.1.rst:687 msgid "Other Changes and Fixes" msgstr "Autres changements et corrections" -#: whatsnew/2.1.rst:686 +#: whatsnew/2.1.rst:689 msgid "" "There were relatively few smaller changes made in Python 2.1 due to the " "shorter release cycle. A search through the CVS change logs turns up 117 " @@ -868,7 +871,7 @@ msgid "" "underestimates. Some of the more notable changes are:" msgstr "" -#: whatsnew/2.1.rst:691 +#: whatsnew/2.1.rst:694 msgid "" "A specialized object allocator is now optionally available, that should be " "faster than the system :func:`malloc` and have less memory overhead. The " @@ -879,7 +882,7 @@ msgid "" "details." msgstr "" -#: whatsnew/2.1.rst:698 +#: whatsnew/2.1.rst:701 msgid "" "Authors of C extension modules should test their code with the object " "allocator enabled, because some incorrect code may break, causing core dumps " @@ -895,11 +898,11 @@ msgid "" "doubtless there are more third-party modules that will have the same problem." msgstr "" -#: whatsnew/2.1.rst:711 +#: whatsnew/2.1.rst:714 msgid "The object allocator was contributed by Vladimir Marangozov." msgstr "" -#: whatsnew/2.1.rst:713 +#: whatsnew/2.1.rst:716 msgid "" "The speed of line-oriented file I/O has been improved because people often " "complain about its lack of speed, and because it's often been used as a " @@ -911,7 +914,7 @@ msgid "" "this change, motivated by a discussion in comp.lang.python." msgstr "" -#: whatsnew/2.1.rst:722 +#: whatsnew/2.1.rst:725 msgid "" "A new module and method for file objects was also added, contributed by Jeff " "Epler. The new method, :meth:`xreadlines`, is similar to the existing :func:" @@ -921,14 +924,14 @@ msgid "" "`readlines` method does. You'd use it like this::" msgstr "" -#: whatsnew/2.1.rst:733 +#: whatsnew/2.1.rst:736 msgid "" "For a fuller discussion of the line I/O changes, see the python-dev summary " "for January 1--15, 2001 at https://mail.python.org/pipermail/python-dev/2001-" "January/." msgstr "" -#: whatsnew/2.1.rst:736 +#: whatsnew/2.1.rst:739 msgid "" "A new method, :meth:`popitem`, was added to dictionaries to enable " "destructively iterating through the contents of a dictionary; this can be " @@ -939,7 +942,7 @@ msgid "" "suggestion and preliminary patch by Moshe Zadka." msgstr "" -#: whatsnew/2.1.rst:744 +#: whatsnew/2.1.rst:747 msgid "" "Modules can now control which names are imported when ``from module import " "*`` is used, by defining an ``__all__`` attribute containing a list of names " @@ -949,14 +952,14 @@ msgid "" "the public names in ``__all__``::" msgstr "" -#: whatsnew/2.1.rst:754 +#: whatsnew/2.1.rst:757 msgid "" "A stricter version of this patch was first suggested and implemented by Ben " "Wolfson, but after some python-dev discussion, a weaker final version was " "checked in." msgstr "" -#: whatsnew/2.1.rst:758 +#: whatsnew/2.1.rst:761 msgid "" "Applying :func:`repr` to strings previously used octal escapes for non-" "printable characters; for example, a newline was ``'\\012'``. This was a " @@ -966,14 +969,14 @@ msgid "" "characters, and implemented this new formatting." msgstr "" -#: whatsnew/2.1.rst:765 +#: whatsnew/2.1.rst:768 msgid "" "Syntax errors detected at compile-time can now raise exceptions containing " "the filename and line number of the error, a pleasant side effect of the " "compiler reorganization done by Jeremy Hylton." msgstr "" -#: whatsnew/2.1.rst:769 +#: whatsnew/2.1.rst:772 msgid "" "C extensions which import other modules have been changed to use :func:" "`PyImport_ImportModule`, which means that they will use any import hooks " @@ -981,31 +984,31 @@ msgid "" "extensions that need to import some other module from C code." msgstr "" -#: whatsnew/2.1.rst:774 +#: whatsnew/2.1.rst:777 msgid "" "The size of the Unicode character database was shrunk by another 340K thanks " "to Fredrik Lundh." msgstr "" -#: whatsnew/2.1.rst:777 +#: whatsnew/2.1.rst:780 msgid "" "Some new ports were contributed: MacOS X (by Steven Majewski), Cygwin (by " "Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " "Allie)." msgstr "" -#: whatsnew/2.1.rst:781 +#: whatsnew/2.1.rst:784 msgid "" "And there's the usual list of minor bugfixes, minor memory leaks, docstring " "edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs " "for the full details if you want them." msgstr "" -#: whatsnew/2.1.rst:789 +#: whatsnew/2.1.rst:792 msgid "Acknowledgements" msgstr "Remerciements" -#: whatsnew/2.1.rst:791 +#: whatsnew/2.1.rst:794 msgid "" "The author would like to thank the following people for offering suggestions " "on various drafts of this article: Graeme Cross, David Goodger, Jay Graves, " diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index c9b76ed0ef..cfed774142 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-08-01 00:07+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -1124,7 +1124,7 @@ msgstr "" #: whatsnew/2.2.rst:985 msgid "" "Two new format characters were added to the :mod:`struct` module for 64-bit " -"integers on platforms that support the C :c:type:`long long` type. ``q`` is " +"integers on platforms that support the C :c:expr:`long long` type. ``q`` is " "for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is " "returned in Python's long integer type. (Contributed by Tim Peters.)" msgstr "" @@ -1312,7 +1312,7 @@ msgid "" "A different argument parsing function, :c:func:`PyArg_UnpackTuple`, has been " "added that's simpler and presumably faster. Instead of specifying a format " "string, the caller simply gives the minimum and maximum number of arguments " -"expected, and a set of pointers to :c:type:`PyObject\\*` variables that will " +"expected, and a set of pointers to :c:expr:`PyObject*` variables that will " "be filled in with argument values." msgstr "" diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index 6319cdf778..6df8061fbe 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-31 23:42+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -556,7 +556,7 @@ msgid "" "to be ignored or can modify the record before passing it along. When " "they're finally output, :class:`LogRecord` instances are converted to text " "by a :class:`Formatter` class. All of these classes can be replaced by your " -"own specially-written classes." +"own specially written classes." msgstr "" #: whatsnew/2.3.rst:533 @@ -1139,7 +1139,7 @@ msgid "" "inheritance hierarchy. Classic classes are unaffected by this change. " "Python 2.2 originally used a topological sort of a class's ancestors, but " "2.3 now uses the C3 algorithm as described in the paper `\"A Monotonic " -"Superclass Linearization for Dylan\" `_. To understand the motivation for this " "change, read Michele Simionato's article `\"Python 2.3 Method Resolution " "Order\" `_, or read the " @@ -1322,7 +1322,7 @@ msgstr "" #: whatsnew/2.3.rst:1233 msgid "" "The :mod:`bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB " -"`_ package, providing a more complete " +"`_ package, providing a more complete " "interface to the transactional features of the BerkeleyDB library." msgstr "" @@ -2095,9 +2095,9 @@ msgstr "" #: whatsnew/2.3.rst:1907 msgid "" ":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " -"of unsigned integers: ``B`` for :c:type:`unsigned char`, ``H`` for :c:type:" -"`unsigned short int`, ``I`` for :c:type:`unsigned int`, and ``K`` for :c:" -"type:`unsigned long long`." +"of unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` for :c:expr:" +"`unsigned short int`, ``I`` for :c:expr:`unsigned int`, and ``K`` for :c:" +"expr:`unsigned long long`." msgstr "" #: whatsnew/2.3.rst:1912 diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 9f92b4bd21..8b74182516 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-08-01 00:06+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -140,7 +140,7 @@ msgid "" "comprehensions don't fit into this picture very well because they produce a " "Python list object containing all of the items. This unavoidably pulls all " "of the objects into memory, which can be a problem if your data set is very " -"large. When trying to write a functionally-styled program, it would be " +"large. When trying to write a functionally styled program, it would be " "natural to write something like::" msgstr "" @@ -520,7 +520,7 @@ msgstr "" #: whatsnew/2.4.rst:474 msgid "" "Python has always supported floating-point (FP) numbers, based on the " -"underlying C :c:type:`double` type, as a data type. However, while most " +"underlying C :c:expr:`double` type, as a data type. However, while most " "programming languages provide a floating-point type, many people (even " "programmers) are unaware that floating-point numbers don't represent certain " "decimal fractions accurately. The new :class:`Decimal` type can represent " @@ -566,7 +566,7 @@ msgstr "" #: whatsnew/2.4.rst:503 msgid "" "Modern systems usually provide floating-point support that conforms to a " -"standard called IEEE 754. C's :c:type:`double` type is usually implemented " +"standard called IEEE 754. C's :c:expr:`double` type is usually implemented " "as a 64-bit IEEE 754 number, which uses 52 bits of space for the mantissa. " "This means that numbers can only be specified to 52 bits of precision. If " "you're trying to represent numbers whose expansion repeats endlessly, the " @@ -836,12 +836,12 @@ msgstr "" #: whatsnew/2.4.rst:752 msgid "" "``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both " -"convert a string to a C :c:type:`double`." +"convert a string to a C :c:expr:`double`." msgstr "" #: whatsnew/2.4.rst:755 msgid "" -"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a :c:type:" +"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a :c:expr:" "`double` to an ASCII string." msgstr "" @@ -1033,7 +1033,7 @@ msgstr "" #: whatsnew/2.4.rst:921 msgid "" -"Encountering a failure while importing a module no longer leaves a partially-" +"Encountering a failure while importing a module no longer leaves a partially " "initialized module object in ``sys.modules``. The incomplete module object " "left behind would fool further imports of the same module into succeeding, " "leading to confusing errors. (Fixed by Tim Peters.)" @@ -1653,8 +1653,8 @@ msgstr "" #: whatsnew/2.4.rst:1456 msgid "" -"Another new macro, :c:macro:`Py_CLEAR(obj)`, decreases the reference count " -"of *obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" +"Another new macro, :c:macro:`Py_CLEAR`, decreases the reference count of " +"*obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" msgstr "" #: whatsnew/2.4.rst:1459 @@ -1673,7 +1673,7 @@ msgstr "" #: whatsnew/2.4.rst:1467 msgid "" -"The :c:macro:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " +"The :c:expr:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " "*X* is a NaN. (Contributed by Tim Peters.)" msgstr "" @@ -1787,7 +1787,7 @@ msgstr "" #: whatsnew/2.4.rst:1543 msgid "" -"Encountering a failure while importing a module no longer leaves a partially-" +"Encountering a failure while importing a module no longer leaves a partially " "initialized module object in ``sys.modules``." msgstr "" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index ead3fc38eb..6234005955 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-31 23:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -31,14 +31,14 @@ msgstr "A.M. Kuchling" msgid "" "This article explains the new features in Python 2.5. The final release of " "Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned " -"release schedule." +"release schedule. Python 2.5 was released on September 19, 2006." msgstr "" #: whatsnew/2.5.rst:16 msgid "" "The changes in Python 2.5 are an interesting mix of language and library " "improvements. The library enhancements will be more important to Python's " -"user community, I think, because several widely-useful packages were added. " +"user community, I think, because several widely useful packages were added. " "New modules include ElementTree for XML processing (:mod:`xml.etree`), the " "SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for " "calling C functions." @@ -675,7 +675,10 @@ msgid "The Wikipedia entry for coroutines." msgstr "L’article de Wikipédia sur les coroutines." #: whatsnew/2.5.rst:554 -msgid "http://www.sidhe.org/~dan/blog/archives/000178.html" +#, fuzzy +msgid "" +"https://web.archive.org/web/20160321211320/http://www.sidhe.org/~dan/blog/" +"archives/000178.html" msgstr "http://www.sidhe.org/~dan/blog/archives/000178.html" #: whatsnew/2.5.rst:555 @@ -1012,21 +1015,21 @@ msgstr "" #: whatsnew/2.5.rst:874 msgid "" "A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` " -"type definition instead of :c:type:`int`, will permit the interpreter to " +"type definition instead of :c:expr:`int`, will permit the interpreter to " "handle more data on 64-bit platforms. This change doesn't affect Python's " "capacity on 32-bit platforms." msgstr "" #: whatsnew/2.5.rst:879 msgid "" -"Various pieces of the Python interpreter used C's :c:type:`int` type to " +"Various pieces of the Python interpreter used C's :c:expr:`int` type to " "store sizes or counts; for example, the number of items in a list or tuple " -"were stored in an :c:type:`int`. The C compilers for most 64-bit platforms " -"still define :c:type:`int` as a 32-bit type, so that meant that lists could " +"were stored in an :c:expr:`int`. The C compilers for most 64-bit platforms " +"still define :c:expr:`int` as a 32-bit type, so that meant that lists could " "only hold up to ``2**31 - 1`` = 2147483647 items. (There are actually a few " -"different programming models that 64-bit C compilers can use -- see http://" -"www.unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " -"commonly available model leaves :c:type:`int` as 32 bits.)" +"different programming models that 64-bit C compilers can use -- see https://" +"unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " +"commonly available model leaves :c:expr:`int` as 32 bits.)" msgstr "" #: whatsnew/2.5.rst:888 @@ -1044,7 +1047,7 @@ msgid "" "The pointers for a list that size would only require 16 GiB of space, so " "it's not unreasonable that Python programmers might construct lists that " "large. Therefore, the Python interpreter had to be changed to use some type " -"other than :c:type:`int`, and this will be a 64-bit type on 64-bit " +"other than :c:expr:`int`, and this will be a 64-bit type on 64-bit " "platforms. The change will cause incompatibilities on 64-bit machines, so " "it was deemed worth making the transition now, while the number of 64-bit " "users is still relatively small. (In 5 or 10 years, we may *all* be on 64-" @@ -1064,7 +1067,7 @@ msgstr "" msgid "" "The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a " "new conversion code, ``n``, for :c:type:`Py_ssize_t`. :c:func:" -"`PyArg_ParseTuple`'s ``s#`` and ``t#`` still output :c:type:`int` by " +"`PyArg_ParseTuple`'s ``s#`` and ``t#`` still output :c:expr:`int` by " "default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before " "including :file:`Python.h` to make them return :c:type:`Py_ssize_t`." msgstr "" @@ -1512,7 +1515,7 @@ msgid "" "received several enhancements and a number of bugfixes. You can now set the " "maximum size in bytes of a field by calling the ``csv." "field_size_limit(new_limit)`` function; omitting the *new_limit* argument " -"will return the currently-set limit. The :class:`reader` class now has a :" +"will return the currently set limit. The :class:`reader` class now has a :" "attr:`line_num` attribute that counts the number of physical lines read from " "the source; records can span multiple physical lines, so :attr:`line_num` is " "not the same as the number of records read." @@ -2017,7 +2020,7 @@ msgstr "" #: whatsnew/2.5.rst:1697 msgid "" "Type constructors for the various C types are provided: :func:`c_int`, :func:" -"`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:type:`char " +"`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:expr:`char " "\\*`), and so forth. Unlike Python's types, the C versions are all mutable; " "you can assign to their :attr:`value` attribute to change the wrapped " "value. Python integers and strings will be automatically converted to the " @@ -2046,7 +2049,7 @@ msgid "" "pythonapi`` object. This object does *not* release the global interpreter " "lock before calling a function, because the lock must be held when calling " "into the interpreter's code. There's a :class:`py_object()` type " -"constructor that will create a :c:type:`PyObject \\*` pointer. A simple " +"constructor that will create a :c:expr:`PyObject *` pointer. A simple " "usage::" msgstr "" @@ -2066,11 +2069,13 @@ msgid "" msgstr "" #: whatsnew/2.5.rst:1750 -msgid "http://starship.python.net/crew/theller/ctypes/" +msgid "" +"https://web.archive.org/web/20180410025338/http://starship.python.net/crew/" +"theller/ctypes/" msgstr "" #: whatsnew/2.5.rst:1750 -msgid "The ctypes web page, with a tutorial, reference, and FAQ." +msgid "The pre-stdlib ctypes web page, with a tutorial, reference, and FAQ." msgstr "" #: whatsnew/2.5.rst:1752 @@ -2320,7 +2325,7 @@ msgstr "" #: whatsnew/2.5.rst:1933 msgid "" -"The pysqlite module (http://www.pysqlite.org), a wrapper for the SQLite " +"The pysqlite module (https://www.pysqlite.org), a wrapper for the SQLite " "embedded database, has been added to the standard library under the package " "name :mod:`sqlite3`." msgstr "" @@ -2428,8 +2433,9 @@ msgid "" msgstr "" #: whatsnew/2.5.rst:2023 -msgid "http://www.pysqlite.org" -msgstr "" +#, fuzzy +msgid "https://www.pysqlite.org" +msgstr "https://www.sqlite.org" #: whatsnew/2.5.rst:2023 msgid "The pysqlite web page." @@ -2479,7 +2485,9 @@ msgid "" msgstr "" #: whatsnew/2.5.rst:2069 -msgid "http://www.wsgi.org" +msgid "" +"https://web.archive.org/web/20160331090247/http://wsgi.readthedocs.org/en/" +"latest/" msgstr "" #: whatsnew/2.5.rst:2069 @@ -2521,7 +2529,7 @@ msgstr "" #: whatsnew/2.5.rst:2094 msgid "" "The largest change to the C API came from :pep:`353`, which modifies the " -"interpreter to use a :c:type:`Py_ssize_t` type definition instead of :c:type:" +"interpreter to use a :c:type:`Py_ssize_t` type definition instead of :c:expr:" "`int`. See the earlier section :ref:`pep-353` for a discussion of this " "change." msgstr "" @@ -2751,7 +2759,7 @@ msgstr "" #: whatsnew/2.5.rst:2267 msgid "" -"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:type:`int` " +"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:expr:`int` " "to allow processing more data on 64-bit machines. Extension code may need " "to make the same change to avoid warnings and to support 64-bit machines. " "See the earlier section :ref:`pep-353` for a discussion of this change." @@ -2760,9 +2768,9 @@ msgstr "" #: whatsnew/2.5.rst:2272 msgid "" "C API: The obmalloc changes mean that you must be careful to not mix usage " -"of the :c:func:`PyMem_\\*` and :c:func:`PyObject_\\*` families of functions. " -"Memory allocated with one family's :c:func:`\\*_Malloc` must be freed with " -"the corresponding family's :c:func:`\\*_Free` function." +"of the ``PyMem_*`` and ``PyObject_*`` families of functions. Memory " +"allocated with one family's ``*_Malloc`` must be freed with the " +"corresponding family's ``*_Free`` function." msgstr "" #: whatsnew/2.5.rst:2281 diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 129599b4f9..c25c9c9155 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-31 23:37+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -29,7 +29,7 @@ msgstr "" #: whatsnew/2.6.rst:52 msgid "" -"This article explains the new features in Python 2.6, released on October 1 " +"This article explains the new features in Python 2.6, released on October 1, " "2008. The release schedule is described in :pep:`361`." msgstr "" @@ -163,8 +163,8 @@ msgid "" "posted a call for issue trackers, asking volunteers to set up different " "products and import some of the bugs and patches from SourceForge. Four " "different trackers were examined: `Jira `__, `Launchpad `__, `Roundup `__, and `Trac `__. The " +"jira/>`__, `Launchpad `__, `Roundup `__, and `Trac `__. The " "committee eventually settled on Jira and Roundup as the two candidates. " "Jira is a commercial product that offers no-cost hosted instances to free-" "software projects; Roundup is an open-source project that requires " @@ -186,9 +186,9 @@ msgid "" "Hosting of the Python bug tracker is kindly provided by `Upfront Systems " "`__ of Stellenbosch, South Africa. Martin " "von Löwis put a lot of effort into importing existing bugs and patches from " -"SourceForge; his scripts for this import operation are at http://svn.python." -"org/view/tracker/importer/ and may be useful to other projects wishing to " -"move from SourceForge to Roundup." +"SourceForge; his scripts for this import operation are at ``https://svn." +"python.org/view/tracker/importer/`` and may be useful to other projects " +"wishing to move from SourceForge to Roundup." msgstr "" #: whatsnew/2.6.rst:185 @@ -200,7 +200,7 @@ msgid "The Python bug tracker." msgstr "" #: whatsnew/2.6.rst:188 -msgid "http://bugs.jython.org:" +msgid "https://bugs.jython.org:" msgstr "" #: whatsnew/2.6.rst:188 @@ -208,7 +208,7 @@ msgid "The Jython bug tracker." msgstr "" #: whatsnew/2.6.rst:191 -msgid "http://roundup.sourceforge.net/" +msgid "https://roundup.sourceforge.io/" msgstr "" #: whatsnew/2.6.rst:191 @@ -216,7 +216,7 @@ msgid "Roundup downloads and documentation." msgstr "" #: whatsnew/2.6.rst:193 -msgid "http://svn.python.org/view/tracker/importer/" +msgid "https://svn.python.org/view/tracker/importer/" msgstr "" #: whatsnew/2.6.rst:194 @@ -253,7 +253,7 @@ msgstr "" msgid "" "During the 2.6 development cycle, Georg Brandl put a lot of effort into " "building a new toolchain for processing the documentation. The resulting " -"package is called Sphinx, and is available from http://sphinx-doc.org/." +"package is called Sphinx, and is available from https://www.sphinx-doc.org/." msgstr "" #: whatsnew/2.6.rst:222 @@ -281,7 +281,8 @@ msgid "Describes how to write for Python's documentation." msgstr "" #: whatsnew/2.6.rst:239 -msgid "`Sphinx `__" +#, fuzzy +msgid "`Sphinx `__" msgstr "`Sphinx `__" #: whatsnew/2.6.rst:239 @@ -289,7 +290,8 @@ msgid "Documentation and code for the Sphinx toolchain." msgstr "" #: whatsnew/2.6.rst:241 -msgid "`Docutils `__" +#, fuzzy +msgid "`Docutils `__" msgstr "`Docutils `__" #: whatsnew/2.6.rst:242 @@ -589,7 +591,7 @@ msgstr "" msgid "" "When you run Python, the module search path ``sys.path`` usually includes a " "directory whose path ends in ``\"site-packages\"``. This directory is " -"intended to hold locally-installed packages available to all users using a " +"intended to hold locally installed packages available to all users using a " "machine or a particular site installation." msgstr "" @@ -733,16 +735,17 @@ msgstr "" #: whatsnew/2.6.rst:720 msgid "" -"In Python 3.0, the `%` operator is supplemented by a more powerful string " +"In Python 3.0, the ``%`` operator is supplemented by a more powerful string " "formatting method, :meth:`format`. Support for the :meth:`str.format` " "method has been backported to Python 2.6." msgstr "" #: whatsnew/2.6.rst:724 msgid "" -"In 2.6, both 8-bit and Unicode strings have a `.format()` method that treats " -"the string as a template and takes the arguments to be formatted. The " -"formatting template uses curly brackets (`{`, `}`) as special characters::" +"In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that " +"treats the string as a template and takes the arguments to be formatted. The " +"formatting template uses curly brackets (``{``, ``}``) as special " +"characters::" msgstr "" #: whatsnew/2.6.rst:737 @@ -1569,7 +1572,7 @@ msgstr "" #: whatsnew/2.6.rst:1436 msgid "" -"`Scheme's number datatypes `__ from the R5RS Scheme specification." msgstr "" @@ -2112,7 +2115,7 @@ msgstr "" #: whatsnew/2.6.rst:1928 msgid "" "The :mod:`decimal` module was updated to version 1.66 of `the General " -"Decimal Specification `__. " +"Decimal Specification `__. " "New features include some methods for some basic mathematical functions such " "as :meth:`exp` and :meth:`log10`::" msgstr "" @@ -2686,7 +2689,7 @@ msgstr "" #: whatsnew/2.6.rst:2392 msgid "" -"The :mod:`struct` module now supports the C99 :c:type:`_Bool` type, using " +"The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using " "the format character ``'?'``. (Contributed by David Remahl.)" msgstr "" @@ -2770,7 +2773,7 @@ msgid "" "function that can be used to exclude certain filenames from an archive. The " "function must take a filename and return true if the file should be excluded " "or false if it should be archived. The function is applied to both the name " -"initially passed to :meth:`add` and to the names of files in recursively-" +"initially passed to :meth:`add` and to the names of files in recursively " "added directories." msgstr "" @@ -2839,7 +2842,7 @@ msgstr "" #: whatsnew/2.6.rst:2515 msgid "" "The :mod:`textwrap` module can now preserve existing whitespace at the " -"beginnings and ends of the newly-created lines by specifying " +"beginnings and ends of the newly created lines by specifying " "``drop_whitespace=False`` as an argument::" msgstr "" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 19a36efd49..06ef190824 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2017-08-10 00:52+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -328,7 +328,7 @@ msgstr "" #: whatsnew/2.7.rst:281 msgid "" -"How does the :class:`~collections.OrderedDict` work? It maintains a doubly-" +"How does the :class:`~collections.OrderedDict` work? It maintains a doubly " "linked list of keys, appending new keys to the list as they're inserted. A " "secondary dictionary maps keys to their corresponding list node, so deletion " "doesn't have to traverse the entire linked list and therefore remains O(1)." @@ -359,7 +359,7 @@ msgid "" "The :mod:`json` module's :class:`~json.JSONDecoder` class constructor was " "extended with an *object_pairs_hook* parameter to allow :class:`OrderedDict` " "instances to be built by the decoder. Support was also added for third-party " -"tools like `PyYAML `_." +"tools like `PyYAML `_." msgstr "" #: whatsnew/2.7.rst:307 @@ -1112,7 +1112,7 @@ msgid "" "pybsddb.htm>`__. The new version features better Python 3.x compatibility, " "various bug fixes, and adds several new BerkeleyDB flags and methods. " "(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb changelog can be " -"read at http://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" +"read at https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" msgstr "" #: whatsnew/2.7.rst:1053 @@ -1719,8 +1719,8 @@ msgid "" "The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* " "argument that's a string listing the encryption algorithms to be allowed; " "the format of the string is described `in the OpenSSL documentation `__. " -"(Added by Antoine Pitrou; :issue:`8322`.)" +"www.openssl.org/docs/man1.0.2/man1/ciphers.html>`__. (Added by Antoine " +"Pitrou; :issue:`8322`.)" msgstr "" #: whatsnew/2.7.rst:1551 @@ -1879,7 +1879,7 @@ msgid "" "Michael Foord.)" msgstr "" -#: whatsnew/2.7.rst:1691 +#: whatsnew/2.7.rst:2486 msgid "" "The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and " "angle brackets when outputting an XML processing instruction (which looks " @@ -2068,7 +2068,7 @@ msgstr "" #: whatsnew/2.7.rst:1833 msgid "" "When used from the command line, the module can automatically discover " -"tests. It's not as fancy as `py.test `__ or `nose " +"tests. It's not as fancy as `py.test `__ or `nose " "`__, but provides a simple way to run tests " "kept within a set of package directories. For example, the following " "command will search the :file:`test/` subdirectory for any importable test " @@ -2278,7 +2278,7 @@ msgstr "" msgid "" ":meth:`~unittest.TestCase.assertAlmostEqual` and :meth:`~unittest.TestCase." "assertNotAlmostEqual` test whether *first* and *second* are approximately " -"equal. This method can either round their difference to an optionally-" +"equal. This method can either round their difference to an optionally " "specified number of *places* (the default is 7) and compare it to zero, or " "require the difference to be smaller than a supplied *delta* value." msgstr "" @@ -2327,7 +2327,9 @@ msgid "" msgstr "" #: whatsnew/2.7.rst:2005 -msgid "http://www.voidspace.org.uk/python/articles/unittest2.shtml" +msgid "" +"https://web.archive.org/web/20210619163128/http://www.voidspace.org.uk/" +"python/articles/unittest2.shtml" msgstr "" #: whatsnew/2.7.rst:2005 @@ -2493,7 +2495,7 @@ msgstr "" msgid "" "New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:" "`PyLong_AsLongLongAndOverflow` approximates a Python long integer as a C :c:" -"type:`long` or :c:type:`long long`. If the number is too large to fit into " +"expr:`long` or :c:expr:`long long`. If the number is too large to fit into " "the output type, an *overflow* flag is set and returned to the caller. " "(Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.)" msgstr "" @@ -2564,7 +2566,7 @@ msgstr "" msgid "" "New format codes: the :c:func:`PyFormat_FromString`, :c:func:" "`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept " -"``%lld`` and ``%llu`` format codes for displaying C's :c:type:`long long` " +"``%lld`` and ``%llu`` format codes for displaying C's :c:expr:`long long` " "types. (Contributed by Mark Dickinson; :issue:`7228`.)" msgstr "" @@ -2727,7 +2729,7 @@ msgstr "" msgid "" "The :mod:`_winreg` module for accessing the registry now implements the :" "func:`~_winreg.CreateKeyEx` and :func:`~_winreg.DeleteKeyEx` functions, " -"extended versions of previously-supported functions that take several extra " +"extended versions of previously supported functions that take several extra " "arguments. The :func:`~_winreg.DisableReflectionKey`, :func:`~_winreg." "EnableReflectionKey`, and :func:`~_winreg.QueryReflectionKey` were also " "tested and documented. (Implemented by Brian Curtin: :issue:`7347`.)" @@ -2925,14 +2927,6 @@ msgid "" "are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" msgstr "" -#: whatsnew/2.7.rst:2486 -msgid "" -"The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and " -"angle brackets when outputting an XML processing instruction (which looks " -"like ``) or comment (which looks like " -"``). (Patch by Neil Muller; :issue:`2746`.)" -msgstr "" - #: whatsnew/2.7.rst:2492 msgid "" "The :meth:`~StringIO.StringIO.readline` method of :class:`~StringIO." @@ -3175,7 +3169,7 @@ msgid "" "index` sections of the documentation have been completely redesigned as " "short getting started and FAQ documents. Most packaging documentation has " "now been moved out to the Python Packaging Authority maintained `Python " -"Packaging User Guide `__ and the documentation " +"Packaging User Guide `__ and the documentation " "of the individual projects." msgstr "" diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index 2537c31a64..880f951f2a 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2017-09-22 10:11+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -31,11 +31,12 @@ msgstr "Guido van Rossum" msgid "" "This article explains the new features in Python 3.0, compared to 2.6. " "Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever " -"*intentionally backwards incompatible* Python release. There are more " -"changes than in a typical release, and more that are important for all " -"Python users. Nevertheless, after digesting the changes, you'll find that " -"Python really hasn't changed all that much -- by and large, we're mostly " -"fixing well-known annoyances and warts, and removing a lot of old cruft." +"*intentionally backwards incompatible* Python release. Python 3.0 was " +"released on December 3, 2008. There are more changes than in a typical " +"release, and more that are important for all Python users. Nevertheless, " +"after digesting the changes, you'll find that Python really hasn't changed " +"all that much -- by and large, we're mostly fixing well-known annoyances and " +"warts, and removing a lot of old cruft." msgstr "" #: whatsnew/3.0.rst:63 @@ -933,7 +934,7 @@ msgid "" "`string.uppercase`) are gone. Use :data:`string.ascii_letters` etc. " "instead. (The reason for the removal is that :data:`string.letters` and " "friends had locale-specific behavior, which is a bad idea for such " -"attractively-named global \"constants\".)" +"attractively named global \"constants\".)" msgstr "" #: whatsnew/3.0.rst:668 diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index 2c41a65739..8ae50a49ab 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-31 23:30+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -27,14 +27,16 @@ msgid "Raymond Hettinger" msgstr "Raymond Hettinger" #: whatsnew/3.1.rst:49 -msgid "This article explains the new features in Python 3.1, compared to 3.0." +msgid "" +"This article explains the new features in Python 3.1, compared to 3.0. " +"Python 3.1 was released on June 27, 2009." msgstr "" -#: whatsnew/3.1.rst:53 +#: whatsnew/3.1.rst:54 msgid "PEP 372: Ordered Dictionaries" msgstr "" -#: whatsnew/3.1.rst:55 +#: whatsnew/3.1.rst:56 msgid "" "Regular Python dictionaries iterate over key/value pairs in arbitrary order. " "Over the years, a number of authors have written alternative implementations " @@ -43,7 +45,7 @@ msgid "" "OrderedDict` class has been introduced." msgstr "" -#: whatsnew/3.1.rst:61 +#: whatsnew/3.1.rst:62 msgid "" "The OrderedDict API is substantially the same as regular dictionaries but " "will iterate over keys and values in a guaranteed order depending on when a " @@ -52,7 +54,7 @@ msgid "" "reinserting it will move it to the end." msgstr "" -#: whatsnew/3.1.rst:67 +#: whatsnew/3.1.rst:68 msgid "" "The standard library now supports use of ordered dictionaries in several " "modules. The :mod:`configparser` module uses them by default. This lets " @@ -62,24 +64,24 @@ msgid "" "order as the underlying tuple indices. The :mod:`json` module is being " "built-out with an *object_pairs_hook* to allow OrderedDicts to be built by " "the decoder. Support was also added for third-party tools like `PyYAML " -"`_." +"`_." msgstr "" -#: whatsnew/3.1.rst:79 +#: whatsnew/3.1.rst:80 msgid ":pep:`372` - Ordered Dictionaries" msgstr "" -#: whatsnew/3.1.rst:79 +#: whatsnew/3.1.rst:80 msgid "" "PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " "by Raymond Hettinger." msgstr "" -#: whatsnew/3.1.rst:84 +#: whatsnew/3.1.rst:85 msgid "PEP 378: Format Specifier for Thousands Separator" msgstr "" -#: whatsnew/3.1.rst:86 +#: whatsnew/3.1.rst:87 msgid "" "The built-in :func:`format` function and the :meth:`str.format` method use a " "mini-language that now includes a simple, non-locale aware way to format a " @@ -87,13 +89,13 @@ msgid "" "program's output, improving its professional appearance and readability::" msgstr "" -#: whatsnew/3.1.rst:100 +#: whatsnew/3.1.rst:101 msgid "" "The supported types are :class:`int`, :class:`float`, :class:`complex` and :" "class:`decimal.Decimal`." msgstr "" -#: whatsnew/3.1.rst:103 +#: whatsnew/3.1.rst:104 msgid "" "Discussions are underway about how to specify alternative separators like " "dots, spaces, apostrophes, or underscores. Locale-aware applications should " @@ -101,25 +103,25 @@ msgid "" "thousands separators." msgstr "" -#: whatsnew/3.1.rst:111 +#: whatsnew/3.1.rst:112 msgid ":pep:`378` - Format Specifier for Thousands Separator" msgstr "" -#: whatsnew/3.1.rst:111 +#: whatsnew/3.1.rst:112 msgid "" "PEP written by Raymond Hettinger and implemented by Eric Smith and Mark " "Dickinson." msgstr "" -#: whatsnew/3.1.rst:116 +#: whatsnew/3.1.rst:117 msgid "Other Language Changes" msgstr "Autres changements au langage" -#: whatsnew/3.1.rst:118 +#: whatsnew/3.1.rst:119 msgid "Some smaller changes made to the core Python language are:" msgstr "" -#: whatsnew/3.1.rst:120 +#: whatsnew/3.1.rst:121 msgid "" "Directories and zip archives containing a :file:`__main__.py` file can now " "be executed directly by passing their name to the interpreter. The directory/" @@ -128,34 +130,34 @@ msgid "" "and Nick Coghlan; :issue:`1739468`.)" msgstr "" -#: whatsnew/3.1.rst:126 +#: whatsnew/3.1.rst:127 msgid "" "The :func:`int` type gained a ``bit_length`` method that returns the number " "of bits necessary to represent its argument in binary::" msgstr "" -#: whatsnew/3.1.rst:140 +#: whatsnew/3.1.rst:141 msgid "" "(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " "Mark Dickinson; :issue:`3439`.)" msgstr "" -#: whatsnew/3.1.rst:143 +#: whatsnew/3.1.rst:144 msgid "" "The fields in :func:`format` strings can now be automatically numbered::" msgstr "" -#: whatsnew/3.1.rst:149 +#: whatsnew/3.1.rst:150 msgid "" "Formerly, the string would have required numbered fields such as: ``'Sir {0} " "of {1}'``." msgstr "" -#: whatsnew/3.1.rst:152 +#: whatsnew/3.1.rst:153 msgid "(Contributed by Eric Smith; :issue:`5237`.)" msgstr "(Contribution par Eric Smith; :issue:`5237`.)" -#: whatsnew/3.1.rst:154 +#: whatsnew/3.1.rst:155 msgid "" "The :func:`string.maketrans` function is deprecated and is replaced by new " "static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " @@ -165,46 +167,46 @@ msgid "" "intermediate translation tables of the appropriate type." msgstr "" -#: whatsnew/3.1.rst:161 +#: whatsnew/3.1.rst:162 msgid "(Contributed by Georg Brandl; :issue:`5675`.)" msgstr "(Contribution par Georg Brandl; :issue:`5675`.)" -#: whatsnew/3.1.rst:163 +#: whatsnew/3.1.rst:164 msgid "" "The syntax of the :keyword:`with` statement now allows multiple context " "managers in a single statement::" msgstr "" -#: whatsnew/3.1.rst:171 +#: whatsnew/3.1.rst:172 msgid "" "With the new syntax, the :func:`contextlib.nested` function is no longer " "needed and is now deprecated." msgstr "" -#: whatsnew/3.1.rst:174 +#: whatsnew/3.1.rst:175 msgid "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" msgstr "" -#: whatsnew/3.1.rst:177 +#: whatsnew/3.1.rst:178 msgid "" "``round(x, n)`` now returns an integer if *x* is an integer. Previously it " "returned a float::" msgstr "" -#: whatsnew/3.1.rst:183 +#: whatsnew/3.1.rst:184 msgid "(Contributed by Mark Dickinson; :issue:`4707`.)" msgstr "(Contribution par Mark Dickinson; :issue:`4707`.)" -#: whatsnew/3.1.rst:185 +#: whatsnew/3.1.rst:186 msgid "" "Python now uses David Gay's algorithm for finding the shortest floating " "point representation that doesn't change its value. This should help " "mitigate some of the confusion surrounding binary floating point numbers." msgstr "" -#: whatsnew/3.1.rst:190 +#: whatsnew/3.1.rst:191 msgid "" "The significance is easily seen with a number like ``1.1`` which does not " "have an exact equivalent in binary floating point. Since there is no exact " @@ -215,7 +217,7 @@ msgid "" "calculations." msgstr "" -#: whatsnew/3.1.rst:198 +#: whatsnew/3.1.rst:199 msgid "" "What is new is how the number gets displayed. Formerly, Python used a " "simple approach. The value of ``repr(1.1)`` was computed as ``format(1.1, " @@ -227,7 +229,7 @@ msgid "" "problem with Python itself)." msgstr "" -#: whatsnew/3.1.rst:207 +#: whatsnew/3.1.rst:208 msgid "" "The new algorithm for ``repr(1.1)`` is smarter and returns ``'1.1'``. " "Effectively, it searches all equivalent string representations (ones that " @@ -235,14 +237,14 @@ msgid "" "representation." msgstr "" -#: whatsnew/3.1.rst:212 +#: whatsnew/3.1.rst:213 msgid "" "The new algorithm tends to emit cleaner representations when possible, but " "it does not change the underlying values. So, it is still the case that " "``1.1 + 2.2 != 3.3`` even though the representations may suggest otherwise." msgstr "" -#: whatsnew/3.1.rst:216 +#: whatsnew/3.1.rst:217 msgid "" "The new algorithm depends on certain features in the underlying floating " "point implementation. If the required features are not found, the old " @@ -250,64 +252,64 @@ msgid "" "cross-platform portability by using the old algorithm." msgstr "" -#: whatsnew/3.1.rst:221 +#: whatsnew/3.1.rst:222 msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" msgstr "(Contribution par Eric Smith et Mark Dickinson; :issue:`1580`.)" -#: whatsnew/3.1.rst:224 +#: whatsnew/3.1.rst:225 msgid "New, Improved, and Deprecated Modules" msgstr "" -#: whatsnew/3.1.rst:226 +#: whatsnew/3.1.rst:227 msgid "" "Added a :class:`collections.Counter` class to support convenient counting of " "unique items in a sequence or iterable::" msgstr "" -#: whatsnew/3.1.rst:232 +#: whatsnew/3.1.rst:233 msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)" msgstr "(Contribution par Raymond Hettinger; :issue:`1696199`.)" -#: whatsnew/3.1.rst:234 +#: whatsnew/3.1.rst:235 msgid "" "Added a new module, :mod:`tkinter.ttk` for access to the Tk themed widget " "set. The basic idea of ttk is to separate, to the extent possible, the code " "implementing a widget's behavior from the code implementing its appearance." msgstr "" -#: whatsnew/3.1.rst:238 +#: whatsnew/3.1.rst:239 msgid "(Contributed by Guilherme Polo; :issue:`2983`.)" msgstr "(Contribution par Guilherme Polo; :issue:`2983`.)" -#: whatsnew/3.1.rst:240 +#: whatsnew/3.1.rst:241 msgid "" "The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " "context management protocol::" msgstr "" -#: whatsnew/3.1.rst:247 +#: whatsnew/3.1.rst:248 msgid "(Contributed by Antoine Pitrou.)" msgstr "(Contribution par Antoine Pitrou)" -#: whatsnew/3.1.rst:249 +#: whatsnew/3.1.rst:250 msgid "" "The :mod:`decimal` module now supports methods for creating a decimal object " "from a binary :class:`float`. The conversion is exact but can sometimes be " "surprising::" msgstr "" -#: whatsnew/3.1.rst:256 +#: whatsnew/3.1.rst:257 msgid "" "The long decimal result shows the actual binary fraction being stored for " "*1.1*. The fraction has many digits because *1.1* cannot be exactly " "represented in binary." msgstr "" -#: whatsnew/3.1.rst:260 +#: whatsnew/3.1.rst:261 msgid "(Contributed by Raymond Hettinger and Mark Dickinson.)" msgstr "" -#: whatsnew/3.1.rst:262 +#: whatsnew/3.1.rst:263 msgid "" "The :mod:`itertools` module grew two new functions. The :func:`itertools." "combinations_with_replacement` function is one of four for generating " @@ -318,11 +320,11 @@ msgid "" "`fractions.Fraction` and :class:`decimal.Decimal`::" msgstr "" -#: whatsnew/3.1.rst:281 +#: whatsnew/3.1.rst:282 msgid "(Contributed by Raymond Hettinger.)" msgstr "" -#: whatsnew/3.1.rst:283 +#: whatsnew/3.1.rst:284 msgid "" ":func:`collections.namedtuple` now supports a keyword argument *rename* " "which lets invalid fieldnames be automatically converted to positional names " @@ -331,21 +333,21 @@ msgid "" "input::" msgstr "" -#: whatsnew/3.1.rst:300 +#: whatsnew/3.1.rst:301 msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)" msgstr "(Contribution par Raymond Hettinger; :issue:`1818`.)" -#: whatsnew/3.1.rst:302 +#: whatsnew/3.1.rst:303 msgid "" "The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " "accept a flags parameter." msgstr "" -#: whatsnew/3.1.rst:305 +#: whatsnew/3.1.rst:306 msgid "(Contributed by Gregory Smith.)" msgstr "" -#: whatsnew/3.1.rst:307 +#: whatsnew/3.1.rst:308 msgid "" "The :mod:`logging` module now implements a simple :class:`logging." "NullHandler` class for applications that are not using logging but are " @@ -353,52 +355,52 @@ msgid "" "spurious warnings such as \"No handlers could be found for logger foo\"::" msgstr "" -#: whatsnew/3.1.rst:315 +#: whatsnew/3.1.rst:316 msgid "(Contributed by Vinay Sajip; :issue:`4384`)." msgstr "(Contribution par Vinay Sajip ; :issue:`4384`)." -#: whatsnew/3.1.rst:317 +#: whatsnew/3.1.rst:318 msgid "" "The :mod:`runpy` module which supports the ``-m`` command line switch now " "supports the execution of packages by looking for and executing a " "``__main__`` submodule when a package name is supplied." msgstr "" -#: whatsnew/3.1.rst:321 +#: whatsnew/3.1.rst:322 msgid "(Contributed by Andi Vajda; :issue:`4195`.)" msgstr "(Contribution par Andi Vajda; :issue:`4195`.)" -#: whatsnew/3.1.rst:323 +#: whatsnew/3.1.rst:324 msgid "" "The :mod:`pdb` module can now access and display source code loaded via :mod:" "`zipimport` (or any other conformant :pep:`302` loader)." msgstr "" -#: whatsnew/3.1.rst:326 +#: whatsnew/3.1.rst:327 msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)" msgstr "(Contribution par Alexander Belopolsky; :issue:`4201`.)" -#: whatsnew/3.1.rst:328 +#: whatsnew/3.1.rst:329 msgid ":class:`functools.partial` objects can now be pickled." msgstr "" -#: whatsnew/3.1.rst:330 +#: whatsnew/3.1.rst:331 msgid "" "(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " "Diederich; :issue:`5228`.)" msgstr "" -#: whatsnew/3.1.rst:333 +#: whatsnew/3.1.rst:334 msgid "" "Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " "expected in the interactive environment." msgstr "" -#: whatsnew/3.1.rst:336 +#: whatsnew/3.1.rst:337 msgid "(Contributed by David Laban; :issue:`4739`.)" msgstr "(Contribution par David Laban; :issue:`4739`.)" -#: whatsnew/3.1.rst:338 +#: whatsnew/3.1.rst:339 msgid "" "The :mod:`unittest` module now supports skipping individual tests or classes " "of tests. And it supports marking a test as an expected failure, a test that " @@ -406,13 +408,13 @@ msgid "" "TestResult::" msgstr "" -#: whatsnew/3.1.rst:353 +#: whatsnew/3.1.rst:354 msgid "" "Also, tests for exceptions have been builtout to work with context managers " "using the :keyword:`with` statement::" msgstr "" -#: whatsnew/3.1.rst:360 +#: whatsnew/3.1.rst:361 msgid "" "In addition, several new assertion methods were added including :func:" "`assertSetEqual`, :func:`assertDictEqual`, :func:" @@ -421,33 +423,33 @@ msgid "" "`assertRaisesRegexp`, :func:`assertIsNone`, and :func:`assertIsNotNone`." msgstr "" -#: whatsnew/3.1.rst:367 +#: whatsnew/3.1.rst:368 msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)" msgstr "(Contribution par Benjamin Peterson et Antoine Pitrou)" -#: whatsnew/3.1.rst:369 +#: whatsnew/3.1.rst:370 msgid "" "The :mod:`io` module has three new constants for the :meth:`seek` method :" "data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`." msgstr "" -#: whatsnew/3.1.rst:372 +#: whatsnew/3.1.rst:373 msgid "The :attr:`sys.version_info` tuple is now a named tuple::" msgstr "" -#: whatsnew/3.1.rst:377 +#: whatsnew/3.1.rst:378 msgid "(Contributed by Ross Light; :issue:`4285`.)" msgstr "(Contribution par Ross Ligh; :issue:`4285`.)" -#: whatsnew/3.1.rst:379 +#: whatsnew/3.1.rst:380 msgid "The :mod:`nntplib` and :mod:`imaplib` modules now support IPv6." msgstr "" -#: whatsnew/3.1.rst:381 +#: whatsnew/3.1.rst:382 msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" msgstr "(Contribution par Derek Morr; :issue:`1655` et :issue:`1664`)" -#: whatsnew/3.1.rst:383 +#: whatsnew/3.1.rst:384 msgid "" "The :mod:`pickle` module has been adapted for better interoperability with " "Python 2.x when used with protocol 2 or lower. The reorganization of the " @@ -460,7 +462,7 @@ msgid "" "*fix_imports* option::" msgstr "" -#: whatsnew/3.1.rst:399 +#: whatsnew/3.1.rst:400 msgid "" "An unfortunate but unavoidable side-effect of this change is that protocol 2 " "pickles produced by Python 3.1 won't be readable with Python 3.0. The latest " @@ -469,13 +471,13 @@ msgid "" "Python 2.x." msgstr "" -#: whatsnew/3.1.rst:405 +#: whatsnew/3.1.rst:406 msgid "" "(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" msgstr "" "(Contribution par Alexandre Vassalotti et Antoine Pitrou; :issue:`6137`.)" -#: whatsnew/3.1.rst:407 +#: whatsnew/3.1.rst:408 msgid "" "A new module, :mod:`importlib` was added. It provides a complete, portable, " "pure Python reference implementation of the :keyword:`import` statement and " @@ -484,20 +486,20 @@ msgid "" "place during imports." msgstr "" -#: whatsnew/3.1.rst:413 +#: whatsnew/3.1.rst:414 msgid "(Contributed by Brett Cannon.)" msgstr "" -#: whatsnew/3.1.rst:416 +#: whatsnew/3.1.rst:417 #, fuzzy msgid "Optimizations" msgstr "Optimisation" -#: whatsnew/3.1.rst:418 +#: whatsnew/3.1.rst:419 msgid "Major performance enhancements have been added:" msgstr "" -#: whatsnew/3.1.rst:420 +#: whatsnew/3.1.rst:421 msgid "" "The new I/O library (as defined in :pep:`3116`) was mostly written in Python " "and quickly proved to be a problematic bottleneck in Python 3.0. In Python " @@ -506,11 +508,11 @@ msgid "" "available for experimentation purposes through the ``_pyio`` module." msgstr "" -#: whatsnew/3.1.rst:427 +#: whatsnew/3.1.rst:428 msgid "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" msgstr "(Contribution par Amaury Forgeot d'Arc et Antoine Pitrou)" -#: whatsnew/3.1.rst:429 +#: whatsnew/3.1.rst:430 msgid "" "Added a heuristic so that tuples and dicts containing only untrackable " "objects are not tracked by the garbage collector. This can reduce the size " @@ -518,11 +520,11 @@ msgid "" "programs, depending on their particular use of datatypes." msgstr "" -#: whatsnew/3.1.rst:434 +#: whatsnew/3.1.rst:435 msgid "(Contributed by Antoine Pitrou, :issue:`4688`.)" msgstr "(Contribution par Antoine Pitrou; :issue:`4688`.)" -#: whatsnew/3.1.rst:436 +#: whatsnew/3.1.rst:437 msgid "" "Enabling a configure option named ``--with-computed-gotos`` on compilers " "that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is " @@ -530,7 +532,7 @@ msgid "" "depending on the system, the compiler, and the benchmark." msgstr "" -#: whatsnew/3.1.rst:442 +#: whatsnew/3.1.rst:443 msgid "" "(Contributed by Antoine Pitrou along with a number of other participants, :" "issue:`4753`)." @@ -538,65 +540,65 @@ msgstr "" "(Contribution par Antoine Pitrou ainsi qu’un certain nombre d’autres " "participants ; :issue:`4753`)." -#: whatsnew/3.1.rst:445 +#: whatsnew/3.1.rst:446 msgid "" "The decoding of UTF-8, UTF-16 and LATIN-1 is now two to four times faster." msgstr "" -#: whatsnew/3.1.rst:448 +#: whatsnew/3.1.rst:449 msgid "" "(Contributed by Antoine Pitrou and Amaury Forgeot d'Arc, :issue:`4868`.)" msgstr "" "(Contribution par Antoine Pitrou et Amaury Forgeot d'Arc; :issue:`4868`.)" -#: whatsnew/3.1.rst:450 +#: whatsnew/3.1.rst:451 msgid "" "The :mod:`json` module now has a C extension to substantially improve its " "performance. In addition, the API was modified so that json works only " "with :class:`str`, not with :class:`bytes`. That change makes the module " -"closely match the `JSON specification `_ which is defined " +"closely match the `JSON specification `_ which is defined " "in terms of Unicode." msgstr "" -#: whatsnew/3.1.rst:456 +#: whatsnew/3.1.rst:457 msgid "" "(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " "Benjamin Peterson; :issue:`4136`.)" msgstr "" -#: whatsnew/3.1.rst:459 +#: whatsnew/3.1.rst:460 msgid "" "Unpickling now interns the attribute names of pickled objects. This saves " "memory and allows pickles to be smaller." msgstr "" -#: whatsnew/3.1.rst:462 +#: whatsnew/3.1.rst:463 msgid "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" msgstr "(Contribution par Jake McGuire et Antoine Pitrou; :issue:`5084`.)" -#: whatsnew/3.1.rst:465 +#: whatsnew/3.1.rst:466 msgid "IDLE" msgstr "IDLE" -#: whatsnew/3.1.rst:467 +#: whatsnew/3.1.rst:468 msgid "" "IDLE's format menu now provides an option to strip trailing whitespace from " "a source file." msgstr "" -#: whatsnew/3.1.rst:470 +#: whatsnew/3.1.rst:471 msgid "(Contributed by Roger D. Serwy; :issue:`5150`.)" msgstr "(Contribution par Roger D. Serwy; :issue:`5150`.)" -#: whatsnew/3.1.rst:473 +#: whatsnew/3.1.rst:474 msgid "Build and C API Changes" msgstr "" -#: whatsnew/3.1.rst:475 +#: whatsnew/3.1.rst:476 msgid "Changes to Python's build process and to the C API include:" msgstr "" -#: whatsnew/3.1.rst:477 +#: whatsnew/3.1.rst:478 msgid "" "Integers are now stored internally either in base ``2**15`` or in base " "``2**30``, the base being determined at build time. Previously, they were " @@ -608,7 +610,7 @@ msgid "" "this default." msgstr "" -#: whatsnew/3.1.rst:486 +#: whatsnew/3.1.rst:487 msgid "" "Apart from the performance improvements this change should be invisible to " "end users, with one exception: for testing and debugging purposes there's a " @@ -617,41 +619,41 @@ msgid "" "type used to store each digit::" msgstr "" -#: whatsnew/3.1.rst:496 +#: whatsnew/3.1.rst:497 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" msgstr "(Contribution par Mark Dickinson; :issue:`4258`.)" -#: whatsnew/3.1.rst:498 +#: whatsnew/3.1.rst:499 msgid "" "The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " "*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." msgstr "" -#: whatsnew/3.1.rst:501 +#: whatsnew/3.1.rst:502 msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" msgstr "(Contribution par Mark Dickinson et Lisandro Dalcrin; :issue:`5175`)" -#: whatsnew/3.1.rst:503 +#: whatsnew/3.1.rst:504 msgid "" "Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." msgstr "" -#: whatsnew/3.1.rst:505 +#: whatsnew/3.1.rst:506 msgid "(Contributed by Mark Dickinson; :issue:`4910`.)" msgstr "(Contribution par Mark Dickinson; :issue:`4910`)" -#: whatsnew/3.1.rst:507 +#: whatsnew/3.1.rst:508 msgid "" "Added a new :c:func:`PyOS_string_to_double` function to replace the " "deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:" "`PyOS_ascii_atof`." msgstr "" -#: whatsnew/3.1.rst:510 +#: whatsnew/3.1.rst:511 msgid "(Contributed by Mark Dickinson; :issue:`5914`.)" msgstr "(Contribution par Mark Dickinson; :issue:`5914`)" -#: whatsnew/3.1.rst:512 +#: whatsnew/3.1.rst:513 msgid "" "Added :c:type:`PyCapsule` as a replacement for the :c:type:`PyCObject` API. " "The principal difference is that the new type has a well defined interface " @@ -660,27 +662,27 @@ msgid "" "deprecated." msgstr "" -#: whatsnew/3.1.rst:518 +#: whatsnew/3.1.rst:519 msgid "(Contributed by Larry Hastings; :issue:`5630`.)" msgstr "(Contribution par Larry Hastings; :issue:`5630`)" -#: whatsnew/3.1.rst:521 +#: whatsnew/3.1.rst:522 msgid "Porting to Python 3.1" msgstr "Portage vers Python 3.1" -#: whatsnew/3.1.rst:523 +#: whatsnew/3.1.rst:524 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" msgstr "" -#: whatsnew/3.1.rst:526 +#: whatsnew/3.1.rst:527 msgid "" "The new floating point string representations can break existing doctests. " "For example::" msgstr "" -#: whatsnew/3.1.rst:549 +#: whatsnew/3.1.rst:550 msgid "" "The automatic name remapping in the pickle module for protocol 2 or lower " "can make Python 3.1 pickles unreadable in Python 3.0. One solution is to " diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 4bf2f40641..7f8d0159ee 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:23+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -44,14 +44,11 @@ msgid "Pablo Galindo Salgado" msgstr "*Pablo Galindo Salgado*" #: whatsnew/3.10.rst:49 -msgid "This article explains the new features in Python 3.10, compared to 3.9." +msgid "" +"This article explains the new features in Python 3.10, compared to 3.9. " +"Python 3.10 was released on October 4, 2021. For full details, see the :ref:" +"`changelog `." msgstr "" -"Cet article explique les nouvelles fonctionnalités de Python 3.10 par " -"rapport à la version 3.9." - -#: whatsnew/3.10.rst:51 -msgid "For full details, see the :ref:`changelog `." -msgstr "Pour plus de détails, voir le :ref:`changelog `." #: whatsnew/3.10.rst:54 msgid "Summary -- Release highlights" @@ -143,7 +140,7 @@ msgstr ":pep:`624`, retrait des API d'encodage ``Py_UNICODE`` ;" msgid ":pep:`597`, Add optional EncodingWarning" msgstr ":pep:`597`, ajout de l'``EncodingWarning`` optionnel" -#: whatsnew/3.10.rst:2048 +#: whatsnew/3.10.rst:2051 msgid "New Features" msgstr "Nouvelles fonctionnalités" @@ -284,7 +281,8 @@ msgid "Missing ``:`` before blocks:" msgstr "``:`` manquant avant les blocs :" #: whatsnew/3.10.rst:233 -msgid "(Contributed by Pablo Galindo in :issue:`42997`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`42997`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`42997`) ;" #: whatsnew/3.10.rst:235 @@ -292,7 +290,8 @@ msgid "Unparenthesised tuples in comprehensions targets:" msgstr "Les *n*-uplets sans parenthèses dans les cibles de compréhensions :" #: whatsnew/3.10.rst:245 -msgid "(Contributed by Pablo Galindo in :issue:`43017`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`43017`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43017`) ;" #: whatsnew/3.10.rst:247 @@ -302,7 +301,8 @@ msgstr "" "expressions ;" #: whatsnew/3.10.rst:260 -msgid "(Contributed by Pablo Galindo in :issue:`43822`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`43822`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43822`) ;" #: whatsnew/3.10.rst:262 @@ -310,7 +310,8 @@ msgid "Multiple Exception types without parentheses:" msgstr "types multiples d'``Exception`` sans parenthèses :" #: whatsnew/3.10.rst:274 -msgid "(Contributed by Pablo Galindo in :issue:`43149`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`43149`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43149`) ;" #: whatsnew/3.10.rst:276 @@ -318,7 +319,8 @@ msgid "Missing ``:`` and values in dictionary literals:" msgstr "``:`` et valeurs manquantes dans les littéraux de dictionnaires :" #: whatsnew/3.10.rst:296 -msgid "(Contributed by Pablo Galindo in :issue:`43823`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`43823`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43823`) ;" #: whatsnew/3.10.rst:298 @@ -326,7 +328,8 @@ msgid "``try`` blocks without ``except`` or ``finally`` blocks:" msgstr "blocs ``try`` sans blocs ``except`` ou ``finally`` :" #: whatsnew/3.10.rst:310 -msgid "(Contributed by Pablo Galindo in :issue:`44305`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`44305`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`44305`) ;" #: whatsnew/3.10.rst:312 @@ -334,7 +337,8 @@ msgid "Usage of ``=`` instead of ``==`` in comparisons:" msgstr "utilisation de ``=`` au lieu de ``==`` dans les comparaisons :" #: whatsnew/3.10.rst:322 -msgid "(Contributed by Pablo Galindo in :issue:`43797`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`43797`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43797`)" #: whatsnew/3.10.rst:324 @@ -342,7 +346,8 @@ msgid "Usage of ``*`` in f-strings:" msgstr "utilisation de ``*`` dans les chaînes formatées (*f-strings*) :" #: whatsnew/3.10.rst:334 -msgid "(Contributed by Pablo Galindo in :issue:`41064`)" +#, fuzzy +msgid "(Contributed by Pablo Galindo in :issue:`41064`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`41064`)." #: whatsnew/3.10.rst:337 @@ -1560,9 +1565,10 @@ msgstr "" "l'utilisation la plus commune :" #: whatsnew/3.10.rst:1049 +#, fuzzy msgid "" "Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are " -"not. (Contributed by Eric V. Smith in :issue:`43532`)" +"not. (Contributed by Eric V. Smith in :issue:`43532`.)" msgstr "" "Ici, ``z`` et ``t`` sont obligatoirement nommés, alors que ``x`` et ``y`` ne " "le sont pas (contribution d'*Eric V. Smith* dans :issue:`43532`)." @@ -1608,7 +1614,7 @@ msgstr "" msgid "doctest" msgstr "``doctest``" -#: whatsnew/3.10.rst:1197 whatsnew/3.10.rst:1323 +#: whatsnew/3.10.rst:1200 whatsnew/3.10.rst:1326 msgid "" "When a module does not define ``__loader__``, fall back to ``__spec__." "loader``. (Contributed by Brett Cannon in :issue:`42133`.)" @@ -1828,15 +1834,21 @@ msgstr "Nouveau dans les versions de maintenance 3.10." #: whatsnew/3.10.rst:1175 msgid "" -"Apply syntax highlighting to `.pyi` files. (Contributed by Alex Waygood and " -"Terry Jan Reedy in :issue:`45447`.)" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" +msgstr "" + +#: whatsnew/3.10.rst:1178 +msgid "" +"Include prompts when saving Shell with inputs and outputs. (Contributed by " +"Terry Jan Reedy in :gh:`95191`.)" msgstr "" -#: whatsnew/3.10.rst:1179 +#: whatsnew/3.10.rst:1182 msgid "importlib.metadata" msgstr "``importlib.metadata``" -#: whatsnew/3.10.rst:1181 +#: whatsnew/3.10.rst:1184 msgid "" "Feature parity with ``importlib_metadata`` 4.6 (`history `_)." @@ -1844,7 +1856,7 @@ msgstr "" "Équivalence de fonctionnalités avec ``importlib_metadata`` 4.6 (`historique " "`_)." -#: whatsnew/3.10.rst:1184 +#: whatsnew/3.10.rst:1187 msgid "" ":ref:`importlib.metadata entry points ` now provide a nicer " "experience for selecting entry points by group and name through a new :class:" @@ -1859,7 +1871,7 @@ msgstr "" "metadata`` pour plus d'information sur son utilisation et ce qui devient " "obsolète." -#: whatsnew/3.10.rst:1190 +#: whatsnew/3.10.rst:1193 msgid "" "Added :func:`importlib.metadata.packages_distributions` for resolving top-" "level Python modules and packages to their :class:`importlib.metadata." @@ -1869,11 +1881,11 @@ msgstr "" "modules et paquets Python du niveau racine vers leur :class:`importlib." "metadata.Distribution`." -#: whatsnew/3.10.rst:1195 +#: whatsnew/3.10.rst:1198 msgid "inspect" msgstr "``inspect``" -#: whatsnew/3.10.rst:1200 +#: whatsnew/3.10.rst:1203 msgid "" "Add :func:`inspect.get_annotations`, which safely computes the annotations " "defined on an object. It works around the quirks of accessing the " @@ -1907,25 +1919,25 @@ msgstr "" "annotations contenues dans des chaînes de caractères en objets (contribution " "de *Larry Hastings* dans :issue:`43817`)." -#: whatsnew/3.10.rst:1216 +#: whatsnew/3.10.rst:1219 msgid "itertools" msgstr "" -#: whatsnew/3.10.rst:1218 +#: whatsnew/3.10.rst:1221 msgid "" "Add :func:`itertools.pairwise()`. (Contributed by Raymond Hettinger in :" "issue:`38200`.)" msgstr "" -#: whatsnew/3.10.rst:1222 +#: whatsnew/3.10.rst:1225 msgid "linecache" msgstr "``linecache``" -#: whatsnew/3.10.rst:1228 +#: whatsnew/3.10.rst:1231 msgid "os" msgstr "``os``" -#: whatsnew/3.10.rst:1230 +#: whatsnew/3.10.rst:1233 msgid "" "Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " "Xin in :issue:`41440`.)" @@ -1933,7 +1945,7 @@ msgstr "" "Ajout de la prise en charge de *VxWorks RTOS* dans :func:`os.cpu_count()` " "(contribution de *Peixing Xin* dans :issue:`41440`)." -#: whatsnew/3.10.rst:1233 +#: whatsnew/3.10.rst:1236 msgid "" "Add a new function :func:`os.eventfd` and related helpers to wrap the " "``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" @@ -1943,7 +1955,7 @@ msgstr "" "utilitaires associées pour encapsuler l'appel système ``eventfd2`` sur Linux " "(contribution de *Christian Heimes* dans :issue:`41001`)." -#: whatsnew/3.10.rst:1237 +#: whatsnew/3.10.rst:1240 msgid "" "Add :func:`os.splice()` that allows to move data between two file " "descriptors without copying between kernel address space and user address " @@ -1955,7 +1967,7 @@ msgstr "" "Un des descripteurs de fichiers doit référencer un tube (*pipe*) " "(contribution de *Pablo Galindo* dans :issue:`41625`)." -#: whatsnew/3.10.rst:1242 +#: whatsnew/3.10.rst:1245 msgid "" "Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :" "data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:" @@ -1965,11 +1977,11 @@ msgstr "" "et :data:`~os.O_NOFOLLOW_ANY` sur macOS (contribution de *Dong-hee Na* dans :" "issue:`43106`)." -#: whatsnew/3.10.rst:1247 +#: whatsnew/3.10.rst:1250 msgid "os.path" msgstr "``os.path``" -#: whatsnew/3.10.rst:1249 +#: whatsnew/3.10.rst:1252 msgid "" ":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When " "set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " @@ -1980,29 +1992,31 @@ msgstr "" "pas ou si une boucle de liens symboliques est rencontrée (contribution de " "*Barney Gale* dans :issue:`43757`)." -#: whatsnew/3.10.rst:1255 +#: whatsnew/3.10.rst:1258 msgid "pathlib" msgstr "``pathlib``" -#: whatsnew/3.10.rst:1257 +#: whatsnew/3.10.rst:1260 +#, fuzzy msgid "" "Add slice support to :attr:`PurePath.parents `. " -"(Contributed by Joshua Cannon in :issue:`35498`)" +"(Contributed by Joshua Cannon in :issue:`35498`.)" msgstr "" "Ajout de la prise en charge des tranches dans :attr:`PurePath.parents " "` (contribution de *Joshua Cannon* dans :issue:" "`35498`)." -#: whatsnew/3.10.rst:1260 +#: whatsnew/3.10.rst:1263 +#, fuzzy msgid "" "Add negative indexing support to :attr:`PurePath.parents `. (Contributed by Yaroslav Pankovych in :issue:`21041`)" +"parents>`. (Contributed by Yaroslav Pankovych in :issue:`21041`.)" msgstr "" "Ajout de la prise en charge de l'indiçage négatif dans :attr:`PurePath." "parents ` (contribution de *Yaroslav Pankovych* " "dans :issue:`21041`)." -#: whatsnew/3.10.rst:1264 +#: whatsnew/3.10.rst:1267 msgid "" "Add :meth:`Path.hardlink_to ` method that " "supersedes :meth:`~pathlib.Path.link_to`. The new method has the same " @@ -2014,7 +2028,7 @@ msgstr "" "méthode est le même que :meth:`~pathlib.Path.symlink_to` (contribution de " "*Barney Gale* dans :issue:`39950`)." -#: whatsnew/3.10.rst:1269 +#: whatsnew/3.10.rst:1272 msgid "" ":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " "*follow_symlinks* keyword-only argument for consistency with corresponding " @@ -2026,16 +2040,17 @@ msgstr "" "fonctions correspondantes dans le module :mod:`os` (contribution de *Barney " "Gale* dans :issue:`39906`)." -#: whatsnew/3.10.rst:1275 +#: whatsnew/3.10.rst:1278 msgid "platform" msgstr "``platform``" -#: whatsnew/3.10.rst:1277 +#: whatsnew/3.10.rst:1280 +#, fuzzy msgid "" "Add :func:`platform.freedesktop_os_release()` to retrieve operation system " "identification from `freedesktop.org os-release `_ standard file. (Contributed by " -"Christian Heimes in :issue:`28468`)" +"Christian Heimes in :issue:`28468`.)" msgstr "" "Ajout de :func:`platform.freedesktop_os_release()` pour récupérer " "l'information d'identification du système d'exploitation selon le fichier " @@ -2043,11 +2058,11 @@ msgstr "" "`_ " "(contribution de *Christian Heimes* dans :issue:`28468`)." -#: whatsnew/3.10.rst:1283 +#: whatsnew/3.10.rst:1286 msgid "pprint" msgstr "``pprint``" -#: whatsnew/3.10.rst:1285 +#: whatsnew/3.10.rst:1288 msgid "" ":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " "argument. (Contributed by sblondon in :issue:`42914`.)" @@ -2055,7 +2070,7 @@ msgstr "" ":func:`pprint.pprint` accepte maintenant le nouvel argument nommé " "``underscore_numbers`` (contribution de *sblondon* dans :issue:`42914`)." -#: whatsnew/3.10.rst:1288 +#: whatsnew/3.10.rst:1291 msgid "" ":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. " "(Contributed by Lewis Gaul in :issue:`43080`.)" @@ -2063,11 +2078,11 @@ msgstr "" ":mod:`pprint` peut maintenant afficher élégamment les instances de :class:" "`dataclasses.dataclass` (contribution de *Lewis Gaul* dans :issue:`43080`)." -#: whatsnew/3.10.rst:1292 +#: whatsnew/3.10.rst:1295 msgid "py_compile" msgstr "``py_compile``" -#: whatsnew/3.10.rst:1294 +#: whatsnew/3.10.rst:1297 msgid "" "Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " "(Contributed by Gregory Schevchenko in :issue:`38731`.)" @@ -2075,11 +2090,11 @@ msgstr "" "Ajout de l'option de ligne de commande ``--quiet`` à l'interface de :mod:" "`py_compile` (contribution de *Gregory Schevchenko* dans :issue:`38731`)." -#: whatsnew/3.10.rst:1298 +#: whatsnew/3.10.rst:1301 msgid "pyclbr" msgstr "``pyclbr``" -#: whatsnew/3.10.rst:1300 +#: whatsnew/3.10.rst:1303 msgid "" "Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in " "the tree returned by :func:`pyclbr.readline` and :func:`pyclbr." @@ -2091,13 +2106,13 @@ msgstr "" "Il complète l'attribut ``lineno`` déjà existant (contribution d'*Aviral " "Srivastava* dans :issue:`38307`)." -#: whatsnew/3.10.rst:1306 +#: whatsnew/3.10.rst:1309 msgid "shelve" msgstr "``shelve``" # "objets shelf" plutôt que "objets shelves" pour être cohérent avec # library/shelve.po -#: whatsnew/3.10.rst:1308 +#: whatsnew/3.10.rst:1311 msgid "" "The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default " "instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed " @@ -2108,11 +2123,11 @@ msgstr "" "création des objets ``shelf`` (contribution de *Zackery Spytz* dans :issue:" "`34204`)." -#: whatsnew/3.10.rst:1313 +#: whatsnew/3.10.rst:1316 msgid "statistics" msgstr "``statistics``" -#: whatsnew/3.10.rst:1315 +#: whatsnew/3.10.rst:1318 msgid "" "Add :func:`~statistics.covariance`, Pearson's :func:`~statistics." "correlation`, and simple :func:`~statistics.linear_regression` functions. " @@ -2123,15 +2138,15 @@ msgstr "" "linear_regression` (régression linéaire simple) (contribution de *Tymoteusz " "Wołodźko* dans :issue:`38490`)." -#: whatsnew/3.10.rst:1321 +#: whatsnew/3.10.rst:1324 msgid "site" msgstr "``site``" -#: whatsnew/3.10.rst:1327 +#: whatsnew/3.10.rst:1330 msgid "socket" msgstr "``socket``" -#: whatsnew/3.10.rst:1329 +#: whatsnew/3.10.rst:1332 msgid "" "The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " "(Contributed by Christian Heimes in :issue:`42413`.)" @@ -2139,7 +2154,7 @@ msgstr "" "L'exception :exc:`socket.timeout` est maintenant un alias de :exc:" "`TimeoutError` (contribution de *Christian Heimes* dans :issue:`42413`)." -#: whatsnew/3.10.rst:1332 +#: whatsnew/3.10.rst:1335 msgid "" "Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " "Rui Cunha in :issue:`43571`.)" @@ -2147,7 +2162,7 @@ msgstr "" "Ajout d'une option pour créer des connecteurs (*socket*) *MPTCP* avec " "``IPPROTO_MPTCP`` (contribution de *Rui Cunha* dans :issue:`43571`)." -#: whatsnew/3.10.rst:1335 +#: whatsnew/3.10.rst:1338 msgid "" "Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " "fields (Contributed by Georg Sauthoff in :issue:`44077`.)" @@ -2156,11 +2171,11 @@ msgstr "" "of service (ToS)* ou *differentiated services code point (DSCP/ECN)* " "(contribution de *Georg Sauthoff* dans :issue:`44077`)." -#: whatsnew/3.10.rst:1339 +#: whatsnew/3.10.rst:1342 msgid "ssl" msgstr "``ssl``" -#: whatsnew/3.10.rst:1341 +#: whatsnew/3.10.rst:1344 msgid "" "The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " "Heimes in :pep:`644` and :issue:`43669`.)" @@ -2168,7 +2183,7 @@ msgstr "" "La version minimale d'*OpenSSL* pour le module ``ssl`` est maintenant 1.1.1 " "(contribution de *Christian Heimes* dans :pep:`644` et dans :issue:`43669`)." -#: whatsnew/3.10.rst:1344 +#: whatsnew/3.10.rst:1347 msgid "" "The ssl module has preliminary support for OpenSSL 3.0.0 and new option :" "data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in :" @@ -2181,7 +2196,7 @@ msgstr "" "issue:`43788`, :issue:`43791`, :issue:`43799`, :issue:`43920`, :issue:" "`43789` et :issue:`43811`)." -#: whatsnew/3.10.rst:1350 +#: whatsnew/3.10.rst:1353 msgid "" "Deprecated function and use of deprecated constants now result in a :exc:" "`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl." @@ -2198,7 +2213,7 @@ msgstr "" "liste des fonctionnalités obsolètes (contribution de *Christian Heimes* " "dans :issue:`43880`)." -#: whatsnew/3.10.rst:1358 +#: whatsnew/3.10.rst:1361 msgid "" "The ssl module now has more secure default settings. Ciphers without forward " "secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits " @@ -2216,7 +2231,7 @@ msgstr "" "est basée sur la recherche de *Hynek Schlawack* (contribution de *Christian " "Heimes* dans :issue:`43998`)." -#: whatsnew/3.10.rst:1365 +#: whatsnew/3.10.rst:1368 msgid "" "The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer " "officially supported. Python does not block them actively. However OpenSSL " @@ -2229,7 +2244,7 @@ msgstr "" "d'exploitation, les rustines des fabricants et les suites d'algorithmes de " "chiffrement peuvent empêcher l’établissement d'une connexion." -#: whatsnew/3.10.rst:1370 +#: whatsnew/3.10.rst:1373 msgid "" "Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " "function. (Contributed by Zackery Spytz in :issue:`31870`.)" @@ -2238,7 +2253,7 @@ msgstr "" "get_server_certificate` (contribution de *Zackery Spytz* dans :issue:" "`31870`)." -#: whatsnew/3.10.rst:1373 +#: whatsnew/3.10.rst:1376 msgid "" "The ssl module uses heap-types and multi-phase initialization. (Contributed " "by Christian Heimes in :issue:`42333`.)" @@ -2246,7 +2261,7 @@ msgstr "" "Le module ``ssl`` utilise les types du tas et l'initialisation multi-phase " "(contribution de *Christian Heimes* dans :issue:`42333`)." -#: whatsnew/3.10.rst:1376 +#: whatsnew/3.10.rst:1379 msgid "" "A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " "(Contributed by l0x in :issue:`40849`.)" @@ -2254,11 +2269,11 @@ msgstr "" "Ajout d'un nouveau drapeau de vérification :data:`~ssl." "VERIFY_X509_PARTIAL_CHAIN` (contribution de *l0x* dans :issue:`40849`)." -#: whatsnew/3.10.rst:1380 +#: whatsnew/3.10.rst:1383 msgid "sqlite3" msgstr "``sqlite3``" -#: whatsnew/3.10.rst:1382 +#: whatsnew/3.10.rst:1385 msgid "" "Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." "Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." @@ -2268,11 +2283,11 @@ msgstr "" "`~sqlite3.Connection.enable_load_extension` et :meth:`~sqlite3.Connection." "load_extension` (contribution d'*Erlend E. Aasland* dans :issue:`43762`)." -#: whatsnew/3.10.rst:1388 +#: whatsnew/3.10.rst:1391 msgid "sys" msgstr "``sys``" -#: whatsnew/3.10.rst:1390 +#: whatsnew/3.10.rst:1393 msgid "" "Add :data:`sys.orig_argv` attribute: the list of the original command line " "arguments passed to the Python executable. (Contributed by Victor Stinner " @@ -2282,7 +2297,7 @@ msgstr "" "de commande originalement passée à l'exécutable Python (contribution de " "*Victor Stinner* dans :issue:`23427`)." -#: whatsnew/3.10.rst:1394 +#: whatsnew/3.10.rst:1397 msgid "" "Add :data:`sys.stdlib_module_names`, containing the list of the standard " "library module names. (Contributed by Victor Stinner in :issue:`42955`.)" @@ -2291,11 +2306,11 @@ msgstr "" "modules de la bibliothèque standard (contribution de *Victor Stinner* dans :" "issue:`42955`)." -#: whatsnew/3.10.rst:1399 +#: whatsnew/3.10.rst:1402 msgid "_thread" msgstr "``_thread``" -#: whatsnew/3.10.rst:1401 +#: whatsnew/3.10.rst:1404 msgid "" ":func:`_thread.interrupt_main` now takes an optional signal number to " "simulate (the default is still :data:`signal.SIGINT`). (Contributed by " @@ -2306,11 +2321,11 @@ msgstr "" "toujours :data:`signal.SIGINT`) (contribution d'*Antoine Pitrou* dans :issue:" "`43356`)." -#: whatsnew/3.10.rst:1406 +#: whatsnew/3.10.rst:1409 msgid "threading" msgstr "``threading``" -#: whatsnew/3.10.rst:1408 +#: whatsnew/3.10.rst:1411 msgid "" "Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve " "the functions set by :func:`threading.settrace` and :func:`threading." @@ -2321,7 +2336,7 @@ msgstr "" "settrace` et :func:`threading.setprofile` respectivement (contribution de " "*Mario Corchero* dans :issue:`42251`)." -#: whatsnew/3.10.rst:1413 +#: whatsnew/3.10.rst:1416 msgid "" "Add :data:`threading.__excepthook__` to allow retrieving the original value " "of :func:`threading.excepthook` in case it is set to a broken or a different " @@ -2332,11 +2347,11 @@ msgstr "" "incorrecte ou différente (contribution de *Mario Corchero* dans :issue:" "`42308`)." -#: whatsnew/3.10.rst:1419 +#: whatsnew/3.10.rst:1422 msgid "traceback" msgstr "``traceback``" -#: whatsnew/3.10.rst:1421 +#: whatsnew/3.10.rst:1424 msgid "" "The :func:`~traceback.format_exception`, :func:`~traceback." "format_exception_only`, and :func:`~traceback.print_exception` functions can " @@ -2348,11 +2363,11 @@ msgstr "" "maintenant prendre un objet exception en argument positionnel (contribution " "de *Zackery Spytz* et *Matthias Bussonnier* dans :issue:`26389`)." -#: whatsnew/3.10.rst:1428 +#: whatsnew/3.10.rst:1431 msgid "types" msgstr "``types``" -#: whatsnew/3.10.rst:1430 +#: whatsnew/3.10.rst:1433 msgid "" "Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:" "`types.NotImplementedType` classes, providing a new set of types readily " @@ -2364,15 +2379,15 @@ msgstr "" "nouvel ensemble de types facilement interprétable par les vérificateurs de " "types (contribution de *Bas van Beek* dans :issue:`41810`)." -#: whatsnew/3.10.rst:1436 +#: whatsnew/3.10.rst:1439 msgid "typing" msgstr "``typing``" -#: whatsnew/3.10.rst:1438 +#: whatsnew/3.10.rst:1441 msgid "For major changes, see :ref:`new-feat-related-type-hints`." msgstr "Pour les changements majeurs, voir :ref:`new-feat-related-type-hints`." -#: whatsnew/3.10.rst:1440 +#: whatsnew/3.10.rst:1443 msgid "" "The behavior of :class:`typing.Literal` was changed to conform with :pep:" "`586` and to match the behavior of static type checkers specified in the PEP." @@ -2381,18 +2396,18 @@ msgstr "" "avec la :pep:`586` et pour correspondre au comportement des vérificateurs de " "types statiques défini dans la PEP." -#: whatsnew/3.10.rst:1443 +#: whatsnew/3.10.rst:1446 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` dé-duplique maintenant les paramètres." -#: whatsnew/3.10.rst:1444 +#: whatsnew/3.10.rst:1447 msgid "" "Equality comparisons between ``Literal`` objects are now order independent." msgstr "" "La comparaison d'égalité entre objets ``Literal`` ne tient plus compte de " "l'ordre." -#: whatsnew/3.10.rst:1445 +#: whatsnew/3.10.rst:1448 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -2405,7 +2420,7 @@ msgstr "" "changement, le cache des types de l'implémentation interne peut maintenant " "différencier entre les types." -#: whatsnew/3.10.rst:1449 +#: whatsnew/3.10.rst:1452 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -2417,28 +2432,30 @@ msgstr "" "pas :term:`hachable`. Notez que déclarer un ``Literal`` avec des paramètres " "non hachables ne lève pas d'erreur ::" -#: whatsnew/3.10.rst:1461 +#: whatsnew/3.10.rst:1464 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(contribution de *Yurii Karabas* dans :issue:`42345`)." -#: whatsnew/3.10.rst:1463 +#: whatsnew/3.10.rst:1466 +#, fuzzy msgid "" "Add new function :func:`typing.is_typeddict` to introspect if an annotation " "is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in :issue:" -"`41792`)" +"`41792`.)" msgstr "" "Ajout d'une nouvelle fonction :func:`typing.is_typeddict` pour inspecter si " "une annotation est une :class:`typing.TypedDict` (contribution de *Patrick " "Reader* dans :issue:`41792`)." -#: whatsnew/3.10.rst:1467 +#: whatsnew/3.10.rst:1470 +#, fuzzy msgid "" "Subclasses of ``typing.Protocol`` which only have data variables declared " "will now raise a ``TypeError`` when checked with ``isinstance`` unless they " "are decorated with :func:`runtime_checkable`. Previously, these checks " "passed silently. Users should decorate their subclasses with the :func:" "`runtime_checkable` decorator if they want runtime protocols. (Contributed " -"by Yurii Karabas in :issue:`38908`)" +"by Yurii Karabas in :issue:`38908`.)" msgstr "" "Les sous-classes de ``typing.Protocol`` qui ne contiennent que des " "déclarations de variables de données vont maintenant lever une ``TypeError`` " @@ -2448,13 +2465,14 @@ msgstr "" "décorateur :func:`runtime_checkable` s'ils désirent les protocoles à " "l'exécution (contribution de *Yurii Karabas* dans :issue:`38908`)." -#: whatsnew/3.10.rst:1475 +#: whatsnew/3.10.rst:1478 +#, fuzzy msgid "" "Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" "exc:`DeprecationWarning`. These submodules have been deprecated since " "Python 3.8 and will be removed in a future version of Python. Anything " "belonging to those submodules should be imported directly from :mod:`typing` " -"instead. (Contributed by Sebastian Rittau in :issue:`38291`)" +"instead. (Contributed by Sebastian Rittau in :issue:`38291`.)" msgstr "" "Importer quoi que ce soit des sous-modules ``typing.io`` et ``typing.re`` " "émet maintenant un :exc:`DeprecationWarning`. Ces sous-modules sont " @@ -2463,11 +2481,11 @@ msgstr "" "directement du module :mod:`typing` (contribution de *Sebastian Rittau* " "dans :issue:`38291`)." -#: whatsnew/3.10.rst:1483 +#: whatsnew/3.10.rst:1486 msgid "unittest" msgstr "``unittest``" -#: whatsnew/3.10.rst:1485 +#: whatsnew/3.10.rst:1488 msgid "" "Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the " "existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi " @@ -2477,11 +2495,11 @@ msgstr "" "complémenter la méthode existante :meth:`~unittest.TestCase.assertLogs` " "(contribution de *Kit Yan Choi* dans :issue:`39385`)." -#: whatsnew/3.10.rst:1490 +#: whatsnew/3.10.rst:1493 msgid "urllib.parse" msgstr "``urllib.parse``" -#: whatsnew/3.10.rst:1492 +#: whatsnew/3.10.rst:1495 msgid "" "Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` " "as query parameter separators in :func:`urllib.parse.parse_qs` and :func:" @@ -2504,7 +2522,7 @@ msgstr "" "documentation respective de ces fonctions (contribution d'*Adam " "Goldschmidt*, de *Senthil Kumaran* et de *Ken Jin* dans :issue:`42967`)." -#: whatsnew/3.10.rst:1502 +#: whatsnew/3.10.rst:1505 msgid "" "The presence of newline or tab characters in parts of a URL allows for some " "forms of attacks. Following the WHATWG specification that updates :rfc:" @@ -2521,11 +2539,11 @@ msgstr "" "caractères à retirer est contrôlé par une nouvelle variable de module " "``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE`` (voir :issue:`43882`)." -#: whatsnew/3.10.rst:1510 +#: whatsnew/3.10.rst:1513 msgid "xml" msgstr "``xml``" -#: whatsnew/3.10.rst:1512 +#: whatsnew/3.10.rst:1515 msgid "" "Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax." "handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :" @@ -2535,11 +2553,11 @@ msgstr "" "`xml.sax.handler` (contribution de *Jonathan Gossage* de *Zackery Spytz* " "dans :issue:`35018`)." -#: whatsnew/3.10.rst:1517 +#: whatsnew/3.10.rst:1520 msgid "zipimport" msgstr "``zipimport``" -#: whatsnew/3.10.rst:1518 +#: whatsnew/3.10.rst:1521 msgid "" "Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter." "find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:" @@ -2551,7 +2569,7 @@ msgstr "" "zipimporter.exec_module` (contribution de *Brett Cannon* dans :issue:" "`42131`)." -#: whatsnew/3.10.rst:1523 +#: whatsnew/3.10.rst:1526 msgid "" "Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by " "Desmond Cheong in :issue:`14678`.)" @@ -2559,11 +2577,11 @@ msgstr "" "Ajout de la méthode :meth:`~zipimport.zipimporter.invalidate_caches` " "(contribution de *Desmond Cheong* dans :issue:`14678`)." -#: whatsnew/3.10.rst:1528 +#: whatsnew/3.10.rst:1531 msgid "Optimizations" msgstr "Optimisations" -#: whatsnew/3.10.rst:1530 +#: whatsnew/3.10.rst:1533 msgid "" "Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster " "(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :" @@ -2573,7 +2591,7 @@ msgstr "" "maintenant plus rapides (environ 30—40 % pour les petits objets) " "(contribution de *Serhiy Storchaka* dans :issue:`41334`)." -#: whatsnew/3.10.rst:1534 +#: whatsnew/3.10.rst:1537 msgid "" "The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-" "name`` command startup time is 1.4x faster in average. On Linux, ``python3 -" @@ -2588,7 +2606,7 @@ msgstr "" "(contribution de *Victor Stinner* dans :issue:`41006` et dans :issue:" "`41718`)." -#: whatsnew/3.10.rst:1540 +#: whatsnew/3.10.rst:1543 msgid "" "The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. " "It is about 36% faster now for regular attributes and 44% faster for slots. " @@ -2603,7 +2621,7 @@ msgstr "" "dans :issue:`42927`, basée sur des idées originalement mises en œuvre dans " "*PyPy* et dans *MicroPython*)." -#: whatsnew/3.10.rst:1546 +#: whatsnew/3.10.rst:1549 msgid "" "When building Python with :option:`--enable-optimizations` now ``-fno-" "semantic-interposition`` is added to both the compile and link line. This " @@ -2622,7 +2640,7 @@ msgstr "" "speeds/>`_ (en anglais) pour plus de détails (contribution de *Victor " "Stinner* et *Pablo Galindo* dans :issue:`38980`)." -#: whatsnew/3.10.rst:1554 +#: whatsnew/3.10.rst:1557 msgid "" "Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:" "`zlib` modules, and add ``.readall()`` function to ``_compression." @@ -2638,14 +2656,15 @@ msgstr "" "rapide, ``GzipFile.read(-1)`` est 1,11 à 1,18 fois plus rapide (contribution " "de *Ma Lin*, révision par *Gregory P. Smith* dans :issue:`41486`)." -#: whatsnew/3.10.rst:1560 +#: whatsnew/3.10.rst:1563 +#, fuzzy msgid "" "When using stringized annotations, annotations dicts for functions are no " "longer created when the function is created. Instead, they are stored as a " "tuple of strings, and the function object lazily converts this into the " "annotations dict on demand. This optimization cuts the CPU time needed to " "define an annotated function by half. (Contributed by Yurii Karabas and " -"Inada Naoki in :issue:`42202`)" +"Inada Naoki in :issue:`42202`.)" msgstr "" "Quand les annotations sous forme de chaînes sont utilisées, les " "dictionnaires d'annotations ne sont plus créés à la création de la fonction. " @@ -2655,7 +2674,7 @@ msgstr "" "CPU nécessaire à la définition d'une fonction annotée (contribution de " "*Yurii Karabas* et *Inada Naoki* dans :issue:`42202`)." -#: whatsnew/3.10.rst:1567 +#: whatsnew/3.10.rst:1570 msgid "" "Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` " "now sometimes use Crochemore & Perrin's \"Two-Way\" string searching " @@ -2668,12 +2687,13 @@ msgstr "" "éviter le comportement quadratique sur les longues chaînes (contribution de " "*Dennis Sweeney* dans :issue:`41972`)." -#: whatsnew/3.10.rst:1572 +#: whatsnew/3.10.rst:1575 +#, fuzzy msgid "" "Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute " "cache lookup performance in the common case of cache hits. This makes the " "interpreter 1.04 times faster on average. (Contributed by Dino Viehland in :" -"issue:`43452`)" +"issue:`43452`.)" msgstr "" "Ajout d'une micro-optimisation dans ``_PyType_Lookup()`` pour améliorer la " "performance de la recherche du type des attributs dans le cache, dans le cas " @@ -2681,13 +2701,14 @@ msgstr "" "facteur de 1,04 en moyenne (contribution de *Dino Viehland* dans :issue:" "`43452`)." -#: whatsnew/3.10.rst:1576 +#: whatsnew/3.10.rst:1579 +#, fuzzy msgid "" "The following built-in functions now support the faster :pep:`590` " "vectorcall calling convention: :func:`map`, :func:`filter`, :func:" "`reversed`, :func:`bool` and :func:`float`. (Contributed by Dong-hee Na and " "Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:" -"`41873` and :issue:`41870`)" +"`41873` and :issue:`41870`.)" msgstr "" "Les fonctions natives suivantes prennent maintenant en charge la convention " "d'appel plus performante *vectorcall* définie dans la :pep:`590` : :func:" @@ -2695,13 +2716,14 @@ msgstr "" "(contribution de *Dong-hee Na* et *Jeroen Demeyer* dans :issue:`43575`, :" "issue:`43287`, :issue:`41922`, :issue:`41873` et :issue:`41870`)." -#: whatsnew/3.10.rst:1580 +#: whatsnew/3.10.rst:1583 +#, fuzzy msgid "" ":class:`BZ2File` performance is improved by removing internal ``RLock``. " "This makes :class:`BZ2File` thread unsafe in the face of multiple " "simultaneous readers or writers, just like its equivalent classes in :mod:" "`gzip` and :mod:`lzma` have always been. (Contributed by Inada Naoki in :" -"issue:`43785`)." +"issue:`43785`.)" msgstr "" "La performance de :class:`BZ2File` est améliorée par le retrait d'un verrou " "``RLock`` interne. Ceci rend :class:`BZ2File` incompatible avec les fils " @@ -2710,11 +2732,12 @@ msgstr "" "`lzma` qui l'ont toujours été (contribution de *Inada Naoki* dans :issue:" "`43785`)." -#: whatsnew/3.10.rst:2209 +#: whatsnew/3.10.rst:2212 msgid "Deprecated" msgstr "Obsolescence" -#: whatsnew/3.10.rst:1590 +#: whatsnew/3.10.rst:1593 +#, fuzzy msgid "" "Currently Python accepts numeric literals immediately followed by keywords, " "for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " @@ -2724,7 +2747,7 @@ msgid "" "by one of keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:" "`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`. In future releases it " "will be changed to syntax warning, and finally to syntax error. (Contributed " -"by Serhiy Storchaka in :issue:`43833`)." +"by Serhiy Storchaka in :issue:`43833`.)" msgstr "" "Actuellement, Python accepte les littéraux numériques immédiatement suivis " "par un mot clé, par exemple : ``0in x``, ``1or x``, ``0if 1else 2``. Ceci " @@ -2738,7 +2761,7 @@ msgstr "" "levé, et ultérieurement ce sera une erreur de syntaxe (contribution de " "*Serhiy Storchaka* dans :issue:`43833`)." -#: whatsnew/3.10.rst:1601 +#: whatsnew/3.10.rst:1604 msgid "" "Starting in this release, there will be a concerted effort to begin cleaning " "up old import semantics that were kept for Python 2.7 compatibility. " @@ -2770,7 +2793,7 @@ msgstr "" "`DeprecationWarning` seront levés le cas échéant pendant cette transition " "pour aider à identifier le code qui doit être mis à jour." -#: whatsnew/3.10.rst:1618 +#: whatsnew/3.10.rst:1621 msgid "" "The entire ``distutils`` namespace is deprecated, to be removed in Python " "3.12. Refer to the :ref:`module changes ` section for " @@ -2780,7 +2803,7 @@ msgstr "" "Python 3.12. Voir la section sur les :ref:`changements aux modules " "` pour plus d'information." -#: whatsnew/3.10.rst:1622 +#: whatsnew/3.10.rst:1625 msgid "" "Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:" "`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " @@ -2791,7 +2814,7 @@ msgstr "" "exc:`TypeError` (contribution de *Serhiy Storchaka* et *Raymond Hettinger* " "dans :issue:`37319`)." -#: whatsnew/3.10.rst:1626 +#: whatsnew/3.10.rst:1629 msgid "" "The various ``load_module()`` methods of :mod:`importlib` have been " "documented as deprecated since Python 3.6, but will now also trigger a :exc:" @@ -2803,7 +2826,7 @@ msgstr "" "aussi lever un :exc:`DeprecationWarning`. Utilisez plutôt :meth:`~importlib." "abc.Loader.exec_module` (contribution de *Brett Cannon* dans :issue:`26131`)." -#: whatsnew/3.10.rst:1632 +#: whatsnew/3.10.rst:1635 msgid "" ":meth:`zimport.zipimporter.load_module` has been deprecated in preference " "for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " @@ -2813,7 +2836,7 @@ msgstr "" "`~zipimport.zipimporter.exec_module` (contribution de *Brett Cannon* dans :" "issue:`26131`)." -#: whatsnew/3.10.rst:1636 +#: whatsnew/3.10.rst:1639 msgid "" "The use of :meth:`~importlib.abc.Loader.load_module` by the import system " "now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." @@ -2824,7 +2847,7 @@ msgstr "" "abc.Loader.exec_module` est recommandée (contribution de (*Brett Cannon* " "dans :issue:`26131`)." -#: whatsnew/3.10.rst:1641 +#: whatsnew/3.10.rst:1644 msgid "" "The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:" "`importlib.abc.PathEntryFinder.find_module` by the import system now trigger " @@ -2841,7 +2864,7 @@ msgstr "" "`importlib.util.spec_from_loader` pour faciliter le portage (contribution de " "*Brett Cannon* dans :issue:`42134`)." -#: whatsnew/3.10.rst:1650 +#: whatsnew/3.10.rst:1653 msgid "" "The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import " "system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc." @@ -2856,7 +2879,7 @@ msgstr "" "pour faciliter le portage (contribution de *Brett Cannon* dans :issue:" "`43672`)." -#: whatsnew/3.10.rst:1656 +#: whatsnew/3.10.rst:1659 msgid "" "The various implementations of :meth:`importlib.abc.MetaPathFinder." "find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :" @@ -2882,7 +2905,7 @@ msgstr "" "(elles étaient documentées comme obsolètes depuis Python 3.4) (contribution " "de *Brett Cannon* dans :issue:`42135`)." -#: whatsnew/3.10.rst:1671 +#: whatsnew/3.10.rst:1674 msgid "" ":class:`importlib.abc.Finder` is deprecated (including its sole method, :" "meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc." @@ -2896,7 +2919,7 @@ msgstr "" "``Finder``. Les utilisateurs doivent hériter d'une de ces deux classes le " "cas échéant (contribution de *Brett Cannon* dans :issue:`42135`)." -#: whatsnew/3.10.rst:1678 +#: whatsnew/3.10.rst:1681 msgid "" "The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:" "`importlib.util.set_package_wrapper`, :func:`importlib.util." @@ -2914,7 +2937,7 @@ msgstr "" "lèvent un :exc:`DeprecationWarning` depuis les précédentes versions de " "Python) (contribution de *Brett Cannon* dans :issue:`43720`)." -#: whatsnew/3.10.rst:1688 +#: whatsnew/3.10.rst:1691 msgid "" "The import system now uses the ``__spec__`` attribute on modules before " "falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's " @@ -2927,7 +2950,7 @@ msgstr "" "``module_repr()`` est planifié pour Python 3.12 (contribution de *Brett " "Cannon* dans :issue:`42137`)." -#: whatsnew/3.10.rst:1694 +#: whatsnew/3.10.rst:1697 msgid "" ":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." "FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader." @@ -2939,7 +2962,7 @@ msgstr "" "module_repr` sont obsolètes et seront retirées dans Python 3.12 " "(contribution de *Brett Cannon* dans :issue:`42136`)." -#: whatsnew/3.10.rst:1700 +#: whatsnew/3.10.rst:1703 msgid "" "``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python " "3.3, when it was made an alias to :class:`str`. It is now deprecated, " @@ -2951,7 +2974,7 @@ msgstr "" "obsolète et sera retiré dans Python 3.12 (contribution de *Erlend E. " "Aasland* dans :issue:`42264`)." -#: whatsnew/3.10.rst:1705 +#: whatsnew/3.10.rst:1708 msgid "" ":func:`asyncio.get_event_loop` now emits a deprecation warning if there is " "no running event loop. In the future it will be an alias of :func:`~asyncio." @@ -2977,7 +3000,7 @@ msgstr "" "class:`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol` " "(contribution de Serhiy Storchaka dans :issue:`39529`)." -#: whatsnew/3.10.rst:1718 +#: whatsnew/3.10.rst:1721 msgid "" "The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " "deprecated, scheduled for removal in Python 3.12. Its use is strongly " @@ -2995,50 +3018,51 @@ msgstr "" "de requête ``cache=shared`` (contribution de *Erlend E. Aasland* dans :issue:" "`24464`)." -#: whatsnew/3.10.rst:1726 +#: whatsnew/3.10.rst:1729 msgid "The following ``threading`` methods are now deprecated:" msgstr "" "Les méthodes suivantes du module ``threading`` sont maintenant obsolètes :" -#: whatsnew/3.10.rst:1728 +#: whatsnew/3.10.rst:1731 msgid "``threading.currentThread`` => :func:`threading.current_thread`" msgstr "``threading.currentThread`` => :func:`threading.current_thread` ;" -#: whatsnew/3.10.rst:1730 +#: whatsnew/3.10.rst:1733 msgid "``threading.activeCount`` => :func:`threading.active_count`" msgstr "``threading.activeCount`` => :func:`threading.active_count` ;" -#: whatsnew/3.10.rst:1732 +#: whatsnew/3.10.rst:1735 msgid "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" msgstr "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all` ;" -#: whatsnew/3.10.rst:1735 +#: whatsnew/3.10.rst:1738 msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set` ;" -#: whatsnew/3.10.rst:1737 +#: whatsnew/3.10.rst:1740 msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name` ;" -#: whatsnew/3.10.rst:1739 +#: whatsnew/3.10.rst:1742 msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name` ;" -#: whatsnew/3.10.rst:1741 +#: whatsnew/3.10.rst:1744 msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon` ;" -#: whatsnew/3.10.rst:1743 +#: whatsnew/3.10.rst:1746 msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`." -#: whatsnew/3.10.rst:1745 -msgid "(Contributed by Jelle Zijlstra in :issue:`21574`.)" +#: whatsnew/3.10.rst:1748 +#, fuzzy +msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)" msgstr "(Contribution de *Jelle Zijlstra* dans :issue:`21574`.)" -#: whatsnew/3.10.rst:1747 +#: whatsnew/3.10.rst:1750 msgid "" ":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python " "3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " @@ -3048,7 +3072,7 @@ msgstr "" "Utilisez plutôt :meth:`pathlib.Path.hardlink_to` (contribution de *Barney " "Gale* dans :issue:`39950`)." -#: whatsnew/3.10.rst:1751 +#: whatsnew/3.10.rst:1754 msgid "" "``cgi.log()`` is deprecated and slated for removal in Python 3.12. " "(Contributed by Inada Naoki in :issue:`41139`.)" @@ -3056,7 +3080,7 @@ msgstr "" "``cgi.log()`` est obsolète et sera retirée dans Python 3.12 (contribution de " "*Inada Naoki* dans :issue:`41139`)." -#: whatsnew/3.10.rst:1754 +#: whatsnew/3.10.rst:1757 msgid "" "The following :mod:`ssl` features have been deprecated since Python 3.6, " "Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:" @@ -3064,7 +3088,7 @@ msgstr "" "Les fonctionnalités suivantes de :mod:`ssl` sont obsolètes depuis Python " "3.6, Python 3.7 ou *OpenSSL* 1.1.0 et seront retirées dans 3.11 :" -#: whatsnew/3.10.rst:1757 +#: whatsnew/3.10.rst:1760 msgid "" ":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." "OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :" @@ -3076,7 +3100,7 @@ msgstr "" "data:`~ssl.OP_NO_TLSv1_3` sont remplacés par :attr:`sslSSLContext." "minimum_version` et :attr:`sslSSLContext.maximum_version` ;" -#: whatsnew/3.10.rst:1763 +#: whatsnew/3.10.rst:1766 msgid "" ":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." "PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." @@ -3090,22 +3114,22 @@ msgstr "" "PROTOCOL_TLS` sont obsolètes et remplacés par :data:`~ssl." "PROTOCOL_TLS_CLIENT` et :data:`~ssl.PROTOCOL_TLS_SERVER` ;" -#: whatsnew/3.10.rst:1769 +#: whatsnew/3.10.rst:1772 msgid "" ":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`" msgstr "" ":func:`~ssl.wrap_socket` est remplacée par :meth:`ssl.SSLContext." "wrap_socket` ;" -#: whatsnew/3.10.rst:1771 +#: whatsnew/3.10.rst:1774 msgid ":func:`~ssl.match_hostname`" msgstr ":func:`~ssl.match_hostname` ;" -#: whatsnew/3.10.rst:1773 +#: whatsnew/3.10.rst:1776 msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd` ;" -#: whatsnew/3.10.rst:1775 +#: whatsnew/3.10.rst:1778 msgid "" "NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." "SSLContext.set_npn_protocols` are replaced by ALPN." @@ -3114,7 +3138,7 @@ msgstr "" "SSLSocket.selected_npn_protocol` et :meth:`ssl.SSLContext.set_npn_protocols` " "sont remplacées par ALPN (*Application Layer Protocol Negotiation*)." -#: whatsnew/3.10.rst:1778 +#: whatsnew/3.10.rst:1781 msgid "" "The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is " "deprecated in Python 3.10 and will be removed in Python 3.12. This feature " @@ -3127,13 +3151,14 @@ msgstr "" "avec les paramètres de débogage ` (contribution de *Victor " "Stinner* dans :issue:`44584`)." -#: whatsnew/3.10.rst:1783 +#: whatsnew/3.10.rst:1786 +#, fuzzy msgid "" "Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" "exc:`DeprecationWarning`. These submodules will be removed in a future " "version of Python. Anything belonging to these submodules should be " "imported directly from :mod:`typing` instead. (Contributed by Sebastian " -"Rittau in :issue:`38291`)" +"Rittau in :issue:`38291`.)" msgstr "" "Importer des sous-modules ``typing.io`` et ``typing.re`` lève maintenant un :" "exc:`DeprecationWarning`. Ces sous-modules seront retirés dans une version " @@ -3141,11 +3166,11 @@ msgstr "" "directement du module :mod:`typing` (contribution de *Sebastian Rittau* " "dans :issue:`38291`)." -#: whatsnew/3.10.rst:2217 +#: whatsnew/3.10.rst:2220 msgid "Removed" msgstr "Retrait" -#: whatsnew/3.10.rst:1794 +#: whatsnew/3.10.rst:1797 msgid "" "Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " "``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " @@ -3158,7 +3183,7 @@ msgstr "" "toujours une :exc:`TypeError` (contribution de *Serhiy Storchaka* dans :" "issue:`41974`)." -#: whatsnew/3.10.rst:1800 +#: whatsnew/3.10.rst:1803 msgid "" "The ``ParserBase.error()`` method from the private and undocumented " "``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is " @@ -3172,7 +3197,7 @@ msgstr "" "``error()`` a été retirée dans Python 3.5 (contribution de *Berker Peksag* " "dans :issue:`31844`)." -#: whatsnew/3.10.rst:1806 +#: whatsnew/3.10.rst:1809 msgid "" "Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " "PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was " @@ -3184,7 +3209,7 @@ msgstr "" "a été déplacée vers l'API C interne (contribution de *Victor Stinner* dans :" "issue:`42157`)." -#: whatsnew/3.10.rst:1811 +#: whatsnew/3.10.rst:1814 msgid "" "Removed the ``parser`` module, which was deprecated in 3.9 due to the switch " "to the new PEG parser, as well as all the C source and header files that " @@ -3197,7 +3222,7 @@ msgstr "" "analyseur, ceci comprend ``node.h``, ``parser.h``, ``graminit.h`` et " "``grammar.h``." -#: whatsnew/3.10.rst:1816 +#: whatsnew/3.10.rst:1819 msgid "" "Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3210,7 +3235,7 @@ msgstr "" "Elles étaient obsolètes depuis 3.9 étant donné la transition vers " "l'analyseur syntaxique *PEG*." -#: whatsnew/3.10.rst:1821 +#: whatsnew/3.10.rst:1824 msgid "" "Removed the ``formatter`` module, which was deprecated in Python 3.4. It is " "somewhat obsolete, little used, and not tested. It was originally scheduled " @@ -3226,7 +3251,7 @@ msgstr "" "module doivent copier les classes qu'ils utilisent dans leur propre code " "(contribution de *Dong-hee Na* et *Terry J. Reedy* dans :issue:`42299`)." -#: whatsnew/3.10.rst:1828 +#: whatsnew/3.10.rst:1831 msgid "" "Removed the :c:func:`PyModule_GetWarningsModule` function that was useless " "now due to the _warnings module was converted to a builtin module in 2.6. " @@ -3236,7 +3261,7 @@ msgstr "" "maintenant inutile depuis la conversion de ``_warnings`` en module natif " "dans 2.6 (contribution de *Hai Shi* dans :issue:`42599`)." -#: whatsnew/3.10.rst:1832 +#: whatsnew/3.10.rst:1835 msgid "" "Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " "the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" @@ -3246,7 +3271,7 @@ msgstr "" "module :mod:`collections` (contribution de *Victor Stinner* dans :issue:" "`37324`)." -#: whatsnew/3.10.rst:1836 +#: whatsnew/3.10.rst:1839 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " @@ -3256,11 +3281,11 @@ msgstr "" "<../library/asyncio-api-index>` d':mod:`asyncio`. Il était obsolète depuis " "Python 3.8. La motivation pour ce changement avait plusieurs facettes :" -#: whatsnew/3.10.rst:1840 +#: whatsnew/3.10.rst:1843 msgid "This simplifies the high-level API." msgstr "ceci simplifie l'API haut-niveau ;" -#: whatsnew/3.10.rst:1841 +#: whatsnew/3.10.rst:1844 msgid "" "The functions in the high-level API have been implicitly getting the current " "thread's running event loop since Python 3.7. There isn't a need to pass " @@ -3271,7 +3296,7 @@ msgstr "" "Il n'y a aucun besoin de passer la boucle d'évènements à l'API dans la " "majorité de son utilisation normale ;" -#: whatsnew/3.10.rst:1844 +#: whatsnew/3.10.rst:1847 msgid "" "Event loop passing is error-prone especially when dealing with loops running " "in different threads." @@ -3280,7 +3305,7 @@ msgstr "" "plusieurs boucles qui tournent dans plusieurs fils d'exécution sont " "impliquées." -#: whatsnew/3.10.rst:1847 +#: whatsnew/3.10.rst:1850 msgid "" "Note that the low-level API will still accept ``loop``. See :ref:`changes-" "python-api` for examples of how to replace existing code." @@ -3289,7 +3314,7 @@ msgstr "" "Voir :ref:`changes-python-api` pour plus d'exemples sur comment remplacer le " "code existant" -#: whatsnew/3.10.rst:1922 +#: whatsnew/3.10.rst:1925 msgid "" "(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " "Stanley in :issue:`42392`.)" @@ -3297,11 +3322,11 @@ msgstr "" "(contribution de *Yurii Karabas*, *Andrew Svetlov*, *Yury Selivanov* et " "*Kyle Stanley* dans :issue:`42392`)." -#: whatsnew/3.10.rst:2142 +#: whatsnew/3.10.rst:2145 msgid "Porting to Python 3.10" msgstr "Portage vers Python 3.10" -#: whatsnew/3.10.rst:1857 +#: whatsnew/3.10.rst:1860 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3309,18 +3334,19 @@ msgstr "" "Cette section liste les changements mentionnés préalablement et autres " "améliorations qui peuvent demander des changements à votre code." -#: whatsnew/3.10.rst:1862 +#: whatsnew/3.10.rst:1865 msgid "Changes in the Python syntax" msgstr "Changements à la syntaxe de Python" -#: whatsnew/3.10.rst:1864 +#: whatsnew/3.10.rst:1867 +#, fuzzy msgid "" "Deprecation warning is now emitted when compiling previously valid syntax if " "the numeric literal is immediately followed by a keyword (like in ``0in " "x``). In future releases it will be changed to syntax warning, and finally " "to a syntax error. To get rid of the warning and make the code compatible " "with future releases just add a space between the numeric literal and the " -"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`)." +"following keyword. (Contributed by Serhiy Storchaka in :issue:`43833`.)" msgstr "" "Un ``DeprecationWarning`` est maintenant levé lors de la compilation de " "syntaxe qui était préalablement valide si un littéral numérique est " @@ -3331,11 +3357,11 @@ msgstr "" "simplement une espace entre le littéral numérique et le mot clé qui le suit " "(contribution de *Serhiy Storchaka* dans :issue:`43833`)." -#: whatsnew/3.10.rst:1875 +#: whatsnew/3.10.rst:1878 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" -#: whatsnew/3.10.rst:1877 +#: whatsnew/3.10.rst:1880 msgid "" "The *etype* parameters of the :func:`~traceback.format_exception`, :func:" "`~traceback.format_exception_only`, and :func:`~traceback.print_exception` " @@ -3348,7 +3374,7 @@ msgstr "" "(contribution de *Zackery Spytz* et *Matthias Bussonnier* dans :issue:" "`26389`)." -#: whatsnew/3.10.rst:1883 +#: whatsnew/3.10.rst:1886 msgid "" ":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit." "register` fails, its exception is now logged. Previously, only some " @@ -3361,7 +3387,7 @@ msgstr "" "étaient journalisées et la dernière exception était toujours ignorée de " "façon silencieuse (contribution de *Victor Stinner* dans :issue:`42639`)." -#: whatsnew/3.10.rst:1889 +#: whatsnew/3.10.rst:1892 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -3384,7 +3410,7 @@ msgstr "" "passer silencieusement dans Python 3.9 (contribution de *Ken Jin* dans :" "issue:`42195`)." -#: whatsnew/3.10.rst:1899 +#: whatsnew/3.10.rst:1902 msgid "" ":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` " "instead of :exc:`DeprecationWarning` if the given parameter will not fit in " @@ -3396,7 +3422,7 @@ msgstr "" "est trop grand pour être stocké dans un entier 16-bit non-signé " "(contribution de *Erlend E. Aasland* dans :issue:`42393`)." -#: whatsnew/3.10.rst:1904 +#: whatsnew/3.10.rst:1907 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " @@ -3406,15 +3432,15 @@ msgstr "" "<../library/asyncio-api-index>` d':mod:`asyncio` suite à la déclaration de " "son obsolescence dans Python 3.8." -#: whatsnew/3.10.rst:1908 +#: whatsnew/3.10.rst:1911 msgid "A coroutine that currently looks like this::" msgstr "Une coroutine qui ressemble actuellement à ceci ::" -#: whatsnew/3.10.rst:1913 +#: whatsnew/3.10.rst:1916 msgid "Should be replaced with this::" msgstr "Doit être remplacée par ceci ::" -#: whatsnew/3.10.rst:1918 +#: whatsnew/3.10.rst:1921 msgid "" "If ``foo()`` was specifically designed *not* to run in the current thread's " "running event loop (e.g. running in another thread's event loop), consider " @@ -3425,7 +3451,7 @@ msgstr "" "d'exécution d'un autre fil), l'utilisation de :func:`asyncio." "run_coroutine_threadsafe` est probablement plus appropriée." -#: whatsnew/3.10.rst:1925 +#: whatsnew/3.10.rst:1928 msgid "" "The :data:`types.FunctionType` constructor now inherits the current builtins " "if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than " @@ -3444,11 +3470,11 @@ msgstr "" "cette syntaxe : elles héritent aussi des définitions natives courantes " "(contribution de *Victor Stinner* dans :issue:`42990`)." -#: whatsnew/3.10.rst:1934 +#: whatsnew/3.10.rst:1937 msgid "Changes in the C API" msgstr "Changements dans l'API C" -#: whatsnew/3.10.rst:1936 +#: whatsnew/3.10.rst:1939 msgid "" "The C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3462,7 +3488,7 @@ msgstr "" "_node``, le type utilisé par ces fonctions, ont été retirés suite à la " "transition vers le nouvel analyseur syntaxique *PEG*." -#: whatsnew/3.10.rst:1942 +#: whatsnew/3.10.rst:1945 msgid "" "Source should be now be compiled directly to a code object using, for " "example, :c:func:`Py_CompileString`. The resulting code object can then be " @@ -3472,11 +3498,11 @@ msgstr "" "utilisant par exemple :c:func:`Py_CompileString`. L'objet code ainsi produit " "peut ensuite être évalué, en utilisant par exemple :c:func:`PyEval_EvalCode`." -#: whatsnew/3.10.rst:1946 +#: whatsnew/3.10.rst:1949 msgid "Specifically:" msgstr "Spécifiquement :" -#: whatsnew/3.10.rst:1948 +#: whatsnew/3.10.rst:1951 msgid "" "A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` " "can be replaced by calling :c:func:`Py_CompileString`." @@ -3484,7 +3510,7 @@ msgstr "" "Un appel à ``PyParser_SimpleParseStringFlags`` suivi de ``PyNode_Compile`` " "peut être remplacé par :c:func:`Py_CompileString` ;" -#: whatsnew/3.10.rst:1951 +#: whatsnew/3.10.rst:1954 msgid "" "There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To " "compile code from a ``FILE *`` argument, you will need to read the file in C " @@ -3495,7 +3521,7 @@ msgstr "" "argument ``FILE *``, vous devez lire le fichier en C et passer le tampon " "résultant à :c:func:`Py_CompileString`." -#: whatsnew/3.10.rst:1955 +#: whatsnew/3.10.rst:1958 msgid "" "To compile a file given a ``char *`` filename, explicitly open the file, " "read it and compile the result. One way to do this is using the :py:mod:`io` " @@ -3510,7 +3536,7 @@ msgstr "" "`PyBytes_AsString` et :c:func:`Py_CompileString`, comme dans l'esquisse qui " "suit (les déclarations et la gestion d'erreurs ne sont pas incluses) ::" -#: whatsnew/3.10.rst:1968 +#: whatsnew/3.10.rst:1971 msgid "" "For ``FrameObject`` objects, the ``f_lasti`` member now represents a " "wordcode offset instead of a simple offset into the bytecode string. This " @@ -3527,25 +3553,26 @@ msgstr "" "``f_lasti`` de ``FrameObject`` n'est pas considéré stable : utilisez plutôt :" "c:func:`PyFrame_GetLineNumber`." -#: whatsnew/3.10.rst:1976 +#: whatsnew/3.10.rst:1979 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" -#: whatsnew/3.10.rst:1978 +#: whatsnew/3.10.rst:1981 +#, fuzzy msgid "" "The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of " "strings as the function's annotations. (Contributed by Yurii Karabas and " -"Inada Naoki in :issue:`42202`)" +"Inada Naoki in :issue:`42202`.)" msgstr "" "L'instruction ``MAKE_FUNCTION`` accepte maintenant soit un dictionnaire, " "soit un *n*-uplet de chaînes pour l'annotation de la fonction (contribution " "de *Yurii Karabas* et *Inada Naoki* dans :issue:`42202`)." -#: whatsnew/3.10.rst:1983 +#: whatsnew/3.10.rst:1986 msgid "Build Changes" msgstr "Changements à la compilation" -#: whatsnew/3.10.rst:1985 +#: whatsnew/3.10.rst:1988 msgid "" ":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no " "longer supported. (Contributed by Christian Heimes in :issue:`43669`.)" @@ -3554,7 +3581,7 @@ msgstr "" "1.1.1. *OpenSSL* 1.0.2 n'est plus prise en charge (contribution de " "*Christian Heimes* dans :issue:`43669`)." -#: whatsnew/3.10.rst:1989 +#: whatsnew/3.10.rst:1992 msgid "" "The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " "required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" @@ -3563,7 +3590,7 @@ msgstr "" "maintenant nécessaires à la compilation de Python (contribution de *Victor " "Stinner* dans :issue:`36020`)." -#: whatsnew/3.10.rst:1993 +#: whatsnew/3.10.rst:1996 msgid "" ":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " "Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" @@ -3572,7 +3599,7 @@ msgstr "" "3.7.15 (contribution de *Sergey Fedoseev* et *Erlend E. Aasland* dans :issue:" "`40744` et :issue:`40810`)." -#: whatsnew/3.10.rst:1996 +#: whatsnew/3.10.rst:1999 msgid "" "The :mod:`atexit` module must now always be built as a built-in module. " "(Contributed by Victor Stinner in :issue:`42639`.)" @@ -3580,7 +3607,7 @@ msgstr "" "Le module :mod:`atexit` doit maintenant toujours être compilé en tant que " "module natif (contribution de *Victor Stinner* dans :issue:`42639`)." -#: whatsnew/3.10.rst:1999 +#: whatsnew/3.10.rst:2002 msgid "" "Add :option:`--disable-test-modules` option to the ``configure`` script: " "don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " @@ -3590,7 +3617,7 @@ msgstr "" "ne pas compiler ni installer les modules de tests (contribution de *Xavier " "de Gaye*, *Thomas Petazzoni* et *Peixing Xin* dans :issue:`27640`)." -#: whatsnew/3.10.rst:2003 +#: whatsnew/3.10.rst:2006 msgid "" "Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the " "``./configure`` script. If specified, the :mod:`ensurepip` module looks for " @@ -3604,7 +3631,7 @@ msgstr "" "répertoire : si les deux sont présents, ces paquets *wheel* sont utilisés " "plutôt que ceux inclus avec *ensurepip*." -#: whatsnew/3.10.rst:2009 +#: whatsnew/3.10.rst:2012 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" @@ -3616,11 +3643,11 @@ msgstr "" "*wheel* dans le répertoire ``/usr/share/python-wheels/`` et n'installe pas " "le paquet ``ensurepip._bundled``" -#: whatsnew/3.10.rst:2014 +#: whatsnew/3.10.rst:2017 msgid "(Contributed by Victor Stinner in :issue:`42856`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`42856`)." -#: whatsnew/3.10.rst:2016 +#: whatsnew/3.10.rst:2019 msgid "" "Add a new :option:`configure --without-static-libpython option <--without-" "static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " @@ -3630,11 +3657,11 @@ msgstr "" "``configure`` pour ne pas compiler la bibliothèque statique ``libpythonMAJOR." "MINOR.a`` et ne pas installer le fichier objet ``python.o``" -#: whatsnew/3.10.rst:2020 +#: whatsnew/3.10.rst:2023 msgid "(Contributed by Victor Stinner in :issue:`43103`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`43103`)." -#: whatsnew/3.10.rst:2022 +#: whatsnew/3.10.rst:2025 msgid "" "The ``configure`` script now uses the ``pkg-config`` utility, if available, " "to detect the location of Tcl/Tk headers and libraries. As before, those " @@ -3649,7 +3676,7 @@ msgstr "" "with-tcltk-includes` et :option:`--with-tcltk-libs` (contribution de " "*Manolis Stamatogiannakis* et :issue:`42603`)." -#: whatsnew/3.10.rst:2028 +#: whatsnew/3.10.rst:2031 msgid "" "Add :option:`--with-openssl-rpath` option to ``configure`` script. The " "option simplifies building Python with a custom OpenSSL installation, e.g. " @@ -3662,15 +3689,15 @@ msgstr "" "openssl --with-openssl-rpath=auto`` (contribution de *Christian Heimes* " "dans :issue:`43466`)." -#: whatsnew/3.10.rst:2035 +#: whatsnew/3.10.rst:2038 msgid "C API Changes" msgstr "Changements à l'API C" -#: whatsnew/3.10.rst:2038 +#: whatsnew/3.10.rst:2041 msgid "PEP 652: Maintaining the Stable ABI" msgstr "PEP 652 : maintenance d'une ABI stable" -#: whatsnew/3.10.rst:2040 +#: whatsnew/3.10.rst:2043 msgid "" "The Stable ABI (Application Binary Interface) for extension modules or " "embedding Python is now explicitly defined. :ref:`stable` describes C API " @@ -3684,12 +3711,12 @@ msgstr "" "programme ainsi que les bonnes pratiques pour travailler avec l'interface " "binaire-programme stable" -#: whatsnew/3.10.rst:2045 +#: whatsnew/3.10.rst:2048 msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" msgstr "" "(contribution de *Petr Viktorin* dans :pep:`652` et dans :issue:`43795`)." -#: whatsnew/3.10.rst:2050 +#: whatsnew/3.10.rst:2053 msgid "" "The result of :c:func:`PyNumber_Index` now always has exact type :class:" "`int`. Previously, the result could have been an instance of a subclass of " @@ -3699,7 +3726,7 @@ msgstr "" "class:`int`. Auparavant, le résultat pouvait être une instance d'une classe " "dérivée de ``int`` (contribution de *Serhiy Storchaka* dans :issue:`40792`)." -#: whatsnew/3.10.rst:2054 +#: whatsnew/3.10.rst:2057 msgid "" "Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` " "structure: the list of the original command line arguments passed to the " @@ -3710,7 +3737,7 @@ msgstr "" "passée à l'exécutable Python (contribution de *Victor Stinner* dans :issue:" "`23427`)." -#: whatsnew/3.10.rst:2059 +#: whatsnew/3.10.rst:2062 msgid "" "The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:" "`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the " @@ -3722,7 +3749,7 @@ msgstr "" "``tzinfo`` des objets :class:`datetime.datetime` et :class:`datetime.time` " "(contribution de *Zackery Spytz* dans :issue:`30155`)." -#: whatsnew/3.10.rst:2065 +#: whatsnew/3.10.rst:2068 msgid "" "Add a :c:func:`PyCodec_Unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" @@ -3731,7 +3758,7 @@ msgstr "" "fonction de recherche de codecs (contribution de *Hai Shi* dans :issue:" "`41842`)." -#: whatsnew/3.10.rst:2069 +#: whatsnew/3.10.rst:2072 msgid "" "The :c:func:`PyIter_Send` function was added to allow sending value into " "iterator without raising ``StopIteration`` exception. (Contributed by " @@ -3741,7 +3768,7 @@ msgstr "" "itérateur sans lever une exception ``StopIteration`` (contribution de " "*Vladimir Matveev* dans :issue:`41756`)." -#: whatsnew/3.10.rst:2073 +#: whatsnew/3.10.rst:2076 msgid "" "Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " "Alex Gaynor in :issue:`41784`.)" @@ -3749,7 +3776,7 @@ msgstr "" "Ajout de :c:func:`PyUnicode_AsUTF8AndSize` à l'API C limitée (contribution " "d'*Alex Gaynor* dans :issue:`41784`)." -#: whatsnew/3.10.rst:2076 +#: whatsnew/3.10.rst:2079 msgid "" "Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:" "`PyModule_AddObject` but don't steal a reference to the value on success. " @@ -3759,7 +3786,7 @@ msgstr "" "`PyModule_AddObject` mais ne s’accapare pas une référence à la valeur s'il y " "a réussite (contribution de *Victor Stinner* dans :issue:`1635741`)." -#: whatsnew/3.10.rst:2081 +#: whatsnew/3.10.rst:2084 msgid "" "Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the " "reference count of an object and return the object. (Contributed by Victor " @@ -3770,7 +3797,7 @@ msgstr "" "(contribution de *Victor Stinner* dans :issue:`42262`)." # Auparavant, *bases* pouvait être un n-uplet de plusieurs classes. -#: whatsnew/3.10.rst:2085 +#: whatsnew/3.10.rst:2088 msgid "" "The :c:func:`PyType_FromSpecWithBases` and :c:func:" "`PyType_FromModuleAndSpec` functions now accept a single class as the " @@ -3780,7 +3807,7 @@ msgstr "" "`PyType_FromModuleAndSpec` n'acceptent maintenant qu'une seule classe pour " "l'argument *bases* (contribution *Serhiy Storchaka* dans :issue:`42423`)." -#: whatsnew/3.10.rst:2089 +#: whatsnew/3.10.rst:2092 msgid "" "The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " "slot. (Contributed by Hai Shi in :issue:`41832`.)" @@ -3789,7 +3816,7 @@ msgstr "" "dans l'emplacement ``tp_doc`` (contribution de *Hai Shi* dans :issue:" "`41832`)." -#: whatsnew/3.10.rst:2093 +#: whatsnew/3.10.rst:2096 msgid "" "The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" @@ -3798,7 +3825,7 @@ msgstr "" "`types statiques ` (contribution de *Hai Shi* et *Petr " "Viktorin* dans :issue:`41073`)." -#: whatsnew/3.10.rst:2097 +#: whatsnew/3.10.rst:2100 msgid "" "Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an " "object is an instance of :class:`set` but not an instance of a subtype. " @@ -3808,7 +3835,7 @@ msgstr "" "vérifier si un objet est une instance de :class:`set` mais pas une instance " "d'un sous-type (contribution de *Pablo Galindo* dans :issue:`43277`)." -#: whatsnew/3.10.rst:2101 +#: whatsnew/3.10.rst:2104 msgid "" "Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " "simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" @@ -3816,7 +3843,7 @@ msgstr "" "Ajout de :c:func:`PyErr_SetInterruptEx` qui accepte le numéro d'un signal à " "simuler (contribution d'*Antoine Pitrou* dans :issue:`43356`)." -#: whatsnew/3.10.rst:2105 +#: whatsnew/3.10.rst:2108 msgid "" "The limited C API is now supported if :ref:`Python is built in debug mode " "` (if the ``Py_DEBUG`` macro is defined). In the limited C API, " @@ -3839,7 +3866,7 @@ msgstr "" "dans les versions standard et dans les versions débogage depuis Python 3.8 " "(voir :issue:`36465`)." -#: whatsnew/3.10.rst:2115 +#: whatsnew/3.10.rst:2118 msgid "" "The limited C API is still not supported in the :option:`--with-trace-refs` " "special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :" @@ -3849,7 +3876,7 @@ msgstr "" "spéciales avec l'option :option:`--with-trace-refs` (macro " "``Py_TRACE_REFS``) (Contribution de *Victor Stinner* dans :issue:`43688`)." -#: whatsnew/3.10.rst:2119 +#: whatsnew/3.10.rst:2122 msgid "" "Add the :c:func:`Py_Is(x, y) ` function to test if the *x* object is " "the *y* object, the same as ``x is y`` in Python. Add also the :c:func:" @@ -3865,7 +3892,7 @@ msgstr "" "le singleton ``False``, respectivement (contribution de *Victor Stinner* " "dans :issue:`43753`)." -#: whatsnew/3.10.rst:2126 +#: whatsnew/3.10.rst:2129 msgid "" "Add new functions to control the garbage collector from C code: :c:func:" "`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These " @@ -3877,7 +3904,7 @@ msgstr "" "fonctions permettent d'activer, de désactiver et d'interroger l'état du " "ramasse-miettes dans du code C sans avoir à importer le module :mod:`gc`." -#: whatsnew/3.10.rst:2133 +#: whatsnew/3.10.rst:2136 msgid "" "Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow " "creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)" @@ -3886,7 +3913,7 @@ msgstr "" "les types. Elle empêche la création d'instances de ce type (contribution de " "*Victor Stinner* dans :issue:`43916`)." -#: whatsnew/3.10.rst:2137 +#: whatsnew/3.10.rst:2140 msgid "" "Add a new :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " "immutable type objects: type attributes cannot be set nor deleted. " @@ -3897,7 +3924,7 @@ msgstr "" "type ne peuvent pas être affectés ou supprimés (contribution de *Victor " "Stinner* et d'*Erlend E. Aasland* dans :issue:`43908`)." -#: whatsnew/3.10.rst:2144 +#: whatsnew/3.10.rst:2147 msgid "" "The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:" "`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: " @@ -3906,7 +3933,7 @@ msgid "" "`353`. (Contributed by Victor Stinner in :issue:`40943`.)" msgstr "" -#: whatsnew/3.10.rst:2151 +#: whatsnew/3.10.rst:2154 msgid "" "Since :c:func:`Py_REFCNT()` is changed to the inline static function, " "``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, " @@ -3919,11 +3946,11 @@ msgstr "" "(disponible depuis Python 3.9). Pour la rétro-compatibilité, cette macro " "peut être utilisée ::" -#: whatsnew/3.10.rst:2160 +#: whatsnew/3.10.rst:2163 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`39573`)." -#: whatsnew/3.10.rst:2162 +#: whatsnew/3.10.rst:2165 msgid "" "Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed " "for historical reason. It is no longer allowed. (Contributed by Victor " @@ -3933,7 +3960,7 @@ msgstr "" "autorisé pour des raisons historiques. Ceci n'est plus permis (contribution " "de *Victor Stinner* dans :issue:`40839`)." -#: whatsnew/3.10.rst:2166 +#: whatsnew/3.10.rst:2169 msgid "" "``PyUnicode_FromUnicode(NULL, size)`` and " "``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " @@ -3945,7 +3972,7 @@ msgstr "" "func:`PyUnicode_New` pour allouer un objet Unicode sans donnée initiale " "(contribution de *Inada Naoki* dans :issue:`36346`)." -#: whatsnew/3.10.rst:2171 +#: whatsnew/3.10.rst:2174 msgid "" "The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API " "``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " @@ -3955,7 +3982,7 @@ msgstr "" "``unicodedata.ucnhash_CAPI`` a été déplacée dans l'API C interne. " "(Contribution par Victor Stinner dans :issue:`42157`.)" -#: whatsnew/3.10.rst:2175 +#: whatsnew/3.10.rst:2178 msgid "" ":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:" "func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:" @@ -3966,7 +3993,7 @@ msgid "" "issue:`42260`.)" msgstr "" -#: whatsnew/3.10.rst:2183 +#: whatsnew/3.10.rst:2186 msgid "" ":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:" "`PyCell_SET` macros can no longer be used as l-value or r-value. For " @@ -3976,7 +4003,7 @@ msgid "" "and Victor Stinner in :issue:`30459`.)" msgstr "" -#: whatsnew/3.10.rst:2190 +#: whatsnew/3.10.rst:2193 msgid "" "The non-limited API files ``odictobject.h``, ``parser_interface.h``, " "``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe." @@ -3984,10 +4011,10 @@ msgid "" "These files must not be included directly, as they are already included in " "``Python.h``: :ref:`Include Files `. If they have been " "included directly, consider including ``Python.h`` instead. (Contributed by " -"Nicholas Sim in :issue:`35134`)" +"Nicholas Sim in :issue:`35134`.)" msgstr "" -#: whatsnew/3.10.rst:2198 +#: whatsnew/3.10.rst:2201 msgid "" "Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " "type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a " @@ -3996,17 +4023,18 @@ msgid "" "issue:`43908`.)" msgstr "" -#: whatsnew/3.10.rst:2204 +#: whatsnew/3.10.rst:2207 +#, fuzzy msgid "" "The undocumented function ``Py_FrozenMain`` has been removed from the " "limited API. The function is mainly useful for custom builds of Python. " -"(Contributed by Petr Viktorin in :issue:`26241`)" +"(Contributed by Petr Viktorin in :issue:`26241`.)" msgstr "" "La fonction non-documentée ``Py_FrozenMain`` a été retirée de l'API limitée. " "La fonction est principalement utile pour les compilations personnalisées de " "Python (contribution de *Petr Viktorin* dans :issue:`26241`)." -#: whatsnew/3.10.rst:2211 +#: whatsnew/3.10.rst:2214 msgid "" "The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " "removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " @@ -4016,7 +4044,7 @@ msgstr "" "retirée dans Python 3.12 : utilisez plutôt :c:func:`PyUnicode_InternInPlace` " "(contribution de *Victor Stinner* dans :issue:`41692`)." -#: whatsnew/3.10.rst:2219 +#: whatsnew/3.10.rst:2222 msgid "" "Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " "(Contributed by Inada Naoki in :issue:`41123`.)" @@ -4024,7 +4052,7 @@ msgstr "" "Retrait des fonctions ``Py_UNICODE_str*`` manipulant des chaînes " "``Py_UNICODE*`` (contribution de *Inada Naoki* dans :issue:`41123`) :" -#: whatsnew/3.10.rst:2222 +#: whatsnew/3.10.rst:2225 msgid "" "``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:" "`PyUnicode_GET_LENGTH`" @@ -4032,7 +4060,7 @@ msgstr "" "``Py_UNICODE_strlen`` : utilisez :c:func:`PyUnicode_GetLength` ou :c:macro:" "`PyUnicode_GET_LENGTH` ;" -#: whatsnew/3.10.rst:2224 +#: whatsnew/3.10.rst:2227 msgid "" "``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" "`PyUnicode_FromFormat`" @@ -4040,7 +4068,7 @@ msgstr "" "``Py_UNICODE_strcat`` : utilisez :c:func:`PyUnicode_CopyCharacters` ou :c:" "func:`PyUnicode_FromFormat` ;" -#: whatsnew/3.10.rst:2226 +#: whatsnew/3.10.rst:2229 msgid "" "``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:" "`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" @@ -4048,15 +4076,15 @@ msgstr "" "``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy`` : utilisez :c:func:" "`PyUnicode_CopyCharacters` ou :c:func:`PyUnicode_Substring` ;" -#: whatsnew/3.10.rst:2228 +#: whatsnew/3.10.rst:2231 msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" msgstr "``Py_UNICODE_strcmp`` : utilisez :c:func:`PyUnicode_Compare` ;" -#: whatsnew/3.10.rst:2229 +#: whatsnew/3.10.rst:2232 msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" msgstr "``Py_UNICODE_strncmp`` : utilisez :c:func:`PyUnicode_Tailmatch` ;" -#: whatsnew/3.10.rst:2230 +#: whatsnew/3.10.rst:2233 msgid "" "``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" "`PyUnicode_FindChar`" @@ -4064,7 +4092,7 @@ msgstr "" "``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr`` : utilisez :c:func:" "`PyUnicode_FindChar`." -#: whatsnew/3.10.rst:2233 +#: whatsnew/3.10.rst:2236 msgid "" "Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " "(Contributed by Inada Naoki in :issue:`41103`.)" @@ -4072,7 +4100,7 @@ msgstr "" "Retrait de ``PyUnicode_GetMax()``. Vous devez migrer vers les nouvelles API " "de la :pep:`393` (contribution de *Inada Naoki* dans :issue:`41103`)." -#: whatsnew/3.10.rst:2236 +#: whatsnew/3.10.rst:2239 msgid "" "Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:" "`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)" @@ -4081,7 +4109,7 @@ msgstr "" "`PyLong_FromUnicodeObject` (contribution de *Inada Naoki* dans :issue:" "`41103`)." -#: whatsnew/3.10.rst:2239 +#: whatsnew/3.10.rst:2242 msgid "" "Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:" "`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed " @@ -4091,7 +4119,7 @@ msgstr "" "`PyUnicode_AsUCS4Copy` ou :c:func:`PyUnicode_AsWideCharString` (contribution " "de *Inada Naoki* dans :issue:`41103`)." -#: whatsnew/3.10.rst:2243 +#: whatsnew/3.10.rst:2246 msgid "" "Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by " "``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. " @@ -4101,7 +4129,7 @@ msgstr "" "par le champ ``ceval.recursion_limit`` de la structure :c:type:" "`PyInterpreterState` (contribution de *Victor Stinner* dans :issue:`41834`)." -#: whatsnew/3.10.rst:2247 +#: whatsnew/3.10.rst:2250 msgid "" "Removed undocumented macros ``Py_ALLOW_RECURSION`` and " "``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:" @@ -4113,7 +4141,7 @@ msgstr "" "structure :c:type:`PyInterpreterState` (contribution de *Serhiy Storchaka* " "dans :issue:`41936`)." -#: whatsnew/3.10.rst:2252 +#: whatsnew/3.10.rst:2255 msgid "" "Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing " "Python already implicitly installs signal handlers: see :c:member:`PyConfig." @@ -4124,7 +4152,7 @@ msgstr "" "façon implicite : voir :c:member:`PyConfig.install_signal_handlers` " "(contribution de *Victor Stinner* dans :issue:`41713`)." -#: whatsnew/3.10.rst:2257 +#: whatsnew/3.10.rst:2260 msgid "" "Remove the ``PyAST_Validate()`` function. It is no longer possible to build " "a AST object (``mod_ty`` type) with the public C API. The function was " @@ -4136,37 +4164,37 @@ msgstr "" "fonction était déjà retirée de l'API C limitée (:pep:`384`) (contribution de " "*Victor Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2262 +#: whatsnew/3.10.rst:2265 msgid "Remove the ``symtable.h`` header file and the undocumented functions:" msgstr "" "Retrait du fichier d'en-tête ``symtable.h`` et des fonctions non-" "documentées :" -#: whatsnew/3.10.rst:2264 +#: whatsnew/3.10.rst:2267 msgid "``PyST_GetScope()``" msgstr "``PyST_GetScope()`` ;" -#: whatsnew/3.10.rst:2265 +#: whatsnew/3.10.rst:2268 msgid "``PySymtable_Build()``" msgstr "``PySymtable_Build()`` ;" -#: whatsnew/3.10.rst:2266 +#: whatsnew/3.10.rst:2269 msgid "``PySymtable_BuildObject()``" msgstr "``PySymtable_BuildObject()`` ;" -#: whatsnew/3.10.rst:2267 +#: whatsnew/3.10.rst:2270 msgid "``PySymtable_Free()``" msgstr "``PySymtable_Free()`` ;" -#: whatsnew/3.10.rst:2268 +#: whatsnew/3.10.rst:2271 msgid "``Py_SymtableString()``" msgstr "``Py_SymtableString()`` ;" -#: whatsnew/3.10.rst:2269 +#: whatsnew/3.10.rst:2272 msgid "``Py_SymtableStringObject()``" msgstr "``Py_SymtableStringObject()``." -#: whatsnew/3.10.rst:2271 +#: whatsnew/3.10.rst:2274 msgid "" "The ``Py_SymtableString()`` function was part the stable ABI by mistake but " "it could not be used, because the ``symtable.h`` header file was excluded " @@ -4176,7 +4204,7 @@ msgstr "" "stable, mais elle ne pouvait pas être utilisée, car le fichier d'en-tête " "``symtable.h`` était exclu de l'API C limitée." -#: whatsnew/3.10.rst:2275 +#: whatsnew/3.10.rst:2278 msgid "" "Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner " "in :issue:`43244`.)" @@ -4184,7 +4212,7 @@ msgstr "" "Utilisez plutôt le module Python :mod:`symtable` (contribution de *Victor " "Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2278 +#: whatsnew/3.10.rst:2281 msgid "" "Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers " "and from ``python3.dll``, the library that provides the stable ABI on " @@ -4197,7 +4225,7 @@ msgstr "" "argument, la stabilité de son interface binaire-programme ne peut pas être " "garantie (contribution de *Petr Viktorin* dans :issue:`43868`)." -#: whatsnew/3.10.rst:2284 +#: whatsnew/3.10.rst:2287 msgid "" "Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These " "functions were undocumented and excluded from the limited C API. Most names " @@ -4216,7 +4244,7 @@ msgstr "" "Utilisez plutôt le module Python :mod:`ast` (contribution de *Victor " "Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2292 +#: whatsnew/3.10.rst:2295 msgid "" "Remove the compiler and parser functions using ``struct _mod`` type, because " "the public AST C API was removed:" @@ -4225,47 +4253,47 @@ msgstr "" "le type ``struct _mod`` car l'API C publique pour manipuler les *AST* a été " "retirée :" -#: whatsnew/3.10.rst:2295 +#: whatsnew/3.10.rst:2298 msgid "``PyAST_Compile()``" msgstr "``PyAST_Compile()`` ;" -#: whatsnew/3.10.rst:2296 +#: whatsnew/3.10.rst:2299 msgid "``PyAST_CompileEx()``" msgstr "``PyAST_CompileEx()`` ;" -#: whatsnew/3.10.rst:2297 +#: whatsnew/3.10.rst:2300 msgid "``PyAST_CompileObject()``" msgstr "``PyAST_CompileObject()`` ;" -#: whatsnew/3.10.rst:2298 +#: whatsnew/3.10.rst:2301 msgid "``PyFuture_FromAST()``" msgstr "``PyFuture_FromAST()`` ;" -#: whatsnew/3.10.rst:2299 +#: whatsnew/3.10.rst:2302 msgid "``PyFuture_FromASTObject()``" msgstr "``PyFuture_FromASTObject()`` ;" -#: whatsnew/3.10.rst:2300 +#: whatsnew/3.10.rst:2303 msgid "``PyParser_ASTFromFile()``" msgstr "``PyParser_ASTFromFile()`` ;" -#: whatsnew/3.10.rst:2301 +#: whatsnew/3.10.rst:2304 msgid "``PyParser_ASTFromFileObject()``" msgstr "``PyParser_ASTFromFileObject()`` ;" -#: whatsnew/3.10.rst:2302 +#: whatsnew/3.10.rst:2305 msgid "``PyParser_ASTFromFilename()``" msgstr "``PyParser_ASTFromFilename()`` ;" -#: whatsnew/3.10.rst:2303 +#: whatsnew/3.10.rst:2306 msgid "``PyParser_ASTFromString()``" msgstr "``PyParser_ASTFromString()`` ;" -#: whatsnew/3.10.rst:2304 +#: whatsnew/3.10.rst:2307 msgid "``PyParser_ASTFromStringObject()``" msgstr "``PyParser_ASTFromStringObject()``." -#: whatsnew/3.10.rst:2306 +#: whatsnew/3.10.rst:2309 msgid "" "These functions were undocumented and excluded from the limited C API. " "(Contributed by Victor Stinner in :issue:`43244`.)" @@ -4273,27 +4301,27 @@ msgstr "" "Ces fonctions étaient non-documentées et exclues de l'API C limitée " "(contribution de *Victor Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2309 +#: whatsnew/3.10.rst:2312 msgid "Remove the ``pyarena.h`` header file with functions:" msgstr "Retrait du fichier d'en-tête ``pyarena.h`` et des fonctions :" -#: whatsnew/3.10.rst:2311 +#: whatsnew/3.10.rst:2314 msgid "``PyArena_New()``" msgstr "``PyArena_New()`` ;" -#: whatsnew/3.10.rst:2312 +#: whatsnew/3.10.rst:2315 msgid "``PyArena_Free()``" msgstr "``PyArena_Free()`` ;" -#: whatsnew/3.10.rst:2313 +#: whatsnew/3.10.rst:2316 msgid "``PyArena_Malloc()``" msgstr "``PyArena_Malloc()`` ;" -#: whatsnew/3.10.rst:2314 +#: whatsnew/3.10.rst:2317 msgid "``PyArena_AddPyObject()``" msgstr "``PyArena_AddPyObject()``." -#: whatsnew/3.10.rst:2316 +#: whatsnew/3.10.rst:2319 msgid "" "These functions were undocumented, excluded from the limited C API, and were " "only used internally by the compiler. (Contributed by Victor Stinner in :" @@ -4303,7 +4331,7 @@ msgstr "" "n'étaient utilisées que par le compilateur dans l'implémentation interne " "(contribution de *Victor Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2320 +#: whatsnew/3.10.rst:2323 msgid "" "The ``PyThreadState.use_tracing`` member has been removed to optimize " "Python. (Contributed by Mark Shannon in :issue:`43760`.)" @@ -4311,6 +4339,46 @@ msgstr "" "Retrait du champ ``PyThreadState.use_tracing`` pour optimiser Python " "(contribution de *Mark Shannon* dans :issue:`43760`)." +#: whatsnew/3.10.rst:2328 +msgid "Notable security feature in 3.10.7" +msgstr "" + +#: whatsnew/3.10.rst:2330 +msgid "" +"Converting between :class:`int` and :class:`str` in bases other than 2 " +"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " +"now raises a :exc:`ValueError` if the number of digits in string form is " +"above a limit to avoid potential denial of service attacks due to the " +"algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " +"configured or disabled by environment variable, command line flag, or :mod:" +"`sys` APIs. See the :ref:`integer string conversion length limitation " +"` documentation. The default limit is 4300 digits in " +"string form." +msgstr "" + +#: whatsnew/3.10.rst:2342 +msgid "Notable security feature in 3.10.8" +msgstr "" + +#: whatsnew/3.10.rst:2344 +msgid "" +"The deprecated :mod:`mailcap` module now refuses to inject unsafe text " +"(filenames, MIME types, parameters) into shell commands. Instead of using " +"such text, it will warn and act as if a match was not found (or for test " +"commands, as if the test failed). (Contributed by Petr Viktorin in :gh:" +"`98966`.)" +msgstr "" + +#~ msgid "" +#~ "This article explains the new features in Python 3.10, compared to 3.9." +#~ msgstr "" +#~ "Cet article explique les nouvelles fonctionnalités de Python 3.10 par " +#~ "rapport à la version 3.9." + +#~ msgid "For full details, see the :ref:`changelog `." +#~ msgstr "Pour plus de détails, voir le :ref:`changelog `." + #~ msgid "" #~ "We expect to backport these shell changes to a future 3.9 maintenance " #~ "release." diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index cf586f7579..5c91213811 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2022-10-18 12:22+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -28,10 +28,10 @@ msgstr "Raymond Hettinger" #: whatsnew/3.2.rst:51 msgid "" -"This article explains the new features in Python 3.2 as compared to 3.1. It " -"focuses on a few highlights and gives a few examples. For full details, see " -"the `Misc/NEWS `_ file." +"This article explains the new features in Python 3.2 as compared to 3.1. " +"Python 3.2 was released on February 20, 2011. It focuses on a few highlights " +"and gives a few examples. For full details, see the `Misc/NEWS `_ file." msgstr "" #: whatsnew/3.2.rst:59 @@ -1051,7 +1051,7 @@ msgstr "" #: whatsnew/3.2.rst:974 msgid "" -"See `Barrier Synchronization Patterns `_ for more examples " "of how barriers can be used in parallel computing. Also, there is a simple " "but thorough explanation of barriers in `The Little Book of Semaphores " @@ -1765,7 +1765,7 @@ msgid "" "The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* " "argument. The *ciphers* string lists the allowed encryption algorithms " "using the format described in the `OpenSSL documentation `__." +"openssl.org/docs/man1.0.2/man1/ciphers.html#CIPHER-LIST-FORMAT>`__." msgstr "" #: whatsnew/3.2.rst:1651 @@ -1930,7 +1930,7 @@ msgid "" "instead of module names for running specific tests (:issue:`10620`). The " "new test discovery can find tests within packages, locating any test " "importable from the top-level directory. The top-level directory can be " -"specified with the `-t` option, a pattern for matching files with ``-p``, " +"specified with the ``-t`` option, a pattern for matching files with ``-p``, " "and a directory to start discovery with ``-s``:" msgstr "" @@ -2110,7 +2110,7 @@ msgstr "asyncore" #: whatsnew/3.2.rst:1858 msgid "" ":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher." -"handle_accepted()` method returning a `(sock, addr)` pair which is called " +"handle_accepted()` method returning a ``(sock, addr)`` pair which is called " "when a connection has actually been established with a new remote endpoint. " "This is supposed to be used as a replacement for old :meth:`~asyncore." "dispatcher.handle_accept()` and avoids the user to call :meth:`~asyncore." @@ -2713,7 +2713,7 @@ msgstr "Unicode" #: whatsnew/3.2.rst:2420 msgid "" -"Python has been updated to `Unicode 6.0.0 `_. The update to the standard adds over 2,000 new characters " "including `emoji `_ symbols which are " "important for mobile phones." @@ -2725,7 +2725,7 @@ msgid "" "two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric " "character (U+19DA), making the former eligible for use in identifiers while " "disqualifying the latter. For more information, see `Unicode Character " -"Database Changes `_." msgstr "" @@ -2863,7 +2863,7 @@ msgstr "" #: whatsnew/3.2.rst:2509 msgid "" -"In addition to the existing Subversion code repository at http://svn.python." +"In addition to the existing Subversion code repository at https://svn.python." "org there is now a `Mercurial `_ repository " "at https://hg.python.org/\\ ." msgstr "" @@ -3008,14 +3008,16 @@ msgstr "" #: whatsnew/3.2.rst:2594 msgid "" -"There were a number of other small changes to the C-API. See the :source:" -"`Misc/NEWS` file for a complete list." +"There were a number of other small changes to the C-API. See the `Misc/NEWS " +"`_ file for a " +"complete list." msgstr "" -#: whatsnew/3.2.rst:2597 +#: whatsnew/3.2.rst:2598 msgid "" -"Also, there were a number of updates to the Mac OS X build, see :source:`Mac/" -"BuildScript/README.txt` for details. For users running a 32/64-bit build, " +"Also, there were a number of updates to the Mac OS X build, see `Mac/" +"BuildScript/README.txt `_ for details. For users running a 32/64-bit build, " "there is a known problem with the default Tcl/Tk on Mac OS X 10.6. " "Accordingly, we recommend installing an updated alternative such as " "`ActiveState Tcl/Tk 8.5.9 `_.)" msgstr "" -#: whatsnew/3.2.rst:2693 +#: whatsnew/3.2.rst:2695 msgid "" ":func:`struct.pack` now only allows bytes for the ``s`` string pack code. " "Formerly, it would accept text arguments and implicitly encode them to bytes " @@ -3177,32 +3179,32 @@ msgid "" "writing to fixed length segment of a structure." msgstr "" -#: whatsnew/3.2.rst:2699 +#: whatsnew/3.2.rst:2701 msgid "" "Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten " "with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, " "y)``." msgstr "" -#: whatsnew/3.2.rst:2702 +#: whatsnew/3.2.rst:2704 msgid "" "(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)" msgstr "" -#: whatsnew/3.2.rst:2704 +#: whatsnew/3.2.rst:2706 msgid "" "The :class:`xml.etree.ElementTree` class now raises an :exc:`xml.etree." "ElementTree.ParseError` when a parse fails. Previously it raised an :exc:" "`xml.parsers.expat.ExpatError`." msgstr "" -#: whatsnew/3.2.rst:2708 +#: whatsnew/3.2.rst:2710 msgid "" "The new, longer :func:`str` value on floats may break doctests which rely on " "the old output format." msgstr "" -#: whatsnew/3.2.rst:2711 +#: whatsnew/3.2.rst:2713 msgid "" "In :class:`subprocess.Popen`, the default value for *close_fds* is now " "``True`` under Unix; under Windows, it is ``True`` if the three standard " @@ -3211,28 +3213,28 @@ msgid "" "race conditions when open file descriptors would leak into the child process." msgstr "" -#: whatsnew/3.2.rst:2718 +#: whatsnew/3.2.rst:2720 msgid "" "Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and :" "mod:`http.client`. Such support is still present on the server side (in :" "mod:`http.server`)." msgstr "" -#: whatsnew/3.2.rst:2722 +#: whatsnew/3.2.rst:2724 msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)" msgstr "(Contribution par Antoine Pitrou; :issue:`10711`.)" -#: whatsnew/3.2.rst:2724 +#: whatsnew/3.2.rst:2726 msgid "" "SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout " "occurs, rather than a generic :exc:`~ssl.SSLError`." msgstr "" -#: whatsnew/3.2.rst:2727 +#: whatsnew/3.2.rst:2729 msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)" msgstr "(Contribution par Antoine Pitrou; :issue:`10272`.)" -#: whatsnew/3.2.rst:2729 +#: whatsnew/3.2.rst:2731 msgid "" "The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:" "`PyEval_ReleaseLock()` have been officially deprecated. The thread-state " @@ -3240,18 +3242,18 @@ msgid "" "`PyEval_RestoreThread()`) should be used instead." msgstr "" -#: whatsnew/3.2.rst:2734 +#: whatsnew/3.2.rst:2736 msgid "" "Due to security risks, :func:`asyncore.handle_accept` has been deprecated, " "and a new function, :func:`asyncore.handle_accepted`, was added to replace " "it." msgstr "" -#: whatsnew/3.2.rst:2737 +#: whatsnew/3.2.rst:2739 msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)" msgstr "(Contribution par Giampaolo Rodola; :issue:`6706`.)" -#: whatsnew/3.2.rst:2739 +#: whatsnew/3.2.rst:2741 msgid "" "Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` " "cannot be called before :c:func:`Py_Initialize()` anymore." diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index be63ca34f9..f63cc434e6 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-07-31 23:09+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -134,7 +134,7 @@ msgstr "" msgid "" "Virtual environments help create separate Python setups while sharing a " "system-wide base install, for ease of maintenance. Virtual environments " -"have their own set of private site packages (i.e. locally-installed " +"have their own set of private site packages (i.e. locally installed " "libraries), and are optionally segregated from the system-wide site " "packages. Their concept and implementation are inspired by the popular " "``virtualenv`` third-party package, but benefit from tighter integration " @@ -1174,7 +1174,7 @@ msgstr "" #: whatsnew/3.3.rst:901 msgid "" -"The newly-added :mod:`lzma` module provides data compression and " +"The newly added :mod:`lzma` module provides data compression and " "decompression using the LZMA algorithm, including support for the ``.xz`` " "and ``.lzma`` file formats." msgstr "" @@ -1233,7 +1233,7 @@ msgstr "array" #: whatsnew/3.3.rst:935 msgid "" -"The :mod:`array` module supports the :c:type:`long long` type using ``q`` " +"The :mod:`array` module supports the :c:expr:`long long` type using ``q`` " "and ``Q`` type codes." msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: whatsnew/3.3.rst:1098 msgid "" "The new C version of the decimal module integrates the high speed libmpdec " -"library for arbitrary precision correctly-rounded decimal floating point " +"library for arbitrary precision correctly rounded decimal floating point " "arithmetic. libmpdec conforms to IBM's General Decimal Arithmetic " "Specification." msgstr "" @@ -1518,7 +1518,7 @@ msgstr "" #: whatsnew/3.3.rst:1108 msgid "" "The following table is meant as an illustration. Benchmarks are available at " -"http://www.bytereef.org/mpdecimal/quickstart.html." +"https://www.bytereef.org/mpdecimal/quickstart.html." msgstr "" #: whatsnew/3.3.rst:1112 @@ -1657,8 +1657,8 @@ msgstr "" #: whatsnew/3.3.rst:1161 msgid "" -"The power function in decimal.py is always correctly-rounded. In the C " -"version, it is defined in terms of the correctly-rounded :meth:`~decimal." +"The power function in decimal.py is always correctly rounded. In the C " +"version, it is defined in terms of the correctly rounded :meth:`~decimal." "Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but the final result " "is only \"almost always correctly rounded\"." msgstr "" @@ -2760,7 +2760,7 @@ msgstr "" #: whatsnew/3.3.rst:1900 msgid "" "New function :func:`~socket.sethostname` allows the hostname to be set on " -"unix systems if the calling process has sufficient privileges. (Contributed " +"Unix systems if the calling process has sufficient privileges. (Contributed " "by Ross Lagerwall in :issue:`10866`.)" msgstr "" @@ -3123,7 +3123,7 @@ msgstr "zlib" #: whatsnew/3.3.rst:2139 msgid "" "New attribute :attr:`zlib.Decompress.eof` makes it possible to distinguish " -"between a properly-formed compressed stream and an incomplete or truncated " +"between a properly formed compressed stream and an incomplete or truncated " "one. (Contributed by Nadeem Vawda in :issue:`12646`.)" msgstr "" @@ -3384,7 +3384,7 @@ msgstr "" #: whatsnew/3.3.rst:2269 msgid "" -"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:type:" +"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:expr:" "`Py_UNICODE*` types:" msgstr "" @@ -3656,11 +3656,11 @@ msgstr "" #: whatsnew/3.3.rst:2392 msgid "" -":class:`importlib.abc.Finder` no longer specifies a `find_module()` abstract " -"method that must be implemented. If you were relying on subclasses to " -"implement that method, make sure to check for the method's existence first. " -"You will probably want to check for `find_loader()` first, though, in the " -"case of working with :term:`path entry finders `." +":class:`importlib.abc.Finder` no longer specifies a ``find_module()`` " +"abstract method that must be implemented. If you were relying on subclasses " +"to implement that method, make sure to check for the method's existence " +"first. You will probably want to check for ``find_loader()`` first, though, " +"in the case of working with :term:`path entry finders `." msgstr "" #: whatsnew/3.3.rst:2398 diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index 694dbea58b..4e323e38c1 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -2248,7 +2248,7 @@ msgid "" "block becomes a \"sub-test\". This context manager allows a test method to " "dynamically generate subtests by, say, calling the ``subTest`` context " "manager inside a loop. A single test method can thereby produce an " -"indefinite number of separately-identified and separately-counted tests, all " +"indefinite number of separately identified and separately counted tests, all " "of which will run even if one or more of them fail. For example::" msgstr "" @@ -2665,7 +2665,7 @@ msgid "" "A new ``make`` target `coverage-report `_ will build python, run " "the test suite, and generate an HTML coverage report for the C codebase " -"using ``gcov`` and `lcov `_." +"using ``gcov`` and `lcov `_." msgstr "" #: whatsnew/3.4.rst:1968 @@ -2815,7 +2815,7 @@ msgstr "" #: whatsnew/3.4.rst:2059 msgid "" -":func:`os.urandom` now uses a lazily-opened persistent file descriptor so as " +":func:`os.urandom` now uses a lazily opened persistent file descriptor so as " "to avoid using many file descriptors when run in parallel from multiple " "threads. (Contributed by Antoine Pitrou in :issue:`18756`.)" msgstr "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 0b773edbaf..769cb37fc4 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2017-08-10 00:52+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -1515,7 +1515,7 @@ msgstr "imghdr" #: whatsnew/3.5.rst:1255 msgid "" -"The :func:`~imghdr.what` function now recognizes the `OpenEXR `_ format (contributed by Martin Vignali and Claudiu Popa in :" "issue:`20295`), and the `WebP `_ format " "(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" @@ -2445,7 +2445,7 @@ msgstr "unicodedata" #: whatsnew/3.5.rst:1979 msgid "" -"The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 `_." msgstr "" @@ -3214,12 +3214,12 @@ msgid "" "optional ``opt-`` tag in ``.pyc`` file names. The :func:`importlib.util." "cache_from_source` has gained an *optimization* parameter to help control " "the ``opt-`` tag. Because of this, the *debug_override* parameter of the " -"function is now deprecated. `.pyo` files are also no longer supported as a " +"function is now deprecated. ``.pyo`` files are also no longer supported as a " "file argument to the Python interpreter and thus serve no purpose when " "distributed on their own (i.e. sourceless code distribution). Due to the " -"fact that the magic number for bytecode has changed in Python 3.5, all old `." -"pyo` files from previous versions of Python are invalid regardless of this " -"PEP." +"fact that the magic number for bytecode has changed in Python 3.5, all old " +"``.pyo`` files from previous versions of Python are invalid regardless of " +"this PEP." msgstr "" #: whatsnew/3.5.rst:2479 diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 29e04c75e1..17905d142c 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-10-13 17:48+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -1144,7 +1144,7 @@ msgid "" "Hettinger in :issue:`17941`.)" msgstr "" -#: whatsnew/3.6.rst:2278 +#: whatsnew/3.6.rst:2279 msgid "" "The *verbose* and *rename* arguments for :func:`~collections.namedtuple` are " "now keyword-only. (Contributed by Raymond Hettinger in :issue:`25628`.)" @@ -1176,8 +1176,8 @@ msgstr "contextlib" msgid "" "The :class:`contextlib.AbstractContextManager` class has been added to " "provide an abstract base class for context managers. It provides a sensible " -"default implementation for `__enter__()` which returns ``self`` and leaves " -"`__exit__()` an abstract method. A matching class has been added to the :" +"default implementation for ``__enter__()`` which returns ``self`` and leaves " +"``__exit__()`` an abstract method. A matching class has been added to the :" "mod:`typing` module as :class:`typing.ContextManager`. (Contributed by Brett " "Cannon in :issue:`25609`.)" msgstr "" @@ -1772,7 +1772,7 @@ msgstr "site" #: whatsnew/3.6.rst:1391 msgid "" -"When specifying paths to add to :attr:`sys.path` in a `.pth` file, you may " +"When specifying paths to add to :attr:`sys.path` in a ``.pth`` file, you may " "now specify file paths on top of directories (e.g. zip files). (Contributed " "by Wolfgang Langner in :issue:`26587`)." msgstr "" @@ -1823,7 +1823,7 @@ msgstr "" #: whatsnew/3.6.rst:1424 msgid "" "New Linux constants ``TCP_USER_TIMEOUT`` and ``TCP_CONGESTION`` were added. " -"(Contributed by Omar Sandoval, issue:`26273`)." +"(Contributed by Omar Sandoval, :issue:`26273`)." msgstr "" #: whatsnew/3.6.rst:1429 @@ -2119,7 +2119,7 @@ msgstr "unicodedata" #: whatsnew/3.6.rst:1646 msgid "" -"The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 `_. (Contributed by Benjamin Peterson.)" msgstr "" @@ -2765,19 +2765,20 @@ msgid "" "platform specific ``Lib/plat-*/`` directories, but were chronically out of " "date, inconsistently available across platforms, and unmaintained. The " "script that created these modules is still available in the source " -"distribution at :source:`Tools/scripts/h2py.py`." +"distribution at `Tools/scripts/h2py.py `_." msgstr "" -#: whatsnew/3.6.rst:2122 +#: whatsnew/3.6.rst:2123 msgid "The deprecated ``asynchat.fifo`` class has been removed." msgstr "" -#: whatsnew/3.6.rst:2126 +#: whatsnew/3.6.rst:2127 #, fuzzy msgid "Porting to Python 3.6" msgstr "Portage vers Python 2.6" -#: whatsnew/3.6.rst:2128 +#: whatsnew/3.6.rst:2129 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -2785,11 +2786,11 @@ msgstr "" "Cette section liste les changements mentionnés préalablement et d'autres " "améliorations qui peuvent demander des changements à votre code." -#: whatsnew/3.6.rst:2132 +#: whatsnew/3.6.rst:2133 msgid "Changes in 'python' Command Behavior" msgstr "" -#: whatsnew/3.6.rst:2134 +#: whatsnew/3.6.rst:2135 msgid "" "The output of a special Python build with defined ``COUNT_ALLOCS``, " "``SHOW_ALLOC_COUNT`` or ``SHOW_TRACK_COUNT`` macros is now off by default. " @@ -2798,42 +2799,42 @@ msgid "" "issue:`23034`.)" msgstr "" -#: whatsnew/3.6.rst:2142 +#: whatsnew/3.6.rst:2143 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" -#: whatsnew/3.6.rst:2144 +#: whatsnew/3.6.rst:2145 msgid "" ":func:`open() ` will no longer allow combining the ``'U'`` mode flag " "with ``'+'``. (Contributed by Jeff Balogh and John O'Connor in :issue:" "`2091`.)" msgstr "" -#: whatsnew/3.6.rst:2148 +#: whatsnew/3.6.rst:2149 msgid "" ":mod:`sqlite3` no longer implicitly commits an open transaction before DDL " "statements." msgstr "" -#: whatsnew/3.6.rst:2151 +#: whatsnew/3.6.rst:2152 msgid "" "On Linux, :func:`os.urandom` now blocks until the system urandom entropy " "pool is initialized to increase the security." msgstr "" -#: whatsnew/3.6.rst:2154 +#: whatsnew/3.6.rst:2155 msgid "" "When :meth:`importlib.abc.Loader.exec_module` is defined, :meth:`importlib." "abc.Loader.create_module` must also be defined." msgstr "" -#: whatsnew/3.6.rst:2157 +#: whatsnew/3.6.rst:2158 msgid "" ":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " "argument is not set. Previously only ``NULL`` was returned." msgstr "" -#: whatsnew/3.6.rst:2160 +#: whatsnew/3.6.rst:2161 msgid "" "The format of the ``co_lnotab`` attribute of code objects changed to support " "a negative line number delta. By default, Python does not emit bytecode with " @@ -2846,7 +2847,7 @@ msgid "" "see the :pep:`511` for the rationale." msgstr "" -#: whatsnew/3.6.rst:2170 +#: whatsnew/3.6.rst:2171 msgid "" "The functions in the :mod:`compileall` module now return booleans instead of " "``1`` or ``0`` to represent success or failure, respectively. Thanks to " @@ -2854,7 +2855,7 @@ msgid "" "were doing identity checks for ``1`` or ``0``. See :issue:`25768`." msgstr "" -#: whatsnew/3.6.rst:2175 +#: whatsnew/3.6.rst:2176 msgid "" "Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" "`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " @@ -2862,13 +2863,13 @@ msgid "" "const:`None`. See :issue:`20059`." msgstr "" -#: whatsnew/3.6.rst:2180 +#: whatsnew/3.6.rst:2181 msgid "" "The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead of :exc:" "`PendingDeprecationWarning`." msgstr "" -#: whatsnew/3.6.rst:2183 +#: whatsnew/3.6.rst:2184 msgid "" "The following modules have had missing APIs added to their :attr:`__all__` " "attributes to match the documented APIs: :mod:`calendar`, :mod:`cgi`, :mod:" @@ -2880,21 +2881,21 @@ msgid "" "Kołodziej in :issue:`23883`.)" msgstr "" -#: whatsnew/3.6.rst:2194 +#: whatsnew/3.6.rst:2195 msgid "" "When performing a relative import, if ``__package__`` does not compare equal " "to ``__spec__.parent`` then :exc:`ImportWarning` is raised. (Contributed by " "Brett Cannon in :issue:`25791`.)" msgstr "" -#: whatsnew/3.6.rst:2198 +#: whatsnew/3.6.rst:2199 msgid "" "When a relative import is performed and no parent package is known, then :" "exc:`ImportError` will be raised. Previously, :exc:`SystemError` could be " "raised. (Contributed by Brett Cannon in :issue:`18018`.)" msgstr "" -#: whatsnew/3.6.rst:2202 +#: whatsnew/3.6.rst:2203 msgid "" "Servers based on the :mod:`socketserver` module, including those defined in :" "mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " @@ -2905,20 +2906,20 @@ msgid "" "(Contributed by Martin Panter in :issue:`23430`.)" msgstr "" -#: whatsnew/3.6.rst:2211 +#: whatsnew/3.6.rst:2212 msgid "" ":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" "`KeyError` if the user doesn't have privileges." msgstr "" -#: whatsnew/3.6.rst:2214 +#: whatsnew/3.6.rst:2215 msgid "" "The :meth:`socket.socket.close` method now raises an exception if an error " "(e.g. ``EBADF``) was reported by the underlying system call. (Contributed by " "Martin Panter in :issue:`26685`.)" msgstr "" -#: whatsnew/3.6.rst:2218 +#: whatsnew/3.6.rst:2219 msgid "" "The *decode_data* argument for the :class:`smtpd.SMTPChannel` and :class:" "`smtpd.SMTPServer` constructors is now ``False`` by default. This means that " @@ -2928,7 +2929,7 @@ msgid "" "deprecation warning generated by 3.5 will not be affected." msgstr "" -#: whatsnew/3.6.rst:2226 +#: whatsnew/3.6.rst:2227 msgid "" "All optional arguments of the :func:`~json.dump`, :func:`~json.dumps`, :func:" "`~json.load` and :func:`~json.loads` functions and :class:`~json." @@ -2937,7 +2938,7 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`18726`.)" msgstr "" -#: whatsnew/3.6.rst:2233 +#: whatsnew/3.6.rst:2234 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -2946,7 +2947,7 @@ msgstr "" "ne devraient plus utiliser la forme à un argument pour récupérer le type " "d'un objet." -#: whatsnew/3.6.rst:2236 +#: whatsnew/3.6.rst:2237 msgid "" "As part of :pep:`487`, the handling of keyword arguments passed to :class:" "`type` (other than the metaclass hint, ``metaclass``) is now consistently " @@ -2958,7 +2959,7 @@ msgid "" "__new__` (whether direct or via :class:`super`) accordingly." msgstr "" -#: whatsnew/3.6.rst:2245 +#: whatsnew/3.6.rst:2246 msgid "" "In :class:`distutils.command.sdist.sdist`, the ``default_format`` attribute " "has been removed and is no longer honored. Instead, the gzipped tarfile " @@ -2968,13 +2969,13 @@ msgid "" "containing the following:" msgstr "" -#: whatsnew/3.6.rst:2258 +#: whatsnew/3.6.rst:2259 msgid "" "This behavior has also been backported to earlier Python versions by " "Setuptools 26.0.0." msgstr "" -#: whatsnew/3.6.rst:2261 +#: whatsnew/3.6.rst:2262 msgid "" "In the :mod:`urllib.request` module and the :meth:`http.client." "HTTPConnection.request` method, if no Content-Length header field has been " @@ -2985,47 +2986,47 @@ msgid "" "`12319`.)" msgstr "" -#: whatsnew/3.6.rst:2270 +#: whatsnew/3.6.rst:2271 msgid "" "The :class:`~csv.DictReader` now returns rows of type :class:`~collections." "OrderedDict`. (Contributed by Steve Holden in :issue:`27842`.)" msgstr "" -#: whatsnew/3.6.rst:2274 +#: whatsnew/3.6.rst:2275 msgid "" "The :const:`crypt.METHOD_CRYPT` will no longer be added to ``crypt.methods`` " "if unsupported by the platform. (Contributed by Victor Stinner in :issue:" "`25287`.)" msgstr "" -#: whatsnew/3.6.rst:2282 +#: whatsnew/3.6.rst:2283 msgid "" "On Linux, :func:`ctypes.util.find_library` now looks in ``LD_LIBRARY_PATH`` " "for shared libraries. (Contributed by Vinay Sajip in :issue:`9998`.)" msgstr "" -#: whatsnew/3.6.rst:2286 +#: whatsnew/3.6.rst:2287 msgid "" "The :class:`imaplib.IMAP4` class now handles flags containing the ``']'`` " "character in messages sent from the server to improve real-world " "compatibility. (Contributed by Lita Cho in :issue:`21815`.)" msgstr "" -#: whatsnew/3.6.rst:2291 +#: whatsnew/3.6.rst:2292 msgid "" "The :func:`mmap.write() ` function now returns the number of " "bytes written like other write methods. (Contributed by Jakub Stasiak in :" "issue:`26335`.)" msgstr "" -#: whatsnew/3.6.rst:2295 +#: whatsnew/3.6.rst:2296 msgid "" "The :func:`pkgutil.iter_modules` and :func:`pkgutil.walk_packages` functions " "now return :class:`~pkgutil.ModuleInfo` named tuples. (Contributed by " "Ramchandra Apte in :issue:`17211`.)" msgstr "" -#: whatsnew/3.6.rst:2299 +#: whatsnew/3.6.rst:2300 msgid "" ":func:`re.sub` now raises an error for invalid numerical group references in " "replacement templates even if the pattern is not found in the string. The " @@ -3034,7 +3035,7 @@ msgid "" "in :issue:`25953`.)" msgstr "" -#: whatsnew/3.6.rst:2305 +#: whatsnew/3.6.rst:2306 msgid "" ":class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for " "unrecognized compression values. Previously a plain :exc:`RuntimeError` was " @@ -3044,7 +3045,7 @@ msgid "" "`RuntimeError` was raised in those scenarios." msgstr "" -#: whatsnew/3.6.rst:2312 +#: whatsnew/3.6.rst:2313 msgid "" "when custom metaclasses are combined with zero-argument :func:`super` or " "direct references from methods to the implicit ``__class__`` closure " @@ -3054,7 +3055,7 @@ msgid "" "Python 3.8." msgstr "" -#: whatsnew/3.6.rst:2319 +#: whatsnew/3.6.rst:2320 msgid "" "With the introduction of :exc:`ModuleNotFoundError`, import system consumers " "may start expecting import system replacements to raise that more specific " @@ -3067,11 +3068,11 @@ msgid "" "the default import system will raise the new subclass when appropriate." msgstr "" -#: whatsnew/3.6.rst:2331 +#: whatsnew/3.6.rst:2332 msgid "Changes in the C API" msgstr "Changements dans l'API C" -#: whatsnew/3.6.rst:2333 +#: whatsnew/3.6.rst:2334 msgid "" "The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " "allocator ` rather than the system :c:func:`malloc`. Applications " @@ -3080,29 +3081,29 @@ msgid "" "usage of memory allocators in your application. See :issue:`26249`." msgstr "" -#: whatsnew/3.6.rst:2339 +#: whatsnew/3.6.rst:2340 msgid "" ":c:func:`Py_Exit` (and the main interpreter) now override the exit status " "with 120 if flushing buffered data failed. See :issue:`5319`." msgstr "" -#: whatsnew/3.6.rst:2344 +#: whatsnew/3.6.rst:2345 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" -#: whatsnew/3.6.rst:2346 +#: whatsnew/3.6.rst:2347 msgid "" "There have been several major changes to the :term:`bytecode` in Python 3.6." msgstr "" -#: whatsnew/3.6.rst:2348 +#: whatsnew/3.6.rst:2349 msgid "" "The Python interpreter now uses a 16-bit wordcode instead of bytecode. " "(Contributed by Demur Rumed with input and reviews from Serhiy Storchaka and " "Victor Stinner in :issue:`26647` and :issue:`28050`.)" msgstr "" -#: whatsnew/3.6.rst:2352 +#: whatsnew/3.6.rst:2353 msgid "" "The new :opcode:`FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part of " "the :ref:`formatted string literal ` implementation. " @@ -3110,14 +3111,14 @@ msgid "" "`27078`.)" msgstr "" -#: whatsnew/3.6.rst:2357 +#: whatsnew/3.6.rst:2358 msgid "" "The new :opcode:`BUILD_CONST_KEY_MAP` opcode to optimize the creation of " "dictionaries with constant keys. (Contributed by Serhiy Storchaka in :issue:" "`27140`.)" msgstr "" -#: whatsnew/3.6.rst:2361 +#: whatsnew/3.6.rst:2362 msgid "" "The function call opcodes have been heavily reworked for better performance " "and simpler implementation. The :opcode:`MAKE_FUNCTION`, :opcode:" @@ -3129,22 +3130,22 @@ msgid "" "issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" msgstr "" -#: whatsnew/3.6.rst:2372 +#: whatsnew/3.6.rst:2373 msgid "" "The new :opcode:`SETUP_ANNOTATIONS` and :opcode:`STORE_ANNOTATION` opcodes " "have been added to support the new :term:`variable annotation` syntax. " "(Contributed by Ivan Levkivskyi in :issue:`27985`.)" msgstr "" -#: whatsnew/3.6.rst:2378 +#: whatsnew/3.6.rst:2379 msgid "Notable changes in Python 3.6.2" msgstr "" -#: whatsnew/3.6.rst:2381 +#: whatsnew/3.6.rst:2382 msgid "New ``make regen-all`` build target" msgstr "" -#: whatsnew/3.6.rst:2383 +#: whatsnew/3.6.rst:2384 msgid "" "To simplify cross-compilation, and to ensure that CPython can reliably be " "compiled without requiring an existing version of Python to already be " @@ -3152,44 +3153,44 @@ msgid "" "recompile generated files based on file modification times." msgstr "" -#: whatsnew/3.6.rst:2388 +#: whatsnew/3.6.rst:2389 msgid "" "Instead, a new ``make regen-all`` command has been added to force " "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" -#: whatsnew/3.6.rst:2392 +#: whatsnew/3.6.rst:2393 msgid "" "More selective regeneration targets are also defined - see :source:`Makefile." "pre.in` for details." msgstr "" -#: whatsnew/3.6.rst:2408 +#: whatsnew/3.6.rst:2409 #, fuzzy msgid "(Contributed by Victor Stinner in :issue:`23404`.)" msgstr "(Contribution par Victor Stinner; :issue:`12049`.)" -#: whatsnew/3.6.rst:2401 +#: whatsnew/3.6.rst:2402 msgid "Removal of ``make touch`` build target" msgstr "" -#: whatsnew/3.6.rst:2403 +#: whatsnew/3.6.rst:2404 msgid "" "The ``make touch`` build target previously used to request implicit " "regeneration of generated files by updating their modification times has " "been removed." msgstr "" -#: whatsnew/3.6.rst:2406 +#: whatsnew/3.6.rst:2407 msgid "It has been replaced by the new ``make regen-all`` target." msgstr "" -#: whatsnew/3.6.rst:2414 +#: whatsnew/3.6.rst:2415 msgid "Notable changes in Python 3.6.4" msgstr "" -#: whatsnew/3.6.rst:2416 +#: whatsnew/3.6.rst:2417 msgid "" "The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " "has been removed as its members being never cleared may cause a segfault " @@ -3197,22 +3198,22 @@ msgid "" "issue:`22898` and :issue:`30697`.)" msgstr "" -#: whatsnew/3.6.rst:2423 +#: whatsnew/3.6.rst:2424 msgid "Notable changes in Python 3.6.5" msgstr "" -#: whatsnew/3.6.rst:2425 +#: whatsnew/3.6.rst:2426 msgid "" "The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` " "locale to the ``LC_NUMERIC`` locale in some cases. (Contributed by Victor " "Stinner in :issue:`31900`.)" msgstr "" -#: whatsnew/3.6.rst:2430 +#: whatsnew/3.6.rst:2431 msgid "Notable changes in Python 3.6.7" msgstr "" -#: whatsnew/3.6.rst:2432 +#: whatsnew/3.6.rst:2433 msgid "" "In 3.6.7 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token " "when provided with input that does not have a trailing new line. This " @@ -3220,11 +3221,11 @@ msgid "" "Ammar Askar in :issue:`33899`.)" msgstr "" -#: whatsnew/3.6.rst:2438 +#: whatsnew/3.6.rst:2439 msgid "Notable changes in Python 3.6.10" msgstr "" -#: whatsnew/3.6.rst:2440 +#: whatsnew/3.6.rst:2441 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -3240,12 +3241,12 @@ msgstr "" "create_datagram_endpoint()``. (Contribué par Kyle Stanley, Antoine Pitrou, " "et Yury Selivanov dans :issue:`37228`.)" -#: whatsnew/3.6.rst:2448 +#: whatsnew/3.6.rst:2449 #, fuzzy msgid "Notable changes in Python 3.6.13" msgstr "Portage vers Python 2.6" -#: whatsnew/3.6.rst:2450 +#: whatsnew/3.6.rst:2451 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 8b17f5e8d5..fc9f9d9ba4 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2018-08-03 23:47+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -403,8 +403,8 @@ msgstr "" msgid "" "While Python provides a C API for thread-local storage support; the " "existing :ref:`Thread Local Storage (TLS) API ` " -"has used :c:type:`int` to represent TLS keys across all platforms. This has " -"not generally been a problem for officially-support platforms, but that is " +"has used :c:expr:`int` to represent TLS keys across all platforms. This has " +"not generally been a problem for officially support platforms, but that is " "neither POSIX-compliant, nor portable in any practical sense." msgstr "" @@ -414,16 +414,16 @@ msgid "" "(TSS) API ` to CPython which supersedes use of " "the existing TLS API within the CPython interpreter, while deprecating the " "existing API. The TSS API uses a new type :c:type:`Py_tss_t` instead of :c:" -"type:`int` to represent TSS keys--an opaque type the definition of which may " +"expr:`int` to represent TSS keys--an opaque type the definition of which may " "depend on the underlying TLS implementation. Therefore, this will allow to " "build CPython on platforms where the native TLS key is defined in a way that " -"cannot be safely cast to :c:type:`int`." +"cannot be safely cast to :c:expr:`int`." msgstr "" #: whatsnew/3.7.rst:306 msgid "" "Note that on platforms where the native TLS key is defined in a way that " -"cannot be safely cast to :c:type:`int`, all functions of the existing TLS " +"cannot be safely cast to :c:expr:`int`, all functions of the existing TLS " "API will be no-op and immediately return failure. This indicates clearly " "that the old API is not supported on platforms where it cannot be used " "reliably, and that no effort will be made to add such support." @@ -850,7 +850,7 @@ msgstr "" #: whatsnew/3.7.rst:614 msgid "" -"`importlib_resources `_ -- a PyPI backport for earlier Python versions." msgstr "" @@ -1649,7 +1649,7 @@ msgstr "" #: whatsnew/3.7.rst:1177 msgid "" "The mode argument of :func:`os.makedirs` no longer affects the file " -"permission bits of newly-created intermediate-level directories. " +"permission bits of newly created intermediate-level directories. " "(Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" @@ -2118,7 +2118,7 @@ msgstr "unicodedata" #: whatsnew/3.7.rst:1509 msgid "" "The internal :mod:`unicodedata` database has been upgraded to use `Unicode " -"11 `_. (Contributed by " +"11 `_. (Contributed by " "Benjamin Peterson.)" msgstr "" @@ -2426,14 +2426,14 @@ msgstr "" msgid "" "The type of results of :c:func:`PyThread_start_new_thread` and :c:func:" "`PyThread_get_thread_ident`, and the *id* parameter of :c:func:" -"`PyThreadState_SetAsyncExc` changed from :c:type:`long` to :c:type:`unsigned " +"`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to :c:expr:`unsigned " "long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" msgstr "" #: whatsnew/3.7.rst:1715 msgid "" ":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the " -"second argument is ``NULL`` and the :c:type:`wchar_t*` string contains null " +"second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null " "characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" msgstr "" @@ -2988,48 +2988,49 @@ msgstr "" #: whatsnew/3.7.rst:2123 msgid "" -"CPython's own :source:`CI configuration file <.travis.yml>` provides an " -"example of using the SSL :source:`compatibility testing infrastructure " -"` in CPython's test suite to build and link " -"against OpenSSL 1.1.0 rather than an outdated system provided OpenSSL." +"CPython's own `CI configuration file `_ provides an example of using the SSL :source:" +"`compatibility testing infrastructure ` in " +"CPython's test suite to build and link against OpenSSL 1.1.0 rather than an " +"outdated system provided OpenSSL." msgstr "" -#: whatsnew/3.7.rst:2131 +#: whatsnew/3.7.rst:2132 msgid "API and Feature Removals" msgstr "" -#: whatsnew/3.7.rst:2133 +#: whatsnew/3.7.rst:2134 msgid "The following features and APIs have been removed from Python 3.7:" msgstr "" -#: whatsnew/3.7.rst:2135 +#: whatsnew/3.7.rst:2136 msgid "" "The ``os.stat_float_times()`` function has been removed. It was introduced " "in Python 2.3 for backward compatibility with Python 2.2, and was deprecated " "since Python 3.1." msgstr "" -#: whatsnew/3.7.rst:2139 +#: whatsnew/3.7.rst:2140 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter in replacement " "templates for :func:`re.sub` were deprecated in Python 3.5, and will now " "cause an error." msgstr "" -#: whatsnew/3.7.rst:2143 +#: whatsnew/3.7.rst:2144 msgid "" "Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It " "was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead." msgstr "" -#: whatsnew/3.7.rst:2146 +#: whatsnew/3.7.rst:2147 msgid "" "The ``splitunc()`` function in the :mod:`ntpath` module was deprecated in " "Python 3.1, and has now been removed. Use the :func:`~os.path.splitdrive` " "function instead." msgstr "" -#: whatsnew/3.7.rst:2150 +#: whatsnew/3.7.rst:2151 msgid "" ":func:`collections.namedtuple` no longer supports the *verbose* parameter or " "``_source`` attribute which showed the generated source code for the named " @@ -3038,14 +3039,14 @@ msgid "" "Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" msgstr "" -#: whatsnew/3.7.rst:2156 +#: whatsnew/3.7.rst:2157 msgid "" "Functions :func:`bool`, :func:`float`, :func:`list` and :func:`tuple` no " "longer take keyword arguments. The first argument of :func:`int` can now be " "passed only as positional argument." msgstr "" -#: whatsnew/3.7.rst:2160 +#: whatsnew/3.7.rst:2161 msgid "" "Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " "``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " @@ -3054,7 +3055,7 @@ msgid "" "access to access items of these dictionaries." msgstr "" -#: whatsnew/3.7.rst:2166 +#: whatsnew/3.7.rst:2167 msgid "" "The ``asyncio.windows_utils.socketpair()`` function has been removed. Use " "the :func:`socket.socketpair` function instead, it is available on all " @@ -3062,14 +3063,14 @@ msgid "" "alias to ``socket.socketpair`` on Python 3.5 and newer." msgstr "" -#: whatsnew/3.7.rst:2172 +#: whatsnew/3.7.rst:2173 msgid "" ":mod:`asyncio` no longer exports the :mod:`selectors` and :mod:`_overlapped` " "modules as ``asyncio.selectors`` and ``asyncio._overlapped``. Replace ``from " "asyncio import selectors`` with ``import selectors``." msgstr "" -#: whatsnew/3.7.rst:2177 +#: whatsnew/3.7.rst:2178 msgid "" "Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " "objects is now prohibited. The constructors were never documented, tested, " @@ -3078,17 +3079,17 @@ msgid "" "in :issue:`32951`.)" msgstr "" -#: whatsnew/3.7.rst:2183 +#: whatsnew/3.7.rst:2184 msgid "" "The unused :mod:`distutils` ``install_misc`` command has been removed. " "(Contributed by Eric N. Vander Weele in :issue:`29218`.)" msgstr "" -#: whatsnew/3.7.rst:2188 +#: whatsnew/3.7.rst:2189 msgid "Module Removals" msgstr "" -#: whatsnew/3.7.rst:2190 +#: whatsnew/3.7.rst:2191 msgid "" "The ``fpectl`` module has been removed. It was never enabled by default, " "never worked correctly on x86-64, and it changed the Python ABI in ways that " @@ -3096,11 +3097,11 @@ msgid "" "Smith in :issue:`29137`.)" msgstr "" -#: whatsnew/3.7.rst:2473 +#: whatsnew/3.7.rst:2474 msgid "Windows-only Changes" msgstr "" -#: whatsnew/3.7.rst:2199 +#: whatsnew/3.7.rst:2200 msgid "" "The python launcher, (py.exe), can accept 32 & 64 bit specifiers **without** " "having to specify a minor version as well. So ``py -3-32`` and ``py -3-64`` " @@ -3110,7 +3111,7 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30291`.)" msgstr "" -#: whatsnew/3.7.rst:2206 +#: whatsnew/3.7.rst:2207 msgid "" "The launcher can be run as ``py -0`` to produce a list of the installed " "pythons, *with default marked with an asterisk*. Running ``py -0p`` will " @@ -3119,12 +3120,12 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30362`.)" msgstr "" -#: whatsnew/3.7.rst:2216 +#: whatsnew/3.7.rst:2217 #, fuzzy msgid "Porting to Python 3.7" msgstr "Portage vers Python 2.7" -#: whatsnew/3.7.rst:2218 +#: whatsnew/3.7.rst:2219 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3132,18 +3133,18 @@ msgstr "" "Cette section liste les changements mentionnés préalablement et d'autres " "améliorations qui peuvent demander des changements à votre code." -#: whatsnew/3.7.rst:2223 +#: whatsnew/3.7.rst:2224 msgid "Changes in Python Behavior" msgstr "" -#: whatsnew/3.7.rst:2225 +#: whatsnew/3.7.rst:2226 msgid "" ":keyword:`async` and :keyword:`await` names are now reserved keywords. Code " "using these names as identifiers will now raise a :exc:`SyntaxError`. " "(Contributed by Jelle Zijlstra in :issue:`30406`.)" msgstr "" -#: whatsnew/3.7.rst:2229 +#: whatsnew/3.7.rst:2230 msgid "" ":pep:`479` is enabled for all code in Python 3.7, meaning that :exc:" "`StopIteration` exceptions raised directly or indirectly in coroutines and " @@ -3151,19 +3152,19 @@ msgid "" "by Yury Selivanov in :issue:`32670`.)" msgstr "" -#: whatsnew/3.7.rst:2235 +#: whatsnew/3.7.rst:2236 msgid "" ":meth:`object.__aiter__` methods can no longer be declared as asynchronous. " "(Contributed by Yury Selivanov in :issue:`31709`.)" msgstr "" -#: whatsnew/3.7.rst:2238 +#: whatsnew/3.7.rst:2239 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" -#: whatsnew/3.7.rst:2246 +#: whatsnew/3.7.rst:2247 msgid "" "Python 3.7 now correctly raises a :exc:`SyntaxError`, as a generator " "expression always needs to be directly inside a set of parentheses and " @@ -3172,7 +3173,7 @@ msgid "" "`32012` and :issue:`32023`.)" msgstr "" -#: whatsnew/3.7.rst:2252 +#: whatsnew/3.7.rst:2253 msgid "" "When using the :option:`-m` switch, the initial working directory is now " "added to :data:`sys.path`, rather than an empty string (which dynamically " @@ -3184,11 +3185,11 @@ msgid "" "place)." msgstr "" -#: whatsnew/3.7.rst:2262 +#: whatsnew/3.7.rst:2263 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" -#: whatsnew/3.7.rst:2264 +#: whatsnew/3.7.rst:2265 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" "daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn." @@ -3196,7 +3197,7 @@ msgid "" "(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" msgstr "" -#: whatsnew/3.7.rst:2270 +#: whatsnew/3.7.rst:2271 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " "processes complete. Set the new :attr:`socketserver.ForkingMixIn." @@ -3204,21 +3205,21 @@ msgid "" "(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" msgstr "" -#: whatsnew/3.7.rst:2276 +#: whatsnew/3.7.rst:2277 msgid "" "The :func:`locale.localeconv` function now temporarily sets the ``LC_CTYPE`` " "locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor " "Stinner in :issue:`31900`.)" msgstr "" -#: whatsnew/3.7.rst:2280 +#: whatsnew/3.7.rst:2281 msgid "" ":meth:`pkgutil.walk_packages` now raises a :exc:`ValueError` if *path* is a " "string. Previously an empty list was returned. (Contributed by Sanyam " "Khurana in :issue:`24744`.)" msgstr "" -#: whatsnew/3.7.rst:2284 +#: whatsnew/3.7.rst:2285 msgid "" "A format string argument for :meth:`string.Formatter.format` is now :ref:" "`positional-only `. Passing it as a keyword " @@ -3226,7 +3227,7 @@ msgid "" "issue:`29193`.)" msgstr "" -#: whatsnew/3.7.rst:2289 +#: whatsnew/3.7.rst:2290 msgid "" "Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." "value` and :attr:`~http.cookies.Morsel.coded_value` of class :class:`http." @@ -3235,21 +3236,21 @@ msgid "" "them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" msgstr "" -#: whatsnew/3.7.rst:2297 +#: whatsnew/3.7.rst:2298 msgid "" "The *mode* argument of :func:`os.makedirs` no longer affects the file " -"permission bits of newly-created intermediate-level directories. To set " +"permission bits of newly created intermediate-level directories. To set " "their file permission bits you can set the umask before invoking " "``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" -#: whatsnew/3.7.rst:2303 +#: whatsnew/3.7.rst:2304 msgid "" "The :attr:`struct.Struct.format` type is now :class:`str` instead of :class:" "`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" msgstr "" -#: whatsnew/3.7.rst:2306 +#: whatsnew/3.7.rst:2307 msgid "" ":func:`~cgi.parse_multipart` now accepts the *encoding* and *errors* " "arguments and returns the same results as :class:`~FieldStorage`: for non-" @@ -3257,27 +3258,27 @@ msgid "" "(Contributed by Pierre Quentel in :issue:`29979`.)" msgstr "" -#: whatsnew/3.7.rst:2312 +#: whatsnew/3.7.rst:2313 msgid "" "Due to internal changes in :mod:`socket`, calling :func:`socket.fromshare` " "on a socket created by :func:`socket.share ` in older " "Python versions is not supported." msgstr "" -#: whatsnew/3.7.rst:2316 +#: whatsnew/3.7.rst:2317 msgid "" "``repr`` for :exc:`BaseException` has changed to not include the trailing " "comma. Most exceptions are affected by this change. (Contributed by Serhiy " "Storchaka in :issue:`30399`.)" msgstr "" -#: whatsnew/3.7.rst:2320 +#: whatsnew/3.7.rst:2321 msgid "" "``repr`` for :class:`datetime.timedelta` has changed to include the keyword " "arguments in the output. (Contributed by Utkarsh Upadhyay in :issue:`30302`.)" msgstr "" -#: whatsnew/3.7.rst:2323 +#: whatsnew/3.7.rst:2324 msgid "" "Because :func:`shutil.rmtree` is now implemented using the :func:`os." "scandir` function, the user specified handler *onerror* is now called with " @@ -3285,7 +3286,7 @@ msgid "" "directory is failed." msgstr "" -#: whatsnew/3.7.rst:2328 +#: whatsnew/3.7.rst:2329 msgid "" "Support for nested sets and set operations in regular expressions as in " "`Unicode Technical Standard #18`_ might be added in the future. This would " @@ -3296,7 +3297,7 @@ msgid "" "with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" msgstr "" -#: whatsnew/3.7.rst:2339 +#: whatsnew/3.7.rst:2340 msgid "" "The result of splitting a string on a :mod:`regular expression ` that " "could match an empty string has been changed. For example splitting on " @@ -3307,7 +3308,7 @@ msgid "" "patterns since Python 3.5." msgstr "" -#: whatsnew/3.7.rst:2348 +#: whatsnew/3.7.rst:2349 msgid "" "For patterns that match both empty and non-empty strings, the result of " "searching for all matches may also be changed in other cases. For example " @@ -3317,7 +3318,7 @@ msgid "" "as ``r'(?m)^[^\\S\\n]*$'``." msgstr "" -#: whatsnew/3.7.rst:2355 +#: whatsnew/3.7.rst:2356 msgid "" ":func:`re.sub()` now replaces empty matches adjacent to a previous non-empty " "match. For example ``re.sub('x*', '-', 'abxd')`` returns now ``'-a-b--d-'`` " @@ -3325,25 +3326,25 @@ msgid "" "and the second minus replaces an empty string between 'x' and 'd')." msgstr "" -#: whatsnew/3.7.rst:2361 +#: whatsnew/3.7.rst:2362 msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" msgstr "" -#: whatsnew/3.7.rst:2363 +#: whatsnew/3.7.rst:2364 msgid "" "Change :func:`re.escape` to only escape regex special characters instead of " "escaping all characters other than ASCII letters, numbers, and ``'_'``. " "(Contributed by Serhiy Storchaka in :issue:`29995`.)" msgstr "" -#: whatsnew/3.7.rst:2367 +#: whatsnew/3.7.rst:2368 msgid "" ":class:`tracemalloc.Traceback` frames are now sorted from oldest to most " "recent to be more consistent with :mod:`traceback`. (Contributed by Jesse " "Bakker in :issue:`32121`.)" msgstr "" -#: whatsnew/3.7.rst:2371 +#: whatsnew/3.7.rst:2372 msgid "" "On OSes that support :const:`socket.SOCK_NONBLOCK` or :const:`socket." "SOCK_CLOEXEC` bit flags, the :attr:`socket.type ` no " @@ -3352,7 +3353,7 @@ msgid "" "Selivanov in :issue:`32331`.)" msgstr "" -#: whatsnew/3.7.rst:2378 +#: whatsnew/3.7.rst:2379 msgid "" "On Windows the default for the *close_fds* argument of :class:`subprocess." "Popen` was changed from :const:`False` to :const:`True` when redirecting the " @@ -3362,7 +3363,7 @@ msgid "" "`STARTUPINFO.lpAttributeList `." msgstr "" -#: whatsnew/3.7.rst:2386 +#: whatsnew/3.7.rst:2387 msgid "" ":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly " "affects :func:`importlib.invalidate_caches` -- now deletes entries in :data:" @@ -3370,7 +3371,7 @@ msgid "" "Cannon in :issue:`33169`.)" msgstr "" -#: whatsnew/3.7.rst:2391 +#: whatsnew/3.7.rst:2392 msgid "" "In :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" "`loop.sock_sendall() `, :meth:`loop.sock_accept() " @@ -3381,21 +3382,21 @@ msgid "" "(Contributed by Yury Selivanov in :issue:`32327`.)" msgstr "" -#: whatsnew/3.7.rst:2402 +#: whatsnew/3.7.rst:2403 msgid "" ":attr:`asyncio.Server.sockets` now returns a copy of the internal list of " "server sockets, instead of returning it directly. (Contributed by Yury " "Selivanov in :issue:`32662`.)" msgstr "" -#: whatsnew/3.7.rst:2406 +#: whatsnew/3.7.rst:2407 msgid "" ":attr:`Struct.format ` is now a :class:`str` instance " "instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :" "issue:`21071`.)" msgstr "" -#: whatsnew/3.7.rst:2410 +#: whatsnew/3.7.rst:2411 msgid "" ":mod:`argparse` subparsers can now be made mandatory by passing " "``required=True`` to :meth:`ArgumentParser.add_subparsers() ` will now " "consistently raise an exception when a date falls outside of the " @@ -3422,13 +3423,13 @@ msgid "" "date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)" msgstr "" -#: whatsnew/3.7.rst:2428 +#: whatsnew/3.7.rst:2429 msgid "" ":class:`collections.ChainMap` now preserves the order of the underlying " "mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" msgstr "" -#: whatsnew/3.7.rst:2431 +#: whatsnew/3.7.rst:2432 msgid "" "The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` " "and :class:`concurrent.futures.ProcessPoolExecutor` now raises a :exc:" @@ -3436,7 +3437,7 @@ msgid "" "Nemec in :issue:`33097`.)" msgstr "" -#: whatsnew/3.7.rst:2436 +#: whatsnew/3.7.rst:2437 msgid "" "The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` " "to process the default values, making its behavior consistent with the rest " @@ -3445,7 +3446,7 @@ msgid "" "in :issue:`23835`.)" msgstr "" -#: whatsnew/3.7.rst:2442 +#: whatsnew/3.7.rst:2443 msgid "" "Several undocumented internal imports were removed. One example is that ``os." "errno`` is no longer available; use ``import errno`` directly instead. Note " @@ -3453,11 +3454,11 @@ msgid "" "notice, even in micro version releases." msgstr "" -#: whatsnew/3.7.rst:2450 +#: whatsnew/3.7.rst:2451 msgid "Changes in the C API" msgstr "Changements dans l'API C" -#: whatsnew/3.7.rst:2452 +#: whatsnew/3.7.rst:2453 msgid "" "The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for " "resizable sequences. If the slice indices are not instances of :class:" @@ -3469,34 +3470,34 @@ msgid "" "Storchaka in :issue:`27867`.)" msgstr "" -#: whatsnew/3.7.rst:2463 +#: whatsnew/3.7.rst:2464 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" -#: whatsnew/3.7.rst:2465 +#: whatsnew/3.7.rst:2466 msgid "" "There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`. " "(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" msgstr "" -#: whatsnew/3.7.rst:2468 +#: whatsnew/3.7.rst:2469 msgid "" "The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark " "Shannon in :issue:`32550`.)" msgstr "" -#: whatsnew/3.7.rst:2475 +#: whatsnew/3.7.rst:2476 msgid "" "The file used to override :data:`sys.path` is now called ``._pth`` instead of ``'sys.path'``. See :ref:`finding_modules` for " "more information. (Contributed by Steve Dower in :issue:`28137`.)" msgstr "" -#: whatsnew/3.7.rst:2482 +#: whatsnew/3.7.rst:2483 msgid "Other CPython implementation changes" msgstr "" -#: whatsnew/3.7.rst:2484 +#: whatsnew/3.7.rst:2485 msgid "" "In preparation for potential future changes to the public CPython runtime " "initialization API (see :pep:`432` for an initial, but somewhat outdated, " @@ -3511,21 +3512,21 @@ msgid "" "Stinner in a number of other issues). Some known details affected:" msgstr "" -#: whatsnew/3.7.rst:2497 +#: whatsnew/3.7.rst:2498 msgid "" ":c:func:`PySys_AddWarnOptionUnicode` is not currently usable by embedding " "applications due to the requirement to create a Unicode object prior to " -"calling `Py_Initialize`. Use :c:func:`PySys_AddWarnOption` instead." +"calling ``Py_Initialize``. Use :c:func:`PySys_AddWarnOption` instead." msgstr "" -#: whatsnew/3.7.rst:2501 +#: whatsnew/3.7.rst:2502 msgid "" "warnings filters added by an embedding application with :c:func:" "`PySys_AddWarnOption` should now more consistently take precedence over the " "default filters set by the interpreter" msgstr "" -#: whatsnew/3.7.rst:2505 +#: whatsnew/3.7.rst:2506 msgid "" "Due to changes in the way the default warnings filters are configured, " "setting :c:data:`Py_BytesWarningFlag` to a value greater than one is no " @@ -3535,7 +3536,7 @@ msgid "" "BytesWarning`` warnings filter added to convert them to exceptions." msgstr "" -#: whatsnew/3.7.rst:2512 +#: whatsnew/3.7.rst:2513 msgid "" "Due to a change in the way docstrings are handled by the compiler, the " "implicit ``return None`` in a function body consisting solely of a docstring " @@ -3543,7 +3544,7 @@ msgid "" "function's header line." msgstr "" -#: whatsnew/3.7.rst:2517 +#: whatsnew/3.7.rst:2518 msgid "" "The current exception state has been moved from the frame object to the co-" "routine. This simplified the interpreter and fixed a couple of obscure bugs " @@ -3551,11 +3552,11 @@ msgid "" "(Contributed by Mark Shannon in :issue:`25612`.)" msgstr "" -#: whatsnew/3.7.rst:2523 +#: whatsnew/3.7.rst:2524 msgid "Notable changes in Python 3.7.1" msgstr "" -#: whatsnew/3.7.rst:2525 +#: whatsnew/3.7.rst:2526 msgid "" "Starting in 3.7.1, :c:func:`Py_Initialize` now consistently reads and " "respects all of the same environment settings as :c:func:`Py_Main` (in " @@ -3565,14 +3566,14 @@ msgid "" "`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`." msgstr "" -#: whatsnew/3.7.rst:2532 +#: whatsnew/3.7.rst:2533 msgid "" "In 3.7.1 the C API for Context Variables :ref:`was updated " "` to use :c:type:`PyObject` " "pointers. See also :issue:`34762`." msgstr "" -#: whatsnew/3.7.rst:2536 +#: whatsnew/3.7.rst:2537 msgid "" "In 3.7.1 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token " "when provided with input that does not have a trailing new line. This " @@ -3580,11 +3581,11 @@ msgid "" "Ammar Askar in :issue:`33899`.)" msgstr "" -#: whatsnew/3.7.rst:2542 +#: whatsnew/3.7.rst:2543 msgid "Notable changes in Python 3.7.2" msgstr "" -#: whatsnew/3.7.rst:2544 +#: whatsnew/3.7.rst:2545 msgid "" "In 3.7.2, :mod:`venv` on Windows no longer copies the original binaries, but " "creates redirector scripts named ``python.exe`` and ``pythonw.exe`` instead. " @@ -3594,11 +3595,11 @@ msgid "" "to get the new scripts." msgstr "" -#: whatsnew/3.7.rst:2552 +#: whatsnew/3.7.rst:2553 msgid "Notable changes in Python 3.7.6" msgstr "" -#: whatsnew/3.7.rst:2554 +#: whatsnew/3.7.rst:2555 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -3614,12 +3615,12 @@ msgstr "" "create_datagram_endpoint()``. (Contribué par Kyle Stanley, Antoine Pitrou, " "et Yury Selivanov dans :issue:`37228`.)" -#: whatsnew/3.7.rst:2562 +#: whatsnew/3.7.rst:2563 #, fuzzy msgid "Notable changes in Python 3.7.10" msgstr "Portage vers Python 2.7" -#: whatsnew/3.7.rst:2564 +#: whatsnew/3.7.rst:2565 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 8a5a01be9b..9b45e770a4 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2022-10-18 15:46+0200\n" "PO-Revision-Date: 2019-09-04 11:41+0200\n" "Last-Translator: Fred-si \n" "Language-Team: FRENCH \n" @@ -27,28 +27,30 @@ msgid "Raymond Hettinger" msgstr "Raymond Hettinger" #: whatsnew/3.8.rst:47 +#, fuzzy msgid "" -"This article explains the new features in Python 3.8, compared to 3.7. For " -"full details, see the :ref:`changelog `." +"This article explains the new features in Python 3.8, compared to 3.7. " +"Python 3.8 was released on October 14, 2019. For full details, see the :ref:" +"`changelog `." msgstr "" "Cet article présente les nouvelles fonctionnalités de python 3.8 par rapport " "à python 3.7. Pour le détail complet des changements voir le :ref:`journal " "des modifications `." -#: whatsnew/3.8.rst:60 +#: whatsnew/3.8.rst:61 #, fuzzy msgid "Summary -- Release highlights" msgstr "Résumé" -#: whatsnew/3.8.rst:71 +#: whatsnew/3.8.rst:72 msgid "New Features" msgstr "Nouvelles fonctionnalités" -#: whatsnew/3.8.rst:74 +#: whatsnew/3.8.rst:75 msgid "Assignment expressions" msgstr "Expression d'affectation" -#: whatsnew/3.8.rst:76 +#: whatsnew/3.8.rst:77 msgid "" "There is new syntax ``:=`` that assigns values to variables as part of a " "larger expression. It is affectionately known as \"the walrus operator\" due " @@ -61,7 +63,7 @@ msgstr "" "ressemblance avec `les yeux et les défenses d’un morse `_." -#: whatsnew/3.8.rst:81 +#: whatsnew/3.8.rst:82 msgid "" "In this example, the assignment expression helps avoid calling :func:`len` " "twice::" @@ -69,7 +71,7 @@ msgstr "" "Dans cet exemple, l’opérateur d’affectation permet de ne pas appeler :func:" "`len` deux fois ::" -#: whatsnew/3.8.rst:87 +#: whatsnew/3.8.rst:88 #, fuzzy msgid "" "A similar benefit arises during regular expression matching where match " @@ -81,7 +83,7 @@ msgstr "" "deux fois, une fois pour tester si le motif a été trouvé et une autre pour " "extraire le sous-groupe ::" -#: whatsnew/3.8.rst:95 +#: whatsnew/3.8.rst:96 msgid "" "The operator is also useful with while-loops that compute a value to test " "loop termination and then need that same value again in the body of the " @@ -91,7 +93,7 @@ msgstr "" "valeur pour tester la condition de fin et que cette valeur est également " "nécessaire dans le corps de la boucle ::" -#: whatsnew/3.8.rst:103 +#: whatsnew/3.8.rst:104 msgid "" "Another motivating use case arises in list comprehensions where a value " "computed in a filtering condition is also needed in the expression body::" @@ -100,7 +102,7 @@ msgstr "" "listes lorsqu’une valeur calculée dans une condition de filtrage est aussi " "utilisée dans le corps de l’expression ::" -#: whatsnew/3.8.rst:110 +#: whatsnew/3.8.rst:111 msgid "" "Try to limit use of the walrus operator to clean cases that reduce " "complexity and improve readability." @@ -108,20 +110,20 @@ msgstr "" "Essayer de limiter l’usage de l’opérateur morse aux cas clairs permet de " "réduire la complexité et augmente la lisibilité." -#: whatsnew/3.8.rst:113 +#: whatsnew/3.8.rst:114 msgid "See :pep:`572` for a full description." msgstr "Voir :pep:`572` pour une description complète." -#: whatsnew/3.8.rst:115 +#: whatsnew/3.8.rst:116 msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" msgstr "" -#: whatsnew/3.8.rst:119 +#: whatsnew/3.8.rst:120 #, fuzzy msgid "Positional-only parameters" msgstr "Paramètres uniquement positionnels" -#: whatsnew/3.8.rst:121 +#: whatsnew/3.8.rst:122 msgid "" "There is a new function parameter syntax ``/`` to indicate that some " "function parameters must be specified positionally and cannot be used as " @@ -136,7 +138,7 @@ msgstr "" "l’outil `Argument Clinic `_ de " "Larry Hastings." -#: whatsnew/3.8.rst:127 +#: whatsnew/3.8.rst:128 msgid "" "In the following example, parameters *a* and *b* are positional-only, while " "*c* or *d* can be positional or keyword, and *e* or *f* are required to be " @@ -146,29 +148,29 @@ msgstr "" "positionnels alors que *c* et *d* peuvent être positionnels ou nommés tandis " "que *e* et *f* doivent être obligatoirement nommés ::" -#: whatsnew/3.8.rst:134 +#: whatsnew/3.8.rst:135 msgid "The following is a valid call::" msgstr "L’appel suivant est valide ::" -#: whatsnew/3.8.rst:138 +#: whatsnew/3.8.rst:139 msgid "However, these are invalid calls::" msgstr "En revanche, celui-ci ne l’est pas ::" -#: whatsnew/3.8.rst:143 +#: whatsnew/3.8.rst:144 msgid "" "One use case for this notation is that it allows pure Python functions to " "fully emulate behaviors of existing C coded functions. For example, the " "built-in :func:`divmod` function does not accept keyword arguments::" msgstr "" -#: whatsnew/3.8.rst:151 +#: whatsnew/3.8.rst:152 msgid "" "Another use case is to preclude keyword arguments when the parameter name is " "not helpful. For example, the builtin :func:`len` function has the " "signature ``len(obj, /)``. This precludes awkward calls such as::" msgstr "" -#: whatsnew/3.8.rst:157 +#: whatsnew/3.8.rst:158 msgid "" "A further benefit of marking a parameter as positional-only is that it " "allows the parameter name to be changed in the future without risk of " @@ -177,32 +179,32 @@ msgid "" "with the following function specification::" msgstr "" -#: whatsnew/3.8.rst:166 +#: whatsnew/3.8.rst:167 msgid "" "Since the parameters to the left of ``/`` are not exposed as possible " "keywords, the parameters names remain available for use in ``**kwargs``::" msgstr "" -#: whatsnew/3.8.rst:175 +#: whatsnew/3.8.rst:176 msgid "" "This greatly simplifies the implementation of functions and methods that " "need to accept arbitrary keyword arguments. For example, here is an excerpt " "from code in the :mod:`collections` module::" msgstr "" -#: whatsnew/3.8.rst:184 +#: whatsnew/3.8.rst:185 msgid "See :pep:`570` for a full description." msgstr "Voir :pep:`570` pour une description complète." -#: whatsnew/3.8.rst:186 +#: whatsnew/3.8.rst:187 msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" msgstr "(Contribution de Pablo Galindo dans :issue:`36540`.)" -#: whatsnew/3.8.rst:192 +#: whatsnew/3.8.rst:193 msgid "Parallel filesystem cache for compiled bytecode files" msgstr "" -#: whatsnew/3.8.rst:194 +#: whatsnew/3.8.rst:195 msgid "" "The new :envvar:`PYTHONPYCACHEPREFIX` setting (also available as :option:`-" "X` ``pycache_prefix``) configures the implicit bytecode cache to use a " @@ -210,28 +212,28 @@ msgid "" "subdirectories within each source directory." msgstr "" -#: whatsnew/3.8.rst:200 +#: whatsnew/3.8.rst:201 msgid "" "The location of the cache is reported in :data:`sys.pycache_prefix` (:const:" "`None` indicates the default location in ``__pycache__`` subdirectories)." msgstr "" -#: whatsnew/3.8.rst:204 +#: whatsnew/3.8.rst:205 msgid "(Contributed by Carl Meyer in :issue:`33499`.)" msgstr "" -#: whatsnew/3.8.rst:208 +#: whatsnew/3.8.rst:209 msgid "Debug build uses the same ABI as release build" msgstr "" -#: whatsnew/3.8.rst:210 +#: whatsnew/3.8.rst:211 msgid "" "Python now uses the same ABI whether it's built in release or debug mode. On " "Unix, when Python is built in debug mode, it is now possible to load C " "extensions built in release mode and C extensions built using the stable ABI." msgstr "" -#: whatsnew/3.8.rst:214 +#: whatsnew/3.8.rst:215 msgid "" "Release builds and :ref:`debug builds ` are now ABI compatible: " "defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " @@ -242,7 +244,7 @@ msgid "" "by Victor Stinner in :issue:`36465`.)" msgstr "" -#: whatsnew/3.8.rst:222 +#: whatsnew/3.8.rst:223 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin. It is now possible for a statically linked Python to load a C " @@ -250,14 +252,14 @@ msgid "" "Stinner in :issue:`21536`.)" msgstr "" -#: whatsnew/3.8.rst:229 +#: whatsnew/3.8.rst:230 msgid "" "On Unix, when Python is built in debug mode, import now also looks for C " "extensions compiled in release mode and for C extensions compiled with the " "stable ABI. (Contributed by Victor Stinner in :issue:`36722`.)" msgstr "" -#: whatsnew/3.8.rst:234 +#: whatsnew/3.8.rst:235 msgid "" "To embed Python into an application, a new ``--embed`` option must be passed " "to ``python3-config --libs --embed`` to get ``-lpython3.8`` (link the " @@ -266,7 +268,7 @@ msgid "" "(without ``--embed``) if the previous command fails." msgstr "" -#: whatsnew/3.8.rst:240 +#: whatsnew/3.8.rst:241 msgid "" "Add a pkg-config ``python-3.8-embed`` module to embed Python into an " "application: ``pkg-config python-3.8-embed --libs`` includes ``-" @@ -276,7 +278,7 @@ msgid "" "the Python version)." msgstr "" -#: whatsnew/3.8.rst:246 +#: whatsnew/3.8.rst:247 msgid "" "On the other hand, ``pkg-config python3.8 --libs`` no longer contains ``-" "lpython3.8``. C extensions must not be linked to libpython (except on " @@ -285,11 +287,11 @@ msgid "" "`36721`.)" msgstr "" -#: whatsnew/3.8.rst:254 +#: whatsnew/3.8.rst:256 msgid "f-strings support ``=`` for self-documenting expressions and debugging" msgstr "" -#: whatsnew/3.8.rst:256 +#: whatsnew/3.8.rst:258 msgid "" "Added an ``=`` specifier to :term:`f-string`\\s. An f-string such as " "``f'{expr=}'`` will expand to the text of the expression, an equal sign, " @@ -299,27 +301,27 @@ msgstr "" "telle que ``f'{expr=}'`` est transformée en : le texte de l’expression, le " "signe égal et le résultat de l’évaluation de l’expression. Par exemple :" -#: whatsnew/3.8.rst:265 +#: whatsnew/3.8.rst:267 msgid "" "The usual :ref:`f-string format specifiers ` allow more control " "over how the result of the expression is displayed::" msgstr "" -#: whatsnew/3.8.rst:272 +#: whatsnew/3.8.rst:274 msgid "" "The ``=`` specifier will display the whole expression so that calculations " "can be shown::" msgstr "" -#: whatsnew/3.8.rst:278 +#: whatsnew/3.8.rst:280 msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" msgstr "" -#: whatsnew/3.8.rst:282 +#: whatsnew/3.8.rst:284 msgid "PEP 578: Python Runtime Audit Hooks" msgstr "" -#: whatsnew/3.8.rst:284 +#: whatsnew/3.8.rst:286 msgid "" "The PEP adds an Audit Hook and Verified Open Hook. Both are available from " "Python and native code, allowing applications and frameworks written in pure " @@ -328,150 +330,150 @@ msgid "" "is always enabled." msgstr "" -#: whatsnew/3.8.rst:290 +#: whatsnew/3.8.rst:292 msgid "See :pep:`578` for full details." msgstr "" -#: whatsnew/3.8.rst:294 +#: whatsnew/3.8.rst:296 msgid "PEP 587: Python Initialization Configuration" msgstr "" -#: whatsnew/3.8.rst:296 +#: whatsnew/3.8.rst:298 msgid "" "The :pep:`587` adds a new C API to configure the Python Initialization " "providing finer control on the whole configuration and better error " "reporting." msgstr "" -#: whatsnew/3.8.rst:299 +#: whatsnew/3.8.rst:301 msgid "New structures:" msgstr "" -#: whatsnew/3.8.rst:301 +#: whatsnew/3.8.rst:303 msgid ":c:type:`PyConfig`" msgstr "" -#: whatsnew/3.8.rst:302 +#: whatsnew/3.8.rst:304 msgid ":c:type:`PyPreConfig`" msgstr "" -#: whatsnew/3.8.rst:303 +#: whatsnew/3.8.rst:305 msgid ":c:type:`PyStatus`" msgstr "" -#: whatsnew/3.8.rst:304 +#: whatsnew/3.8.rst:306 msgid ":c:type:`PyWideStringList`" msgstr "" -#: whatsnew/3.8.rst:306 +#: whatsnew/3.8.rst:308 msgid "New functions:" msgstr "Nouvelles fonctions :" -#: whatsnew/3.8.rst:308 +#: whatsnew/3.8.rst:310 msgid ":c:func:`PyConfig_Clear`" msgstr "" -#: whatsnew/3.8.rst:309 +#: whatsnew/3.8.rst:311 msgid ":c:func:`PyConfig_InitIsolatedConfig`" msgstr "" -#: whatsnew/3.8.rst:310 +#: whatsnew/3.8.rst:312 msgid ":c:func:`PyConfig_InitPythonConfig`" msgstr "" -#: whatsnew/3.8.rst:311 +#: whatsnew/3.8.rst:313 msgid ":c:func:`PyConfig_Read`" msgstr "" -#: whatsnew/3.8.rst:312 +#: whatsnew/3.8.rst:314 msgid ":c:func:`PyConfig_SetArgv`" msgstr "" -#: whatsnew/3.8.rst:313 +#: whatsnew/3.8.rst:315 msgid ":c:func:`PyConfig_SetBytesArgv`" msgstr "" -#: whatsnew/3.8.rst:314 +#: whatsnew/3.8.rst:316 msgid ":c:func:`PyConfig_SetBytesString`" msgstr "" -#: whatsnew/3.8.rst:315 +#: whatsnew/3.8.rst:317 msgid ":c:func:`PyConfig_SetString`" msgstr "" -#: whatsnew/3.8.rst:316 +#: whatsnew/3.8.rst:318 msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" msgstr "" -#: whatsnew/3.8.rst:317 +#: whatsnew/3.8.rst:319 msgid ":c:func:`PyPreConfig_InitPythonConfig`" msgstr "" -#: whatsnew/3.8.rst:318 +#: whatsnew/3.8.rst:320 msgid ":c:func:`PyStatus_Error`" msgstr "" -#: whatsnew/3.8.rst:319 +#: whatsnew/3.8.rst:321 msgid ":c:func:`PyStatus_Exception`" msgstr "" -#: whatsnew/3.8.rst:320 +#: whatsnew/3.8.rst:322 msgid ":c:func:`PyStatus_Exit`" msgstr "" -#: whatsnew/3.8.rst:321 +#: whatsnew/3.8.rst:323 msgid ":c:func:`PyStatus_IsError`" msgstr "" -#: whatsnew/3.8.rst:322 +#: whatsnew/3.8.rst:324 msgid ":c:func:`PyStatus_IsExit`" msgstr "" -#: whatsnew/3.8.rst:323 +#: whatsnew/3.8.rst:325 msgid ":c:func:`PyStatus_NoMemory`" msgstr "" -#: whatsnew/3.8.rst:324 +#: whatsnew/3.8.rst:326 msgid ":c:func:`PyStatus_Ok`" msgstr "" -#: whatsnew/3.8.rst:325 +#: whatsnew/3.8.rst:327 msgid ":c:func:`PyWideStringList_Append`" msgstr "" -#: whatsnew/3.8.rst:326 +#: whatsnew/3.8.rst:328 msgid ":c:func:`PyWideStringList_Insert`" msgstr "" -#: whatsnew/3.8.rst:327 +#: whatsnew/3.8.rst:329 msgid ":c:func:`Py_BytesMain`" msgstr "" -#: whatsnew/3.8.rst:328 +#: whatsnew/3.8.rst:330 msgid ":c:func:`Py_ExitStatusException`" msgstr "" -#: whatsnew/3.8.rst:329 +#: whatsnew/3.8.rst:331 msgid ":c:func:`Py_InitializeFromConfig`" msgstr "" -#: whatsnew/3.8.rst:330 +#: whatsnew/3.8.rst:332 msgid ":c:func:`Py_PreInitialize`" msgstr "" -#: whatsnew/3.8.rst:331 +#: whatsnew/3.8.rst:333 msgid ":c:func:`Py_PreInitializeFromArgs`" msgstr "" -#: whatsnew/3.8.rst:332 +#: whatsnew/3.8.rst:334 msgid ":c:func:`Py_PreInitializeFromBytesArgs`" msgstr "" -#: whatsnew/3.8.rst:333 +#: whatsnew/3.8.rst:335 msgid ":c:func:`Py_RunMain`" msgstr "" -#: whatsnew/3.8.rst:335 +#: whatsnew/3.8.rst:337 msgid "" "This PEP also adds ``_PyRuntimeState.preconfig`` (:c:type:`PyPreConfig` " "type) and ``PyInterpreterState.config`` (:c:type:`PyConfig` type) fields to " @@ -480,53 +482,53 @@ msgid "" "private variables." msgstr "" -#: whatsnew/3.8.rst:341 +#: whatsnew/3.8.rst:343 msgid "" "See :ref:`Python Initialization Configuration ` for the " "documentation." msgstr "" -#: whatsnew/3.8.rst:344 +#: whatsnew/3.8.rst:346 msgid "See :pep:`587` for a full description." msgstr "" -#: whatsnew/3.8.rst:346 +#: whatsnew/3.8.rst:348 #, fuzzy msgid "(Contributed by Victor Stinner in :issue:`36763`.)" msgstr "(Contribution par Victor Stinner; :issue:`21233`.)" -#: whatsnew/3.8.rst:350 +#: whatsnew/3.8.rst:352 msgid "PEP 590: Vectorcall: a fast calling protocol for CPython" msgstr "" -#: whatsnew/3.8.rst:352 +#: whatsnew/3.8.rst:354 msgid "" ":ref:`vectorcall` is added to the Python/C API. It is meant to formalize " "existing optimizations which were already done for various classes. Any :ref:" "`static type ` implementing a callable can use this protocol." msgstr "" -#: whatsnew/3.8.rst:358 +#: whatsnew/3.8.rst:360 msgid "" "This is currently provisional. The aim is to make it fully public in Python " "3.9." msgstr "" -#: whatsnew/3.8.rst:361 +#: whatsnew/3.8.rst:363 msgid "See :pep:`590` for a full description." msgstr "" -#: whatsnew/3.8.rst:363 +#: whatsnew/3.8.rst:365 msgid "" "(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin in :issue:" "`36974`.)" msgstr "" -#: whatsnew/3.8.rst:367 +#: whatsnew/3.8.rst:369 msgid "Pickle protocol 5 with out-of-band data buffers" msgstr "" -#: whatsnew/3.8.rst:369 +#: whatsnew/3.8.rst:371 msgid "" "When :mod:`pickle` is used to transfer large data between Python processes " "in order to take advantage of multi-core or multi-machine processing, it is " @@ -534,34 +536,34 @@ msgid "" "by applying custom techniques such as data-dependent compression." msgstr "" -#: whatsnew/3.8.rst:374 +#: whatsnew/3.8.rst:376 msgid "" "The :mod:`pickle` protocol 5 introduces support for out-of-band buffers " "where :pep:`3118`-compatible data can be transmitted separately from the " "main pickle stream, at the discretion of the communication layer." msgstr "" -#: whatsnew/3.8.rst:378 +#: whatsnew/3.8.rst:380 msgid "See :pep:`574` for a full description." msgstr "" -#: whatsnew/3.8.rst:380 +#: whatsnew/3.8.rst:382 #, fuzzy msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" msgstr "(Contribution par Antoine Pitrou; :issue:`13748`.)" -#: whatsnew/3.8.rst:384 +#: whatsnew/3.8.rst:386 msgid "Other Language Changes" msgstr "Autres changements au langage" -#: whatsnew/3.8.rst:386 +#: whatsnew/3.8.rst:388 msgid "" "A :keyword:`continue` statement was illegal in the :keyword:`finally` clause " "due to a problem with the implementation. In Python 3.8 this restriction " "was lifted. (Contributed by Serhiy Storchaka in :issue:`32489`.)" msgstr "" -#: whatsnew/3.8.rst:391 +#: whatsnew/3.8.rst:393 msgid "" "The :class:`bool`, :class:`int`, and :class:`fractions.Fraction` types now " "have an :meth:`~int.as_integer_ratio` method like that found in :class:" @@ -571,7 +573,7 @@ msgid "" "`33073` and Raymond Hettinger in :issue:`37819`.)" msgstr "" -#: whatsnew/3.8.rst:399 +#: whatsnew/3.8.rst:401 msgid "" "Constructors of :class:`int`, :class:`float` and :class:`complex` will now " "use the :meth:`~object.__index__` special method, if available and the " @@ -580,23 +582,23 @@ msgid "" "Storchaka in :issue:`20092`.)" msgstr "" -#: whatsnew/3.8.rst:405 +#: whatsnew/3.8.rst:407 msgid "" "Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" msgstr "" -#: whatsnew/3.8.rst:412 +#: whatsnew/3.8.rst:414 msgid "" "(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" msgstr "" -#: whatsnew/3.8.rst:414 +#: whatsnew/3.8.rst:416 msgid "" "Dict and dictviews are now iterable in reversed insertion order using :func:" "`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" msgstr "" -#: whatsnew/3.8.rst:417 +#: whatsnew/3.8.rst:419 msgid "" "The syntax allowed for keyword names in function calls was further " "restricted. In particular, ``f((keyword)=arg)`` is no longer allowed. It was " @@ -605,18 +607,18 @@ msgid "" "issue:`34641`.)" msgstr "" -#: whatsnew/3.8.rst:423 +#: whatsnew/3.8.rst:425 msgid "" "Generalized iterable unpacking in :keyword:`yield` and :keyword:`return` " "statements no longer requires enclosing parentheses. This brings the *yield* " "and *return* syntax into better agreement with normal assignment syntax::" msgstr "" -#: whatsnew/3.8.rst:435 +#: whatsnew/3.8.rst:437 msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" msgstr "" -#: whatsnew/3.8.rst:437 +#: whatsnew/3.8.rst:439 msgid "" "When a comma is missed in code such as ``[(10, 20) (30, 40)]``, the compiler " "displays a :exc:`SyntaxWarning` with a helpful suggestion. This improves on " @@ -624,7 +626,7 @@ msgid "" "callable. (Contributed by Serhiy Storchaka in :issue:`15248`.)" msgstr "" -#: whatsnew/3.8.rst:443 +#: whatsnew/3.8.rst:445 msgid "" "Arithmetic operations between subclasses of :class:`datetime.date` or :class:" "`datetime.datetime` and :class:`datetime.timedelta` objects now return an " @@ -634,7 +636,7 @@ msgid "" "datetime.astimezone`. (Contributed by Paul Ganssle in :issue:`32417`.)" msgstr "" -#: whatsnew/3.8.rst:451 +#: whatsnew/3.8.rst:453 msgid "" "When the Python interpreter is interrupted by Ctrl-C (SIGINT) and the " "resulting :exc:`KeyboardInterrupt` exception is not caught, the Python " @@ -644,7 +646,7 @@ msgid "" "sessions. (Contributed by Google via Gregory P. Smith in :issue:`1054041`.)" msgstr "" -#: whatsnew/3.8.rst:458 +#: whatsnew/3.8.rst:460 msgid "" "Some advanced styles of programming require updating the :class:`types." "CodeType` object for an existing function. Since code objects are " @@ -654,18 +656,18 @@ msgid "" "altered parameters." msgstr "" -#: whatsnew/3.8.rst:465 +#: whatsnew/3.8.rst:467 msgid "" "Here's an example that alters the :func:`statistics.mean` function to " "prevent the *data* parameter from being used as a keyword argument::" msgstr "" -#: whatsnew/3.8.rst:477 +#: whatsnew/3.8.rst:479 #, fuzzy msgid "(Contributed by Victor Stinner in :issue:`37032`.)" msgstr "(Contribution par Victor Stinner; :issue:`12049`.)" -#: whatsnew/3.8.rst:479 +#: whatsnew/3.8.rst:481 msgid "" "For integers, the three-argument form of the :func:`pow` function now " "permits the exponent to be negative in the case where the base is relatively " @@ -676,7 +678,7 @@ msgid "" "38 modulo 137, write::" msgstr "" -#: whatsnew/3.8.rst:493 +#: whatsnew/3.8.rst:495 msgid "" "Modular inverses arise in the solution of `linear Diophantine equations " "`_. For example, to find " @@ -684,29 +686,29 @@ msgid "" "(mod 147)`` then solve:" msgstr "" -#: whatsnew/3.8.rst:503 +#: whatsnew/3.8.rst:505 #, fuzzy msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" msgstr "(Contribution par Mark Dickinson; :issue:`4707`.)" -#: whatsnew/3.8.rst:505 +#: whatsnew/3.8.rst:507 msgid "" "Dict comprehensions have been synced-up with dict literals so that the key " "is computed first and the value second::" msgstr "" -#: whatsnew/3.8.rst:520 +#: whatsnew/3.8.rst:522 msgid "" "The guaranteed execution order is helpful with assignment expressions " "because variables assigned in the key expression will be available in the " "value expression::" msgstr "" -#: whatsnew/3.8.rst:530 +#: whatsnew/3.8.rst:532 msgid "(Contributed by Jörn Heissler in :issue:`35224`.)" msgstr "" -#: whatsnew/3.8.rst:532 +#: whatsnew/3.8.rst:534 msgid "" "The :meth:`object.__reduce__` method can now return a tuple from two to six " "elements long. Formerly, five was the limit. The new, optional sixth " @@ -717,99 +719,99 @@ msgid "" "issue:`35900`.)" msgstr "" -#: whatsnew/3.8.rst:541 +#: whatsnew/3.8.rst:543 msgid "New Modules" msgstr "Nouveaux modules" -#: whatsnew/3.8.rst:543 +#: whatsnew/3.8.rst:545 msgid "" "The new :mod:`importlib.metadata` module provides (provisional) support for " "reading metadata from third-party packages. For example, it can extract an " "installed package's version number, list of entry points, and more::" msgstr "" -#: whatsnew/3.8.rst:562 +#: whatsnew/3.8.rst:564 msgid "(Contributed by Barry Warsaw and Jason R. Coombs in :issue:`34632`.)" msgstr "" -#: whatsnew/3.8.rst:566 +#: whatsnew/3.8.rst:568 msgid "Improved Modules" msgstr "Modules améliorés" -#: whatsnew/3.8.rst:569 +#: whatsnew/3.8.rst:571 msgid "ast" msgstr "ast" -#: whatsnew/3.8.rst:571 +#: whatsnew/3.8.rst:573 msgid "" "AST nodes now have ``end_lineno`` and ``end_col_offset`` attributes, which " "give the precise location of the end of the node. (This only applies to " "nodes that have ``lineno`` and ``col_offset`` attributes.)" msgstr "" -#: whatsnew/3.8.rst:575 +#: whatsnew/3.8.rst:577 msgid "" "New function :func:`ast.get_source_segment` returns the source code for a " "specific AST node." msgstr "" -#: whatsnew/3.8.rst:578 +#: whatsnew/3.8.rst:580 msgid "(Contributed by Ivan Levkivskyi in :issue:`33416`.)" msgstr "" -#: whatsnew/3.8.rst:580 +#: whatsnew/3.8.rst:582 msgid "The :func:`ast.parse` function has some new flags:" msgstr "" -#: whatsnew/3.8.rst:582 +#: whatsnew/3.8.rst:584 msgid "" "``type_comments=True`` causes it to return the text of :pep:`484` and :pep:" "`526` type comments associated with certain AST nodes;" msgstr "" -#: whatsnew/3.8.rst:585 +#: whatsnew/3.8.rst:587 msgid "" "``mode='func_type'`` can be used to parse :pep:`484` \"signature type " "comments\" (returned for function definition AST nodes);" msgstr "" -#: whatsnew/3.8.rst:588 +#: whatsnew/3.8.rst:590 msgid "" "``feature_version=(3, N)`` allows specifying an earlier Python 3 version. " "For example, ``feature_version=(3, 4)`` will treat :keyword:`async` and :" "keyword:`await` as non-reserved words." msgstr "" -#: whatsnew/3.8.rst:592 +#: whatsnew/3.8.rst:594 msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" msgstr "" -#: whatsnew/3.8.rst:596 +#: whatsnew/3.8.rst:598 msgid "asyncio" msgstr "asyncio" -#: whatsnew/3.8.rst:598 +#: whatsnew/3.8.rst:600 msgid "" ":func:`asyncio.run` has graduated from the provisional to stable API. This " "function can be used to execute a :term:`coroutine` and return the result " "while automatically managing the event loop. For example::" msgstr "" -#: whatsnew/3.8.rst:610 +#: whatsnew/3.8.rst:612 msgid "This is *roughly* equivalent to::" msgstr "" -#: whatsnew/3.8.rst:627 +#: whatsnew/3.8.rst:629 msgid "" "The actual implementation is significantly more complex. Thus, :func:" "`asyncio.run` should be the preferred way of running asyncio programs." msgstr "" -#: whatsnew/3.8.rst:630 +#: whatsnew/3.8.rst:632 msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" msgstr "" -#: whatsnew/3.8.rst:632 +#: whatsnew/3.8.rst:634 msgid "" "Running ``python -m asyncio`` launches a natively async REPL. This allows " "rapid experimentation with code that has a top-level :keyword:`await`. " @@ -817,11 +819,11 @@ msgid "" "spawn a new event loop on every invocation:" msgstr "" -#: whatsnew/3.8.rst:647 +#: whatsnew/3.8.rst:649 msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" msgstr "" -#: whatsnew/3.8.rst:1965 +#: whatsnew/3.8.rst:1967 msgid "" "The exception :class:`asyncio.CancelledError` now inherits from :class:" "`BaseException` rather than :class:`Exception` and no longer inherits from :" @@ -829,32 +831,32 @@ msgid "" "in :issue:`32528`.)" msgstr "" -#: whatsnew/3.8.rst:654 +#: whatsnew/3.8.rst:656 msgid "" "On Windows, the default event loop is now :class:`~asyncio." "ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" msgstr "" -#: whatsnew/3.8.rst:657 +#: whatsnew/3.8.rst:659 msgid "" ":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " "Adam Meily and Andrew Svetlov in :issue:`29883`.)" msgstr "" -#: whatsnew/3.8.rst:660 +#: whatsnew/3.8.rst:662 msgid "" ":class:`~asyncio.ProactorEventLoop` can now be interrupted by :exc:" "`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" "`23057`.)" msgstr "" -#: whatsnew/3.8.rst:664 +#: whatsnew/3.8.rst:666 msgid "" "Added :meth:`asyncio.Task.get_coro` for getting the wrapped coroutine within " "an :class:`asyncio.Task`. (Contributed by Alex Grönholm in :issue:`36999`.)" msgstr "" -#: whatsnew/3.8.rst:668 +#: whatsnew/3.8.rst:670 msgid "" "Asyncio tasks can now be named, either by passing the ``name`` keyword " "argument to :func:`asyncio.create_task` or the :meth:`~asyncio.loop." @@ -865,7 +867,7 @@ msgid "" "issue:`34270`.)" msgstr "" -#: whatsnew/3.8.rst:676 +#: whatsnew/3.8.rst:678 msgid "" "Added support for `Happy Eyeballs `_ to :func:`asyncio.loop.create_connection`. To specify the " @@ -875,11 +877,11 @@ msgid "" "connect using both. (Contributed by twisteroid ambassador in :issue:`33530`.)" msgstr "" -#: whatsnew/3.8.rst:686 +#: whatsnew/3.8.rst:688 msgid "builtins" msgstr "" -#: whatsnew/3.8.rst:688 +#: whatsnew/3.8.rst:690 msgid "" "The :func:`compile` built-in has been improved to accept the ``ast." "PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag passed, :func:" @@ -889,11 +891,11 @@ msgid "" "(Contributed by Matthias Bussonnier in :issue:`34616`)" msgstr "" -#: whatsnew/3.8.rst:697 +#: whatsnew/3.8.rst:699 msgid "collections" msgstr "" -#: whatsnew/3.8.rst:699 +#: whatsnew/3.8.rst:701 msgid "" "The :meth:`~collections.somenamedtuple._asdict` method for :func:" "`collections.namedtuple` now returns a :class:`dict` instead of a :class:" @@ -904,25 +906,25 @@ msgid "" "issue:`35864`.)" msgstr "" -#: whatsnew/3.8.rst:709 +#: whatsnew/3.8.rst:711 msgid "cProfile" msgstr "" -#: whatsnew/3.8.rst:711 +#: whatsnew/3.8.rst:713 msgid "" "The :class:`cProfile.Profile ` class can now be used as a " "context manager. Profile a block of code by running::" msgstr "" -#: whatsnew/3.8.rst:720 +#: whatsnew/3.8.rst:722 msgid "(Contributed by Scott Sanderson in :issue:`29235`.)" msgstr "" -#: whatsnew/3.8.rst:724 +#: whatsnew/3.8.rst:726 msgid "csv" msgstr "csv" -#: whatsnew/3.8.rst:726 +#: whatsnew/3.8.rst:728 msgid "" "The :class:`csv.DictReader` now returns instances of :class:`dict` instead " "of a :class:`collections.OrderedDict`. The tool is now faster and uses less " @@ -930,22 +932,22 @@ msgid "" "in :issue:`34003`.)" msgstr "" -#: whatsnew/3.8.rst:733 +#: whatsnew/3.8.rst:735 msgid "curses" msgstr "curses" -#: whatsnew/3.8.rst:735 +#: whatsnew/3.8.rst:737 msgid "" "Added a new variable holding structured version information for the " "underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by " "Serhiy Storchaka in :issue:`31680`.)" msgstr "" -#: whatsnew/3.8.rst:741 +#: whatsnew/3.8.rst:743 msgid "ctypes" msgstr "ctypes" -#: whatsnew/3.8.rst:743 +#: whatsnew/3.8.rst:745 msgid "" "On Windows, :class:`~ctypes.CDLL` and subclasses now accept a *winmode* " "parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " @@ -955,11 +957,11 @@ msgid "" "add_dll_directory`. (Contributed by Steve Dower in :issue:`36085`.)" msgstr "" -#: whatsnew/3.8.rst:752 +#: whatsnew/3.8.rst:754 msgid "datetime" msgstr "datetime" -#: whatsnew/3.8.rst:754 +#: whatsnew/3.8.rst:756 msgid "" "Added new alternate constructors :meth:`datetime.date.fromisocalendar` and :" "meth:`datetime.datetime.fromisocalendar`, which construct :class:`date` and :" @@ -968,85 +970,85 @@ msgid "" "(Contributed by Paul Ganssle in :issue:`36004`.)" msgstr "" -#: whatsnew/3.8.rst:762 +#: whatsnew/3.8.rst:764 msgid "functools" msgstr "" -#: whatsnew/3.8.rst:764 +#: whatsnew/3.8.rst:766 msgid "" ":func:`functools.lru_cache` can now be used as a straight decorator rather " "than as a function returning a decorator. So both of these are now " "supported::" msgstr "" -#: whatsnew/3.8.rst:775 +#: whatsnew/3.8.rst:777 msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" msgstr "" -#: whatsnew/3.8.rst:777 +#: whatsnew/3.8.rst:779 msgid "" "Added a new :func:`functools.cached_property` decorator, for computed " "properties cached for the life of the instance. ::" msgstr "" -#: whatsnew/3.8.rst:791 +#: whatsnew/3.8.rst:793 msgid "(Contributed by Carl Meyer in :issue:`21145`)" msgstr "" -#: whatsnew/3.8.rst:794 +#: whatsnew/3.8.rst:796 msgid "" "Added a new :func:`functools.singledispatchmethod` decorator that converts " "methods into :term:`generic functions ` using :term:" "`single dispatch`::" msgstr "" -#: whatsnew/3.8.rst:816 +#: whatsnew/3.8.rst:818 msgid "(Contributed by Ethan Smith in :issue:`32380`)" msgstr "" -#: whatsnew/3.8.rst:819 +#: whatsnew/3.8.rst:821 msgid "gc" msgstr "gc" -#: whatsnew/3.8.rst:821 +#: whatsnew/3.8.rst:823 msgid "" ":func:`~gc.get_objects` can now receive an optional *generation* parameter " "indicating a generation to get objects from. (Contributed by Pablo Galindo " "in :issue:`36016`.)" msgstr "" -#: whatsnew/3.8.rst:827 +#: whatsnew/3.8.rst:829 msgid "gettext" msgstr "" -#: whatsnew/3.8.rst:829 +#: whatsnew/3.8.rst:831 msgid "" "Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " "Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" msgstr "" -#: whatsnew/3.8.rst:834 +#: whatsnew/3.8.rst:836 msgid "gzip" msgstr "gzip" -#: whatsnew/3.8.rst:836 +#: whatsnew/3.8.rst:838 msgid "" "Added the *mtime* parameter to :func:`gzip.compress` for reproducible " "output. (Contributed by Guo Ci Teo in :issue:`34898`.)" msgstr "" -#: whatsnew/3.8.rst:839 +#: whatsnew/3.8.rst:841 msgid "" "A :exc:`~gzip.BadGzipFile` exception is now raised instead of :exc:`OSError` " "for certain types of invalid or corrupt gzip files. (Contributed by Filip " "Gruszczyński, Michele Orrù, and Zackery Spytz in :issue:`6584`.)" msgstr "" -#: whatsnew/3.8.rst:846 +#: whatsnew/3.8.rst:848 msgid "IDLE and idlelib" msgstr "*IDLE* et *idlelib*" -#: whatsnew/3.8.rst:848 +#: whatsnew/3.8.rst:850 msgid "" "Output over N lines (50 by default) is squeezed down to a button. N can be " "changed in the PyShell section of the General page of the Settings dialog. " @@ -1056,7 +1058,7 @@ msgid "" "button. (Contributed by Tal Einat in :issue:`1529353`.)" msgstr "" -#: whatsnew/3.8.rst:855 +#: whatsnew/3.8.rst:857 msgid "" "Add \"Run Customized\" to the Run menu to run a module with customized " "settings. Any command line arguments entered are added to sys.argv. They " @@ -1065,7 +1067,7 @@ msgid "" "Sabella, Terry Jan Reedy, and others in :issue:`5680` and :issue:`37627`.)" msgstr "" -#: whatsnew/3.8.rst:861 +#: whatsnew/3.8.rst:863 msgid "" "Added optional line numbers for IDLE editor windows. Windows open without " "line numbers unless set otherwise in the General tab of the configuration " @@ -1074,7 +1076,7 @@ msgid "" "`17535`.)" msgstr "" -#: whatsnew/3.8.rst:867 +#: whatsnew/3.8.rst:869 msgid "" "OS native encoding is now used for converting between Python strings and Tcl " "objects. This allows IDLE to work with emoji and other non-BMP characters. " @@ -1084,17 +1086,17 @@ msgid "" "solved by Serhiy Storchaka in :issue:`13153`.)" msgstr "" -#: whatsnew/3.8.rst:874 +#: whatsnew/3.8.rst:876 msgid "New in 3.8.1:" msgstr "" -#: whatsnew/3.8.rst:876 +#: whatsnew/3.8.rst:878 msgid "" "Add option to toggle cursor blink off. (Contributed by Zackery Spytz in :" "issue:`4603`.)" msgstr "" -#: whatsnew/3.8.rst:879 +#: whatsnew/3.8.rst:881 msgid "" "Escape key now closes IDLE completion windows. (Contributed by Johnny " "Najera in :issue:`38944`.)" @@ -1102,21 +1104,21 @@ msgstr "" "La fenêtre de complétion de IDLE est maintenant fermée par la touche " "d'échappement (contribution de *Johnny Najera* dans :issue:`38944`)." -#: whatsnew/3.8.rst:882 +#: whatsnew/3.8.rst:884 msgid "The changes above have been backported to 3.7 maintenance releases." msgstr "" -#: whatsnew/3.8.rst:884 +#: whatsnew/3.8.rst:886 msgid "" "Add keywords to module name completion list. (Contributed by Terry J. Reedy " "in :issue:`37765`.)" msgstr "" -#: whatsnew/3.8.rst:888 +#: whatsnew/3.8.rst:890 msgid "inspect" msgstr "inspect" -#: whatsnew/3.8.rst:890 +#: whatsnew/3.8.rst:892 msgid "" "The :func:`inspect.getdoc` function can now find docstrings for " "``__slots__`` if that attribute is a :class:`dict` where the values are " @@ -1124,15 +1126,15 @@ msgid "" "have for :func:`property`, :func:`classmethod`, and :func:`staticmethod`::" msgstr "" -#: whatsnew/3.8.rst:902 +#: whatsnew/3.8.rst:904 msgid "(Contributed by Raymond Hettinger in :issue:`36326`.)" msgstr "" -#: whatsnew/3.8.rst:906 +#: whatsnew/3.8.rst:908 msgid "io" msgstr "" -#: whatsnew/3.8.rst:908 +#: whatsnew/3.8.rst:910 msgid "" "In development mode (:option:`-X` ``env``) and in :ref:`debug build `, the :class:`io.IOBase` finalizer now logs the exception if the " @@ -1140,35 +1142,35 @@ msgid "" "release build. (Contributed by Victor Stinner in :issue:`18748`.)" msgstr "" -#: whatsnew/3.8.rst:915 +#: whatsnew/3.8.rst:917 msgid "itertools" msgstr "" -#: whatsnew/3.8.rst:917 +#: whatsnew/3.8.rst:919 msgid "" "The :func:`itertools.accumulate` function added an option *initial* keyword " "argument to specify an initial value::" msgstr "" -#: whatsnew/3.8.rst:924 +#: whatsnew/3.8.rst:926 msgid "(Contributed by Lisa Roach in :issue:`34659`.)" msgstr "" -#: whatsnew/3.8.rst:928 +#: whatsnew/3.8.rst:930 msgid "json.tool" msgstr "" -#: whatsnew/3.8.rst:930 +#: whatsnew/3.8.rst:932 msgid "" "Add option ``--json-lines`` to parse every input line as a separate JSON " "object. (Contributed by Weipeng Hong in :issue:`31553`.)" msgstr "" -#: whatsnew/3.8.rst:935 +#: whatsnew/3.8.rst:937 msgid "logging" msgstr "" -#: whatsnew/3.8.rst:937 +#: whatsnew/3.8.rst:939 msgid "" "Added a *force* keyword argument to :func:`logging.basicConfig()` When set " "to true, any existing handlers attached to the root logger are removed and " @@ -1176,7 +1178,7 @@ msgid "" "arguments." msgstr "" -#: whatsnew/3.8.rst:942 +#: whatsnew/3.8.rst:944 msgid "" "This solves a long-standing problem. Once a logger or *basicConfig()* had " "been called, subsequent calls to *basicConfig()* were silently ignored. This " @@ -1184,53 +1186,53 @@ msgid "" "configuration options using the interactive prompt or a Jupyter notebook." msgstr "" -#: whatsnew/3.8.rst:948 +#: whatsnew/3.8.rst:950 msgid "" "(Suggested by Raymond Hettinger, implemented by Dong-hee Na, and reviewed by " "Vinay Sajip in :issue:`33897`.)" msgstr "" -#: whatsnew/3.8.rst:953 +#: whatsnew/3.8.rst:955 msgid "math" msgstr "math" -#: whatsnew/3.8.rst:955 +#: whatsnew/3.8.rst:957 msgid "" "Added new function :func:`math.dist` for computing Euclidean distance " "between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" msgstr "" -#: whatsnew/3.8.rst:958 +#: whatsnew/3.8.rst:960 msgid "" "Expanded the :func:`math.hypot` function to handle multiple dimensions. " "Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " "in :issue:`33089`.)" msgstr "" -#: whatsnew/3.8.rst:962 +#: whatsnew/3.8.rst:964 msgid "" "Added new function, :func:`math.prod`, as analogous function to :func:`sum` " "that returns the product of a 'start' value (default: 1) times an iterable " "of numbers::" msgstr "" -#: whatsnew/3.8.rst:971 +#: whatsnew/3.8.rst:973 msgid "(Contributed by Pablo Galindo in :issue:`35606`.)" msgstr "" -#: whatsnew/3.8.rst:973 +#: whatsnew/3.8.rst:975 msgid "" "Added two new combinatoric functions :func:`math.perm` and :func:`math." "comb`::" msgstr "" -#: whatsnew/3.8.rst:980 +#: whatsnew/3.8.rst:982 msgid "" "(Contributed by Yash Aggarwal, Keller Fuchs, Serhiy Storchaka, and Raymond " "Hettinger in :issue:`37128`, :issue:`37178`, and :issue:`35431`.)" msgstr "" -#: whatsnew/3.8.rst:983 +#: whatsnew/3.8.rst:985 msgid "" "Added a new function :func:`math.isqrt` for computing accurate integer " "square roots without conversion to floating point. The new function " @@ -1238,48 +1240,48 @@ msgid "" "but slower than :func:`math.sqrt`::" msgstr "" -#: whatsnew/3.8.rst:995 +#: whatsnew/3.8.rst:997 msgid "(Contributed by Mark Dickinson in :issue:`36887`.)" msgstr "" -#: whatsnew/3.8.rst:997 +#: whatsnew/3.8.rst:999 msgid "" "The function :func:`math.factorial` no longer accepts arguments that are not " "int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" msgstr "" -#: whatsnew/3.8.rst:1002 +#: whatsnew/3.8.rst:1004 msgid "mmap" msgstr "" -#: whatsnew/3.8.rst:1004 +#: whatsnew/3.8.rst:1006 msgid "" "The :class:`mmap.mmap` class now has an :meth:`~mmap.mmap.madvise` method to " "access the ``madvise()`` system call. (Contributed by Zackery Spytz in :" "issue:`32941`.)" msgstr "" -#: whatsnew/3.8.rst:1010 +#: whatsnew/3.8.rst:1012 msgid "multiprocessing" msgstr "multiprocessing" -#: whatsnew/3.8.rst:1012 +#: whatsnew/3.8.rst:1014 msgid "" "Added new :mod:`multiprocessing.shared_memory` module. (Contributed by Davin " "Potts in :issue:`35813`.)" msgstr "" -#: whatsnew/3.8.rst:1015 +#: whatsnew/3.8.rst:1017 msgid "" "On macOS, the *spawn* start method is now used by default. (Contributed by " "Victor Stinner in :issue:`33725`.)" msgstr "" -#: whatsnew/3.8.rst:1020 +#: whatsnew/3.8.rst:1022 msgid "os" msgstr "os" -#: whatsnew/3.8.rst:1022 +#: whatsnew/3.8.rst:1024 msgid "" "Added new function :func:`~os.add_dll_directory` on Windows for providing " "additional search paths for native dependencies when importing extension " @@ -1287,14 +1289,14 @@ msgid "" "issue:`36085`.)" msgstr "" -#: whatsnew/3.8.rst:1027 +#: whatsnew/3.8.rst:1029 msgid "" "A new :func:`os.memfd_create` function was added to wrap the " "``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " "Heimes in :issue:`26836`.)" msgstr "" -#: whatsnew/3.8.rst:1031 +#: whatsnew/3.8.rst:1033 msgid "" "On Windows, much of the manual logic for handling reparse points (including " "symlinks and directory junctions) has been delegated to the operating " @@ -1307,7 +1309,7 @@ msgid "" "st_reparse_tag` attribute." msgstr "" -#: whatsnew/3.8.rst:1040 +#: whatsnew/3.8.rst:1042 msgid "" "On Windows, :func:`os.readlink` is now able to read directory junctions. " "Note that :func:`~os.path.islink` will return ``False`` for directory " @@ -1316,15 +1318,15 @@ msgid "" "readlink` may now treat junctions as links." msgstr "" -#: whatsnew/3.8.rst:1071 +#: whatsnew/3.8.rst:1073 msgid "(Contributed by Steve Dower in :issue:`37834`.)" msgstr "" -#: whatsnew/3.8.rst:1050 +#: whatsnew/3.8.rst:1052 msgid "os.path" msgstr "``os.path``" -#: whatsnew/3.8.rst:1052 +#: whatsnew/3.8.rst:1054 msgid "" ":mod:`os.path` functions that return a boolean result like :func:`~os.path." "exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path." @@ -1335,7 +1337,7 @@ msgid "" "Storchaka in :issue:`33721`.)" msgstr "" -#: whatsnew/3.8.rst:1960 +#: whatsnew/3.8.rst:1962 msgid "" ":func:`~os.path.expanduser` on Windows now prefers the :envvar:`USERPROFILE` " "environment variable and does not use :envvar:`HOME`, which is not normally " @@ -1343,23 +1345,23 @@ msgid "" "`36264`.)" msgstr "" -#: whatsnew/3.8.rst:1065 +#: whatsnew/3.8.rst:1067 msgid "" ":func:`~os.path.isdir` on Windows no longer returns ``True`` for a link to a " "non-existent directory." msgstr "" -#: whatsnew/3.8.rst:1068 +#: whatsnew/3.8.rst:1070 msgid "" ":func:`~os.path.realpath` on Windows now resolves reparse points, including " "symlinks and directory junctions." msgstr "" -#: whatsnew/3.8.rst:1075 +#: whatsnew/3.8.rst:1077 msgid "pathlib" msgstr "pathlib" -#: whatsnew/3.8.rst:1077 +#: whatsnew/3.8.rst:1079 msgid "" ":mod:`pathlib.Path` methods that return a boolean result like :meth:" "`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib." @@ -1372,17 +1374,17 @@ msgid "" "`33721`.)" msgstr "" -#: whatsnew/3.8.rst:1087 +#: whatsnew/3.8.rst:1089 msgid "" "Added :meth:`pathlib.Path.link_to()` which creates a hard link pointing to a " "path. (Contributed by Joannah Nanjekye in :issue:`26978`)" msgstr "" -#: whatsnew/3.8.rst:1093 +#: whatsnew/3.8.rst:1095 msgid "pickle" msgstr "" -#: whatsnew/3.8.rst:1095 +#: whatsnew/3.8.rst:1097 msgid "" ":mod:`pickle` extensions subclassing the C-optimized :class:`~pickle." "Pickler` can now override the pickling logic of functions and classes by " @@ -1390,22 +1392,22 @@ msgid "" "(Contributed by Pierre Glaser and Olivier Grisel in :issue:`35900`.)" msgstr "" -#: whatsnew/3.8.rst:1102 +#: whatsnew/3.8.rst:1104 msgid "plistlib" msgstr "" -#: whatsnew/3.8.rst:1104 +#: whatsnew/3.8.rst:1106 msgid "" "Added new :class:`plistlib.UID` and enabled support for reading and writing " "NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in :issue:" "`26707`.)" msgstr "" -#: whatsnew/3.8.rst:1110 +#: whatsnew/3.8.rst:1112 msgid "pprint" msgstr "pprint" -#: whatsnew/3.8.rst:1112 +#: whatsnew/3.8.rst:1114 msgid "" "The :mod:`pprint` module added a *sort_dicts* parameter to several " "functions. By default, those functions continue to sort dictionaries before " @@ -1414,47 +1416,47 @@ msgid "" "for comparison to JSON inputs during debugging." msgstr "" -#: whatsnew/3.8.rst:1118 +#: whatsnew/3.8.rst:1120 msgid "" "In addition, there is a convenience new function, :func:`pprint.pp` that is " "like :func:`pprint.pprint` but with *sort_dicts* defaulting to ``False``::" msgstr "" -#: whatsnew/3.8.rst:1132 +#: whatsnew/3.8.rst:1134 msgid "(Contributed by Rémi Lapeyre in :issue:`30670`.)" msgstr "" -#: whatsnew/3.8.rst:1136 +#: whatsnew/3.8.rst:1138 msgid "py_compile" msgstr "``py_compile``" -#: whatsnew/3.8.rst:1138 +#: whatsnew/3.8.rst:1140 msgid "" ":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah " "Nanjekye in :issue:`22640`.)" msgstr "" -#: whatsnew/3.8.rst:1143 +#: whatsnew/3.8.rst:1145 msgid "shlex" msgstr "" -#: whatsnew/3.8.rst:1145 +#: whatsnew/3.8.rst:1147 msgid "" "The new :func:`shlex.join` function acts as the inverse of :func:`shlex." "split`. (Contributed by Bo Bayles in :issue:`32102`.)" msgstr "" -#: whatsnew/3.8.rst:1150 +#: whatsnew/3.8.rst:1152 msgid "shutil" msgstr "" -#: whatsnew/3.8.rst:1152 +#: whatsnew/3.8.rst:1154 msgid "" ":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " "argument. (Contributed by Josh Bronson in :issue:`20849`.)" msgstr "" -#: whatsnew/3.8.rst:1155 +#: whatsnew/3.8.rst:1157 msgid "" ":func:`shutil.make_archive` now defaults to the modern pax (POSIX.1-2001) " "format for new archives to improve portability and standards conformance, " @@ -1462,18 +1464,18 @@ msgid "" "(Contributed by C.A.M. Gerlach in :issue:`30661`.)" msgstr "" -#: whatsnew/3.8.rst:1160 +#: whatsnew/3.8.rst:1162 msgid "" ":func:`shutil.rmtree` on Windows now removes directory junctions without " "recursively removing their contents first. (Contributed by Steve Dower in :" "issue:`37834`.)" msgstr "" -#: whatsnew/3.8.rst:1166 +#: whatsnew/3.8.rst:1168 msgid "socket" msgstr "socket" -#: whatsnew/3.8.rst:1168 +#: whatsnew/3.8.rst:1170 msgid "" "Added :meth:`~socket.create_server()` and :meth:`~socket." "has_dualstack_ipv6()` convenience functions to automate the necessary tasks " @@ -1482,66 +1484,66 @@ msgid "" "Rodolà in :issue:`17561`.)" msgstr "" -#: whatsnew/3.8.rst:1173 +#: whatsnew/3.8.rst:1175 msgid "" "The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, and :" "func:`socket.if_indextoname()` functions have been implemented on Windows. " "(Contributed by Zackery Spytz in :issue:`37007`.)" msgstr "" -#: whatsnew/3.8.rst:1179 +#: whatsnew/3.8.rst:1181 msgid "ssl" msgstr "ssl" -#: whatsnew/3.8.rst:1181 +#: whatsnew/3.8.rst:1183 msgid "" "Added :attr:`~ssl.SSLContext.post_handshake_auth` to enable and :meth:`~ssl." "SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " "authentication. (Contributed by Christian Heimes in :issue:`34670`.)" msgstr "" -#: whatsnew/3.8.rst:1188 +#: whatsnew/3.8.rst:1190 msgid "statistics" msgstr "statistics" -#: whatsnew/3.8.rst:1190 +#: whatsnew/3.8.rst:1192 msgid "" "Added :func:`statistics.fmean` as a faster, floating point variant of :func:" "`statistics.mean()`. (Contributed by Raymond Hettinger and Steven D'Aprano " "in :issue:`35904`.)" msgstr "" -#: whatsnew/3.8.rst:1194 +#: whatsnew/3.8.rst:1196 msgid "" "Added :func:`statistics.geometric_mean()` (Contributed by Raymond Hettinger " "in :issue:`27181`.)" msgstr "" -#: whatsnew/3.8.rst:1197 +#: whatsnew/3.8.rst:1199 msgid "" "Added :func:`statistics.multimode` that returns a list of the most common " "values. (Contributed by Raymond Hettinger in :issue:`35892`.)" msgstr "" -#: whatsnew/3.8.rst:1200 +#: whatsnew/3.8.rst:1202 msgid "" "Added :func:`statistics.quantiles` that divides data or a distribution in to " "equiprobable intervals (e.g. quartiles, deciles, or percentiles). " "(Contributed by Raymond Hettinger in :issue:`36546`.)" msgstr "" -#: whatsnew/3.8.rst:1204 +#: whatsnew/3.8.rst:1206 msgid "" "Added :class:`statistics.NormalDist`, a tool for creating and manipulating " "normal distributions of a random variable. (Contributed by Raymond Hettinger " "in :issue:`36018`.)" msgstr "" -#: whatsnew/3.8.rst:1234 +#: whatsnew/3.8.rst:1236 msgid "sys" msgstr "sys" -#: whatsnew/3.8.rst:1236 +#: whatsnew/3.8.rst:1238 msgid "" "Add new :func:`sys.unraisablehook` function which can be overridden to " "control how \"unraisable exceptions\" are handled. It is called when an " @@ -1550,11 +1552,11 @@ msgid "" "(:func:`gc.collect`). (Contributed by Victor Stinner in :issue:`36829`.)" msgstr "" -#: whatsnew/3.8.rst:1245 +#: whatsnew/3.8.rst:1247 msgid "tarfile" msgstr "" -#: whatsnew/3.8.rst:1247 +#: whatsnew/3.8.rst:1249 msgid "" "The :mod:`tarfile` module now defaults to the modern pax (POSIX.1-2001) " "format for new archives, instead of the previous GNU-specific one. This " @@ -1563,11 +1565,11 @@ msgid "" "(Contributed by C.A.M. Gerlach in :issue:`36268`.)" msgstr "" -#: whatsnew/3.8.rst:1255 +#: whatsnew/3.8.rst:1257 msgid "threading" msgstr "threading" -#: whatsnew/3.8.rst:1257 +#: whatsnew/3.8.rst:1259 msgid "" "Add a new :func:`threading.excepthook` function which handles uncaught :meth:" "`threading.Thread.run` exception. It can be overridden to control how " @@ -1575,7 +1577,7 @@ msgid "" "by Victor Stinner in :issue:`1230540`.)" msgstr "" -#: whatsnew/3.8.rst:1262 +#: whatsnew/3.8.rst:1264 msgid "" "Add a new :func:`threading.get_native_id` function and a :data:`~threading." "Thread.native_id` attribute to the :class:`threading.Thread` class. These " @@ -1585,11 +1587,11 @@ msgid "" "by Jake Tesler in :issue:`36084`.)" msgstr "" -#: whatsnew/3.8.rst:1272 +#: whatsnew/3.8.rst:1274 msgid "tokenize" msgstr "" -#: whatsnew/3.8.rst:1274 +#: whatsnew/3.8.rst:1276 msgid "" "The :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token when " "provided with input that does not have a trailing new line. This behavior " @@ -1597,11 +1599,11 @@ msgid "" "Askar in :issue:`33899`.)" msgstr "" -#: whatsnew/3.8.rst:1281 +#: whatsnew/3.8.rst:1283 msgid "tkinter" msgstr "tkinter" -#: whatsnew/3.8.rst:1283 +#: whatsnew/3.8.rst:1285 msgid "" "Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." "Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" @@ -1609,38 +1611,38 @@ msgid "" "(Contributed by Juliette Monsel in :issue:`34829`.)" msgstr "" -#: whatsnew/3.8.rst:1290 +#: whatsnew/3.8.rst:1292 msgid "" "Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " "class. (Contributed by Juliette Monsel in :issue:`23831`.)" msgstr "" -#: whatsnew/3.8.rst:1294 +#: whatsnew/3.8.rst:1296 msgid "" "The :class:`tkinter.PhotoImage` class now has :meth:`~tkinter.PhotoImage." "transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " "(Contributed by Zackery Spytz in :issue:`25451`.)" msgstr "" -#: whatsnew/3.8.rst:1301 +#: whatsnew/3.8.rst:1303 msgid "time" msgstr "time" -#: whatsnew/3.8.rst:1303 +#: whatsnew/3.8.rst:1305 msgid "" "Added new clock :data:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. (Contributed " "by Joannah Nanjekye in :issue:`35702`.)" msgstr "" -#: whatsnew/3.8.rst:1308 +#: whatsnew/3.8.rst:1310 msgid "typing" msgstr "typing" -#: whatsnew/3.8.rst:1310 +#: whatsnew/3.8.rst:1312 msgid "The :mod:`typing` module incorporates several new features:" msgstr "" -#: whatsnew/3.8.rst:1312 +#: whatsnew/3.8.rst:1314 msgid "" "A dictionary type with per-key types. See :pep:`589` and :class:`typing." "TypedDict`. TypedDict uses only string keys. By default, every key is " @@ -1648,46 +1650,46 @@ msgid "" "optional::" msgstr "" -#: whatsnew/3.8.rst:1322 +#: whatsnew/3.8.rst:1324 msgid "" "Literal types. See :pep:`586` and :class:`typing.Literal`. Literal types " "indicate that a parameter or return value is constrained to one or more " "specific literal values::" msgstr "" -#: whatsnew/3.8.rst:1329 +#: whatsnew/3.8.rst:1331 msgid "" "\"Final\" variables, functions, methods and classes. See :pep:`591`, :class:" "`typing.Final` and :func:`typing.final`. The final qualifier instructs a " "static type checker to restrict subclassing, overriding, or reassignment::" msgstr "" -#: whatsnew/3.8.rst:1336 +#: whatsnew/3.8.rst:1338 msgid "" "Protocol definitions. See :pep:`544`, :class:`typing.Protocol` and :func:" "`typing.runtime_checkable`. Simple ABCs like :class:`typing.SupportsInt` " "are now ``Protocol`` subclasses." msgstr "" -#: whatsnew/3.8.rst:1340 +#: whatsnew/3.8.rst:1342 msgid "New protocol class :class:`typing.SupportsIndex`." msgstr "" -#: whatsnew/3.8.rst:1342 +#: whatsnew/3.8.rst:1344 msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." msgstr "" -#: whatsnew/3.8.rst:1346 +#: whatsnew/3.8.rst:1348 msgid "unicodedata" msgstr "unicodedata" -#: whatsnew/3.8.rst:1348 +#: whatsnew/3.8.rst:1350 msgid "" "The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " -"`_ release." +"`_ release." msgstr "" -#: whatsnew/3.8.rst:1351 +#: whatsnew/3.8.rst:1353 msgid "" "New function :func:`~unicodedata.is_normalized` can be used to verify a " "string is in a specific normal form, often much faster than by actually " @@ -1695,11 +1697,11 @@ msgid "" "Greg Price in :issue:`32285` and :issue:`37966`)." msgstr "" -#: whatsnew/3.8.rst:1358 +#: whatsnew/3.8.rst:1360 msgid "unittest" msgstr "unittest" -#: whatsnew/3.8.rst:1360 +#: whatsnew/3.8.rst:1362 msgid "" "Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version " "of :class:`~unittest.mock.Mock`. Appropriate new assert functions for " @@ -1707,7 +1709,7 @@ msgid "" "`26467`)." msgstr "" -#: whatsnew/3.8.rst:1365 +#: whatsnew/3.8.rst:1367 msgid "" "Added :func:`~unittest.addModuleCleanup()` and :meth:`~unittest.TestCase." "addClassCleanup()` to unittest to support cleanups for :func:`~unittest." @@ -1715,57 +1717,57 @@ msgid "" "Lisa Roach in :issue:`24412`.)" msgstr "" -#: whatsnew/3.8.rst:1371 +#: whatsnew/3.8.rst:1373 msgid "" "Several mock assert functions now also print a list of actual calls upon " "failure. (Contributed by Petter Strandmark in :issue:`35047`.)" msgstr "" -#: whatsnew/3.8.rst:1374 +#: whatsnew/3.8.rst:1376 msgid "" ":mod:`unittest` module gained support for coroutines to be used as test " "cases with :class:`unittest.IsolatedAsyncioTestCase`. (Contributed by Andrew " "Svetlov in :issue:`32972`.)" msgstr "" -#: whatsnew/3.8.rst:1378 +#: whatsnew/3.8.rst:1380 msgid "Example::" msgstr "Exemple ::" -#: whatsnew/3.8.rst:1401 +#: whatsnew/3.8.rst:1403 msgid "venv" msgstr "venv" -#: whatsnew/3.8.rst:1403 +#: whatsnew/3.8.rst:1405 msgid "" ":mod:`venv` now includes an ``Activate.ps1`` script on all platforms for " "activating virtual environments under PowerShell Core 6.1. (Contributed by " "Brett Cannon in :issue:`32718`.)" msgstr "" -#: whatsnew/3.8.rst:1409 +#: whatsnew/3.8.rst:1411 msgid "weakref" msgstr "weakref" -#: whatsnew/3.8.rst:1411 +#: whatsnew/3.8.rst:1413 msgid "" "The proxy objects returned by :func:`weakref.proxy` now support the matrix " "multiplication operators ``@`` and ``@=`` in addition to the other numeric " "operators. (Contributed by Mark Dickinson in :issue:`36669`.)" msgstr "" -#: whatsnew/3.8.rst:1417 +#: whatsnew/3.8.rst:1419 msgid "xml" msgstr "xml" -#: whatsnew/3.8.rst:1419 +#: whatsnew/3.8.rst:1421 msgid "" "As mitigation against DTD and external entity retrieval, the :mod:`xml.dom." "minidom` and :mod:`xml.sax` modules no longer process external entities by " "default. (Contributed by Christian Heimes in :issue:`17239`.)" msgstr "" -#: whatsnew/3.8.rst:1424 +#: whatsnew/3.8.rst:1426 msgid "" "The ``.find*()`` methods in the :mod:`xml.etree.ElementTree` module support " "wildcard searches like ``{*}tag`` which ignores the namespace and " @@ -1773,14 +1775,14 @@ msgid "" "by Stefan Behnel in :issue:`28238`.)" msgstr "" -#: whatsnew/3.8.rst:1429 +#: whatsnew/3.8.rst:1431 msgid "" "The :mod:`xml.etree.ElementTree` module provides a new function :func:`–xml." "etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed by " "Stefan Behnel in :issue:`13611`.)" msgstr "" -#: whatsnew/3.8.rst:1433 +#: whatsnew/3.8.rst:1435 msgid "" "The target object of :class:`xml.etree.ElementTree.XMLParser` can receive " "namespace declaration events through the new callback methods ``start_ns()`` " @@ -1790,11 +1792,11 @@ msgid "" "by Stefan Behnel in :issue:`36676` and :issue:`36673`.)" msgstr "" -#: whatsnew/3.8.rst:1443 +#: whatsnew/3.8.rst:1445 msgid "xmlrpc" msgstr "xmlrpc" -#: whatsnew/3.8.rst:1445 +#: whatsnew/3.8.rst:1447 msgid "" ":class:`xmlrpc.client.ServerProxy` now supports an optional *headers* " "keyword argument for a sequence of HTTP headers to be sent with each " @@ -1803,37 +1805,37 @@ msgid "" "Cédric Krier in :issue:`35153`.)" msgstr "" -#: whatsnew/3.8.rst:1453 +#: whatsnew/3.8.rst:1455 #, fuzzy msgid "Optimizations" msgstr "Optimisation" -#: whatsnew/3.8.rst:1455 +#: whatsnew/3.8.rst:1457 msgid "" "The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function " "in some cases for better performance. Currently, it is only used on macOS " "and Linux (using glibc 2.24 or newer) if all these conditions are met:" msgstr "" -#: whatsnew/3.8.rst:1459 +#: whatsnew/3.8.rst:1461 msgid "*close_fds* is false;" msgstr "" -#: whatsnew/3.8.rst:1460 +#: whatsnew/3.8.rst:1462 msgid "" "*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " "set;" msgstr "" -#: whatsnew/3.8.rst:1462 +#: whatsnew/3.8.rst:1464 msgid "the *executable* path contains a directory." msgstr "" -#: whatsnew/3.8.rst:1464 +#: whatsnew/3.8.rst:1466 msgid "(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" msgstr "" -#: whatsnew/3.8.rst:1466 +#: whatsnew/3.8.rst:1468 msgid "" ":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" "`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-" @@ -1849,7 +1851,7 @@ msgid "" "Giampaolo Rodolà in :issue:`33671`.)" msgstr "" -#: whatsnew/3.8.rst:1482 +#: whatsnew/3.8.rst:1484 msgid "" ":func:`shutil.copytree` uses :func:`os.scandir` function and all copy " "functions depending from it use cached :func:`os.stat` values. The speedup " @@ -1859,27 +1861,27 @@ msgid "" "on network filesystems. (Contributed by Giampaolo Rodolà in :issue:`33695`.)" msgstr "" -#: whatsnew/3.8.rst:1489 +#: whatsnew/3.8.rst:1491 msgid "" "The default protocol in the :mod:`pickle` module is now Protocol 4, first " "introduced in Python 3.4. It offers better performance and smaller size " "compared to Protocol 3 available since Python 3.0." msgstr "" -#: whatsnew/3.8.rst:1493 +#: whatsnew/3.8.rst:1495 msgid "" "Removed one :c:type:`Py_ssize_t` member from ``PyGC_Head``. All GC tracked " "objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " "by Inada Naoki in :issue:`33597`.)" msgstr "" -#: whatsnew/3.8.rst:1497 +#: whatsnew/3.8.rst:1499 msgid "" ":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint. " "(Contributed by Wouter Bolsterlee and Tal Einat in :issue:`30977`)" msgstr "" -#: whatsnew/3.8.rst:1500 +#: whatsnew/3.8.rst:1502 msgid "" "Improved performance of :func:`operator.itemgetter` by 33%. Optimized " "argument handling and added a fast path for the common case of a single non-" @@ -1887,7 +1889,7 @@ msgid "" "standard library). (Contributed by Raymond Hettinger in :issue:`35664`.)" msgstr "" -#: whatsnew/3.8.rst:1506 +#: whatsnew/3.8.rst:1508 msgid "" "Sped-up field lookups in :func:`collections.namedtuple`. They are now more " "than two times faster, making them the fastest form of instance variable " @@ -1895,7 +1897,7 @@ msgid "" "Jevnik, Serhiy Storchaka in :issue:`32492`.)" msgstr "" -#: whatsnew/3.8.rst:1511 +#: whatsnew/3.8.rst:1513 msgid "" "The :class:`list` constructor does not overallocate the internal item buffer " "if the input iterable has a known length (the input implements ``__len__``). " @@ -1903,7 +1905,7 @@ msgid "" "Hettinger and Pablo Galindo in :issue:`33234`.)" msgstr "" -#: whatsnew/3.8.rst:1516 +#: whatsnew/3.8.rst:1518 msgid "" "Doubled the speed of class variable writes. When a non-dunder attribute was " "updated, there was an unnecessary call to update slots. (Contributed by " @@ -1911,7 +1913,7 @@ msgid "" "and Serhiy Storchaka in :issue:`36012`.)" msgstr "" -#: whatsnew/3.8.rst:1521 +#: whatsnew/3.8.rst:1523 msgid "" "Reduced an overhead of converting arguments passed to many builtin functions " "and methods. This sped up calling some simple builtin functions and methods " @@ -1919,18 +1921,18 @@ msgid "" "`35582` and :issue:`36127`.)" msgstr "" -#: whatsnew/3.8.rst:1526 +#: whatsnew/3.8.rst:1528 msgid "" "``LOAD_GLOBAL`` instruction now uses new \"per opcode cache\" mechanism. It " "is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki in :" "issue:`26219`.)" msgstr "" -#: whatsnew/3.8.rst:1532 +#: whatsnew/3.8.rst:1534 msgid "Build and C API Changes" msgstr "" -#: whatsnew/3.8.rst:1534 +#: whatsnew/3.8.rst:1536 msgid "" "Default :data:`sys.abiflags` became an empty string: the ``m`` flag for " "pymalloc became useless (builds with and without pymalloc are ABI " @@ -1938,22 +1940,22 @@ msgid "" "issue:`36707`.)" msgstr "" -#: whatsnew/3.8.rst:1538 +#: whatsnew/3.8.rst:1540 msgid "Example of changes:" msgstr "" -#: whatsnew/3.8.rst:1540 +#: whatsnew/3.8.rst:1542 msgid "" "Only ``python3.8`` program is installed, ``python3.8m`` program is gone." msgstr "" -#: whatsnew/3.8.rst:1541 +#: whatsnew/3.8.rst:1543 msgid "" "Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " "is gone." msgstr "" -#: whatsnew/3.8.rst:1543 +#: whatsnew/3.8.rst:1545 msgid "" "The ``m`` flag has been removed from the suffix of dynamic library " "filenames: extension modules in the standard library as well as those " @@ -1962,23 +1964,23 @@ msgid "" "linux-gnu.so`` became ``.cpython-38-x86_64-linux-gnu.so`` in Python 3.8." msgstr "" -#: whatsnew/3.8.rst:1550 +#: whatsnew/3.8.rst:1552 msgid "" "The header files have been reorganized to better separate the different " "kinds of APIs:" msgstr "" -#: whatsnew/3.8.rst:1553 +#: whatsnew/3.8.rst:1555 msgid "``Include/*.h`` should be the portable public stable C API." msgstr "" -#: whatsnew/3.8.rst:1554 +#: whatsnew/3.8.rst:1556 msgid "" "``Include/cpython/*.h`` should be the unstable C API specific to CPython; " "public API, with some private API prefixed by ``_Py`` or ``_PY``." msgstr "" -#: whatsnew/3.8.rst:1556 +#: whatsnew/3.8.rst:1558 msgid "" "``Include/internal/*.h`` is the private internal C API very specific to " "CPython. This API comes with no backward compatibility warranty and should " @@ -1987,43 +1989,43 @@ msgid "" "calling functions. This API is now installed by ``make install``." msgstr "" -#: whatsnew/3.8.rst:1562 +#: whatsnew/3.8.rst:1564 msgid "" "(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " "initiated by Eric Snow in Python 3.7.)" msgstr "" -#: whatsnew/3.8.rst:1565 +#: whatsnew/3.8.rst:1567 msgid "" "Some macros have been converted to static inline functions: parameter types " "and return type are well defined, they don't have issues specific to macros, " "variables have a local scopes. Examples:" msgstr "" -#: whatsnew/3.8.rst:1569 +#: whatsnew/3.8.rst:1571 msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" msgstr "" -#: whatsnew/3.8.rst:1570 +#: whatsnew/3.8.rst:1572 msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" msgstr "" -#: whatsnew/3.8.rst:1571 +#: whatsnew/3.8.rst:1573 msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" msgstr "" -#: whatsnew/3.8.rst:1572 +#: whatsnew/3.8.rst:1574 msgid "" "Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" "`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" msgstr "" -#: whatsnew/3.8.rst:1575 +#: whatsnew/3.8.rst:1577 #, fuzzy msgid "(Contributed by Victor Stinner in :issue:`35059`.)" msgstr "(Contribution par Victor Stinner; :issue:`12049`.)" -#: whatsnew/3.8.rst:1577 +#: whatsnew/3.8.rst:1579 msgid "" "The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have " "been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were " @@ -2031,14 +2033,14 @@ msgid "" "(Contributed by Victor Stinner in :issue:`35713`.)" msgstr "" -#: whatsnew/3.8.rst:1582 +#: whatsnew/3.8.rst:1584 msgid "" "The result of :c:func:`PyExceptionClass_Name` is now of type ``const char " "*`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:" "`33818`.)" msgstr "" -#: whatsnew/3.8.rst:1586 +#: whatsnew/3.8.rst:1588 msgid "" "The duality of ``Modules/Setup.dist`` and ``Modules/Setup`` has been " "removed. Previously, when updating the CPython source tree, one had to " @@ -2049,7 +2051,7 @@ msgid "" "the file could produce build failures." msgstr "" -#: whatsnew/3.8.rst:1594 +#: whatsnew/3.8.rst:1596 msgid "" "Now the build system always reads from ``Modules/Setup`` inside the source " "tree. People who want to customize that file are encouraged to maintain " @@ -2057,12 +2059,12 @@ msgid "" "for any other change to the source tree." msgstr "" -#: whatsnew/3.8.rst:1599 +#: whatsnew/3.8.rst:1601 #, fuzzy msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" msgstr "(Contribution par Antoine Pitrou; :issue:`9260`.)" -#: whatsnew/3.8.rst:1601 +#: whatsnew/3.8.rst:1603 msgid "" "Functions that convert Python number to C integer like :c:func:" "`PyLong_AsLong` and argument parsing functions like :c:func:" @@ -2078,7 +2080,7 @@ msgid "" "`20092`.)" msgstr "" -#: whatsnew/3.8.rst:1615 +#: whatsnew/3.8.rst:1617 msgid "" "Heap-allocated type objects will now increase their reference count in :c:" "func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) instead of " @@ -2087,7 +2089,7 @@ msgid "" "issue:`35810`.)" msgstr "" -#: whatsnew/3.8.rst:1621 +#: whatsnew/3.8.rst:1623 msgid "" "The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code " "objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount* " @@ -2095,25 +2097,25 @@ msgid "" "(Contributed by Pablo Galindo in :issue:`37221`.)" msgstr "" -#: whatsnew/3.8.rst:1626 +#: whatsnew/3.8.rst:1628 msgid "" ":c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full " "path (:c:func:`Py_GetProgramFullPath`) rather than to the program name (:c:" "func:`Py_GetProgramName`). (Contributed by Victor Stinner in :issue:`38234`.)" msgstr "" -#: whatsnew/3.8.rst:1633 +#: whatsnew/3.8.rst:1635 msgid "Deprecated" msgstr "Obsolescence" -#: whatsnew/3.8.rst:1635 +#: whatsnew/3.8.rst:1637 msgid "" "The distutils ``bdist_wininst`` command is now deprecated, use " "``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in :" "issue:`37481`.)" msgstr "" -#: whatsnew/3.8.rst:1639 +#: whatsnew/3.8.rst:1641 msgid "" "Deprecated methods ``getchildren()`` and ``getiterator()`` in the :mod:`~xml." "etree.ElementTree` module now emit a :exc:`DeprecationWarning` instead of :" @@ -2121,7 +2123,7 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`29209`.)" msgstr "" -#: whatsnew/3.8.rst:1645 +#: whatsnew/3.8.rst:1647 msgid "" "Passing an object that is not an instance of :class:`concurrent.futures." "ThreadPoolExecutor` to :meth:`loop.set_default_executor() `. (Contributed by Serhiy Storchaka in :issue:`36492`.)" msgstr "" -#: whatsnew/3.8.rst:1746 +#: whatsnew/3.8.rst:1748 msgid "API and Feature Removals" msgstr "" -#: whatsnew/3.8.rst:1748 +#: whatsnew/3.8.rst:1750 msgid "The following features and APIs have been removed from Python 3.8:" msgstr "" -#: whatsnew/3.8.rst:1750 +#: whatsnew/3.8.rst:1752 msgid "" "Starting with Python 3.3, importing ABCs from :mod:`collections` was " "deprecated, and importing should be done from :mod:`collections.abc`. Being " @@ -2292,20 +2294,20 @@ msgid "" "delayed to 3.9. (See :issue:`36952`.)" msgstr "" -#: whatsnew/3.8.rst:1755 +#: whatsnew/3.8.rst:1757 msgid "" "The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " "(Contributed by Victor Stinner in :issue:`35471`.)" msgstr "" -#: whatsnew/3.8.rst:1877 +#: whatsnew/3.8.rst:1879 msgid "" "The function :func:`platform.popen` has been removed, after having been " "deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " "Victor Stinner in :issue:`35345`.)" msgstr "" -#: whatsnew/3.8.rst:1762 +#: whatsnew/3.8.rst:1764 msgid "" "The function :func:`time.clock` has been removed, after having been " "deprecated since Python 3.3: use :func:`time.perf_counter` or :func:`time." @@ -2313,27 +2315,27 @@ msgid "" "behavior. (Contributed by Matthias Bussonnier in :issue:`36895`.)" msgstr "" -#: whatsnew/3.8.rst:1768 +#: whatsnew/3.8.rst:1770 msgid "" "The ``pyvenv`` script has been removed in favor of ``python3.8 -m venv`` to " "help eliminate confusion as to what Python interpreter the ``pyvenv`` script " "is tied to. (Contributed by Brett Cannon in :issue:`25427`.)" msgstr "" -#: whatsnew/3.8.rst:1772 +#: whatsnew/3.8.rst:1774 msgid "" "``parse_qs``, ``parse_qsl``, and ``escape`` are removed from the :mod:`cgi` " "module. They are deprecated in Python 3.2 or older. They should be imported " "from the ``urllib.parse`` and ``html`` modules instead." msgstr "" -#: whatsnew/3.8.rst:1776 +#: whatsnew/3.8.rst:1778 msgid "" "``filemode`` function is removed from the :mod:`tarfile` module. It is not " "documented and deprecated since Python 3.3." msgstr "" -#: whatsnew/3.8.rst:1779 +#: whatsnew/3.8.rst:1781 msgid "" "The :class:`~xml.etree.ElementTree.XMLParser` constructor no longer accepts " "the *html* argument. It never had an effect and was deprecated in Python " @@ -2341,44 +2343,44 @@ msgid "" "only_parameter>`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" msgstr "" -#: whatsnew/3.8.rst:1784 +#: whatsnew/3.8.rst:1786 msgid "" "Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." "XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" msgstr "" -#: whatsnew/3.8.rst:1787 +#: whatsnew/3.8.rst:1789 msgid "" "\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" "`36297`.)" msgstr "" -#: whatsnew/3.8.rst:1790 +#: whatsnew/3.8.rst:1792 msgid "" "The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not " "exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" msgstr "" -#: whatsnew/3.8.rst:1794 +#: whatsnew/3.8.rst:1796 msgid "" "The ``bufsize`` keyword argument of :func:`fileinput.input` and :func:" "`fileinput.FileInput` which was ignored and deprecated since Python 3.6 has " "been removed. :issue:`36952` (Contributed by Matthias Bussonnier.)" msgstr "" -#: whatsnew/3.8.rst:1798 +#: whatsnew/3.8.rst:1800 msgid "" "The functions :func:`sys.set_coroutine_wrapper` and :func:`sys." "get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" "`36933` (Contributed by Matthias Bussonnier.)" msgstr "" -#: whatsnew/3.8.rst:1804 +#: whatsnew/3.8.rst:1806 #, fuzzy msgid "Porting to Python 3.8" msgstr "Portage vers Python 3.1" -#: whatsnew/3.8.rst:1806 +#: whatsnew/3.8.rst:1808 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -2386,11 +2388,11 @@ msgstr "" "Cette section liste les changements mentionnés préalablement et d'autres " "améliorations qui peuvent demander des changements à votre code." -#: whatsnew/3.8.rst:1811 +#: whatsnew/3.8.rst:1813 msgid "Changes in Python behavior" msgstr "" -#: whatsnew/3.8.rst:1813 +#: whatsnew/3.8.rst:1815 msgid "" "Yield expressions (both ``yield`` and ``yield from`` clauses) are now " "disallowed in comprehensions and generator expressions (aside from the " @@ -2398,7 +2400,7 @@ msgid "" "Serhiy Storchaka in :issue:`10544`.)" msgstr "" -#: whatsnew/3.8.rst:1818 +#: whatsnew/3.8.rst:1820 msgid "" "The compiler now produces a :exc:`SyntaxWarning` when identity checks " "(``is`` and ``is not``) are used with certain types of literals (e.g. " @@ -2408,7 +2410,7 @@ msgid "" "issue:`34850`.)" msgstr "" -#: whatsnew/3.8.rst:1825 +#: whatsnew/3.8.rst:1827 msgid "" "The CPython interpreter can swallow exceptions in some circumstances. In " "Python 3.8 this happens in fewer cases. In particular, exceptions raised " @@ -2416,7 +2418,7 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`35459`.)" msgstr "" -#: whatsnew/3.8.rst:1830 +#: whatsnew/3.8.rst:1832 msgid "" "Removed ``__str__`` implementations from builtin types :class:`bool`, :class:" "`int`, :class:`float`, :class:`complex` and few classes from the standard " @@ -2426,7 +2428,7 @@ msgid "" "issue:`36793`.)" msgstr "" -#: whatsnew/3.8.rst:1837 +#: whatsnew/3.8.rst:1839 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " @@ -2435,7 +2437,7 @@ msgid "" "`36588`.)" msgstr "" -#: whatsnew/3.8.rst:1843 +#: whatsnew/3.8.rst:1845 msgid "" ":c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now " "terminate the current thread if called while the interpreter is finalizing, " @@ -2446,11 +2448,11 @@ msgid "" "`36475`.)" msgstr "" -#: whatsnew/3.8.rst:1853 +#: whatsnew/3.8.rst:1855 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" -#: whatsnew/3.8.rst:1855 +#: whatsnew/3.8.rst:1857 msgid "" "The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows, " "rather than the ANSI code page: see :pep:`529` for the rationale. The " @@ -2458,7 +2460,7 @@ msgid "" "in :issue:`37412`.)" msgstr "" -#: whatsnew/3.8.rst:1860 +#: whatsnew/3.8.rst:1862 msgid "" ":class:`subprocess.Popen` can now use :func:`os.posix_spawn` in some cases " "for better performance. On Windows Subsystem for Linux and QEMU User " @@ -2468,7 +2470,7 @@ msgid "" "by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" msgstr "" -#: whatsnew/3.8.rst:1867 +#: whatsnew/3.8.rst:1869 msgid "" "The *preexec_fn* argument of * :class:`subprocess.Popen` is no longer " "compatible with subinterpreters. The use of the parameter in a " @@ -2476,20 +2478,20 @@ msgid "" "issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" msgstr "" -#: whatsnew/3.8.rst:1873 +#: whatsnew/3.8.rst:1875 msgid "" "The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " "exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" msgstr "" -#: whatsnew/3.8.rst:1881 +#: whatsnew/3.8.rst:1883 msgid "" "The :func:`statistics.mode` function no longer raises an exception when " "given multimodal data. Instead, it returns the first mode encountered in " "the input data. (Contributed by Raymond Hettinger in :issue:`35892`.)" msgstr "" -#: whatsnew/3.8.rst:1886 +#: whatsnew/3.8.rst:1888 msgid "" "The :meth:`~tkinter.ttk.Treeview.selection` method of the :class:`tkinter." "ttk.Treeview` class no longer takes arguments. Using it with arguments for " @@ -2498,7 +2500,7 @@ msgid "" "selection. (Contributed by Serhiy Storchaka in :issue:`31508`.)" msgstr "" -#: whatsnew/3.8.rst:1892 +#: whatsnew/3.8.rst:1894 msgid "" "The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of :mod:" "`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, now " @@ -2506,14 +2508,14 @@ msgid "" "Rojas and Raymond Hettinger in :issue:`34160`.)" msgstr "" -#: whatsnew/3.8.rst:1897 +#: whatsnew/3.8.rst:1899 msgid "" "A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-only. :func:" "`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a database " "if it does not exist. (Contributed by Serhiy Storchaka in :issue:`32749`.)" msgstr "" -#: whatsnew/3.8.rst:1902 +#: whatsnew/3.8.rst:1904 msgid "" "The ``doctype()`` method defined in a subclass of :class:`~xml.etree." "ElementTree.XMLParser` will no longer be called and will emit a :exc:" @@ -2523,7 +2525,7 @@ msgid "" "in :issue:`29209`.)" msgstr "" -#: whatsnew/3.8.rst:1909 +#: whatsnew/3.8.rst:1911 msgid "" "A :exc:`RuntimeError` is now raised when the custom metaclass doesn't " "provide the ``__classcell__`` entry in the namespace passed to ``type." @@ -2531,13 +2533,13 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`23722`.)" msgstr "" -#: whatsnew/3.8.rst:1914 +#: whatsnew/3.8.rst:1916 msgid "" "The :class:`cProfile.Profile` class can now be used as a context manager. " "(Contributed by Scott Sanderson in :issue:`29235`.)" msgstr "" -#: whatsnew/3.8.rst:1917 +#: whatsnew/3.8.rst:1919 msgid "" ":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" "`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-" @@ -2545,19 +2547,19 @@ msgid "" "operations` section)." msgstr "" -#: whatsnew/3.8.rst:1922 +#: whatsnew/3.8.rst:1924 msgid "" ":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " "KiB to 1 MiB." msgstr "" -#: whatsnew/3.8.rst:1925 +#: whatsnew/3.8.rst:1927 msgid "" "The ``PyGC_Head`` struct has changed completely. All code that touched the " "struct member should be rewritten. (See :issue:`33597`.)" msgstr "" -#: whatsnew/3.8.rst:1928 +#: whatsnew/3.8.rst:1930 msgid "" "The :c:type:`PyInterpreterState` struct has been moved into the \"internal\" " "header files (specifically Include/internal/pycore_pystate.h). An opaque " @@ -2569,7 +2571,7 @@ msgid "" "functions to the public API). (See :issue:`35886`.)" msgstr "" -#: whatsnew/3.8.rst:1938 +#: whatsnew/3.8.rst:1940 msgid "" "The :meth:`mmap.flush() ` method now returns ``None`` on " "success and raises an exception on error under all platforms. Previously, " @@ -2579,13 +2581,13 @@ msgid "" "(Contributed by Berker Peksag in :issue:`2122`.)" msgstr "" -#: whatsnew/3.8.rst:1945 +#: whatsnew/3.8.rst:1947 msgid "" ":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " "entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" msgstr "" -#: whatsnew/3.8.rst:1949 +#: whatsnew/3.8.rst:1951 msgid "" "Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, :mod:" "`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` (:exc:`dbm.dumb.error`, :" @@ -2593,7 +2595,7 @@ msgid "" "(Contributed by Xiang Zhang in :issue:`33106`.)" msgstr "" -#: whatsnew/3.8.rst:1954 +#: whatsnew/3.8.rst:1956 msgid "" "Simplified AST for literals. All constants will be represented as :class:" "`ast.Constant` instances. Instantiating old classes ``Num``, ``Str``, " @@ -2601,7 +2603,7 @@ msgid "" "``Constant``. (Contributed by Serhiy Storchaka in :issue:`32892`.)" msgstr "" -#: whatsnew/3.8.rst:1970 +#: whatsnew/3.8.rst:1972 msgid "" "The function :func:`asyncio.wait_for` now correctly waits for cancellation " "when using an instance of :class:`asyncio.Task`. Previously, upon reaching " @@ -2609,18 +2611,18 @@ msgid "" "Pranskevichus in :issue:`32751`.)" msgstr "" -#: whatsnew/3.8.rst:1975 +#: whatsnew/3.8.rst:1977 msgid "" "The function :func:`asyncio.BaseTransport.get_extra_info` now returns a safe " "to use socket object when 'socket' is passed to the *name* parameter. " "(Contributed by Yury Selivanov in :issue:`37027`.)" msgstr "" -#: whatsnew/3.8.rst:1979 +#: whatsnew/3.8.rst:1981 msgid ":class:`asyncio.BufferedProtocol` has graduated to the stable API." msgstr "" -#: whatsnew/3.8.rst:1983 +#: whatsnew/3.8.rst:1985 msgid "" "DLL dependencies for extension modules and DLLs loaded with :mod:`ctypes` on " "Windows are now resolved more securely. Only the system paths, the directory " @@ -2635,14 +2637,14 @@ msgid "" "verified by the installer). (Contributed by Steve Dower in :issue:`36085`.)" msgstr "" -#: whatsnew/3.8.rst:1996 +#: whatsnew/3.8.rst:1998 msgid "" "The header files and functions related to pgen have been removed after its " "replacement by a pure Python implementation. (Contributed by Pablo Galindo " "in :issue:`36623`.)" msgstr "" -#: whatsnew/3.8.rst:2000 +#: whatsnew/3.8.rst:2002 msgid "" ":class:`types.CodeType` has a new parameter in the second position of the " "constructor (*posonlyargcount*) to support positional-only arguments defined " @@ -2653,25 +2655,31 @@ msgid "" msgstr "" #: whatsnew/3.8.rst:2009 +msgid "" +"The parameter ``digestmod`` for :func:`hmac.new` no longer uses the MD5 " +"digest by default." +msgstr "" + +#: whatsnew/3.8.rst:2013 msgid "Changes in the C API" msgstr "Changements dans l'API C" -#: whatsnew/3.8.rst:2011 +#: whatsnew/3.8.rst:2015 msgid "" -"The :c:type:`PyCompilerFlags` structure got a new *cf_feature_version* " +"The :c:struct:`PyCompilerFlags` structure got a new *cf_feature_version* " "field. It should be initialized to ``PY_MINOR_VERSION``. The field is " "ignored by default, and is used if and only if ``PyCF_ONLY_AST`` flag is set " "in *cf_flags*. (Contributed by Guido van Rossum in :issue:`35766`.)" msgstr "" -#: whatsnew/3.8.rst:2017 +#: whatsnew/3.8.rst:2021 msgid "" "The :c:func:`PyEval_ReInitThreads` function has been removed from the C API. " "It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " "instead. (Contributed by Victor Stinner in :issue:`36728`.)" msgstr "" -#: whatsnew/3.8.rst:2022 +#: whatsnew/3.8.rst:2026 msgid "" "On Unix, C extensions are no longer linked to libpython except on Android " "and Cygwin. When Python is embedded, ``libpython`` must not be loaded with " @@ -2682,7 +2690,7 @@ msgid "" "Stinner in :issue:`21536`.)" msgstr "" -#: whatsnew/3.8.rst:2030 +#: whatsnew/3.8.rst:2034 msgid "" "Use of ``#`` variants of formats in parsing or building value (e.g. :c:func:" "`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" @@ -2691,7 +2699,7 @@ msgid "" "`arg-parsing` for detail. (Contributed by Inada Naoki in :issue:`36381`.)" msgstr "" -#: whatsnew/3.8.rst:2036 +#: whatsnew/3.8.rst:2040 msgid "" "Instances of heap-allocated types (such as those created with :c:func:" "`PyType_FromSpec`) hold a reference to their type object. Increasing the " @@ -2701,11 +2709,11 @@ msgid "" "through :c:func:`PyType_FromSpec` behave like other classes in managed code." msgstr "" -#: whatsnew/3.8.rst:2044 +#: whatsnew/3.8.rst:2048 msgid ":ref:`Statically allocated types ` are not affected." msgstr "" -#: whatsnew/3.8.rst:2046 +#: whatsnew/3.8.rst:2050 msgid "" "For the vast majority of cases, there should be no side effect. However, " "types that manually increase the reference count after allocating an " @@ -2714,12 +2722,12 @@ msgid "" "instance deallocation." msgstr "" -#: whatsnew/3.8.rst:2052 +#: whatsnew/3.8.rst:2056 msgid "" "To correctly port these types into 3.8, please apply the following changes:" msgstr "" -#: whatsnew/3.8.rst:2055 +#: whatsnew/3.8.rst:2059 msgid "" "Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " "- if any. This may happen after calling :c:func:`PyObject_New`, :c:func:" @@ -2728,31 +2736,31 @@ msgid "" "`PyObject_INIT`." msgstr "" -#: whatsnew/3.8.rst:2081 whatsnew/3.8.rst:2100 +#: whatsnew/3.8.rst:2085 whatsnew/3.8.rst:2104 msgid "Example:" msgstr "Exemple :" -#: whatsnew/3.8.rst:2078 +#: whatsnew/3.8.rst:2082 msgid "" "Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " "decrease the type's reference count." msgstr "" -#: whatsnew/3.8.rst:2095 +#: whatsnew/3.8.rst:2099 msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" msgstr "" -#: whatsnew/3.8.rst:2097 +#: whatsnew/3.8.rst:2101 msgid "" "The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " "macro now must be placed before the symbol name." msgstr "" -#: whatsnew/3.8.rst:2106 +#: whatsnew/3.8.rst:2110 msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" msgstr "" -#: whatsnew/3.8.rst:2108 +#: whatsnew/3.8.rst:2112 msgid "" "The interpreter does not pretend to support binary compatibility of " "extension types across feature releases, anymore. A :c:type:`PyTypeObject` " @@ -2762,18 +2770,18 @@ msgid "" "before reading :c:member:`~PyTypeObject.tp_finalize`)." msgstr "" -#: whatsnew/3.8.rst:2115 +#: whatsnew/3.8.rst:2119 #, fuzzy msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" msgstr "(Contribution par Antoine Pitrou; :issue:`13748`.)" -#: whatsnew/3.8.rst:2117 +#: whatsnew/3.8.rst:2121 msgid "" "The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now " "accept two additional ``int`` arguments *end_lineno* and *end_col_offset*." msgstr "" -#: whatsnew/3.8.rst:2120 +#: whatsnew/3.8.rst:2124 msgid "" "The :file:`libpython38.a` file to allow MinGW tools to link directly " "against :file:`python38.dll` is no longer included in the regular Windows " @@ -2782,7 +2790,7 @@ msgid "" "package:" msgstr "" -#: whatsnew/3.8.rst:2130 +#: whatsnew/3.8.rst:2134 msgid "" "The location of an installed :file:`pythonXY.dll` will depend on the " "installation options and the version and language of Windows. See :ref:" @@ -2791,15 +2799,15 @@ msgid "" "the :file:`libs` directory under your Python installation." msgstr "" -#: whatsnew/3.8.rst:2136 +#: whatsnew/3.8.rst:2140 msgid "(Contributed by Steve Dower in :issue:`37351`.)" msgstr "" -#: whatsnew/3.8.rst:2140 +#: whatsnew/3.8.rst:2144 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" -#: whatsnew/3.8.rst:2142 +#: whatsnew/3.8.rst:2146 msgid "" "The interpreter loop has been simplified by moving the logic of unrolling " "the stack of blocks into the compiler. The compiler emits now explicit " @@ -2807,7 +2815,7 @@ msgid "" "code for :keyword:`break`, :keyword:`continue` and :keyword:`return`." msgstr "" -#: whatsnew/3.8.rst:2148 +#: whatsnew/3.8.rst:2152 msgid "" "Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:" "`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes :opcode:" @@ -2816,20 +2824,20 @@ msgid "" "`WITH_CLEANUP_START`." msgstr "" -#: whatsnew/3.8.rst:2154 +#: whatsnew/3.8.rst:2158 msgid "" "(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" "`17611`.)" msgstr "" -#: whatsnew/3.8.rst:2157 +#: whatsnew/3.8.rst:2161 msgid "" "Added new opcode :opcode:`END_ASYNC_FOR` for handling exceptions raised when " "awaiting a next item in an :keyword:`async for` loop. (Contributed by Serhiy " "Storchaka in :issue:`33041`.)" msgstr "" -#: whatsnew/3.8.rst:2161 +#: whatsnew/3.8.rst:2165 msgid "" "The :opcode:`MAP_ADD` now expects the value as the first element in the " "stack and the key as the second element. This change was made so the key is " @@ -2837,22 +2845,22 @@ msgid "" "by :pep:`572`. (Contributed by Jörn Heissler in :issue:`35224`.)" msgstr "" -#: whatsnew/3.8.rst:2168 +#: whatsnew/3.8.rst:2172 msgid "Demos and Tools" msgstr "" -#: whatsnew/3.8.rst:2170 +#: whatsnew/3.8.rst:2174 msgid "" "Added a benchmark script for timing various ways to access variables: " "``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger " "in :issue:`35884`.)" msgstr "" -#: whatsnew/3.8.rst:2174 +#: whatsnew/3.8.rst:2178 msgid "Here's a summary of performance improvements since Python 3.3:" msgstr "" -#: whatsnew/3.8.rst:2221 +#: whatsnew/3.8.rst:2225 msgid "" "The benchmarks were measured on an `Intel® Core™ i7-4960HQ processor " "\n" "Language-Team: FRENCH \n" @@ -44,9 +44,10 @@ msgid "Łukasz Langa" msgstr "Łukasz Langa" #: whatsnew/3.9.rst:47 +#, fuzzy msgid "" "This article explains the new features in Python 3.9, compared to 3.8. " -"Python 3.9 was released on October 5th, 2020." +"Python 3.9 was released on October 5, 2020." msgstr "" "Ce document présente les nouvelles fonctionnalités de Python 3.9 par rapport " "à la version 3.8. Python 3.9 a été publié le 5 octobre 2020." @@ -973,8 +974,8 @@ msgstr "" #: whatsnew/3.9.rst:503 msgid "" -"Apply syntax highlighting to `.pyi` files. (Contributed by Alex Waygood and " -"Terry Jan Reedy in :issue:`45447`.)" +"Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " +"and Terry Jan Reedy in :issue:`45447`.)" msgstr "" #: whatsnew/3.9.rst:507 @@ -1568,9 +1569,10 @@ msgstr "" "*Kubilay Kocak* et *Victor Stinner* dans :issue:`38061`)." #: whatsnew/3.9.rst:775 +#, fuzzy msgid "" ":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " -"into :c:type:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" +"into :c:expr:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" msgstr "" ":c:func:`PyLong_FromDouble` est maintenant 1,87 fois plus rapide pour les " "valeurs compatibles avec :c:type:`long` (contribution de *Sergey Fedoseev* " From e552e4f3911190ca7ea935a97244d924829e0f28 Mon Sep 17 00:00:00 2001 From: DERICK TEMFACK <81715817+tderick@users.noreply.github.com> Date: Thu, 27 Oct 2022 20:35:07 +0100 Subject: [PATCH 04/11] ftplib (#1911) --- library/ftplib.po | 53 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 14 deletions(-) diff --git a/library/ftplib.po b/library/ftplib.po index e154fe301b..6d06978c0f 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -6,17 +6,18 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2022-10-20 16:07+0100\n" +"Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.0.1\n" #: library/ftplib.rst:2 msgid ":mod:`ftplib` --- FTP protocol client" -msgstr "" +msgstr ":mod:`ftplib` — Le protocole client FTP" #: library/ftplib.rst:7 msgid "**Source code:** :source:`Lib/ftplib.py`" @@ -31,14 +32,21 @@ msgid "" "mod:`urllib.request` to handle URLs that use FTP. For more information on " "FTP (File Transfer Protocol), see internet :rfc:`959`." msgstr "" +"Ce module définit la classe :class:`FTP` et quelques éléments associés. La " +"classe :class:`FTP` implémente le côté client du protocole FTP. Vous pouvez " +"l'utiliser pour écrire des programmes Python qui effectuent diverses tâches " +"automatisées telles que la synchronisation d'autres serveurs FTP. Il est " +"aussi utilisé par le module :mod:`urllib.request` pour gérer les URL qui " +"utilisent FTP. Pour plus d'informations sur FTP (File Transfer Protocol), " +"voir la :rfc:`959`." #: library/ftplib.rst:22 msgid "The default encoding is UTF-8, following :rfc:`2640`." -msgstr "" +msgstr "L'encodage par défaut est UTF-8, voir la :rfc:`2640`." #: library/ftplib.rst:24 msgid "Here's a sample session using the :mod:`ftplib` module::" -msgstr "" +msgstr "Voici un exemple de session utilisant le module :mod:`ftplib` ::" #: library/ftplib.rst:46 msgid "The module defines the following items:" @@ -60,6 +68,8 @@ msgstr "" #: library/ftplib.rst:60 msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" msgstr "" +"La classe :class:`FTP` peut s'utiliser avec l'instruction :keyword:`with`, " +"p. ex.:" #: library/ftplib.rst:74 msgid "Support for the :keyword:`with` statement was added." @@ -111,23 +121,27 @@ msgstr "" #: library/ftplib.rst:124 msgid "Here's a sample session using the :class:`FTP_TLS` class::" -msgstr "" +msgstr "Voici un exemple de session utilisant la classe :class:`FTP_TLS` ::" #: library/ftplib.rst:137 msgid "Exception raised when an unexpected reply is received from the server." -msgstr "" +msgstr "Exception levée lorsqu'une réponse inattendue est reçue du serveur." #: library/ftplib.rst:142 msgid "" "Exception raised when an error code signifying a temporary error (response " "codes in the range 400--499) is received." msgstr "" +"Exception levée lorsqu'un code d'erreur signifiant une erreur temporaire " +"(code de réponse dans l'intervalle 400-499) est reçu." #: library/ftplib.rst:148 msgid "" "Exception raised when an error code signifying a permanent error (response " "codes in the range 500--599) is received." msgstr "" +"Exception levée lorsqu'un code d'erreur signifiant une erreur permanente " +"(code de réponse dans l'intervalle 500-599) est reçu." #: library/ftplib.rst:154 msgid "" @@ -135,6 +149,9 @@ msgid "" "the response specifications of the File Transfer Protocol, i.e. begin with a " "digit in the range 1--5." msgstr "" +"Exception levée lorsqu'une réponse reçue du serveur ne correspond pas aux à " +"la spécification de File Transfer Protocol, c.-à-d. qu'elle doit commencer " +"par un chiffre dans l'intervalle 1-5." #: library/ftplib.rst:161 msgid "" @@ -168,9 +185,9 @@ msgid "" msgstr "" #: library/ftplib.rst:184 -#, fuzzy msgid ":class:`FTP` instances have the following methods:" -msgstr "Les instances :class:`Mailbox` contiennent les méthodes suivantes :" +msgstr "" +"Les instances de la classe :class:`FTP` possèdent les méthodes suivantes :" #: library/ftplib.rst:189 msgid "" @@ -347,10 +364,17 @@ msgid "" "directory). Multiple arguments can be used to pass non-standard options to " "the ``NLST`` command." msgstr "" +"Renvoie une liste de noms de fichiers comme celle que renvoie la commande " +"``NLST``. Le paramètre optionnel *argument* est une liste de dossiers (la " +"valeur par défaut est le répertoire courant du serveur). Plusieurs " +"paramètres peuvent être utilisés pour passer des paramètres non standards à " +"la commande ``NLST``." #: library/ftplib.rst:371 msgid "If your server supports the command, :meth:`mlsd` offers a better API." msgstr "" +"La commande :meth:`mlsd` offre une meilleure API si votre serveur sait la " +"gérer." #: library/ftplib.rst:364 msgid "" @@ -365,6 +389,7 @@ msgstr "" #: library/ftplib.rst:376 msgid "Rename file *fromname* on the server to *toname*." msgstr "" +"Renomme le fichier portant le nom *fromname* en *toname* sur le serveur." #: library/ftplib.rst:381 msgid "" @@ -379,15 +404,15 @@ msgstr "" #: library/ftplib.rst:393 msgid "Create a new directory on the server." -msgstr "" +msgstr "Crée un nouveau dossier sur le serveur." #: library/ftplib.rst:398 msgid "Return the pathname of the current directory on the server." -msgstr "" +msgstr "Renvoie le chemin d'accès au répertoire courant sur le serveur." #: library/ftplib.rst:403 msgid "Remove the directory named *dirname* on the server." -msgstr "" +msgstr "Supprime le dossier portant le nom *dirname* sur le serveur." #: library/ftplib.rst:408 msgid "" @@ -450,8 +475,8 @@ msgstr "" #: library/ftplib.rst:461 msgid "Set up secure data connection." -msgstr "" +msgstr "Établit une connexion de données sécurisée." #: library/ftplib.rst:465 msgid "Set up clear text data connection." -msgstr "" +msgstr "Établit une connexion de données non sécurisées." From 99f2135a89547b2f2031bd43df7cd36e9ed1eab5 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Mon, 14 Nov 2022 15:25:17 +0100 Subject: [PATCH 05/11] Hello sphinx-lint. (#1913) --- .github/workflows/tests.yml | 3 +++ CONTRIBUTING.rst | 3 +-- distutils/setupscript.po | 4 +-- faq/design.po | 6 ++--- howto/logging-cookbook.po | 8 +++--- howto/logging.po | 32 +++++++++++------------ install/index.po | 4 +-- library/2to3.po | 10 +++---- library/base64.po | 4 +-- library/bz2.po | 4 +-- library/calendar.po | 6 ++--- library/codecs.po | 6 ++--- library/compileall.po | 6 ++--- library/decimal.po | 5 ++-- library/enum.po | 14 +++++----- library/fractions.po | 6 ++--- library/functools.po | 6 ++--- library/hashlib.po | 4 +-- library/http.client.po | 12 ++++----- library/idle.po | 12 ++++----- library/ipaddress.po | 6 ++--- library/lzma.po | 4 +-- library/pathlib.po | 6 ++--- library/pickle.po | 4 +-- library/pipes.po | 8 +++--- library/re.po | 13 +++++----- library/string.po | 22 ++++++++-------- library/struct.po | 6 ++--- library/subprocess.po | 4 +-- library/sys.po | 8 +++--- library/textwrap.po | 14 +++++----- library/timeit.po | 12 ++++----- library/tkinter.po | 14 +++++----- library/turtle.po | 52 ++++++++++++++++++++----------------- library/unittest.po | 6 ++--- library/venv.po | 8 +++--- reference/compound_stmts.po | 8 +++--- reference/expressions.po | 6 ++--- reference/import.po | 6 ++--- tutorial/controlflow.po | 4 +-- tutorial/errors.po | 4 +-- using/cmdline.po | 4 +-- using/windows.po | 4 +-- 43 files changed, 192 insertions(+), 186 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bb3ca6397c..ec71c0146f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,6 +15,9 @@ jobs: strategy: matrix: tool: + - name: sphinx-lint + package: sphinx-lint + command: 'sphinx-lint --enable default-role --ignore .git' - name: Orthographe package: pospell apt_dependencies: hunspell hunspell-fr-comprehensive diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 51c2dc8b45..03363622b8 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -189,7 +189,7 @@ répertoires *c-api/*, *whatsnew/*, *distutils/* et *install/* : Trouver un fichier sur lequel travailler ---------------------------------------- -Pour vous aiguiller dans votre choix, vous pouvez utiliser `potodo`, +Pour vous aiguiller dans votre choix, vous pouvez utiliser ``potodo``, un outil recherchant des fichiers ``.po`` à traduire. Une fois installé, utilisez la commande ``make todo`` dans votre clone local. @@ -841,4 +841,3 @@ entre un paragraphe et sa traduction ; il faut passer outre ses avertissements. Vous pouvez aussi rajouter un commentaire dans le fichier *.po* pour avertir les traducteurs suivants et éviter qu'ils ne « corrigent » par erreur ces avertissements. - diff --git a/distutils/setupscript.po b/distutils/setupscript.po index 36806ae694..5bbe202dcf 100644 --- a/distutils/setupscript.po +++ b/distutils/setupscript.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-12-11 12:42+0100\n" +"PO-Revision-Date: 2022-10-18 16:06+0200\n" "Last-Translator: Philippe GALVAN\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -894,7 +894,7 @@ msgstr "" "au répertoire contenant le paquet (l'information du mappage ``package_dir`` " "est utilisée le cas échéant) ; ceci étant, il convient que les fichiers " "fassent partie du répertoire source du paquet. Ils peuvent également " -"contenir des motifs `glob`." +"contenir des motifs ``glob``." #: distutils/setupscript.rst:484 msgid "" diff --git a/faq/design.po b/faq/design.po index 3054a5e0bb..8bf70eed75 100644 --- a/faq/design.po +++ b/faq/design.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-11-06 13:18+0100\n" +"PO-Revision-Date: 2022-10-18 16:08+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -320,8 +320,8 @@ msgid "" "Assignment expressions using the walrus operator ``:=`` assign a variable in " "an expression::" msgstr "" -"Les expressions d'affectation qui utilisent l'opérateur morse `:=` affectent " -"une variable dans une expression ::" +"Les expressions d'affectation qui utilisent l'opérateur morse ``:=`` " +"affectent une variable dans une expression ::" #: faq/design.rst:164 msgid "See :pep:`572` for more information." diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index dc949830ca..70c84db704 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-04-30 16:34+0200\n" +"PO-Revision-Date: 2022-10-18 16:15+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -492,8 +492,8 @@ msgstr "" "surveillance tel que `Supervisor `_. Vous trouverez " "dans ce `Gist `_ des gabarits pour assurer cette " -"fonction avec *Supervisor* : vous aurez besoin de modifier les parties `/" -"path/to/` du *Gist* pour refléter les chemins réels que vous utilisez." +"fonction avec *Supervisor* : vous aurez besoin de modifier les parties ``/" +"path/to/`` du *Gist* pour refléter les chemins réels que vous utilisez." #: howto/logging-cookbook.rst:779 msgid "Adding contextual information to your logging output" @@ -1117,7 +1117,7 @@ msgstr "" "vous perturber est que les parenthèses entourent la chaîne de format et les " "arguments, pas seulement la chaîne de format. C'est parce que la notation __ " "n'est que du sucre syntaxique pour un appel de constructeur à l'une des " -"classes `XXXMessage`." +"classes ``XXXMessage``." #: howto/logging-cookbook.rst:1667 msgid "" diff --git a/howto/logging.po b/howto/logging.po index 2a20c79daa..22f0b270c7 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-12-11 16:24+0100\n" +"PO-Revision-Date: 2022-10-18 16:01+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -338,7 +338,7 @@ msgid "" "and you have the value of the parameter passed for ``--log`` in some " "variable *loglevel*, you can use::" msgstr "" -"et que vous passez ensuite la valeur du paramètre donné à l'option `--log` " +"et que vous passez ensuite la valeur du paramètre donné à l'option ``--log`` " "dans une variable *loglevel*, vous pouvez utiliser ::" #: howto/logging.rst:169 @@ -497,8 +497,8 @@ msgid "" "To display the date and time of an event, you would place '%(asctime)s' in " "your format string::" msgstr "" -"Pour afficher la date ou le temps d'un évènement, ajoutez `%(asctime)` dans " -"votre chaîne de formatage ::" +"Pour afficher la date ou le temps d'un évènement, ajoutez ``'%(asctime)'`` " +"dans votre chaîne de formatage ::" #: howto/logging.rst:303 msgid "which should print something like this:" @@ -662,12 +662,12 @@ msgid "" "the root logger. The functions and the methods have the same signatures. The " "root logger's name is printed as 'root' in the logged output." msgstr "" -"La racine de la hiérarchie des `loggers` est appelée le *root logger*. C'est " -"le *logger* utilisé par les fonctions :func:`debug`, :func:`info`, :func:" -"`warning`, :func:`error` et :func:`critical`, qui appelle en fait les " +"La racine de la hiérarchie des enregistreurs est appelée le *root logger*. " +"C'est le *logger* utilisé par les fonctions :func:`debug`, :func:`info`, :" +"func:`warning`, :func:`error` et :func:`critical`, qui appelle en fait les " "méthodes du même nom de l'objet *root logger*. Les fonctions et les méthodes " -"ont la même signature. Le nom du *root logger* est affiché comme « `root` » " -"dans la sortie." +"ont la même signature. Le nom du *root logger* est affiché comme " +"« ``'root'`` » dans la sortie." #: howto/logging.rst:386 msgid "" @@ -1059,8 +1059,8 @@ msgid "" "``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be " "used." msgstr "" -"avec les millisecondes en suffixe. Le ``style`` est `%`, `{` ou `$`. Si " -"aucun n'est spécifié, `%` sera utilisé." +"avec les millisecondes en suffixe. Le ``style`` est ``%``, ``{`` ou ``$``. " +"Si aucun n'est spécifié, ``%`` sera utilisé." #: howto/logging.rst:558 #, fuzzy @@ -1072,12 +1072,12 @@ msgid "" "arguments), while if the style is ``'$'`` then the message format string " "should conform to what is expected by :meth:`string.Template.substitute`." msgstr "" -"Si l'argument ``style`` est `%`, la chaîne de formatage utilise ``%()s`` comme style de substitution de chaîne de caractères ; les " -"clefs possibles sont documentées dans :ref:`logrecord-attributes`. Si le " -"style est `{`, le message de la chaîne de formatage est compatible avec :" +"Si l'argument ``style`` est ``%``, la chaîne de formatage utilise ``%()s`` comme style de substitution de chaîne de caractères ; " +"les clefs possibles sont documentées dans :ref:`logrecord-attributes`. Si le " +"style est ``{``, le message de la chaîne de formatage est compatible avec :" "meth:`str.format` (en employant des arguments à mots clefs). Enfin si le " -"style est `$` alors la chaîne de formatage du message doit être conforme à " +"style est ``$`` alors la chaîne de formatage du message doit être conforme à " "ce qui est attendu de :meth:`string.Template.substitute`." #: howto/logging.rst:565 diff --git a/install/index.po b/install/index.po index 69b75c0702..f7772cf921 100644 --- a/install/index.po +++ b/install/index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-12-11 17:18+0100\n" +"PO-Revision-Date: 2022-10-18 15:59+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -706,7 +706,7 @@ msgstr "" "ajouter :file:`{userbase}/include` dans les chemins où le compilateur " "recherche les fichiers d'en-têtes et :file:`{userbase}/lib` dans les chemins " "où le compilateur recherche les bibliothèques ainsi que les bibliothèques C " -"partagées chargeables à l'exécution (`rpath`)." +"partagées chargeables à l'exécution (``rpath``)." #: install/index.rst:352 msgid "Alternate installation: the home scheme" diff --git a/library/2to3.po b/library/2to3.po index 7cf91fe18d..f41984e0a6 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-04-29 13:57+0200\n" +"PO-Revision-Date: 2022-10-18 15:44+0200\n" "Last-Translator: Dimitri Merejkowsky \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -207,10 +207,10 @@ msgid "" msgstr "" "L'option :option:`!-W` ou :option:`!—write-unchanged-files` indique à *2to3* " "de toujours écrire des fichiers de sortie même si aucun changement du " -"fichier n'était nécessaire. Ceci est très utile avec `!-o` pour qu'un arbre " -"des sources Python entier soit copié avec la traduction d'un répertoire à " -"l'autre. Cette option implique :option:`!-w` sans quoi elle n'aurait pas de " -"sens." +"fichier n'était nécessaire. Ceci est très utile avec :option:`!-o` pour " +"qu'un arbre des sources Python entier soit copié avec la traduction d'un " +"répertoire à l'autre. Cette option implique :option:`!-w` sans quoi elle " +"n'aurait pas de sens." #: library/2to3.rst:119 msgid "The :option:`!-W` flag was added." diff --git a/library/base64.po b/library/base64.po index 2e4b03b697..1525bb9d90 100644 --- a/library/base64.po +++ b/library/base64.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-10-21 15:04+0200\n" -"PO-Revision-Date: 2022-10-18 12:34+0200\n" +"PO-Revision-Date: 2022-10-18 15:43+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -363,7 +363,7 @@ msgid "" "is not supported by the \"standard\" Ascii85 encoding." msgstr "" "L'option *foldspaces* permet d'utiliser la séquence spéciale 'y' à la place " -"de quatre espaces consécutives (ASCII `0x20`) comme pris en charge par " +"de quatre espaces consécutives (ASCII ``0x20``) comme pris en charge par " "*btoa*. Cette fonctionnalité n'est pas gérée par l'encodage « standard » " "Ascii85." diff --git a/library/bz2.po b/library/bz2.po index e48efee44d..0412940e93 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-11-06 20:24+0100\n" +"PO-Revision-Date: 2022-10-18 15:44+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -498,7 +498,7 @@ msgid "" "repetitive data usually yields a high compression ratio." msgstr "" "L'exemple ci-dessus utilise un flux de données vraiment pas aléatoire (un " -"flux de blocs de `b\"z\"`). Les données aléatoires ont tendance à mal se " +"flux de blocs de ``b\"z\"``). Les données aléatoires ont tendance à mal se " "compresser, alors que les données répétitives ou ordonnées donnent " "généralement un taux de compression élevé." diff --git a/library/calendar.po b/library/calendar.po index 53339ec4c4..2ff0b97a6e 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2021-03-20 19:35+0100\n" +"PO-Revision-Date: 2022-10-18 15:58+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -58,8 +58,8 @@ msgstr "" "proleptique dans le livre de Dershowitz et Reingold « *Calendrical " "Calculations* », œuvre dans lequel il est le calendrier de référence de tous " "les calculs. Les années zéros et les années négatives sont interprétées " -"comme prescrit par la norme ISO 8601. L'année 0 est 1 avant JC, l'année `-1` " -"est 2 avant JC et ainsi de suite." +"comme prescrit par la norme ISO 8601. L'année 0 est 1 avant JC, l'année " +"``-1`` est 2 avant JC et ainsi de suite." #: library/calendar.rst:33 #, fuzzy diff --git a/library/codecs.po b/library/codecs.po index 11f38e6e8e..294f19575c 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2020-10-15 09:15+0200\n" +"PO-Revision-Date: 2022-10-18 16:08+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -343,8 +343,8 @@ msgid "" "It defaults to -1 which means that the default buffer size will be used." msgstr "" "*buffering* a la même signification que pour la fonction native :func:" -"`open`. Il vaut `-1` par défaut, ce qui signifie que la taille par défaut du " -"tampon est utilisée." +"`open`. Il vaut ``-1`` par défaut, ce qui signifie que la taille par défaut " +"du tampon est utilisée." #: library/codecs.rst:210 msgid "" diff --git a/library/compileall.po b/library/compileall.po index 361cda36c2..43e6639f28 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-11-06 20:58+0100\n" +"PO-Revision-Date: 2022-10-18 16:06+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -61,8 +61,8 @@ msgstr "" "Les arguments positionnels sont les fichiers à compiler. Ils peuvent aussi " "être des dossiers, qui sont alors parcourus récursivement pour compiler tous " "les fichiers de code :file:`.py` qu'ils contiennent. Lorsque le script ne " -"reçoit aucun argument, il fait comme s'il avait été appelé avec `-l `." +"reçoit aucun argument, il fait comme s'il avait été appelé avec ``-l ``." #: library/compileall.rst:35 msgid "" diff --git a/library/decimal.po b/library/decimal.po index f63c6ea85b..b06a909bab 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2018-10-07 18:55+0200\n" +"PO-Revision-Date: 2022-10-18 15:52+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1407,9 +1407,8 @@ msgid "Divides two numbers and returns the integer part of the result." msgstr "Renvoie la partie entière de la division entre deux nombres." #: library/decimal.rst:1196 -#, fuzzy msgid "Returns ``e ** x``." -msgstr "Renvoie `e ** x`." +msgstr "Renvoie ``e ** x``." #: library/decimal.rst:1201 msgid "Returns *x* multiplied by *y*, plus *z*." diff --git a/library/enum.po b/library/enum.po index dd665f7b38..c1504b4a39 100644 --- a/library/enum.po +++ b/library/enum.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-18 17:06+0100\n" -"PO-Revision-Date: 2022-02-03 20:08+0100\n" +"PO-Revision-Date: 2022-10-18 15:58+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -897,10 +897,10 @@ msgid "" "`__str__` and :meth:`__repr__` respectively; other codes (such as `%i` or " "`%h` for IntEnum) treat the enum member as its mixed-in type." msgstr "" -"Formatage de style *%* : `%s` et `%r` appellent respectivement les méthodes :" -"meth:`__str__` et :meth:`__repr__` de la classe :class:`Enum` ; les autres " -"codes, comme `%i` ou `%h` pour *IntEnum*, s'appliquent au membre comme si " -"celui-ci était converti en son type de mélange." +"Formatage de style *%* : ``%s`` et ``%r`` appellent respectivement les " +"méthodes :meth:`__str__` et :meth:`__repr__` de la classe :class:`Enum` ; " +"les autres codes, comme ``%i`` ou ``%h`` pour *IntEnum*, s'appliquent au " +"membre comme si celui-ci était converti en son type de mélange." #: library/enum.rst:751 msgid "" @@ -1156,8 +1156,8 @@ msgstr "" "La métaclasse :class:`EnumMeta` se charge de fournir les méthodes :meth:" "`__contains__`, :meth:`__dir__`, :meth:`__iter__` etc. qui permettent de " "faire des opérations sur une classe :class:`Enum` qui ne fonctionneraient " -"pas sur une classe standard, comme `list(Color)` ou `some_enum_var in " -"Color`. :class:`EnumMeta` garantit que les autres méthodes de la classe " +"pas sur une classe standard, comme ``list(Color)`` ou ``some_enum_var in " +"Color``. :class:`EnumMeta` garantit que les autres méthodes de la classe " "finale :class:`Enum` sont correctes (comme :meth:`__new__`, :meth:" "`__getnewargs__`, :meth:`__str__` et :meth:`__repr__`)." diff --git a/library/fractions.po b/library/fractions.po index db60bfcdfc..abe825534f 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2022-07-08 17:51+0200\n" +"PO-Revision-Date: 2022-10-18 15:57+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -81,8 +81,8 @@ msgid "" "In either form the input string may also have leading and/or trailing " "whitespace. Here are some examples::" msgstr "" -"où le ``sign`` optionnel peut être soit `+` soit `-`, et ``numerator`` et " -"``denominator`` (si présent) sont des chaînes de chiffres décimaux. De " +"où le ``sign`` optionnel peut être soit ``+`` soit ``-``, et ``numerator`` " +"et ``denominator`` (si présent) sont des chaînes de chiffres décimaux. De " "plus, toute chaîne qui représente une valeur finie et acceptée par le " "constructeur de :class:`float` est aussi acceptée par celui de :class:" "`Fraction`. Dans ces deux formes, la chaîne d'entrée peut aussi contenir " diff --git a/library/functools.po b/library/functools.po index 2a80a35049..b8b2ab47c6 100644 --- a/library/functools.po +++ b/library/functools.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-02-06 18:15+0100\n" +"PO-Revision-Date: 2022-10-18 15:58+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -188,8 +188,8 @@ msgid "" msgstr "" "Des agencements différents des arguments peuvent être considérés comme des " "appels différents avec chacun leur propre entrée dans le cache. Par exemple, " -"`f(a=1, b=2)` et `f(b=2, a=1)` n'ont pas leurs arguments dans le même ordre " -"et peuvent donc avoir des entrées distinctes dans le cache." +"``f(a=1, b=2)`` et ``f(b=2, a=1)`` n'ont pas leurs arguments dans le même " +"ordre et peuvent donc avoir des entrées distinctes dans le cache." #: library/functools.rst:151 msgid "" diff --git a/library/hashlib.po b/library/hashlib.po index c71288d313..2b5c46801d 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2020-04-27 22:47+0200\n" +"PO-Revision-Date: 2022-10-18 15:55+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -663,7 +663,7 @@ msgid "" "*last_node*: boolean indicating whether the processed node is the last one " "(``False`` for sequential mode)." msgstr "" -"*last_node*: booléen indiquant si le nœud traité est le dernier (`False` " +"*last_node*: booléen indiquant si le nœud traité est le dernier (``False`` " "pour le mode séquentiel)." #: library/hashlib.rst:None diff --git a/library/http.client.po b/library/http.client.po index 9eb2463f8e..665fa1e0b4 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-03-23 16:31+0100\n" +"PO-Revision-Date: 2022-10-18 16:16+0200\n" "Last-Translator: Thierry Pellé \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -501,7 +501,7 @@ msgid "" msgstr "" "Règle le niveau de débogage. Le niveau de débogage par défaut est ``0`` " "(aucune sortie de débogage n'est affichée). Toute valeur plus grande que " -"``0`` provoque l'affichage sur `sys.stdout` de toutes les sorties de " +"``0`` provoque l'affichage sur ``sys.stdout`` de toutes les sorties de " "débogage actuellement définies. Le paramètre ``debuglevel`` est passé à tout " "nouvel objet de classe :class:`HTTPResponse` qui est créé." @@ -606,7 +606,7 @@ msgid "" "consisting of a tab and an argument." msgstr "" "Envoie un en-tête de style :rfc:`822` au serveur. Elle envoie au serveur une " -"ligne regroupant un en-tête, une espace, un `:`, une espace et le premier " +"ligne regroupant un en-tête, une espace, un ``:``, une espace et le premier " "argument. Si plusieurs arguments sont donnés, des lignes de continuation " "sont envoyées, chacune d'elle étant constituée d'une espace suivie d'un " "argument." @@ -692,7 +692,7 @@ msgid "" msgstr "" "Une instance de :class:`HTTPResponse` encapsule la réponse HTTP du serveur. " "Elle fournit un accès aux en-têtes et au corps de la réponse. La réponse est " -"un objet itérable pouvant être utilisé avec l'instruction `with`." +"un objet itérable pouvant être utilisé avec l'instruction ``with``." #: library/http.client.rst:455 msgid "" @@ -732,7 +732,7 @@ msgstr "" #: library/http.client.rst:480 msgid "Return a list of (header, value) tuples." -msgstr "Renvoie une liste d'*n*-uplets `(en-tête, valeur)`." +msgstr "Renvoie une liste d'*n*-uplets ``(en-tête, valeur)``." #: library/http.client.rst:484 msgid "Return the ``fileno`` of the underlying socket." @@ -785,7 +785,7 @@ msgid "" "be printed to stdout as the response is read and parsed." msgstr "" "Un point d'entrée pour débogage. Si :attr:`debuglevel` est plus grand que " -"zéro, les messages sont envoyés à `sys.stdout` pendant la lecture et " +"zéro, les messages sont envoyés à ``sys.stdout`` pendant la lecture et " "l'analyse de la réponse." #: library/http.client.rst:519 diff --git a/library/idle.po b/library/idle.po index fec21031a3..c7f9024c62 100644 --- a/library/idle.po +++ b/library/idle.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-10-18 12:32+0200\n" +"PO-Revision-Date: 2022-10-18 15:53+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -2009,11 +2009,11 @@ msgstr "" "Python ne peut pas créer de sous-processus ou de connecteur *RPC* sur votre " "plateforme. Cependant, dans ce mode, le code de l'utilisateur n'est pas " "isolé de *IDLE* lui-même. De plus, l'environnement n'est pas réinitialisé " -"quand *Run/Run Module* (`F5`) est sélectionné. Si votre code a été modifié, " -"vous devez *reload*() les modules affectés et ré-importer tous les éléments " -"spécifiques (e.g. *from foo import baz*) pour que les changements prennent " -"effet. Pour toutes ces raisons, il est préférable d'exécuter *IDLE* avec le " -"sous-processus par défaut si c'est possible." +"quand *Run/Run Module* (``F5``) est sélectionné. Si votre code a été " +"modifié, vous devez *reload*() les modules affectés et ré-importer tous les " +"éléments spécifiques (e.g. *from foo import baz*) pour que les changements " +"prennent effet. Pour toutes ces raisons, il est préférable d'exécuter *IDLE* " +"avec le sous-processus par défaut si c'est possible." #: library/idle.rst:924 #, fuzzy diff --git a/library/ipaddress.po b/library/ipaddress.po index 162a6d83b0..25a13b164b 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-06-08 09:38+0200\n" +"PO-Revision-Date: 2022-10-18 16:02+0200\n" "Last-Translator: Martin Chlumsky \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -807,8 +807,8 @@ msgid "" "It uses the same ordering and comparison algorithm as \"<\", \"==\", and " "\">\"" msgstr "" -"Utilise le même algorithme de relation d'ordre et de comparaison que `<`, " -"`==`, et `>`." +"Utilise le même algorithme de relation d'ordre et de comparaison que ``<``, " +"``==``, et ``>``." #: library/ipaddress.rst:676 msgid "" diff --git a/library/lzma.po b/library/lzma.po index 3b98abe680..f7c0f44b0f 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-10-18 12:32+0200\n" +"PO-Revision-Date: 2022-10-18 15:55+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -550,7 +550,7 @@ msgid "" "saved in the :attr:`~.unused_data` attribute." msgstr "" "Essayer de décompresser des données après que la fin du flux soit atteinte " -"lève une erreur `EOFError`. Toute donnée trouvée après la fin du flux est " +"lève une erreur ``EOFError``. Toute donnée trouvée après la fin du flux est " "ignorée et sauvegardée dans l'attribut :attr:`~.unused_data`." #: library/lzma.rst:264 diff --git a/library/pathlib.po b/library/pathlib.po index 1b94ef5c3e..6d17b94e13 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-07-08 17:52+0200\n" +"PO-Revision-Date: 2022-10-18 15:43+0200\n" "Last-Translator: Vincent Poulailleau \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -412,7 +412,7 @@ msgid "" msgstr "" "Si vous voulez parcourir un chemin arbitraire du système de fichiers, il est " "recommandé de d'abord appeler :meth:`Path.resolve` de manière à résoudre les " -"liens symboliques et éliminer les composantes `\"..\"`." +"liens symboliques et éliminer les composantes ``\"..\"``." #: library/pathlib.rst:399 msgid "" @@ -680,7 +680,7 @@ msgid "" "This method normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :meth:`~Path.lstat`." msgstr "" -"Cette méthode suit normalement les liens symboliques ; pour appeler `stat` " +"Cette méthode suit normalement les liens symboliques ; pour appeler ``stat`` " "sur un lien symbolique lui-même, ajoutez l’argument " "``follow_symlinks=False``, ou utilisez :meth:`~Path.lstat`." diff --git a/library/pickle.po b/library/pickle.po index e31be93ef3..59eb15d249 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-12-11 11:45+0100\n" +"PO-Revision-Date: 2022-10-18 16:05+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1784,7 +1784,7 @@ msgid "" "system." msgstr "" "Dans cet exemple, le désérialiseur importe la fonction :func:`os.system` et " -"l'applique à la chaîne de caractères `\"echo hello world\"`. C'est " +"l'applique à la chaîne de caractères ``\"echo hello world\"``. C'est " "inoffensif, mais il n'est pas difficile d'imaginer des variantes qui " "endommageraient le système." diff --git a/library/pipes.po b/library/pipes.po index 1026fa501b..0986b0835f 100644 --- a/library/pipes.po +++ b/library/pipes.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-05-21 16:37+0200\n" -"PO-Revision-Date: 2018-09-28 18:32+0200\n" +"PO-Revision-Date: 2022-10-18 15:55+0200\n" "Last-Translator: Bruno Inec \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -134,9 +134,9 @@ msgid "" "Return a file-like object, open to *file*, but read from or written to by " "the pipeline. Note that only one of ``'r'``, ``'w'`` may be given." msgstr "" -"Renvoie un objet `file-like`, ouvert à *file*, mais permettant d'écrire vers " -"le *pipeline* ou de lire depuis celui-ci. À noter que seulement un des deux " -"('r' ou 'w') peut être donné." +"Renvoie un objet fichier-compatible, ouvert à *file*, mais permettant " +"d'écrire vers le *pipeline* ou de lire depuis celui-ci. À noter que " +"seulement un des deux ('r' ou 'w') peut être donné." #: library/pipes.rst:102 msgid "Copy *infile* to *outfile* through the pipe." diff --git a/library/re.po b/library/re.po index b07afbec73..afe0a159b1 100644 --- a/library/re.po +++ b/library/re.po @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-07-08 17:52+0200\n" +"PO-Revision-Date: 2022-10-18 15:52+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -686,10 +686,11 @@ msgstr "" "apparaît dans un groupe, il modifie le mode pour ce groupe. Dans les motifs " "Unicode l'option ``(?a:...)`` bascule en mode ASCII-uniquement, et ``(?" "u:...)`` bascule en mode Unicode (le comportement par défaut). Dans les " -"motifs de `byte`, ``(?L:...)`` fait en sorte de respecter les paramètres " -"régionaux, et ``(?a:...)`` bascule en mode ASCII Uniquement (le comportement " -"par défaut). Ces modifications ne concernent que les groupes dans lesquelles " -"elles sont, le mode précédent est donc rétabli à la sortie du groupe." +"motifs composés d'octets, ``(?L:...)`` fait en sorte de respecter les " +"paramètres régionaux, et ``(?a:...)`` bascule en mode ASCII Uniquement (le " +"comportement par défaut). Ces modifications ne concernent que les groupes " +"dans lesquelles elles sont, le mode précédent est donc rétabli à la sortie " +"du groupe." #: library/re.rst:333 msgid "The letters ``'a'``, ``'L'`` and ``'u'`` also can be used in a group." @@ -842,7 +843,7 @@ msgstr "" "cherchera une correspondance dans ``'abcdef'``, puisque le *lookbehind** " "mettra de côté 3 caractères et vérifiera que le motif contenu correspond. " "Le motif ne devra correspondre qu'à des chaînes de taille fixe, cela veut " -"dire que ``abc`` ou ``a|b` sont autorisées, mais pas ``a*`` ou ``a{3,4}``. " +"dire que ``abc`` ou ``a|b`` sont autorisées, mais pas ``a*`` ou ``a{3,4}``. " "Notez que les motifs qui commencent par des assertions *lookbehind* " "positives ne peuvent pas correspondre au début de la chaîne analysée ; vous " "préférerez sûrement utiliser la fonction :func:`search` plutôt que la " diff --git a/library/string.po b/library/string.po index 6810a9966b..36a16a5218 100644 --- a/library/string.po +++ b/library/string.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-12-16 17:26+0100\n" +"PO-Revision-Date: 2022-10-18 15:56+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -212,9 +212,9 @@ msgstr "" "Récupère le champ *field_name* du *n*-uplet renvoyé par :meth:`parse` (voir " "ci-dessus), le convertit en un objet à formater. Renvoie une paire (*obj*, " "*used_key*). La version par défaut prend une chaîne de la forme définie par :" -"pep:`3101`, telle que `\"0[name]\"` ou `\"label.title\"`. *args* et *kwargs* " -"sont tels que ceux passés à :meth:`vformat`. La valeur renvoyée *used_key* a " -"le même sens que le paramètre *key* de :meth:`get_value`." +"pep:`3101`, telle que ``\"0[name]\"`` ou ``\"label.title\"``. *args* et " +"*kwargs* sont tels que ceux passés à :meth:`vformat`. La valeur renvoyée " +"*used_key* a le même sens que le paramètre *key* de :meth:`get_value`." #: library/string.rst:140 msgid "" @@ -282,9 +282,9 @@ msgstr "" "effectivement référencées dans la chaîne de format (des entiers pour les " "indices et des chaînes de caractères pour les arguments nommés), et une " "référence vers les arguments *args* et *kwargs* qui ont été passés à " -"`vformat`. L'ensemble des arguments non utilisés peut être calculé sur base " -"de ces paramètres. :meth:`check_unused_args` est censée lever une exception " -"si la vérification échoue." +"``vformat``. L'ensemble des arguments non utilisés peut être calculé sur " +"base de ces paramètres. :meth:`check_unused_args` est censée lever une " +"exception si la vérification échoue." #: library/string.rst:173 msgid "" @@ -303,7 +303,7 @@ msgid "" msgstr "" "Convertit la valeur (renvoyée par :meth:`get_field`) selon un type de " "conversion donné (comme dans le *n*-uplet renvoyé par la méthode :meth:" -"`parse`). La version par défaut comprend 's' (`str`), 'r' (`repr`) et " +"`parse`). La version par défaut comprend 's' (``str``), 'r' (``repr``) et " "'a' (ASCII) comme types de conversion." #: library/string.rst:187 @@ -922,7 +922,7 @@ msgid "" "removed unless the ``#`` option is used." msgstr "" "Notation scientifique. Pour une précision donnée ``p``, formate le nombre en " -"notation scientifique avec la lettre `'e'` séparant la mantisse de " +"notation scientifique avec la lettre ``'e'`` séparant la mantisse de " "l'exposant. La mantisse possède un chiffre devant et ``p`` chiffres après la " "virgule (représentée par un point en Python, conformément à la convention " "anglo-saxonne), ce qui donne ``p+1`` chiffres significatifs. Si la précision " @@ -1009,8 +1009,8 @@ msgid "" msgstr "" "Les règles précises sont les suivantes : supposons que le résultat formaté " "avec le type de représentation ``'e'`` et une précision ``p-1`` ait un " -"exposant ``exp``. Alors, si ``m <= exp <= p`` où ``m`` vaut `–4` pour les " -"nombres à virgule flottante et `–6` pour les :class:`Decimals `, le nombre est formaté avec le type de représentation ``'f'`` et " "une précision ``p-1-exp``. Sinon, le nombre est formaté avec le type de " "représentation ``'e'`` et une précision ``p-1``. Dans les deux cas, les " diff --git a/library/struct.po b/library/struct.po index e42c65f871..58cd3d1275 100644 --- a/library/struct.po +++ b/library/struct.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2020-01-18 17:44+0100\n" +"PO-Revision-Date: 2022-10-18 15:59+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -359,7 +359,7 @@ msgid "" "'>', '=', and '!'." msgstr "" "Il n'y a pas d'ajout de bourrage lorsque vous utilisez une taille et un " -"alignement non-natifs, par exemple avec `<`, `'>', `=` ou `!`." +"alignement non-natifs, par exemple avec ``'<'``, ``'>'``, ``'='`` ou ``'!'``." #: library/struct.rst:177 msgid "" @@ -1005,7 +1005,7 @@ msgstr "" #: library/struct.rst:457 msgid "The format string used to construct this Struct object." -msgstr "La chaîne de format utilisée pour construire l'objet `Struct`." +msgstr "La chaîne de format utilisée pour construire l'objet ``Struct``." # Pas de majuscule car suit un ':' dans la version affichée. #: library/struct.rst:459 diff --git a/library/subprocess.po b/library/subprocess.po index 9658aad63e..d9042c88b3 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-06-17 20:34+0200\n" +"PO-Revision-Date: 2022-10-18 16:00+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1443,7 +1443,7 @@ msgid "" msgstr "" "Sous Windows, *SIGTERM* est un alias pour :meth:`terminate`. *CTRL_C_EVENT* " "et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un " -"paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`." +"paramètre *creationflags* incluant ``CREATE_NEW_PROCESS_GROUP``." #: library/subprocess.rst:829 msgid "" diff --git a/library/sys.po b/library/sys.po index 2827da70c0..38e4a57dae 100644 --- a/library/sys.po +++ b/library/sys.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-09-15 10:22+0200\n" +"PO-Revision-Date: 2022-10-18 15:56+0200\n" "Last-Translator: louisMaury \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -385,8 +385,8 @@ msgstr "" "l'appel par défaut (e.g. ``pdb.set_trace()``) n'attend pas d'argument, mais " "vous pourriez la lier à une fonction qui attend des arguments " "supplémentaires (positionnels et/ou mots-clés). La fonction native " -"`breakpoint()` passe ses ``*args`` et ``**kws`` directement au travers. Tout " -"ce que renvoie ``breakpointhooks()`` est renvoyé par ``breakpoint()``." +"``breakpoint()`` passe ses ``*args`` et ``**kws`` directement au travers. " +"Tout ce que renvoie ``breakpointhooks()`` est renvoyé par ``breakpoint()``." #: library/sys.rst:227 msgid "" @@ -1554,7 +1554,7 @@ msgid "" "loop." msgstr "" "Renvoie un objet *asyncgen_hooks*, qui est semblable à un :class:" -"`~collections.namedtuple` de la forme `(firstiter, finalizer)`, où " +"`~collections.namedtuple` de la forme ``(firstiter, finalizer)``, où " "*firstiter* et *finalizer* sont soit ``None`` ou des fonctions qui prennent " "un :term:`asynchronous generator iterator` comme argument, et sont utilisées " "pour planifier la finalisation d'un générateur asynchrone par un *event " diff --git a/library/textwrap.po b/library/textwrap.po index b64c7a4908..e26f9a8036 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-12-16 17:27+0100\n" +"PO-Revision-Date: 2022-10-19 16:51+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -252,7 +252,7 @@ msgid "" "(default: ``True``) If true, then all tab characters in *text* will be " "expanded to spaces using the :meth:`expandtabs` method of *text*." msgstr "" -"(par défaut : ``True``) Si `true`, alors tous les caractères de tabulation " +"(par défaut : ``True``) Si vrai, alors tous les caractères de tabulation " "dans *text* sont transformés en espaces en utilisant la méthode :meth:" "`expandtabs` de *text*." @@ -262,7 +262,7 @@ msgid "" "*text* will be expanded to zero or more spaces, depending on the current " "column and the given tab size." msgstr "" -"(par défaut : ``8``) Si :attr:`expand_tabs` est `true`, alors tous les " +"(par défaut : ``8``) Si :attr:`expand_tabs` est vrai, alors tous les " "caractères de tabulation dans *text* sont transformés en zéro ou plus " "d'espaces, selon la colonne courante et la taille de tabulation donnée." @@ -273,7 +273,7 @@ msgid "" "space. The whitespace characters replaced are as follows: tab, newline, " "vertical tab, formfeed, and carriage return (``'\\t\\n\\v\\f\\r'``)." msgstr "" -"(par défaut : ``True``) Si `true`, après l'expansion des tabulations mais " +"(par défaut : ``True``) Si vrai, après l'expansion des tabulations mais " "avant le formatage, la méthode :meth:`wrap` remplace chaque *blanc* par une " "espace unique. Les *blancs* remplacés sont les suivants : tabulation, " "nouvelle ligne, tabulation verticale, saut de page et retour chariot " @@ -346,9 +346,9 @@ msgid "" "followed by a space. One problem with this is algorithm is that it is " "unable to detect the difference between \"Dr.\" in ::" msgstr "" -"(par défaut : ``Faux``) Si `true`, :class:`TextWrapper` tente de détecter " -"les fins de phrases et de s'assurer que les phrases sont toujours séparées " -"par exactement deux espaces. Ceci est généralement souhaité pour un texte en " +"(par défaut : ``Faux``) Si vrai, :class:`TextWrapper` tente de détecter les " +"fins de phrases et de s'assurer que les phrases sont toujours séparées par " +"exactement deux espaces. Ceci est généralement souhaité pour un texte en " "police à chasse fixe. Cependant, l'algorithme de détection de phrase est " "imparfait : il suppose qu'une fin de phrase consiste en une lettre minuscule " "suivie de l'une des lettres suivantes : ``'.'``, ``'!'``, ou ``'?'``, " diff --git a/library/timeit.po b/library/timeit.po index 790dd1aaa7..616331a65c 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2021-09-06 21:26+0200\n" +"PO-Revision-Date: 2022-10-18 15:58+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -396,11 +396,11 @@ msgid "" "it. The baseline overhead can be measured by invoking the program without " "arguments, and it might differ between Python versions." msgstr "" -"Il existe un surcoût minimal associé à l'exécution de l'instruction `pass`. " -"Le code présenté ici ne tente pas de le masquer, mais vous devez être " -"conscient de son existence. Ce surcoût minimal peut être mesuré en invoquant " -"le programme sans argument ; il peut différer en fonction des versions de " -"Python." +"Il existe un surcoût minimal associé à l'exécution de l'instruction " +"``pass``. Le code présenté ici ne tente pas de le masquer, mais vous devez " +"être conscient de son existence. Ce surcoût minimal peut être mesuré en " +"invoquant le programme sans argument ; il peut différer en fonction des " +"versions de Python." #: library/timeit.rst:274 msgid "Examples" diff --git a/library/tkinter.po b/library/tkinter.po index 0441ca2d13..c010307087 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2019-12-13 23:41+0100\n" +"PO-Revision-Date: 2022-10-18 16:14+0200\n" "Last-Translator: pierre choffe \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1209,10 +1209,10 @@ msgid "" "where the widget is to appear within its container, and how it is to behave " "when the main application window is resized. Here are some examples::" msgstr "" -"La méthode `pack()` peut être appelée avec des paires mot-clé-option/valeur " -"qui contrôlent où l'objet graphique doit apparaître dans son conteneur et " -"comment il doit se comporter lorsque la fenêtre principale de l'application " -"est redimensionnée. En voici quelques exemples ::" +"La méthode ``pack()`` peut être appelée avec des paires mot-clé-option/" +"valeur qui contrôlent où l'objet graphique doit apparaître dans son " +"conteneur et comment il doit se comporter lorsque la fenêtre principale de " +"l'application est redimensionnée. En voici quelques exemples ::" #: library/tkinter.rst:669 msgid "Packer Options" @@ -1316,7 +1316,7 @@ msgstr "" "pas possible de passer une variable Python arbitraire à un objet graphique " "via une option ``variable`` ou ``textvariable``. Les seuls types de " "variables pour lesquels cela fonctionne sont les variables qui sont sous-" -"classées à partir d'une classe appelée `Variable`, définie dans :mod:" +"classées à partir d'une classe appelée ``Variable``, définie dans :mod:" "`tkinter`." #: library/tkinter.rst:708 @@ -1841,7 +1841,7 @@ msgstr "" #: library/tkinter.rst:967 msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" -msgstr "Index menu (`menu.invoke()`, `menu.entryconfig()`, etc.)" +msgstr "Index menu (``menu.invoke()``, ``menu.entryconfig()``, etc.)" #: library/tkinter.rst:945 msgid "" diff --git a/library/turtle.po b/library/turtle.po index 88fa93db9d..22d8e824e2 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-04-05 10:05+0200\n" -"PO-Revision-Date: 2022-07-06 23:06+0200\n" +"PO-Revision-Date: 2022-10-18 16:14+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -763,7 +763,7 @@ msgid "" "Set the orientation of the turtle to *to_angle*. Here are some common " "directions in degrees:" msgstr "" -"Règle l'orientation de la tortue à la valeur `to_angle`. Voici quelques " +"Règle l'orientation de la tortue à la valeur ``to_angle``. Voici quelques " "orientations courantes en degrés :" #: library/turtle.rst:429 @@ -1079,52 +1079,52 @@ msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" msgstr "" -"Renvoie ou définit les attributs du stylo dans un `\"pen-dictionary\"` avec " -"les paires clés / valeurs suivantes :" +"Renvoie ou définit les attributs du stylo dans un ``\"pen-dictionary\"`` " +"avec les paires clés / valeurs suivantes :" #: library/turtle.rst:839 msgid "\"shown\": True/False" -msgstr "`\"shown\"` : ``True`` / ``False``" +msgstr "``\"shown\"`` : ``True`` / ``False``" #: library/turtle.rst:840 msgid "\"pendown\": True/False" -msgstr "`\"pendown\"` : ``True`` / ``False``" +msgstr "``\"pendown\"`` : ``True`` / ``False``" #: library/turtle.rst:841 msgid "\"pencolor\": color-string or color-tuple" msgstr "" -"`\"pencolor\"` : chaîne de caractères ou triplet désignant la couleur du " +"``\"pencolor\"`` : chaîne de caractères ou triplet désignant la couleur du " "stylo" #: library/turtle.rst:842 msgid "\"fillcolor\": color-string or color-tuple" msgstr "" -"`\"fillcolor\"` : chaîne de caractères ou triplet pour la couleur de " +"``\"fillcolor\"`` : chaîne de caractères ou triplet pour la couleur de " "remplissage" #: library/turtle.rst:843 msgid "\"pensize\": positive number" -msgstr "`\"pensize\"` : nombre positif" +msgstr "``\"pensize\"`` : nombre positif" #: library/turtle.rst:844 msgid "\"speed\": number in range 0..10" -msgstr "`\"speed\"` : nombre compris dans intervalle 0 et 10" +msgstr "``\"speed\"`` : nombre compris dans intervalle 0 et 10" #: library/turtle.rst:845 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" -msgstr "`\"resizemode\"` : `\"auto\"`, `\"user\"` ou `\"noresize\"`" +msgstr "``\"resizemode\"`` : ``\"auto\"``, ``\"user\"`` ou ``\"noresize\"``" #: library/turtle.rst:846 msgid "\"stretchfactor\": (positive number, positive number)" -msgstr "`\"stretchfactor\"` : (nombre positif, nombre positif)" +msgstr "``\"stretchfactor\"`` : (nombre positif, nombre positif)" #: library/turtle.rst:847 msgid "\"outline\": positive number" -msgstr "`\"outline\"` : nombre positif" +msgstr "``\"outline\"`` : nombre positif" #: library/turtle.rst:848 msgid "\"tilt\": number" -msgstr "`\"tilt\"` : nombre" +msgstr "``\"tilt\"`` : nombre" #: library/turtle.rst:850 msgid "" @@ -1174,7 +1174,7 @@ msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" -"Définit la couleur du stylo à `colorstring`, qui est une chaîne de " +"Définit la couleur du stylo à ``colorstring``, qui est une chaîne de " "spécification de couleur *Tk*, telle que ``\"red\"``, ``\"yellow\"``, ou " "``\"#33cc8c\"``." @@ -1399,8 +1399,8 @@ msgstr "``True`` / ``False``" #: library/turtle.rst:1102 msgid "one of the strings \"left\", \"center\" or right\"" msgstr "" -"l'une des chaînes de caractères suivantes : `\"left\"`, `\"center\"` ou " -"`\"right\"`" +"l'une des chaînes de caractères suivantes : ``\"left\"``, ``\"center\"`` ou " +"``\"right\"``" #: library/turtle.rst:1103 msgid "a triple (fontname, fontsize, fonttype)" @@ -1459,7 +1459,8 @@ msgstr "" #: library/turtle.rst:1181 msgid "one of the strings \"auto\", \"user\", \"noresize\"" -msgstr "l'une des chaînes suivantes : `\"auto\"`, `\"user\"`, `\"noresize\"`" +msgstr "" +"l'une des chaînes suivantes : ``\"auto\"``, ``\"user\"``, ``\"noresize\"``" #: library/turtle.rst:1183 msgid "" @@ -2074,9 +2075,9 @@ msgid "" msgstr "" "Démarre la boucle d'événements - appelle la boucle principale de Tkinter. " "Doit être la dernière opération dan un programme graphique *turtle*. **Ne " -"dois pas** être utilisé si un script est lancé depuis IDLE avec le mode `-n` " -"(pas de sous processus) - pour une utilisation interactive des graphiques " -"*turtle* ::" +"dois pas** être utilisé si un script est lancé depuis IDLE avec le mode ``-" +"n`` (pas de sous processus) - pour une utilisation interactive des " +"graphiques *turtle* ::" #: library/turtle.rst:1880 library/turtle.rst:1893 msgid "string" @@ -2116,7 +2117,8 @@ msgstr "" #: library/turtle.rst:1915 msgid "one of the strings \"standard\", \"logo\" or \"world\"" msgstr "" -"l'une des chaînes de caractères : `\"standard\"`, `\"logo\"` ou `\"world\"`" +"l'une des chaînes de caractères : ``\"standard\"``, ``\"logo\"`` ou " +"``\"world\"``" #: library/turtle.rst:1917 msgid "" @@ -2185,7 +2187,8 @@ msgid "" "values of color triples have to be in the range 0..\\ *cmode*." msgstr "" "Renvoie le mode de couleur (*colormode*) ou le défini à 1.0 ou 255. Les " -"valeurs *r*, *g* et *b* doivent aussi être dans la gamme `0..*cmode*`." +"valeurs *r*, *g* et *b* doivent aussi être dans la gamme ``0``\\ ..\\ " +"*cmode*." #: library/turtle.rst:1965 msgid "" @@ -2409,7 +2412,8 @@ msgstr "" #: library/turtle.rst:2146 msgid "one of the strings \"polygon\", \"image\", \"compound\"" msgstr "" -"l'une des chaînes suivantes : `\"polygon\"`, `\"image\"` ou `\"compound\"`" +"l'une des chaînes suivantes : ``\"polygon\"``, ``\"image\"`` ou " +"``\"compound\"``" #: library/turtle.rst:2148 msgid "" diff --git a/library/unittest.po b/library/unittest.po index 6f9473a40d..72e39ceb05 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-12-16 17:28+0100\n" +"PO-Revision-Date: 2022-10-18 16:09+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -337,7 +337,7 @@ msgid "" "You can run tests with more detail (higher verbosity) by passing in the -v " "flag::" msgstr "" -"Pour obtenir plus de détails lors de l'exécution utilisez l'option `-v` " +"Pour obtenir plus de détails lors de l'exécution utilisez l'option ``-v`` " "(plus de verbosité) ::" #: library/unittest.rst:184 @@ -351,7 +351,7 @@ msgstr "" msgid "For a list of all the command-line options::" msgstr "" "Pour afficher la liste de toutes les options de la commande utilisez " -"l'option `-h` ::" +"l'option ``-h`` ::" #: library/unittest.rst:192 msgid "" diff --git a/library/venv.po b/library/venv.po index ee52501996..a47020414b 100644 --- a/library/venv.po +++ b/library/venv.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2020-11-06 17:48+0100\n" +"PO-Revision-Date: 2022-10-18 15:53+0200\n" "Last-Translator: ZepmanBC \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -215,9 +215,9 @@ msgid "" msgstr "" "Une fois qu'un environnement virtuel est créé, il peut être \"activé\" en " "utilisant un script dans le dossier binaire de l'environnement virtuel. " -"L'invocation de ce script est spécifique à chaque plateforme (`` doit " -"être remplacé par le chemin d'accès du répertoire contenant l'environnement " -"virtuel) :" +"L'invocation de ce script est spécifique à chaque plateforme (```` " +"doit être remplacé par le chemin d'accès du répertoire contenant " +"l'environnement virtuel) :" #: using/venv-create.inc:114 msgid "Platform" diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index e5c34682f4..0d537d346d 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-05-18 12:53+0200\n" +"PO-Revision-Date: 2022-10-18 15:55+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -67,7 +67,7 @@ msgstr "" "se compose d'un en-tête et d'une « suite ». Les en-têtes des clauses d'une " "instruction composée particulière sont toutes placées au même niveau " "d'indentation. Chaque en-tête de clause commence par un mot-clé spécifique " -"et se termine par le caractère deux-points (`:`) ; une suite est un groupe " +"et se termine par le caractère deux-points (``:``) ; une suite est un groupe " "d'instructions contrôlées par une clause ; une suite se compose, après les " "deux points de l'en-tête, soit d'une ou plusieurs instructions simples " "séparées par des points-virgules si elles sont sur la même ligne que l'en-" @@ -1012,7 +1012,7 @@ msgid "" "``capture_pattern`` cannot be a a ``_``." msgstr "" "Si le filtre OU échoue, le filtre AS échoue. Sinon, le filtre AS lie le " -"champ de recherche au nom sur la droite du mot-clé `as` et réussit. " +"champ de recherche au nom sur la droite du mot-clé ``as`` et réussit. " "``capture_pattern`` ne peut pas être un ``_``." #: reference/compound_stmts.rst:734 @@ -1243,7 +1243,7 @@ msgid "" "sequence pattern is a fixed-length sequence pattern; otherwise it is a " "variable-length sequence pattern." msgstr "" -"Il peut y avoir au plus un sous-filtre étoilé (lexème `star_pattern`) dans " +"Il peut y avoir au plus un sous-filtre étoilé (lexème ``star_pattern``) dans " "un filtre de séquence. Le filtre étoilé peut se trouver à n’importe quelle " "position. S’il n’y en a pas, le filtre de séquence est un filtre de séquence " "à longueur fixe, sinon c’est un filtre de séquence à longueur variable." diff --git a/reference/expressions.po b/reference/expressions.po index 52b3ae99c2..5f081dc412 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-10-17 16:54+0200\n" +"PO-Revision-Date: 2022-10-18 16:15+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -2394,8 +2394,8 @@ msgid "" "enforces reflexivity." msgstr "" "Les tableaux de correspondances (instances de :class:`dict`) sont égales si " -"et seulement si toutes leurs paires `(clé, valeur)` sont égales. L'égalité " -"des clés et des valeurs met en œuvre la réflexivité." +"et seulement si toutes leurs paires ``(clé, valeur)`` sont égales. " +"L'égalité des clés et des valeurs met en œuvre la réflexivité." #: reference/expressions.rst:1550 msgid "" diff --git a/reference/import.po b/reference/import.po index 29884eefc4..f5dbb0a100 100644 --- a/reference/import.po +++ b/reference/import.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2021-04-10 15:09+0200\n" +"PO-Revision-Date: 2022-10-18 16:07+0200\n" "Last-Translator: Samuel Giffard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1592,7 +1592,7 @@ msgstr "" "chacune, regarde s'il trouve un :term:`chercheur d'entrée dans path ` (:class:`~importlib.abc.PathEntryFinder`) approprié à cette " "entrée. Comme cette opération est coûteuse (elle peut faire appel à " -"plusieurs `stat()` pour cela), le chercheur dans *path* maintient un cache " +"plusieurs ``stat()`` pour cela), le chercheur dans *path* maintient un cache " "de correspondance entre les entrées et les \"chercheurs d'entrée dans " "*path*\". Ce cache est géré par :data:`sys.path_importer_cache` (en dépit de " "son nom, ce cache stocke les objets chercheurs plutôt que les simples " @@ -1712,7 +1712,7 @@ msgstr "" "arguments : le nom complètement qualifié du module en cours d'importation et " "(optionnellement) le module cible. ``find_spec()`` renvoie un spécificateur " "de module pleinement peuplé. Ce spécificateur doit avoir son chargeur " -"(attribut `loader`) défini, à une exception près." +"(attribut ``loader``) défini, à une exception près." #: reference/import.rst:871 msgid "" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 67048df918..ed925b2d61 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-04-13 16:37-0400\n" +"PO-Revision-Date: 2022-10-18 16:08+0200\n" "Last-Translator: Jean-Michel Laprise \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1265,7 +1265,7 @@ msgstr "" "Les :term:`annotations ` sont stockées dans l'attribut :" "attr:`__annotations__` de la fonction, sous la forme d'un dictionnaire, et " "n'ont aucun autre effet. Les annotations sur les paramètres sont définies " -"par deux points (`:`) après le nom du paramètre suivi d'une expression " +"par deux points (``:``) après le nom du paramètre suivi d'une expression " "donnant la valeur de l'annotation. Les annotations de retour sont définies " "par ``->`` suivi d'une expression, entre la liste des paramètres et les deux " "points de fin de l'instruction :keyword:`def`. L'exemple suivant a un " diff --git a/tutorial/errors.po b/tutorial/errors.po index 8c42d71f85..5895d012a4 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-05-18 12:44+0200\n" +"PO-Revision-Date: 2022-10-18 16:08+0200\n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -208,7 +208,7 @@ msgstr "" "Une instruction :keyword:`try` peut comporter plusieurs clauses ``except`` " "pour permettre la prise en charge de différentes exceptions. Mais un seul " "gestionnaire, au plus, sera exécuté. Les gestionnaires ne prennent en charge " -"que les exceptions qui interviennent dans la clause `!try` correspondante, " +"que les exceptions qui interviennent dans la clause ``try`` correspondante, " "pas dans d'autres gestionnaires de la même instruction :keyword:`!try`. Mais " "une même clause ``except`` peut citer plusieurs exceptions sous la forme " "d'un *n*-uplet entre parenthèses, comme dans cet exemple ::" diff --git a/using/cmdline.po b/using/cmdline.po index fe11a608ba..b18b09bdc9 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-07-07 21:00+0200\n" +"PO-Revision-Date: 2022-10-18 16:02+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -1126,7 +1126,7 @@ msgstr "" "l'appelable est importé et l'appelable est alors lancé par l'implémentation " "par défaut de :func:`sys.breakpointhook`, elle-même étant appelée par la " "fonction native :func:`breakpoint`. Si elle n'est pas définie ou définie par " -"une chaîne vide, elle vaut la même chose que `pdb.set_trace`. La définir à " +"une chaîne vide, elle vaut la même chose que ``pdb.set_trace``. La définir à " "la chaîne \"0\" entraine que l'implémentation par défaut de :func:`sys." "breakpointhook` ne fait rien et s'interrompt immédiatement." diff --git a/using/windows.po b/using/windows.po index 589af5bad2..0ecb4b9e17 100644 --- a/using/windows.po +++ b/using/windows.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-18 15:46+0200\n" -"PO-Revision-Date: 2022-05-26 20:24+0200\n" +"PO-Revision-Date: 2022-10-18 16:02+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -2257,7 +2257,7 @@ msgid "" msgstr "" "Si ``home`` est un chemin absolu et :envvar:`PYTHONHOME` n'est pas défini, " "ce chemin d'accès est utilisé au lieu du chemin d'accès à l'exécutable " -"principal lors de la déduction de l'emplacement du `home`." +"principal lors de la déduction de l'emplacement du ``home``." #: using/windows.rst:1039 msgid "The end result of all this is:" From d562365a3d32a8adb69883d727843ebf63c98046 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 22 Mar 2023 11:17:19 +0100 Subject: [PATCH 06/11] Backporting from 3.11 --- bugs.po | 4 +- c-api/apiabiversion.po | 27 +- c-api/call.po | 2 +- c-api/function.po | 32 +- c-api/refcounting.po | 67 +++- c-api/reflection.po | 8 +- c-api/stable.po | 116 +++++- c-api/structures.po | 2 +- c-api/unicode.po | 38 +- glossary.po | 24 ++ howto/curses.po | 3 + howto/descriptor.po | 282 ++++++++++++-- howto/logging-cookbook.po | 267 ++++++++++++- library/asyncio-api-index.po | 2 +- library/asyncio-eventloop.po | 4 + library/asyncio-llapi-index.po | 2 +- library/asyncio-policy.po | 2 + library/asyncio-protocol.po | 2 +- library/asyncio-queue.po | 2 + library/asyncio-stream.po | 2 +- library/asyncio-subprocess.po | 90 ++++- library/asyncio-task.po | 2 + library/audit_events.po | 30 +- library/dataclasses.po | 4 + library/functions.po | 61 +-- library/graphlib.po | 96 ++++- library/http.server.po | 2 +- library/idle.po | 2 +- library/importlib.po | 3 +- library/inspect.po | 623 ++++++++++++++++++++++++++----- library/io.po | 2 + library/logging.po | 2 +- library/msvcrt.po | 29 +- library/nntplib.po | 2 +- library/os.po | 5 + library/ossaudiodev.po | 2 + library/pathlib.po | 5 + library/pyexpat.po | 2 +- library/re.po | 4 +- library/socket.po | 2 +- library/sqlite3.po | 154 +++++++- library/stdtypes.po | 3 + library/sys.po | 117 +++++- library/typing.po | 105 ++++-- library/xml.etree.elementtree.po | 136 +++++-- reference/datamodel.po | 76 +++- reference/executionmodel.po | 22 +- reference/expressions.po | 29 ++ reference/import.po | 8 +- reference/lexical_analysis.po | 28 +- reference/simple_stmts.po | 2 +- tutorial/errors.po | 8 + tutorial/inputoutput.po | 3 + tutorial/whatnow.po | 3 + using/configure.po | 148 ++++++-- whatsnew/3.10.po | 5 +- whatsnew/3.2.po | 4 +- whatsnew/3.3.po | 4 +- whatsnew/3.4.po | 6 +- whatsnew/3.5.po | 10 +- whatsnew/3.6.po | 2 +- whatsnew/3.7.po | 4 +- whatsnew/3.8.po | 2 +- whatsnew/3.9.po | 5 +- 64 files changed, 2357 insertions(+), 383 deletions(-) diff --git a/bugs.po b/bugs.po index 367deef94d..ac22018c2e 100644 --- a/bugs.po +++ b/bugs.po @@ -188,13 +188,15 @@ msgstr "" #: bugs.rst:67 msgid "The submission form has two fields, \"Title\" and \"Comment\"." -msgstr "" +msgstr "Le formulaire de rapport contient deux champs, *Title* et *Comment*." #: bugs.rst:69 msgid "" "For the \"Title\" field, enter a *very* short description of the problem; " "less than ten words is good." msgstr "" +"Dans le champ *Title*, entrez une *très* brève description du problème " +"rencontré ; tâchez de vous limiter à dix mots." #: bugs.rst:72 msgid "" diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index f2e2cf67a4..dd04126670 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -24,11 +24,16 @@ msgid "" "correspond to the version code is **built** with, not necessarily the " "version used at **run time**." msgstr "" +"CPython révèle son numéro de version dans les macros suivantes. À noter " +"qu'ils correspondent au code de la version **compilée** avec, pas " +"nécessairement la version utilisée à l'**exécution**." #: c-api/apiabiversion.rst:13 msgid "" "See :ref:`stable` for a discussion of API and ABI stability across versions." msgstr "" +"Voir :ref:`stable` pour une discussion sur la stabilité des API et ABI entre " +"(ou en fonction) de la version." #: c-api/apiabiversion.rst:17 #, fuzzy @@ -92,7 +97,7 @@ msgstr "Signification" #: c-api/apiabiversion.rst:45 msgid "Value for ``3.4.1a2``" -msgstr "" +msgstr "Valeur pour ``3.4.1a2``" #: c-api/apiabiversion.rst:47 msgid "1" @@ -105,11 +110,11 @@ msgstr "``1-8``" #: c-api/apiabiversion.rst:47 msgid "``PY_MAJOR_VERSION``" -msgstr "" +msgstr "``PY_MAJOR_VERSION``" #: c-api/apiabiversion.rst:47 msgid "``0x03``" -msgstr "" +msgstr "``0x03``" #: c-api/apiabiversion.rst:49 msgid "2" @@ -122,11 +127,11 @@ msgstr "``9-16``" #: c-api/apiabiversion.rst:49 msgid "``PY_MINOR_VERSION``" -msgstr "" +msgstr "``PY_MINOR_VERSION``" #: c-api/apiabiversion.rst:49 msgid "``0x04``" -msgstr "" +msgstr "``0x04``" #: c-api/apiabiversion.rst:51 msgid "3" @@ -139,11 +144,11 @@ msgstr "``17-24``" #: c-api/apiabiversion.rst:51 msgid "``PY_MICRO_VERSION``" -msgstr "" +msgstr "``PY_MICRO_VERSION``" #: c-api/apiabiversion.rst:51 msgid "``0x01``" -msgstr "" +msgstr "``0x01``" #: c-api/apiabiversion.rst:53 msgid "4" @@ -156,11 +161,11 @@ msgstr "``25-28``" #: c-api/apiabiversion.rst:53 msgid "``PY_RELEASE_LEVEL``" -msgstr "" +msgstr "``PY_RELEASE_LEVEL``" #: c-api/apiabiversion.rst:53 msgid "``0xA``" -msgstr "" +msgstr "``0xA``" #: c-api/apiabiversion.rst:55 #, fuzzy @@ -169,11 +174,11 @@ msgstr "``29-32``" #: c-api/apiabiversion.rst:55 msgid "``PY_RELEASE_SERIAL``" -msgstr "" +msgstr "``PY_RELEASE_SERIAL``" #: c-api/apiabiversion.rst:55 msgid "``0x2``" -msgstr "" +msgstr "``0x2``" #: c-api/apiabiversion.rst:58 #, fuzzy diff --git a/c-api/call.po b/c-api/call.po index edecd96742..37f5609e90 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -261,7 +261,7 @@ msgstr "Fonction" #: c-api/call.rst:189 msgid "callable" -msgstr "" +msgstr "appelable (*callable*)" #: c-api/call.rst:189 msgid "args" diff --git a/c-api/function.po b/c-api/function.po index e708bc7c97..2dedf0c20b 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -20,11 +20,11 @@ msgstr "Objets fonctions" #: c-api/function.rst:10 msgid "There are a few functions specific to Python functions." -msgstr "" +msgstr "Certaines fonctions sont spécifiques aux fonctions Python." #: c-api/function.rst:15 msgid "The C structure used for functions." -msgstr "" +msgstr "La structure C utilisée pour les fonctions." #: c-api/function.rst:22 msgid "" @@ -32,6 +32,8 @@ msgid "" "function type. It is exposed to Python programmers as ``types." "FunctionType``." msgstr "" +"C'est une instance de :c:type:`PyTypeObject` et représente le type fonction " +"en Python. Il est exposé aux développeurs comme ``types.FunctionType``." #: c-api/function.rst:28 msgid "" @@ -39,6 +41,9 @@ msgid "" "`PyFunction_Type`). The parameter must not be ``NULL``. This function " "always succeeds." msgstr "" +"Renvoie vrai si *o* est un objet de type fonction (a comme type :c:data:" +"`PyFunction_Type`). Le paramètre ne doit pas être ``NULL``. Cette fonction " +"réussit toujours." #: c-api/function.rst:34 msgid "" @@ -46,6 +51,8 @@ msgid "" "*globals* must be a dictionary with the global variables accessible to the " "function." msgstr "" +"Renvoie une nouvelle fonction associée avec l'objet *code*. *globals* doit " +"être un dictionnaire avec les variables globales accessibles à la fonction." #: c-api/function.rst:37 msgid "" @@ -65,60 +72,77 @@ msgstr "" #: c-api/function.rst:54 msgid "Return the code object associated with the function object *op*." -msgstr "" +msgstr "Renvoie l'objet code associé avec l'objet de la fonction *op*." #: c-api/function.rst:59 msgid "Return the globals dictionary associated with the function object *op*." msgstr "" +"Renvoie le dictionnaire global associé avec l'objet de la fonction *op*." #: c-api/function.rst:64 msgid "" "Return a :term:`borrowed reference` to the *__module__* attribute of the " "function object *op*. It can be *NULL*." msgstr "" +"Renvoie un :term:`borrowed reference` à l'attribut ``__module__`` de l'objet " +"fonction *op*. Il peut être *NULL*." #: c-api/function.rst:67 msgid "" "This is normally a string containing the module name, but can be set to any " "other object by Python code." msgstr "" +"C'est typiquement une chaîne de caractère contenant le nom du module, mais " +"il peut être changé par du code Python pour n'importe quel autre objet." #: c-api/function.rst:73 msgid "" "Return the argument default values of the function object *op*. This can be " "a tuple of arguments or ``NULL``." msgstr "" +"Renvoie les valeurs par défaut de l'argument de l'objet de la fonction *op*. " +"Cela peut être un tuple d'arguments ou ``NULL``." #: c-api/function.rst:79 msgid "" "Set the argument default values for the function object *op*. *defaults* " "must be ``Py_None`` or a tuple." msgstr "" +"Définir les valeurs par défaut de l'argument pour l'objet de la fonction " +"*op*. *defaults* doit être ``Py_None`` ou un tuple." #: c-api/function.rst:96 c-api/function.rst:110 msgid "Raises :exc:`SystemError` and returns ``-1`` on failure." -msgstr "" +msgstr "Lève :exc:`SystemError` et renvoie ``-1`` en cas de d'échec." #: c-api/function.rst:87 msgid "" "Return the closure associated with the function object *op*. This can be " "``NULL`` or a tuple of cell objects." msgstr "" +"Renvoie la fermeture associée avec l'objet de la fonction *op*. Cela peut " +"être ``NULL`` ou un tuple d'objets cellule." #: c-api/function.rst:93 msgid "" "Set the closure associated with the function object *op*. *closure* must be " "``Py_None`` or a tuple of cell objects." msgstr "" +"Définir la fermeture associée avec l'objet de la fonction *op*. *closure* " +"doit être ``Py_None`` ou un tuple d'objets cellule." #: c-api/function.rst:101 msgid "" "Return the annotations of the function object *op*. This can be a mutable " "dictionary or ``NULL``." msgstr "" +"Renvoie les annotations de l'objet de la fonction *op*. Cela peut être un " +"dictionnaire mutable ou ``NULL``." #: c-api/function.rst:107 msgid "" "Set the annotations for the function object *op*. *annotations* must be a " "dictionary or ``Py_None``." msgstr "" +"Définir les annotations pour l'objet de la fonction *op*. *annotations* doit " +"être un dictionnaire ou ``Py_None``." diff --git a/c-api/refcounting.po b/c-api/refcounting.po index bfef5d8613..cafe207847 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -23,10 +23,12 @@ msgid "" "The macros in this section are used for managing reference counts of Python " "objects." msgstr "" +"Les macros dans cette section permettent de gérer le compteur de références " +"des objets Python." #: c-api/refcounting.rst:16 msgid "Increment the reference count for object *o*." -msgstr "" +msgstr "Incrémente le compteur de références de l'objet *o*." #: c-api/refcounting.rst:18 msgid "" @@ -34,40 +36,54 @@ msgid "" "term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " "used to create a new :term:`strong reference`." msgstr "" +"Cette fonction est souvent utilisée pour convertir une :term:`référence " +"empruntée` en une :term:`référence forte` *sur place*. La fonction :c:func:" +"`Py_NewRef` peut être utilisée pour créer une nouvelle :term:`référence " +"forte`." #: c-api/refcounting.rst:22 msgid "" "The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " "use :c:func:`Py_XINCREF`." msgstr "" +"L'objet ne doit pas être ``NULL``, la fonction :c:func:`Py_XINCREF` doit " +"être utilisée s'il est possible qu'il soit ``NULL``." #: c-api/refcounting.rst:28 msgid "" "Increment the reference count for object *o*. The object may be ``NULL``, " "in which case the macro has no effect." msgstr "" +"Incrémente le compteur de références de l'objet *o*. La macro n'a pas " +"d'effet si l'objet est ``NULL``." #: c-api/refcounting.rst:31 msgid "See also :c:func:`Py_XNewRef`." -msgstr "" +msgstr "Voir aussi :c:func:`Py_XNewRef`." #: c-api/refcounting.rst:36 msgid "" "Create a new :term:`strong reference` to an object: increment the reference " "count of the object *o* and return the object *o*." msgstr "" +"Créer une nouvelle :term:`référence forte` d'un objet : incrémente le " +"compteur de référence de l'objet *o* et renvoie l'objet *o*." #: c-api/refcounting.rst:39 msgid "" "When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " "should be called on it to decrement the object reference count." msgstr "" +":c:func:`Py_DECREF` doit être appelée quand la :term:`référence forte` n'est " +"plus utilisée pour décrémenter le compteur de références de l'objet." #: c-api/refcounting.rst:42 msgid "" "The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be " "``NULL``." msgstr "" +"L'objet *o* ne doit pas être ``NULL`` et la fonction :c:func:`Py_XNewRef` " +"doit être utilisée si *o* peut être ``NULL``." #: c-api/refcounting.rst:45 msgid "For example::" @@ -75,41 +91,47 @@ msgstr "Par exemple ::" #: c-api/refcounting.rst:50 msgid "can be written as::" -msgstr "" +msgstr "peut s'écrire ::" #: c-api/refcounting.rst:54 msgid "See also :c:func:`Py_INCREF`." -msgstr "" +msgstr "Voir aussi :c:func:`Py_INCREF`." #: c-api/refcounting.rst:61 msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL." -msgstr "" +msgstr "Semblable à :c:func:`Py_NewRef` mais l'objet *o* peut être ``NULL``." #: c-api/refcounting.rst:63 msgid "If the object *o* is ``NULL``, the function just returns ``NULL``." -msgstr "" +msgstr "Cette fonction renvoie ``NULL`` si l'objet *o* est ``NULL``." #: c-api/refcounting.rst:70 msgid "Decrement the reference count for object *o*." -msgstr "" +msgstr "Décrémente le compteur de références de l'objet *o*." #: c-api/refcounting.rst:72 msgid "" "If the reference count reaches zero, the object's type's deallocation " "function (which must not be ``NULL``) is invoked." msgstr "" +"Si le compteur de références atteint zéro, la fonction de dés-allocation du " +"type de l'objet (qui ne doit pas être ``NULL``) est invoquée." #: c-api/refcounting.rst:75 msgid "" "This function is usually used to delete a :term:`strong reference` before " "exiting its scope." msgstr "" +"Cette fonction est généralement utilisée pour supprimer une :term:`référence " +"forte` avant qu'elle ne soit plus accessible." #: c-api/refcounting.rst:78 msgid "" "The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " "use :c:func:`Py_XDECREF`." msgstr "" +"L'objet en argument ne doit pas être ``NULL``. :c:func:`Py_XDECREF` doit " +"être utilisée si l'objet peut être ``NULL``." #: c-api/refcounting.rst:83 msgid "" @@ -123,6 +145,15 @@ msgid "" "update the list data structure, and then call :c:func:`Py_DECREF` for the " "temporary variable." msgstr "" +"La fonction de dés-allocation peut invoquer du code Python arbitraire (par " +"exemple quand une instance d'une classe avec une méthode :meth:`__del__` est " +"supprimée). Le code exécuté a accès à toutes les variables Python globales " +"mais les exceptions lors de l'exécution de ce code ne sont pas propagées. " +"Tous les objets qui peuvent être atteints à partir d'une variable globale " +"doivent être dans un état cohérent avant d'appeler :c:func:`Py_DECREF`. Par " +"exemple le code pour supprimer un élément d'une liste doit copier une " +"référence à l'objet dans une variable temporaire, mettre à jour la liste, et " +"enfin appeler :c:func:`Py_DECREF` avec la variable temporaire." #: c-api/refcounting.rst:95 msgid "" @@ -130,6 +161,10 @@ msgid "" "in which case the macro has no effect; otherwise the effect is the same as " "for :c:func:`Py_DECREF`, and the same warning applies." msgstr "" +"Décrémente le compteur de références de l'objet *o*. L'objet peut être " +"``NULL``, dans ce cas la macro n'a pas d'effet. Dans le cas contraire le " +"comportement est identique à :c:func:`Py_DECREF` et les mêmes avertissements " +"sont de rigueur." #: c-api/refcounting.rst:102 msgid "" @@ -140,24 +175,38 @@ msgid "" "object passed because the macro carefully uses a temporary variable and sets " "the argument to ``NULL`` before decrementing its reference count." msgstr "" +"Décrémente le compteur de références de l'objet *o*. L'objet peut être " +"``NULL``, dans ce cas la macro n'a pas d'effet. Dans le cas contraire le " +"comportement est identique à :c:func:`Py_DECREF`, puis l'argument est mis à " +"``NULL``. L'avertissement au sujet de l'objet passé en argument à :c:func:" +"`Py_DECREF` ne s'applique pas car la macro utilise une variable temporaire " +"et met l'objet à ``NULL`` avant de décrémenter le compteur de références." #: c-api/refcounting.rst:109 msgid "" "It is a good idea to use this macro whenever decrementing the reference " "count of an object that might be traversed during garbage collection." msgstr "" +"Il est recommandé d'utiliser cette macro lorsqu'on décrémente le compteur de " +"référence d'un objet qui peut être parcouru par le ramasse-miette." #: c-api/refcounting.rst:114 msgid "" "Increment the reference count for object *o*. A function version of :c:func:" "`Py_XINCREF`. It can be used for runtime dynamic embedding of Python." msgstr "" +"Incrémente le compteur de références de l'objet *o*. C'est la version " +"fonctionnelle de :c:func:`Py_XINCREF`. Elle peut être utilisée lorsque " +"Python est embarqué dynamiquement dans une application." #: c-api/refcounting.rst:120 msgid "" "Decrement the reference count for object *o*. A function version of :c:func:" "`Py_XDECREF`. It can be used for runtime dynamic embedding of Python." msgstr "" +"Décrémente le compteur de références de l'objet *o*. C'est la version " +"fonctionnelle de :c:func:`Py_XDECREF`. Elle peut être utilisée lorsque " +"Python est embarqué dynamiquement dans une application." #: c-api/refcounting.rst:124 msgid "" @@ -165,3 +214,7 @@ msgid "" "core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:" "`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`." msgstr "" +"Les fonctions ou macros suivantes doivent être uniquement utilisées au sein " +"de l'interpréteur et ne font pas partie de l'API publique : :c:func:" +"`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:`_Py_NewReference`, " +"ainsi que la variable globale :c:data:`_Py_RefTotal`." diff --git a/c-api/reflection.po b/c-api/reflection.po index a59ac82b28..d04aea96ae 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -60,12 +60,14 @@ msgstr "" #: c-api/reflection.rst:36 msgid "Get the *frame* next outer frame." -msgstr "" +msgstr "Renvoie la *frame* encadrant immédiatement à *frame*." #: c-api/reflection.rst:38 msgid "" "Return a :term:`strong reference`, or ``NULL`` if *frame* has no outer frame." msgstr "" +"Renvoie un :term:`strong reference`, ou ``NULL`` si *frame* n'a pas de " +"*frame* encadrante." #: c-api/reflection.rst:60 msgid "*frame* must not be ``NULL``." @@ -73,11 +75,11 @@ msgstr "" #: c-api/reflection.rst:47 msgid "Get the *frame* code." -msgstr "" +msgstr "Obtenir le code *frame*." #: c-api/reflection.rst:49 msgid "Return a :term:`strong reference`." -msgstr "" +msgstr "Renvoie un :term:`strong reference`." #: c-api/reflection.rst:51 msgid "" diff --git a/c-api/stable.po b/c-api/stable.po index 0e0c260777..14dc6a3e7f 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -16,7 +16,7 @@ msgstr "" #: c-api/stable.rst:7 msgid "C API Stability" -msgstr "" +msgstr "Stabilité de l’API C" #: c-api/stable.rst:9 #, fuzzy @@ -40,12 +40,20 @@ msgid "" "work on 3.10.8 and vice versa, but will need to be compiled separately for " "3.9.x and 3.10.x." msgstr "" +"L’interface binaire de CPython (ABI) est entièrement compatible au sein " +"d’une version mineure (à condition que la compilation soit toujours faite de " +"même manière, comme indiqué dans :ref:`stable-abi-platform` ci-dessous). " +"Ainsi le code compilé pour Python 3.10.0 fonctionnera avec Python 3.10.8 et " +"inversement, mais il devra être compilé séparément pour 3.9.x et 3.10.x." #: c-api/stable.rst:21 msgid "" "Names prefixed by an underscore, such as ``_Py_InternalState``, are private " "API that can change without notice even in patch releases." msgstr "" +"Les noms commençant par un caractère souligné, comme ``_Py_InternalState``, " +"font partie de l’API privée et peuvent changer sans préavis même dans une " +"version de correctif." #: c-api/stable.rst:26 msgid "Stable Application Binary Interface" @@ -58,6 +66,11 @@ msgid "" "multiple versions of Python. Contents of the Limited API are :ref:`listed " "below `." msgstr "" +"Le concept d’*API restreinte*, un sous-ensemble de l’API C de Python, existe " +"depuis Python 3.2. Les extensions qui utilisent uniquement l’API restreinte " +"peuvent être compilées une seule fois et fonctionner avec plusieurs versions " +"de Python. Les objets faisant partie de l’API restreinte sont :ref:" +"`documentés ci-dessous `." #: c-api/stable.rst:33 msgid "" @@ -66,6 +79,11 @@ msgid "" "symbols exposed in the Limited API, but also other ones – for example, " "functions necessary to support older versions of the Limited API." msgstr "" +"Python a aussi une *ABI stable* : un ensemble de symboles qui sont " +"compatibles avec l’ensemble des versions Python 3.x. L’ABI stable contient " +"les symboles utilisés par l’API restreinte, mais pas seulement — par exemple " +"les fonctions nécessaires pour supporter les versions précédentes de l’API " +"restreinte en font aussi partie." #: c-api/stable.rst:38 msgid "" @@ -73,12 +91,17 @@ msgid "" "and Stable ABI work the same way for all uses of the API – for example, " "embedding Python.)" msgstr "" +"(Par simplicité ce document parle *d’extensions*, mais l’API restreinte et " +"l’ABI stable fonctionnent de la même manière pour tous les cas d’usages de " +"l’API — par exemple pour embarquer Python.)" #: c-api/stable.rst:44 msgid "" "Define this macro before including ``Python.h`` to opt in to only use the " "Limited API, and to select the Limited API version." msgstr "" +"Définissez cette macro avant d’inclure ``Python.h`` pour n’inclure que l’API " +"restreinte et indiquer sa version." #: c-api/stable.rst:47 msgid "" @@ -88,6 +111,11 @@ msgid "" "the specified one onward, and can use Limited API introduced up to that " "version." msgstr "" +"Définissez ``Py_LIMITED_API`` à la valeur de :c:data:`PY_VERSION_HEX` " +"correspond à la version minimale de Python que votre extension supporte. " +"Cette extension fonctionnera sans re-compilation avec toutes les versions " +"futures de Python 3, et peut utiliser l’ensemble des éléments de l’API " +"restreinte présent dans cette version." #: c-api/stable.rst:53 msgid "" @@ -95,12 +123,19 @@ msgid "" "minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when " "compiling with future Python versions." msgstr "" +"Il est recommandé de renseigner une version mineure minimale (par exemple " +"``0x030A0000`` pour Python 3.10) plutôt que d’utiliser directement la macro " +"``PY_VERSION_HEX`` pour ne pas dépendre de la version de Python utilisée " +"lors de la compilation." #: c-api/stable.rst:57 msgid "" "You can also define ``Py_LIMITED_API`` to ``3``. This works the same as " "``0x03020000`` (Python 3.2, the version that introduced Limited API)." msgstr "" +"Vous pouvez aussi définir ``Py_LIMITED_API`` à ``3``. Cette valeur est " +"équivalente à ``0x03020000`` correspondant à Python 3.2, la première version " +"à supporter l’API restreinte." #: c-api/stable.rst:60 msgid "" @@ -108,6 +143,9 @@ msgid "" "``python3.dll`` rather than a version-specific library such as ``python39." "dll``." msgstr "" +"Sur Windows les extensions qui utilisent l’ABI stable doivent être liées " +"avec ``python3.dll`` et non pas avec une bibliothèque spécifique à une " +"version comme ``python39.dll``." #: c-api/stable.rst:64 msgid "" @@ -117,6 +155,12 @@ msgid "" "to ensure that, for example, extensions built with the 3.10+ Limited API are " "not installed for lower versions of Python." msgstr "" +"Sur certaines plateformes Python essaiera de charger une bibliothèque " +"partagée dont le nom contient ``abi3`` (par exemple ``mymodule.abi3.so``). " +"Il ne vérifie pas si ces extensions respectent l’ABI stable. L’utilisateur " +"(ou ses outils d’administration) doit s’assurer que les extensions compilées " +"avec une version donnée de l’API restreinte, par exemple 3.10+, ne sont pas " +"utilisées avec des versions plus anciennes de Python." #: c-api/stable.rst:71 msgid "" @@ -124,16 +168,23 @@ msgid "" "library, not solely as macros. This makes them usable from languages that " "don't use the C preprocessor." msgstr "" +"Toutes les fonctions de l’ABI stable sont présentes dans la bibliothèque " +"dynamique de Python en tant que fonction, et pas uniquement comme macro. " +"Elles peuvent donc être utilisées avec des langages qui n’utilisent pas le " +"pré-processeur C." #: c-api/stable.rst:77 msgid "Limited API Scope and Performance" -msgstr "" +msgstr "Porté de l’API restreinte et performance" #: c-api/stable.rst:79 msgid "" "The goal for the Limited API is to allow everything that is possible with " "the full C API, but possibly with a performance penalty." msgstr "" +"L’objectif de l’API restreinte est de permettre l’ensemble des opérations " +"possibles avec l’API C étendue, mais peut avoir un impact sur les " +"performances." #: c-api/stable.rst:82 msgid "" @@ -141,6 +192,10 @@ msgid "" "variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it " "can rely on version-specific implementation details of the list object." msgstr "" +"Par exemple la fonction :c:func:`PyList_GetItem` est disponible, mais la " +"macro « dangereuse » :c:func:`PyList_GET_ITEM` ne l’est pas. Cette macro " +"peut être plus rapide car elle dépend de détails d’implémentation spécifique " +"à l’objet ``list``." #: c-api/stable.rst:87 msgid "" @@ -149,6 +204,11 @@ msgid "" "allowing stability as Python's data structures are improved, but possibly " "reducing performance." msgstr "" +"Si ``Py_LIMITED_API`` n’est pas défini certaines fonctions de l’API C seront " +"remplacées par des macros ou une version en-ligne. Définir " +"``Py_LIMITED_API`` désactive cette optimisation, permettant de se garantir " +"contre les évolutions des structures de données utilisées par Python, et " +"peut réduire les performances." #: c-api/stable.rst:92 msgid "" @@ -159,10 +219,17 @@ msgid "" "where a version-specific one is not available – for example, for prereleases " "of an upcoming Python version." msgstr "" +"En omettant la définition de ``Py_LIMITED_API`` il est possible de compiler " +"une extension utilisant l’API restreinte avec une version spécifique de " +"l’ABI. Les performances seront meilleures pour cette version de Python, mais " +"la compatibilité sera réduite. Compiler en définissant ``Py_LIMITED_API`` " +"produira une extension qui peut être utilisée quand une variante spécifique " +"à une version n’est pas disponible — par exemple pour une version alpha de " +"Python." #: c-api/stable.rst:101 msgid "Limited API Caveats" -msgstr "" +msgstr "Inconvénients de l’API restreinte" #: c-api/stable.rst:103 msgid "" @@ -171,6 +238,10 @@ msgid "" "only covers definitions, but an API also includes other issues, such as " "expected semantics." msgstr "" +"Compiler avec ``Py_LIMITED_API`` *n’est pas* une garantie absolue que le " +"code est conforme à l’API restreinte ou à l’ABI stable. ``Py_LIMITED_API`` " +"ne concerne que la définition des objets, mais une API inclut aussi d’autres " +"spécificités comme le comportement attendu." #: c-api/stable.rst:108 msgid "" @@ -181,18 +252,31 @@ msgid "" "the argument will be used directly, causing a ``NULL`` dereference and " "crash. A similar argument works for fields of structs." msgstr "" +"Une des limitations est que ``Py_LIMITED_API`` ne protège pas contre l’appel " +"d’une fonction avec des arguments qui sont invalides pour une version de " +"Python plus ancienne. Par exemple considérons une fonction qui accepte " +"``NULL`` comme argument à partir de 3.9. ``NULL`` permet maintenant " +"d’utiliser le comportement par défaut, mais Python 3.8 essayera d’accéder à " +"l’objet pointé et dé-référencera ``NULL``, causant un crash. Des problèmes " +"similaires peuvent se produire avec les attributs des structures." #: c-api/stable.rst:115 msgid "" "Another issue is that some struct fields are currently not hidden when " "``Py_LIMITED_API`` is defined, even though they're part of the Limited API." msgstr "" +"Un autre problème est que certains attributs ne sont pas encore cachés " +"lorsque ``Py_LIMITED_API`` est défini, même s’ils ne font pas partie de " +"l’API restreinte." #: c-api/stable.rst:118 msgid "" "For these reasons, we recommend testing an extension with *all* minor Python " "versions it supports, and preferably to build with the *lowest* such version." msgstr "" +"Pour ces raisons il est recommandé de tester une extension avec *l’ensemble " +"des versions mineures* supportées de Python, et généralement de la compiler " +"avec la plus *ancienne* de ces versions." #: c-api/stable.rst:121 msgid "" @@ -201,6 +285,11 @@ msgid "" "few private declarations are exposed for technical reasons (or even " "unintentionally, as bugs)." msgstr "" +"Il est aussi recommandé de vérifier la documentation de toutes les API " +"utilisées pour vérifier qu’elles fassent bien partie de l’API restreinte. " +"Même lorsque ``Py_LIMITED_API`` est défini quelques fonctions privées " +"peuvent être exposées aux utilisateurs pour des raisons techniques, ou par " +"erreur." #: c-api/stable.rst:126 msgid "" @@ -210,10 +299,15 @@ msgid "" "particular, parts of the Limited API may be deprecated and removed, provided " "that the Stable ABI stays stable." msgstr "" +"Notez aussi que l’API restreinte n’est pas forcément stable : compiler avec " +"Python 3.8 en définissant ``Py_LIMITED_API`` garanti que l’extension " +"fonctionnera avec Python 3.12, mais pas qu’elle pourra *être compilée* avec " +"Python 3.12. En particulier certaines parties de l’API restreinte peuvent " +"être dépréciées et retirées tant que l’ABI stable n’est pas modifiée." #: c-api/stable.rst:136 msgid "Platform Considerations" -msgstr "" +msgstr "Considérations relatives aux plateformes" #: c-api/stable.rst:138 msgid "" @@ -222,6 +316,11 @@ msgid "" "ABI, these details define a “platform”. They usually depend on the OS type " "and processor architecture" msgstr "" +"La stabilité de l’ABI ne dépend pas que de Python mais aussi du compilateur " +"utilisé, des bibliothèques systèmes et des options du compilateur. " +"L’ensemble de ces détails correspondent à ce que l’ABI stable appelle une " +"« plateforme ». Ils dépendent généralement du système d’exploitation et de " +"l’architecture du processeur." #: c-api/stable.rst:143 msgid "" @@ -230,14 +329,19 @@ msgid "" "does not break the Stable ABI. This is the case with Windows and macOS " "releases from ``python.org`` and many third-party distributors." msgstr "" +"Les distributeurs de Python doivent s’assurer que toutes les versions de " +"Python pour une plateforme donnée sont compilées de manière à ne pas rompre " +"la compatibilité de l’ABI stable. C’est le cas des versions produites pour " +"Windows et macOS de ``python.org`` et de la plupart des distributions " +"tierces." #: c-api/stable.rst:153 msgid "Contents of Limited API" -msgstr "" +msgstr "Contenu de l’API restreinte" #: c-api/stable.rst:156 msgid "Currently, the Limited API includes the following items:" -msgstr "" +msgstr "Pour le moment l’API restreinte inclut les éléments suivants :" #~ msgid "" #~ "Unfortunately, the API compatibility does not extend to binary " diff --git a/c-api/structures.po b/c-api/structures.po index 2a3ea93190..d102639b10 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -644,7 +644,7 @@ msgstr "" #: c-api/structures.rst:493 msgid "name" -msgstr "" +msgstr "nom" #: c-api/structures.rst:493 msgid "attribute name" diff --git a/c-api/unicode.po b/c-api/unicode.po index be87d1626c..e9bbe2915e 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -16,11 +16,11 @@ msgstr "" #: c-api/unicode.rst:6 msgid "Unicode Objects and Codecs" -msgstr "" +msgstr "Objets Unicode et Codecs" #: c-api/unicode.rst:12 msgid "Unicode Objects" -msgstr "" +msgstr "Objets Unicode" #: c-api/unicode.rst:14 msgid "" @@ -31,6 +31,12 @@ msgid "" "65536; otherwise, code points must be below 1114112 (which is the full " "Unicode range)." msgstr "" +"Depuis l'implémentation de :pep:`393` dans Python 3.3, les objets Unicode " +"utilisent une variété de représentations internes, pour permettre de gérer " +"l'intervalle complet des caractères Unicode en restant efficace en termes de " +"mémoire. Il y a des cas spéciaux pour les chaînes où tous les points de code " +"sont inférieurs à 128, 256, ou 65536 ; sinon, les points de code doivent " +"être inférieurs à 1114112 (qui est l'intervalle Unicode complet)." #: c-api/unicode.rst:20 msgid "" @@ -38,12 +44,18 @@ msgid "" "cached in the Unicode object. The :c:expr:`Py_UNICODE*` representation is " "deprecated and inefficient." msgstr "" +"Des représentations :c:expr:`Py_UNICODE*` et UTF-8 sont créées à la demande " +"et mises en cache dans l'objet Unicode. La représentation :c:expr:" +"`Py_UNICODE*` est dépréciée et inefficace." #: c-api/unicode.rst:24 msgid "" "Due to the transition between the old APIs and the new APIs, Unicode objects " "can internally be in two states depending on how they were created:" msgstr "" +"En raison de la transition des anciennes APIs vers les nouvelles APIs, les " +"objets Unicode peuvent être dans deux états internes selon comment ils ont " +"été créés :" #: c-api/unicode.rst:27 msgid "" @@ -51,6 +63,9 @@ msgid "" "Unicode API. They use the most efficient representation allowed by the " "implementation." msgstr "" +"Les objets Unicode « canoniques » sont tous les objets créés par une API " +"Unicode non-dépréciée. Ils utilisent la représentation la plus efficace " +"permise par l'implémentation." #: c-api/unicode.rst:31 msgid "" @@ -59,6 +74,10 @@ msgid "" "`Py_UNICODE*` representation; you will have to call :c:func:" "`PyUnicode_READY` on them before calling any other API." msgstr "" +"Les objets Unicode « historiques » ont été créés via une des APIs dépréciées " +"(typiquement :c:func:`PyUnicode_FromUnicode`) et supportent uniquement la " +"représentation :c:expr:`Py_UNICODE*`; vous devrez appeler :c:func:" +"`PyUnicode_READY` sur eux avant d'appeler n'importe quelle autre API." #: c-api/unicode.rst:37 msgid "" @@ -66,16 +85,21 @@ msgid "" "APIs. All Unicode objects will be \"canonical\" since then. See :pep:`623` " "for more information." msgstr "" +"Les objets Unicode « historiques » vont être supprimés de Python 3.12 avec " +"les APIs dépréciées. Tous les objets Unicode vont être « canoniques » à " +"partir de là. Voir :pep:`623` pour plus d'information." #: c-api/unicode.rst:43 msgid "Unicode Type" -msgstr "" +msgstr "Type Unicode" #: c-api/unicode.rst:45 msgid "" "These are the basic Unicode object types used for the Unicode implementation " "in Python:" msgstr "" +"Voici les types d'objets Unicode utilisés pour l'implémentation Unicode en " +"Python :" #: c-api/unicode.rst:52 msgid "" @@ -83,12 +107,17 @@ msgid "" "characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " "single Unicode characters, use :c:type:`Py_UCS4`." msgstr "" +"Voici les *typedefs* pour les types entiers non signés suffisamment large " +"pour contenir des caractères de 32 bits, 16 bits et 8 bits, respectivement. " +"Pour traiter des caractères uniques, utilisez :c:type:`Py_UCS4`." #: c-api/unicode.rst:61 msgid "" "This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform." msgstr "" +"Ceci est un *typedef* de :c:expr:`wchar_t`, qui est un type 16-bit ou un " +"type 32-bit selon la plateforme." #: c-api/unicode.rst:64 msgid "" @@ -96,6 +125,9 @@ msgid "" "whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " "build time." msgstr "" +"Dans les versions précédentes, ceci était un type 16-bit ou un type 32-bit " +"selon que vous choisissiez une version Unicode *narrow* ou *wide* de Python " +"à la compilation." #: c-api/unicode.rst:74 msgid "" diff --git a/glossary.po b/glossary.po index f887e66453..56a59d6fb7 100644 --- a/glossary.po +++ b/glossary.po @@ -345,6 +345,11 @@ msgid "" "using a dotted expression, and would instead need to be retrieved with :func:" "`getattr`." msgstr "" +"Il est possible de donner à un objet un attribut dont le nom n'est pas un " +"identifiant tel que défini pour les :ref:`identifiers`, par exemple en " +"utilisant :func:`setattr`, si l'objet le permet. Un tel attribut ne sera pas " +"accessible à l'aide d'une expression pointée et on devra y accéder avec :" +"func:`getattr`." #: glossary.rst:149 msgid "awaitable" @@ -511,6 +516,8 @@ msgid "" "A callable is an object that can be called, possibly with a set of arguments " "(see :term:`argument`), with the following syntax::" msgstr "" +"Un appelable est un objet qui peut être appelé, éventuellement avec un " +"ensemble d'arguments (voir :term:`argument`), avec la syntaxe suivante ::" #: glossary.rst:219 msgid "" @@ -518,6 +525,9 @@ msgid "" "instance of a class that implements the :meth:`~object.__call__` method is " "also a callable." msgstr "" +"Une :term:`fonction `, et par extension une :term:`méthode " +"`, est un appelable. Une instance d'une classe qui implémente la " +"méthode :meth:`~object.__call__` est également un appelable." #: glossary.rst:222 msgid "callback" @@ -1034,6 +1044,11 @@ msgid "" "filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" "c:type:`PyConfig`." msgstr "" +"L':term:`encodage du système de fichiers et gestionnaire d'erreurs associé " +"` sont configurés au démarrage de " +"Python par la fonction :c:func:`PyConfig_Read` : regardez :c:member:" +"`~PyConfig.filesystem_encoding` et :c:member:`~PyConfig.filesystem_errors` " +"dans les membres de :c:type:`PyConfig`." #: glossary.rst:437 msgid "See also the :term:`locale encoding`." @@ -2715,18 +2730,27 @@ msgid "" "``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " "serialized as a sequence of bytes." msgstr "" +"Une chaîne de caractères en Python est une suite de points de code Unicode " +"(dans l'intervalle ``U+0000``--``U+10FFFF``). Pour stocker ou transmettre " +"une chaîne, il est nécessaire de la sérialiser en suite d'octets." #: glossary.rst:1160 msgid "" "Serializing a string into a sequence of bytes is known as \"encoding\", and " "recreating the string from the sequence of bytes is known as \"decoding\"." msgstr "" +"Sérialiser une chaîne de caractères en une suite d'octets s'appelle " +"« encoder » et recréer la chaîne à partir de la suite d'octets s'appelle " +"« décoder »." #: glossary.rst:1163 msgid "" "There are a variety of different text serialization :ref:`codecs `, which are collectively referred to as \"text encodings\"." msgstr "" +"Il existe de multiples :ref:`codecs ` pour la " +"sérialisation de texte, que l'on regroupe sous l'expression « encodages de " +"texte »." #: glossary.rst:1166 msgid "text file" diff --git a/howto/curses.po b/howto/curses.po index 9a054a96ac..19f6013c54 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -141,6 +141,9 @@ msgid "" "ported version called `UniCurses `_ is " "available." msgstr "" +"La version Windows de Python n'inclut pas le module :mod:`curses`. Une " +"version portée appelée `UniCurses `_ est " +"disponible." #: howto/curses.rst:62 msgid "The Python curses module" diff --git a/howto/descriptor.po b/howto/descriptor.po index 06ceed9b82..e498e20011 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -44,22 +44,29 @@ msgid "" ":term:`Descriptors ` let objects customize attribute lookup, " "storage, and deletion." msgstr "" +"Les :term:`descripteurs ` permettent de personnaliser la " +"recherche, le stockage et la suppression des attributs des objets." #: howto/descriptor.rst:16 msgid "This guide has four major sections:" -msgstr "" +msgstr "Ce guide comporte quatre parties principales :" #: howto/descriptor.rst:18 msgid "" "The \"primer\" gives a basic overview, moving gently from simple examples, " "adding one feature at a time. Start here if you're new to descriptors." msgstr "" +"l'« introduction » donne un premier aperçu, en partant d'exemples simples, " +"puis en ajoutant une fonctionnalité à la fois. Commencez par là si vous " +"débutez avec les descripteurs ;" #: howto/descriptor.rst:21 msgid "" "The second section shows a complete, practical descriptor example. If you " "already know the basics, start there." msgstr "" +"la deuxième partie montre un exemple de descripteur complet et pratique. Si " +"vous connaissez déjà les bases, commencez par là ;" #: howto/descriptor.rst:24 msgid "" @@ -67,6 +74,9 @@ msgid "" "detailed mechanics of how descriptors work. Most people don't need this " "level of detail." msgstr "" +"la troisième partie fournit un didacticiel plus technique qui décrit de " +"manière détaillée comment fonctionnent les descripteurs. La plupart des gens " +"n'ont pas besoin de ce niveau de détail ;" #: howto/descriptor.rst:28 msgid "" @@ -75,38 +85,51 @@ msgid "" "bound methods or about the implementation of common tools like :func:" "`classmethod`, :func:`staticmethod`, :func:`property`, and :term:`__slots__`." msgstr "" +"la dernière partie contient des équivalents en pur Python des descripteurs " +"natifs écrits en C. Lisez ceci si vous êtes curieux de savoir comment les " +"fonctions se transforment en méthodes liées ou si vous voulez connaître " +"l'implémentation d'outils courants comme :func:`classmethod`, :func:" +"`staticmethod`, :func:`property` et :term:`__slots__`." #: howto/descriptor.rst:36 msgid "Primer" -msgstr "" +msgstr "Introduction" #: howto/descriptor.rst:38 msgid "" "In this primer, we start with the most basic possible example and then we'll " "add new capabilities one by one." msgstr "" +"Dans cette introduction, nous commençons par l'exemple le plus simple " +"possible, puis nous ajoutons de nouvelles fonctionnalités une par une." #: howto/descriptor.rst:43 msgid "Simple example: A descriptor that returns a constant" -msgstr "" +msgstr "Un exemple simple : un descripteur qui renvoie une constante" #: howto/descriptor.rst:45 msgid "" "The :class:`Ten` class is a descriptor whose :meth:`__get__` method always " "returns the constant ``10``:" msgstr "" +"La classe :class:`Ten` est un descripteur dont la méthode :meth:`__get__` " +"renvoie toujours la constante ``10`` :" #: howto/descriptor.rst:54 msgid "" "To use the descriptor, it must be stored as a class variable in another " "class:" msgstr "" +"Pour utiliser le descripteur, il doit être stocké en tant que variable de " +"classe dans une autre classe :" #: howto/descriptor.rst:62 msgid "" "An interactive session shows the difference between normal attribute lookup " "and descriptor lookup:" msgstr "" +"Une session interactive montre la différence entre la recherche d'attribut " +"normale et la recherche *via* un descripteur :" #: howto/descriptor.rst:73 msgid "" @@ -115,39 +138,55 @@ msgid "" "descriptor instance, recognized by its ``__get__`` method. Calling that " "method returns ``10``." msgstr "" +"Dans la recherche d'attribut ``a.x``, l'opérateur « point » trouve ``'x': " +"5`` dans le dictionnaire de classe. Dans la recherche ``a.y``, l'opérateur " +"« point » trouve une instance de descripteur, reconnue par sa méthode " +"``__get__``. L'appel de cette méthode renvoie ``10``." #: howto/descriptor.rst:78 msgid "" "Note that the value ``10`` is not stored in either the class dictionary or " "the instance dictionary. Instead, the value ``10`` is computed on demand." msgstr "" +"Notez que la valeur ``10`` n'est stockée ni dans le dictionnaire de classe " +"ni dans le dictionnaire d'instance. Non, la valeur ``10`` est calculée à la " +"demande." #: howto/descriptor.rst:81 msgid "" "This example shows how a simple descriptor works, but it isn't very useful. " "For retrieving constants, normal attribute lookup would be better." msgstr "" +"Cet exemple montre comment fonctionne un descripteur simple, mais il n'est " +"pas très utile. Pour récupérer des constantes, une recherche d'attribut " +"normale est préférable." #: howto/descriptor.rst:84 msgid "" "In the next section, we'll create something more useful, a dynamic lookup." msgstr "" +"Dans la section suivante, nous allons créer quelque chose de plus utile, une " +"recherche dynamique." #: howto/descriptor.rst:88 msgid "Dynamic lookups" -msgstr "" +msgstr "Recherches dynamiques" #: howto/descriptor.rst:90 msgid "" "Interesting descriptors typically run computations instead of returning " "constants:" msgstr "" +"Les descripteurs intéressants exécutent généralement des calculs au lieu de " +"renvoyer des constantes :" #: howto/descriptor.rst:109 msgid "" "An interactive session shows that the lookup is dynamic — it computes " "different, updated answers each time::" msgstr "" +"Une session interactive montre que la recherche est dynamique — elle calcule " +"des réponses différentes, mises à jour à chaque fois ::" #: howto/descriptor.rst:122 msgid "" @@ -158,10 +197,16 @@ msgid "" "that lets the :meth:`__get__` method learn the target directory. The " "*objtype* parameter is the class *Directory*." msgstr "" +"En plus de montrer comment les descripteurs peuvent exécuter des calculs, " +"cet exemple révèle également le but des paramètres de :meth:`__get__`. Le " +"paramètre *self* est *size*, une instance de *DirectorySize*. Le paramètre " +"*obj* est soit *g* soit *s*, une instance de *Directory*. C'est le paramètre " +"*obj* qui permet à la méthode :meth:`__get__` de connaître le répertoire " +"cible. Le paramètre *objtype* est la classe *Directory*." #: howto/descriptor.rst:131 msgid "Managed attributes" -msgstr "" +msgstr "Attributs gérés" #: howto/descriptor.rst:133 msgid "" @@ -171,6 +216,12 @@ msgid "" "dictionary. The descriptor's :meth:`__get__` and :meth:`__set__` methods " "are triggered when the public attribute is accessed." msgstr "" +"Une utilisation courante des descripteurs est la gestion de l'accès aux " +"données d'instances. Le descripteur est affecté à un attribut public dans le " +"dictionnaire de classe tandis que les données réelles sont stockées en tant " +"qu'attribut privé dans le dictionnaire d'instance. Les méthodes :meth:" +"`__get__` et :meth:`__set__` du descripteur sont déclenchées lors de l'accès " +"à l'attribut public." #: howto/descriptor.rst:139 msgid "" @@ -178,12 +229,18 @@ msgid "" "private attribute. When the public attribute is accessed, the descriptor " "logs the lookup or update:" msgstr "" +"Dans l'exemple qui suit, *age* est l'attribut public et *_age* est " +"l'attribut privé. Lors de l'accès à l'attribut public, le descripteur " +"journalise la recherche ou la mise à jour :" #: howto/descriptor.rst:172 msgid "" "An interactive session shows that all access to the managed attribute *age* " "is logged, but that the regular attribute *name* is not logged:" msgstr "" +"Une session interactive montre que tous les accès à l'attribut géré *age* " +"sont consignés, mais que rien n'est journalisé pour l'attribut normal " +"*name* :" #: howto/descriptor.rst:206 msgid "" @@ -192,16 +249,22 @@ msgid "" "only have one logged attribute and that its name is unchangeable. In the " "next example, we'll fix that problem." msgstr "" +"Un problème majeur avec cet exemple est que le nom privé *_age* est écrit en " +"dur dans la classe *LoggedAgeAccess*. Cela signifie que chaque instance ne " +"peut avoir qu'un seul attribut journalisé et que son nom est immuable. Dans " +"l'exemple suivant, nous allons résoudre ce problème." #: howto/descriptor.rst:213 msgid "Customized names" -msgstr "" +msgstr "Noms personnalisés" #: howto/descriptor.rst:215 msgid "" "When a class uses descriptors, it can inform each descriptor about which " "variable name was used." msgstr "" +"Lorsqu'une classe utilise des descripteurs, elle peut informer chaque " +"descripteur du nom de variable utilisé." #: howto/descriptor.rst:218 msgid "" @@ -211,6 +274,11 @@ msgid "" "can be recorded, giving each descriptor its own *public_name* and " "*private_name*:" msgstr "" +"Dans cet exemple, la classe :class:`Person` a deux instances de " +"descripteurs, *name* et *age*. Lorsque la classe :class:`Person` est " +"définie, :meth:`__set_name__` est appelée automatiquement dans " +"*LoggedAccess* afin que les noms de champs puissent être enregistrés, en " +"donnant à chaque descripteur ses propres *public_name* et *private_name* :" #: howto/descriptor.rst:256 msgid "" @@ -218,24 +286,30 @@ msgid "" "`__set_name__` so that the field names would be recorded. Here we call :" "func:`vars` to look up the descriptor without triggering it:" msgstr "" +"Une session interactive montre que la classe :class:`Person` a appelé :meth:" +"`__set_name__` pour que les noms des champs soient enregistrés. Ici, nous " +"appelons :func:`vars` pour rechercher le descripteur sans le déclencher :" #: howto/descriptor.rst:267 msgid "The new class now logs access to both *name* and *age*:" msgstr "" +"La nouvelle classe enregistre désormais l'accès à la fois à *name* et *age* :" #: howto/descriptor.rst:284 msgid "The two *Person* instances contain only the private names:" -msgstr "" +msgstr "Les deux instances de *Person* ne contiennent que les noms privés :" #: howto/descriptor.rst:295 msgid "Closing thoughts" -msgstr "" +msgstr "Réflexions finales" #: howto/descriptor.rst:297 msgid "" "A :term:`descriptor` is what we call any object that defines :meth:" "`__get__`, :meth:`__set__`, or :meth:`__delete__`." msgstr "" +"Nous appelons :term:`descripteur ` tout objet qui définit :meth:" +"`__get__`, :meth:`__set__` ou :meth:`__delete__`." #: howto/descriptor.rst:300 msgid "" @@ -244,6 +318,11 @@ msgid "" "it was created or the name of class variable it was assigned to. (This " "method, if present, is called even if the class is not a descriptor.)" msgstr "" +"Facultativement, les descripteurs peuvent avoir une méthode :meth:" +"`__set_name__`. Elle n'est utile que dans les cas où un descripteur doit " +"connaître soit la classe dans laquelle il a été créé, soit le nom de la " +"variable de classe à laquelle il a été affecté (cette méthode, si elle est " +"présente, est appelée même si la classe n'est pas un descripteur)." #: howto/descriptor.rst:305 msgid "" @@ -251,18 +330,28 @@ msgid "" "descriptor is accessed indirectly with ``vars(some_class)" "[descriptor_name]``, the descriptor instance is returned without invoking it." msgstr "" +"Les descripteurs sont invoqués par l'opérateur « point » lors de la " +"recherche d'attribut. Si on accède indirectement au descripteur avec " +"``vars(some_class)[descriptor_name]``, l'instance du descripteur est " +"renvoyée sans l'invoquer." #: howto/descriptor.rst:309 msgid "" "Descriptors only work when used as class variables. When put in instances, " "they have no effect." msgstr "" +"Les descripteurs ne fonctionnent que lorsqu'ils sont utilisés comme " +"variables de classe. Lorsqu'ils sont placés dans des instances, ils n'ont " +"aucun effet." #: howto/descriptor.rst:312 msgid "" "The main motivation for descriptors is to provide a hook allowing objects " "stored in class variables to control what happens during attribute lookup." msgstr "" +"La principale raison d'être des descripteurs est de fournir un point " +"d'entrée permettant aux objets stockés dans des variables de classe de " +"contrôler ce qui se passe lors de la recherche d'attributs." #: howto/descriptor.rst:315 msgid "" @@ -270,6 +359,9 @@ msgid "" "Descriptors invert that relationship and allow the data being looked-up to " "have a say in the matter." msgstr "" +"Traditionnellement, la classe appelante contrôle ce qui se passe pendant la " +"recherche. Les descripteurs inversent cette relation et permettent aux " +"données recherchées d'avoir leur mot à dire." #: howto/descriptor.rst:319 msgid "" @@ -278,20 +370,26 @@ msgid "" "`staticmethod`, :func:`property`, and :func:`functools.cached_property` are " "all implemented as descriptors." msgstr "" +"Les descripteurs sont utilisés partout dans le langage. C'est ainsi que les " +"fonctions se transforment en méthodes liées. Les outils courants tels que :" +"func:`classmethod`, :func:`staticmethod`, :func:`property` et :func:" +"`functools.cached_property` sont tous implémentés en tant que descripteurs." #: howto/descriptor.rst:326 msgid "Complete Practical Example" -msgstr "" +msgstr "Exemple complet pratique" #: howto/descriptor.rst:328 msgid "" "In this example, we create a practical and powerful tool for locating " "notoriously hard to find data corruption bugs." msgstr "" +"Dans cet exemple, nous créons un outil pratique et puissant pour localiser " +"les bogues de corruption de données notoirement difficiles à trouver." #: howto/descriptor.rst:333 msgid "Validator class" -msgstr "" +msgstr "Classe « validateur »" #: howto/descriptor.rst:335 msgid "" @@ -300,31 +398,43 @@ msgid "" "restrictions. If those restrictions aren't met, it raises an exception to " "prevent data corruption at its source." msgstr "" +"Un validateur est un descripteur pour l'accès aux attributs gérés. Avant de " +"stocker des données, il vérifie que la nouvelle valeur respecte différentes " +"restrictions de type et de plage. Si ces restrictions ne sont pas " +"respectées, il lève une exception pour empêcher la corruption des données à " +"la source." #: howto/descriptor.rst:340 msgid "" "This :class:`Validator` class is both an :term:`abstract base class` and a " "managed attribute descriptor:" msgstr "" +"Cette classe :class:`Validator` est à la fois une :term:`classe mère " +"abstraite ` et un descripteur d'attributs gérés :" #: howto/descriptor.rst:363 msgid "" "Custom validators need to inherit from :class:`Validator` and must supply a :" "meth:`validate` method to test various restrictions as needed." msgstr "" +"Les validateurs personnalisés doivent hériter de :class:`Validator` et " +"doivent fournir une méthode :meth:`validate` pour tester diverses " +"restrictions adaptées aux besoins." #: howto/descriptor.rst:368 msgid "Custom validators" -msgstr "" +msgstr "Validateurs personnalisés" #: howto/descriptor.rst:370 msgid "Here are three practical data validation utilities:" -msgstr "" +msgstr "Voici trois utilitaires concrets de validation de données :" #: howto/descriptor.rst:372 msgid "" ":class:`OneOf` verifies that a value is one of a restricted set of options." msgstr "" +":class:`OneOf` vérifie qu'une valeur fait partie d'un ensemble limité de " +"valeurs ;" #: howto/descriptor.rst:374 msgid "" @@ -332,6 +442,9 @@ msgid "" "`float`. Optionally, it verifies that a value is between a given minimum or " "maximum." msgstr "" +":class:`Number` vérifie qu'une valeur est soit un :class:`int` soit un :" +"class:`float`. Facultativement, il vérifie qu'une valeur se situe entre un " +"minimum ou un maximum donnés ;" #: howto/descriptor.rst:378 msgid "" @@ -340,28 +453,36 @@ msgid "" "`predicate `_ " "as well." msgstr "" +":class:`String` vérifie qu'une valeur est une :class:`chaîne de caractères " +"`. Éventuellement, il valide les longueurs minimale ou maximale " +"données. Il peut également valider un `prédicat `_ défini par l'utilisateur." #: howto/descriptor.rst:437 msgid "Practical application" -msgstr "" +msgstr "Application pratique" #: howto/descriptor.rst:439 msgid "Here's how the data validators can be used in a real class:" msgstr "" +"Voici comment les validateurs de données peuvent être utilisés par une " +"classe réelle :" #: howto/descriptor.rst:454 msgid "The descriptors prevent invalid instances from being created:" -msgstr "" +msgstr "Les descripteurs empêchent la création d'instances non valides :" #: howto/descriptor.rst:481 msgid "Technical Tutorial" -msgstr "" +msgstr "Tutoriel technique" #: howto/descriptor.rst:483 msgid "" "What follows is a more technical tutorial for the mechanics and details of " "how descriptors work." msgstr "" +"Ce qui suit est un tutoriel plus technique relatif aux mécanismes et détails " +"de fonctionnement des descripteurs." #: howto/descriptor.rst:488 msgid "Abstract" @@ -372,6 +493,9 @@ msgid "" "Defines descriptors, summarizes the protocol, and shows how descriptors are " "called. Provides an example showing how object relational mappings work." msgstr "" +"Ce tutoriel définit des descripteurs, résume le protocole et montre comment " +"les descripteurs sont appelés. Il fournit un exemple montrant comment " +"fonctionnent les correspondances relationnelles entre objets." #: howto/descriptor.rst:493 #, fuzzy @@ -512,7 +636,7 @@ msgstr "" #: howto/descriptor.rst:552 msgid "Overview of descriptor invocation" -msgstr "" +msgstr "Présentation de l'appel de descripteur" #: howto/descriptor.rst:554 #, fuzzy @@ -528,6 +652,8 @@ msgid "" "But it is more common for a descriptor to be invoked automatically from " "attribute access." msgstr "" +"Mais il est plus courant qu'un descripteur soit invoqué automatiquement à " +"partir d'un accès à un attribut." #: howto/descriptor.rst:560 msgid "" @@ -536,6 +662,10 @@ msgid "" "instance ``__dict__``, its :meth:`__get__` method is invoked according to " "the precedence rules listed below." msgstr "" +"L'expression ``obj.x`` recherche l'attribut ``x`` dans les espaces de noms " +"pour ``obj``. Si la recherche trouve un descripteur en dehors de l'instance " +"``__dict__``, sa méthode :meth:`__get__` est appelée selon les règles de " +"priorité listées ci-dessous." #: howto/descriptor.rst:565 #, fuzzy @@ -548,7 +678,7 @@ msgstr "" #: howto/descriptor.rst:570 msgid "Invocation from an instance" -msgstr "" +msgstr "Appel depuis une instance" #: howto/descriptor.rst:572 msgid "" @@ -557,18 +687,26 @@ msgid "" "descriptors, then class variables, and lastly :meth:`__getattr__` if it is " "provided." msgstr "" +"La recherche d'instance consiste à parcourir la liste d'espaces de noms en " +"donnant aux descripteurs de données la priorité la plus élevée, suivis des " +"variables d'instance, puis des descripteurs hors-données, puis des variables " +"de classe, et enfin :meth:`__getattr__` s'il est fourni." #: howto/descriptor.rst:577 msgid "" "If a descriptor is found for ``a.x``, then it is invoked with: ``desc." "__get__(a, type(a))``." msgstr "" +"Si un descripteur est trouvé pour ``a.x``, alors il est appelé par ``desc." +"__get__(a, type(a))``." #: howto/descriptor.rst:580 msgid "" "The logic for a dotted lookup is in :meth:`object.__getattribute__`. Here " "is a pure Python equivalent:" msgstr "" +"La logique d'une recherche « après un point » se trouve dans :meth:`object." +"__getattribute__`. Voici un équivalent en Python pur :" #: howto/descriptor.rst:719 msgid "" @@ -576,6 +714,10 @@ msgid "" "code. That is why calling :meth:`__getattribute__` directly or with " "``super().__getattribute__`` will bypass :meth:`__getattr__` entirely." msgstr "" +"Notez qu'il n'y a pas d'appel vers :meth:`__getattr__` dans le code de :meth:" +"`__getattribute__`. C'est pourquoi appeler :meth:`__getattribute__` " +"directement ou avec ``super().__getattribute__`` contourne entièrement :meth:" +"`__getattr__`." #: howto/descriptor.rst:723 msgid "" @@ -584,6 +726,10 @@ msgid "" "`__getattribute__` raises an :exc:`AttributeError`. Their logic is " "encapsulated in a helper function:" msgstr "" +"Au lieu, c'est l'opérateur « point » et la fonction :func:`getattr` qui sont " +"responsables de l'appel de :meth:`__getattr__` chaque fois que :meth:" +"`__getattribute__` déclenche une :exc:`AttributeError`. Cette logique est " +"présentée encapsulée dans une fonction utilitaire :" #: howto/descriptor.rst:773 #, fuzzy @@ -597,26 +743,36 @@ msgid "" "__getattribute__` but the instance dictionary lookup is replaced by a search " "through the class's :term:`method resolution order`." msgstr "" +"La logique pour une recherche « après un point » telle que ``A.x`` se trouve " +"dans :meth:`type.__getattribute__`. Les étapes sont similaires à celles de :" +"meth:`object.__getattribute__` mais la recherche dans le dictionnaire " +"d'instance est remplacée par une recherche suivant l':term:`ordre de " +"résolution des méthodes ` de la classe." #: howto/descriptor.rst:780 msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." msgstr "" +"Si un descripteur est trouvé, il est appelé par ``desc.__get__(None, A)``." #: howto/descriptor.rst:782 msgid "" "The full C implementation can be found in :c:func:`type_getattro()` and :c:" "func:`_PyType_Lookup()` in :source:`Objects/typeobject.c`." msgstr "" +"L'implémentation C complète peut être trouvée dans :c:func:`type_getattro()` " +"et :c:func:`_PyType_Lookup()` dans :source:`Objects/typeobject.c`." #: howto/descriptor.rst:787 msgid "Invocation from super" -msgstr "" +msgstr "Appel depuis super" #: howto/descriptor.rst:789 msgid "" "The logic for super's dotted lookup is in the :meth:`__getattribute__` " "method for object returned by :class:`super()`." msgstr "" +"La logique de la recherche « après un point » de super se trouve dans la " +"méthode :meth:`__getattribute__` de l'objet renvoyé par :class:`super()`." #: howto/descriptor.rst:792 #, fuzzy @@ -648,13 +804,15 @@ msgstr "" #: howto/descriptor.rst:804 msgid "Summary of invocation logic" -msgstr "" +msgstr "Résumé de la logique d'appel" #: howto/descriptor.rst:806 msgid "" "The mechanism for descriptors is embedded in the :meth:`__getattribute__()` " "methods for :class:`object`, :class:`type`, and :func:`super`." msgstr "" +"Le fonctionnement des descripteurs se trouve dans les méthodes :meth:" +"`__getattribute__()` de :class:`object`, :class:`type` et :func:`super`." #: howto/descriptor.rst:809 msgid "The important points to remember are:" @@ -670,6 +828,8 @@ msgid "" "Classes inherit this machinery from :class:`object`, :class:`type`, or :func:" "`super`." msgstr "" +"les classes héritent ce mécanisme de :class:`object`, :class:`type` ou :func:" +"`super` ;" #: howto/descriptor.rst:816 #, fuzzy @@ -707,7 +867,7 @@ msgstr "" #: howto/descriptor.rst:830 msgid "Automatic name notification" -msgstr "" +msgstr "Notification automatique des noms" #: howto/descriptor.rst:832 msgid "" @@ -718,6 +878,13 @@ msgid "" "with two arguments. The *owner* is the class where the descriptor is used, " "and the *name* is the class variable the descriptor was assigned to." msgstr "" +"Il est parfois souhaitable qu'un descripteur sache à quel nom de variable de " +"classe il a été affecté. Lorsqu'une nouvelle classe est créée, la " +"métaclasse :class:`type` parcourt le dictionnaire de la nouvelle classe. Si " +"l'une des entrées est un descripteur et si elle définit :meth:" +"`__set_name__`, cette méthode est appelée avec deux arguments : *owner* " +"(propriétaire) est la classe où le descripteur est utilisé, et *name* est la " +"variable de classe à laquelle le descripteur a été assigné." #: howto/descriptor.rst:839 #, fuzzy @@ -735,10 +902,14 @@ msgid "" "place at the time of class creation. If descriptors are added to the class " "afterwards, :meth:`__set_name__` will need to be called manually." msgstr "" +"Comme la logique de mise à jour est dans :meth:`type.__new__`, les " +"notifications n'ont lieu qu'au moment de la création de la classe. Si des " +"descripteurs sont ajoutés à la classe par la suite, :meth:`__set_name__` " +"doit être appelée manuellement." #: howto/descriptor.rst:848 msgid "ORM example" -msgstr "" +msgstr "Exemple d'ORM" #: howto/descriptor.rst:850 msgid "" @@ -753,6 +924,10 @@ msgid "" "Python instances only hold keys to the database's tables. Descriptors take " "care of lookups or updates:" msgstr "" +"L'idée essentielle est que les données sont stockées dans une base de " +"données externe. Les instances Python ne contiennent que les clés des tables " +"de la base de données. Les descripteurs s'occupent des recherches et des " +"mises à jour :" #: howto/descriptor.rst:873 msgid "" @@ -760,20 +935,26 @@ msgid "" "org/wiki/Database_model>`_ that describe the schema for each table in a " "database:" msgstr "" +"Nous pouvons utiliser la classe :class:`Field` pour définir des `modèles " +"`_ qui décrivent le schéma de " +"chaque table d'une base de données :" #: howto/descriptor.rst:898 msgid "To use the models, first connect to the database::" msgstr "" +"Pour utiliser les modèles, connectons-nous d'abord à la base de données ::" #: howto/descriptor.rst:903 msgid "" "An interactive session shows how data is retrieved from the database and how " "it can be updated:" msgstr "" +"Une session interactive montre comment les données sont extraites de la base " +"de données et comment elles peuvent être mises à jour :" #: howto/descriptor.rst:948 msgid "Pure Python Equivalents" -msgstr "" +msgstr "Équivalents en Python pur" #: howto/descriptor.rst:950 #, fuzzy @@ -853,6 +1034,8 @@ msgid "" "Either the built-in :func:`property` or our :func:`Property` equivalent " "would work in this example." msgstr "" +"Soit la :func:`property` native, soit notre équivalent :func:`Property` " +"fonctionnent dans cet exemple." #: howto/descriptor.rst:1117 #, fuzzy @@ -889,6 +1072,8 @@ msgid "" "Methods can be created manually with :class:`types.MethodType` which is " "roughly equivalent to:" msgstr "" +"Les méthodes peuvent être créées manuellement avec :class:`types." +"MethodType`, qui équivaut à peu près à :" #: howto/descriptor.rst:1144 #, fuzzy @@ -917,36 +1102,50 @@ msgstr "" msgid "" "The function has a :term:`qualified name` attribute to support introspection:" msgstr "" +"La fonction possède un attribut ``__qualname__`` (:term:`nom " +"qualifié`) pour prendre en charge l'introspection :" #: howto/descriptor.rst:1176 msgid "" "Accessing the function through the class dictionary does not invoke :meth:" "`__get__`. Instead, it just returns the underlying function object::" msgstr "" +"L'accès à la fonction *via* le dictionnaire de classe n'invoque pas :meth:" +"`__get__`. À la place, il renvoie simplement l'objet de fonction sous-" +"jacent ::" #: howto/descriptor.rst:1182 msgid "" "Dotted access from a class calls :meth:`__get__` which just returns the " "underlying function unchanged::" msgstr "" +"La recherche d'attribut depuis une classe appelle :meth:`__get__`, qui " +"renvoie simplement la fonction sous-jacente inchangée ::" #: howto/descriptor.rst:1188 msgid "" "The interesting behavior occurs during dotted access from an instance. The " "dotted lookup calls :meth:`__get__` which returns a bound method object::" msgstr "" +"Le comportement intéressant se produit lors d'une recherche d'attribut à " +"partir d'une instance. La recherche d'attribut appelle :meth:`__get__` qui " +"renvoie un objet « méthode liée » ::" #: howto/descriptor.rst:1195 msgid "" "Internally, the bound method stores the underlying function and the bound " "instance::" msgstr "" +"En interne, la méthode liée stocke la fonction sous-jacente et l'instance " +"liée ::" #: howto/descriptor.rst:1204 msgid "" "If you have ever wondered where *self* comes from in regular methods or " "where *cls* comes from in class methods, this is it!" msgstr "" +"Si vous vous êtes déjà demandé d'où vient *self* dans les méthodes " +"ordinaires ou d'où vient *cls* dans les méthodes de classe, c'est ça !" #: howto/descriptor.rst:1209 #, fuzzy @@ -1147,7 +1346,7 @@ msgstr "" #: howto/descriptor.rst:1426 msgid "Member objects and __slots__" -msgstr "" +msgstr "Objets membres et *__slots__*" #: howto/descriptor.rst:1428 msgid "" @@ -1155,18 +1354,26 @@ msgid "" "fixed-length array of slot values. From a user point of view that has " "several effects:" msgstr "" +"Lorsqu'une classe définit ``__slots__``, Python remplace le dictionnaire " +"d'instance par un tableau de longueur fixe de créneaux prédéfinis. D'un " +"point de vue utilisateur, cela :" #: howto/descriptor.rst:1432 msgid "" "1. Provides immediate detection of bugs due to misspelled attribute " "assignments. Only attribute names specified in ``__slots__`` are allowed:" msgstr "" +"1/ permet une détection immédiate des bogues dus à des affectations " +"d'attributs mal orthographiés. Seuls les noms d'attribut spécifiés dans " +"``__slots__`` sont autorisés :" #: howto/descriptor.rst:1448 msgid "" "2. Helps create immutable objects where descriptors manage access to private " "attributes stored in ``__slots__``:" msgstr "" +"2/ aide à créer des objets immuables où les descripteurs gèrent l'accès aux " +"attributs privés stockés dans ``__slots__`` :" #: howto/descriptor.rst:1483 msgid "" @@ -1175,18 +1382,28 @@ msgid "" "design pattern `_ likely " "only matters when a large number of instances are going to be created." msgstr "" +"3/ économise de la mémoire. Sur une version Linux 64 bits, une instance avec " +"deux attributs prend 48 octets avec ``__slots__`` et 152 octets sans. Ce " +"patron de conception `poids mouche `_ n'a probablement d'importance que si un " +"grand nombre d'instances doivent être créées ;" #: howto/descriptor.rst:1488 msgid "" "4. Improves speed. Reading instance variables is 35% faster with " "``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)." msgstr "" +"4/ améliore la vitesse. La lecture des variables d'instance est 35 % plus " +"rapide avec ``__slots__`` (mesure effectuée avec Python 3.10 sur un " +"processeur Apple M1) ;" #: howto/descriptor.rst:1491 msgid "" "5. Blocks tools like :func:`functools.cached_property` which require an " "instance dictionary to function correctly:" msgstr "" +"5/ bloque les outils comme :func:`functools.cached_property` qui nécessitent " +"un dictionnaire d'instance pour fonctionner correctement :" #: howto/descriptor.rst:1513 msgid "" @@ -1197,12 +1414,21 @@ msgid "" "``_slotvalues`` list. Reads and writes to that private structure are " "managed by member descriptors:" msgstr "" +"Il n'est pas possible de créer une version Python pure exacte de " +"``__slots__`` car il faut un accès direct aux structures C et un contrôle " +"sur l'allocation de la mémoire des objets. Cependant, nous pouvons " +"construire une simulation presque fidèle où la structure C réelle pour les " +"*slots* est émulée par une liste privée ``_slotvalues``. Les lectures et " +"écritures dans cette structure privée sont gérées par des descripteurs de " +"membres :" #: howto/descriptor.rst:1558 msgid "" "The :meth:`type.__new__` method takes care of adding member objects to class " "variables:" msgstr "" +"La méthode :meth:`type.__new__` s'occupe d'ajouter des objets membres aux " +"variables de classe :" #: howto/descriptor.rst:1574 msgid "" @@ -1210,27 +1436,37 @@ msgid "" "slots instead of an instance dictionary. Here is a rough simulation in pure " "Python:" msgstr "" +"La méthode :meth:`object.__new__` s'occupe de créer des instances qui ont " +"des *slots* au lieu d'un dictionnaire d'instances. Voici une simulation " +"approximative en Python pur :" #: howto/descriptor.rst:1609 msgid "" "To use the simulation in a real class, just inherit from :class:`Object` and " "set the :term:`metaclass` to :class:`Type`:" msgstr "" +"Pour utiliser la simulation dans une classe réelle, héritez simplement de :" +"class:`Object` et définissez la :term:`métaclasse ` à :class:" +"`Type` :" #: howto/descriptor.rst:1623 msgid "" "At this point, the metaclass has loaded member objects for *x* and *y*::" msgstr "" +"À ce stade, la métaclasse a chargé des objets membres pour *x* et *y* ::" #: howto/descriptor.rst:1644 msgid "" "When instances are created, they have a ``slot_values`` list where the " "attributes are stored:" msgstr "" +"Lorsque les instances sont créées, elles ont une liste ``slot_values`` où " +"les attributs sont stockés :" #: howto/descriptor.rst:1656 msgid "Misspelled or unassigned attributes will raise an exception:" msgstr "" +"Les attributs mal orthographiés ou non attribués lèvent une exception :" #~ msgid "" #~ "Defines descriptors, summarizes the protocol, and shows how descriptors " diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 70c84db704..57256decfe 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -202,10 +202,16 @@ msgid "" "the directory exists and that you have the permissions to create and update " "files in it." msgstr "" +"Notez que le choix du nom de fichier journal ``/tmp/myapp.log`` ci-dessus " +"implique l'utilisation d'un emplacement standard pour les fichiers " +"temporaires sur les systèmes POSIX. Sous Windows, vous devrez peut-être " +"choisir un nom de répertoire différent pour le journal – assurez-vous " +"simplement que le répertoire existe et que vous disposez des autorisations " +"nécessaires pour créer et mettre à jour des fichiers dans celui-ci." #: howto/logging-cookbook.rst:282 msgid "Custom handling of levels" -msgstr "" +msgstr "Personnalisation du niveau de journalisation" #: howto/logging-cookbook.rst:284 msgid "" @@ -214,22 +220,33 @@ msgid "" "get processed by a handler. To do this, you need to use filters. Let's look " "at a scenario where you want to arrange things as follows:" msgstr "" +"Il peut arriver que vous souhaitiez que vos gestionnaires journalisent " +"légèrement différemment de la gestion standard des niveaux, où tous les " +"niveaux au-dessus d'un seuil sont traités par un gestionnaire. Pour ce " +"faire, vous devez utiliser des filtres. Examinons un scénario dans lequel " +"vous souhaitez organiser les choses comme suit :" #: howto/logging-cookbook.rst:289 msgid "Send messages of severity ``INFO`` and ``WARNING`` to ``sys.stdout``" msgstr "" +"envoyer les messages de niveau ``INFO`` et ``WARNING`` à ``sys.stdout`` ;" #: howto/logging-cookbook.rst:290 msgid "Send messages of severity ``ERROR`` and above to ``sys.stderr``" msgstr "" +"envoyer les messages de niveau ``ERROR`` et au-dessus à ``sys.stderr`` ;" #: howto/logging-cookbook.rst:291 msgid "Send messages of severity ``DEBUG`` and above to file ``app.log``" msgstr "" +"envoyer les messages de niveau ``DEBUG`` et au-dessus vers le fichier ``app." +"log``." #: howto/logging-cookbook.rst:293 msgid "Suppose you configure logging with the following JSON:" msgstr "" +"Supposons que vous configurez la journalisation avec le contenu au format " +"JSON suivant :" #: howto/logging-cookbook.rst:335 msgid "" @@ -239,16 +256,26 @@ msgid "" "those messages and add it to the relevant handler. This can be configured by " "adding a ``filters`` section parallel to ``formatters`` and ``handlers``:" msgstr "" +"Cette configuration fait *presque* ce que nous voulons, sauf que ``sys." +"stdout`` affiche les messages de gravité ``ERROR`` et supérieurs ainsi que " +"les messages ``INFO`` et ``WARNING``. Pour éviter cela, nous pouvons " +"configurer un filtre qui exclut ces messages et l'ajouter au gestionnaire " +"approprié. Effectuons la configuration en ajoutant une section ``filters`` " +"parallèle à ``formatters`` et ``handlers`` :" #: howto/logging-cookbook.rst:350 msgid "and changing the section on the ``stdout`` handler to add it:" msgstr "" +"et en changeant la section du gestionnaire ``stdout`` pour ajouter le " +"filtre :" #: howto/logging-cookbook.rst:362 msgid "" "A filter is just a function, so we can define the ``filter_maker`` (a " "factory function) as follows:" msgstr "" +"Un filtre n'est qu'une fonction, nous pouvons donc définir un " +"``filter_maker`` (une fonction fabrique) comme suit :" #: howto/logging-cookbook.rst:375 msgid "" @@ -260,18 +287,28 @@ msgid "" "filter_maker`` in the filter configuration. You will need to change that if " "you define it in a different module." msgstr "" +"Elle convertit la chaîne transmise en argument vers un niveau numérique puis " +"renvoie une fonction qui ne renvoie ``True`` que si le niveau de " +"l'enregistrement transmis est inférieur ou égal au niveau spécifié. Notez " +"que dans cet exemple, nous avons défini ``filter_maker`` dans un script de " +"test ``main.py`` qui est exécuté depuis la ligne de commande, donc son " +"module est ``__main__`` – d'où le ``__main__.filter_maker`` dans la " +"configuration du filtre. Vous devez le changer si vous la définissez dans un " +"module différent." #: howto/logging-cookbook.rst:383 msgid "With the filter added, we can run ``main.py``, which in full is:" msgstr "" +"Avec le filtre, nous pouvons exécuter ``main.py`` dont voici la version " +"complète :" #: howto/logging-cookbook.rst:453 msgid "And after running it like this:" -msgstr "" +msgstr "Et après l'avoir exécuté comme ceci :" #: howto/logging-cookbook.rst:459 msgid "We can see the results are as expected:" -msgstr "" +msgstr "Nous obtenons le résultat attendu :" #: howto/logging-cookbook.rst:485 msgid "Configuration server example" @@ -406,6 +443,16 @@ msgid "" "application, to use the above approach for logging, so that any blocking " "code runs only in the ``QueueListener`` thread." msgstr "" +"bien que la discussion précédente n'aborde pas spécifiquement l'utilisation " +"de code asynchrone, mais concerne les gestionnaires de journalisation lents, " +"notez que lors de la journalisation à partir de code asynchrone, les " +"gestionnaires qui écrivent vers le réseau ou même dans des fichiers peuvent " +"entraîner des problèmes (blocage de la boucle d'événements) car une certaine " +"journalisation est faite à partir du code natif de :mod:`asyncio`. Il peut " +"être préférable, si un code asynchrone est utilisé dans une application, " +"d'utiliser l'approche ci-dessus pour la journalisation, de sorte que tout ce " +"qui utilise du code bloquant ne s'exécute que dans le thread " +"``QueueListener``." #: howto/logging-cookbook.rst:615 msgid "" @@ -751,6 +798,11 @@ msgid "" "handlers, you can use a filter that returns a new :class:`~LogRecord` " "instead of modifying it in-place, as shown in the following script::" msgstr "" +"Chaque :class:`~Handler` possède sa propre chaîne de filtres. Si vous " +"souhaitez ajouter des informations contextuelles à un :class:`LogRecord` " +"sans impacter d'autres gestionnaires, vous pouvez utiliser un filtre qui " +"renvoie un nouveau :class:`~LogRecord` au lieu de le modifier sur place, " +"comme dans le script suivant ::" #: howto/logging-cookbook.rst:1189 msgid "Logging to a single file from multiple processes" @@ -1137,7 +1189,7 @@ msgstr "" #: howto/logging-cookbook.rst:1707 msgid "Customizing ``LogRecord``" -msgstr "" +msgstr "Personnalisation de ``LogRecord``" #: howto/logging-cookbook.rst:1709 msgid "" @@ -1149,12 +1201,22 @@ msgid "" "disabled). Before Python 3.2, there were only two places where this creation " "was done:" msgstr "" +"Chaque événement de journalisation est représenté par une instance :class:" +"`LogRecord`. Lorsqu’un événement est enregistré et non filtré en raison du " +"niveau d’un enregistreur, un :class:`LogRecord` est créé, rempli avec les " +"informations de l’événement, puis transmis aux gestionnaires de cet " +"enregistreur (et ses ancêtres, jusqu’à et y compris l’enregistreur où la " +"propagation vers le haut de la hiérarchie est désactivée). Avant Python 3.2, " +"il n’y avait que deux endroits où cette création était effectuée :" #: howto/logging-cookbook.rst:1716 msgid "" ":meth:`Logger.makeRecord`, which is called in the normal process of logging " "an event. This invoked :class:`LogRecord` directly to create an instance." msgstr "" +":meth:`Logger.makeRecord`, qui est appelée dans le processus normal de " +"journalisation d’un événement. Elle appelait :class:`LogRecord` directement " +"pour créer une instance." #: howto/logging-cookbook.rst:1719 msgid "" @@ -1164,12 +1226,20 @@ msgid "" "via a :class:`~handlers.SocketHandler`, or in JSON form via an :class:" "`~handlers.HTTPHandler`)." msgstr "" +":func:`makeLogRecord`, qui est appelée avec un dictionnaire contenant des " +"attributs à ajouter au *LogRecord*. Elle est généralement invoquée lorsqu’un " +"dictionnaire approprié a été reçu par le réseau (par exemple, sous forme de " +"*pickle* *via* un :class:`~handlers.SocketHandler`, ou sous format JSON " +"*via* un :class:`~handlers.HTTPHandler`)." #: howto/logging-cookbook.rst:1725 msgid "" "This has usually meant that if you need to do anything special with a :class:" "`LogRecord`, you've had to do one of the following." msgstr "" +"Cela signifiait généralement que, si vous deviez faire quelque chose de " +"spécial avec un :class:`LogRecord`, vous deviez faire l’une des choses " +"suivantes." #: howto/logging-cookbook.rst:1728 msgid "" @@ -1177,6 +1247,9 @@ msgid "" "makeRecord`, and set it using :func:`~logging.setLoggerClass` before any " "loggers that you care about are instantiated." msgstr "" +"Créer votre propre sous-classe :class:`Logger`, surchargeant :meth:`Logger." +"makeRecord`, et la personnaliser à l’aide de :func:`~logging.setLoggerClass` " +"avant que les enregistreurs qui vous intéressaient ne soient instanciés." #: howto/logging-cookbook.rst:1731 msgid "" @@ -1184,6 +1257,9 @@ msgid "" "special manipulation you need when its :meth:`~Filter.filter` method is " "called." msgstr "" +"Ajouter un :class:`Filter` à un enregistreur ou un gestionnaire, qui " +"effectuait la manipulation spéciale nécessaire dont vous aviez besoin " +"lorsque sa méthode :meth:`~Filter.filter` était appelée." #: howto/logging-cookbook.rst:1735 msgid "" @@ -1192,6 +1268,10 @@ msgid "" "attempt to set its own :class:`Logger` subclass, and the one which did this " "last would win." msgstr "" +"La première approche est un peu lourde dans le scénario où (disons) " +"plusieurs bibliothèques différentes veulent faire des choses différentes. " +"Chacun essaie de définir sa propre sous-classe :class:`Logger`, et celui qui " +"l’a fait en dernier gagne." #: howto/logging-cookbook.rst:1740 msgid "" @@ -1201,6 +1281,12 @@ msgid "" "to remember to do this every time they introduced a new logger (which they " "would do simply by adding new packages or modules and doing ::" msgstr "" +"La seconde approche fonctionne raisonnablement bien dans de nombreux cas, " +"mais ne vous permet pas, par exemple, d’utiliser une sous-classe spécialisée " +"de :class:`LogRecord`. Les développeurs de bibliothèques peuvent définir un " +"filtre approprié sur leurs enregistreurs, mais ils doivent se rappeler de le " +"faire chaque fois qu’ils introduisent un nouvel enregistreur (ce qu’ils font " +"simplement en ajoutant de nouveaux paquets ou modules et en écrivant ::" #: howto/logging-cookbook.rst:1748 msgid "" @@ -1211,6 +1297,13 @@ msgid "" "so output from that handler would not reflect the intentions of the library " "developer." msgstr "" +"au niveau des modules). C’est probablement trop de choses auxquelles penser. " +"Les développeurs pourraient également ajouter le filtre à un :class:" +"`~logging.NullHandler` attaché à leur enregistreur de niveau supérieur, mais " +"cela ne serait pas invoqué si un développeur d’application attachait un " +"gestionnaire à un enregistreur de bibliothèque de niveau inférieur — donc la " +"sortie de ce gestionnaire ne refléterait pas les intentions du développeur " +"de la bibliothèque." #: howto/logging-cookbook.rst:1754 msgid "" @@ -1221,6 +1314,13 @@ msgid "" "signature as the :class:`~logging.LogRecord` constructor, as :class:" "`LogRecord` is the default setting for the factory." msgstr "" +"Dans Python 3.2 et ultérieurs, la création de :class:`~logging.LogRecord` " +"est effectuée via une fabrique, que vous pouvez spécifier. La fabrique est " +"juste un appelable que vous pouvez définir avec :func:`~logging." +"setLogRecordFactory`, et interroger avec :func:`~logging." +"getLogRecordFactory`. La fabrique est invoquée avec la même signature que le " +"constructeur :class:`~logging.LogRecord`, car :class:`LogRecord` est le " +"paramètre par défaut de la fabrique." #: howto/logging-cookbook.rst:1761 msgid "" @@ -1229,6 +1329,10 @@ msgid "" "additional attributes to the record once created, using a pattern similar to " "this::" msgstr "" +"Cette approche permet à une fabrique personnalisée de contrôler tous les " +"aspects de la création d’un *LogRecord*. Par exemple, vous pouvez renvoyer " +"une sous-classe ou simplement ajouter des attributs supplémentaires à " +"l’enregistrement une fois créé, en utilisant un modèle similaire à celui-ci :" #: howto/logging-cookbook.rst:1774 msgid "" @@ -1239,10 +1343,18 @@ msgid "" "time overhead to all logging operations, and the technique should only be " "used when the use of a :class:`Filter` does not provide the desired result." msgstr "" +"Ce modèle permet à différentes bibliothèques d’enchaîner des fabriques, et " +"tant qu’elles n’écrasent pas les attributs des autres ou n’écrasent pas " +"involontairement les attributs fournis en standard, il ne devrait pas y " +"avoir de surprise. Cependant, il faut garder à l’esprit que chaque maillon " +"de la chaîne ajoute une surcharge d’exécution à toutes les opérations de " +"journalisation, et la technique ne doit être utilisée que lorsque " +"l’utilisation d’un :class:`Filter` ne permet pas d’obtenir le résultat " +"souhaité." #: howto/logging-cookbook.rst:1785 msgid "Subclassing QueueHandler - a ZeroMQ example" -msgstr "" +msgstr "Dérivation de *QueueHandler* – un exemple de *ZeroMQ*" #: howto/logging-cookbook.rst:1787 msgid "" @@ -1250,22 +1362,31 @@ msgid "" "of queues, for example a ZeroMQ 'publish' socket. In the example below,the " "socket is created separately and passed to the handler (as its 'queue')::" msgstr "" +"Vous pouvez utiliser une sous-classe :class:`QueueHandler` pour envoyer des " +"messages à d’autres types de files d’attente, par exemple un connecteur " +"*ZeroMQ publish*. Dans l’exemple ci-dessous, le connecteur est créé " +"séparément et transmis au gestionnaire (en tant que file d’attente) ::" #: howto/logging-cookbook.rst:1806 msgid "" "Of course there are other ways of organizing this, for example passing in " "the data needed by the handler to create the socket::" msgstr "" +"Bien sûr, il existe d’autres manières de faire, par exemple en transmettant " +"les données nécessaires au gestionnaire pour créer le connecteur ::" #: howto/logging-cookbook.rst:1824 msgid "Subclassing QueueListener - a ZeroMQ example" -msgstr "" +msgstr "Dérivation de *QueueListener* – un exemple de *ZeroMQ*" #: howto/logging-cookbook.rst:1826 msgid "" "You can also subclass :class:`QueueListener` to get messages from other " "kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an example::" msgstr "" +"Vous pouvez également dériver :class:`QueueListener` pour obtenir des " +"messages d’autres types de files d’attente, par exemple un connecteur " +"*ZeroMQ subscribe*. Voici un exemple ::" #: howto/logging-cookbook.rst:1845 howto/logging-cookbook.rst:3803 msgid "Module :mod:`logging`" @@ -1294,14 +1415,18 @@ msgstr "Gestionnaires utiles inclus avec le module de journalisation." #: howto/logging-cookbook.rst:1853 msgid ":ref:`A basic logging tutorial `" msgstr "" +":ref:`Les bases de l’utilisation du module de journalisation `" #: howto/logging-cookbook.rst:1855 msgid ":ref:`A more advanced logging tutorial `" msgstr "" +":ref:`Utilisation avancée du module de journalisation `" #: howto/logging-cookbook.rst:1859 msgid "An example dictionary-based configuration" -msgstr "" +msgstr "Exemple de configuration basée sur un dictionnaire" #: howto/logging-cookbook.rst:1861 msgid "" @@ -1310,6 +1435,11 @@ msgid "" "stable/topics/logging/#configuring-logging>`_. This dictionary is passed to :" "func:`~config.dictConfig` to put the configuration into effect::" msgstr "" +"Vous trouverez ci-dessous un exemple de dictionnaire de configuration de " +"journalisation ­– il est tiré de la `documentation du projet Django `_. Ce " +"dictionnaire est passé à :func:`~config.dictConfig` pour activer la " +"configuration ::" #: howto/logging-cookbook.rst:1917 msgid "" @@ -1317,10 +1447,15 @@ msgid "" "section `_ of the Django documentation." msgstr "" +"Pour plus d’informations sur cette configuration, vous pouvez consulter la " +"`section correspondante `_ de la documentation de *Django*." #: howto/logging-cookbook.rst:1924 msgid "Using a rotator and namer to customize log rotation processing" msgstr "" +"Utilisation d’un rotateur et d’un nom pour personnaliser la rotation des " +"journaux" #: howto/logging-cookbook.rst:1926 msgid "" @@ -1337,7 +1472,7 @@ msgstr "" #: howto/logging-cookbook.rst:1949 msgid "A more elaborate multiprocessing example" -msgstr "" +msgstr "Exemple plus élaboré avec traitement en parallèle" #: howto/logging-cookbook.rst:1951 msgid "" @@ -1346,6 +1481,11 @@ msgid "" "simple, but serve to illustrate how more complex ones could be implemented " "in a real multiprocessing scenario." msgstr "" +"L’exemple suivant que nous allons étudier montre comment la journalisation " +"peut être utilisée, à l’aide de fichiers de configuration, pour un programme " +"effectuant des traitements parallèles. Les configurations sont assez " +"simples, mais servent à illustrer comment des configurations plus complexes " +"pourraient être implémentées dans un scénario multi-processus réel." #: howto/logging-cookbook.rst:1956 msgid "" @@ -1359,16 +1499,30 @@ msgid "" "purely illustrative, but you should be able to adapt this example to your " "own scenario." msgstr "" +"Dans l’exemple, le processus principal génère un processus d’écoute et des " +"processus de travail. Chacun des processus, le principal, l’auditeur " +"(*listener_process* dans l’exemple) et les processus de travail " +"(*worker_process* dans l’exemple) ont trois configurations distinctes (les " +"processus de travail partagent tous la même configuration). Nous pouvons " +"voir la journalisation dans le processus principal, comment les processus de " +"travail se connectent à un *QueueHandler* et comment l’auditeur implémente " +"un *QueueListener* avec une configuration de journalisation plus complexe, " +"et s’arrange pour envoyer les événements reçus *via* la file d’attente aux " +"gestionnaires spécifiés dans la configuration. Notez que ces configurations " +"sont purement illustratives, mais vous devriez pouvoir adapter cet exemple à " +"votre propre scénario." #: howto/logging-cookbook.rst:1966 msgid "" "Here's the script - the docstrings and the comments hopefully explain how it " "works::" msgstr "" +"Voici le script – les chaines de documentation et les commentaires " +"expliquent (en anglais), le principe de fonctionnement ::" #: howto/logging-cookbook.rst:2178 msgid "Inserting a BOM into messages sent to a SysLogHandler" -msgstr "" +msgstr "Insertion d’une *BOM* dans les messages envoyés à un *SysLogHandler*" #: howto/logging-cookbook.rst:2180 msgid "" @@ -1378,6 +1532,11 @@ msgid "" "encoded using UTF-8. (See the :rfc:`relevant section of the specification " "<5424#section-6>`.)" msgstr "" +"La :rfc:`5424` requiert qu’un message Unicode soit envoyé à un démon " +"*syslog* sous la forme d’un ensemble d’octets ayant la structure suivante : " +"un composant ASCII pur facultatif, suivi d’une marque d’ordre d’octet (*BOM* " +"pour *Byte Order Mark* en anglais) UTF-8, suivie de contenu Unicode UTF-8 " +"(voir la :rfc:`la spécification correspondante <5424#section-6>`)." #: howto/logging-cookbook.rst:2186 msgid "" @@ -1386,6 +1545,10 @@ msgid "" "incorrectly, with the BOM appearing at the beginning of the message and " "hence not allowing any pure-ASCII component to appear before it." msgstr "" +"Dans Python 3.1, du code a été ajouté à :class:`~logging.handlers." +"SysLogHandler` pour insérer une *BOM* dans le message mais, malheureusement, " +"il a été implémenté de manière incorrecte, la *BOM* apparaissant au début du " +"message et n’autorisant donc aucun composant ASCII pur à être placé devant." #: howto/logging-cookbook.rst:2192 msgid "" @@ -1395,18 +1558,28 @@ msgid "" "an optional pure-ASCII sequence before it and arbitrary Unicode after it, " "encoded using UTF-8, then you need to do the following:" msgstr "" +"Comme ce comportement est inadéquat, le code incorrect d’insertion de la " +"*BOM* a été supprimé de Python 3.2.4 et ultérieurs. Cependant, il n’est pas " +"remplacé et, si vous voulez produire des messages conformes :rfc:`5424` qui " +"incluent une *BOM*, une séquence facultative en ASCII pur avant et un " +"Unicode arbitraire après, encodé en UTF-8, alors vous devez appliquer ce qui " +"suit :" #: howto/logging-cookbook.rst:2198 msgid "" "Attach a :class:`~logging.Formatter` instance to your :class:`~logging." "handlers.SysLogHandler` instance, with a format string such as::" msgstr "" +"Adjoignez une instance :class:`~logging.Formatter` à votre instance :class:" +"`~logging.handlers.SysLogHandler`, avec une chaîne de format telle que ::" #: howto/logging-cookbook.rst:2204 msgid "" "The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " "a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." msgstr "" +"Le point de code Unicode U+FEFF, lorsqu’il est encodé en UTF-8, est encodé " +"comme une *BOM* UTF-8 – la chaîne d’octets ``b'\\xef\\xbb\\xbf'``." #: howto/logging-cookbook.rst:2207 msgid "" @@ -1414,6 +1587,9 @@ msgid "" "that the data that appears in there after substitution is always ASCII (that " "way, it will remain unchanged after UTF-8 encoding)." msgstr "" +"Remplacez la section ASCII par les caractères de votre choix, mais assurez-" +"vous que les données qui y apparaissent après la substitution sont toujours " +"ASCII (ainsi elles resteront inchangées après l’encodage UTF-8)." #: howto/logging-cookbook.rst:2211 msgid "" @@ -1421,6 +1597,10 @@ msgid "" "which appears there after substitution contains characters outside the ASCII " "range, that's fine -- it will be encoded using UTF-8." msgstr "" +"Remplacez la section Unicode par le contenu de votre choix ; si les données " +"qui y apparaissent après la substitution contiennent des caractères en " +"dehors de la plage ASCII, c’est pris en charge – elles seront encodées en " +"UTF-8." #: howto/logging-cookbook.rst:2215 msgid "" @@ -1430,10 +1610,15 @@ msgid "" "complain, but your messages will not be RFC 5424-compliant, and your syslog " "daemon may complain." msgstr "" +"Le message formaté *sera* encodé en UTF-8 par ``SysLogHandler``. Si vous " +"suivez les règles ci-dessus, vous devriez pouvoir produire des messages " +"conformes à la :rfc:`5424`. Si vous ne le faites pas, la journalisation ne " +"se plaindra peut-être pas, mais vos messages ne seront pas conformes à la " +"RFC 5424 et votre démon *syslog* est susceptible de se plaindre." #: howto/logging-cookbook.rst:2222 msgid "Implementing structured logging" -msgstr "" +msgstr "Journalisation structurée" #: howto/logging-cookbook.rst:2224 msgid "" @@ -1446,30 +1631,42 @@ msgid "" "following is a simple approach which uses JSON to serialise the event in a " "machine-parseable manner::" msgstr "" +"Bien que la plupart des messages de journalisation soient destinés à être " +"lus par des humains, et donc difficilement analysables par la machine, il " +"peut arriver que vous souhaitiez produire des messages dans un format " +"structuré dans le but d’être analysé par un programme (sans avoir besoin " +"d’expressions régulières complexes pour analyser le message du journal). " +"C’est simple à réaliser en utilisant le paquet de journalisation. Il existe " +"plusieurs façons d’y parvenir et voici une approche simple qui utilise JSON " +"pour sérialiser l’événement de manière à être analysable par une machine ::" #: howto/logging-cookbook.rst:2248 msgid "If the above script is run, it prints:" -msgstr "" +msgstr "Si vous lancez le script ci-dessus, il imprime :" #: howto/logging-cookbook.rst:2254 howto/logging-cookbook.rst:2296 msgid "" "Note that the order of items might be different according to the version of " "Python used." msgstr "" +"Notez que l’ordre des éléments peut être différent en fonction de la version " +"de Python utilisée." #: howto/logging-cookbook.rst:2257 msgid "" "If you need more specialised processing, you can use a custom JSON encoder, " "as in the following complete example::" msgstr "" +"Si vous avez besoin d’un traitement plus spécifique, vous pouvez utiliser un " +"encodeur JSON personnalisé, comme dans l’exemple complet suivant :" #: howto/logging-cookbook.rst:2290 msgid "When the above script is run, it prints:" -msgstr "" +msgstr "Quand vous exécutez le script ci-dessus, il imprime :" #: howto/logging-cookbook.rst:2305 msgid "Customizing handlers with :func:`dictConfig`" -msgstr "" +msgstr "Personnalisation des gestionnaires avec :func:`dictConfig`" #: howto/logging-cookbook.rst:2307 msgid "" @@ -1480,12 +1677,23 @@ msgid "" "the file handlers in the stdlib don't offer built-in support. You can " "customize handler creation using a plain function such as::" msgstr "" +"Il arrive de souhaiter personnaliser les gestionnaires de journalisation " +"d’une manière particulière et, en utilisant :func:`dictConfig`, vous pourrez " +"peut-être le faire sans avoir à dériver les classes mères. Par exemple, " +"supposons que vous souhaitiez définir le propriétaire d’un fichier journal. " +"Dans un environnement POSIX, cela se fait facilement en utilisant :func:" +"`shutil.chown`, mais les gestionnaires de fichiers de la bibliothèque " +"standard n’offrent pas cette gestion nativement. Vous pouvez personnaliser " +"la création du gestionnaire à l’aide d’une fonction simple telle que ::" #: howto/logging-cookbook.rst:2321 msgid "" "You can then specify, in a logging configuration passed to :func:" "`dictConfig`, that a logging handler be created by calling this function::" msgstr "" +"Vous pouvez ensuite spécifier, dans une configuration de journalisation " +"transmise à :func:`dictConfig`, qu’un gestionnaire de journalisation soit " +"créé en appelant cette fonction ::" #: howto/logging-cookbook.rst:2354 msgid "" @@ -1493,10 +1701,14 @@ msgid "" "group, just for the purposes of illustration. Putting it together into a " "working script, ``chowntest.py``::" msgstr "" +"Dans cet exemple, nous définissons le propriétaire à l’utilisateur et au " +"groupe ``pulse``, uniquement à des fins d’illustration. Rassemblons le tout " +"dans un script ``chowntest.py`` ::" #: howto/logging-cookbook.rst:2401 msgid "To run this, you will probably need to run as ``root``:" msgstr "" +"Pour l’exécuter, vous devrez probablement le faire en tant que ``root`` :" #: howto/logging-cookbook.rst:2411 msgid "" @@ -1506,16 +1718,25 @@ msgid "" "With pre-3.3 versions, you would need to implement the actual ownership " "change using e.g. :func:`os.chown`." msgstr "" +"Notez que cet exemple utilise Python 3.3 car c’est là que :func:`shutil." +"chown` fait son apparition. Cette approche devrait fonctionner avec " +"n’importe quelle version de Python prenant en charge :func:`dictConfig` – à " +"savoir, Python 2.7, 3.2 ou version ultérieure. Avec les versions antérieures " +"à la 3.3, vous devrez implémenter le changement de propriétaire réel en " +"utilisant par exemple :func:`os.chown`." #: howto/logging-cookbook.rst:2417 msgid "" "In practice, the handler-creating function may be in a utility module " "somewhere in your project. Instead of the line in the configuration::" msgstr "" +"En pratique, la fonction de création de gestionnaire peut être située dans " +"un module utilitaire ailleurs dans votre projet. Au lieu de cette ligne dans " +"la configuration ::" #: howto/logging-cookbook.rst:2422 msgid "you could use e.g.::" -msgstr "" +msgstr "vous pouvez écrire par exemple ::" #: howto/logging-cookbook.rst:2426 msgid "" @@ -1524,6 +1745,11 @@ msgid "" "__main__.owned_file_handler'`` should work. Here, the actual callable is " "resolved by :func:`dictConfig` from the ``ext://`` specification." msgstr "" +"où ``project.util`` peut être remplacé par le nom réel du paquet où réside " +"la fonction. Dans le script étudié ci-dessus, l’utilisation de ``'ext://" +"__main__.owned_file_handler'`` devrait fonctionner. Dans le cas présent, " +"l’appelable réel est résolu par :func:`dictConfig` à partir de la " +"spécification ``ext://``." #: howto/logging-cookbook.rst:2431 msgid "" @@ -1531,6 +1757,9 @@ msgid "" "types of file change - e.g. setting specific POSIX permission bits - in the " "same way, using :func:`os.chmod`." msgstr "" +"Nous espérons qu'à partir de cet exemple vous saurez implémenter d’autres " +"types de modification de fichier – par ex. définir des bits d’autorisation " +"POSIX spécifiques – de la même manière, en utilisant :func:`os.chmod`." #: howto/logging-cookbook.rst:2435 msgid "" @@ -1538,6 +1767,10 @@ msgid "" "than a :class:`~logging.FileHandler` - for example, one of the rotating file " "handlers, or a different type of handler altogether." msgstr "" +"Bien sûr, l’approche pourrait également être étendue à des types de " +"gestionnaires autres qu’un :class:`~logging.FileHandler` – par exemple, l’un " +"des gestionnaires à roulement de fichiers ou un autre type de gestionnaire " +"complètement différent." #: howto/logging-cookbook.rst:2445 msgid "Using particular formatting styles throughout your application" @@ -2252,12 +2485,12 @@ msgstr "" #: howto/logging-cookbook.rst:3798 msgid "Other resources" -msgstr "" +msgstr "Autres ressources" #: howto/logging-cookbook.rst:3811 msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel de découverte `" #: howto/logging-cookbook.rst:3813 msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Tutoriel avancé `" diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 81b21cec75..89a1fdec05 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -226,7 +226,7 @@ msgstr "" #: library/asyncio-api-index.rst:115 msgid "Create a subprocess." -msgstr "" +msgstr "Crée un sous-processus." #: library/asyncio-api-index.rst:117 msgid "``await`` :func:`create_subprocess_shell`" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 24c8dde097..7978ffb7b8 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -281,6 +281,9 @@ msgid "" "class:`contextvars.Context` for the *callback* to run in. The current " "context is used when no *context* is provided." msgstr "" +"L'argument nommé optionnel *context* permet de spécifier une classe :class:" +"`contextvars.Context` personnalisée dans laquelle la fonction de rappel " +"s’exécutera. Le contexte actuel est utilisé si *context* n'est pas fourni." #: library/asyncio-eventloop.rst:211 msgid "" @@ -318,6 +321,7 @@ msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." msgstr "" +"Ajout de l'argument nommé *context*. Voir :pep:`567` pour plus de détails." #: library/asyncio-eventloop.rst:236 msgid "" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index 9eabf7b30f..5c43bcfedf 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -813,7 +813,7 @@ msgstr "" #: library/asyncio-llapi-index.rst:411 msgid "Protocols" -msgstr "" +msgstr "Protocoles" #: library/asyncio-llapi-index.rst:413 msgid "Protocol classes can implement the following **callback methods**:" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index d850f62723..97041e1a78 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -324,6 +324,8 @@ msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." msgstr "" +"Instancier un sous-processus avec un observateur enfant actuel *inactif* " +"lève l'exception :exc:`RuntimeError`." #: library/asyncio-policy.rst:212 msgid "Close the watcher." diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index e6f1766df6..2fe627aade 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -585,7 +585,7 @@ msgstr "" #: library/asyncio-protocol.rst:436 msgid "Protocols" -msgstr "" +msgstr "Protocoles" #: library/asyncio-protocol.rst:438 msgid "**Source code:** :source:`Lib/asyncio/protocols.py`" diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 15c7e94259..ad7836ef74 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -69,6 +69,8 @@ msgstr "Le paramètre *loop*." #: library/asyncio-queue.rst:43 msgid "This class is :ref:`not thread safe `." msgstr "" +"Cette classe n'est :ref:`pas conçue pour un contexte multi-fils `." #: library/asyncio-queue.rst:47 msgid "Number of items allowed in the queue." diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 8100073c41..69d8806587 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -89,7 +89,7 @@ msgstr "" #: library/asyncio-stream.rst:121 library/asyncio-stream.rst:176 msgid "Removed the *loop* parameter." -msgstr "" +msgstr "Suppression du paramètre *loop*." #: library/asyncio-stream.rst:94 msgid "Start a socket server." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 4f662713da..297f55a82c 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -29,12 +29,16 @@ msgid "" "This section describes high-level async/await asyncio APIs to create and " "manage subprocesses." msgstr "" +"Cette section décrit des API de haut niveau de *asyncio* pour créer et gérer " +"des sous-processus via ``async``/``await``." #: library/asyncio-subprocess.rst:19 msgid "" "Here's an example of how asyncio can run a shell command and obtain its " "result::" msgstr "" +"Voici un exemple de comment *asyncio* peut lancer une commande shell et " +"obtenir son résultat ::" #: library/asyncio-subprocess.rst:40 #, fuzzy @@ -51,15 +55,15 @@ msgstr "" #: library/asyncio-subprocess.rst:58 msgid "See also the `Examples`_ subsection." -msgstr "" +msgstr "Voir également la section `Exemples`_." #: library/asyncio-subprocess.rst:62 msgid "Creating Subprocesses" -msgstr "" +msgstr "Créer des sous-processus" #: library/asyncio-subprocess.rst:67 msgid "Create a subprocess." -msgstr "" +msgstr "Crée un sous-processus." #: library/asyncio-subprocess.rst:69 library/asyncio-subprocess.rst:87 msgid "" @@ -67,15 +71,21 @@ msgid "" "wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :attr:" "`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)." msgstr "" +"Le paramètre *limit* définit la taille maximale du tampon pour les instances " +"de :class:`StreamReader` encapsulant :attr:`Process.stdout` et :attr:" +"`Process.stderr` (Si :attr:`subprocess.PIPE` est passé aux paramètres " +"*stdout* et *stderr*)." #: library/asyncio-subprocess.rst:73 library/asyncio-subprocess.rst:91 msgid "Return a :class:`~asyncio.subprocess.Process` instance." -msgstr "" +msgstr "Renvoie une instance de :class:`~asyncio.subprocess.Process`." #: library/asyncio-subprocess.rst:75 msgid "" "See the documentation of :meth:`loop.subprocess_exec` for other parameters." msgstr "" +"Voir la documentation de :meth:`loop.subprocess_exec` pour d'autres " +"paramètres." #: library/asyncio-subprocess.rst:78 library/asyncio-subprocess.rst:105 #, fuzzy @@ -90,6 +100,8 @@ msgstr "Exécute la commande *cmd* dans un *shell*." msgid "" "See the documentation of :meth:`loop.subprocess_shell` for other parameters." msgstr "" +"Voir la documentation de :meth:`loop.subprocess_shell` pour d'autres " +"paramètres." #: library/asyncio-subprocess.rst:98 msgid "" @@ -100,6 +112,13 @@ msgid "" "escape whitespace and special shell characters in strings that are going to " "be used to construct shell commands." msgstr "" +"Il est de la responsabilité de l'application de s'assurer que tous les " +"espaces et les caractères spéciaux sont correctement mis entre guillemets " +"pour éviter les vulnérabilités de type `injection de code `_. La fonction :func:" +"`shlex.quote` peut être utilisée pour l’échappement des espaces et " +"caractères spéciaux dans les chaînes utilisées pour construire des commandes " +"shell." #: library/asyncio-subprocess.rst:110 msgid "" @@ -107,6 +126,9 @@ msgid "" "used. See :ref:`Subprocess Support on Windows ` " "for details." msgstr "" +"Les sous-processus sont disponibles pour Windows si un :class:" +"`ProactorEventLoop` est utilisé. Voir :ref:`Support des sous-processus sous " +"Windows ` pour plus de précisions." #: library/asyncio-subprocess.rst:116 msgid "" @@ -123,7 +145,7 @@ msgstr "Constantes" #: library/asyncio-subprocess.rst:129 msgid "Can be passed to the *stdin*, *stdout* or *stderr* parameters." -msgstr "" +msgstr "Peut être passé aux paramètres *stdin*, *stdout* ou *stderr*." #: library/asyncio-subprocess.rst:131 msgid "" @@ -131,6 +153,9 @@ msgid "" "subprocess.Process.stdin>` attribute will point to a :class:`StreamWriter` " "instance." msgstr "" +"Si *PIPE* est passé au paramètre *stdin*, l'attribut :attr:`Process.stdin " +"` ne pointera pas vers une instance de :" +"class:`StreamWriter`." #: library/asyncio-subprocess.rst:135 msgid "" @@ -139,12 +164,18 @@ msgid "" "` attributes will point to :class:" "`StreamReader` instances." msgstr "" +"Si *PIPE* est passé au paramètre *stdout* ou *stderr* , l'attribut :attr:" +"`Process.stdout ` et :attr:`Process." +"stderr ` pointeront vers des instances " +"de :class:`StreamReader`." #: library/asyncio-subprocess.rst:143 msgid "" "Special value that can be used as the *stderr* argument and indicates that " "standard error should be redirected into standard output." msgstr "" +"Une valeur spéciale qui peut être passée au paramètre *stderr* et qui " +"indique que la sortie d'erreur doit être redirigée vers la sortie standard." #: library/asyncio-subprocess.rst:149 msgid "" @@ -152,10 +183,13 @@ msgid "" "to process creation functions. It indicates that the special file :data:`os." "devnull` will be used for the corresponding subprocess stream." msgstr "" +"Une valeur spéciale qui peut être passée à l'argument *stdin*, *stdout* ou " +"*stderr* des fonctions créant des processus. Elle implique l'utilisation du " +"fichier :data:`os.devnull` pour le flux correspondant du processus." #: library/asyncio-subprocess.rst:155 msgid "Interacting with Subprocesses" -msgstr "" +msgstr "Interagir avec les sous-processus" #: library/asyncio-subprocess.rst:157 msgid "" @@ -199,11 +233,13 @@ msgstr "" #: library/asyncio-subprocess.rst:184 msgid "the *universal_newlines* parameter is not supported." -msgstr "" +msgstr "le paramètre *universal_newlines* n'est pas pris en charge." #: library/asyncio-subprocess.rst:186 msgid "This class is :ref:`not thread safe `." msgstr "" +"Cette classe n'est :ref:`pas conçue pour un contexte multi-fils `." #: library/asyncio-subprocess.rst:188 msgid "" @@ -215,11 +251,11 @@ msgstr "" #: library/asyncio-subprocess.rst:193 msgid "Wait for the child process to terminate." -msgstr "" +msgstr "Attend que le sous processus s'arrête." #: library/asyncio-subprocess.rst:195 msgid "Set and return the :attr:`returncode` attribute." -msgstr "" +msgstr "Définit et renvoie l'attribut :attr:`returncode`." #: library/asyncio-subprocess.rst:199 msgid "" @@ -228,32 +264,41 @@ msgid "" "pipe buffer to accept more data. Use the :meth:`communicate` method when " "using pipes to avoid this condition." msgstr "" +"Cette méthode peut générer un interblocage quand ``stdout=PIPE`` ou " +"``stderr=PIPE`` est utilisé et que le sous-processus génère tellement de " +"sorties qu'il se bloque, dans l'attente que le tampon du tube côté OS " +"accepte des données supplémentaires. Pour éviter cette situation, choisissez " +"la méthode :meth:`communicate` quand vous utilisez des tubes." #: library/asyncio-subprocess.rst:207 msgid "Interact with process:" -msgstr "" +msgstr "Interagit avec le processus :" #: library/asyncio-subprocess.rst:209 msgid "send data to *stdin* (if *input* is not ``None``);" -msgstr "" +msgstr "envoie des données sur le *stdin* (si *input* n'est pas ``None``);" #: library/asyncio-subprocess.rst:210 msgid "read data from *stdout* and *stderr*, until EOF is reached;" msgstr "" +"lit les données sur *stdout* et *stderr*, jusqu'à ce que le EOF soit " +"atteint ;" #: library/asyncio-subprocess.rst:211 msgid "wait for process to terminate." -msgstr "" +msgstr "attend que le processus s'arrête." #: library/asyncio-subprocess.rst:213 msgid "" "The optional *input* argument is the data (:class:`bytes` object) that will " "be sent to the child process." msgstr "" +"Le paramètre optionnel *input* (objet de type :class:`bytes`) représente les " +"données transmises au sous-processus." #: library/asyncio-subprocess.rst:216 msgid "Return a tuple ``(stdout_data, stderr_data)``." -msgstr "" +msgstr "Renvoie un tuple ``(stdout_data, stderr_data)``." #: library/asyncio-subprocess.rst:218 msgid "" @@ -327,7 +372,7 @@ msgstr "" #: library/asyncio-subprocess.rst:260 msgid "On Windows this method is an alias for :meth:`terminate`." -msgstr "" +msgstr "Sous Windows, cette méthode est un alias pour :meth:`terminate`." #: library/asyncio-subprocess.rst:264 msgid "" @@ -358,6 +403,8 @@ msgstr "" #: library/asyncio-subprocess.rst:288 msgid "Process identification number (PID)." msgstr "" +"Numéro d'identification du processus (PID, pour *Process Identification " +"Number* en anglais)." #: library/asyncio-subprocess.rst:290 msgid "" @@ -367,7 +414,7 @@ msgstr "" #: library/asyncio-subprocess.rst:295 msgid "Return code of the process when it exits." -msgstr "" +msgstr "Code de retour du processus quand il se termine." #: library/asyncio-subprocess.rst:297 msgid "A ``None`` value indicates that the process has not terminated yet." @@ -414,18 +461,25 @@ msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." msgstr "" +"Instancier un sous-processus avec un observateur enfant actuel *inactif* " +"lève l'exception :exc:`RuntimeError`." #: library/asyncio-subprocess.rst:326 msgid "" "Note that alternative event loop implementations might have own limitations; " "please refer to their documentation." msgstr "" +"Notez que ces implémentations alternatives de la boucle d'événements peuvent " +"comporter leurs propres limitations. Veuillez vous référer à leur " +"documentation." #: library/asyncio-subprocess.rst:331 msgid "" "The :ref:`Concurrency and multithreading in asyncio ` section." msgstr "" +"La section :ref:`Exécution concurrente et multi-fils d'exécution `." #: library/asyncio-subprocess.rst:336 msgid "Examples" @@ -437,14 +491,20 @@ msgid "" "subprocess and the :class:`StreamReader` class to read from its standard " "output." msgstr "" +"Un exemple utilisant la classe :class:`~asyncio.subprocess.Process` pour " +"contrôler un sous-processus et la classe :class:`StreamReader` pour lire sa " +"sortie standard." #: library/asyncio-subprocess.rst:344 msgid "" "The subprocess is created by the :func:`create_subprocess_exec` function::" msgstr "" +"Le sous-processus est créé par la fonction :func:`create_subprocess_exec` ::" #: library/asyncio-subprocess.rst:371 msgid "" "See also the :ref:`same example ` written " "using low-level APIs." msgstr "" +"Voir également :ref:`le même exemple `, " +"écrit en utilisant des API de bas niveau." diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 54dde68de9..fb62e0669c 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -986,6 +986,8 @@ msgid "" "Deprecation warning is emitted if *loop* is not specified and there is no " "running event loop." msgstr "" +"Un ``DeprecationWarning`` est levé si *loop* n'est pas spécifié et s'il n'y " +"a pas de boucle d'évènements en cours d'exécution." #: library/asyncio-task.rst:850 msgid "Request the Task to be cancelled." diff --git a/library/audit_events.po b/library/audit_events.po index 7fae995076..202a14317f 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -55,6 +55,8 @@ msgid "" "The following events are raised internally and do not correspond to any " "public API of CPython:" msgstr "" +"Les évènements suivants sont levés en interne et ne correspondent à aucune " +"API publique de CPython:" #: library/audit_events.rst:27 #, fuzzy @@ -67,61 +69,63 @@ msgstr "Arguments" #: library/audit_events.rst:29 msgid "_winapi.CreateFile" -msgstr "" +msgstr "_winapi.CreateFile" #: library/audit_events.rst:29 msgid "" "``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " "``flags_and_attributes``" msgstr "" +"``file_name``, ``desired_access``, ``share_mode``, ``creation_disposition``, " +"``flags_and_attributes``" #: library/audit_events.rst:33 msgid "_winapi.CreateJunction" -msgstr "" +msgstr "_winapi.CreateJunction" #: library/audit_events.rst:33 msgid "``src_path``, ``dst_path``" -msgstr "" +msgstr "``src_path``, ``dst_path``" #: library/audit_events.rst:35 msgid "_winapi.CreateNamedPipe" -msgstr "" +msgstr "_winapi.CreateNamedPipe" #: library/audit_events.rst:35 msgid "``name``, ``open_mode``, ``pipe_mode``" -msgstr "" +msgstr "``name``, ``open_mode``, ``pipe_mode``" #: library/audit_events.rst:37 msgid "_winapi.CreatePipe" -msgstr "" +msgstr "_winapi.CreatePipe" #: library/audit_events.rst:39 msgid "_winapi.CreateProcess" -msgstr "" +msgstr "_winapi.CreateProcess" #: library/audit_events.rst:39 msgid "``application_name``, ``command_line``, ``current_directory``" -msgstr "" +msgstr "``application_name``, ``command_line``, ``current_directory``" #: library/audit_events.rst:42 msgid "_winapi.OpenProcess" -msgstr "" +msgstr "_winapi.OpenProcess" #: library/audit_events.rst:42 msgid "``process_id``, ``desired_access``" -msgstr "" +msgstr "``process_id``, ``desired_access``" #: library/audit_events.rst:44 msgid "_winapi.TerminateProcess" -msgstr "" +msgstr "_winapi.TerminateProcess" #: library/audit_events.rst:44 msgid "``handle``, ``exit_code``" -msgstr "" +msgstr "``handle``, ``exit_code``" #: library/audit_events.rst:46 msgid "ctypes.PyObj_FromPtr" -msgstr "" +msgstr "ctypes.PyObj_FromPtr" #: library/audit_events.rst:46 msgid "``obj``" diff --git a/library/dataclasses.po b/library/dataclasses.po index 252d3417f5..41efd38759 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -600,10 +600,14 @@ msgstr "" #: library/dataclasses.rst:330 msgid "Example of using :func:`asdict` on nested dataclasses::" msgstr "" +"Exemple d'utilisation de :func:`asdict` sur des classes de données " +"imbriquées ::" #: library/dataclasses.rst:367 msgid "To create a shallow copy, the following workaround may be used::" msgstr "" +"Pour créer une copie superficielle, la solution de contournement suivante " +"peut être utilisée ::" #: library/dataclasses.rst:351 #, fuzzy diff --git a/library/functions.po b/library/functions.po index fb9a567359..2010218964 100644 --- a/library/functions.po +++ b/library/functions.po @@ -30,7 +30,7 @@ msgstr "" #: library/functions.rst:0 msgid "**A**" -msgstr "" +msgstr "**A**" #: library/functions.rst:0 msgid ":func:`abs`" @@ -58,7 +58,7 @@ msgstr ":func:`ascii`" #: library/functions.rst:0 msgid "**B**" -msgstr "" +msgstr "**B**" #: library/functions.rst:0 msgid ":func:`bin`" @@ -82,7 +82,7 @@ msgstr "|func-bytes|_" #: library/functions.rst:0 msgid "**C**" -msgstr "" +msgstr "*C**" #: library/functions.rst:0 msgid ":func:`callable`" @@ -106,7 +106,7 @@ msgstr ":func:`complex`" #: library/functions.rst:0 msgid "**D**" -msgstr "" +msgstr "**D**" #: library/functions.rst:0 msgid ":func:`delattr`" @@ -126,7 +126,7 @@ msgstr ":func:`divmod`" #: library/functions.rst:0 msgid "**E**" -msgstr "" +msgstr "**E**" #: library/functions.rst:0 msgid ":func:`enumerate`" @@ -142,7 +142,7 @@ msgstr ":func:`exec`" #: library/functions.rst:0 msgid "**F**" -msgstr "" +msgstr "**F**" #: library/functions.rst:0 msgid ":func:`filter`" @@ -162,7 +162,7 @@ msgstr "|func-frozenset|_" #: library/functions.rst:0 msgid "**G**" -msgstr "" +msgstr "**G**" #: library/functions.rst:0 msgid ":func:`getattr`" @@ -174,7 +174,7 @@ msgstr ":func:`globals`" #: library/functions.rst:0 msgid "**H**" -msgstr "" +msgstr "**H**" #: library/functions.rst:0 msgid ":func:`hasattr`" @@ -194,7 +194,7 @@ msgstr ":func:`hex`" #: library/functions.rst:0 msgid "**I**" -msgstr "" +msgstr "**I**" #: library/functions.rst:0 msgid ":func:`id`" @@ -222,7 +222,7 @@ msgstr ":func:`iter`" #: library/functions.rst:0 msgid "**L**" -msgstr "" +msgstr "**L**" #: library/functions.rst:0 msgid ":func:`len`" @@ -238,7 +238,7 @@ msgstr ":func:`locals`" #: library/functions.rst:0 msgid "**M**" -msgstr "" +msgstr "**M**" #: library/functions.rst:0 msgid ":func:`map`" @@ -258,7 +258,7 @@ msgstr ":func:`min`" #: library/functions.rst:0 msgid "**N**" -msgstr "" +msgstr "**N**" #: library/functions.rst:0 msgid ":func:`next`" @@ -266,7 +266,7 @@ msgstr ":func:`next`" #: library/functions.rst:0 msgid "**O**" -msgstr "" +msgstr "**O**" #: library/functions.rst:0 msgid ":func:`object`" @@ -286,7 +286,7 @@ msgstr ":func:`ord`" #: library/functions.rst:0 msgid "**P**" -msgstr "" +msgstr "**P**" #: library/functions.rst:0 msgid ":func:`pow`" @@ -302,7 +302,7 @@ msgstr ":func:`property`" #: library/functions.rst:0 msgid "**R**" -msgstr "" +msgstr "**R**" #: library/functions.rst:0 msgid "|func-range|_" @@ -322,7 +322,7 @@ msgstr ":func:`round`" #: library/functions.rst:0 msgid "**S**" -msgstr "" +msgstr "**S**" #: library/functions.rst:0 msgid "|func-set|_" @@ -358,7 +358,7 @@ msgstr ":func:`super`" #: library/functions.rst:0 msgid "**T**" -msgstr "" +msgstr "**T**" #: library/functions.rst:0 msgid "|func-tuple|_" @@ -370,7 +370,7 @@ msgstr ":func:`type`" #: library/functions.rst:0 msgid "**V**" -msgstr "" +msgstr "**V**" #: library/functions.rst:0 msgid ":func:`vars`" @@ -378,7 +378,7 @@ msgstr ":func:`vars`" #: library/functions.rst:0 msgid "**Z**" -msgstr "" +msgstr "**Z**" #: library/functions.rst:0 msgid ":func:`zip`" @@ -386,7 +386,7 @@ msgstr ":func:`zip`" #: library/functions.rst:0 msgid "**_**" -msgstr "" +msgstr "**_**" #: library/functions.rst:0 msgid ":func:`__import__`" @@ -407,10 +407,15 @@ msgid "" "Return an :term:`asynchronous iterator` for an :term:`asynchronous " "iterable`. Equivalent to calling ``x.__aiter__()``." msgstr "" +"Renvoie un :term:`itérateur asynchrone ` pour l':term:" +"`itérable asynchrone ` donné. Équivaut à appeler ``x." +"__aiter__()``." #: library/functions.rst:69 msgid "Note: Unlike :func:`iter`, :func:`aiter` has no 2-argument variant." msgstr "" +"Remarque : contrairement à :func:`iter`, :func:`aiter` n'a pas de variante à " +"2 arguments." #: library/functions.rst:75 msgid "" @@ -425,11 +430,16 @@ msgid "" "When awaited, return the next item from the given :term:`asynchronous " "iterator`, or *default* if given and the iterator is exhausted." msgstr "" +"Lorsqu'il est attendu, renvoie l'élément suivant à partir de l':term:" +"`itérateur asynchrone ` donné, ou *default* s'il est " +"fourni et que l'itérateur est épuisé." #: library/functions.rst:90 msgid "" "This is the async variant of the :func:`next` builtin, and behaves similarly." msgstr "" +"Il s'agit de la variante asynchrone de la fonction native :func:`next` et " +"elle se comporte de la même manière." #: library/functions.rst:93 #, fuzzy @@ -743,6 +753,9 @@ msgid "" "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``) and " "have a new ``__wrapped__`` attribute." msgstr "" +"les méthodes de classe peuvent maintenant hériter des attributs des méthodes " +"(``__module__``, ``__name__``, ``__qualname__``, ``__doc__`` et " +"``__annotations__``) et ont un nouvel attribut ``__wrapped__``." #: library/functions.rst:278 msgid "" @@ -1224,6 +1237,8 @@ msgid "" "If the given source is a string, then leading and trailing spaces and tabs " "are stripped." msgstr "" +"Si la source donnée est une chaîne, les espaces de début et de fin et les " +"tabulations sont supprimées." #: library/functions.rst:543 msgid "" @@ -1535,6 +1550,10 @@ msgid "" "with two leading underscores) name in order to retrieve it with :func:" "`getattr`." msgstr "" +"étant donné que la :ref:`transformation des noms privés ` se produit au moment de la compilation, il faut modifier " +"manuellement le nom d'un attribut privé (attributs avec deux traits de " +"soulignement en tête) afin de le récupérer avec :func:`getattr`." #: library/functions.rst:740 #, fuzzy @@ -1678,7 +1697,7 @@ msgstr "" #: library/functions.rst:826 msgid "This is the address of the object in memory." -msgstr "" +msgstr "c'est l'adresse de l'objet en mémoire." #: library/functions.rst:828 #, fuzzy diff --git a/library/graphlib.po b/library/graphlib.po index 976c7d2569..be33335b85 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -17,14 +17,18 @@ msgstr "" #: library/graphlib.rst:2 msgid ":mod:`graphlib` --- Functionality to operate with graph-like structures" msgstr "" +":mod:`graphlib` — Fonctionnalités pour travailler avec des structures de " +"type graphe" #: library/graphlib.rst:8 msgid "**Source code:** :source:`Lib/graphlib.py`" -msgstr "" +msgstr "**Code source:** :source:`Lib/graphlib.py`" #: library/graphlib.rst:20 msgid "Provides functionality to topologically sort a graph of hashable nodes." msgstr "" +"Fournit les fonctionnalités pour trier topologiquement un graphe de nœuds " +"hachables." #: library/graphlib.rst:22 msgid "" @@ -37,6 +41,14 @@ msgid "" "topological ordering is possible if and only if the graph has no directed " "cycles, that is, if it is a directed acyclic graph." msgstr "" +"L'ordre topologique est un ordre linéaire des sommets d'un graphe afin que " +"pour chaque arête u → v d'un sommet u à un sommet v, cet ordre va placer le " +"sommet u avant le sommet v. Par exemple, les sommets d'un graphe peuvent " +"représenter une tâche à faire et une arête peut représenter la contrainte " +"comme quoi telle tâche doit être réalisée avant telle autre. Dans cet " +"exemple, un ordre topologique est simplement une séquence valide pour ces " +"tâches. Cet ordre n'est possible que si le graphe n'a pas de circuit, c'est-" +"à-dire si c'est un graphe orienté acyclique." #: library/graphlib.rst:31 msgid "" @@ -46,26 +58,35 @@ msgid "" "nodes that have edges that point to the value in the key). Additional nodes " "can be added to the graph using the :meth:`~TopologicalSorter.add` method." msgstr "" +"Si l'argument optionnel *graph* est fourni, cela doit être un dictionnaire " +"représentant un graphe acyclique avec comme clés les nœuds et comme valeurs " +"des itérables sur les prédécesseurs de ces nœuds dans le graphe (les nœuds " +"qui ont des arêtes qui pointent vers la valeur de la clé). Les nœuds " +"s'ajoutent en utilisant la méthode :meth:`~TopologicalSorter.add`" #: library/graphlib.rst:37 msgid "" "In the general case, the steps required to perform the sorting of a given " "graph are as follows:" msgstr "" +"De manière générale, les étapes nécessaires pour trier un graphe donné sont " +"les suivantes :" #: library/graphlib.rst:40 msgid "" "Create an instance of the :class:`TopologicalSorter` with an optional " "initial graph." msgstr "" +"créer une instance de la classe :class:`TopologicalSorter` avec " +"éventuellement un graphe initial ;" #: library/graphlib.rst:42 msgid "Add additional nodes to the graph." -msgstr "" +msgstr "ajouter d'autres nœuds au graphe ;" #: library/graphlib.rst:43 msgid "Call :meth:`~TopologicalSorter.prepare` on the graph." -msgstr "" +msgstr "appeler :meth:`~TopologicalSorter.prepare` sur le graphe ;" #: library/graphlib.rst:44 msgid "" @@ -73,6 +94,10 @@ msgid "" "nodes returned by :meth:`~TopologicalSorter.get_ready` and process them. " "Call :meth:`~TopologicalSorter.done` on each node as it finishes processing." msgstr "" +"tant que :meth:`~TopologicalSorter.is_active` est à ``True``, itérer sur les " +"nœuds renvoyés par :meth:`~TopologicalSorter.get_ready` pour les traiter. " +"Appeler :meth:`~TopologicalSorter.done` sur chaque nœud une fois le " +"traitement terminé." #: library/graphlib.rst:49 msgid "" @@ -80,24 +105,34 @@ msgid "" "no parallelism is involved, the convenience method :meth:`TopologicalSorter." "static_order` can be used directly:" msgstr "" +"Si vous souhaitez simplement trier des nœuds du graphe sans parallélisme, la " +"méthode :meth:`TopologicalSorter.static_order` peut être utilisée " +"directement :" #: library/graphlib.rst:60 msgid "" "The class is designed to easily support parallel processing of the nodes as " "they become ready. For instance::" msgstr "" +"La classe est conçue pour prendre facilement en charge le traitement en " +"parallèle des nœuds quand ils deviennent disponibles. Par exemple ::" #: library/graphlib.rst:87 msgid "" "Add a new node and its predecessors to the graph. Both the *node* and all " "elements in *predecessors* must be hashable." msgstr "" +"Ajoute un nouveau nœud et son prédécesseur dans le graphe. Le *node* ainsi " +"que tous les éléments dans *predecessors* doivent être hachables." #: library/graphlib.rst:90 msgid "" "If called multiple times with the same node argument, the set of " "dependencies will be the union of all dependencies passed in." msgstr "" +"S'il est appelé plusieurs fois avec le même nœud en tant qu'argument, " +"l'ensemble des dépendances sera l'union de toutes les dépendances qui auront " +"été transmises." #: library/graphlib.rst:93 msgid "" @@ -106,11 +141,17 @@ msgid "" "provided before is included among *predecessors* it will be automatically " "added to the graph with no predecessors of its own." msgstr "" +"Il est possible d'ajouter un nœud sans dépendance (*predecessors* n'est pas " +"fourni) ou de fournir une dépendance deux fois. Si un nœud qui n'a jamais " +"été fourni auparavant est inclus dans *predecessors* il sera automatiquement " +"ajouté au graphe sans prédécesseur lui-même." #: library/graphlib.rst:98 msgid "" "Raises :exc:`ValueError` if called after :meth:`~TopologicalSorter.prepare`." msgstr "" +"Lève une :exc:`ValueError` si appelée après :meth:`~TopologicalSorter." +"prepare`." #: library/graphlib.rst:102 msgid "" @@ -121,6 +162,12 @@ msgid "" "be modified, and therefore no more nodes can be added using :meth:" "`~TopologicalSorter.add`." msgstr "" +"Indique que le graphe est terminé et vérifie les circuits du graphe. Si un " +"circuit est détecté, une :exc:`CycleError` est levée mais :meth:" +"`~TopologicalSorter.get_ready` peut encore être utilisée pour obtenir autant " +"de nœuds que possible avant que les circuits ne bloquent la progression. " +"Après un appel de cette fonction, le graphe ne peut pas être modifié, et " +"donc aucun nœud ne peut être ajouté avec :meth:`~TopologicalSorter.add`." #: library/graphlib.rst:111 msgid "" @@ -131,22 +178,32 @@ msgid "" "`TopologicalSorter.done` is less than the number that have been returned by :" "meth:`TopologicalSorter.get_ready`." msgstr "" +"Renvoie ``True`` si une progression peut être faite et ``False`` dans le cas " +"contraire. La progression est possible si des circuits ne bloquent pas la " +"résolution ou qu'il reste des nœuds prêts qui n'ont pas encore été renvoyés " +"par :meth:`TopologicalSorter.get_ready` ou que le nombre de nœuds marqués :" +"meth:`TopologicalSorter.done` est inférieur au nombre qui a été renvoyé par :" +"meth:`TopologicalSorter.get_ready`." #: library/graphlib.rst:118 msgid "" "The :meth:`~TopologicalSorter.__bool__` method of this class defers to this " "function, so instead of::" msgstr "" +"La méthode :meth:`~TopologicalSorter.__bool__` de cette classe renvoie à " +"cette fonction donc au lieu de ::" #: library/graphlib.rst:124 msgid "it is possible to simply do::" -msgstr "" +msgstr "il est plus simple de faire ::" #: library/graphlib.rst:152 msgid "" "Raises :exc:`ValueError` if called without calling :meth:`~TopologicalSorter." "prepare` previously." msgstr "" +"Lève une :exc:`ValueError` si l'appel à :meth:`~TopologicalSorter.prepare` " +"n'a pas été fait au préalable." #: library/graphlib.rst:134 msgid "" @@ -154,6 +211,9 @@ msgid "" "processed, unblocking any successor of each node in *nodes* for being " "returned in the future by a call to :meth:`TopologicalSorter.get_ready`." msgstr "" +"Marque un ensemble de nœuds renvoyé par :meth:`TopologicalSorter.get_ready` " +"comme traités, permettant aux successeurs de chaque nœud de *nodes* d'être " +"renvoyés lors d'un prochain appel à :meth:`~TopologicalSorter.get_ready`." #: library/graphlib.rst:138 msgid "" @@ -163,6 +223,11 @@ msgid "" "meth:`~TopologicalSorter.prepare` or if node has not yet been returned by :" "meth:`~TopologicalSorter.get_ready`." msgstr "" +"Lève une :exc:`ValueError` si n'importe quel nœud dans *nodes* a déjà été " +"marqué comme traité par un précédent appel à cette méthode ou si un nœud n'a " +"pas été ajouté au graphe en utilisant :meth:`TopologicalSorter.add`, si " +"l'appel est fait sans appel à :meth:`~TopologicalSorter.prepare` ou si le " +"nœud n'a pas encore été renvoyé par :meth:`~TopologicalSorter.get_ready`." #: library/graphlib.rst:146 msgid "" @@ -172,6 +237,11 @@ msgid "" "nodes that have all their predecessors already processed. Once no more " "progress can be made, empty tuples are returned." msgstr "" +"Renvoie un *n*-uplet avec tous les nœuds prêts. Renvoie d'abord tous les " +"nœuds sans prédécesseurs, et une fois marqués comme traités avec un appel " +"de :meth:`TopologicalSorter.done`, les autres appels renvoient tous les " +"nouveaux nœuds dont tous les prédécesseurs sont traités. Une fois que la " +"progression n'est plus possible, des tuples vides sont renvoyés." #: library/graphlib.rst:157 msgid "" @@ -186,6 +256,8 @@ msgid "" "The particular order that is returned may depend on the specific order in " "which the items were inserted in the graph. For example:" msgstr "" +"Le tri obtenu peut dépendre de l'ordre dans lequel les éléments ont été " +"ajoutés dans le graphe. Par exemple :" #: library/graphlib.rst:186 msgid "" @@ -194,10 +266,14 @@ msgid "" "`~TopologicalSorter.get_ready`) and the order between them is determined by " "the order of insertion." msgstr "" +"Ceci est dû au fait que \"0\" et \"2\" sont au même niveau dans le graphe " +"(ils auraient été renvoyés dans le même appel à :meth:`~TopologicalSorter." +"get_ready`) et l'ordre entre eux est déterminé par l'ordre lors de " +"l'insertion." #: library/graphlib.rst:192 msgid "If any cycle is detected, :exc:`CycleError` will be raised." -msgstr "" +msgstr "Si un circuit est détecté alors une :exc:`CycleError` est levée." #: library/graphlib.rst:198 msgid "Exceptions" @@ -205,7 +281,7 @@ msgstr "Exceptions" #: library/graphlib.rst:199 msgid "The :mod:`graphlib` module defines the following exception classes:" -msgstr "" +msgstr "Le module :mod:`graphlib` définit les classes d'exceptions suivantes :" #: library/graphlib.rst:203 msgid "" @@ -213,6 +289,9 @@ msgid "" "cycles exist in the working graph. If multiple cycles exist, only one " "undefined choice among them will be reported and included in the exception." msgstr "" +"Une classe héritant de :exc:`ValueError` levée par :meth:`TopologicalSorter." +"prepare` si un circuit existe dans le graphe courant. Si plusieurs circuits " +"existent, un seul est inclus dans l'exception." #: library/graphlib.rst:207 msgid "" @@ -222,3 +301,8 @@ msgid "" "predecessor of the next node in the list. In the reported list, the first " "and the last node will be the same, to make it clear that it is cyclic." msgstr "" +"On accède au circuit détecté via le second élément de l'attribut :attr:" +"`~CycleError.args` de l'instance de l'exception. Cet attribut est une liste " +"de nœuds où chaque nœud est, dans le graphe, un prédécesseur immédiat du " +"nœud suivant de la liste. Dans la liste renvoyée, le premier et le dernier " +"nœud sont les mêmes afin de bien indiquer que c'est un circuit." diff --git a/library/http.server.po b/library/http.server.po index c156276955..30c693b7ea 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -671,7 +671,7 @@ msgstr "" #: library/http.server.rst:495 msgid "Security Considerations" -msgstr "" +msgstr "Considérations de sécurité" #: library/http.server.rst:499 msgid "" diff --git a/library/idle.po b/library/idle.po index c7f9024c62..6c91319b31 100644 --- a/library/idle.po +++ b/library/idle.po @@ -1129,7 +1129,7 @@ msgstr "" #: library/idle.rst:478 msgid "Search and Replace" -msgstr "" +msgstr "Recherche et substitution" #: library/idle.rst:480 msgid "" diff --git a/library/importlib.po b/library/importlib.po index ecc100a73b..13266548e9 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -710,10 +710,11 @@ msgstr "" #: library/importlib.rst:531 msgid "If the resource cannot be found, :exc:`FileNotFoundError` is raised." msgstr "" +"Si la ressource ne peut pas être trouvée, :exc:`FileNotFoundError` est levée." #: library/importlib.rst:536 msgid "Returns the file system path to the *resource*." -msgstr "" +msgstr "Renvoie le chemin de *resource* dans le système de fichiers." #: library/importlib.rst:538 msgid "" diff --git a/library/inspect.po b/library/inspect.po index 86e15ef468..fa2dfdde48 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -17,7 +17,7 @@ msgstr "" #: library/inspect.rst:2 msgid ":mod:`inspect` --- Inspect live objects" -msgstr "" +msgstr ":mod:`inspect` — Inspection d'objets" #: library/inspect.rst:10 msgid "**Source code:** :source:`Lib/inspect.py`" @@ -32,6 +32,13 @@ msgid "" "extract and format the argument list for a function, or get all the " "information you need to display a detailed traceback." msgstr "" +"Le module :mod:`inspect` implémente plusieurs fonctions permettant d'obtenir " +"de l'information à propos d'objets tels que les modules, classes, méthodes, " +"fonctions, traces de piles, cadres d'exécution et objets code. Par exemple, " +"il permet d'inspecter le contenu d'une classe, de retrouver le code source " +"d'une méthode, d'extraire et de mettre en forme une liste d'arguments pour " +"une fonction, ou obtenir toute l'information nécessaire pour afficher une " +"pile d'appels détaillée." #: library/inspect.rst:21 msgid "" @@ -39,10 +46,13 @@ msgid "" "checking, getting source code, inspecting classes and functions, and " "examining the interpreter stack." msgstr "" +"Ce module donne accès à 4 types de services : vérification de typage, " +"obtention de code source, inspection de classes et de fonctions et examen de " +"la pile d'exécution." #: library/inspect.rst:29 msgid "Types and members" -msgstr "" +msgstr "Types et membres" #: library/inspect.rst:31 msgid "" @@ -75,7 +85,7 @@ msgstr "__doc__" #: library/inspect.rst:48 library/inspect.rst:76 library/inspect.rst:234 msgid "documentation string" -msgstr "" +msgstr "texte de documentation" #: library/inspect.rst:45 msgid "__file__" @@ -83,7 +93,7 @@ msgstr "__file__" #: library/inspect.rst:45 msgid "filename (missing for built-in modules)" -msgstr "" +msgstr "nom de fichier (inexistant pour les fonctions natives)" #: library/inspect.rst:48 msgid "class" @@ -95,7 +105,7 @@ msgstr "__name__" #: library/inspect.rst:50 msgid "name with which this class was defined" -msgstr "" +msgstr "nom de la classe lors de sa définition" #: library/inspect.rst:63 library/inspect.rst:205 library/inspect.rst:239 msgid "__qualname__" @@ -111,7 +121,7 @@ msgstr "__module__" #: library/inspect.rst:55 msgid "name of module in which this class was defined" -msgstr "" +msgstr "nom du module contenant la classe lors de sa définition" #: library/inspect.rst:58 msgid "method" @@ -119,7 +129,7 @@ msgstr "méthode" #: library/inspect.rst:60 msgid "name with which this method was defined" -msgstr "" +msgstr "nom de la méthode lors de sa définition" #: library/inspect.rst:65 msgid "__func__" @@ -127,7 +137,7 @@ msgstr "__func__" #: library/inspect.rst:65 msgid "function object containing implementation of method" -msgstr "" +msgstr "objet fonction contenant l'implémentation de la méthode" #: library/inspect.rst:241 msgid "__self__" @@ -135,11 +145,11 @@ msgstr "__self__" #: library/inspect.rst:69 msgid "instance to which this method is bound, or ``None``" -msgstr "" +msgstr "instance à laquelle cette méthode est liée, ou ``None``" #: library/inspect.rst:73 msgid "name of module in which this method was defined" -msgstr "" +msgstr "nom du module contenant la méthode lors de sa définition" #: library/inspect.rst:76 msgid "function" @@ -147,7 +157,7 @@ msgstr "fonction" #: library/inspect.rst:78 msgid "name with which this function was defined" -msgstr "" +msgstr "nom de la fonction lors de sa définition" #: library/inspect.rst:83 msgid "__code__" @@ -156,6 +166,8 @@ msgstr "__code__" #: library/inspect.rst:83 msgid "code object containing compiled function :term:`bytecode`" msgstr "" +"objet code contenant le :term:`code intermédiaire ` d'une fonction " +"compilée" #: library/inspect.rst:87 msgid "__defaults__" @@ -163,7 +175,7 @@ msgstr "__defaults__" #: library/inspect.rst:87 msgid "tuple of any default values for positional or keyword parameters" -msgstr "" +msgstr "*n*-uplet de valeurs par défaut pour arguments positionnels ou nommés" #: library/inspect.rst:91 msgid "__kwdefaults__" @@ -172,6 +184,7 @@ msgstr "__kwdefaults__" #: library/inspect.rst:91 msgid "mapping of any default values for keyword-only parameters" msgstr "" +"tableau de correspondance de valeurs par défaut pour les paramètres nommés" #: library/inspect.rst:95 msgid "__globals__" @@ -179,7 +192,7 @@ msgstr "__globals__" #: library/inspect.rst:95 msgid "global namespace in which this function was defined" -msgstr "" +msgstr "espace de nommage global lors de la définition de la fonction" #: library/inspect.rst:98 msgid "__builtins__" @@ -198,10 +211,12 @@ msgid "" "mapping of parameters names to annotations; ``\"return\"`` key is reserved " "for return annotations." msgstr "" +"tableau de correspondance des paramètres à leur annotation ; ``\"return\"`` " +"est un mot-clé réservé pour les annotations de type renvoyé." #: library/inspect.rst:106 msgid "name of module in which this function was defined" -msgstr "" +msgstr "nom du module contenant la fonction lors de sa définition" #: library/inspect.rst:109 msgid "traceback" @@ -213,7 +228,7 @@ msgstr "tb_frame" #: library/inspect.rst:109 msgid "frame object at this level" -msgstr "" +msgstr "objet cadre à ce niveau" #: library/inspect.rst:112 msgid "tb_lasti" @@ -222,6 +237,8 @@ msgstr "tb_lasti" #: library/inspect.rst:134 msgid "index of last attempted instruction in bytecode" msgstr "" +"index de la dernière instruction lancée dans le code intermédiaire " +"(``bytecode``)" #: library/inspect.rst:115 msgid "tb_lineno" @@ -229,7 +246,7 @@ msgstr "tb_lineno" #: library/inspect.rst:137 msgid "current line number in Python source code" -msgstr "" +msgstr "numéro de ligne courant dans le code source Python" #: library/inspect.rst:118 msgid "tb_next" @@ -237,11 +254,11 @@ msgstr "tb_next" #: library/inspect.rst:118 msgid "next inner traceback object (called by this level)" -msgstr "" +msgstr "trace de pile interne suivante (appel par le cadre courant)" #: library/inspect.rst:207 library/inspect.rst:224 msgid "frame" -msgstr "" +msgstr "cadre" #: library/inspect.rst:122 msgid "f_back" @@ -250,6 +267,7 @@ msgstr "f_back" #: library/inspect.rst:122 msgid "next outer frame object (this frame's caller)" msgstr "" +"trace d'exécution externe suivante (le contexte appelant du cadre courant)" #: library/inspect.rst:125 msgid "f_builtins" @@ -257,7 +275,7 @@ msgstr "f_builtins" #: library/inspect.rst:125 msgid "builtins namespace seen by this frame" -msgstr "" +msgstr "espace de nommage natif du cadre courant" #: library/inspect.rst:128 msgid "f_code" @@ -265,7 +283,7 @@ msgstr "f_code" #: library/inspect.rst:128 msgid "code object being executed in this frame" -msgstr "" +msgstr "objet code exécuté dans le cadre courant" #: library/inspect.rst:131 msgid "f_globals" @@ -273,7 +291,7 @@ msgstr "f_globals" #: library/inspect.rst:131 msgid "global namespace seen by this frame" -msgstr "" +msgstr "espace de nommage global tel que vu par cadre courant" #: library/inspect.rst:134 msgid "f_lasti" @@ -289,7 +307,7 @@ msgstr "f_locals" #: library/inspect.rst:140 msgid "local namespace seen by this frame" -msgstr "" +msgstr "espace de nommage local du cadre courant" #: library/inspect.rst:143 msgid "f_trace" @@ -297,11 +315,11 @@ msgstr "f_trace" #: library/inspect.rst:143 msgid "tracing function for this frame, or ``None``" -msgstr "" +msgstr "fonction de traçage du cadre courant, ou ``None``" #: library/inspect.rst:211 library/inspect.rst:228 msgid "code" -msgstr "" +msgstr "code" #: library/inspect.rst:146 msgid "co_argcount" @@ -312,6 +330,7 @@ msgid "" "number of arguments (not including keyword only arguments, \\* or \\*\\* " "args)" msgstr "" +"nombre d'arguments (excluant les arguments *keyword-only*, \\* ou \\*\\*)" #: library/inspect.rst:151 msgid "co_code" @@ -319,15 +338,16 @@ msgstr "co_code" #: library/inspect.rst:151 msgid "string of raw compiled bytecode" -msgstr "" +msgstr "texte du code intermédiaire compilé" #: library/inspect.rst:154 msgid "co_cellvars" -msgstr "" +msgstr "co_cellvars" #: library/inspect.rst:154 msgid "tuple of names of cell variables (referenced by containing scopes)" msgstr "" +"*n*-uplet du nom des cellules variables (référencées par leur contexte)" #: library/inspect.rst:158 msgid "co_consts" @@ -336,6 +356,7 @@ msgstr "co_consts" #: library/inspect.rst:158 msgid "tuple of constants used in the bytecode" msgstr "" +"*n*-uplet des constantes utilisées dans le code intermédiaire (``bytecode``)" #: library/inspect.rst:161 msgid "co_filename" @@ -343,7 +364,7 @@ msgstr "co_filename" #: library/inspect.rst:161 msgid "name of file in which this code object was created" -msgstr "" +msgstr "nom du fichier dans lequel cet objet code a été créé" #: library/inspect.rst:165 msgid "co_firstlineno" @@ -351,7 +372,7 @@ msgstr "co_firstlineno" #: library/inspect.rst:165 msgid "number of first line in Python source code" -msgstr "" +msgstr "numéro de la première ligne dans le code source Python" #: library/inspect.rst:168 msgid "co_flags" @@ -361,6 +382,8 @@ msgstr "co_flags" msgid "" "bitmap of ``CO_*`` flags, read more :ref:`here `" msgstr "" +"**bitmap** des options ``CO_*``, voir plus :ref:`ici `" #: library/inspect.rst:172 msgid "co_lnotab" @@ -369,6 +392,8 @@ msgstr "co_lnotab" #: library/inspect.rst:172 msgid "encoded mapping of line numbers to bytecode indices" msgstr "" +"tableau de correspondance encodée des numéros de ligne aux numéros d'indices " +"du code intermédiaire (``bytecode``)" #: library/inspect.rst:176 msgid "co_freevars" @@ -377,6 +402,8 @@ msgstr "co_freevars" #: library/inspect.rst:176 msgid "tuple of names of free variables (referenced via a function's closure)" msgstr "" +"*n*-uplet des noms de variables libres (référencées par la fermeture " +"(*closure* en anglais) d'une fonction)" #: library/inspect.rst:180 msgid "co_posonlyargcount" @@ -384,7 +411,7 @@ msgstr "co_posonlyargcount" #: library/inspect.rst:180 msgid "number of positional only arguments" -msgstr "" +msgstr "nombre d'arguments positionnels" #: library/inspect.rst:183 msgid "co_kwonlyargcount" @@ -392,7 +419,7 @@ msgstr "co_kwonlyargcount" #: library/inspect.rst:183 msgid "number of keyword only arguments (not including \\*\\* arg)" -msgstr "" +msgstr "nombre d'arguments *keywords-only* (excluant les arguments \\*\\*)" #: library/inspect.rst:187 msgid "co_name" @@ -400,7 +427,7 @@ msgstr "co_name" #: library/inspect.rst:187 msgid "name with which this code object was defined" -msgstr "" +msgstr "nom de l'objet code lors de sa définition" #: library/inspect.rst:190 msgid "co_names" @@ -416,7 +443,7 @@ msgstr "co_nlocals" #: library/inspect.rst:194 msgid "number of local variables" -msgstr "" +msgstr "nombre de variables locales" #: library/inspect.rst:196 msgid "co_stacksize" @@ -424,7 +451,7 @@ msgstr "co_stacksize" #: library/inspect.rst:196 msgid "virtual machine stack space required" -msgstr "" +msgstr "espace requis pour la pile de la machine virtuelle" #: library/inspect.rst:199 msgid "co_varnames" @@ -432,7 +459,7 @@ msgstr "co_varnames" #: library/inspect.rst:199 msgid "tuple of names of arguments and local variables" -msgstr "" +msgstr "*n*-uplet des noms des arguments et variables locales" #: library/inspect.rst:203 msgid "generator" @@ -440,7 +467,7 @@ msgstr "générateur" #: library/inspect.rst:217 msgid "name" -msgstr "" +msgstr "nom" #: library/inspect.rst:207 msgid "gi_frame" @@ -452,7 +479,7 @@ msgstr "gi_running" #: library/inspect.rst:209 msgid "is the generator running?" -msgstr "" +msgstr "est-ce que le générateur est en cours d'exécution ?" #: library/inspect.rst:211 msgid "gi_code" @@ -464,7 +491,7 @@ msgstr "gi_yieldfrom" #: library/inspect.rst:213 msgid "object being iterated by ``yield from``, or ``None``" -msgstr "" +msgstr "objet pointé par l'itérateur ``yield from``, ou ``None``" #: library/inspect.rst:217 msgid "coroutine" @@ -476,7 +503,7 @@ msgstr "cr_await" #: library/inspect.rst:221 msgid "object being awaited on, or ``None``" -msgstr "" +msgstr "objet sur lequel on attend (*await*) présentement, ou ``None``" #: library/inspect.rst:224 msgid "cr_frame" @@ -488,7 +515,7 @@ msgstr "cr_running" #: library/inspect.rst:226 msgid "is the coroutine running?" -msgstr "" +msgstr "est-ce que la coroutine est en cours d'exécution ?" #: library/inspect.rst:228 msgid "cr_code" @@ -496,37 +523,41 @@ msgstr "cr_code" #: library/inspect.rst:230 msgid "cr_origin" -msgstr "" +msgstr "cr_origin" #: library/inspect.rst:230 msgid "where coroutine was created, or ``None``. See |coroutine-origin-link|" msgstr "" +"lieu de création de la coroutine, ou ``None``. Voir |coroutine-origin-link|" #: library/inspect.rst:234 msgid "builtin" -msgstr "" +msgstr "builtin" #: library/inspect.rst:236 msgid "original name of this function or method" -msgstr "" +msgstr "nom originel de cette fonction ou méthode" #: library/inspect.rst:241 msgid "instance to which a method is bound, or ``None``" -msgstr "" +msgstr "instance à laquelle est liée une méthode, ou ``None``" #: library/inspect.rst:248 msgid "Add ``__qualname__`` and ``gi_yieldfrom`` attributes to generators." msgstr "" +"ajout des attributs ``__qualname`` et ``gi_yieldfrom`` aux générateurs." #: library/inspect.rst:250 msgid "" "The ``__name__`` attribute of generators is now set from the function name, " "instead of the code name, and it can now be modified." msgstr "" +"L'attribut ``__name__`` du générateur est maintenant déterminé par le nom de " +"la fonction, plutôt que le nom du code, et peut maintenant être modifié." #: library/inspect.rst:255 msgid "Add ``cr_origin`` attribute to coroutines." -msgstr "" +msgstr "Ajout de l'attribut ``cr_origin`` aux coroutines." #: library/inspect.rst:259 msgid "Add ``__builtins__`` attribute to functions." @@ -539,6 +570,10 @@ msgid "" "with the ``value`` object of each member—is supplied, only members for which " "the predicate returns a true value are included." msgstr "" +"Renvoie tous les membres d'un objet sous la forme d'une liste de paires " +"``(nom, valeur)``, ordonnée par nom. Si l'argument *predicate* (qui sera " +"appelé avec la ``valeur`` de chaque membre) est fourni, seuls les membres " +"pour lequel le prédicat est vrai seront inclus." #: library/inspect.rst:270 msgid "" @@ -546,6 +581,10 @@ msgid "" "metaclass when the argument is a class and those attributes have been listed " "in the metaclass' custom :meth:`__dir__`." msgstr "" +":func:`getmembers` renvoie les attributs de classe définis dans la " +"métaclasse seulement lorsque l'argument est une classe et que ces attributs " +"ont été listés dans la méthode personnalisée :meth:`__dir__` de cette " +"métaclasse." #: library/inspect.rst:277 msgid "" @@ -555,6 +594,11 @@ msgid "" "the final path component is returned with the extension removed. Otherwise, " "``None`` is returned." msgstr "" +"Renvoie le nom du module indiqué par le fichier *path*, excluant le nom des " +"paquets englobants. L'extension du fichier est vérifiée parmi toutes les " +"entrées renvoyées par :func:`importlib.machinery.all_suffixes`. S'il y a une " +"correspondance, le chemin final est renvoyé, sans l'extension. Autrement, " +"``None`` est renvoyé." #: library/inspect.rst:283 msgid "" @@ -562,119 +606,151 @@ msgid "" "modules - paths that potentially refer to Python packages will still return " "``None``." msgstr "" +"Notez que cette fonction renvoie un nom significatif *seulement* pour les " +"modules Python - les chemins qui réfèrent à des paquets Python donnent " +"toujours ``None``." #: library/inspect.rst:287 msgid "The function is based directly on :mod:`importlib`." -msgstr "" +msgstr "La fonction est basée directement sur :mod:`importlib`." #: library/inspect.rst:293 msgid "Return ``True`` if the object is a module." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un module." #: library/inspect.rst:298 msgid "" "Return ``True`` if the object is a class, whether built-in or created in " "Python code." msgstr "" +"Renvoie ``True`` si l'objet est une classe, qu'il s'agisse d'un objet natif " +"ou qu'elle soit écrite en Python." #: library/inspect.rst:304 msgid "Return ``True`` if the object is a bound method written in Python." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est une méthode liée écrite en Python." #: library/inspect.rst:309 msgid "" "Return ``True`` if the object is a Python function, which includes functions " "created by a :term:`lambda` expression." msgstr "" +"Renvoie ``True`` si l'objet est une fonction Python, ce qui inclut les " +"fonctions créées par une expression :term:`lambda `." #: library/inspect.rst:315 msgid "Return ``True`` if the object is a Python generator function." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un générateur." #: library/inspect.rst:317 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a Python generator function." msgstr "" +"les fonctions englobées dans :func:`functools.partial` renvoient maintenant " +"``True`` si la fonction englobée est un générateur Python." #: library/inspect.rst:324 msgid "Return ``True`` if the object is a generator." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un générateur." #: library/inspect.rst:329 msgid "" "Return ``True`` if the object is a :term:`coroutine function` (a function " "defined with an :keyword:`async def` syntax)." msgstr "" +"Renvoie ``True`` si l'objet est une :term:`fonction coroutine ` (une fonction définie avec une syntaxe :keyword:`async def`)." #: library/inspect.rst:334 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`coroutine function`." msgstr "" +"les fonctions englobées par :func:`functools.partial` renvoient maintenant " +"``True`` si la fonction englobée est une :term:`coroutine `." #: library/inspect.rst:341 msgid "" "Return ``True`` if the object is a :term:`coroutine` created by an :keyword:" "`async def` function." msgstr "" +"Renvoie ``True`` si l'objet est une :term:`coroutine ` créée par " +"une fonction :keyword:`async def`." #: library/inspect.rst:349 msgid "" "Return ``True`` if the object can be used in :keyword:`await` expression." msgstr "" +"Renvoie ``True`` si l'objet peut être utilisé par une expression :keyword:" +"`await`." #: library/inspect.rst:351 msgid "" "Can also be used to distinguish generator-based coroutines from regular " "generators::" msgstr "" +"Peut aussi être utilisé pour distinguer les coroutines basées sur un " +"générateur des générateurs normaux ::" #: library/inspect.rst:368 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator` function, " "for example::" msgstr "" +"Renvoie ``True`` si l'objet est un :term:`générateur asynchrone " +"`, par exemple ::" #: library/inspect.rst:379 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`asynchronous generator` function." msgstr "" +"les fonctions englobées par :func:`functools.partial` renvoient maintenant " +"``True`` si la fonction englobée est une fonction :term:`génératrice " +"asynchrone `." #: library/inspect.rst:386 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator iterator` " "created by an :term:`asynchronous generator` function." msgstr "" +"Renvoie ``True`` si l'objet est un :term:`itérateur de générateur asynchrone " +"` créé par une fonction :term:`génératrice " +"asynchrone `." #: library/inspect.rst:393 msgid "Return ``True`` if the object is a traceback." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est une trace d'exécution." #: library/inspect.rst:398 msgid "Return ``True`` if the object is a frame." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un cadre." #: library/inspect.rst:403 msgid "Return ``True`` if the object is a code." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un code." #: library/inspect.rst:408 msgid "" "Return ``True`` if the object is a built-in function or a bound built-in " "method." msgstr "" +"Renvoie ``True`` si l'objet est une fonction native ou une méthode liée " +"native." #: library/inspect.rst:413 msgid "" "Return ``True`` if the object is a user-defined or built-in function or " "method." msgstr "" +"Renvoie ``True`` si l'objet est une fonction, qu'elle soit définie par " +"l'utilisateur, native, ou une méthode." #: library/inspect.rst:418 msgid "Return ``True`` if the object is an abstract base class." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est une classe de base abstraite." #: library/inspect.rst:423 msgid "" @@ -682,6 +758,9 @@ msgid "" "`ismethod`, :func:`isclass`, :func:`isfunction` or :func:`isbuiltin` are " "true." msgstr "" +"Renvoie ``True`` si l'objet est un descripteur de méthode sauf si :func:" +"`ismethod`, :func:`isclass`, :func:`isfunction` ou :func:`isbuiltin` sont " +"vrais (``True``)." #: library/inspect.rst:427 msgid "" @@ -690,6 +769,10 @@ msgid "" "method, but beyond that the set of attributes varies. A :attr:`~definition." "__name__` attribute is usually sensible, and :attr:`__doc__` often is." msgstr "" +"Cela est par exemple vrai pour ``int.__add__``. Un objet qui passe ce test a " +"une méthode :meth:`~object.__get__`, pas de méthode :meth:`~object.__set__`, " +"sans être regardant sur les autres les attributs. Un attribut :attr:" +"`~definition.__name__` sera souvent présent et :attr:`__doc__` également." #: library/inspect.rst:433 msgid "" @@ -698,10 +781,15 @@ msgid "" "the other tests promise more -- you can, e.g., count on having the :attr:" "`__func__` attribute (etc) when an object passes :func:`ismethod`." msgstr "" +"Les méthodes implémentées via descripteurs et qui passent l'un ou l'autre " +"des tests renvoie ``False`` pour :func:`ismethoddescriptor`, simplement " +"parce que les autres tests garantissent davantage — vous pouvez supposer " +"l'existence d'un attribut :attr:`__func__` (etc.) lorsqu'un objet renvoie " +"``True`` pour :func:`ismethod` ." #: library/inspect.rst:441 msgid "Return ``True`` if the object is a data descriptor." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un descripteur de données." #: library/inspect.rst:443 msgid "" @@ -713,10 +801,18 @@ msgid "" "`~definition.__name__` and :attr:`__doc__` attributes (properties, getsets, " "and members have both of these attributes), but this is not guaranteed." msgstr "" +"Les descripteurs de données ont une méthode :attr:`~object.__set__` ou :attr:" +"`~object.__delete__`. Par exemple les propriétés (définies en Python), " +"*getsets* et les membres. Les 2 derniers sont définis en C et il existe des " +"tests plus spécifiques disponibles pour ceux-ci qui sont robustes à travers " +"les implémentations Python. Normalement, les descripteurs de données auront " +"aussi les attributs :attr:`~definition.__name__` et :attr:`~definition." +"__doc__` (les propriétés, *getsets* et membres auront les deux), mais cela " +"n'est pas garanti." #: library/inspect.rst:454 msgid "Return ``True`` if the object is a getset descriptor." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un descripteur *getset*." #: library/inspect.rst:458 msgid "" @@ -724,10 +820,13 @@ msgid "" "`PyGetSetDef` structures. For Python implementations without such types, " "this method will always return ``False``." msgstr "" +"*getsets* sont des attributs définis dans des extensions de modules via des " +"structures :c:type:`PyGetSetDef`. Pour les implémentations Python ne " +"possédant pas ces types, cette méthode renvoie toujours ``False``." #: library/inspect.rst:465 msgid "Return ``True`` if the object is a member descriptor." -msgstr "" +msgstr "Renvoie ``True`` si l'objet est un membre descripteur." #: library/inspect.rst:469 msgid "" @@ -735,10 +834,13 @@ msgid "" "`PyMemberDef` structures. For Python implementations without such types, " "this method will always return ``False``." msgstr "" +"Les membres descripteurs sont des attributs définis dans des extensions de " +"modules via des structures :c:type:`PyMemberDef`. Pour les implémentations " +"Python ne possédant pas ces types, cette méthode renvoie toujours ``False``." #: library/inspect.rst:477 msgid "Retrieving source code" -msgstr "" +msgstr "Récupération du code source" #: library/inspect.rst:481 msgid "" @@ -752,6 +854,8 @@ msgstr "" #: library/inspect.rst:487 msgid "Documentation strings are now inherited if not overridden." msgstr "" +"les chaînes de documentation sont maintenant héritées si elles ne sont pas " +"surchargées." #: library/inspect.rst:493 msgid "" @@ -761,6 +865,12 @@ msgid "" "code is unavailable, return ``None``. This could happen if the object has " "been defined in C or the interactive shell." msgstr "" +"Renvoie en une chaîne de caractères toute ligne de commentaire qui précède " +"immédiatement le code source de l'objet (pour une classe, fonction ou " +"méthode) ou en début d'un fichier de code source Python (si l'objet est un " +"module). Si le code source de l'objet n'est pas disponible, renvoie " +"``None``. Cela peut se produire si l'objet a été défini en C ou dans un " +"interpréteur interactif." #: library/inspect.rst:502 msgid "" @@ -768,6 +878,9 @@ msgid "" "This will fail with a :exc:`TypeError` if the object is a built-in module, " "class, or function." msgstr "" +"Renvoie le nom du fichier (texte ou binaire) dans lequel un objet a été " +"défini. Cette méthode échoue avec :exc:`TypeError` si l'objet est un module, " +"une classe ou une fonction native." #: library/inspect.rst:509 msgid "" @@ -791,12 +904,20 @@ msgid "" "the first line of code was found. An :exc:`OSError` is raised if the source " "code cannot be retrieved." msgstr "" +"Renvoie une liste de lignes du code source et le numéro de la première ligne " +"d'un objet. L'argument peut être un module, classe, méthode, fonction, trace " +"d'exécution, cadre ou objet code. Le code source est renvoyé comme une liste " +"des lignes correspondant à l'objet, et le numéro de ligne indique la " +"position à laquelle la première ligne de code a été trouvée. Une :exc:" +"`OSError` est levée si le code source ne peut être retrouvé." #: library/inspect.rst:542 msgid "" ":exc:`OSError` is raised instead of :exc:`IOError`, now an alias of the " "former." msgstr "" +":exc:`OSError` est levé plutôt que :exc:`IOError`, qui est maintenant un " +"alias de ce premier." #: library/inspect.rst:537 msgid "" @@ -805,12 +926,18 @@ msgid "" "source code is returned as a single string. An :exc:`OSError` is raised if " "the source code cannot be retrieved." msgstr "" +"Renvoie le texte du code source pour un objet. L'argument peut être un " +"module, classe, méthode, fonction, trace de pile, cadre ou objet code. Le " +"code source est renvoyé comme une seule chaîne de caractères. :exc:`OSError` " +"est levé si le code source ne peut être retrouvé." #: library/inspect.rst:549 msgid "" "Clean up indentation from docstrings that are indented to line up with " "blocks of code." msgstr "" +"Nettoie les indentations des chaînes de documentation qui sont indentées de " +"manières à s'aligner avec les blocs de code." #: library/inspect.rst:552 msgid "" @@ -819,10 +946,15 @@ msgid "" "removed. Empty lines at the beginning and end are subsequently removed. " "Also, all tabs are expanded to spaces." msgstr "" +"Enlève tous les espaces blancs en début de ligne à partir de la première. " +"Tout espace blanc en début de ligne qui puisse être enlevé de manière " +"uniforme à partir de la seconde ligne le sera. Les lignes vides en début et " +"en fin de document seront ensuite enlevées. Les tabulations seront " +"converties en espaces." #: library/inspect.rst:561 msgid "Introspecting callables with the Signature object" -msgstr "" +msgstr "Introspection des appelables avec l'objet Signature" #: library/inspect.rst:565 msgid "" @@ -830,16 +962,21 @@ msgid "" "its return annotation. To retrieve a Signature object, use the :func:" "`signature` function." msgstr "" +"L'objet Signature représente la signature de l'appel et de la valeur " +"renvoyée d'un objet appelable. Utilisez la fonction :func:`signature` pour " +"obtenir ces signatures." #: library/inspect.rst:571 msgid "Return a :class:`Signature` object for the given ``callable``::" -msgstr "" +msgstr "Renvoie un objet :class:`Signature` pour un ``appelable`` ::" #: library/inspect.rst:588 msgid "" "Accepts a wide range of Python callables, from plain functions and classes " "to :func:`functools.partial` objects." msgstr "" +"La fonction accepte une grande étendue d'appelables Python, des fonctions et " +"classes jusqu'aux objets :func:`functools.partials`." #: library/inspect.rst:591 msgid "" @@ -867,6 +1004,10 @@ msgid "" "to it are positional-only. For more info, see :ref:`the FAQ entry on " "positional-only parameters `." msgstr "" +"Une barre oblique (``/``) dans la signature d'une fonction dénote que les " +"paramètres qui précèdent sont exclusivement positionnels. Pour plus " +"d'information, voir :ref:`l'entrée de la FAQ sur les arguments exclusivement " +"positionnels `." #: library/inspect.rst:610 msgid "" @@ -874,6 +1015,9 @@ msgid "" "``callable`` specifically (``callable.__wrapped__`` will not be used to " "unwrap decorated callables.)" msgstr "" +"paramètre ``follow_wrapped``. Passez ``False`` pour obtenir une signature " +"``callable`` plus spécifiquement (``callable.__wrapped__`` ne sera pas " +"utilisé pour dépouiller un appelable décoré.)" #: library/inspect.rst:615 msgid "``globals``, ``locals``, and ``eval_str`` parameters." @@ -885,6 +1029,9 @@ msgid "" "Python. For example, in CPython, some built-in functions defined in C " "provide no metadata about their arguments." msgstr "" +"Certains appelables ne peuvent bénéficier d'introspection dans certains " +"environnements Python. Par exemple, en CPython, certaines fonctions natives " +"définies en C ne fournissent aucune métadonnée sur leurs arguments." #: library/inspect.rst:627 msgid "" @@ -892,6 +1039,9 @@ msgid "" "return annotation. For each parameter accepted by the function it stores a :" "class:`Parameter` object in its :attr:`parameters` collection." msgstr "" +"L'objet Signature représente la signature d'appel d'une fonction et son " +"annotation de type. Pour chaque paramètre accepté par une fonction, il " +"conserve un objet :class:`Parameter` dans sa collection :attr:`parameters`." #: library/inspect.rst:631 msgid "" @@ -901,26 +1051,39 @@ msgid "" "positional-only first, then positional-or-keyword, and that parameters with " "defaults follow parameters without defaults." msgstr "" +"L'argument optionnel *parameters* est une séquence d'objets :class:" +"`Parameters`, qui permet de vérifier qu'il n'y a pas de duplication de noms " +"de paramètres, que les paramètres sont dans le bon ordre (positionnels " +"d'abord, positionnels ou nommés ensuite et que les paramètres avec valeurs " +"par défaut sont placés après ceux qui n'en ont pas)." #: library/inspect.rst:637 msgid "" "The optional *return_annotation* argument, can be an arbitrary Python " "object, is the \"return\" annotation of the callable." msgstr "" +"L'argument optionnel *return_annotation* pouvant être un objet Python " +"arbitraire, est l'annotation du type renvoyé par appelable." #: library/inspect.rst:640 msgid "" "Signature objects are *immutable*. Use :meth:`Signature.replace` to make a " "modified copy." msgstr "" +"Les objets Signatures sont *immuables*. Utilisez :meth:`Signature.replace` " +"pour en faire une copie modifiée." #: library/inspect.rst:643 msgid "Signature objects are picklable and hashable." msgstr "" +"les objets Signature sont *pickable* (sérialisables avec Pickle) et " +"hachables." #: library/inspect.rst:648 msgid "A special class-level marker to specify absence of a return annotation." msgstr "" +"Un marqueur spécial, accessible via ``Signature.empty``, indiquant l'absence " +"d'une annotation de type renvoyé." #: library/inspect.rst:652 msgid "" @@ -928,6 +1091,9 @@ msgid "" "`Parameter` objects. Parameters appear in strict definition order, " "including keyword-only parameters." msgstr "" +"Une table de correspondance ordonnée des noms de paramètres avec les objets :" +"class:`Parameter`. Les paramètres apparaissent dans l'ordre strict de leur " +"définition, incluant les paramètres exclusivement nommés." #: library/inspect.rst:1000 msgid "" @@ -935,12 +1101,17 @@ msgid "" "keyword-only parameters as of version 3.7, although in practice this order " "had always been preserved in Python 3." msgstr "" +"Python ne garantit explicitement la préservation de l'ordre des paramètres " +"exclusivement nommés que depuis la version 3.7, bien qu'en pratique cet " +"ordre a toujours été préservé sous Python 3." #: library/inspect.rst:663 msgid "" "The \"return\" annotation for the callable. If the callable has no " "\"return\" annotation, this attribute is set to :attr:`Signature.empty`." msgstr "" +"L'annotation du type renvoyé par l'appelable. Si l'appelable n'a pas " +"d'annotation de type, cet attribut est évalué à :attr:`Signature.empty`." #: library/inspect.rst:668 msgid "" @@ -948,6 +1119,10 @@ msgid "" "Returns :class:`BoundArguments` if ``*args`` and ``**kwargs`` match the " "signature, or raises a :exc:`TypeError`." msgstr "" +"Crée une table de correspondance entre les arguments positionnels et nommés " +"avec les paramètres. Renvoie :class:`BoundArguments` si ``*args`` et " +"``**kwargs`` concordent avec la signature, autrement lève une :exc:" +"`TypeError`." #: library/inspect.rst:674 msgid "" @@ -956,6 +1131,10 @@ msgid "" "Returns :class:`BoundArguments`, or raises a :exc:`TypeError` if the passed " "arguments do not match the signature." msgstr "" +"Fonctionne de manière similaire à :meth:`Signature.bind`, mais permet " +"l'omission de certains arguments (semblable au comportement de :func:" +"`functools.partial`). Renvoie :class:`BoundArguments`, ou lève une :exc:" +"`TypeError` si l'argument passé ne correspond pas à la signature." #: library/inspect.rst:681 msgid "" @@ -965,6 +1144,11 @@ msgid "" "signature. To remove return_annotation from the copied Signature, pass in :" "attr:`Signature.empty`." msgstr "" +"Crée une nouvelle instance de Signature sur la base de l'instance sur " +"laquelle la méthode est invoquée. Il est possible de passer différents " +"paramètres et/ou annotations de type pour remplacer les propriétés " +"correspondantes de la signature de base. Pour enlever les annotations de " +"type de la copie de la Signature, lui passer :attr:`Signature.empty`." #: library/inspect.rst:698 msgid "" @@ -976,7 +1160,7 @@ msgstr "" #: library/inspect.rst:703 msgid "This method simplifies subclassing of :class:`Signature`::" -msgstr "" +msgstr "Cette méthode simplifie l'héritage de :class:`Signature` ::" #: library/inspect.rst:712 msgid "``globalns`` and ``localns`` parameters." @@ -987,51 +1171,71 @@ msgid "" "Parameter objects are *immutable*. Instead of modifying a Parameter object, " "you can use :meth:`Parameter.replace` to create a modified copy." msgstr "" +"Les objets *Parameter* sont *immuables*. Utilisez :meth:`Parameter.replace` " +"pour créer une copie modifiée." #: library/inspect.rst:721 msgid "Parameter objects are picklable and hashable." msgstr "" +"les objets *Parameters* sont *pickable* (sérialisables avec Pickle) et " +"hachable." #: library/inspect.rst:726 msgid "" "A special class-level marker to specify absence of default values and " "annotations." msgstr "" +"Un marqueur spécial, accessible via ``Parameters.empty`` indiquant l'absence " +"de valeurs par défaut et d'annotations." #: library/inspect.rst:731 msgid "" "The name of the parameter as a string. The name must be a valid Python " "identifier." msgstr "" +"Le nom du paramètre (chaîne de caractères). Le nom doit être un identifiant " +"Python valide." #: library/inspect.rst:736 msgid "" "CPython generates implicit parameter names of the form ``.0`` on the code " "objects used to implement comprehensions and generator expressions." msgstr "" +"CPython génère un nom de paramètre implicite de forme ``.0`` sur les objets " +"de code utilisés pour implémenter les compréhensions et expressions " +"génératrices." #: library/inspect.rst:740 msgid "" "These parameter names are exposed by this module as names like ``implicit0``." msgstr "" +"ces paramètres sont exposés par ce module par des noms de forme " +"``implicit0``." #: library/inspect.rst:746 msgid "" "The default value for the parameter. If the parameter has no default value, " "this attribute is set to :attr:`Parameter.empty`." msgstr "" +"La valeur par défaut de ce paramètre. Si le paramètre n'a pas de valeur par " +"défaut, cet attribut vaut :attr:`Parameter.empty`." #: library/inspect.rst:751 msgid "" "The annotation for the parameter. If the parameter has no annotation, this " "attribute is set to :attr:`Parameter.empty`." msgstr "" +"L'annotation du paramètre. Si le paramètre n'a pas d'annotation, cet " +"attribut est défini à :attr:`Parameter.empty`." #: library/inspect.rst:756 msgid "" "Describes how argument values are bound to the parameter. Possible values " "(accessible via :class:`Parameter`, like ``Parameter.KEYWORD_ONLY``):" msgstr "" +"Décrit comment les valeurs d'argument sont liées au paramètre. Les valeurs " +"possibles (accessibles par :class:`Parameter`, tel que ``Parameter." +"KEYWORD_ONLY``) :" #: library/inspect.rst:762 msgid "Name" @@ -1043,7 +1247,7 @@ msgstr "Signification" #: library/inspect.rst:764 msgid "*POSITIONAL_ONLY*" -msgstr "" +msgstr "*POSITIONAL_ONLY*" #: library/inspect.rst:764 msgid "" @@ -1051,30 +1255,39 @@ msgid "" "are those which appear before a ``/`` entry (if present) in a Python " "function definition." msgstr "" +"La valeur doit être donnée comme argument positionnel. Les arguments " +"exclusivement positionnels sont ceux qui apparaissent avant une entrée ``/`` " +"(si présente) dans une définition de fonction Python." #: library/inspect.rst:769 msgid "*POSITIONAL_OR_KEYWORD*" -msgstr "" +msgstr "*POSITIONAL_OR_KEYWORD*" #: library/inspect.rst:769 msgid "" "Value may be supplied as either a keyword or positional argument (this is " "the standard binding behaviour for functions implemented in Python.)" msgstr "" +"La valeur peut être donnée comme argument nommé ou positionnel (ce qui est " +"l'affectation de variable standard pour les fonctions implémentées en " +"Python)." #: library/inspect.rst:774 msgid "*VAR_POSITIONAL*" -msgstr "" +msgstr "*VAR_POSITIONAL*" #: library/inspect.rst:774 msgid "" "A tuple of positional arguments that aren't bound to any other parameter. " "This corresponds to a ``*args`` parameter in a Python function definition." msgstr "" +"Un *n*-uplet d'arguments positionnels qui ne sont affectés à aucun autre " +"paramètre. Cela correspond à un paramètre ``*args`` dans une définition de " +"fonction Python." #: library/inspect.rst:779 msgid "*KEYWORD_ONLY*" -msgstr "" +msgstr "*KEYWORD_ONLY*" #: library/inspect.rst:779 msgid "" @@ -1082,28 +1295,36 @@ msgid "" "those which appear after a ``*`` or ``*args`` entry in a Python function " "definition." msgstr "" +"La valeur doit être donnée comme argument nommé. Les arguments exclusivement " +"nommés sont ceux qui apparaissent après un ``*`` ou ``*args`` dans une " +"définition de fonction Python." #: library/inspect.rst:784 msgid "*VAR_KEYWORD*" -msgstr "" +msgstr "*VAR_KEYWORD*" #: library/inspect.rst:784 msgid "" "A dict of keyword arguments that aren't bound to any other parameter. This " "corresponds to a ``**kwargs`` parameter in a Python function definition." msgstr "" +"Un dictionnaire d'arguments nommés qui ne sont liés à aucun autre paramètre. " +"Cela correspond à une expression ``**kwargs`` dans une définition de " +"fonction Python." #: library/inspect.rst:790 msgid "Example: print all keyword-only arguments without default values::" msgstr "" +"Exemple : afficher tous les arguments exclusivement nommés sans valeur par " +"défaut :" #: library/inspect.rst:804 msgid "Describes a enum value of Parameter.kind." -msgstr "" +msgstr "Décrit une énumération de valeurs de ``Parameter.kind``." #: library/inspect.rst:808 msgid "Example: print all descriptions of arguments::" -msgstr "" +msgstr "Exemple : afficher toutes les descriptions d'arguments ::" #: library/inspect.rst:823 msgid "" @@ -1112,6 +1333,11 @@ msgid "" "argument. To remove a default value or/and an annotation from a Parameter, " "pass :attr:`Parameter.empty`." msgstr "" +"Crée une nouvelle instance de *Parameter* sur la base de l'instance sur " +"laquelle la méthode est invoquée. Pour redéfinir un attribut :class:" +"`Parameter`, lui passer l'argument correspondant. Pour enlever les valeurs " +"par défaut et/ou les annotations de retour de la copie du Parameter, lui " +"passer :attr:`Parameter.empty`." #: library/inspect.rst:841 msgid "" @@ -1119,12 +1345,17 @@ msgid "" "``None`` if their ``kind`` was set to ``POSITIONAL_ONLY``. This is no longer " "permitted." msgstr "" +"en Python 3.3, un objet Parameter pouvait avoir ``name`` à ``None`` si son " +"attribut ``kind`` valait ``POSITIONAL_ONLY``. Cela n'est plus possible." #: library/inspect.rst:848 msgid "" "Result of a :meth:`Signature.bind` or :meth:`Signature.bind_partial` call. " "Holds the mapping of arguments to the function's parameters." msgstr "" +"Le résultat d'un appel à :meth:`Signature.bind` ou :meth:`Signature." +"bind_partial`. Contient la correspondance entre les arguments et les " +"paramètres de la fonction." #: library/inspect.rst:853 msgid "" @@ -1132,12 +1363,18 @@ msgid "" "explicitly bound arguments. Changes in :attr:`arguments` will reflect in :" "attr:`args` and :attr:`kwargs`." msgstr "" +"Une correspondance muable entre les noms de paramètres et les valeurs des " +"arguments. Contient seulement les arguments liés explicitement. Les " +"changements dans :attr:`arguments` sont reflétés dans :attr:`args` et :attr:" +"`kwargs`." #: library/inspect.rst:857 msgid "" "Should be used in conjunction with :attr:`Signature.parameters` for any " "argument processing purposes." msgstr "" +"Doit être utilisé en combinaison avec :attr:`Signature.parameters` pour le " +"traitement d'arguments." #: library/inspect.rst:862 msgid "" @@ -1145,56 +1382,71 @@ msgid "" "relied on a default value are skipped. However, if needed, use :meth:" "`BoundArguments.apply_defaults` to add them." msgstr "" +"Les arguments pour lesquels :meth:`Signature.bind` ou :meth:`Signature." +"bind_partial` supposent une valeur par défaut sont ignorés. Au besoin, " +"utiliser :meth:`BoundArguments.apply_defaults` pour les inclure." #: library/inspect.rst:867 msgid "" ":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" "class:`collections.OrderedDict`." msgstr "" +":attr:`arguments` est maintenant de type :class:`dict`. Anciennement, il " +"était de type :class:`collections.OrderedDict`." #: library/inspect.rst:873 msgid "" "A tuple of positional arguments values. Dynamically computed from the :attr:" "`arguments` attribute." msgstr "" +"Un *n*-uplets des valeurs d'arguments positionnels. Évalué dynamiquement à " +"partir de l'attribut :attr:`arguments`." #: library/inspect.rst:878 msgid "" "A dict of keyword arguments values. Dynamically computed from the :attr:" "`arguments` attribute." msgstr "" +"Un dictionnaire des valeurs des arguments nommés. Évalué dynamiquement à " +"partir de l'attribut :attr:`arguments`." #: library/inspect.rst:883 msgid "A reference to the parent :class:`Signature` object." -msgstr "" +msgstr "Une référence à l'objet :class:`Signature` de la classe parente." #: library/inspect.rst:887 msgid "Set default values for missing arguments." -msgstr "" +msgstr "Assigne les valeurs par défaut pour les arguments manquants." #: library/inspect.rst:889 msgid "" "For variable-positional arguments (``*args``) the default is an empty tuple." msgstr "" +"Pour les arguments positionnels variables (``*args``) la valeur par défaut " +"est un *n*-uplet vide." #: library/inspect.rst:892 msgid "" "For variable-keyword arguments (``**kwargs``) the default is an empty dict." msgstr "" +"Pour les arguments nommés variables (``**kwargs``) la valeur par défaut est " +"un dictionnaire vide." #: library/inspect.rst:905 msgid "" "The :attr:`args` and :attr:`kwargs` properties can be used to invoke " "functions::" msgstr "" +"Les propriétés :attr:`args` et :attr:`kwargs` peuvent être utilisées pour " +"l'appel de fonctions ::" #: library/inspect.rst:918 msgid ":pep:`362` - Function Signature Object." -msgstr "" +msgstr ":pep:`362` — *Function Signature Object*." #: library/inspect.rst:919 msgid "The detailed specification, implementation details and examples." -msgstr "" +msgstr "La spécification détaillée, détails d'implémentation et exemples." #: library/inspect.rst:925 msgid "Classes and functions" @@ -1210,6 +1462,14 @@ msgid "" "list. Otherwise, classes using multiple inheritance and their descendants " "will appear multiple times." msgstr "" +"Organise la liste de classes donnée en une hiérarchie de listes imbriquées. " +"Lorsqu'une liste imbriquée apparaît, elle contient les classes dérivées de " +"la classe dont l'entrée précède immédiatement cette liste. Chaque entrée est " +"une paire contenant la classe et un *n*-uplet de ses classes de base. Si " +"l'argument *unique* est vrai, exactement une entrée apparaît dans la " +"structure renvoyée pour chaque classe de la liste donnée en argument. " +"Autrement, les classes utilisant l'héritage multiple et ses descendantes " +"apparaissent plusieurs fois." #: library/inspect.rst:940 msgid "" @@ -1241,12 +1501,16 @@ msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` is returned:" msgstr "" +"Obtenir les noms et les valeurs par défaut des paramètres de fonction " +"Python. Un :term:`n-uplet nommé ` est renvoyé :" #: library/inspect.rst:963 msgid "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" msgstr "" +"``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " +"annotations)``" #: library/inspect.rst:966 msgid "" @@ -1262,6 +1526,19 @@ msgid "" "parameter names to annotations. The special key ``\"return\"`` is used to " "report the function return value annotation (if any)." msgstr "" +"*args* est une liste de noms de paramètres positionnels. *varargs* est le " +"nom du paramètre ``*`` ou ``None`` si les arguments positionnels arbitraires " +"ne sont pas acceptés. *varkw* est le nom du paramètre ``**``, ou ``None`` si " +"les paramètres arbitraires nommés ne sont pas acceptés. *defaults* est un " +"*n*-uplet des valeurs des arguments par défaut correspondant aux derniers " +"*n* arguments positionnels, ou ``None`` si aucun défaut n'est défini. " +"*kwonlyargs* est une liste d'arguments exclusivement nommés, ordonnée selon " +"l'ordre de déclaration. *kwonlydefaults* est un dictionnaire de " +"correspondance entre les noms de paramètres de *kwonlyargs* et les valeurs " +"par défaut utilisées si aucun argument n'est donné. *annotations* est un " +"dictionnaire de correspondance entre les noms de paramètres et les " +"annotations. La clef spéciale ``\"return\"`` est utilisée pour obtenir la " +"valeur de retour de l'annotation la fonction (si elle existe)." #: library/inspect.rst:981 msgid "" @@ -1272,6 +1549,12 @@ msgid "" "for use in code that needs to maintain compatibility with the Python 2 " "``inspect`` module API." msgstr "" +"Notez que :func:`signature` et :ref:`Signature Object ` fournissent l'API recommandé pour l’introspection d'appelables et " +"prennent en charge des comportements additionnels (comme les arguments " +"exclusivement positionnels) qui sont parfois rencontrés dans les APIs des " +"modules d'extension. Cette fonction et maintenue principalement pour " +"maintenir la compatibilité avec l'API du module ``inspect`` de Python 2." #: library/inspect.rst:988 msgid "" @@ -1279,6 +1562,9 @@ msgid "" "``__wrapped__`` attributes and includes the already bound first parameter in " "the signature output for bound methods." msgstr "" +"cette fonction est maintenant basée sur :func:`signature`, mais ignore " +"toujours les attributs ``_wrapped_`` et inclue le premier paramètre (déjà " +"lié) dans la signature des méthodes liées." #: library/inspect.rst:993 msgid "" @@ -1287,6 +1573,10 @@ msgid "" "restore a clearly supported standard interface for single-source Python 2/3 " "code migrating away from the legacy :func:`getargspec` API." msgstr "" +"cette méthode fût précédemment documentée comme dépréciée en faveur de :func:" +"`signature` en Python 3.5, mais cette décision fût renversée afin de ré-" +"introduire une interface standard clairement supportée pour du code unifié " +"Python 2/3 migrant pour se départir de l'API :func:`getargspec`." #: library/inspect.rst:1008 msgid "" @@ -1296,10 +1586,15 @@ msgid "" "names of the ``*`` and ``**`` arguments or ``None``. *locals* is the locals " "dictionary of the given frame." msgstr "" +"Obtenir de l'information sur les arguments passés à un cadre particulier. " +"Un :term:`n-uplet nommé ` ``ArgInfo(args, varargs, keywords, " +"locals)`` est renvoyé. *args* est une liste de noms d'arguments. *varags* et " +"*keywords* sont les noms des arguments ``*`` et ``**`` ou ``None``. *locals* " +"est le dictionnaire des variables locales du cadre courant." #: library/inspect.rst:1052 msgid "This function was inadvertently marked as deprecated in Python 3.5." -msgstr "" +msgstr "Cette fonction fût dépréciée par inadvertance en Python 3.5." #: library/inspect.rst:1020 msgid "" @@ -1336,6 +1631,9 @@ msgid "" "`getargvalues`. The format\\* arguments are the corresponding optional " "formatting functions that are called to turn names and values into strings." msgstr "" +"Formatage lisible des quatre valeurs renvoyées par :func:`getargvalues`. Les " +"arguments format\\* sont des fonctions de formatage optionnelles qui sont " +"appelées pour convertir les noms et valeurs en chaînes de caractères." #: library/inspect.rst:1057 msgid "" @@ -1344,6 +1642,12 @@ msgid "" "the method resolution order depends on cls's type. Unless a very peculiar " "user-defined metatype is in use, cls will be the first element of the tuple." msgstr "" +"Renvoie un *n*-uplet des classes de base de *cls*, incluant *cls*, selon le " +"l'ordre de résolution des méthodes (*method resolution order*). Aucune " +"classe n'apparaît plus d'une fois dans ce *n*-uplet. Notez que le l'ordre de " +"résolution des méthodes dépend du type de *cls*. Exception faite d'une " +"utilisation très particulière de la métaclasse définie par l'usager, *cls* " +"sera toujours le premier élément du tuple." #: library/inspect.rst:1065 msgid "" @@ -1357,10 +1661,20 @@ msgid "" "exception of the same type and the same or similar message is raised. For " "example::" msgstr "" +"Lie *args* et *kwds* aux arguments nommés de la fonction ou méthode Python " +"*func*, comme si elle était appelée avec ceux-ci. Pour les méthodes liées, " +"lie aussi le premier argument (normalement appelé ``self``) à l'instance " +"associée. Un dictionnaire est renvoyé, une correspondance entre les noms des " +"arguments (incluant les noms des arguments ``*`` et ``**``, s'ils existent) " +"et leurs valeurs obtenues de *args* et *kwds*. Lors d'une invocation " +"incorrecte de *func*, i.e. lorsque ``func(*args, **kwds)`` lèverait une " +"exception en raison de signature incompatible, une exception du même type et " +"de message identique ou similaire est levée. Par exemple ::" #: library/inspect.rst:1088 msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." msgstr "" +"utilisez plutôt :meth:`Signature.bind` et :meth:`Signature.bind_partial`." #: library/inspect.rst:1094 msgid "" @@ -1373,17 +1687,29 @@ msgid "" "that could not be resolved at all given the current module globals and " "builtins." msgstr "" +"Obtenir la correspondance de nom de références externes d'une fonction ou " +"méthode Python *func* avec leur valeur courante. Un :term:`n-uplet nommé " +"` ``ClosureVars(nonlocals, globals, builtins, unbound)`` est " +"renvoyé. *nonlocals* établit une correspondance des noms capturés par les " +"fermetures lexicales, *globals* au module de la fonction et *builtins* aux " +"noms natifs visibles depuis le corps de la fonction. *unbound* est un " +"ensemble de noms référencés dans la fonction ne trouvant aucune résolution " +"dans les valeurs globales du module courant ni à travers le lexique natif." #: library/inspect.rst:1103 msgid "" ":exc:`TypeError` is raised if *func* is not a Python function or method." msgstr "" +":exc:`TypeError` est levée si *func* n'est ni une fonction ni une méthode " +"Python." #: library/inspect.rst:1110 msgid "" "Get the object wrapped by *func*. It follows the chain of :attr:" "`__wrapped__` attributes returning the last object in the chain." msgstr "" +"Obtenir l'objet englobé par *func*. Suit une chaîne d'attributs de :attr:" +"`__wrapped__`, renvoyant le dernier objet de la chaîne." #: library/inspect.rst:1113 msgid "" @@ -1394,10 +1720,17 @@ msgid "" "`signature` uses this to stop unwrapping if any object in the chain has a " "``__signature__`` attribute defined." msgstr "" +"*stop* est une fonction de *callback* optionnelle qui accepte un objet de la " +"chaîne englobée comme son seul argument et permet d'arrêter le déballage " +"avant la fin si la fonction de *callback* renvoie une valeur vraie. Si la " +"fonction *callback* ne renvoie jamais une valeur vraie, le dernier objet de " +"la chaîne est renvoyé comme d'habitude. Par exemple, :func:`signature` " +"utilise ceci pour arrêter le déballage si un objet dans la chaîne définit un " +"attribut ``__signature__``." #: library/inspect.rst:1120 msgid ":exc:`ValueError` is raised if a cycle is encountered." -msgstr "" +msgstr ":exc:`ValueError` est levée si un cycle est rencontré." #: library/inspect.rst:1127 msgid "Compute the annotations dict for an object." @@ -1503,7 +1836,7 @@ msgstr "" #: library/inspect.rst:1184 msgid "The interpreter stack" -msgstr "" +msgstr "La pile d'interpréteur" #: library/inspect.rst:1186 msgid "" @@ -1530,6 +1863,15 @@ msgid "" "broken to avoid the delayed destruction of objects and increased memory " "consumption which occurs." msgstr "" +"Conserver des références à des objets cadre, tel que trouvé dans le 1er " +"élément des enregistrements de cadres que ces fonctions renvoient, peut " +"créer des cycles de référence dans votre programme. Lorsqu'un cycle de " +"référence a été créé, la durée de vie de tous les objets pouvant être " +"accessibles par ces objets peut être grandement augmentée, même si le " +"détecteur de cycle (optionnel) de Python est activé. Si ces cycles doivent " +"être créés, il est important de s'assurer qu'ils soient explicitement brisés " +"pour éviter la destruction reportée des objets et l'augmentation résultante " +"de l'utilisation de la mémoire." #: library/inspect.rst:1207 msgid "" @@ -1538,6 +1880,11 @@ msgid "" "keyword:`finally` clause. This is also important if the cycle detector was " "disabled when Python was compiled or using :func:`gc.disable`. For example::" msgstr "" +"Bien que le détecteur trouvera ces cycles, la destruction des cadres (et " +"variables locales) peut être fait de manière déterministe en enlevant les " +"cycles dans une clause :keyword:`finally`. Cela est important si le " +"détecteur de cycle a été désactivé lors de la compilation du code Python ou " +"en utilisant :func:`gc.disable`. Par exemple ::" #: library/inspect.rst:1219 msgid "" @@ -1545,6 +1892,9 @@ msgid "" "later), you can also break reference cycles by using the :meth:`frame.clear` " "method." msgstr "" +"Pour conserver ces cadres (par exemple pour imprimer une trace d'exécution " +"plus tard), vous pouvez briser ces cycles de référence en utilisant la " +"méthode :meth:`frame.clear`." #: library/inspect.rst:1223 msgid "" @@ -1552,6 +1902,9 @@ msgid "" "specifies the number of lines of context to return, which are centered " "around the current line." msgstr "" +"L'argument optionnel *context* supporté par la plupart de ces méthodes " +"spécifie le nombre de lignes de contexte à renvoyer, qui sera centré autour " +"de la ligne courante." #: library/inspect.rst:1230 msgid "" @@ -1572,6 +1925,8 @@ msgid "" "A list of :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` is returned." msgstr "" +"une liste de :term:`n-uplet nommé ` ``FrameInfo(frame, " +"filename, lineno, function, code_context, index)`` est renvoyée." #: library/inspect.rst:1249 msgid "" @@ -1583,7 +1938,7 @@ msgstr "" #: library/inspect.rst:1262 msgid "Return the frame object for the caller's stack frame." -msgstr "" +msgstr "Renvoie l'objet cadre de la pile pour le cadre de l’appelant." #: library/inspect.rst:1266 msgid "" @@ -1592,6 +1947,10 @@ msgid "" "an implementation without Python stack frame support this function returns " "``None``." msgstr "" +"cette fonction nécessite que l'interpréteur Python implémente une pile de " +"cadres d'appel, ce qui n'est pas forcément le cas de toutes les " +"implémentations Python. Si le code s'exécute dans une implémentation Python " +"n'implémentant pas la pile de cadres, cette fonction renvoie ``None``." #: library/inspect.rst:1274 msgid "" @@ -1610,7 +1969,7 @@ msgstr "" #: library/inspect.rst:1298 msgid "Fetching attributes statically" -msgstr "" +msgstr "Recherche dynamique d'attributs" #: library/inspect.rst:1300 msgid "" @@ -1619,6 +1978,10 @@ msgid "" "properties, will be invoked and :meth:`__getattr__` and :meth:" "`__getattribute__` may be called." msgstr "" +":func:`getattr` et :func:`hasattr` peuvent tous deux engendrer l'exécution " +"de code lors la recherche ou vérification de l'existence d'attributs. Les " +"descripteurs, comme les propriétés, seront invoqués et :meth:`__getattr__` " +"et :meth:`__getattribute__` peuvent être appelés." #: library/inspect.rst:1305 msgid "" @@ -1626,12 +1989,18 @@ msgid "" "this can be inconvenient. :func:`getattr_static` has the same signature as :" "func:`getattr` but avoids executing code when it fetches attributes." msgstr "" +"Pour les cas où une introspection passive est désirée, comme des outils de " +"documentation, cela peut être inconvenable. :func:`getattr_static` possède " +"la même signature que :func:`getattr`, mais évite l'exécution de code lors " +"de la recherche d'attributs." #: library/inspect.rst:1311 msgid "" "Retrieve attributes without triggering dynamic lookup via the descriptor " "protocol, :meth:`__getattr__` or :meth:`__getattribute__`." msgstr "" +"Retrouve des attributs sans lancer une recherche dynamique via le protocole " +"descripteur, :meth:`__getattr__` ou :meth:`__getattribute__`." #: library/inspect.rst:1314 msgid "" @@ -1640,6 +2009,11 @@ msgid "" "getattr can't (like descriptors that raise AttributeError). It can also " "return descriptors objects instead of instance members." msgstr "" +"Note : cette fonction ne retrouve pas forcément tous les attributs renvoyés " +"par *getattr* (tel que des attributs générés dynamiquement) et pourrait " +"retrouver des attributs non retrouvés par *getattr* (tel que des " +"descripteurs qui lèvent un *AttributeError*). Elle peut aussi donner des " +"objets descripteurs, plutôt que des membres d'instance." #: library/inspect.rst:1320 msgid "" @@ -1647,6 +2021,9 @@ msgid "" "example a property) then this function will be unable to find instance " "members." msgstr "" +"Si l'instance :attr:`~object.__dict__` est cachée (*shadowed*) par un autre " +"membre (par exemple une propriété), cette fonction ne pourra pas retrouver " +"les membres de l'instance." #: library/inspect.rst:1326 msgid "" @@ -1654,16 +2031,22 @@ msgid "" "descriptors or getset descriptors on objects implemented in C. The " "descriptor object is returned instead of the underlying attribute." msgstr "" +":func:`getattr_static` ne résout pas les descripteurs, par exemple *slot " +"descriptors* ou les descripteurs *getset* des objets implémentés en C. Le " +"descripteur de l'objet est renvoyé plutôt que l'attribut sous-jacent." #: library/inspect.rst:1330 msgid "" "You can handle these with code like the following. Note that for arbitrary " "getset descriptors invoking these may trigger code execution::" msgstr "" +"Vous pouvez gérer ces cas à l'aide du code suivant. Notez que pour des " +"descripteurs arbitraires *getset* les invoquant, de l'exécution de code " +"pourrait être lancée :" #: library/inspect.rst:1356 msgid "Current State of Generators and Coroutines" -msgstr "" +msgstr "État courant de Générateurs et Coroutines" #: library/inspect.rst:1358 msgid "" @@ -1673,30 +2056,35 @@ msgid "" "terminated. :func:`getgeneratorstate` allows the current state of a " "generator to be determined easily." msgstr "" +"Lors de l'implémentation d'ordonnanceur de coroutine et autres utilisations " +"avancées de générateurs, il est utile de déterminer si un générateur est " +"présentement en cours d'exécution, en attente de démarrage ou de " +"continuation, ou s'il a déjà terminé. :func:`getgeneratorstate` permet " +"d'aisément déterminer l'état courant d'un générateur." #: library/inspect.rst:1366 msgid "Get current state of a generator-iterator." -msgstr "" +msgstr "Donne l'état courant d'un générateur-itérateur." #: library/inspect.rst:1387 msgid "Possible states are:" -msgstr "" +msgstr "Les états possibles :" #: library/inspect.rst:1369 msgid "GEN_CREATED: Waiting to start execution." -msgstr "" +msgstr "GEN_CREATED : En attente de démarrage d'exécution." #: library/inspect.rst:1370 msgid "GEN_RUNNING: Currently being executed by the interpreter." -msgstr "" +msgstr "GEN_RUNNING : En cours d'exécution par l'interpréteur." #: library/inspect.rst:1371 msgid "GEN_SUSPENDED: Currently suspended at a yield expression." -msgstr "" +msgstr "GEN_SUSPENDED : Présentement suspendu à une expression *yield*." #: library/inspect.rst:1372 msgid "GEN_CLOSED: Execution has completed." -msgstr "" +msgstr "GEN_CLOSED : L'exécution est complétée." #: library/inspect.rst:1378 msgid "" @@ -1705,22 +2093,26 @@ msgid "" "will accept any coroutine-like object that has ``cr_running`` and " "``cr_frame`` attributes." msgstr "" +"Donne l'état courant d'un objet coroutine. L'utilisation est prévue avec des " +"objets coroutine créés avec des fonctions :keyword:`async def`, mais accepte " +"n'importe quel objet semblable à une coroutine qui définisse des attributs " +"``cr_running`` ``cr_frame``." #: library/inspect.rst:1384 msgid "CORO_CREATED: Waiting to start execution." -msgstr "" +msgstr "CORO_CREATED : En attente de démarrage d'exécution." #: library/inspect.rst:1385 msgid "CORO_RUNNING: Currently being executed by the interpreter." -msgstr "" +msgstr "CORO_RUNNING : En cours d'exécution par l'interpréteur." #: library/inspect.rst:1386 msgid "CORO_SUSPENDED: Currently suspended at an await expression." -msgstr "" +msgstr "CORO_SUSPENDED : Suspendu à une expression *await*." #: library/inspect.rst:1387 msgid "CORO_CLOSED: Execution has completed." -msgstr "" +msgstr "CORO_CLOSED : Exécution complétée." #: library/inspect.rst:1391 msgid "" @@ -1728,6 +2120,9 @@ msgid "" "mostly useful for testing purposes, to ensure that internal state is being " "updated as expected:" msgstr "" +"L'état courant interne du générateur peut aussi être vérifié. Ceci est utile " +"pour des tests, afin d'assurer que l'état interne est mise à jour tel que " +"prévu :" #: library/inspect.rst:1397 msgid "" @@ -1736,6 +2131,11 @@ msgid "" "This is the equivalent of calling :func:`locals` in the body of the " "generator, and all the same caveats apply." msgstr "" +"Donne une correspondance de variables locales dans *generator* avec les " +"valeurs courantes. Un dictionnaire est renvoyé, établissant la " +"correspondance entre variables et valeurs. Ceci est équivalent à appeler :" +"func:`locals` dans le corps du générateur et les mêmes restrictions " +"s'appliquent." #: library/inspect.rst:1402 msgid "" @@ -1743,6 +2143,9 @@ msgid "" "then an empty dictionary is returned. :exc:`TypeError` is raised if " "*generator* is not a Python generator object." msgstr "" +"Si *generator* est un :term:`générateur ` sans cadre courant " +"associé, alors un dictionnaire vide est renvoyé. :exc:`TypeError` est levé " +"sir *generator* n'est pas un objet générateur Python." #: library/inspect.rst:1408 msgid "" @@ -1751,50 +2154,68 @@ msgid "" "of Python. In such cases, this function will always return an empty " "dictionary." msgstr "" +"Cette fonction repose sur l'exposition d'une pile de cadres Python par le " +"générateur pour l'introspection, ce qui n'est pas garanti dans toutes les " +"implémentations Python. Dans un tel cas, cette fonction renvoie toujours un " +"dictionnaire vide." #: library/inspect.rst:1417 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for coroutine objects created by :keyword:`async def` functions." msgstr "" +"Cette fonction est semblable à :func:`~inspect.getgeneratorlocals`, mais " +"fonctionne pour des objets coroutines créés avec des fonctions :keyword:" +"`async def`." #: library/inspect.rst:1426 msgid "Code Objects Bit Flags" -msgstr "" +msgstr "Bit d'option des objets code" #: library/inspect.rst:1428 msgid "" "Python code objects have a ``co_flags`` attribute, which is a bitmap of the " "following flags:" msgstr "" +"Les objets de code Python ont un attribut ``co_flags``, ce qui est un " +"*bitmap* des valeurs suivantes :" #: library/inspect.rst:1433 msgid "The code object is optimized, using fast locals." -msgstr "" +msgstr "L'objet code est optimisé, utilisant des variables locales rapides." #: library/inspect.rst:1437 msgid "" "If set, a new dict will be created for the frame's ``f_locals`` when the " "code object is executed." msgstr "" +"Si défini, un nouveau dictionnaire sera créé pour le ``f_locals`` du cadre " +"courant lorsque l'objet code est exécuté." #: library/inspect.rst:1442 msgid "The code object has a variable positional parameter (``*args``-like)." msgstr "" +"L'objet code possède un paramètre de variable positionnel (``*args`` ou " +"semblable)." #: library/inspect.rst:1446 msgid "The code object has a variable keyword parameter (``**kwargs``-like)." msgstr "" +"L'objet code possède une paramètre par mot-clé variable (``**kwargs`` ou " +"semblable)." #: library/inspect.rst:1450 msgid "The flag is set when the code object is a nested function." -msgstr "" +msgstr "L'option est définie lorsque le code est une fonction imbriquée." #: library/inspect.rst:1454 msgid "" "The flag is set when the code object is a generator function, i.e. a " "generator object is returned when the code object is executed." msgstr "" +"L'option est définie lorsque l'objet code est une fonction génératrice, " +"c'est-à-dire qu'un objet générateur est renvoyé lorsque le code objet est " +"exécuté." #: library/inspect.rst:1459 msgid "The flag is set if there are no free or cell variables." @@ -1806,6 +2227,9 @@ msgid "" "object is executed it returns a coroutine object. See :pep:`492` for more " "details." msgstr "" +"L'option est définie lorsque le code objet est une fonction coroutine. Lors " +"que le code objet est exécuté, il renvoie un objet coroutine. Voir :pep:" +"`492` pour plus de détails." #: library/inspect.rst:1471 msgid "" @@ -1813,6 +2237,10 @@ msgid "" "Generator objects with this flag can be used in ``await`` expression, and " "can ``yield from`` coroutine objects. See :pep:`492` for more details." msgstr "" +"L'option est utilisée pour transformer un générateur en une coroutine basée " +"sur un générateur. Les objets générateurs avec cette option peuvent être " +"utilisés dans une expression ``await`` et un objet coroutine ``yield from``. " +"Voir :pep:`492` pour plus de détails." #: library/inspect.rst:1480 msgid "" @@ -1820,6 +2248,9 @@ msgid "" "When the code object is executed it returns an asynchronous generator " "object. See :pep:`525` for more details." msgstr "" +"L'option est définie lorsque l'objet code est une fonction génératrice " +"asynchrone. Lorsque l'objet code est exécuté, il renvoie un objet générateur " +"asynchrone. Voir :pep:`525` pour les détails." #: library/inspect.rst:1487 msgid "" @@ -1828,6 +2259,11 @@ msgid "" "can be removed or deprecated in future Python releases. It's recommended to " "use public APIs from the :mod:`inspect` module for any introspection needs." msgstr "" +"Ces options sont spécifiques à CPython et pourraient ne pas être définies " +"dans d'autres implémentations Python. De plus, les options constituent des " +"détails d'implémentation et pourraient être enlevées ou dépréciées dans des " +"versions ultérieures. Il est recommandé d'utiliser les APIs publiques de :" +"mod:`inspect` pour tous les besoins d'introspection." #: library/inspect.rst:1497 msgid "Command Line Interface" @@ -1838,6 +2274,8 @@ msgid "" "The :mod:`inspect` module also provides a basic introspection capability " "from the command line." msgstr "" +"Le module :mod:`inspect` fournit également des capacités d'introspection de " +"base en ligne de commande." #: library/inspect.rst:1504 msgid "" @@ -1845,8 +2283,13 @@ msgid "" "module. A class or function within the module can be printed instead by " "appended a colon and the qualified name of the target object." msgstr "" +"Par défaut, il accepte le nom d'un module et affiche la source de ce module. " +"Une classe ou fonction à l'intérieur du module peut également être affichée " +"en ajoutant un \":\" et le nom qualifié de l'objet désiré." #: library/inspect.rst:1510 msgid "" "Print information about the specified object rather than the source code" msgstr "" +"Affiche de l'information à propos de l'objet spécifié plutôt que du code " +"source." diff --git a/library/io.po b/library/io.po index 13d2400bc8..f57341212b 100644 --- a/library/io.po +++ b/library/io.po @@ -227,6 +227,8 @@ msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." msgstr "" +"Lève un :ref:`événement d'audit ` ``open`` avec les arguments " +"``path``, ``mode``, ``flags``." #: library/io.rst:175 msgid "" diff --git a/library/logging.po b/library/logging.po index 9e274e11d5..dbea171370 100644 --- a/library/logging.po +++ b/library/logging.po @@ -1520,7 +1520,7 @@ msgstr "" #: library/logging.rst:0 msgid "name" -msgstr "" +msgstr "nom" #: library/logging.rst:928 msgid "``%(name)s``" diff --git a/library/msvcrt.po b/library/msvcrt.po index 8bdb0c733c..d57b9f9ab8 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -25,6 +25,11 @@ msgid "" "Windows implementations of their services. For example, the :mod:`getpass` " "module uses this in the implementation of the :func:`getpass` function." msgstr "" +"Ces fonctions permettent d'accéder à certaines capacités utiles sur les " +"plateformes Windows. Certains modules de plus haut niveau utilisent ces " +"fonctions pour construire les implémentations Windows de leurs services. " +"Par exemple, le module :mod:`getpass` les utilise dans l'implémentation de " +"la fonction :func:`getpass`." #: library/msvcrt.rst:17 msgid "" @@ -45,10 +50,12 @@ msgid "" "Operations in this module now raise :exc:`OSError` where :exc:`IOError` was " "raised." msgstr "" +"Les opérations de ce module lèvent désormais :exc:`OSError` au lieu de :exc:" +"`IOError`." #: library/msvcrt.rst:33 msgid "File Operations" -msgstr "" +msgstr "Opérations sur les fichiers" #: library/msvcrt.rst:38 msgid "" @@ -73,16 +80,24 @@ msgid "" "immediately tries again after 1 second. If, after 10 attempts, the bytes " "cannot be locked, :exc:`OSError` is raised." msgstr "" +"Verrouille les octets spécifiés. Si les octets ne peuvent pas être " +"verrouillés, le programme réessaie immédiatement après 1 seconde. Si, après " +"10 tentatives, les octets ne peuvent pas être verrouillés, :exc:`OSError` " +"est levée." #: library/msvcrt.rst:59 msgid "" "Locks the specified bytes. If the bytes cannot be locked, :exc:`OSError` is " "raised." msgstr "" +"Verrouille les octets spécifiés. Si les octets ne peuvent pas être " +"verrouillés, :exc:`OSError` est levée." #: library/msvcrt.rst:65 msgid "Unlocks the specified bytes, which must have been previously locked." msgstr "" +"Déverrouille les octets spécifiés, qui doivent avoir été précédemment " +"verrouillés." #: library/msvcrt.rst:70 msgid "" @@ -119,11 +134,11 @@ msgstr "" #: library/msvcrt.rst:96 msgid "Console I/O" -msgstr "" +msgstr "Entrées-sorties sur un terminal" #: library/msvcrt.rst:101 msgid "Return ``True`` if a keypress is waiting to be read." -msgstr "" +msgstr "Renvoie ``True`` si une touche est en attente de lecture." #: library/msvcrt.rst:106 msgid "" @@ -138,6 +153,8 @@ msgstr "" #: library/msvcrt.rst:116 msgid "Wide char variant of :func:`getch`, returning a Unicode value." msgstr "" +"Variante de :func:`getch` qui lit un caractère large et renvoie une valeur " +"Unicode." #: library/msvcrt.rst:121 msgid "" @@ -148,6 +165,8 @@ msgstr "" #: library/msvcrt.rst:127 msgid "Wide char variant of :func:`getche`, returning a Unicode value." msgstr "" +"Variante de :func:`getche` qui lit un caractère large et renvoie une valeur " +"Unicode." #: library/msvcrt.rst:132 msgid "Print the byte string *char* to the console without buffering." @@ -156,6 +175,8 @@ msgstr "" #: library/msvcrt.rst:137 msgid "Wide char variant of :func:`putch`, accepting a Unicode value." msgstr "" +"Variante de :func:`putch` qui accepte une valeur Unicode et l'écrit comme " +"caractère large." #: library/msvcrt.rst:142 msgid "" @@ -166,6 +187,8 @@ msgstr "" #: library/msvcrt.rst:148 msgid "Wide char variant of :func:`ungetch`, accepting a Unicode value." msgstr "" +"Variante de :func:`ungetch` qui accepte une valeur Unicode et l'écrit comme " +"caractère large." #: library/msvcrt.rst:154 #, fuzzy diff --git a/library/nntplib.po b/library/nntplib.po index 194be93146..fcad87fda8 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -137,7 +137,7 @@ msgstr "" #: library/nntplib.rst:150 msgid "Exception raised when an unexpected reply is received from the server." -msgstr "" +msgstr "Exception levée lorsqu'une réponse inattendue est reçue du serveur." #: library/nntplib.rst:155 msgid "" diff --git a/library/os.po b/library/os.po index 81fa5141ad..a4c4331ca1 100644 --- a/library/os.po +++ b/library/os.po @@ -156,6 +156,11 @@ msgid "" "filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" "c:type:`PyConfig`." msgstr "" +"L':term:`encodage du système de fichiers et gestionnaire d'erreurs associé " +"` sont configurés au démarrage de " +"Python par la fonction :c:func:`PyConfig_Read` : regardez :c:member:" +"`~PyConfig.filesystem_encoding` et :c:member:`~PyConfig.filesystem_errors` " +"dans les membres de :c:type:`PyConfig`." #: library/os.rst:79 msgid "" diff --git a/library/ossaudiodev.po b/library/ossaudiodev.po index 916e0b90b2..612e9eae25 100644 --- a/library/ossaudiodev.po +++ b/library/ossaudiodev.po @@ -37,6 +37,8 @@ msgid "" "Operations in this module now raise :exc:`OSError` where :exc:`IOError` was " "raised." msgstr "" +"Les opérations de ce module lèvent désormais :exc:`OSError` au lieu de :exc:" +"`IOError`." #: library/ossaudiodev.rst:55 msgid "" diff --git a/library/pathlib.po b/library/pathlib.po index 6d17b94e13..163300dc94 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -359,6 +359,8 @@ msgid "" "If the path starts with more than two successive slashes, :class:`~pathlib." "PurePosixPath` collapses them::" msgstr "" +"Si le chemin commence par plus de deux slashes successifs, :class:`~pathlib." +"PurePosixPath` n'en conserve qu'un ::" #: library/pathlib.rst:330 msgid "" @@ -366,6 +368,9 @@ msgid "" "paragraph `4.11 Pathname Resolution `_:" msgstr "" +"Ce comportement se conforme au paragraphe 4.11 `Pathname Resolution `_ des *Open Group Base Specifications* version 6 :" #: library/pathlib.rst:334 msgid "" diff --git a/library/pyexpat.po b/library/pyexpat.po index 65001e4b83..31b1d53a8c 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -127,7 +127,7 @@ msgstr "" #: library/pyexpat.rst:122 msgid "XMLParser Objects" -msgstr "" +msgstr "Objets XMLParser" #: library/pyexpat.rst:124 msgid ":class:`xmlparser` objects have the following methods:" diff --git a/library/re.po b/library/re.po index afe0a159b1..f1f550bb20 100644 --- a/library/re.po +++ b/library/re.po @@ -1389,7 +1389,7 @@ msgstr "Correspond à l'option de groupe ``(?x)``." #: library/re.rst:723 msgid "Functions" -msgstr "" +msgstr "Fonctions" #: library/re.rst:727 msgid "" @@ -1754,7 +1754,7 @@ msgstr "Vide le cache d'expressions rationnelles." #: library/re.rst:989 msgid "Exceptions" -msgstr "" +msgstr "Exceptions" #: library/re.rst:993 msgid "" diff --git a/library/socket.po b/library/socket.po index 5abc7f486b..01b11dad93 100644 --- a/library/socket.po +++ b/library/socket.po @@ -1568,7 +1568,7 @@ msgstr "" #: library/socket.rst:0 msgid "platform" -msgstr "" +msgstr "``platform``" #: library/socket.rst:1360 msgid "Windows" diff --git a/library/sqlite3.po b/library/sqlite3.po index 3a52166798..03c8f75f40 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -52,27 +52,35 @@ msgstr "" #: library/sqlite3.rst:34 msgid "This document includes four main sections:" -msgstr "" +msgstr "Ce document inclus 4 sections principales :" #: library/sqlite3.rst:36 msgid ":ref:`sqlite3-tutorial` teaches how to use the :mod:`!sqlite3` module." msgstr "" +":ref:`tutoriel sqlite3 ` explique comment utiliser le " +"module :mod:`!sqlite3`." #: library/sqlite3.rst:37 msgid "" ":ref:`sqlite3-reference` describes the classes and functions this module " "defines." msgstr "" +":ref:`référence sqlite3 ` décrit les classes et les " +"fonctions que ce module définit." #: library/sqlite3.rst:39 msgid ":ref:`sqlite3-howtos` details how to handle specific tasks." msgstr "" +":ref:`guide sqlite3 ` détaille comment gérer des tâches " +"spécifiques." #: library/sqlite3.rst:40 msgid "" ":ref:`sqlite3-explanation` provides in-depth background on transaction " "control." msgstr "" +":ref:`explications sqlite3 ` propose un contexte " +"détaillé du contrôle de transaction." #: library/sqlite3.rst:47 msgid "https://www.sqlite.org" @@ -104,7 +112,7 @@ msgstr "PEP écrite par Marc-André Lemburg." #: library/sqlite3.rst:66 msgid "Tutorial" -msgstr "" +msgstr "Tutoriel" #: library/sqlite3.rst:68 msgid "" @@ -112,6 +120,10 @@ msgid "" "basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " "of database concepts, including `cursors`_ and `transactions`_." msgstr "" +"Dans ce tutoriel, vous allez créer une base de données des films des Monty " +"Python en utilisant les fonctionnalités de base de :mod:`!sqlite3`. Cela " +"nécessite une compréhension élémentaire des concepts des bases de données, " +"notamment les `curseurs`_ et les `transactions`_." #: library/sqlite3.rst:73 msgid "" @@ -120,12 +132,19 @@ msgid "" "create a connection to the database :file:`tutorial.db` in the current " "working directory, implicitly creating it if it does not exist:" msgstr "" +"Tout d’abord, nous devons créer une nouvelle base de données et ouvrir une " +"connexion à la base de données pour permettre à :mod:`!sqlite3` de " +"travailler avec elle. Appelez :func:`sqlite3.connect` pour créer une " +"connexion à la base de données :file:`tutorial.db` dans le répertoire de " +"travail actuel, en la créant implicitement si elle n’existe pas :" #: library/sqlite3.rst:84 msgid "" "The returned :class:`Connection` object ``con`` represents the connection to " "the on-disk database." msgstr "" +"L’objet :class:`Connection` renvoyé — ``con`` — représente la connexion à la " +"base de données sur disque." #: library/sqlite3.rst:87 msgid "" @@ -133,6 +152,9 @@ msgid "" "will need to use a database cursor. Call :meth:`con.cursor() ` to create the :class:`Cursor`:" msgstr "" +"Afin d’exécuter les instructions SQL et de récupérer les résultats des " +"requêtes SQL, nous devrons utiliser un curseur de base de données. Appelez :" +"meth:`con.cursor() ` pour créer la :class:`Cursor` :" #: library/sqlite3.rst:95 msgid "" @@ -143,6 +165,14 @@ msgid "" "types is optional. Execute the ``CREATE TABLE`` statement by calling :meth:" "`cur.execute(...) `:" msgstr "" +"Maintenant que nous avons une connexion à la base de données et un curseur, " +"nous pouvons créer une table ``movie`` avec des colonnes pour le titre, " +"l’année de sortie et la note de la critique. Pour plus de simplicité, nous " +"pouvons simplement utiliser les noms des colonnes dans la déclaration de la " +"table — grâce à la fonctionnalité de `typage flexible `_ " +"de SQLite, spécifier les types de données est facultatif. Exécutez " +"l’instruction ``CREATE TABLE`` en appelant :meth:`cur.execute(…) ` :" #: library/sqlite3.rst:111 msgid "" @@ -153,6 +183,13 @@ msgid "" "execute>`, assign the result to ``res``, and call :meth:`res.fetchone() " "` to fetch the resulting row:" msgstr "" +"Nous pouvons vérifier que la nouvelle table a été créée en interrogeant la " +"table ``sqlite_master`` intégrée à SQLite, qui devrait maintenant contenir " +"une entrée pour la définition de la table ``movie`` (voir `le schéma Table " +"`_ pour plus de détails). Exécutez cette requête en " +"appelant :meth:`cur.execute(…) `, affectez le résultat à " +"``res``, et appelez :meth:`res.fetchone() ` pour récupérer " +"la ligne résultante :" #: library/sqlite3.rst:125 msgid "" @@ -160,6 +197,10 @@ msgid "" "`tuple` containing the table's name. If we query ``sqlite_master`` for a non-" "existent table ``spam``, :meth:`!res.fetchone()` will return ``None``:" msgstr "" +"Nous pouvons voir que la table a été créée, puisque la requête retourne un :" +"class:`tuple` contenant le nom de la table. Si nous interrogeons " +"``sqlite_master`` pour une table ``spam`` inexistante, :meth:`!res." +"fetchone()`` retournera ``None`` :" #: library/sqlite3.rst:136 msgid "" @@ -167,6 +208,9 @@ msgid "" "``INSERT`` statement, once again by calling :meth:`cur.execute(...) `:" msgstr "" +"Maintenant, ajoutez deux lignes de données en tant que littéraux SQL en " +"exécutant une instruction ``INSERT``, une fois encore en appelant :meth:`cur." +"execute(…) ` :" #: library/sqlite3.rst:148 msgid "" @@ -175,6 +219,11 @@ msgid "" "controlling-transactions` for details). Call :meth:`con.commit() ` on the connection object to commit the transaction:" msgstr "" +"L’instruction ``INSERT`` ouvre implicitement une transaction, qui doit être " +"validée avant que les modifications ne soient enregistrées dans la base de " +"données (voir :ref:`contrôle des transactions SQL ` pour plus de détails). Appelez :meth:`con.commit() " +"` sur l’objet de connexion pour valider la transaction :" #: library/sqlite3.rst:158 msgid "" @@ -183,18 +232,27 @@ msgid "" "assign the result to ``res``, and call :meth:`res.fetchall() ` to return all resulting rows:" msgstr "" +"Nous pouvons vérifier que les données ont été insérées correctement en " +"exécutant une requête ``SELECT``. Utilisez la désormais familière :meth:`cur." +"execute(…) ` pour affecter le résultat à ``res``, et " +"appelez :meth:`res.fetchall() ` pour retourner toutes les " +"lignes résultantes :" #: library/sqlite3.rst:170 msgid "" "The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " "containing that row's ``score`` value." msgstr "" +"Le résultat est une :class:`liste ` de deux :class:`!tuple`\\s, une " +"par ligne, chacun contenant la valeur ``score`` de cette ligne." #: library/sqlite3.rst:173 msgid "" "Now, insert three more rows by calling :meth:`cur.executemany(...) `:" msgstr "" +"Maintenant, insérez trois lignes supplémentaires en appelant :meth:`cur." +"executemany(…) ` :" #: library/sqlite3.rst:186 msgid "" @@ -203,18 +261,28 @@ msgid "" "to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " "(see :ref:`sqlite3-placeholders` for more details)." msgstr "" +"Remarquez que les marqueurs ``?`` sont utilisés pour lier les ``data`` à la " +"requête. Utilisez toujours les marqueurs au lieu d’:ref:`expressions " +"formatées ` pour lier les valeurs Python aux instructions " +"SQL, afin d’éviter les `injections SQL`_ (voir :ref:`placeholder SQL " +"` pour plus de détails)." #: library/sqlite3.rst:192 msgid "" "We can verify that the new rows were inserted by executing a ``SELECT`` " "query, this time iterating over the results of the query:" msgstr "" +"Nous pouvons vérifier que les nouvelles lignes ont été insérées en exécutant " +"une requête ``SELECT``, cette fois-ci en itérant sur les résultats de la " +"requête :" #: library/sqlite3.rst:206 msgid "" "Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " "columns selected in the query." msgstr "" +"Chaque ligne est un :class:`tuple` de deux éléments ``(année, titre)``, " +"correspondant aux colonnes sélectionnées dans la requête." #: library/sqlite3.rst:209 msgid "" @@ -222,41 +290,51 @@ msgid "" "`con.close() ` to close the existing connection, opening a " "new one, creating a new cursor, then querying the database:" msgstr "" +"Enfin, vérifiez que la base de données a été écrite sur le disque en " +"appelant :meth:`con.close() ` pour fermer la connexion " +"existante, en ouvrir une nouvelle, créer un nouveau curseur, puis interroger " +"la base de données :" #: library/sqlite3.rst:224 msgid "" "You've now created an SQLite database using the :mod:`!sqlite3` module, " "inserted data and retrieved values from it in multiple ways." msgstr "" +"Vous avez maintenant créé une base de données SQLite à l’aide du module :mod:" +"`!sqlite3`, inséré des données et récupéré des valeurs de plusieurs façons." #: library/sqlite3.rst:236 msgid ":ref:`sqlite3-howtos` for further reading:" -msgstr "" +msgstr ":ref:`guide sqlite3 ` pour une lecture plus poussée:" #: library/sqlite3.rst:238 msgid ":ref:`sqlite3-placeholders`" -msgstr "" +msgstr ":ref:`placeholders sqlite3 `" #: library/sqlite3.rst:239 msgid ":ref:`sqlite3-adapters`" -msgstr "" +msgstr ":ref:`adaptateurs sqlite3 `" #: library/sqlite3.rst:240 msgid ":ref:`sqlite3-converters`" -msgstr "" +msgstr ":ref:`convertisseurs sqlite3 `" #: library/sqlite3.rst:514 msgid ":ref:`sqlite3-connection-context-manager`" msgstr "" +":ref:`gestionnaire de contexte de connexion sqlite3 `" #: library/sqlite3.rst:243 msgid "" ":ref:`sqlite3-explanation` for in-depth background on transaction control." msgstr "" +":ref:`explications sqlite3 ` pour un contexte détaillé " +"du contrôle de transaction." #: library/sqlite3.rst:248 msgid "Reference" -msgstr "" +msgstr "Référence" #: library/sqlite3.rst:256 #, fuzzy @@ -265,17 +343,20 @@ msgstr "Fonctions et constantes du module" #: library/sqlite3.rst:263 msgid "Open a connection to an SQLite database." -msgstr "" +msgstr "Ouvrez une connexion à une base de données SQLite." #: library/sqlite3.rst:0 msgid "Parameters" -msgstr "" +msgstr "Paramètres" #: library/sqlite3.rst:265 msgid "" "The path to the database file to be opened. Pass ``\":memory:\"`` to open a " "connection to a database that is in RAM instead of on disk." msgstr "" +"Le chemin d’accès au fichier de la base de données à ouvrir. Passez ``\":" +"memory:\"`` pour ouvrir une connexion à une base de données qui est dans la " +"RAM plutôt que sur le disque." #: library/sqlite3.rst:271 msgid "" @@ -284,6 +365,11 @@ msgid "" "transaction to modify the database, it will be locked until that transaction " "is committed. Default five seconds." msgstr "" +"Le temps (en secondes) que la connexion doit attendre avant de lever une " +"exception, si la base de données est verrouillée par une autre connexion. Si " +"une autre connexion ouvre une transaction pour modifier la base de données, " +"celle-ci sera verrouillée jusqu’à ce que cette transaction soit validée. Par " +"défaut, cinq secondes." #: library/sqlite3.rst:278 msgid "" @@ -297,6 +383,17 @@ msgid "" "class:`str` will be returned instead. By default (``0``), type detection is " "disabled." msgstr "" +"Contrôle si et comment les types de données non :ref:`nativement pris en " +"charge par SQLite ` sont recherchés pour être convertis en " +"types Python, en utilisant les convertisseurs enregistrés avec :func:" +"`register_converter`. Définissez-le à n’importe quelle combinaison (en " +"utilisant ``|``, opérateurs bit-à-bit OR) de :const:`PARSE_DECLTYPES` et :" +"const:`PARSE_COLNAMES` pour activer ceci. Les noms de colonnes ont la " +"priorité sur les types déclarés si les deux drapeaux sont activés. Les types " +"ne peuvent pas être détectés pour les champs générés (par exemple " +"``max(data)``), même si le paramètre *detect_types* est activé ; :class:" +"`str` sera retourné à la place. Par défaut (``0``), la détection des types " +"est désactivée." #: library/sqlite3.rst:292 msgid "" @@ -306,6 +403,12 @@ msgid "" "opening transactions implicitly. See :ref:`sqlite3-controlling-transactions` " "for more." msgstr "" +"L’attribut :attr:`~Connection.isolation_level` de la connexion, contrôlant " +"si et comment les transactions sont ouvertes implicitement. Peut être " +"``\"DEFERRED\"`` (par défaut), ``\"EXCLUSIVE\"`` ou ``\"IMMEDIATE\"`` ; ou " +"``None`` pour désactiver l’ouverture implicite des transactions. Voir :ref:" +"`contrôle des transactions sqlite3 ` pour " +"en savoir plus." #: library/sqlite3.rst:300 msgid "" @@ -319,6 +422,8 @@ msgid "" "A custom subclass of :class:`Connection` to create the connection with, if " "not the default :class:`Connection` class." msgstr "" +"Une sous-classe personnalisée de :class:`Connection` pour créer la " +"connexion, si ce n’est pas la classe par défaut :class:`Connection`." #: library/sqlite3.rst:310 msgid "" @@ -334,6 +439,12 @@ msgid "" "absolute. The query string allows passing parameters to SQLite, enabling " "various :ref:`sqlite3-uri-tricks`." msgstr "" +"Si elle a pour valeur ``True``, la base de données est interprétée comme un :" +"abbr:`URI (Uniform Resource Identifier)` avec un chemin d’accès au fichier " +"et une chaîne de requête facultative. La partie schéma *doit* être ``\"file:" +"\"``, et le chemin peut être relatif ou absolu. La chaîne d’interrogation " +"permet de passer des paramètres à SQLite, ce qui permet d’activer diverses :" +"ref:`astuces d’URI sqlite3 `." #: library/sqlite3.rst:0 #, fuzzy @@ -360,6 +471,8 @@ msgstr "" msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" +"*database* peut maintenant aussi être un :term:`objet de type chemin `, et pas seulement une chaîne de caractères." #: library/sqlite3.rst:335 msgid "The ``sqlite3.connect/handle`` auditing event." @@ -372,6 +485,11 @@ msgid "" "performed, other than checking that there are no unclosed string literals " "and the statement is terminated by a semicolon." msgstr "" +"Renvoie ``True`` si la déclaration de la chaîne semble contenir une ou " +"plusieurs déclarations SQL complètes. Aucune vérification syntaxique ou " +"analyse syntaxique d’aucune sorte n’est effectuée, si ce n’est la " +"vérification qu’il n’y a pas de chaîne littérale non fermée et que " +"l’instruction se termine par un point-virgule." #: library/sqlite3.rst:346 #, fuzzy @@ -384,6 +502,10 @@ msgid "" "entered text seems to form a complete SQL statement, or if additional input " "is needed before calling :meth:`~Cursor.execute`." msgstr "" +"Cette fonction peut être utile pendant la saisie en ligne de commande pour " +"déterminer si le texte saisi semble former une instruction SQL complète, ou " +"si une saisie supplémentaire est nécessaire avant d’appeler :meth:`~Cursor." +"execute`." #: library/sqlite3.rst:361 msgid "" @@ -401,6 +523,10 @@ msgid "" "its sole argument, and must return a value of a :ref:`type that SQLite " "natively understands `." msgstr "" +"Enregistre un *adaptateur* appelable pour adapter le type Python *type* en " +"un type SQLite. L’adaptateur est appelé avec un objet Python de type *type* " +"comme unique argument, et doit retourner une valeur d’un :ref:`type que " +"SQLite comprend nativement `." #: library/sqlite3.rst:378 msgid "" @@ -411,12 +537,20 @@ msgid "" "parameter *detect_types* of :func:`connect` for information regarding how " "type detection works." msgstr "" +"Enregistre le *convertisseur* appelable pour convertir les objets SQLite de " +"type *typename* en un objet Python d’un type spécifique. Le convertisseur " +"est invoqué pour toutes les valeurs SQLite de type *typename* ; on lui passe " +"un objet :class:`bytes` et il doit retourner un objet du type Python désiré. " +"Consultez le paramètre *detect_types* de :func:`connect` pour des " +"informations sur le fonctionnement de la détection des types." #: library/sqlite3.rst:386 msgid "" "Note: *typename* and the name of the type in your query are matched case-" "insensitively." msgstr "" +"Remarque : *typename* et le nom du type dans votre requête sont comparés " +"sans tenir compte de la casse." #: library/sqlite3.rst:393 #, fuzzy @@ -1287,7 +1421,7 @@ msgstr "SQLite type" #: library/sqlite3.rst:1378 msgid "``None``" -msgstr "" +msgstr "``None``" #: library/sqlite3.rst:1378 msgid "``NULL``" diff --git a/library/stdtypes.po b/library/stdtypes.po index 9a1c479b73..ee6e4bfa51 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -7180,6 +7180,9 @@ msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Documentation sur la manière d'implémenter des classes génériques qui " +"peuvent être paramétrées à l'exécution et comprises par les vérificateurs " +"statiques de types." #: library/stdtypes.rst:5031 #, fuzzy diff --git a/library/sys.po b/library/sys.po index 38e4a57dae..8e9883f026 100644 --- a/library/sys.po +++ b/library/sys.po @@ -72,10 +72,13 @@ msgstr "" "l'interpréteur en cours d'exécution." #: library/sys.rst:38 +#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " "arguments." msgstr "" +"Déclenche un :ref:`événement d'audit ` ``sys.addaudithook`` sans " +"arguments." #: library/sys.rst:40 #, fuzzy @@ -97,6 +100,9 @@ msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython, and :pep:`578` for the original design discussion." msgstr "" +"Voir la :ref:`table d'évenements d'audit ` pour tous les " +"événements levés par CPython et :pep:`578` pour la discussion originale de " +"ce design." #: library/sys.rst:54 msgid "" @@ -177,6 +183,8 @@ msgid "" "For example, one auditing event is named ``os.chdir``. This event has one " "argument called *path* that will contain the requested new working directory." msgstr "" +"Par exemple, un événement d'audit est nommé ``os.chdir``. Cet événement à un " +"argument appelé *path* qui contiendras le nouveau répertoire de travail." #: library/sys.rst:100 msgid "" @@ -187,24 +195,38 @@ msgid "" "implementations to decide how to respond to particular events: they can " "merely log the event or abort the operation by raising an exception." msgstr "" +":func:`sys.audit` appellera les point d'entrées (*hooks* en anglais) " +"d'audits existants, en passant le nom de l'événement et ses arguments, et " +"lèvera à nouveau la première exception de n'importe quel point d'entrée. En " +"général, si une exception est levée, elle ne devrais pas être gérée et le " +"processus devrait être terminé aussi rapidement que possible. Cela permet " +"que les implémentations des points d'entrées décident comment répondre à des " +"événements particuliers : Ils peuvent simplement *logger* l'événement ou " +"arrêter l'opération en levant une exception." #: library/sys.rst:108 msgid "" "Hooks are added using the :func:`sys.addaudithook` or :c:func:" "`PySys_AddAuditHook` functions." msgstr "" +"Les points d'entrées sont ajoutés en utilisant les fonctions :func:`sys." +"addaudithook` ou :c:func:`PySys_AddAuditHook`." #: library/sys.rst:111 msgid "" "The native equivalent of this function is :c:func:`PySys_Audit`. Using the " "native function is preferred when possible." msgstr "" +"L'équivalent natif de cette fonction est :c:func:`PySys_Audit`. " +"L'utilisation de la fonction native est encouragée lorsque c'est possible." #: library/sys.rst:114 msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython." msgstr "" +"Voir le :ref:`tableau d'événements d'audit ` pour tous les " +"événements levés par CPython." #: library/sys.rst:122 #, fuzzy @@ -337,6 +359,8 @@ msgid "" "Raises an :ref:`auditing event ` ``sys._current_frames`` with no " "arguments." msgstr "" +"Lève un :ref:`événement d'audit ` ``sys._current_frames`` sans " +"arguments." #: library/sys.rst:203 #, fuzzy @@ -531,7 +555,7 @@ msgstr "" #: library/sys.rst:327 msgid "" "A relative path is interpreted relative to the current working directory." -msgstr "" +msgstr "Un chemin relatif est interprété relativement au répertoire courant." #: library/sys.rst:329 msgid "" @@ -540,6 +564,11 @@ msgid "" "`PYTHONPYCACHEPREFIX` environment variable (command-line takes precedence). " "If neither are set, it is ``None``." msgstr "" +"Cette valeur est initialement définie basée sur la valeur de l'option de " +"ligne de commande :option:`-X` ``pycache_prefix=PATH`` ou la variable " +"d'environnement :envvar:`PYTHONPYCACHEPREFIX` (La ligne de commande est " +"prioritaire). Si aucune des deux options n'est définie, alors la valeur est " +"``None``." #: library/sys.rst:339 msgid "" @@ -571,6 +600,8 @@ msgid "" "Raises an :ref:`auditing event ` ``sys.excepthook`` with arguments " "``hook``, ``type``, ``value``, ``traceback``." msgstr "" +"Lève un :ref:`événement d'audit ` ``sys.excepthook`` avec les " +"arguments ``hook``, ``type``, ``value``, ``traceback``." #: library/sys.rst:350 msgid "" @@ -581,6 +612,13 @@ msgid "" "Otherwise, the audit hook exception will be reported as unraisable and ``sys." "excepthook`` will be called." msgstr "" +"Lève un événement d'audit ``sys.excepthook`` avec les arguments ``hook``, " +"``type``, ``value``, ``traceback`` lorsqu'une exception non interceptée se " +"produit. Si aucun point d'entrée n'a été défini, ``hook`` peut être " +"``None``. Si n'importe quel point d'entrée lève une exception dérivée de :" +"class:`RuntimeError`, l'appel au point d'entrée sera supprimé. Autrement, " +"l'exception du point d'entrée d'audit sera reporté comme *non levable* " +"(**unraisable** en anglais) et ``sys.excepthook`` sera appelé." #: library/sys.rst:359 msgid "" @@ -588,6 +626,9 @@ msgid "" "the :func:`threading.excepthook` function handles exception raised by :func:" "`threading.Thread.run`." msgstr "" +"La fonction :func:`sys.unraisablehook` gère les exceptions *non-levables* et " +"la fonction :func:`threading.excepthook` gère les exceptions levées par :" +"func:`threading.Thread.run`." #: library/sys.rst:369 msgid "" @@ -876,7 +917,7 @@ msgstr ":const:`dev_mode`" #: library/sys.rst:479 msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" -msgstr "" +msgstr ":option:`-X dev <-X>` (:ref:`Python en mode développement `)" #: library/sys.rst:480 msgid ":const:`utf8_mode`" @@ -1074,6 +1115,8 @@ msgid "" "Use :func:`math.ulp(0.0) ` to get the smallest positive " "*denormalized* representable float." msgstr "" +"Utilisez :func:`math.ulp(0.0) ` pour obtenir le plus petit nombre " +"a virgule positif *dénormalisé* représentable." #: library/sys.rst:544 msgid ":const:`min_exp`" @@ -1274,6 +1317,11 @@ msgid "" "filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" "c:type:`PyConfig`." msgstr "" +"L':term:`encodage du système de fichiers et gestionnaire d'erreurs associé " +"` sont configurés au démarrage de " +"Python par la fonction :c:func:`PyConfig_Read` : regardez :c:member:" +"`~PyConfig.filesystem_encoding` et :c:member:`~PyConfig.filesystem_errors` " +"dans les membres de :c:type:`PyConfig`." #: library/sys.rst:654 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." @@ -1782,6 +1830,8 @@ msgid "" "The addition of new required attributes must go through the normal PEP " "process. See :pep:`421` for more information." msgstr "" +"L'addition de nouveaux attributs requis doivent passer par le processus de " +"**PEP** classique. Voir :pep:`421` pour plus d'informations." #: library/sys.rst:959 msgid "" @@ -1864,12 +1914,17 @@ msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with argument ``hook``." msgstr "" +"Lève un :ref:`évènement d'audit ` ``cpython.run_interactivehook`` " +"avec comme argument ``hook``." #: library/sys.rst:1000 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with the hook object as the argument when the hook is called on startup." msgstr "" +"Lève un :ref:`évènement d'audit ` ``cpython.run_interactivehook`` " +"avec l'objet de point d'entrée comme argument lorsqu'il est appelé au " +"démarrage." #: library/sys.rst:1009 msgid "" @@ -2254,6 +2309,9 @@ msgid "" "Name of the platform-specific library directory. It is used to build the " "path of standard library and the paths of installed extension modules." msgstr "" +"Nom du dossier de la bibliothèque spécifique à la plateforme. Il est utilisé " +"pour construire le chemin de vers la bibliothèque standard et les chemins " +"vers les modules d'extensions installés." #: library/sys.rst:1221 msgid "" @@ -2261,12 +2319,18 @@ msgid "" "equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." "path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" msgstr "" +"C'est égal à ``\"lib\"`` sur la plupart des plateformes. Sur Fedora et SuSE, " +"c'est égal à ``\"lib64\"`` sur les plateformes 64-bits qui renvoient les " +"chemins ``sys.path`` suivants (où ``X.Y`` et la version ``majeure.mineur`` " +"de Python) :" #: library/sys.rst:1225 msgid "" "``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " "module)" msgstr "" +"``/usr/lib64/pythonX.Y/`` : Bibliothèque standard (comme ``os.py`` du " +"module :mod:`os`)" #: library/sys.rst:1227 msgid "" @@ -2274,18 +2338,25 @@ msgid "" "library (like the :mod:`errno` module, the exact filename is platform " "specific)" msgstr "" +"``/usr/lib64/pythonX.Y/lib-dynload/`` : Modules d'extension C de la " +"bibliothèque standard (comme le module :mod:`errno`, le nom du fichier exact " +"est spécifique à la plateforme)" #: library/sys.rst:1230 msgid "" "``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." "platlibdir`): Third-party modules" msgstr "" +"``/usr/lib/pythonX.Y/site-packages/`` (toujours utiliser ``lib``, et non :" +"data:`sys.platlibdir`) : modules tiers" #: library/sys.rst:1232 msgid "" "``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " "packages" msgstr "" +"``/usr/lib64/pythonX.Y/site-packages/`` : Modules d'extension C de paquets " +"tiers" #: library/sys.rst:1240 #, fuzzy @@ -2406,6 +2477,8 @@ msgid "" "Raises an :ref:`auditing event ` ``sys.setprofile`` with no " "arguments." msgstr "" +"Lève un :ref:`évènement d'audit ` ``sys.setprofile`` sans " +"arguments." #: library/sys.rst:1394 msgid "The events have the following meaning:" @@ -2675,6 +2748,17 @@ msgid "" "tracing function that simply returns ``None`` to disable itself immediately " "on each frame)." msgstr "" +"Pour une utilisation plus fine, il est possible de définir une fonction de " +"traçage en assignant ``frame.f_trace = tracefunc`` explicitement, plutôt que " +"de s'appuyer sur le fait qu'elle soit définie indirectement par la valeur de " +"retour d'une fonction trace déjà installée. Cela est aussi demandé pour " +"l'activation de la fonction de traçage dans le cadre, ce que :func:" +"`settrace` ne fait pas. Notez que pour que cela fonctionne, une fonction " +"globale de traçage doit avoir été installée avec :func:`settrace` afin " +"d'activer le mécanisme de traçage au moment de l'exécution, mais il n'est " +"pas nécessaire que ce soit la même fonction de traçage (Par exemple, cela " +"pourrait être une fonction de traçage avec peu de surcharge qui retourne " +"simplement ``None`` pour se désactiver immédiatement à chaque cadre)." #: library/sys.rst:1443 msgid "For more information on code and frame objects, refer to :ref:`types`." @@ -2687,6 +2771,7 @@ msgid "" "Raises an :ref:`auditing event ` ``sys.settrace`` with no " "arguments." msgstr "" +"Lève un :ref:`évènement d'audit ` ``sys.settrace`` sans arguments." #: library/sys.rst:1449 msgid "" @@ -2728,18 +2813,24 @@ msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_firstiter`` with no arguments." msgstr "" +"Lève un :ref:`évènement d'audit ` ``sys." +"set_asyncgen_hooks_firstiter`` sans arguments." #: library/sys.rst:1469 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_finalizer`` with no arguments." msgstr "" +"Lève un :ref:`événement d'audit ` ``sys." +"set_asyncgen_hooks_finalizer`` sans arguments." #: library/sys.rst:1471 msgid "" "Two auditing events are raised because the underlying API consists of two " "calls, each of which must raise its own event." msgstr "" +"Deux événements d'audit sont levés car l'API sous-jacente consiste de deux " +"appels, dont chacun doit lever son propre événement." #: library/sys.rst:1474 msgid "" @@ -2919,6 +3010,8 @@ msgstr "" msgid "" "Non-interactive ``stderr`` is now line-buffered instead of fully buffered." msgstr "" +"Le ``stderr`` non interactif est maintenant mis en mémoire-tampon ligne par " +"ligne plutôt qu'entièrement." #: library/sys.rst:1575 msgid "" @@ -3081,7 +3174,7 @@ msgstr "" #: library/sys.rst:1665 msgid "Handle an unraisable exception." -msgstr "" +msgstr "Gère une exception *non levable* (**unraisable** en anglais)" #: library/sys.rst:1667 msgid "" @@ -3089,6 +3182,9 @@ msgid "" "handle it. For example, when a destructor raises an exception or during " "garbage collection (:func:`gc.collect`)." msgstr "" +"Appelé lorsqu'une exception s'est produite mais qu'il n'y a aucun moyen pour " +"Python de la gérer. Par exemple, lorsqu'un destructeur lève une exception ou " +"durant le passage du ramasse-miettes (:func:`gc.collect`)." #: library/sys.rst:1671 msgid "The *unraisable* argument has the following attributes:" @@ -3109,23 +3205,28 @@ msgstr "" #: library/sys.rst:1676 msgid "*err_msg*: Error message, can be ``None``." -msgstr "" +msgstr "*err_msg* : Message d'erreur, peut être ``None``." #: library/sys.rst:1677 msgid "*object*: Object causing the exception, can be ``None``." -msgstr "" +msgstr "*object* : Objet causant l'exception, peut être ``None``." #: library/sys.rst:1679 msgid "" "The default hook formats *err_msg* and *object* as: ``f'{err_msg}: {object!" "r}'``; use \"Exception ignored in\" error message if *err_msg* is ``None``." msgstr "" +"Le point d'entrée par défaut formate *err_msg* et *object* de la façon " +"suivante : ``f'{err_msg}: {object!r}'``; sinon utilise \"*Exception ignored " +"in*\" dans le message d'erreur si *err_msg* est à ``None``." #: library/sys.rst:1683 msgid "" ":func:`sys.unraisablehook` can be overridden to control how unraisable " "exceptions are handled." msgstr "" +":func:`sys.unraisablehook` peut être remplacé pour contrôler comment les " +"exceptions *non levables* (**unraisable** en anglais) sont gérées." #: library/sys.rst:1686 msgid "" @@ -3151,7 +3252,7 @@ msgstr "" #: library/sys.rst:1694 msgid "See also :func:`excepthook` which handles uncaught exceptions." -msgstr "" +msgstr "Voir aussi :func:`excepthook` qui gère les exceptions *non levables*." #: library/sys.rst:1696 msgid "" @@ -3166,6 +3267,10 @@ msgid "" "``unraisable`` object is the same as what will be passed to the hook. If no " "hook has been set, ``hook`` may be ``None``." msgstr "" +"Lève un événement d'audit ``sys.unraisablehook`` avec comme arguments " +"``hook``, ``unraisable`` lorsqu'une exception qui ne peut être gérée se " +"produit. L'objet ``unraisable`` est le même qui sera passé au point " +"d'entrée. Si aucun point d'entrée n'est défini, ``hook`` peut être ``None``." #: library/sys.rst:1707 msgid "" diff --git a/library/typing.po b/library/typing.po index df98a8f571..78d8b9c4df 100644 --- a/library/typing.po +++ b/library/typing.po @@ -72,6 +72,10 @@ msgid "" "`typing_extensions `_ package " "provides backports of these new features to older versions of Python." msgstr "" +"Le module ``typing`` est fréquemment enrichi de nouvelles fonctionnalités. " +"Le package `typing_extensions `_ fournit des rétro-portages de ces fonctionnalités vers les anciennes " +"versions de Python." #: library/typing.rst:41 msgid "" @@ -79,10 +83,15 @@ msgid "" "reference for type system features, useful typing related tools and typing " "best practices." msgstr "" +"La documentation https://typing.readthedocs.io/ est une référence utile pour " +"les fonctionnalités du système de types, les outils liés au typage et les " +"bonnes pratiques de typage.La documentation sur https://typing.readthedocs." +"io/ sert de référence pour les fonctionnalités, les outils utiles et les " +"meilleures pratiques liés au système de typage." #: library/typing.rst:47 msgid "Relevant PEPs" -msgstr "" +msgstr "PEPs pertinentes" #: library/typing.rst:49 msgid "" @@ -90,87 +99,102 @@ msgid "" "number of PEPs have modified and enhanced Python's framework for type " "annotations. These include:" msgstr "" +"Depuis l'introduction initiale des annotations de type dans les :pep:`484` " +"et :pep:`483`, plusieurs PEPs ont modifié et amélioré le framework " +"d'annotation de type. Cela inclut :" #: library/typing.rst:54 msgid ":pep:`526`: Syntax for Variable Annotations" -msgstr "" +msgstr ":pep:`526` : Syntaxe pour les Annotations de Variables" #: library/typing.rst:54 msgid "" "*Introducing* syntax for annotating variables outside of function " "definitions, and :data:`ClassVar`" msgstr "" +"*Introduction* d'une syntaxe permettant d'annoter les variables autrement " +"qu'au sein de la définition d'une fonction et de :data:`ClassVar`" #: library/typing.rst:57 msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)" msgstr "" +":pep:`544`: Protocoles : Sous-typage Structurel (*duck-typing* statique)" #: library/typing.rst:57 msgid "" "*Introducing* :class:`Protocol` and the :func:" "`@runtime_checkable` decorator" msgstr "" +"*Ajout* de :class:`Protocol` et du décorateur :func:" +"`@runtime_checkable`" #: library/typing.rst:60 msgid ":pep:`585`: Type Hinting Generics In Standard Collections" -msgstr "" +msgstr ":pep:`585`: Annotations de Type Générique dans les Collections Natives" #: library/typing.rst:60 msgid "" "*Introducing* :class:`types.GenericAlias` and the ability to use standard " "library classes as :ref:`generic types`" msgstr "" +"*Ajout* de :class:`types.GenericAlias` et de la possibilité d'utiliser les " +"classes de bibliothèques natives comme les :ref:`types génériques`" #: library/typing.rst:62 msgid ":pep:`586`: Literal Types" -msgstr "" +msgstr ":pep:`586`: Types Littéraux" #: library/typing.rst:63 msgid "*Introducing* :data:`Literal`" -msgstr "" +msgstr "*Ajout* de :data:`Literal`" #: library/typing.rst:64 msgid "" ":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys" msgstr "" +":pep:`589`: TypedDict: Annotations de Type pour les Dictionnaires ayant un " +"Ensemble Fixe de Clés" #: library/typing.rst:65 msgid "*Introducing* :class:`TypedDict`" -msgstr "" +msgstr "*Ajout* de :class:`TypedDict`" #: library/typing.rst:66 msgid ":pep:`591`: Adding a final qualifier to typing" -msgstr "" +msgstr ":pep:`591`: Ajout d'un qualificatif final au typage" #: library/typing.rst:67 msgid "*Introducing* :data:`Final` and the :func:`@final` decorator" -msgstr "" +msgstr "*Ajout* de :data:`Final` et du décorateur :func:`@final`" #: library/typing.rst:68 msgid ":pep:`593`: Flexible function and variable annotations" -msgstr "" +msgstr ":pep:`593`: fonction Flexible et annotations de variables" #: library/typing.rst:69 msgid "*Introducing* :data:`Annotated`" -msgstr "" +msgstr "*Ajout* de :data:`Annotated`" #: library/typing.rst:72 msgid ":pep:`604`: Allow writing union types as ``X | Y``" -msgstr "" +msgstr ":pep:`604`: Permettre l'écriture de types union tels que ``X | Y``" #: library/typing.rst:71 msgid "" "*Introducing* :data:`types.UnionType` and the ability to use the binary-or " "operator ``|`` to signify a :ref:`union of types`" msgstr "" +"*Ajout* de :data:`types.UnionType` et la possibilité d'utiliser l'opérateur " +"binaire ``|`` (*ou*) pour signifier :ref:`union of types`" #: library/typing.rst:74 msgid ":pep:`612`: Parameter Specification Variables" -msgstr "" +msgstr ":pep:`612`: Variables de Spécification de Paramètre" #: library/typing.rst:75 msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`" -msgstr "" +msgstr "*Ajout* de :class:`ParamSpec` et de :data:`Concatenate`" #: library/typing.rst:76 #, fuzzy @@ -179,15 +203,15 @@ msgstr "Voir la :pep:`484` pour plus de détails." #: library/typing.rst:77 msgid "*Introducing* :data:`TypeAlias`" -msgstr "" +msgstr "*Ajout* de :data:`TypeAlias`" #: library/typing.rst:79 msgid ":pep:`647`: User-Defined Type Guards" -msgstr "" +msgstr ":pep:`647`: Gardes de Types Définies par l'Utilisateur" #: library/typing.rst:79 msgid "*Introducing* :data:`TypeGuard`" -msgstr "" +msgstr "*Ajout* de :data:`TypeGuard`" #: library/typing.rst:84 msgid "Type aliases" @@ -277,7 +301,7 @@ msgstr "" #: library/typing.rst:159 msgid "It is invalid to create a subtype of ``Derived``::" -msgstr "" +msgstr "La création d'un sous-type de ``Derived`` est invalide:" #: library/typing.rst:168 #, fuzzy @@ -332,6 +356,9 @@ msgid "" "runtime cost when calling ``NewType`` over a regular function. However, " "this cost will be reduced in 3.11.0." msgstr "" +"``NewType`` est maintenant une classe (plutôt qu'une fonction). Cela " +"entraine un coût supplémentaire en temps d'exécution lors d'un appel. " +"Cependant, ce coût sera réduit dans la version 3.11.0." #: library/typing.rst:203 msgid "Callable" @@ -370,18 +397,29 @@ msgid "" "``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " "ReturnType]`` respectively." msgstr "" +"Les appelables qui prennent en argument d'autres appelables peuvent indiquer " +"que leurs types de paramètres dépendent les uns des autres en utilisant :" +"class:`ParamSpec`. De plus, si un appelable ajoute ou supprime des arguments " +"d'autres appelables, l'opérateur :data:`Concatenate` peut être utilisé. Ils " +"prennent la forme ``Callable[ParamSpecVariable, ReturnType]`` et " +"``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " +"ReturnType]`` respectivement." #: library/typing.rst:726 msgid "" "``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :" "pep:`612` for more details." msgstr "" +"``Callable`` prend désormais en charge :class:`ParamSpec` et :data:" +"`Concatenate`. Voir :pep:`612` pour plus de détails." #: library/typing.rst:240 msgid "" "The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " "examples of usage in ``Callable``." msgstr "" +"La documentation pour :class:`ParamSpec` et :class:`Concatenate` fournit des " +"exemples d'utilisation dans ``Callable``." #: library/typing.rst:246 msgid "Generics" @@ -1983,7 +2021,7 @@ msgstr "Classe de base abstraite pour les types génériques." #: library/typing.rst:1752 msgid "Corresponding to collections in :mod:`collections.abc`" -msgstr "" +msgstr "Correspond aux collections au sein de :mod:`collections.abc`" #: library/typing.rst:1756 msgid "A generic version of :class:`collections.abc.Set`." @@ -2164,7 +2202,7 @@ msgstr "" #: library/typing.rst:1871 msgid "Corresponding to other types in :mod:`collections.abc`" -msgstr "" +msgstr "Correspond aux autres types au sein de :mod:`collections.abc`." #: library/typing.rst:1875 msgid "A generic version of :class:`collections.abc.Iterable`." @@ -2256,7 +2294,7 @@ msgstr "Un alias pour :class:`collections.abc.Sized`" #: library/typing.rst:1941 msgid "Asynchronous programming" -msgstr "" +msgstr "Programmation asynchrone" #: library/typing.rst:1945 msgid "" @@ -2356,7 +2394,7 @@ msgstr "" #: library/typing.rst:2030 msgid "Context manager types" -msgstr "" +msgstr "Types associés aux gestionnaires de contexte" #: library/typing.rst:2034 msgid "A generic version of :class:`contextlib.AbstractContextManager`." @@ -2385,11 +2423,11 @@ msgstr "" #: library/typing.rst:2055 msgid "Protocols" -msgstr "" +msgstr "Protocoles" #: library/typing.rst:2057 msgid "These protocols are decorated with :func:`runtime_checkable`." -msgstr "" +msgstr "Ces protocoles sont décorés par :func:`runtime_checkable`." #: library/typing.rst:2061 msgid "" @@ -2551,7 +2589,7 @@ msgstr "" #: library/typing.rst:2192 msgid "Introspection helpers" -msgstr "" +msgstr "Utilitaires d'introspection" #: library/typing.rst:2196 msgid "" @@ -2584,6 +2622,9 @@ msgid "" "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " "more information). For example::" msgstr "" +"La fonction remplace récursivement tous les ``Annotated[T, ...]`` avec " +"``T``, sauf si la valeur de ``include_extras`` est définie à ``True`` (voir :" +"class:`Annotated` pour plus d'information). Par exemple ::" #: library/typing.rst:2222 msgid "" @@ -2591,10 +2632,14 @@ msgid "" "aliases>` that include forward references. Enabling postponed evaluation of " "annotations (:pep:`563`) may remove the need for most forward references." msgstr "" +":func:`get_type_hints` ne fonctionne pas avec les :ref:`alias de type ` importés contenant des références postérieures. L'activation " +"d'évaluation différée des annotations (:pep:`563`) permet de supprimer le " +"besoin de références postérieures supplémentaires." #: library/typing.rst:2227 msgid "Added ``include_extras`` parameter as part of :pep:`593`." -msgstr "" +msgstr "Ajout du paramètre ``include_extras`` comme énoncé dans la :pep:`593`." #: library/typing.rst:2233 msgid "Provide basic introspection for generic types and special typing forms." @@ -2620,7 +2665,7 @@ msgstr "" #: library/typing.rst:2254 msgid "Check if a type is a :class:`TypedDict`." -msgstr "" +msgstr "Vérifier si un type est un :class:`TypedDict`." #: library/typing.rst:2269 #, fuzzy @@ -2643,6 +2688,9 @@ msgid "" "implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " "will not automatically resolve to ``list[SomeClass]``." msgstr "" +"Les types :pep:`585` tels que ``list[\"SomeClass\"]`` ne seront pas " +"implicitement transformés en ``list[ForwardRef(\"SomeClass\")]`` et ne " +"seront donc pas automatiquement résolus en ``list[SomeClass]``." #: library/typing.rst:2282 msgid "Constant" @@ -2678,6 +2726,11 @@ msgid "" "in ``__annotations__``. This makes it unnecessary to use quotes around the " "annotation (see :pep:`563`)." msgstr "" +"Si ``from __future__ import annotations`` est utilisé, les annotations ne " +"sont pas évaluées au moment de la définition de fonction. Elles sont alors " +"stockées comme des chaînes de caractères dans ``__annotations__``, ce qui " +"rend inutile l'utilisation de guillemets autour de l'annotation (Voir :pep:" +"`563`)." #~ msgid "" #~ "The latter example's signature is essentially the overloading of ``(str, " diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 55b93e9985..dfa161820b 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -16,25 +16,28 @@ msgstr "" #: library/xml.etree.elementtree.rst:2 msgid ":mod:`xml.etree.ElementTree` --- The ElementTree XML API" -msgstr "" +msgstr ":mod:`xml.etree.ElementTree` — L'API ElementTree XML" #: library/xml.etree.elementtree.rst:9 msgid "**Source code:** :source:`Lib/xml/etree/ElementTree.py`" -msgstr "" +msgstr "**Code Source:** :source:`Lib/xml/etree/ElementTree.py`" #: library/xml.etree.elementtree.rst:13 msgid "" "The :mod:`xml.etree.ElementTree` module implements a simple and efficient " "API for parsing and creating XML data." msgstr "" +"Le module :mod:`xml.etree.ElementTree` implémente une API simple et " +"efficace pour analyser et créer des données XML." #: library/xml.etree.elementtree.rst:16 msgid "This module will use a fast implementation whenever available." msgstr "" +"Ce module utilise une implémentation rapide chaque fois que c'est possible." #: library/xml.etree.elementtree.rst:19 msgid "The :mod:`xml.etree.cElementTree` module is deprecated." -msgstr "" +msgstr "Le module :mod:`xml.etree.cElementTree` est obsolète." #: library/xml.etree.elementtree.rst:25 #, fuzzy @@ -57,10 +60,13 @@ msgid "" "short). The goal is to demonstrate some of the building blocks and basic " "concepts of the module." msgstr "" +"Ceci est un petit tutoriel pour utiliser :mod:`xml.etree.ElementTree` " +"(``ET``). Le but est de démontrer quelques composants et les concepts " +"basiques du module." #: library/xml.etree.elementtree.rst:37 msgid "XML tree and elements" -msgstr "" +msgstr "Arborescence et éléments XML" #: library/xml.etree.elementtree.rst:39 msgid "" @@ -72,24 +78,33 @@ msgid "" "class:`ElementTree` level. Interactions with a single XML element and its " "sub-elements are done on the :class:`Element` level." msgstr "" +"XML est un format de données fondamentalement hiérarchique et la façon la " +"plus naturelle de la représenter est avec un arbre. ``ET`` a deux classes " +"pour ce but- :class:`ElementTree` représente l'ensemble du document XML " +"comme un arbre et :class:`Element` est représenté en tant que nœud dans cet " +"arbre. Les interactions (lire et écrire vers/depuis des fichiers) sur le " +"document sont habituellement effectués au niveau de :class:`ElementTree`. " +"Les interactions sur un seul élément XML et ses sous-éléments sont effectués " +"au niveau de :class:`Element`." #: library/xml.etree.elementtree.rst:50 msgid "Parsing XML" -msgstr "" +msgstr "Analyse XML" #: library/xml.etree.elementtree.rst:52 msgid "" "We'll be using the following XML document as the sample data for this " "section:" msgstr "" +"Nous utilisons le document XML suivant comme exemple pour cette section :" #: library/xml.etree.elementtree.rst:80 msgid "We can import this data by reading from a file::" -msgstr "" +msgstr "Nous pouvons importer cette donnée en lisant un fichier ::" #: library/xml.etree.elementtree.rst:86 msgid "Or directly from a string::" -msgstr "" +msgstr "Ou depuis une chaîne de caractères ::" #: library/xml.etree.elementtree.rst:90 msgid "" @@ -98,19 +113,27 @@ msgid "" "functions may create an :class:`ElementTree`. Check the documentation to be " "sure." msgstr "" +":func:`fromstring` analyse le XML depuis une chaîne de caractères vers un :" +"class:`Element`, ce dernier est l'élément racine de l'arbre analysé. " +"D'Autres fonctions d'analyse peuvent créer un :class:`ElementTree`. " +"Vérifier la documentation pour être sûr." #: library/xml.etree.elementtree.rst:94 msgid "" "As an :class:`Element`, ``root`` has a tag and a dictionary of attributes::" msgstr "" +"Comme :class:`Element`, ``root`` a une balise et un dictionnaire " +"d'attributs ::" #: library/xml.etree.elementtree.rst:101 msgid "It also has children nodes over which we can iterate::" -msgstr "" +msgstr "Il contient aussi des nœuds enfants que nous pouvons itérer ::" #: library/xml.etree.elementtree.rst:110 msgid "Children are nested, and we can access specific child nodes by index::" msgstr "" +"Les enfants sont imbriqués et nous pouvons accéder aux nœuds enfants " +"spécifiques via un index ::" #: library/xml.etree.elementtree.rst:118 msgid "" @@ -123,10 +146,19 @@ msgid "" "passing a custom :class:`TreeBuilder` instance to the :class:`XMLParser` " "constructor." msgstr "" +"Les éléments du XML d'entrée ne sont pas tous considérés comme des éléments " +"de l'arborescence. Souvent, le module ignore les commentaires XML, les " +"instructions de traitements et la déclaration du type de document dans " +"l'entrée. Néanmoins, les arborescences sont construites en utilisant l'API " +"du module plutôt que d'analyser depuis un texte XML qui peut contenir des " +"commentaires et des instructions de traitements ; ils peuvent être inclus " +"lors de la génération du XML de sortie. Le type de déclaration du document " +"est accessible en passant par une instance de :class:`TreeBuilder` dans le " +"constructeur de :class:`XMLParser`." #: library/xml.etree.elementtree.rst:132 msgid "Pull API for non-blocking parsing" -msgstr "" +msgstr "API à flux tiré" #: library/xml.etree.elementtree.rst:134 msgid "" @@ -166,7 +198,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:169 msgid "Finding interesting elements" -msgstr "" +msgstr "Trouver les éléments d'intérêt" #: library/xml.etree.elementtree.rst:171 msgid "" @@ -174,6 +206,9 @@ msgid "" "all the sub-tree below it (its children, their children, and so on). For " "example, :meth:`Element.iter`::" msgstr "" +":class:`Element` a quelques méthodes très utiles qui aident à parcourir " +"récursivement tous les sous-arbres (ses enfants, leurs enfants et ainsi de " +"suite). Par exemple, :meth:`Element.iter` ::" #: library/xml.etree.elementtree.rst:184 msgid "" @@ -182,6 +217,11 @@ msgid "" "child with a particular tag, and :attr:`Element.text` accesses the element's " "text content. :meth:`Element.get` accesses the element's attributes::" msgstr "" +":meth:`Element.findall` récupère seulement les éléments avec une balise qui " +"sont les descendants directs de l'élément courant. :meth:`Element.find` " +"récupère le *premier* élément avec une balise particulière et :attr:`Element." +"text` accède au contenu textuel de l'élément. :meth:`Element.get` accède " +"aux attributs de l'élément ::" #: library/xml.etree.elementtree.rst:198 msgid "" @@ -191,7 +231,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:202 msgid "Modifying an XML File" -msgstr "" +msgstr "Modification d'un fichier XML" #: library/xml.etree.elementtree.rst:204 msgid "" @@ -215,7 +255,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:222 library/xml.etree.elementtree.rst:266 msgid "Our XML now looks like this:" -msgstr "" +msgstr "Maintenant, notre XML ressemble à ceci :" #: library/xml.etree.elementtree.rst:250 msgid "" @@ -233,7 +273,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:288 msgid "Building XML documents" -msgstr "" +msgstr "Création de documents XML" #: library/xml.etree.elementtree.rst:290 msgid "" @@ -243,7 +283,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:301 msgid "Parsing XML with Namespaces" -msgstr "" +msgstr "Analyse d'un XML avec des espaces de noms" #: library/xml.etree.elementtree.rst:303 msgid "" @@ -276,11 +316,11 @@ msgstr "" #: library/xml.etree.elementtree.rst:355 msgid "These two approaches both output::" -msgstr "" +msgstr "Ces deux approches donnent le même résultat ::" #: library/xml.etree.elementtree.rst:369 msgid "XPath support" -msgstr "" +msgstr "Prise en charge de XPath" #: library/xml.etree.elementtree.rst:371 msgid "" @@ -309,7 +349,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:410 msgid "Supported XPath syntax" -msgstr "" +msgstr "Prise en charge de la syntaxe XPath" #: library/xml.etree.elementtree.rst:415 msgid "Syntax" @@ -332,6 +372,13 @@ msgid "" "``spam`` in any (or no) namespace, and ``{}*`` only selects tags that are " "not in a namespace." msgstr "" +"Sélectionne tous les éléments enfants avec une balise donnée. Par exemple, " +"``spam`` sélectionne tous les éléments enfants nommés ``spam`` et ``spam/" +"egg`` sélectionne tous les petits-enfants nommés ``egg`` dans les enfants " +"nommés ``spam``. ``{namespace}*`` sélectionne toutes les balises dans " +"l'espace de nom donné, ``{*}spam`` sélectionne les balises nommées ``spam`` " +"dans n'importe quel (ou aucun) espace de nom et ``{}*`` sélectionne " +"seulement les balises qui ne sont pas dans un espace de nom." #: library/xml.etree.elementtree.rst:426 msgid "Support for star-wildcards was added." @@ -488,6 +535,7 @@ msgstr "Fonctions" #: library/xml.etree.elementtree.rst:502 msgid "`C14N 2.0 `_ transformation function." msgstr "" +"`C14N 2.0 `_ fonction de transformation." #: library/xml.etree.elementtree.rst:504 msgid "" @@ -514,11 +562,13 @@ msgstr "Usage typique ::" #: library/xml.etree.elementtree.rst:528 msgid "The configuration *options* are as follows:" -msgstr "" +msgstr "Les *options* de configuration sont les suivantes :" #: library/xml.etree.elementtree.rst:530 msgid "*with_comments*: set to true to include comments (default: false)" msgstr "" +"*with_comments* : attribue à vrai pour inclure les commentaires (par " +"défaut : faux)" #: library/xml.etree.elementtree.rst:531 msgid "" @@ -527,7 +577,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:532 library/xml.etree.elementtree.rst:534 msgid "(default: false)" -msgstr "" +msgstr "(par défaut : faux)" #: library/xml.etree.elementtree.rst:533 msgid "" @@ -593,7 +643,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:569 msgid "*elem* is an element tree or an individual element." -msgstr "" +msgstr "*elem* est un élément de l'arborescence ou un élément individuel." #: library/xml.etree.elementtree.rst:571 msgid "" @@ -671,11 +721,11 @@ msgstr "" #: library/xml.etree.elementtree.rst:641 msgid "The *parser* argument." -msgstr "" +msgstr "L'argument *parser*." #: library/xml.etree.elementtree.rst:644 library/xml.etree.elementtree.rst:1473 msgid "The ``comment`` and ``pi`` events were added." -msgstr "" +msgstr "Les évènements ``comment`` et ``pi`` ont été ajoutés." #: library/xml.etree.elementtree.rst:650 msgid "" @@ -744,7 +794,7 @@ msgstr "Le paramètre *short_empty_elements*." #: library/xml.etree.elementtree.rst:708 library/xml.etree.elementtree.rst:735 msgid "The *xml_declaration* and *default_namespace* parameters." -msgstr "" +msgstr "Les paramètres *xml_declaration* et *default_namespace*." #: library/xml.etree.elementtree.rst:711 msgid "" @@ -791,7 +841,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:763 msgid "XInclude support" -msgstr "" +msgstr "Prise en charge de XInclude" #: library/xml.etree.elementtree.rst:765 msgid "" @@ -888,6 +938,8 @@ msgid "" "Element class. This class defines the Element interface, and provides a " "reference implementation of this interface." msgstr "" +"Classe Element. Cette classe définit l'interface Element et fournit une " +"implémentation de référence de cette interface." #: library/xml.etree.elementtree.rst:870 msgid "" @@ -944,6 +996,8 @@ msgstr "" #: library/xml.etree.elementtree.rst:916 msgid "The following dictionary-like methods work on the element attributes." msgstr "" +"Les méthodes dictionnaire-compatibles suivantes traitent les attributs de " +"l'élément." #: library/xml.etree.elementtree.rst:921 msgid "" @@ -953,18 +1007,22 @@ msgstr "" #: library/xml.etree.elementtree.rst:927 msgid "Gets the element attribute named *key*." -msgstr "" +msgstr "Accède à l'attribut de l'élément nommé *key*." #: library/xml.etree.elementtree.rst:929 msgid "" "Returns the attribute value, or *default* if the attribute was not found." msgstr "" +"Renvoie la valeur de l'attribut ou *default* si l'attribut n'a pas été " +"trouvé." #: library/xml.etree.elementtree.rst:934 msgid "" "Returns the element attributes as a sequence of (name, value) pairs. The " "attributes are returned in an arbitrary order." msgstr "" +"Renvoie les attributs de l'élément comme une séquence de paire (nom, " +"valeur). Les attributs sont renvoyés un l'ordre arbitraire." #: library/xml.etree.elementtree.rst:940 msgid "" @@ -974,11 +1032,11 @@ msgstr "" #: library/xml.etree.elementtree.rst:946 msgid "Set the attribute *key* on the element to *value*." -msgstr "" +msgstr "Change l'attribut *key* à l'élément *value*." #: library/xml.etree.elementtree.rst:948 msgid "The following methods work on the element's children (subelements)." -msgstr "" +msgstr "Les méthodes suivantes traitent les éléments enfants (sous-éléments)." #: library/xml.etree.elementtree.rst:953 msgid "" @@ -1110,7 +1168,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1094 msgid "ElementTree Objects" -msgstr "" +msgstr "Objets ElementTree" #: library/xml.etree.elementtree.rst:1099 msgid "" @@ -1134,7 +1192,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1116 msgid "Same as :meth:`Element.find`, starting at the root of the tree." -msgstr "" +msgstr "Comme :meth:`Element.find`, commence à la racine de l'arbre." #: library/xml.etree.elementtree.rst:1121 msgid "Same as :meth:`Element.findall`, starting at the root of the tree." @@ -1146,7 +1204,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1131 msgid "Returns the root element for this tree." -msgstr "" +msgstr "Renvoie l'élément racine de l'arbre." #: library/xml.etree.elementtree.rst:1136 msgid "" @@ -1210,7 +1268,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1220 msgid "QName Objects" -msgstr "" +msgstr "Objets QName" #: library/xml.etree.elementtree.rst:1225 msgid "" @@ -1224,7 +1282,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1237 msgid "TreeBuilder Objects" -msgstr "" +msgstr "Objets TreeBuilder" #: library/xml.etree.elementtree.rst:1243 msgid "" @@ -1262,12 +1320,16 @@ msgid "" "Adds text to the current element. *data* is a string. This should be " "either a bytestring, or a Unicode string." msgstr "" +"Ajoute du texte à l'élément courant. *data* est une chaîne de caractères. " +"Cela peut être une chaîne d'octets ou une chaîne Unicode." #: library/xml.etree.elementtree.rst:1273 msgid "" "Closes the current element. *tag* is the element name. Returns the closed " "element." msgstr "" +"Ferme l'élément courant. *tag* est le nom de l'élément. Renvoie l'élément " +"fermé." #: library/xml.etree.elementtree.rst:1279 msgid "" @@ -1325,7 +1387,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1344 msgid "XMLParser Objects" -msgstr "" +msgstr "Objets XMLParser" #: library/xml.etree.elementtree.rst:1349 msgid "" @@ -1368,7 +1430,7 @@ msgstr "" #: library/xml.etree.elementtree.rst:1417 msgid "XMLPullParser Objects" -msgstr "" +msgstr "Objets XMLPullParser" #: library/xml.etree.elementtree.rst:1421 msgid "" @@ -1461,6 +1523,8 @@ msgstr "" msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" +"Un *n*-uplet de numéro de *ligne*, de *colonne* indiquant le lieu " +"d'apparition de l'erreur." #: library/xml.etree.elementtree.rst:1497 msgid "Footnotes" @@ -1473,3 +1537,7 @@ msgid "" "https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://" "www.iana.org/assignments/character-sets/character-sets.xhtml." msgstr "" +"La chaîne de caractères encodée inclue dans la sortie XML doit être conforme " +"aux standards. Par exemple, « UTF-8 » est valide, mais pas « UTF8 ». Voir " +"https://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl et https://" +"www.iana.org/assignments/character-sets/character-sets.xhtml." diff --git a/reference/datamodel.po b/reference/datamodel.po index 83dc0e2a13..af2808218e 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -3365,6 +3365,8 @@ msgstr "" #: reference/datamodel.rst:1880 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" +"Tout :term:`itérable `, sauf les chaînes de caractères, peuvent " +"être affectés à *__slots__*." #: reference/datamodel.rst:1882 msgid "" @@ -3373,6 +3375,11 @@ msgid "" "can be used to provide per-attribute docstrings that will be recognised by :" "func:`inspect.getdoc` and displayed in the output of :func:`help`." msgstr "" +"Si vous affectez *__slots__* à un :class:`dictionnaire `, les clés du " +"dictionnaires seront les noms du *slot*. Les valeurs du dictionnaire peuvent " +"être utilisées en tant que chaines de description (*docstrings*) et sont " +"reconnues par :func:`inspect.getdoc` qui les affiche dans la sortie de :func:" +"`help`." #: reference/datamodel.rst:1887 #, fuzzy @@ -3939,6 +3946,11 @@ msgid "" "notation. For example, the annotation ``list[int]`` might be used to signify " "a :class:`list` in which all the elements are of type :class:`int`." msgstr "" +"Lors de l'utilisation d':term:`annotations de types`, il est " +"souvent utile de *paramètrer* un :term:`type générique ` en se " +"servant de la notation crochets de Python. Par exemple, l'annotation " +"``list[int]`` peut être utilisée pour signifier une :class:`liste ` " +"dans laquelle tous les éléments sont de type :class:`entiers `." #: reference/datamodel.rst:2208 #, fuzzy @@ -3947,33 +3959,43 @@ msgstr ":pep:`343` — L'instruction ``with``" #: reference/datamodel.rst:2208 msgid "Introducing Python's framework for type annotations" -msgstr "" +msgstr "Introduction à l'annotation de types en Python (document en anglais)" #: reference/datamodel.rst:2211 msgid ":ref:`Generic Alias Types`" -msgstr "" +msgstr ":ref:`Types alias génériques `" #: reference/datamodel.rst:2211 msgid "Documentation for objects representing parameterized generic classes" msgstr "" +"Documentation pour les objets qui représentent des classes génériques " +"paramétrées" #: reference/datamodel.rst:2214 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" msgstr "" +":ref:`Generics`, :ref:`Types génériques définis par l'utilisateur ` et classe :class:`typing.Generic (classe de base " +"abstraite pour les types génériques) `" #: reference/datamodel.rst:2214 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" +"Documentation sur la manière d'implémenter des classes génériques qui " +"peuvent être paramétrées à l'exécution et comprises par les vérificateurs " +"statiques de types." #: reference/datamodel.rst:2217 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." msgstr "" +"*Généralement*, une classe ne peut être paramétrée que si elle définit une " +"méthode spéciale de classe ``__class_getitem__()``." #: reference/datamodel.rst:2222 msgid "" @@ -3989,10 +4011,13 @@ msgid "" "method. As such, there is no need for it to be decorated with :func:" "`@classmethod` when it is defined." msgstr "" +"Lorsqu'elle est définie dans une classe, ``__class_getitem__()`` est " +"automatiquement une méthode de classe. Ainsi, il est superflu de la décorer " +"avec :func:`@classmethod` lors de sa définition." #: reference/datamodel.rst:2231 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "Intention de *__class_getitem__*" #: reference/datamodel.rst:2233 msgid "" @@ -4000,6 +4025,10 @@ msgid "" "parameterization of standard-library generic classes in order to more easily " "apply :term:`type hints` to these classes." msgstr "" +"Le but de :meth:`~object.__class_getitem__` est de permettre la " +"paramétrisation à l'exécution des classes génériques de la bibliothèque " +"standard de façon à pouvoir appliquer plus facilement des :term:`annotations " +"de type ` à ces classes." #: reference/datamodel.rst:2237 msgid "" @@ -4009,6 +4038,11 @@ msgid "" "__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " "own implementation of ``__class_getitem__()``." msgstr "" +"Pour implémenter des classes génériques particularisées pouvant être " +"paramétrées à l'exécution, et comprises par les vérificateurs statiques de " +"type, vous pouvez soit hériter d'une classe de la bibliothèque standard qui " +"implémente déjà :meth:`~object.__class_getitem__`, ou hériter de :class:" +"`typing.Generic`, qui a sa propre implémentation de ``__class_getitem__()``." #: reference/datamodel.rst:2243 msgid "" @@ -4017,10 +4051,15 @@ msgid "" "type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " "purposes other than type hinting is discouraged." msgstr "" +"Les implémentations particularisées de :meth:`~object.__class_getitem__` sur " +"des classes définies ailleurs que la bibliothèque standard peuvent ne pas " +"être comprises par des vérificateurs de types tiers tels que *mypy*. " +"L'utilisation de ``__class_getitem__()`` pour tout autre objectif que " +"l'annotation de type n'est pas conseillée." #: reference/datamodel.rst:2253 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* contre *__getitem__*" #: reference/datamodel.rst:2255 msgid "" @@ -4031,6 +4070,13 @@ msgid "" "instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." msgstr "" +"D'habitude, l':ref:`indiçage ` d'un objet en utilisant des " +"crochets appelle la méthode :meth:`~object.__getitem__` de l'instance, " +"définie dans la classe de l'objet. Cependant, si l'objet dont on cherche un " +"indice est lui-même une classe, la méthode de classe :meth:`~object." +"__class_getitem__` peut être appelée à la place. ``__class_getitem__()`` " +"doit renvoyer un objet :ref:`GenericAlias` si elle est " +"correctement définie." #: reference/datamodel.rst:2262 msgid "" @@ -4038,6 +4084,9 @@ msgid "" "follows something like the following process to decide whether :meth:" "`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" msgstr "" +"Lorsqu'on lui présente l':term:`expression` ``obj[x]``, l'interpréteur " +"Python suit une sorte de processus suivant pour décider s'il faut appeler :" +"meth:`~object.__getitem__` ou :meth:`~object.__class_getitem__` ::" #: reference/datamodel.rst:2290 msgid "" @@ -4048,6 +4097,12 @@ msgid "" "``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." "__class_getitem__` being called::" msgstr "" +"En Python, toutes les classes sont des instances d'autres classes. La classe " +"d'une classe est appelée la :term:`métaclasse ` de la classe et " +"la plupart des classes ont la classe :class:`type` comme métaclasse. :class:" +"`type` ne définit pas :meth:`~object.__getitem__`, ce qui veut dire que des " +"expressions telles que ``list[int]``, ``dict[str, float]`` et ``tuple[str, " +"bytes]`` aboutissent toutes à l'appel de :meth:`~object.__class_getitem__` ::" #: reference/datamodel.rst:2309 msgid "" @@ -4055,6 +4110,10 @@ msgid "" "__getitem__`, subscribing the class may result in different behaviour. An " "example of this can be found in the :mod:`enum` module::" msgstr "" +"Cependant, si une classe a une métaclasse particularisée qui définit :meth:" +"`~object.__getitem__`, l'indiçage de la classe peut conduire à un " +"comportement différent. Un exemple peut être trouvé dans le module :mod:" +"`enum` ::" #: reference/datamodel.rst:2334 #, fuzzy @@ -4068,6 +4127,9 @@ msgid "" "`subscription` results in ``__class_getitem__()`` being " "called instead of :meth:`~object.__getitem__`" msgstr "" +"Introduction de :meth:`~object.__class_getitem__`, et présentation des cas " +"où un :ref:`indiçage` conduit à l'appel de " +"``__class_getitem__()`` au lieu de :meth:`~object.__getitem__`" #: reference/datamodel.rst:2341 msgid "Emulating callable objects" @@ -4253,6 +4315,10 @@ msgid "" "meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " "See :ref:`classgetitem-versus-getitem` for more details." msgstr "" +"quand on vous :ref:`spécifiez un indice ` pour une *classe*, " +"la méthode de classe spéciale :meth:`~object.__class_getitem__` peut être " +"appelée au lieu de ``__getitem__()``. Reportez-vous à :ref:`classgetitem-" +"versus-getitem` pour plus de détails." #: reference/datamodel.rst:2465 msgid "" @@ -4548,6 +4614,8 @@ msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" +"La fonction native :func:`int` se replie sur :meth:`__trunc__` dans le cas " +"où ni :meth:`__int__` ni :meth:`__index__` ne sont définies." #: reference/datamodel.rst:2699 msgid "With Statement Context Managers" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 02181a4343..3a9652130d 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -79,33 +79,35 @@ msgstr "" #: reference/executionmodel.rst:59 msgid "The following constructs bind names:" -msgstr "" +msgstr "Les noms sont liés *via* les constructions suivantes :" #: reference/executionmodel.rst:61 msgid "formal parameters to functions," -msgstr "" +msgstr "paramètres formels de fonctions," #: reference/executionmodel.rst:62 msgid "class definitions," -msgstr "" +msgstr "définitions de classes," #: reference/executionmodel.rst:63 msgid "function definitions," -msgstr "" +msgstr "définitions de fonctions," #: reference/executionmodel.rst:64 msgid "assignment expressions," -msgstr "" +msgstr "expressions d'affectation," #: reference/executionmodel.rst:65 msgid "" ":ref:`targets ` that are identifiers if occurring in an " "assignment:" msgstr "" +":ref:`cibles ` qui sont des identifiants, lorsque c'est une " +"affectation :" #: reference/executionmodel.rst:68 msgid ":keyword:`for` loop header," -msgstr "" +msgstr "de l'entête d'une boucle :keyword:`for`," #: reference/executionmodel.rst:69 msgid "" @@ -115,11 +117,11 @@ msgstr "" #: reference/executionmodel.rst:71 msgid "in a capture pattern in structural pattern matching" -msgstr "" +msgstr "dans un champ de recherche d'un filtrage par motifs" #: reference/executionmodel.rst:73 msgid ":keyword:`import` statements." -msgstr "" +msgstr "des instructions :keyword:`import`." #: reference/executionmodel.rst:75 msgid "" @@ -127,6 +129,10 @@ msgid "" "names defined in the imported module, except those beginning with an " "underscore. This form may only be used at the module level." msgstr "" +"L'instruction :keyword:`!import` sous la forme ``from ... import *`` lie " +"tous les noms définis dans le module importé, sauf ceux qui commencent par " +"le caractère souligné. Cette écriture ne peut être utilisée qu'au niveau du " +"module." #: reference/executionmodel.rst:79 msgid "" diff --git a/reference/expressions.po b/reference/expressions.po index 5f081dc412..1271e7e759 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -920,6 +920,8 @@ msgid "" "In typical use, this is called with a single exception instance similar to " "the way the :keyword:`raise` keyword is used." msgstr "" +"Dans son utilisation typique, elle est appelée avec une seule instance " +"d'exception, de façon similaire à l'utilisation du mot-clé :keyword:`raise`." #: reference/expressions.rst:571 msgid "" @@ -1047,6 +1049,16 @@ msgid "" "the async generator by calling :meth:`~agen.aclose` method to finalize the " "generator and ultimately detach it from the event loop." msgstr "" +"Si un générateur asynchrone se termine précipitamment en raison d'un :" +"keyword:`break`, de l'annulation de la tâche de l'appelant ou d'une " +"exception, le code de nettoyage du générateur asynchrone est exécuté et lève " +"possiblement des exceptions, accède à des variables de contexte dans un " +"contexte inattendu — peut-être parce que la tâche de laquelle il dépend est " +"finie, ou pendant la fermeture de la boucle d'événements quand le point " +"d'entrée du ramasse-miettes a déjà été appelé. Afin d'éviter cette " +"situation, l'appelant doit explicitement fermer le générateur asynchrone en " +"appelant la méthode :meth:`~agen.aclose` pour « finaliser » le générateur et " +"le détacher de la boucle d'événements." #: reference/expressions.rst:669 msgid "" @@ -1277,12 +1289,18 @@ msgid "" "term:`generic class ` will generally return a :ref:" "`GenericAlias ` object." msgstr "" +"L'indiçage d'une instance de :ref:`classe containeur ` " +"sélectionne généralement un élément du conteneur. L'indiçage d'une :term:" +"`classe générique ` renvoie généralement un objet :ref:" +"`GenericAlias `." #: reference/expressions.rst:834 msgid "" "When an object is subscripted, the interpreter will evaluate the primary and " "the expression list." msgstr "" +"Lorsqu'on accède à l'indice d'un objet, l'interpréteur évalue la primaire et " +"la liste d'expressions." #: reference/expressions.rst:837 msgid "" @@ -1293,6 +1311,13 @@ msgid "" "one of these methods. For more details on when ``__class_getitem__`` is " "called instead of ``__getitem__``, see :ref:`classgetitem-versus-getitem`." msgstr "" +"L'évaluation de la primaire doit produire un objet qui gère l'indiçage. Un " +"objet est susceptible de gérer l'indiçage s'il définit la ou les deux " +"méthodes :meth:`~object.__getitem__` et :meth:`~object.__class_getitem__`. " +"Quand on spécifie un indice du primaire, le résultat de l'évaluation de la " +"liste d'expression est passé à l'une de ces méthodes. Pour plus de détails " +"sur le choix de ``__class_getitem__`` ou ``__getitem__`` pour l'appel, " +"lisez :ref:`classgetitem-versus-getitem`." #: reference/expressions.rst:844 msgid "" @@ -1300,6 +1325,10 @@ msgid "" "class:`tuple` containing the items of the expression list. Otherwise, the " "expression list will evaluate to the value of the list's sole member." msgstr "" +"Si la liste d'expressions contient au moins une virgule, elle est considérée " +"comme un :class:`n-uplet ` contenant les éléments de la liste " +"d'expressions. Sinon, la liste d'expressions est évaluée à la valeur du seul " +"membre de la liste." #: reference/expressions.rst:848 #, fuzzy diff --git a/reference/import.po b/reference/import.po index f5dbb0a100..7d3cabc8f3 100644 --- a/reference/import.po +++ b/reference/import.po @@ -650,6 +650,8 @@ msgid "" "Use of :meth:`~importlib.abc.MetaPathFinder.find_module` by the import " "system now raises :exc:`ImportWarning`." msgstr "" +"l'utilisation de :meth:`~importlib.abc.MetaPathFinder.find_module` par le " +"système d'importation lève maintenant un :exc:`ImportWarning`." #: reference/import.rst:338 msgid "Loading" @@ -904,7 +906,7 @@ msgstr "" #: reference/import.rst:477 msgid "Use of ``load_module()`` will raise :exc:`ImportWarning`." -msgstr "" +msgstr "l'utilisation de ``load_module()`` lève un :exc:`ImportWarning`." #: reference/import.rst:481 msgid "Submodules" @@ -1314,6 +1316,10 @@ msgid "" "``__file__``. Use of :meth:`~importlib.abc.Loader.module_repr` is slated to " "stop in Python 3.12." msgstr "" +"l'appel à :meth:`~importlib.abc.Loader.module_repr` a maintenant lieu après " +"avoir essayé d'utiliser l'attribut ``__spec__`` du module mais avant de se " +"rabattre vers ``__file__``. L'utilisation de :meth:`~importlib.abc.Loader." +"module_repr` est prévue d'être arrêtée dans Python 3.12." #: reference/import.rst:693 msgid "Cached bytecode invalidation" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 639b2b171d..f401cb8675 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -587,6 +587,12 @@ msgid "" "statement, but this distinction is done at the parser level, not when " "tokenizing." msgstr "" +"Certains identifiants ne sont réservés que dans des contextes particuliers. " +"Ils sont appelés *mots-clés ad hoc*. Les identifiants ``match``, ``case`` et " +"``_`` peuvent être interprétés en tant que mots-clés dans le contexte " +"d'instructions de filtrage par motifs, mais cette distinction est effectuée " +"au niveau de l'analyseur syntaxique (*parser* en anglais), pas lors de " +"l'analyse lexicale (*tokenization* en anglais)." #: reference/lexical_analysis.rst:369 msgid "" @@ -594,6 +600,9 @@ msgid "" "preserving compatibility with existing code that uses ``match``, ``case`` " "and ``_`` as identifier names." msgstr "" +"En tant que mots-clés ad hoc, leur utilisation dans le filtrage par motifs " +"est possible tout en conservant la compatibilité avec du code existant qui " +"utilise ``match``, ``case`` et ``_`` comme identifiants." #: reference/lexical_analysis.rst:380 msgid "Reserved classes of identifiers" @@ -615,11 +624,11 @@ msgstr "``_*``" #: reference/lexical_analysis.rst:387 msgid "Not imported by ``from module import *``." -msgstr "" +msgstr "N'est pas importé par ``from module import *``." #: reference/lexical_analysis.rst:408 msgid "``_``" -msgstr "" +msgstr "``_``" #: reference/lexical_analysis.rst:390 msgid "" @@ -627,6 +636,9 @@ msgid "" "`soft keyword ` that denotes a :ref:`wildcard `." msgstr "" +"Dans un motif ``case`` d'une instruction :keyword:`match`, ``_`` est un :ref:" +"`mot-clé ad hoc ` qui décrit un motif :ref:`attrape-tout " +"`." #: reference/lexical_analysis.rst:394 msgid "" @@ -634,12 +646,18 @@ msgid "" "evaluation available in the variable ``_``. (It is stored in the :mod:" "`builtins` module, alongside built-in functions like ``print``.)" msgstr "" +"De son côté, l'interpréteur interactif place le résultat de la dernière " +"évaluation dans la variable ``-`` (son emplacement se situe dans le module :" +"mod:`builtins`, avec les fonctions natives telles que ``print``)." #: reference/lexical_analysis.rst:399 msgid "" "Elsewhere, ``_`` is a regular identifier. It is often used to name " "\"special\" items, but it is not special to Python itself." msgstr "" +"Ailleurs, ``_`` est un identifiant comme un autre. Il est souvent utilisé " +"pour désigner des éléments « spéciaux », mais il n'est pas spécial pour " +"Python en tant que tel." #: reference/lexical_analysis.rst:404 msgid "" @@ -654,6 +672,8 @@ msgstr "" #: reference/lexical_analysis.rst:408 msgid "It is also commonly used for unused variables." msgstr "" +"Il est aussi communément utilisé pour signifier que la variable n'est pas " +"utilisée." #: reference/lexical_analysis.rst:416 msgid "``__*__``" @@ -861,7 +881,7 @@ msgstr "barre oblique inversée et retour à la ligne ignorés" #: reference/lexical_analysis.rst:555 msgid "\\(1)" -msgstr "" +msgstr "\\(1)" #: reference/lexical_analysis.rst:557 msgid "``\\\\``" @@ -1007,7 +1027,7 @@ msgstr "caractère dont le code est *xxxxxxxx* en hexadécimal sur 32 bits" #: reference/lexical_analysis.rst:594 msgid "\\(7)" -msgstr "" +msgstr "\\(7)" #: reference/lexical_analysis.rst:598 msgid "Notes:" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index ea54b89be9..00ec0ab58b 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -136,7 +136,7 @@ msgstr "" #: reference/simple_stmts.rst:127 msgid "Else:" -msgstr "" +msgstr "Sinon :" #: reference/simple_stmts.rst:129 msgid "" diff --git a/tutorial/errors.po b/tutorial/errors.po index 5895d012a4..9c2e49221e 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -376,12 +376,18 @@ msgid "" "will have the exception being handled attached to it and included in the " "error message::" msgstr "" +"Si une exception non gérée se produit à l'intérieur d'une section :keyword:" +"`except`, l'exception en cours de traitement est jointe à l'exception non " +"gérée et incluse dans le message d'erreur ::" #: tutorial/errors.rst:297 msgid "" "To indicate that an exception is a direct consequence of another, the :" "keyword:`raise` statement allows an optional :keyword:`from` clause::" msgstr "" +"Pour indiquer qu'une exception est la conséquence directe d'une autre, " +"l'instruction :keyword:`raise` autorise une clause facultative :keyword:" +"`from` ::" #: tutorial/errors.rst:303 msgid "This can be useful when you are transforming exceptions. For example::" @@ -393,6 +399,8 @@ msgid "" "It also allows disabling automatic exception chaining using the ``from " "None`` idiom::" msgstr "" +"Cela permet également de désactiver le chaînage automatique des exceptions à " +"l'aide de l'idiome ``from None`` ::" #: tutorial/errors.rst:336 msgid "" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 6585b9bf12..91276e577e 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -192,6 +192,9 @@ msgid "" "expression, an equal sign, then the representation of the evaluated " "expression:" msgstr "" +"Le spécificateur ``=`` peut être utilisé pour développer une expression en " +"« texte de l'expression, un signe égal, puis la représentation de " +"l'expression évaluée » :" #: tutorial/inputoutput.rst:145 #, fuzzy diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 0e5206366c..905a781708 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -88,6 +88,9 @@ msgid "" "https://www.python.org: The major Python web site. It contains code, " "documentation, and pointers to Python-related pages around the web." msgstr "" +"https://www.python.org : le site principal pour Python. Il contient du code, " +"de la documentation, des liens vers d'autres sites traitant de Python " +"partout sur Internet." #: tutorial/whatnow.rst:36 msgid "https://docs.python.org: Fast access to Python's documentation." diff --git a/using/configure.po b/using/configure.po index 45f0cd667a..632cbf6053 100644 --- a/using/configure.po +++ b/using/configure.po @@ -16,47 +16,57 @@ msgstr "" #: using/configure.rst:3 msgid "Configure Python" -msgstr "" +msgstr "Configurer Python" #: using/configure.rst:8 msgid "Configure Options" -msgstr "" +msgstr "Options de configuration" #: using/configure.rst:10 msgid "List all ``./configure`` script options using::" msgstr "" +"Il est possible d'obtenir toutes les options de ``./configure`` avec ::" #: using/configure.rst:14 msgid "" "See also the :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution." msgstr "" +"Voir aussi le fichier :file:`Misc/SpecialBuilds.txt` dans la distribution " +"des sources Python." #: using/configure.rst:17 msgid "General Options" -msgstr "" +msgstr "Options générales" #: using/configure.rst:21 msgid "" "Support loadable extensions in the :mod:`_sqlite` extension module (default " "is no)." msgstr "" +"Active la prise en charge des extensions chargeables dans le module " +"d'extension :mod:`_sqlite` (désactivé par défaut)." #: using/configure.rst:24 msgid "" "See the :meth:`sqlite3.Connection.enable_load_extension` method of the :mod:" "`sqlite3` module." msgstr "" +"Voir la méthode :meth:`sqlite3.Connection.enable_load_extension` du module :" +"mod:`sqlite3`." #: using/configure.rst:31 msgid "" "Disable IPv6 support (enabled by default if supported), see the :mod:" "`socket` module." msgstr "" +"Désactive la prise en charge d'IPv6 (activé par défaut si géré), voir le " +"module :mod:`socket`." #: using/configure.rst:36 msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." msgstr "" +"Définit la taille en bits des chiffres Python :class:`int` : 15 ou 30 bits." #: using/configure.rst:38 msgid "" @@ -66,21 +76,24 @@ msgstr "" #: using/configure.rst:41 msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." -msgstr "" +msgstr "Définit ``PYLONG_BITS_IN_DIGIT`` à ``15`` ou ``30``." #: using/configure.rst:43 msgid "See :data:`sys.int_info.bits_per_digit `." -msgstr "" +msgstr "Voir :data:`sys.int_info.bits_per_digit `." #: using/configure.rst:48 msgid "" "Compile the Python ``main()`` function and link Python executable with C++ " "compiler: ``$CXX``, or *COMPILER* if specified." msgstr "" +"Utilise le compilateur C++ (``$CXX``, ou *COMPILER* si spécifié) pour " +"compiler la fonction Python ``main()`` et l'édition des liens de " +"l'exécutable Python." #: using/configure.rst:53 msgid "Set the Python executable suffix to *SUFFIX*." -msgstr "" +msgstr "Définit à *SUFFIX* le suffixe de l'exécutable Python." #: using/configure.rst:55 msgid "" @@ -94,77 +107,93 @@ msgid "" "the :ref:`Compile-time configuration ` of " "the :mod:`zoneinfo` module." msgstr "" +"Définit le chemin par défaut de recherche des fuseaux horaires pour :data:" +"`zoneinfo.TZPATH`. Voir la :ref:`Configuration à la compilation " +"` du module :mod:`zoneinfo`." #: using/configure.rst:64 msgid "" "Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." msgstr "" +"Par défaut : ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/" +"zoneinfo:/etc/zoneinfo``." #: using/configure.rst:66 msgid "See :data:`os.pathsep` path separator." -msgstr "" +msgstr "Voir le séparateur de chemins :data:`os.pathsep`." #: using/configure.rst:72 msgid "" "Build the ``_decimal`` extension module using a thread-local context rather " "than a coroutine-local context (default), see the :mod:`decimal` module." msgstr "" +"Compile le module d'extension ``_decimal`` en utilisant un contexte local au " +"fil d'exécution plutôt qu'un contexte local de coroutine (défaut). Voir le " +"module :mod:`decimal`." #: using/configure.rst:75 msgid "See :data:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." -msgstr "" +msgstr "Voir :data:`decimal.HAVE_CONTEXTVAR` et le module :mod:`contextvars`." #: using/configure.rst:81 msgid "Override order to check db backends for the :mod:`dbm` module" msgstr "" +"Change l'ordre de détection des implémentations de base de données pour le " +"module :mod:`dbm`." #: using/configure.rst:83 msgid "" "A valid value is a colon (``:``) separated string with the backend names:" msgstr "" +"Une valeur valide est une chaîne de noms d'implémentations séparés par des " +"deux-points (``:``)." #: using/configure.rst:85 msgid "``ndbm``;" -msgstr "" +msgstr "``ndbm`` ;" #: using/configure.rst:86 msgid "``gdbm``;" -msgstr "" +msgstr "``gdbm`` ;" #: using/configure.rst:87 msgid "``bdb``." -msgstr "" +msgstr "``bdb``." #: using/configure.rst:91 msgid "Disable C locale coercion to a UTF-8 based locale (enabled by default)." msgstr "" +"Désactive le forçage des paramètres régionaux C pour un paramètre régional " +"basé sur UTF-8 (activé par défaut)." #: using/configure.rst:93 msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." -msgstr "" +msgstr "Ne pas définir la macro ``PY_COERCE_C_LOCALE``." #: using/configure.rst:95 msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." -msgstr "" +msgstr "Voir :envvar:`PYTHONCOERCECLOCALE` et la :pep:`538`." #: using/configure.rst:99 msgid "Python library directory name (default is ``lib``)." -msgstr "" +msgstr "Nom du dossier de bibliothèques Python (par défaut : ``lib``)." #: using/configure.rst:101 msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." -msgstr "" +msgstr "Fedora et SuSE utilisent ``lib64`` sur les systèmes 64-bit." #: using/configure.rst:103 msgid "See :data:`sys.platlibdir`." -msgstr "" +msgstr "Voir :data:`sys.platlibdir`." #: using/configure.rst:109 msgid "" "Directory of wheel packages used by the :mod:`ensurepip` module (none by " "default)." msgstr "" +"Dossier de paquets *wheel* utilisé par le module :mod:`ensurepip` (par " +"défaut : aucun)." #: using/configure.rst:112 msgid "" @@ -173,56 +202,75 @@ msgid "" "share/python-wheels/`` directory and don't install the :mod:`ensurepip." "_bundled` package." msgstr "" +"La politique de paquets de certaines distributions Linux déconseille " +"l'inclusion des dépendances. Par exemple, Fedora installe les paquets " +"*wheel* dans le répertoire ``/usr/share/python-wheels/`` et n'installe pas " +"le paquet :mod:`ensurepip._bundled`." #: using/configure.rst:121 msgid "Install Options" -msgstr "" +msgstr "Options d'installation" #: using/configure.rst:125 msgid "" "Don't build nor install test modules, like the :mod:`test` package or the :" "mod:`_testcapi` extension module (built and installed by default)." msgstr "" +"Désactive la compilation et l'installation des modules de test, comme le " +"paquet :mod:`test` et le module d'extension :mod:`_testcapi` (compilés et " +"installés par défaut)." #: using/configure.rst:132 msgid "Select the :mod:`ensurepip` command run on Python installation:" msgstr "" +"Sélectionne la commande :mod:`ensurepip` exécutée à l'installation de " +"Python :" #: using/configure.rst:134 msgid "" "``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " "command." msgstr "" +"``upgrade`` (défaut) : exécute la commande ``python -m ensurepip --" +"altinstall --upgrade`` ;" #: using/configure.rst:136 msgid "``install``: run ``python -m ensurepip --altinstall`` command;" msgstr "" +"``install`` : exécute la commande ``python -m ensurepip --altinstall`` ;" #: using/configure.rst:137 msgid "``no``: don't run ensurepip;" -msgstr "" +msgstr "``no`` : n'exécute pas *ensurepip*." #: using/configure.rst:143 msgid "Performance options" -msgstr "" +msgstr "Options de performance" #: using/configure.rst:145 msgid "" "Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " "is recommended for best performance." msgstr "" +"Pour de meilleures performances, il est recommandé de configurer Python avec " +"``--enable-optimizations --with-lto`` (*PGO* + *LTO*)." #: using/configure.rst:150 msgid "" "Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " "(disabled by default)." msgstr "" +"Active l'optimisation guidée par profilage (*Profile Guided Optimization*, " +"PGO) en utilisant :envvar:`PROFILE_TASK` (désactivé par défaut)." #: using/configure.rst:153 msgid "" "The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " "GCC also requires it: GCC is just an alias to Clang on macOS." msgstr "" +"L'utilisation de PGO avec le compilateur C Clang nécessite ``llvm-" +"profdata``. Sur macOS, GCC est juste un alias vers Clang et partage donc " +"cette contrainte." #: using/configure.rst:156 msgid "" @@ -230,100 +278,120 @@ msgid "" "GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " "flags." msgstr "" +"Désactive également l'interposition sémantique dans *libpython* si GCC est " +"utilisé avec ``--enable-shared`` : ajoute l'option ``-fno-semantic-" +"interposition`` à la compilation et à l'édition des liens." #: using/configure.rst:162 msgid "Use ``-fno-semantic-interposition`` on GCC." -msgstr "" +msgstr "Utilisation de ``-fno-semantic-interposition`` avec GCC." #: using/configure.rst:167 msgid "" "Environment variable used in the Makefile: Python command line arguments for " "the PGO generation task." msgstr "" +"Variable d'environnement utilisée dans le ``Makefile`` : arguments Python " +"utilisés pour la tâche de préparation de la PGO." #: using/configure.rst:170 msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -msgstr "" +msgstr "Par défaut : ``-m test --pgo --timeout=$(TESTTIMEOUT)``." #: using/configure.rst:176 msgid "Enable Link Time Optimization (LTO) in any build (disabled by default)." msgstr "" +"Active l'optimisation à l'édition des liens (*Link Time Optimization*, LTO) " +"à la compilation (désactivé par défaut)." #: using/configure.rst:178 msgid "" "The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " "as an LTO-aware linker (``ld.gold`` or ``lld``)." msgstr "" +"Le compilateur C Clang nécessite ``llvm-ar`` pour la LTO (``ar`` sur macOS), " +"ainsi qu'un éditeur de liens implémentant la LTO (``ld.gold`` ou ``lld``)." #: using/configure.rst:185 msgid "" "Enable computed gotos in evaluation loop (enabled by default on supported " "compilers)." msgstr "" +"Autorise les *gotos* calculés dans les boucles (activé par défaut pour les " +"compilateurs qui le gèrent)." #: using/configure.rst:190 msgid "" "Disable the specialized Python memory allocator :ref:`pymalloc ` " "(enabled by default)." msgstr "" +"Désactive l'allocateur spécialisé de mémoire de Python :ref:`pymalloc " +"` (activé par défaut)." #: using/configure.rst:193 msgid "See also :envvar:`PYTHONMALLOC` environment variable." -msgstr "" +msgstr "Voir aussi la variable d'environnement :envvar:`PYTHONMALLOC`." #: using/configure.rst:197 msgid "" "Disable static documentation strings to reduce the memory footprint (enabled " "by default). Documentation strings defined in Python are not affected." msgstr "" +"Désactive les chaînes de documentation statiques pour réduire l'empreinte " +"mémoire (activé par défaut). Les chaînes définies dans Python ne sont pas " +"affectées." #: using/configure.rst:200 msgid "Don't define the ``WITH_DOC_STRINGS`` macro." -msgstr "" +msgstr "Ne définit pas la macro ``WITH_DOC_STRINGS``." #: using/configure.rst:202 msgid "See the ``PyDoc_STRVAR()`` macro." -msgstr "" +msgstr "Voir la macro ``PyDoc_STRVAR()``." #: using/configure.rst:206 msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." -msgstr "" +msgstr "Active le profilage du code C avec ``gprof`` (désactivé par défaut)." #: using/configure.rst:212 msgid "Python Debug Build" -msgstr "" +msgstr "Compilation de Python en mode débogage" #: using/configure.rst:214 msgid "" "A debug build is Python built with the :option:`--with-pydebug` configure " "option." msgstr "" +"Une compilation de Python en mode débogage se fait avec l'option de " +"configuration :option:`--with-pydebug`." #: using/configure.rst:217 msgid "Effects of a debug build:" -msgstr "" +msgstr "Effets du mode débogage :" #: using/configure.rst:219 msgid "" "Display all warnings by default: the list of default warning filters is " "empty in the :mod:`warnings` module." msgstr "" +"Affichage de tous les avertissements par défaut : le filtre par défaut des " +"avertissements est vide dans le module :mod:`warnings`." #: using/configure.rst:221 msgid "Add ``d`` to :data:`sys.abiflags`." -msgstr "" +msgstr "Ajout de ``d`` à :data:`sys.abiflags`." #: using/configure.rst:222 msgid "Add :func:`sys.gettotalrefcount` function." -msgstr "" +msgstr "Ajout de la fonction :func:`sys.gettotalrefcount`." #: using/configure.rst:223 msgid "Add :option:`-X showrefcount <-X>` command line option." -msgstr "" +msgstr "Ajout de l'option de ligne de commande :option:`-X showrefcount <-X>`." #: using/configure.rst:224 msgid "Add :envvar:`PYTHONTHREADDEBUG` environment variable." -msgstr "" +msgstr "Ajout de la variable d'environnement :envvar:`PYTHONTHREADDEBUG`." #: using/configure.rst:225 msgid "" @@ -336,10 +404,13 @@ msgid "" "Install :ref:`debug hooks on memory allocators ` " "to detect buffer overflow and other memory errors." msgstr "" +"Installation des :ref:`debug hooks on memory allocators ` pour détecter les débordements de mémoire tampon et autres " +"erreurs de mémoire." #: using/configure.rst:229 msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." -msgstr "" +msgstr "Définition des macros ``Py_DEBUG`` et ``Py_REF_DEBUG``." #: using/configure.rst:230 msgid "" @@ -351,37 +422,48 @@ msgstr "" #: using/configure.rst:235 msgid "Add sanity checks on the function arguments." -msgstr "" +msgstr "Ajout des contrôles d'intégrité sur les arguments de fonction." #: using/configure.rst:236 msgid "" "Unicode and int objects are created with their memory filled with a pattern " "to detect usage of uninitialized objects." msgstr "" +"Les objets ``unicode`` et ``int`` sont créés avec un motif particulier à " +"l'initialisation de leur mémoire afin de détecter l'usage d'objets non " +"initialisés." #: using/configure.rst:238 msgid "" "Ensure that functions which can clear or replace the current exception are " "not called with an exception raised." msgstr "" +"S'assurer que les fonctions qui peuvent effacer ou remplacer l'exception " +"courante ne sont pas appelées avec une exception levée." #: using/configure.rst:240 msgid "" "The garbage collector (:func:`gc.collect` function) runs some basic checks " "on objects consistency." msgstr "" +"Le ramasse-miettes (la fonction :func:`gc.collect`) effectue quelques tests " +"basiques relatifs à la cohérence des objets." #: using/configure.rst:242 msgid "" "The :c:macro:`Py_SAFE_DOWNCAST()` macro checks for integer underflow and " "overflow when downcasting from wide types to narrow types." msgstr "" +"La macro :c:macro:`Py_SAFE_DOWNCAST()` vérifie s'il y a des débordements " +"d'entier lors du passage de types grands vers des types plus petits." #: using/configure.rst:245 msgid "" "See also the :ref:`Python Development Mode ` and the :option:`--" "with-trace-refs` configure option." msgstr "" +"Voir aussi le :ref:`mode de développement Python ` et l'option de " +"configuration :option:`--with-trace-refs`." #: using/configure.rst:248 msgid "" diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 7f8d0159ee..753f48f08f 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -485,7 +485,8 @@ msgstr "La syntaxe générique du filtrage par motifs est ::" # Lexique pour cette section: # "pattern": "motif du filtre" # "match": "comparaison" action de tester si il y a un match -# "match": "bloc ``match``" ou "instruction ``match`` pour l'élément syntaxique +# "match": "bloc ``match``" ou "instruction ``match`` pour l'élément +# syntaxique # "match": "appariement" comparaison réussie # "wildcard": "attrape-tout" # "guard": "garde" @@ -1837,6 +1838,8 @@ msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" msgstr "" +"Applique la coloration syntaxique aux fichiers ``.pyi`` (contribution " +"d'*Alex Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)." #: whatsnew/3.10.rst:1178 msgid "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 5c91213811..33e1dababd 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -1632,7 +1632,7 @@ msgstr "(Contribution par Victor Stinner)" #: whatsnew/3.2.rst:1539 msgid "shutil" -msgstr "" +msgstr "``shutils``" #: whatsnew/3.2.rst:1541 msgid "The :func:`shutil.copytree` function has two new options:" @@ -2267,7 +2267,7 @@ msgstr "(Contribution par Tarek Ziadé; :issue:`6693`.)" #: whatsnew/3.2.rst:2044 msgid "sysconfig" -msgstr "" +msgstr "``sysconfig``" #: whatsnew/3.2.rst:2046 msgid "" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index f63cc434e6..0774da936d 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -2472,7 +2472,7 @@ msgstr "" #: whatsnew/3.3.rst:1734 msgid "re" -msgstr "" +msgstr "``re``" #: whatsnew/3.3.rst:1736 msgid "" @@ -2548,7 +2548,7 @@ msgstr "" #: whatsnew/3.3.rst:1786 msgid "shutil" -msgstr "" +msgstr "``shutils``" #: whatsnew/3.3.rst:1788 msgid "New functions:" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index 4e323e38c1..591af16558 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -1553,7 +1553,7 @@ msgstr "" #: whatsnew/3.4.rst:1158 msgid "operator" -msgstr "" +msgstr "``operator``" #: whatsnew/3.4.rst:1160 msgid "" @@ -1756,7 +1756,7 @@ msgstr "" #: whatsnew/3.4.rst:1301 msgid "re" -msgstr "" +msgstr "``re``" #: whatsnew/3.4.rst:1303 msgid "" @@ -1836,7 +1836,7 @@ msgstr "" #: whatsnew/3.4.rst:1360 msgid "shutil" -msgstr "" +msgstr "``shutils``" #: whatsnew/3.4.rst:1362 msgid "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 769cb37fc4..46343ae143 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -1070,7 +1070,7 @@ msgstr "" #: whatsnew/3.5.rst:893 msgid "code" -msgstr "" +msgstr "code" #: whatsnew/3.5.rst:895 msgid "" @@ -1770,7 +1770,7 @@ msgstr "" #: whatsnew/3.5.rst:1468 msgid "operator" -msgstr "" +msgstr "``operator``" #: whatsnew/3.5.rst:1470 msgid "" @@ -1921,7 +1921,7 @@ msgstr "" #: whatsnew/3.5.rst:1584 msgid "re" -msgstr "" +msgstr "``re``" #: whatsnew/3.5.rst:1586 msgid "" @@ -1981,7 +1981,7 @@ msgstr "" #: whatsnew/3.5.rst:1639 msgid "shutil" -msgstr "" +msgstr "``shutils``" #: whatsnew/3.5.rst:1641 msgid "" @@ -2305,7 +2305,7 @@ msgstr "" #: whatsnew/3.5.rst:1880 msgid "sysconfig" -msgstr "" +msgstr "``sysconfig``" #: whatsnew/3.5.rst:1882 msgid "" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 17905d142c..ed36e24dfb 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -1707,7 +1707,7 @@ msgstr "" #: whatsnew/3.6.rst:2025 msgid "re" -msgstr "" +msgstr "``re``" #: whatsnew/3.6.rst:1347 msgid "" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index fc9f9d9ba4..23028fbc57 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -1731,7 +1731,7 @@ msgstr "" #: whatsnew/3.7.rst:1237 msgid "re" -msgstr "" +msgstr "``re``" #: whatsnew/3.7.rst:1239 msgid "" @@ -2702,7 +2702,7 @@ msgstr "" #: whatsnew/3.7.rst:1890 msgid "Other CPython Implementation Changes" -msgstr "" +msgstr "Autres changements à l'implémentation de CPython" #: whatsnew/3.7.rst:1892 msgid "" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 9b45e770a4..71131a8ebd 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -1448,7 +1448,7 @@ msgstr "" #: whatsnew/3.8.rst:1152 msgid "shutil" -msgstr "" +msgstr "``shutils``" #: whatsnew/3.8.rst:1154 msgid "" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 33f52a72d0..d4ab26dcc1 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -977,6 +977,8 @@ msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" msgstr "" +"Applique la coloration syntaxique aux fichiers ``.pyi`` (contribution " +"d'*Alex Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)." #: whatsnew/3.9.rst:507 msgid "imaplib" @@ -998,7 +1000,8 @@ msgstr "" "et :class:`~imaplib.IMAP4_stream` appliquent ce changement (contribution de " "*Dong-hee Na* dans :issue:`38615`)." -# "Return" n'est pas un renvoi de fonction, c'est un retour à un état précédent. +# "Return" n'est pas un renvoi de fonction, c'est un retour à un état +# précédent. #: whatsnew/3.9.rst:516 msgid "" ":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " From 536359aa8f482bb8b5c590a797d5749005ffac0e Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 22 Mar 2023 22:55:49 +0100 Subject: [PATCH 07/11] Backporting from 3.11 (allow overwriting fuzzy). --- about.po | 3 +- bugs.po | 40 ++- c-api/apiabiversion.po | 51 ++-- c-api/init_config.po | 3 +- c-api/stable.po | 11 +- glossary.po | 19 +- howto/descriptor.po | 232 +++++++---------- howto/logging-cookbook.po | 5 +- howto/sockets.po | 32 +-- library/asyncio-queue.po | 3 +- library/asyncio-subprocess.po | 14 +- library/asyncio-sync.po | 3 +- library/asyncio-task.po | 6 +- library/dataclasses.po | 42 ++- library/functions.po | 119 ++++----- library/logging.config.po | 6 +- library/logging.po | 3 +- library/pathlib.po | 22 +- library/re.po | 8 +- library/signal.po | 3 +- library/site.po | 3 +- library/socket.po | 6 +- library/sqlite3.po | 9 +- library/stdtypes.po | 3 +- library/sys.po | 70 +++-- library/time.po | 15 +- library/typing.po | 34 +-- library/xml.etree.elementtree.po | 3 +- library/xmlrpc.client.po | 3 +- reference/datamodel.po | 428 ++++++++++++++----------------- reference/executionmodel.po | 15 +- reference/expressions.po | 137 +++++----- reference/import.po | 24 +- reference/lexical_analysis.po | 19 +- reference/simple_stmts.po | 34 +-- tutorial/controlflow.po | 9 +- tutorial/inputoutput.po | 15 +- tutorial/introduction.po | 9 +- tutorial/modules.po | 32 +-- tutorial/venv.po | 12 +- tutorial/whatnow.po | 6 +- whatsnew/2.3.po | 3 +- whatsnew/2.4.po | 3 +- whatsnew/2.5.po | 3 +- whatsnew/2.6.po | 3 +- whatsnew/2.7.po | 3 +- whatsnew/3.1.po | 3 +- whatsnew/3.2.po | 3 +- whatsnew/3.3.po | 3 +- whatsnew/3.5.po | 3 +- whatsnew/3.6.po | 3 +- whatsnew/3.7.po | 3 +- whatsnew/3.8.po | 6 +- 53 files changed, 678 insertions(+), 872 deletions(-) diff --git a/about.po b/about.po index 11c5903b1c..e3811998b5 100644 --- a/about.po +++ b/about.po @@ -52,12 +52,11 @@ msgstr "" "et rédacteur de la plupart de son contenu ;" #: about.rst:24 -#, fuzzy msgid "" "the `Docutils `_ project for creating " "reStructuredText and the Docutils suite;" msgstr "" -"le projet `Docutils `_ pour avoir créé " +"le projet `Docutils `_ pour avoir créé " "*reStructuredText* et la suite d'outils *Docutils* ;" #: about.rst:26 diff --git a/bugs.po b/bugs.po index ac22018c2e..ed9d1c085e 100644 --- a/bugs.po +++ b/bugs.po @@ -130,20 +130,19 @@ msgid "Using the Python issue tracker" msgstr "Utilisation du gestionnaire de tickets Python" #: bugs.rst:47 -#, fuzzy msgid "" "Issue reports for Python itself should be submitted via the GitHub issues " "tracker (https://github.com/python/cpython/issues). The GitHub issues " "tracker offers a web form which allows pertinent information to be entered " "and submitted to the developers." msgstr "" -"Les rapports de bogues pour Python lui-même devraient être soumis via le " -"l'outil de suivi des bogues (*Bug Tracker Python* — http://bugs.python." -"org/). Le gestionnaire de tickets propose un formulaire Web permettant de " -"saisir des informations pertinentes à soumettre aux développeurs." +"Les rapports concernant un problème relatif à Python lui-même doivent être " +"soumis *via* l'outil de suivi des problèmes de GitHub (https://github.com/" +"python/cpython/issues). Le gestionnaire de tickets propose un formulaire Web " +"permettant de saisir des informations pertinentes à soumettre aux " +"développeurs." #: bugs.rst:52 -#, fuzzy msgid "" "The first step in filing a report is to determine whether the problem has " "already been reported. The advantage in doing so, aside from saving the " @@ -155,36 +154,32 @@ msgid "" msgstr "" "La première étape pour remplir un rapport est de déterminer si le problème a " "déjà été rapporté. L'avantage de cette approche, en plus d'économiser du " -"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; " +"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; " "il se peut que le problème soit déjà résolu dans la prochaine version, ou " "que des informations complémentaires soient attendues (auquel cas votre " -"contribution est la bienvenue !). Pour ce faire, cherchez dans la base de " -"données de bogues grâce à la boîte de recherche en haut de la page." +"contribution est la bienvenue !). Pour ce faire, cherchez dans le " +"gestionnaire de tickets grâce à la boîte de recherche en haut de la page." #: bugs.rst:59 -#, fuzzy msgid "" "If the problem you're reporting is not already in the list, log in to " "GitHub. If you don't already have a GitHub account, create a new account " "using the \"Sign up\" link. It is not possible to submit a bug report " "anonymously." msgstr "" -"Si le problème que vous soumettez n'est pas déjà dans l'outil de suivi des " -"bogues, revenez au *Python Bug Tracker* et connectez-vous. Si vous n'avez " -"pas déjà un compte pour le *tracker*, cliquez sur le lien « S'enregistrer », " -"ou, si vous utilisez *OpenID*, sur l'un des logos des fournisseurs *OpenID* " -"dans la barre latérale. Il n'est pas possible de soumettre un rapport de " -"bogue de manière anonyme." +"Si le problème que vous soumettez n'est pas déjà dans la liste, connectez-" +"vous à GitHub. Si vous n'avez pas déjà un compte GitHub, créez un nouveau " +"compte en cliquant sur le lien « Sign Up ». Il n'est pas possible de " +"soumettre un rapport de bogue de manière anonyme." #: bugs.rst:64 -#, fuzzy msgid "" "Being now logged in, you can submit an issue. Click on the \"New issue\" " "button in the top bar to report a new issue." msgstr "" -"Une fois identifié, pour pouvez rapporter un bogue. Sélectionnez le lien " -"*Create New* dans la barre latérale pour ouvrir un nouveau formulaire de " -"rapport de bogue." +"Une fois connecté, vous pouvez rapporter un problème. Sélectionnez le bouton " +"*New issue* dans la barre en haut pour ouvrir un nouveau formulaire de " +"rapport." #: bugs.rst:67 msgid "The submission form has two fields, \"Title\" and \"Comment\"." @@ -212,15 +207,14 @@ msgstr "" "informations de versions)." #: bugs.rst:77 -#, fuzzy msgid "" "Each issue report will be reviewed by a developer who will determine what " "needs to be done to correct the problem. You will receive an update each " "time an action is taken on the issue." msgstr "" -"Chaque bogue sera attribué à un développeur qui déterminera ce qui est " +"Chaque rapport sera attribué à un développeur qui déterminera ce qui est " "nécessaire d'entreprendre pour corriger le problème. Vous recevrez une " -"notification à chaque action effectuée sur le bogue." +"notification à chaque action concernant le rapport." #: bugs.rst:86 msgid "" diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index dd04126670..374251d475 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -36,52 +36,40 @@ msgstr "" "(ou en fonction) de la version." #: c-api/apiabiversion.rst:17 -#, fuzzy msgid "The ``3`` in ``3.4.1a2``." -msgstr "``PY_MAJOR_VERSION`` (le ``3`` dans ``3.4.1a2``)" +msgstr "Le ``3`` dans ``3.4.1a2``.)" #: c-api/apiabiversion.rst:21 -#, fuzzy msgid "The ``4`` in ``3.4.1a2``." -msgstr "``PY_MINOR_VERSION`` (le ``4`` dans ``3.4.1a2``)" +msgstr "Le ``4`` dans ``3.4.1a2``." #: c-api/apiabiversion.rst:25 -#, fuzzy msgid "The ``1`` in ``3.4.1a2``." -msgstr "``PY_MICRO_VERSION`` (le ``1`` dans ``3.4.1a2``)" +msgstr "Le ``1`` dans ``3.4.1a2``.)" #: c-api/apiabiversion.rst:29 -#, fuzzy msgid "" "The ``a`` in ``3.4.1a2``. This can be ``0xA`` for alpha, ``0xB`` for beta, " "``0xC`` for release candidate or ``0xF`` for final." msgstr "" -"``PY_RELEASE_LEVEL`` (``0xA`` pour alpha, ``0xB`` pour bêta, ``0xC`` pour " -"une version candidate et ``0xF`` pour final), dans ce cas c'est alpha." +" Le ``a`` dans ``3.4.1a2``. Cela peut être ``0xA`` pour alpha, ``0xB`` pour " +"bêta, ``0xC`` pour une version candidate ou ``0xF`` pour finale)." #: c-api/apiabiversion.rst:35 -#, fuzzy msgid "The ``2`` in ``3.4.1a2``. Zero for final releases." -msgstr "" -"``PY_RELEASE_SERIAL`` (le ``2`` au ``3.4.1a2``, zéro pour des versions " -"finales)" +msgstr "Le ``2`` dans ``3.4.1a2``. Nul pour des versions finales." #: c-api/apiabiversion.rst:39 -#, fuzzy msgid "The Python version number encoded in a single integer." -msgstr "" -"``PY_VERSION_HEX`` est le numéro de version de Python encodé en un seul " -"entier." +msgstr "Le numéro de version de Python encodé en un seul entier." #: c-api/apiabiversion.rst:41 -#, fuzzy msgid "" "The underlying version information can be found by treating it as a 32 bit " "number in the following manner:" msgstr "" -"Par exemple si le ``PY_VERSION_HEX` est défini à ``0x030401a2``, la " -"version d'information sous-jacente peut être trouvée en la traitant comme un " -"nombre sous 32 bits de la manière suivante:" +"L'information sur la version sous-jacente peut être trouvée en la traitant " +"comme un nombre sous 32 bits de la manière suivante:" #: c-api/apiabiversion.rst:45 msgid "Bytes" @@ -104,9 +92,8 @@ msgid "1" msgstr "1" #: c-api/apiabiversion.rst:47 -#, fuzzy msgid "1-8" -msgstr "``1-8``" +msgstr "1-8" #: c-api/apiabiversion.rst:47 msgid "``PY_MAJOR_VERSION``" @@ -121,9 +108,8 @@ msgid "2" msgstr "2" #: c-api/apiabiversion.rst:49 -#, fuzzy msgid "9-16" -msgstr "``9-16``" +msgstr "9-16" #: c-api/apiabiversion.rst:49 msgid "``PY_MINOR_VERSION``" @@ -138,9 +124,8 @@ msgid "3" msgstr "3" #: c-api/apiabiversion.rst:51 -#, fuzzy msgid "17-24" -msgstr "``17-24``" +msgstr "17-24" #: c-api/apiabiversion.rst:51 msgid "``PY_MICRO_VERSION``" @@ -155,9 +140,8 @@ msgid "4" msgstr "4" #: c-api/apiabiversion.rst:53 -#, fuzzy msgid "25-28" -msgstr "``25-28``" +msgstr "25-28" #: c-api/apiabiversion.rst:53 msgid "``PY_RELEASE_LEVEL``" @@ -168,9 +152,8 @@ msgid "``0xA``" msgstr "``0xA``" #: c-api/apiabiversion.rst:55 -#, fuzzy msgid "29-32" -msgstr "``29-32``" +msgstr "29-32" #: c-api/apiabiversion.rst:55 msgid "``PY_RELEASE_SERIAL``" @@ -181,11 +164,13 @@ msgid "``0x2``" msgstr "``0x2``" #: c-api/apiabiversion.rst:58 -#, fuzzy msgid "" "Thus ``3.4.1a2`` is hexversion ``0x030401a2`` and ``3.10.0`` is hexversion " "``0x030a00f0``." -msgstr "Ainsi ``3.4.1a2`` est une hexane-version ``0x030401a2``." +msgstr "" +"Ainsi, ``0x030401a2`` est la version en notation hexadécimale sur un entier " +"de ``3.4.1a2`` et ``0x030a00f0`` est la version en notation hexadécimale sur " +"un entier de ``3.10.0``" #: c-api/apiabiversion.rst:62 msgid "All the given macros are defined in :source:`Include/patchlevel.h`." diff --git a/c-api/init_config.po b/c-api/init_config.po index 9e473d207a..2c7e91d1d0 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -61,9 +61,8 @@ msgid ":pep:`587` \"Python Initialization Configuration\"." msgstr "" #: c-api/init_config.rst:37 -#, fuzzy msgid "Example" -msgstr "Exemple ::" +msgstr "Exemple" #: c-api/init_config.rst:39 msgid "Example of customized Python always running in isolated mode::" diff --git a/c-api/stable.po b/c-api/stable.po index 14dc6a3e7f..e1f58647f1 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -19,7 +19,6 @@ msgid "C API Stability" msgstr "Stabilité de l’API C" #: c-api/stable.rst:9 -#, fuzzy msgid "" "Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. " "While the C API will change with every minor release (e.g. from 3.9 to " @@ -27,10 +26,12 @@ msgid "" "API. Changing existing API or removing API is only done after a deprecation " "period or to fix serious issues." msgstr "" -"L'API C de Python change à chaque version. La majorité de ces changement " -"n'affecte cependant pas la compatibilité du code source. Typiquement, des " -"API sont ajoutées, mais ni modifiées ni supprimées (bien que certaines " -"interfaces puissent être supprimées, après avoir d'abord été dépréciées)." +"L'API C respecte la politique de rétrocompatibilité de Python, :pep:`387`. " +"Malgré la présence d’évolutions dans chaque version mineure (par exemple " +"entre 3.9 et 3.10), la majorité de ces changements n'affecte pas la " +"compatibilité du code source. Typiquement des API sont ajoutées mais pas " +"modifiées ou supprimées, bien que cela puisse arriver après une période de " +"dépréciation ou pour corriger un problème important." #: c-api/stable.rst:15 msgid "" diff --git a/glossary.po b/glossary.po index 56a59d6fb7..529bc97d79 100644 --- a/glossary.po +++ b/glossary.po @@ -327,15 +327,14 @@ msgid "attribute" msgstr "attribut" #: glossary.rst:139 -#, fuzzy msgid "" "A value associated with an object which is usually referenced by name using " "dotted expressions. For example, if an object *o* has an attribute *a* it " "would be referenced as *o.a*." msgstr "" -"Valeur associée à un objet et désignée par son nom via une notation " -"utilisant des points. Par exemple, si un objet *o* possède un attribut *a*, " -"il sera référencé par *o.a*." +"Valeur associée à un objet et habituellement désignée par son nom *via* une " +"notation utilisant des points. Par exemple, si un objet *o* possède un " +"attribut *a*, cet attribut est référencé par *o.a*." #: glossary.rst:144 msgid "" @@ -507,9 +506,8 @@ msgstr "" "instructions du code intermédiaire." #: glossary.rst:212 -#, fuzzy msgid "callable" -msgstr "fonction de rappel" +msgstr "appelable (*callable*)" #: glossary.rst:214 msgid "" @@ -1334,7 +1332,6 @@ msgstr "" "machines ayant plusieurs processeurs." #: glossary.rst:561 -#, fuzzy msgid "" "However, some extension modules, either standard or third-party, are " "designed so as to release the GIL when doing computationally intensive tasks " @@ -1344,7 +1341,7 @@ msgstr "" "Cependant, certains modules d'extension, standards ou non, sont conçus de " "manière à libérer le GIL lorsqu'ils effectuent des tâches lourdes tel que la " "compression ou le hachage. De la même manière, le GIL est toujours libéré " -"lors des entrées / sorties." +"lors des entrées-sorties." #: glossary.rst:566 msgid "" @@ -1423,14 +1420,14 @@ msgid "IDLE" msgstr "IDLE" #: glossary.rst:596 -#, fuzzy msgid "" "An Integrated Development and Learning Environment for Python. :ref:`idle` " "is a basic editor and interpreter environment which ships with the standard " "distribution of Python." msgstr "" -"Environnement de développement intégré pour Python. IDLE est un éditeur " -"basique et un interpréteur livré avec la distribution standard de Python." +"Environnement d'apprentissage et de développement intégré pour Python. :ref:" +"`IDLE ` est un éditeur basique et un interpréteur livré avec la " +"distribution standard de Python." #: glossary.rst:599 msgid "immutable" diff --git a/howto/descriptor.po b/howto/descriptor.po index e498e20011..07dbea9a40 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -498,14 +498,13 @@ msgstr "" "fonctionnent les correspondances relationnelles entre objets." #: howto/descriptor.rst:493 -#, fuzzy msgid "" "Learning about descriptors not only provides access to a larger toolset, it " "creates a deeper understanding of how Python works." msgstr "" "L'apprentissage des descripteurs permet non seulement d'accéder à un " "ensemble d'outils plus vaste, mais aussi de mieux comprendre le " -"fonctionnement de Python et d'apprécier l'élégance de sa conception." +"fonctionnement de Python." #: howto/descriptor.rst:498 #, fuzzy @@ -513,21 +512,19 @@ msgid "Definition and introduction" msgstr "Définition et introduction" #: howto/descriptor.rst:500 -#, fuzzy msgid "" "In general, a descriptor is an attribute value that has one of the methods " "in the descriptor protocol. Those methods are :meth:`__get__`, :meth:" "`__set__`, and :meth:`__delete__`. If any of those methods are defined for " "an attribute, it is said to be a :term:`descriptor`." msgstr "" -"En général, un descripteur est un attribut objet avec un \"comportement " -"contraignant\", dont l'accès à l'attribut a été remplacé par des méthodes " -"dans le protocole du descripteur. Ces méthodes sont : :meth:`__get__`, :" -"meth:`__set__`, et :meth:`__delete__`. Si l'une de ces méthodes est définie " -"pour un objet, il s'agit d'un descripteur." +"En général, un descripteur est la valeur d'un attribut qui possède une des " +"méthodes définies dans le « protocole descripteur ». Ces méthodes sont : :" +"meth:`__get__`, :meth:`__set__` et :meth:`__delete__`. Si l'une de ces " +"méthodes est définie pour un attribut, il s'agit d'un :term:`descripteur " +"`." #: howto/descriptor.rst:505 -#, fuzzy msgid "" "The default behavior for attribute access is to get, set, or delete the " "attribute from an object's dictionary. For instance, ``a.x`` has a lookup " @@ -539,17 +536,16 @@ msgid "" "methods were defined." msgstr "" "Le comportement par défaut pour l'accès aux attributs consiste à obtenir, " -"définir ou supprimer l'attribut du dictionnaire d'un objet. Par exemple, " -"``a. x`` a une chaîne de recherche commençant par ``a. __dict__ ['x']``, " -"puis ``type (a). __dict__ ['x']``, et continuant à travers les classes de " -"base de ``type (a)`` À l'exclusion des sous-classes. Si la valeur recherchée " -"est un objet définissant l'une des méthodes de descripteur, Python peut " -"substituer le comportement par défaut et appeler à la place la méthode " -"Descriptor. Lorsque cela se produit dans la chaîne de précédence dépend de " -"quelles méthodes descripteur ont été définies." +"définir ou supprimer l'attribut dans le dictionnaire d'un objet. Par " +"exemple, pour chercher ``a.x`` Python commence par chercher ``a." +"__dict__['x']``, puis ``type(a).__dict__['x']``, et continue la recherche en " +"utilisant la MRO (l'ordre de résolution des méthodes) de ``type(a)``. Si la " +"valeur recherchée est un objet définissant l'une des méthodes de " +"descripteur, Python remplace le comportement par défaut par un appel à la " +"méthode du descripteur. Le moment où cela se produit dans la chaîne de " +"recherche dépend des méthodes définies par le descripteur." #: howto/descriptor.rst:514 -#, fuzzy msgid "" "Descriptors are a powerful, general purpose protocol. They are the " "mechanism behind properties, methods, static methods, class methods, and :" @@ -557,13 +553,12 @@ msgid "" "simplify the underlying C code and offer a flexible set of new tools for " "everyday Python programs." msgstr "" -"Les descripteurs sont un protocole puissant et à usage général. Ils sont le " -"mécanisme derrière les propriétés, les méthodes, les méthodes statiques, les " -"méthodes de classes et :func:`super()`. Ils sont utilisés dans tout Python " -"lui-même pour implémenter les nouvelles classes de style introduites dans la " -"version 2.2. Les descripteurs simplifient le code C sous-jacent et offrent " -"un ensemble flexible de nouveaux outils pour les programmes Python " -"quotidiens." +"Les descripteurs sont un protocole puissant et à usage général. Ils " +"constituent le mécanisme qui met en œuvre les propriétés, les méthodes, les " +"méthodes statiques, les méthodes de classes et :func:`super()`. Ils sont " +"utilisés dans tout Python lui-même. Les descripteurs simplifient le code C " +"sous-jacent et offrent un ensemble flexible de nouveaux outils pour les " +"programmes Python quotidiens." #: howto/descriptor.rst:522 #, fuzzy @@ -593,7 +588,6 @@ msgstr "" "comportement par défaut lorsqu'il est recherché comme un attribut." #: howto/descriptor.rst:534 -#, fuzzy msgid "" "If an object defines :meth:`__set__` or :meth:`__delete__`, it is considered " "a data descriptor. Descriptors that only define :meth:`__get__` are called " @@ -601,8 +595,8 @@ msgid "" "possible)." msgstr "" "Si un objet définit :meth:`__set__` ou :meth:`__delete__`, il est considéré " -"comme un descripteur de données. Les descripteurs qui ne définissent que :" -"meth:`__get__` sont appelés descripteurs *non-data* (ils sont généralement " +"comme un descripteur de données. Les descripteurs qui ne définissent que :" +"meth:`__get__` sont appelés descripteurs hors-données (ils sont généralement " "utilisés pour des méthodes mais d'autres utilisations sont possibles)." #: howto/descriptor.rst:539 @@ -639,13 +633,12 @@ msgid "Overview of descriptor invocation" msgstr "Présentation de l'appel de descripteur" #: howto/descriptor.rst:554 -#, fuzzy msgid "" "A descriptor can be called directly with ``desc.__get__(obj)`` or ``desc." "__get__(None, cls)``." msgstr "" -"Un descripteur peut être appelé directement par son nom de méthode. Par " -"exemple, ``d.__get__(obj)``." +"Un descripteur peut être appelé directement par ``desc.__get__(obj)`` ou " +"``desc.__get__(None, cls)``." #: howto/descriptor.rst:557 msgid "" @@ -668,13 +661,12 @@ msgstr "" "priorité listées ci-dessous." #: howto/descriptor.rst:565 -#, fuzzy msgid "" "The details of invocation depend on whether ``obj`` is an object, class, or " "instance of super." msgstr "" -"Les détails de l'invocation dépendent du fait que ``obj`` est un objet ou " -"une classe." +"Les détails de l'appel varient selon que ``obj`` est un objet, une classe ou " +"une instance de *super*." #: howto/descriptor.rst:570 msgid "Invocation from an instance" @@ -732,9 +724,8 @@ msgstr "" "présentée encapsulée dans une fonction utilitaire :" #: howto/descriptor.rst:773 -#, fuzzy msgid "Invocation from a class" -msgstr "Appelé depuis un Classe" +msgstr "Appel depuis une classe" #: howto/descriptor.rst:775 msgid "" @@ -775,32 +766,28 @@ msgstr "" "méthode :meth:`__getattribute__` de l'objet renvoyé par :class:`super()`." #: howto/descriptor.rst:792 -#, fuzzy msgid "" "A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__." "__mro__`` for the base class ``B`` immediately following ``A`` and then " "returns ``B.__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is " "returned unchanged." msgstr "" -"L'objet renvoyé par ``super()`` a également une méthode personnalisée :meth:" -"`__getattribute__` pour invoquer des descripteurs. La recherche d'attribut " -"``super(B, obj).m`` recherche dans ``obj.__class__.__mro__`` la classe qui " -"suit immédiatement B, appelons la A, et renvoie ``A.__dict__['m']." -"__get__(obj, B)``. Si ce n'est pas un descripteur, ``m`` est renvoyé " -"inchangé. S'il n'est pas dans le dictionnaire, la recherche de ``m`` revient " -"à une recherche utilisant :meth:`object.__getattribute__`." +"La recherche d'attribut ``super(A, obj).m`` recherche dans ``obj.__class__." +"__mro__`` la classe ``B`` qui suit immédiatement A, et renvoie ``B." +"__dict__['m'].__get__(obj, A)``. Si ce n'est pas un descripteur, ``m`` est " +"renvoyé inchangé." #: howto/descriptor.rst:797 -#, fuzzy msgid "" "The full C implementation can be found in :c:func:`super_getattro()` in :" "source:`Objects/typeobject.c`. A pure Python equivalent can be found in " "`Guido's Tutorial `_." msgstr "" -"Les détails d'implémentation sont dans :c:func:`super_getattro()` dans :" -"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé " -"dans `Guido's Tutorial`_." +"L'implémentation C complète est dans :c:func:`super_getattro()` dans :source:" +"`Objects/typeobject.c`. Un équivalent Python pur peut être trouvé dans " +"`Guido's Tutorial `_ (page en anglais)." #: howto/descriptor.rst:804 msgid "Summary of invocation logic" @@ -819,9 +806,9 @@ msgid "The important points to remember are:" msgstr "Les points importants à retenir sont :" #: howto/descriptor.rst:811 -#, fuzzy msgid "Descriptors are invoked by the :meth:`__getattribute__` method." -msgstr "les descripteurs sont appelés par la méthode :meth:`__getattribute__`" +msgstr "" +"les descripteurs sont appelés par la méthode :meth:`__getattribute__` ;" #: howto/descriptor.rst:813 msgid "" @@ -832,16 +819,14 @@ msgstr "" "`super` ;" #: howto/descriptor.rst:816 -#, fuzzy msgid "" "Overriding :meth:`__getattribute__` prevents automatic descriptor calls " "because all the descriptor logic is in that method." msgstr "" "redéfinir :meth:`__getattribute____` empêche les appels automatiques de " -"descripteurs" +"descripteur car toute la logique des descripteurs est dans cette méthode ;" #: howto/descriptor.rst:819 -#, fuzzy msgid "" ":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make " "different calls to :meth:`__get__`. The first includes the instance and may " @@ -849,20 +834,20 @@ msgid "" "includes the class." msgstr "" ":meth:`objet.__getattribute__` et :meth:`type.__getattribute__` font " -"différents appels à :meth:`__get__`." +"différents appels à :meth:`__get__`. La première inclut l'instance et peut " +"inclure la classe. La seconde met ``None`` pour l'instance et inclut " +"toujours la classe ;" #: howto/descriptor.rst:824 -#, fuzzy msgid "Data descriptors always override instance dictionaries." msgstr "" -"les descripteurs de données remplacent toujours les dictionnaires " +"les descripteurs de données sont toujours prioritaires sur les dictionnaires " "d'instances." #: howto/descriptor.rst:826 -#, fuzzy msgid "Non-data descriptors may be overridden by instance dictionaries." msgstr "" -"les descripteurs *non-data* peuvent être remplacés par des dictionnaires " +"les descripteurs hors-données peuvent céder la priorité aux dictionnaires " "d'instance." #: howto/descriptor.rst:830 @@ -887,14 +872,12 @@ msgstr "" "variable de classe à laquelle le descripteur a été assigné." #: howto/descriptor.rst:839 -#, fuzzy msgid "" "The implementation details are in :c:func:`type_new()` and :c:func:" "`set_names()` in :source:`Objects/typeobject.c`." msgstr "" -"Les détails d'implémentation sont dans :c:func:`super_getattro()` dans :" -"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé " -"dans `Guido's Tutorial`_." +"Les détails d'implémentation sont dans :c:func:`type_new()` et :c:func:" +"`set_names()` dans :source:`Objects/typeobject.c`." #: howto/descriptor.rst:842 msgid "" @@ -957,50 +940,46 @@ msgid "Pure Python Equivalents" msgstr "Équivalents en Python pur" #: howto/descriptor.rst:950 -#, fuzzy msgid "" "The descriptor protocol is simple and offers exciting possibilities. " "Several use cases are so common that they have been prepackaged into built-" "in tools. Properties, bound methods, static methods, class methods, and " "\\_\\_slots\\_\\_ are all based on the descriptor protocol." msgstr "" -"Le protocole est simple et offre des possibilités passionnantes. Plusieurs " -"cas d'utilisation sont si courants qu'ils ont été regroupés en appels de " -"fonction individuels. Les propriétés, les méthodes liées, les méthodes " -"statiques et les méthodes de classe sont toutes basées sur le protocole du " -"descripteur." +"Le protocole descripteur est simple et offre des possibilités très " +"intéressantes. Plusieurs cas d'utilisation sont si courants qu'ils ont été " +"regroupés dans des outils intégrés. Les propriétés, les méthodes liées, les " +"méthodes statiques et les méthodes de classe sont toutes basées sur le " +"protocole descripteur." #: howto/descriptor.rst:957 msgid "Properties" msgstr "Propriétés" #: howto/descriptor.rst:959 -#, fuzzy msgid "" "Calling :func:`property` is a succinct way of building a data descriptor " "that triggers a function call upon access to an attribute. Its signature " "is::" msgstr "" -"Appeler :func:`property` est une façon succincte de construire un " -"descripteur de données qui déclenche des appels de fonction lors de l'accès " -"à un attribut. Sa signature est ::" +"Appeler :func:`property` construit de façon succincte un descripteur de " +"données qui déclenche un appel de fonction lors de l'accès à un attribut. Sa " +"signature est ::" #: howto/descriptor.rst:964 -#, fuzzy msgid "" "The documentation shows a typical use to define a managed attribute ``x``:" msgstr "" -"La documentation montre une utilisation typique pour définir un attribut " -"géré ``x`` ::" +"La documentation montre une utilisation caractéristique pour définir un " +"attribut géré ``x`` ::" #: howto/descriptor.rst:988 -#, fuzzy msgid "" "To see how :func:`property` is implemented in terms of the descriptor " "protocol, here is a pure Python equivalent:" msgstr "" -"Pour voir comment :func:`property` est implémenté dans le protocole du " -"descripteur, voici un un équivalent Python pur ::" +"Pour voir comment :func:`property` est implémentée dans le protocole du " +"descripteur, voici un équivalent en Python pur ::" #: howto/descriptor.rst:1091 msgid "" @@ -1013,7 +992,6 @@ msgstr "" "ultérieures nécessitent l'intervention d'une méthode." #: howto/descriptor.rst:1095 -#, fuzzy msgid "" "For instance, a spreadsheet class may grant access to a cell value through " "``Cell('b10').value``. Subsequent improvements to the program require the " @@ -1024,10 +1002,10 @@ msgid "" msgstr "" "Par exemple, une classe de tableur peut donner accès à une valeur de cellule " "via ``Cell('b10').value``. Les améliorations ultérieures du programme " -"exigent que la cellule soit recalculée à chaque accès ; cependant, le " -"programmeur ne veut pas affecter le code client existant accédant " -"directement à l'attribut. La solution consiste à envelopper l'accès à " -"l'attribut de valeur dans un descripteur de données de propriété ::" +"exigent que la cellule soit recalculée à chaque accès ; cependant, le " +"programmeur ne veut pas impacter le code client existant accédant " +"directement à l'attribut. La solution consiste à envelopper l'accès à " +"l'attribut *value* dans un descripteur de données ::" #: howto/descriptor.rst:1112 msgid "" @@ -1052,20 +1030,18 @@ msgstr "" "les deux sont fusionnés de façon transparente." #: howto/descriptor.rst:1122 -#, fuzzy msgid "" "Functions stored in class dictionaries get turned into methods when invoked. " "Methods only differ from regular functions in that the object instance is " "prepended to the other arguments. By convention, the instance is called " "*self* but could be called *this* or any other variable name." msgstr "" -"Les dictionnaires de classes stockent les méthodes sous forme de fonctions. " -"Dans une définition de classe, les méthodes sont écrites en utilisant :" -"keyword:`def` ou :keyword:`lambda`, les outils habituels pour créer des " -"fonctions. Les méthodes ne diffèrent des fonctions régulières que par le " -"fait que le premier argument est réservé à l'instance de l'objet. Par " -"convention Python, la référence de l'instance est appelée *self* mais peut " -"être appelée *this* ou tout autre nom de variable." +"Les fonctions placées dans les dictionnaires des classes sont transformées " +"en méthodes au moment de l'appel. Les méthodes ne diffèrent des fonctions " +"ordinaires que par le fait que le premier argument est réservé à l'instance " +"de l'objet. Par convention Python, la référence de l'instance est appelée " +"*self*, bien qu'il soit possible de l'appeler *this* ou tout autre nom de " +"variable." #: howto/descriptor.rst:1127 msgid "" @@ -1076,27 +1052,25 @@ msgstr "" "MethodType`, qui équivaut à peu près à :" #: howto/descriptor.rst:1144 -#, fuzzy msgid "" "To support automatic creation of methods, functions include the :meth:" "`__get__` method for binding methods during attribute access. This means " "that functions are non-data descriptors that return bound methods during " "dotted lookup from an instance. Here's how it works:" msgstr "" -"Pour prendre en charge les appels de méthodes, les fonctions incluent la " -"méthode :meth:`__get__` pour lier les méthodes pendant l'accès aux " -"attributs. Cela signifie que toutes les fonctions sont des descripteurs " -"*non-data* qui renvoient des méthodes liées lorsqu'elles sont appelées " -"depuis un objet. En Python pur, il fonctionne comme ceci ::" +"Pour prendre en charge la création automatique des méthodes, les fonctions " +"incluent la méthode :meth:`__get__` pour lier les méthodes pendant l'accès " +"aux attributs. Cela signifie que toutes les fonctions sont des descripteurs " +"hors-données qui renvoient des méthodes liées au cours d'une recherche " +"d'attribut d'une instance. Cela fonctionne ainsi ::" #: howto/descriptor.rst:1160 -#, fuzzy msgid "" "Running the following class in the interpreter shows how the function " "descriptor works in practice:" msgstr "" -"L'exécution de l'interpréteur montre comment le descripteur de fonction se " -"comporte dans la pratique ::" +"L'exécution de la classe suivante dans l'interpréteur montre comment le " +"descripteur de fonction se comporte en pratique ::" #: howto/descriptor.rst:1169 msgid "" @@ -1148,9 +1122,8 @@ msgstr "" "ordinaires ou d'où vient *cls* dans les méthodes de classe, c'est ça !" #: howto/descriptor.rst:1209 -#, fuzzy msgid "Kinds of methods" -msgstr "Fonctions et méthodes" +msgstr "Types de méthodes" #: howto/descriptor.rst:1211 msgid "" @@ -1161,7 +1134,6 @@ msgstr "" "variations des patrons habituels des fonctions de liaison dans les méthodes." #: howto/descriptor.rst:1214 -#, fuzzy msgid "" "To recap, functions have a :meth:`__get__` method so that they can be " "converted to a method when accessed as attributes. The non-data descriptor " @@ -1169,9 +1141,9 @@ msgid "" "f(*args)`` becomes ``f(*args)``." msgstr "" "Pour résumer, les fonctions ont une méthode :meth:`__get__` pour qu'elles " -"puissent être converties en méthode lorsqu'on y accède comme attributs. Le " -"descripteur *non-data* transforme un appel ``obj.f(*args)``en ``f(obj, " -"*args)``. Appeler ``klass.f(*args)`` devient ``f(*args)``." +"puissent être converties en méthodes lorsqu'on y accède comme attributs. Le " +"descripteur hors-données transforme un appel ``obj.f(*args)`` en ``f(obj, " +"*args)``. L'appel ``cls.f(*args)`` devient ``f(*args)``." #: howto/descriptor.rst:1219 msgid "This chart summarizes the binding and its two most useful variants:" @@ -1184,14 +1156,12 @@ msgid "Transformation" msgstr "Transformation" #: howto/descriptor.rst:1222 -#, fuzzy msgid "Called from an object" -msgstr "Appelé depuis un Objet" +msgstr "Appelée depuis un objet" #: howto/descriptor.rst:1222 -#, fuzzy msgid "Called from a class" -msgstr "Appelé depuis un Classe" +msgstr "Appelée depuis une classe" #: howto/descriptor.rst:1225 msgid "function" @@ -1222,9 +1192,8 @@ msgid "f(cls, \\*args)" msgstr "f(cls, \\*args)" #: howto/descriptor.rst:1234 -#, fuzzy msgid "Static methods" -msgstr "méthode statique" +msgstr "Méthodes statiques" #: howto/descriptor.rst:1236 msgid "" @@ -1271,41 +1240,36 @@ msgstr "" "``Sample.erf(1.5) --> .9332``." #: howto/descriptor.rst:1254 -#, fuzzy msgid "" "Since static methods return the underlying function with no changes, the " "example calls are unexciting:" msgstr "" -"Depuis que les méthodes statiques renvoient la fonction sous-jacente sans " -"changement, les exemples d’appels ne sont pas excitants ::" +"Puisque les méthodes statiques renvoient la fonction sous-jacente sans " +"changement, les exemples d’appels sont d'une grande banalité ::" #: howto/descriptor.rst:1271 -#, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" "`staticmethod` would look like this:" msgstr "" -"En utilisant le protocole de descripteur *non-data*, une version Python pure " -"de :func:`staticmethod` ressemblerait à ceci ::" +"En utilisant le protocole de descripteur hors-données, une version Python " +"pure de :func:`staticmethod` ressemblerait à ceci ::" #: howto/descriptor.rst:1310 -#, fuzzy msgid "Class methods" -msgstr "méthode de classe" +msgstr "Méthodes de classe" #: howto/descriptor.rst:1312 -#, fuzzy msgid "" "Unlike static methods, class methods prepend the class reference to the " "argument list before calling the function. This format is the same for " "whether the caller is an object or a class:" msgstr "" -"Contrairement aux méthodes statiques, les méthodes de classe préchargent la " -"référence de classe dans la liste d'arguments avant d'appeler la fonction. " -"Ce format est le même que l'appelant soit un objet ou une classe ::" +"Contrairement aux méthodes statiques, les méthodes de classe ajoutent la " +"référence de classe en tête de la liste d'arguments, avant d'appeler la " +"fonction. C'est le même format que l'appelant soit un objet ou une classe ::" #: howto/descriptor.rst:1330 -#, fuzzy msgid "" "This behavior is useful whenever the method only needs to have a class " "reference and does not rely on data stored in a specific instance. One use " @@ -1314,27 +1278,25 @@ msgid "" "of keys. The pure Python equivalent is:" msgstr "" "Ce comportement est utile lorsque la fonction n'a besoin que d'une référence " -"de classe et ne se soucie pas des données sous-jacentes. Une des " -"utilisations des méthodes de classe est de créer d'autres constructeurs de " -"classe. En Python 2.3, la méthode de classe :func:`dict.fromkeys` crée un " -"nouveau dictionnaire à partir d'une liste de clés. L'équivalent Python pur " -"est ::" +"de classe et ne se soucie pas des données propres à une instance " +"particulière. Une des utilisations des méthodes de classe est de créer des " +"constructeurs de classe personnalisés. Par exemple, la méthode de classe :" +"func:`dict.fromkeys` crée un nouveau dictionnaire à partir d'une liste de " +"clés. L'équivalent Python pur est ::" #: howto/descriptor.rst:1347 -#, fuzzy msgid "Now a new dictionary of unique keys can be constructed like this:" msgstr "" "Maintenant un nouveau dictionnaire de clés uniques peut être construit comme " -"ceci ::" +"ceci :" #: howto/descriptor.rst:1357 -#, fuzzy msgid "" "Using the non-data descriptor protocol, a pure Python version of :func:" "`classmethod` would look like this:" msgstr "" -"En utilisant le protocole de descripteur *non-data*, une version Python pure " -"de :func:`classmethod` ressemblerait à ceci ::" +"En utilisant le protocole de descripteur hors-données, une version Python " +"pure de :func:`classmethod` ressemblerait à ceci :" #: howto/descriptor.rst:1406 msgid "" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 57256decfe..41a19e7d93 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -28,14 +28,15 @@ msgid "Vinay Sajip " msgstr "Vinay Sajip " #: howto/logging-cookbook.rst:9 -#, fuzzy msgid "" "This page contains a number of recipes related to logging, which have been " "found useful in the past. For links to tutorial and reference information, " "please see :ref:`cookbook-ref-links`." msgstr "" "Cette page contient des recettes relatives à la journalisation qui se sont " -"avérées utiles par le passé." +"avérées utiles par le passé. Pour des liens vers le tutoriel et des " +"informations de référence, consultez :ref:`ces autres ressources `." #: howto/logging-cookbook.rst:16 msgid "Using logging in multiple modules" diff --git a/howto/sockets.po b/howto/sockets.po index 264103cc4c..277c89c71b 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -481,7 +481,6 @@ msgid "" msgstr "" #: howto/sockets.rst:262 -#, fuzzy msgid "" "Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, " "htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, " @@ -489,21 +488,14 @@ msgid "" "order, these do nothing, but where the machine is byte-reversed, these swap " "the bytes around appropriately." msgstr "" -"Il est parfaitement possible d’envoyer des données binaires sur un " -"connecteur. Le gros problème est que toutes les machines n’utilisent pas les " -"mêmes formats pour les données binaires. Par exemple, une puce Motorola code " -"l'entier 1, sous 16 bits, comme les deux octets hexadécimaux 00 01. Intel et " -"DEC, cependant, utilisent l’ordre d’octets inverse — ce même 1 est codé 01 " -"00. Les bibliothèques de connecteurs ont des appels pour convertir des " -"entiers de 16 et 32 bits — ``ntohl, htonl, ntohs, htons`` où ``n`` signifie " -"*réseau* (*network*, en anglais) et ``h`` signifie *hôte*, ``s`` signifie " -"*court* (*short*, en anglais) et ``l`` signifie *long*. Lorsque l’ordre du " -"réseau est l’ordre de l’hôte, ceux-ci ne font rien, mais lorsque la machine " -"utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière " -"appropriée." +"Les bibliothèques de sockets ont des appels pour convertir les entiers 16 et " +"32 bits - ``ntohl, htonl, ntohs, htons`` où « n » signifie *network* " +"(réseau) et « h » signifie *host* (hôte), « s » signifie *short* (court) et " +"« l » signifie *long*. Lorsque l’ordre du réseau est l’ordre de l’hôte, ils " +"ne font rien, mais lorsque la machine fonctionne en ordre inversé, ils " +"échangent les octets de manière appropriée." #: howto/sockets.rst:268 -#, fuzzy msgid "" "In these days of 64-bit machines, the ASCII representation of binary data is " "frequently smaller than the binary representation. That's because a " @@ -512,13 +504,13 @@ msgid "" "be 8. Of course, this doesn't fit well with fixed-length messages. " "Decisions, decisions." msgstr "" -"De nos jours, avec les machines 32 bits, la représentation *ASCII* des " +"De nos jours, avec les machines 64 bits, la représentation *ASCII* des " "données binaires est souvent plus compacte que la représentation binaire. " -"C’est parce qu’un nombre surprenant de fois, tous ces *longs* ont la valeur " -"0, ou peut-être 1. La chaîne « 0 » serait codée sur deux octets, alors " -"qu'elle le serait sur quatre en binaire. Bien sûr, cela ne fonctionne pas " -"très bien avec les messages de longueur fixe. Ah, les décisions, les " -"décisions…" +"C’est parce que dans un nombre surprenant de cas, tous ces *entiers* ont la " +"valeur 0 et parfois 1. La chaîne « 0 » serait codée sur deux octets, alors " +"qu'elle le serait sur 8 en tant que binaire 64 bits. Bien sûr, cela ne " +"fonctionne pas très bien avec les messages de longueur fixe. C’est une " +"affaire de choix." #: howto/sockets.rst:277 msgid "Disconnecting" diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index ad7836ef74..2f05f8ae9f 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -62,9 +62,8 @@ msgid "" msgstr "" #: library/asyncio-queue.rst:39 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "Le paramètre *loop*." +msgstr "Suppression du paramètre *loop*." #: library/asyncio-queue.rst:43 msgid "This class is :ref:`not thread safe `." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 297f55a82c..d6c0161c34 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -88,9 +88,8 @@ msgstr "" "paramètres." #: library/asyncio-subprocess.rst:78 library/asyncio-subprocess.rst:105 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "Autres paramètres :" +msgstr "Suppression du paramètre *loop*." #: library/asyncio-subprocess.rst:85 msgid "Run the *cmd* shell command." @@ -329,15 +328,15 @@ msgid "Sends the signal *signal* to the child process." msgstr "Envoie le signal *signal* au sous-processus." #: library/asyncio-subprocess.rst:238 -#, fuzzy msgid "" "On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. " "``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " "with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``." msgstr "" -"Sous Windows, *SIGTERM* est un alias pour :meth:`terminate`. *CTRL_C_EVENT* " -"et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un " -"paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`." +"Sous Windows, :py:data:`SIGTERM` est un alias pour :meth:`terminate`. " +"*CTRL_C_EVENT* et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus " +"démarrés avec un paramètre *creationflags* incluant " +"``CREATE_NEW_PROCESS_GROUP``." #: library/asyncio-subprocess.rst:245 msgid "Stop the child process." @@ -363,11 +362,10 @@ msgid "Kill the child process." msgstr "Arrête le sous-processus." #: library/asyncio-subprocess.rst:257 -#, fuzzy msgid "" "On POSIX systems this method sends :py:data:`SIGKILL` to the child process." msgstr "" -"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au " +"Sur les systèmes POSIX, cette méthode envoie :py:data:`signal.SIGTERM` au " "sous-processus." #: library/asyncio-subprocess.rst:260 diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 4facb12ee5..4c13b5e16c 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -90,9 +90,8 @@ msgstr "" #: library/asyncio-sync.rst:111 library/asyncio-sync.rst:285 #: library/asyncio-sync.rst:340 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "Le paramètre *loop*." +msgstr "Suppression du paramètre *loop*." #: library/asyncio-sync.rst:71 msgid "Acquire the lock." diff --git a/library/asyncio-task.po b/library/asyncio-task.po index fb62e0669c..c9c6ca152b 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -373,9 +373,8 @@ msgstr "" #: library/asyncio-task.rst:369 library/asyncio-task.rst:477 #: library/asyncio-task.rst:541 library/asyncio-task.rst:635 #: library/asyncio-task.rst:658 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "Le paramètre *loop*." +msgstr "Suppression du paramètre *loop*." #: library/asyncio-task.rst:338 msgid "Running Tasks Concurrently" @@ -1019,9 +1018,8 @@ msgstr "" "courante, ni encouragé." #: library/asyncio-task.rst:863 -#, fuzzy msgid "Added the *msg* parameter." -msgstr "ajout du paramètre ``name``." +msgstr "Ajout du paramètre *msg*." #: library/asyncio-task.rst:868 msgid "" diff --git a/library/dataclasses.po b/library/dataclasses.po index 41efd38759..7d52d78ff1 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -583,19 +583,17 @@ msgstr "" "levée." #: library/dataclasses.rst:324 -#, fuzzy msgid "" "Converts the dataclass ``obj`` to a dict (by using the factory function " "``dict_factory``). Each dataclass is converted to a dict of its fields, as " "``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed " "into. Other objects are copied with :func:`copy.deepcopy`." msgstr "" -"Convertit *instance*, une instance d'une classe de données, en un " -"dictionnaire. Le résultat est construit par la fonction *dict_factory*. Les " -"clés et valeurs proviennent directement des champs. Les dictionnaires, " -"listes, *n*-uplets et instances de classes de données sont traversés pour " -"convertir récursivement toutes les instances de classes de données qu'ils " -"contiennent. Voici un exemple :" +"Convertit la classe de données ``obj`` en un dictionnaire (en utilisant la " +"fonction ``dict_factory``). Les clés et valeurs proviennent directement des " +"champs. Les dictionnaires, listes, *n*-uplets et instances de classes de " +"données sont parcourus récursivement. Les autres objets sont copiés avec :" +"func:`copy.deepcopy`." #: library/dataclasses.rst:330 msgid "Example of using :func:`asdict` on nested dataclasses::" @@ -610,39 +608,37 @@ msgstr "" "peut être utilisée ::" #: library/dataclasses.rst:351 -#, fuzzy msgid "" ":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " "instance." msgstr "" -"Lève :exc:`TypeError` si *instance* n'est pas une instance d'une classe de " -"données." +":func:`asdict` lève :exc:`TypeError` si ``obj`` n'est pas une instance d'une " +"classe de données." #: library/dataclasses.rst:356 -#, fuzzy msgid "" "Converts the dataclass ``obj`` to a tuple (by using the factory function " "``tuple_factory``). Each dataclass is converted to a tuple of its field " "values. dataclasses, dicts, lists, and tuples are recursed into. Other " "objects are copied with :func:`copy.deepcopy`." msgstr "" -"Convertit l'instance d'une classe de données *instance* en un *n*-uplet des " -"valeurs de ses champs. Le résultat est construit par la fonction " -"*tuple_factory*. Cette fonction agit récursivement sur les dictionnaires, " -"listes, *n*-uplets et instances de classes de données." +"Convertit l'instance d'une classe de données ``obj`` en un *n*-uplet (en " +"utilisant la fonction ``tuple_factory``). Chaque classe de données est " +"convertie vers un *n*-uplet des valeurs de ses champs. Cette fonction agit " +"récursivement sur les dictionnaires, listes et *n*-uplets. Les autres objets " +"sont copiés avec :func:`copy.deepcopy`." #: library/dataclasses.rst:362 msgid "Continuing from the previous example::" msgstr "Pour continuer l'exemple précédent :" #: library/dataclasses.rst:371 -#, fuzzy msgid "" ":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " "instance." msgstr "" -"Lève :exc:`TypeError` si *instance* n'est pas une instance d'une classe de " -"données." +":func:`astuple` lève :exc:`TypeError` si ``obj`` n'est pas une instance " +"d'une classe de données." #: library/dataclasses.rst:376 msgid "" @@ -682,18 +678,16 @@ msgid "Is equivalent to::" msgstr "est équivalent à ::" #: library/dataclasses.rst:411 -#, fuzzy msgid "" "Creates a new object of the same type as ``obj``, replacing fields with " "values from ``changes``. If ``obj`` is not a Data Class, raises :exc:" "`TypeError`. If values in ``changes`` do not specify fields, raises :exc:" "`TypeError`." msgstr "" -"Crée un nouvel objet du même type que *instance* en effectuant les " -"remplacements donnés par *changes* dans ses champs. L'argument *instance* " -"doit être une instance d'une classe de données, sans quoi :exc:`TypeError` " -"est levée. De même, si une clé dans *changes* ne correspond à aucun champ de " -"l'instance, :exc:`TypeError` est levée." +"Crée un nouvel objet du même type que ``obj`` en affectant aux champs les " +"valeurs données par ``changes``. Si ``obj`` n'est pas une classe de " +"données, :exc:`TypeError` est levée. Si une clé dans ``changes`` ne " +"correspond à aucun champ de l'instance, :exc:`TypeError` est levée." #: library/dataclasses.rst:416 msgid "" diff --git a/library/functions.po b/library/functions.po index 2010218964..e5a2f5328c 100644 --- a/library/functions.po +++ b/library/functions.po @@ -442,17 +442,16 @@ msgstr "" "elle se comporte de la même manière." #: library/functions.rst:93 -#, fuzzy msgid "" "This calls the :meth:`~object.__anext__` method of *async_iterator*, " "returning an :term:`awaitable`. Awaiting this returns the next value of the " "iterator. If *default* is given, it is returned if the iterator is " "exhausted, otherwise :exc:`StopAsyncIteration` is raised." msgstr "" -"Donne un :term:`awaitable` en appelant la méthode :meth:`~object.__anext__` " -"de *async_iterator*. Le fait d'attendre renvoie la prochaine valeur de " -"l'itérateur. Si *default* est fourni, il sera renvoyé si l'itérateur est " -"épuisé, sinon :exc:`StopAsyncIteration` est levée." +"Renvoie un :term:`attendable ` en appelant la méthode :meth:" +"`~object.__anext__` de *async_iterator*. L'attente renvoie la prochaine " +"valeur de l'itérateur. Si *default* est fourni, il est renvoyé si " +"l'itérateur est épuisé, sinon :exc:`StopAsyncIteration` est levée." #: library/functions.rst:102 msgid "" @@ -489,13 +488,12 @@ msgstr "" "entier. Voici quelques exemples :" #: library/functions.rst:132 -#, fuzzy msgid "" "If the prefix \"0b\" is desired or not, you can use either of the following " "ways." msgstr "" -"Vous pouvez contrôler l'affichage du préfixe ``0b`` à l'aide d'un des moyens " -"suivants." +"Vous pouvez contrôler l'affichage du préfixe ``\"0b\"`` à l'aide d'un des " +"moyens suivants." #: library/functions.rst:808 library/functions.rst:1112 msgid "See also :func:`format` for more information." @@ -524,7 +522,6 @@ msgid "*x* is now a positional-only parameter." msgstr "*x* est désormais un argument exclusivement optionnel." #: library/functions.rst:158 -#, fuzzy msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -544,7 +541,9 @@ msgstr "" "explicitement :mod:`pdb` ou à taper plus de code pour entrer dans le " "débogueur. Cependant, il est possible d'affecter une autre fonction à :func:" "`sys.breakpointhook`, que :func:`breakpoint` appellera automatiquement, vous " -"permettant ainsi de basculer dans le débogueur de votre choix." +"permettant ainsi de basculer dans le débogueur de votre choix. Si :func:`sys." +"breakpointhook` n'est pas accessible, cette fonction lève :exc:" +"`RuntimeError`." #: library/functions.rst:170 msgid "" @@ -621,7 +620,6 @@ msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." msgstr "Voir :ref:`binaryseq` et :ref:`typebytearray`." #: library/functions.rst:208 -#, fuzzy msgid "" "Return a new \"bytes\" object which is an immutable sequence of integers in " "the range ``0 <= x < 256``. :class:`bytes` is an immutable version of :" @@ -631,7 +629,7 @@ msgstr "" "Renvoie un nouvel objet *bytes*, qui est une séquence immuable de nombres " "entiers dans l'intervalle ``0 <= x < 256``. Un :class:`bytes` est une " "version immuable de :class:`bytearray` — avec les mêmes méthodes d'accès, et " -"le même comportement lors de l'indexation ou la découpe." +"le même comportement lors de l'indexation ou du découpage." #: library/functions.rst:213 msgid "" @@ -794,7 +792,6 @@ msgstr "" "``None`` sont affichés)." #: library/functions.rst:293 -#, fuzzy msgid "" "The optional arguments *flags* and *dont_inherit* control which :ref:" "`compiler options ` should be activated and which :ref:" @@ -815,11 +812,11 @@ msgstr "" "fourni alors que *dont_inherit* ne l'est pas (ou vaut 0), les options de " "compilation et les instructions *futures* utilisées sont celles définies par " "*flags* en plus de celles qui auraient été utilisées. Si *dont_inherit* est " -"un entier différent de zéro, *flags* est utilisé seul — les instructions " -"futures déclarées autour de l'appel à *compile* sont ignorées." +"un entier différent de zéro, *flags* est utilisé tel quel — les *flags* " +"(instructions futures et options de compilation) valables pour le code " +"encadrant *compile* sont ignorés." #: library/functions.rst:304 -#, fuzzy msgid "" "Compiler options and future statements are specified by bits which can be " "bitwise ORed together to specify multiple options. The bitfield required to " @@ -829,10 +826,12 @@ msgid "" "flags>` can be found in :mod:`ast` module, with ``PyCF_`` prefix." msgstr "" "Les instructions *future* sont contrôlées par des bits, il est ainsi " -"possible d'en activer plusieurs en les combinant avec un *ou* binaire. Les " +"possible d'en activer plusieurs en les combinant avec un *OU* binaire. Les " "bits requis pour demander une certaine fonctionnalité se trouvent dans " "l'attribut :attr:`~__future__._Feature.compiler_flag` de la classe :class:" -"`~__future__.Feature` du module :mod:`__future__`." +"`~__future__.Feature` du module :mod:`__future__`. Les :ref:`options du " +"compilateur ` se trouvent dans le module :mod:`ast`, " +"avec le préfixe ``PyCF_``." #: library/functions.rst:312 msgid "" @@ -996,7 +995,6 @@ msgstr "" "sont pas définies." #: library/functions.rst:391 -#, fuzzy msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " "string. The string must be the name of one of the object's attributes. The " @@ -1004,10 +1002,11 @@ msgid "" "example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. *name* " "need not be a Python identifier (see :func:`setattr`)." msgstr "" -"C'est un cousin de :func:`setattr`. Les arguments sont un objet et une " +"C'est une cousine de :func:`setattr`. Les arguments sont un objet et une " "chaîne. La chaîne doit être le nom de l'un des attributs de l'objet. La " "fonction supprime l'attribut nommé, si l'objet l'y autorise. Par exemple " -"``delattr(x, 'foobar')`` est l'équivalent de ``del x.foobar``." +"``delattr(x, 'foobar')`` est l'équivalent de ``del x.foobar``. *name* n'a " +"pas besoin d'être un identifiant Python (voir :func:`setattr`)." #: library/functions.rst:404 msgid "" @@ -1049,7 +1048,6 @@ msgstr "" "func:`dir`." #: library/functions.rst:421 -#, fuzzy msgid "" "If the object does not provide :meth:`__dir__`, the function tries its best " "to gather information from the object's :attr:`~object.__dict__` attribute, " @@ -1059,9 +1057,9 @@ msgid "" msgstr "" "Si l'objet ne fournit pas de méthode :meth:`__dir__`, la fonction fait de " "son mieux en rassemblant les informations de l'attribut :attr:`~object." -"__dict__` de l'objet, si défini, et depuis son type. La liste résultante " -"n'est pas nécessairement complète, et peut être erronée quand l'objet a un :" -"func:`__getattr__` personnalisé." +"__dict__` de l'objet, s'il est défini, et depuis son type. La liste " +"résultante n'est pas nécessairement complète, et peut être erronée quand " +"l'objet a une :func:`__getattr__` personnalisée." #: library/functions.rst:426 msgid "" @@ -1118,7 +1116,6 @@ msgstr "" "méta-classes ne sont pas donnés lorsque l'argument est une classe." #: library/functions.rst:469 -#, fuzzy msgid "" "Take two (non-complex) numbers as arguments and return a pair of numbers " "consisting of their quotient and remainder when using integer division. " @@ -1136,8 +1133,8 @@ msgstr "" "b, a % b)``. Pour des nombres à virgule flottante le résultat est ``(q, a % " "b)``, où *q* est généralement ``math.floor(a / b)`` mais peut valoir 1 de " "moins. Dans tous les cas ``q * b + a % b`` est très proche de *a*. Si ``a % " -"b`` est différent de zéro, il a le même signe que *b*, et ``0 <= abs(a % b) " -"< abs(b)``." +"b`` est différent de zéro, il a le même signe que *b* et ``0 <= abs(a % b) < " +"abs(b)``." #: library/functions.rst:481 msgid "" @@ -1168,7 +1165,6 @@ msgstr "" "fourni, *locals* peut être n'importe quel objet *mapping*." #: library/functions.rst:508 -#, fuzzy msgid "" "The *expression* argument is parsed and evaluated as a Python expression " "(technically speaking, a condition list) using the *globals* and *locals* " @@ -1189,14 +1185,15 @@ msgstr "" "*globals* et *locals* comme espaces de nommage global et local. Si le " "dictionnaire *globals* est présent mais ne contient pas de valeur pour la " "clé ``__builtins__``, une référence au dictionnaire du module :mod:" -"`builtins` y est insérée avant qu'*expression* ne soit évaluée. Cela " -"signifie qu'*expression* a normalement un accès complet à tout le module :" -"mod:`builtins`, et que les environnements restreints sont propagés. Si le " -"dictionnaire *locals* est omis, sa valeur par défaut est le dictionnaire " -"*globals*. Si les deux dictionnaires sont omis, l'expression est exécutée " -"avec les dictionnaires *globals* et *locals* dans l'environnement où :func:" -"`eval` est appelée. Note, *eval()* n'a pas accès aux :term:`portées " -"imbriquées ` (non locales) dans l'environnement englobant." +"`builtins` y est insérée avant qu'*expression* ne soit évaluée. Ainsi, vous " +"pouvez contrôler quels objets natifs sont disponibles pour le code à " +"exécuter en insérant votre propre dictionnaire ``__builtins__`` dans " +"*globals* avant de le passer à :func:`eval`. Si le dictionnaire *locals* est " +"omis, sa valeur par défaut est le dictionnaire *globals*. Si les deux " +"dictionnaires sont omis, l'expression est exécutée avec les dictionnaires " +"*globals* et *locals* dans l'environnement où :func:`eval` est appelée. " +"Notez que *eval()* n'a pas accès aux :term:`portées imbriquées ` (non locales) dans l'environnement englobant." #: library/functions.rst:523 msgid "" @@ -1207,7 +1204,6 @@ msgstr "" "syntaxe sont signalées comme des exceptions. Exemple :" #: library/functions.rst:530 -#, fuzzy msgid "" "This function can also be used to execute arbitrary code objects (such as " "those created by :func:`compile`). In this case, pass a code object instead " @@ -1217,7 +1213,7 @@ msgstr "" "Cette fonction peut aussi être utilisée pour exécuter n'importe quel objet " "code (tels que ceux créés par :func:`compile`). Dans ce cas, donnez un objet " "code plutôt qu'une chaîne. Si l'objet code a été compilé avec l'argument " -"*mode* à ``'exec'``, :func:`eval` donnera ``None``." +"*mode* à ``'exec'``, :func:`eval` renvoie ``None``." #: library/functions.rst:535 #, fuzzy @@ -1268,7 +1264,6 @@ msgstr "" "levés." #: library/functions.rst:555 -#, fuzzy msgid "" "This function supports dynamic execution of Python code. *object* must be " "either a string or a code object. If it is a string, the string is parsed " @@ -1285,14 +1280,14 @@ msgstr "" "d'abord analysée en une suite d'instructions Python qui sont ensuite " "exécutés (sauf erreur de syntaxe). [#]_ Si c'est un objet code, il est " "simplement exécuté. Dans tous les cas, le code fourni doit être valide selon " -"les mêmes critères que s'il était un script dans un fichier (voir la section " -"« Fichier d'entrée » dans le manuel de référence du langage). Gardez en tête " -"que les mots clés :keyword:`return` et :keyword:`yield` ne peuvent pas être " -"utilisés en dehors d'une fonction, même dans du code passé à :func:`exec`. " -"La fonction renvoie ``None``." +"les mêmes critères que s'il était un script dans un fichier (voir la " +"section :ref:`Fichier d'entrée ` dans le manuel de référence du " +"langage). Gardez en tête que les mots clés :keyword:`nonlocal`, :keyword:" +"`yield` et :keyword:`return` ne peuvent pas être utilisés en dehors d'une " +"fonction, même dans du code passé à :func:`exec`. La fonction renvoie " +"``None``." #: library/functions.rst:566 -#, fuzzy msgid "" "In all cases, if the optional parts are omitted, the code is executed in the " "current scope. If only *globals* is provided, it must be a dictionary (and " @@ -1309,7 +1304,7 @@ msgstr "" "un dictionnaire (et pas une sous-classe de dictionnaire) utilisé pour les " "variables globales et locales. Si les deux sont fournis, ils sont utilisés " "respectivement pour les variables globales et locales. *locales* peut être " -"n'importe quel objet de correspondance. Souvenez vous qu'au niveau d'un " +"n'importe quel objet de correspondance. Souvenez-vous qu'au niveau d'un " "module, les dictionnaires des locales et des globales ne sont qu'un. Si " "``exec`` reçoit deux objets distincts dans *globals* et *locals*, le code " "est exécuté comme s'il était inclus dans une définition de classe." @@ -1463,7 +1458,6 @@ msgid "Falls back to :meth:`__index__` if :meth:`__float__` is not defined." msgstr "revient à :meth:`__index__` si :meth:`__float__` n'est pas définie." #: library/functions.rst:688 -#, fuzzy msgid "" "Convert a *value* to a \"formatted\" representation, as controlled by " "*format_spec*. The interpretation of *format_spec* will depend on the type " @@ -1472,8 +1466,8 @@ msgid "" msgstr "" "Convertit une valeur en sa représentation « formatée », contrôlée par " "*format_spec*. L'interprétation de *format_spec* dépend du type de la " -"valeur, cependant il existe une syntaxe standard utilisée par la plupart des " -"types natifs : :ref:`formatspec`." +"valeur. Cependant, il existe une syntaxe standard utilisée par la plupart " +"des types natifs : :ref:`formatspec`." #: library/functions.rst:693 msgid "" @@ -1527,7 +1521,6 @@ msgstr "" "`collections`." #: library/functions.rst:723 -#, fuzzy msgid "" "Return the value of the named attribute of *object*. *name* must be a " "string. If the string is the name of one of the object's attributes, the " @@ -1541,7 +1534,8 @@ msgstr "" "le résultat est la valeur de cet attribut. Par exemple, ``getattr(x, " "'foobar')`` est équivalent à ``x.foobar``. Si l'attribut n'existe pas, mais " "que *default* est fourni, celui-ci est renvoyé. Sinon l'exception :exc:" -"`AttributeError` est levée." +"`AttributeError` est levée. *name* n'a pas besoin d'être un identifiant " +"Python (voir :func:`setattr`)." #: library/functions.rst:732 msgid "" @@ -1556,16 +1550,14 @@ msgstr "" "soulignement en tête) afin de le récupérer avec :func:`getattr`." #: library/functions.rst:740 -#, fuzzy msgid "" "Return the dictionary implementing the current module namespace. For code " "within functions, this is set when the function is defined and remains the " "same regardless of where the function is called." msgstr "" -"Renvoie une représentation de la table de symboles globaux sous forme d'un " -"dictionnaire. C'est toujours le dictionnaire du module courant (dans une " -"fonction ou méthode, c'est le module où elle est définie, et non le module " -"d'où elle est appelée)." +"Renvoie le dictionnaire implémentant l'espace de nommage du module actuel. " +"Pour le code dans les fonctions, il est défini lorsque la fonction est " +"définie et reste le même quel que soit le moment où la fonction est appelée." #: library/functions.rst:747 msgid "" @@ -1729,13 +1721,12 @@ msgstr "" "fournir des fonctionnalités d'édition et d'historique élaborées." #: library/functions.rst:846 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt``." msgstr "" -"Lève un :ref:`auditing event ` ``builtins.input`` avec l'argument " -"``prompt``." +"Lève un :ref:`évènement d'audit ` ``builtins.input`` avec " +"l'argument ``prompt``." #: library/functions.rst:848 msgid "" @@ -1746,22 +1737,20 @@ msgstr "" "``prompt`` avant de lire l'entrée." #: library/functions.rst:851 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "argument ``result``." msgstr "" -"Lève un :ref:`auditing event ` ``builtins.input/result`` avec " +"Lève un :ref:`évènement d'audit ` ``builtins.input/result`` avec " "l'argument ``result``." #: library/functions.rst:853 -#, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "the result after successfully reading input." msgstr "" -"Lève un événement d'audit ``builtins.input/result`` avec le résultat après " -"avoir lu avec succès l'entrée." +"Lève un :ref:`événement d'audit ` ``builtins.input/result`` avec " +"le résultat après avoir lu avec succès l'entrée." #: library/functions.rst:860 msgid "" diff --git a/library/logging.config.po b/library/logging.config.po index d0fd6a4a0c..9daab7893c 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -38,9 +38,8 @@ msgid ":ref:`Advanced Tutorial `" msgstr ":ref:`Tutoriel avancé `" #: library/logging.config.rst:19 -#, fuzzy msgid ":ref:`Logging Cookbook `" -msgstr ":ref:`A logging cookbook `" +msgstr ":ref:`Recettes pour la journalisation `" #: library/logging.config.rst:23 msgid "This section describes the API for configuring the logging module." @@ -137,9 +136,8 @@ msgid "" msgstr "" #: library/logging.config.rst:0 -#, fuzzy msgid "Parameters" -msgstr "Paramètres :" +msgstr "Paramètres" #: library/logging.config.rst:90 msgid "" diff --git a/library/logging.po b/library/logging.po index dbea171370..e2135b97f5 100644 --- a/library/logging.po +++ b/library/logging.po @@ -1218,9 +1218,8 @@ msgid "" msgstr "" #: library/logging.rst:0 -#, fuzzy msgid "Parameters" -msgstr "Paramètres :" +msgstr "Paramètres" #: library/logging.rst:775 msgid "" diff --git a/library/pathlib.po b/library/pathlib.po index 163300dc94..e215cf9a89 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -174,15 +174,15 @@ msgstr "" "la précédente configuration de lecteur ::" #: library/pathlib.rst:135 -#, fuzzy msgid "" "Spurious slashes and single dots are collapsed, but double dots (``'..'``) " "and leading double slashes (``'//'``) are not, since this would change the " "meaning of a path for various reasons (e.g. symbolic links, UNC paths)::" msgstr "" "Les points et slashs superflus sont supprimés, mais les doubles points " -"(``'..'``) ne le sont pas, puisque cela changerait la signification du " -"chemin dans le cas de liens symboliques ::" +"(``'..'``) et les double slashes (``'//'``) en début de segment ne le sont " +"pas, puisque cela changerait la signification du chemin pour différentes " +"raisons (par exemple pour des liens symboliques ou des chemins UNC) ::" #: library/pathlib.rst:148 msgid "" @@ -219,13 +219,13 @@ msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "*pathsegments* est spécifié de manière similaire à :class:`PurePath`." #: library/pathlib.rst:170 -#, fuzzy msgid "" "A subclass of :class:`PurePath`, this path flavour represents Windows " "filesystem paths, including `UNC paths`_::" msgstr "" -"Une sous-classe de :class:`PurePath`, cette famille de chemin représente les " -"chemins de systèmes de fichiers Windows ::" +"Sous-classe de :class:`PurePath`, cette famille de chemin représente les " +"chemins de systèmes de fichiers Windows, y compris les chemins UNC (voir " +"`UNC paths`_) ::" #: library/pathlib.rst:182 msgid "" @@ -1034,15 +1034,14 @@ msgid "Added return value, return the new Path instance." msgstr "ajout de la valeur de retour, renvoie une nouvelle instance *Path*." #: library/pathlib.rst:1070 -#, fuzzy msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. If *target* points to an existing file or " "empty directory, it will be unconditionally replaced." msgstr "" -"Renomme ce fichier ou dossier vers la cible *target* fournie, et renvoie une " -"nouvelle instance de *Path* pointant sur *target*. Si *target* pointe sur un " -"fichier ou un dossier vide existant, il est systématiquement remplacé." +"Renomme ce fichier ou dossier vers la cible *target* fournie et renvoie une " +"nouvelle instance de *Path* pointant vers *target*. Si *target* pointe vers " +"un fichier ou un dossier vide existant, il sera systématiquement remplacé." #: library/pathlib.rst:1084 msgid "" @@ -1425,9 +1424,8 @@ msgid ":func:`os.path.relpath`" msgstr ":func:`os.path.relpath`" #: library/pathlib.rst:1294 -#, fuzzy msgid ":meth:`PurePath.relative_to` [#]_" -msgstr ":meth:`Path.relative_to` [#]_" +msgstr ":meth:`PurePath.relative_to` [#]_" #: library/pathlib.rst:1295 msgid ":func:`os.stat`" diff --git a/library/re.po b/library/re.po index f1f550bb20..a0f38e76d4 100644 --- a/library/re.po +++ b/library/re.po @@ -1353,7 +1353,6 @@ msgstr "" "l'exception du saut de ligne. Correspond à l'option de groupe ``(?s)``." #: library/re.rst:701 -#, fuzzy msgid "" "This flag allows you to write regular expressions that look nicer and are " "more readable by allowing you to visually separate logical sections of the " @@ -1369,9 +1368,10 @@ msgstr "" "présentent mieux et sont plus lisibles en vous permettant de séparer " "visuellement les sections logiques du motif et d'ajouter des commentaires. " "Les caractères d'espacement à l'intérieur du motif sont ignorés, sauf à " -"l'intérieur des classes de caractères ou quand précédés d'un *backslash* non " -"échappé, ou dans des séquences comme ``*?``, ``(?:`` or ``(?P<...>``. Quand " -"une ligne contient un ``#`` qui n'est pas dans une classe de caractères ou " +"l'intérieur des classes de caractères ou quand ils sont précédés d'un " +"*backslash* non échappé, ou dans des séquences comme ``*?``, ``(?:`` ou ``(?" +"P<...>``.Par exemple, ``(? :`` et ``* ?`` ne sont pas autorisés. Quand une " +"ligne contient un ``#`` qui n'est ni dans une classe de caractères, ni " "précédé d'un *backslash* non échappé, tous les caractères depuis le ``#`` le " "plus à gauche jusqu'à la fin de la ligne sont ignorés." diff --git a/library/signal.po b/library/signal.po index 76ffd9c5f9..9d570b5ab2 100644 --- a/library/signal.po +++ b/library/signal.po @@ -102,9 +102,8 @@ msgid "" msgstr "" #: library/signal.rst:68 -#, fuzzy msgid "Module contents" -msgstr "Contenu du module" +msgstr "Classe de données" #: library/signal.rst:70 msgid "" diff --git a/library/site.po b/library/site.po index deb07bc719..350d25672f 100644 --- a/library/site.po +++ b/library/site.po @@ -177,9 +177,8 @@ msgid "Activation of rlcompleter and history was made automatic." msgstr "" #: library/site.rst:158 -#, fuzzy msgid "Module contents" -msgstr "Contenu du module" +msgstr "Classe de données" #: library/site.rst:162 msgid "A list of prefixes for site-packages directories." diff --git a/library/socket.po b/library/socket.po index 01b11dad93..295061ba85 100644 --- a/library/socket.po +++ b/library/socket.po @@ -384,9 +384,8 @@ msgid "" msgstr "" #: library/socket.rst:246 -#, fuzzy msgid "Module contents" -msgstr "Contenu du module" +msgstr "Classe de données" #: library/socket.rst:248 msgid "The module :mod:`socket` exports the following elements." @@ -663,9 +662,8 @@ msgid "" msgstr "" #: library/socket.rst:554 -#, fuzzy msgid ":ref:`Availability `: Linux >= 4.7." -msgstr ":ref:`Disponibilité ` : Linux >= 4.8." +msgstr ":ref:`Disponibilité ` : Linux 4.7+" #: library/socket.rst:557 msgid "Functions" diff --git a/library/sqlite3.po b/library/sqlite3.po index 03c8f75f40..25b0250519 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -337,9 +337,8 @@ msgid "Reference" msgstr "Référence" #: library/sqlite3.rst:256 -#, fuzzy msgid "Module functions" -msgstr "Fonctions et constantes du module" +msgstr "Fonctions du module" #: library/sqlite3.rst:263 msgid "Open a connection to an SQLite database." @@ -492,9 +491,8 @@ msgstr "" "l’instruction se termine par un point-virgule." #: library/sqlite3.rst:346 -#, fuzzy msgid "For example:" -msgstr "Exemple :" +msgstr "Par exemple :" #: library/sqlite3.rst:355 msgid "" @@ -1736,9 +1734,8 @@ msgid "" msgstr "" #: library/sqlite3.rst:1841 -#, fuzzy msgid "Explanation" -msgstr "Exceptions" +msgstr "Explication" #: library/sqlite3.rst:1846 msgid "Transaction control" diff --git a/library/stdtypes.po b/library/stdtypes.po index ee6e4bfa51..8505c6369c 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -7853,9 +7853,8 @@ msgid "" msgstr "" #: library/stdtypes.rst:5554 -#, fuzzy msgid "Example::" -msgstr "Par exemple ::" +msgstr "Exemple ::" #: library/stdtypes.rst:5566 msgid "If you need to disable it entirely, set it to ``0``." diff --git a/library/sys.po b/library/sys.po index 8e9883f026..96377b1750 100644 --- a/library/sys.po +++ b/library/sys.po @@ -55,7 +55,6 @@ msgstr "" "actifs pour l’interpréteur en cours d'exécution." #: library/sys.rst:31 -#, fuzzy msgid "" "When an auditing event is raised through the :func:`sys.audit` function, " "each hook will be called in the order it was added with the event name and " @@ -65,11 +64,12 @@ msgid "" "terminate the process entirely." msgstr "" "Quand un événement d'audit est déclenché par la fonction :func:`sys.audit`, " -"chaque fonction de rappel est appelée dans l'ordre dans lequel elle a été " -"ajoutée avec le nom de l'événement et le *n*-uplet des arguments. Les " -"fonctions de rappel qui sont ajoutées par :c:func:`PySys_AddAuditHook` sont " -"appelées les premières, suivi par les fonctions de rappel ajoutées dans " -"l'interpréteur en cours d'exécution." +"chaque point d'entrée est appelé dans l'ordre dans lequel il a été ajouté " +"avec le nom de l'événement et le *n*-uplet des arguments. Les points " +"d'entrées qui sont ajoutés par :c:func:`PySys_AddAuditHook` sont appelés les " +"premiers, suivi par les fonctions de rappel ajoutées dans l'interpréteur en " +"cours d'exécution. Les points d'entrées peuvent *logger* l'événement, lever " +"une exception pour stopper l'opération ou terminer le processus entièrement." #: library/sys.rst:38 #, fuzzy @@ -81,7 +81,6 @@ msgstr "" "arguments." #: library/sys.rst:40 -#, fuzzy msgid "" "Calling :func:`sys.addaudithook` will itself raise an auditing event named " "``sys.addaudithook`` with no arguments. If any existing hooks raise an " @@ -89,11 +88,12 @@ msgid "" "and the exception suppressed. As a result, callers cannot assume that their " "hook has been added unless they control all existing hooks." msgstr "" -"Déclenche un événement d'audit ``sys.addaudithook`` sans arguments. Si " -"n'importe quel *hooks* lève une exception dérivée de :class:`RuntimeError`, " -"le nouveau *hook* ne sera pas ajouté et l'exception supprimée. Par " -"conséquent, les appels ne peuvent pas supposer que leurs *hooks* ont été " -"ajoutés à moins de contrôler tous les *hooks* existants." +"L'appel de :func:`sys.addaudithook` lèvera d'elle même un événement d'audit " +"appelé ``sys.addaudithook`` sans arguments. Si n'importe quel *hook* lève " +"une exception dérivée de :class:`RuntimeError`, le nouveau point d'entrée ne " +"sera pas ajouté et l'exception supprimée. Par conséquent, les appels ne " +"peuvent pas supposer que leurs points d'entrées ont été ajoutés à moins de " +"contrôler tous les points d'entrées existants." #: library/sys.rst:47 msgid "" @@ -164,7 +164,6 @@ msgstr "" "fsencode(arg) for arg in sys.argv]``." #: library/sys.rst:90 -#, fuzzy msgid "" "Raise an auditing event and trigger any active auditing hooks. *event* is a " "string identifying the event, and *args* may contain optional arguments with " @@ -172,11 +171,12 @@ msgid "" "given event are considered a public and stable API and should not be " "modified between releases." msgstr "" -"Déclenche un événement d'audit pour tous les *hooks* actifs. Le nom de " -"l’éventement est une chaine de caractères identifiant l'événement et son " -"prototype associé qui est le nombre et les types et ses arguments. Pour un " -"événement donné, le prototype est considéré comme une API publique et stable " -"et ne doit pas être modifié entre les différentes versions de Python." +"Déclenche un événement d'audit pour tous les points d'entrées d'audit " +"actifs. *event* est une chaîne de caractères identifiant l'événement, et " +"*args* peut contenir des arguments optionnels avec plus d'informations sur " +"l'événement en question. Le nombre et types d'arguments pour un événement " +"donné sont considérés comme une API publique et stable, et ne devraient pas " +"être modifiés entre les versions." #: library/sys.rst:96 msgid "" @@ -924,9 +924,8 @@ msgid ":const:`utf8_mode`" msgstr ":const:`utf8_mode`" #: library/sys.rst:480 -#, fuzzy msgid ":option:`-X utf8 <-X>`" -msgstr ":option:`-X` ``utf8``" +msgstr ":option:`-X utf8 <-X>`" #: library/sys.rst:481 #, fuzzy @@ -957,15 +956,14 @@ msgstr "" "Ajout de l'attribut ``isolated`` pour l'option :option:`-I` ``isolated``." #: library/sys.rst:496 -#, fuzzy msgid "" "Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " "` and the ``utf8_mode`` attribute for the new :option:`-X` " "``utf8`` flag." msgstr "" -"Ajout de l'attribut ``dev_mode`` pour la nouvelle option :option:`-X` " -"``dev`` et l'attribut ``utf8_mode`` pour la nouvelle option :option:`-X` " -"``utf8``." +"Ajout de l'attribut ``dev_mode`` pour le nouveau :ref:`Mode Développeur " +"Python ` et l'attribut ``utf8_mode`` pour la nouvelle option :" +"option:`-X` ``utf8``." #: library/sys.rst:501 #, fuzzy @@ -1006,13 +1004,12 @@ msgid "DBL_EPSILON" msgstr "DBL_EPSILON" #: library/sys.rst:519 -#, fuzzy msgid "" "difference between 1.0 and the least value greater than 1.0 that is " "representable as a float" msgstr "" -"différence entre 1 et la plus petite valeur plus grande que 1 représentable " -"en *float*" +"différence entre 1.0 et la plus petite valeur plus grande que 1.0 " +"représentable en *float*" #: library/sys.rst:522 msgid "See also :func:`math.ulp`." @@ -1059,9 +1056,8 @@ msgid "DBL_MAX" msgstr "DBL_MAX" #: library/sys.rst:530 -#, fuzzy msgid "maximum representable positive finite float" -msgstr "plus grand `float` fini représentable" +msgstr "plus grand ``float`` fini représentable positif" #: library/sys.rst:532 msgid ":const:`max_exp`" @@ -1072,13 +1068,12 @@ msgid "DBL_MAX_EXP" msgstr "DBL_MAX_EXP" #: library/sys.rst:532 -#, fuzzy msgid "" "maximum integer *e* such that ``radix**(e-1)`` is a representable finite " "float" msgstr "" -"plus grand nombre entier *e* tel que ``radix**(e-1)`` soit représentable " -"sous forme de *float* finit" +"plus grand nombre entier *e* tel que ``radix**(e-1)`` soit un nombre à " +"virgule flottante représentable fini" #: library/sys.rst:535 msgid ":const:`max_10_exp`" @@ -1089,13 +1084,12 @@ msgid "DBL_MAX_10_EXP" msgstr "DBL_MAX_10_EXP" #: library/sys.rst:535 -#, fuzzy msgid "" "maximum integer *e* such that ``10**e`` is in the range of representable " "finite floats" msgstr "" "plus grand nombre entier *e* tel que ``10**e`` est dans l'intervalle des " -"nombre flottants finis" +"nombre flottants finis représentables" #: library/sys.rst:538 msgid ":const:`min`" @@ -1106,9 +1100,9 @@ msgid "DBL_MIN" msgstr "DBL_MIN" #: library/sys.rst:538 -#, fuzzy msgid "minimum representable positive *normalized* float" -msgstr "plus petit nombre à virgule flottante positif normalisé" +msgstr "" +"plus petit nombre à virgule flottante positif *normalisé* représentable" #: library/sys.rst:540 msgid "" @@ -1127,10 +1121,10 @@ msgid "DBL_MIN_EXP" msgstr "DBL_MIN_EXP" #: library/sys.rst:544 -#, fuzzy msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" msgstr "" -"plus petit entier *e* tel que ``radix**(e-1)`` est un *float* normalisé" +"plus petit entier *e* tel que ``radix**(e-1)`` est un nombre à virgule " +"flottante normalisé" #: library/sys.rst:547 msgid ":const:`min_10_exp`" diff --git a/library/time.po b/library/time.po index 1ea02fde63..d9cdd5922a 100644 --- a/library/time.po +++ b/library/time.po @@ -519,11 +519,8 @@ msgstr "" "système." #: library/time.rst:296 -#, fuzzy msgid "On macOS, the function is now system-wide." -msgstr "" -"La fonction est maintenant toujours disponible et toujours à l’échelle du " -"système." +msgstr "Sur macOS, la fonction est maintenant toujours à l’échelle du système." #: library/time.rst:302 msgid "Similar to :func:`monotonic`, but return time as nanoseconds." @@ -855,7 +852,6 @@ msgid "``%z``" msgstr "``%z``" #: library/time.rst:461 -#, fuzzy msgid "" "Time zone offset indicating a positive or negative time difference from UTC/" "GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M " @@ -864,17 +860,17 @@ msgstr "" "Décalage de fuseau horaire indiquant une différence de temps positive ou " "négative par rapport à UTC / GMT de la forme *+HHMM* ou *-HHMM*, où H " "représente les chiffres des heures décimales et M, les chiffres des minutes " -"décimales [*-23:59*, *+23:59*]." +"décimales [*-23:59*, *+23:59*] [1]_" #: library/time.rst:467 msgid "``%Z``" msgstr "``%Z``" #: library/time.rst:467 -#, fuzzy msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_" msgstr "" -"Nom du fuseau horaire (pas de caractères s’il n’y a pas de fuseau horaire)." +"Nom du fuseau horaire (pas de caractères s’il n’y a pas de fuseau horaire). " +"Obsolète. [1]_" #: library/time.rst:470 msgid "``%%``" @@ -918,13 +914,12 @@ msgstr "" "et l’année sont spécifiés." #: library/time.rst:488 -#, fuzzy msgid "" "Here is an example, a format for dates compatible with that specified in " "the :rfc:`2822` Internet email standard. [1]_ ::" msgstr "" "Voici un exemple de format de date compatible avec celui spécifié dans la " -"norme de courrier électronique Internet suivante :rfc:`2822`. [#]_ ::" +"norme de courrier électronique Internet suivante :rfc:`2822`. [1]_ ::" #: library/time.rst:495 msgid "" diff --git a/library/typing.po b/library/typing.po index 78d8b9c4df..14230642ed 100644 --- a/library/typing.po +++ b/library/typing.po @@ -34,17 +34,14 @@ msgstr "" "tiers tels que les contrôleurs de type, les IDE, les analyseurs de code, etc." #: library/typing.rst:20 -#, fuzzy msgid "" "This module provides runtime support for type hints. The most fundamental " "support consists of the types :data:`Any`, :data:`Union`, :data:`Callable`, :" "class:`TypeVar`, and :class:`Generic`. For a full specification, please see :" "pep:`484`. For a simplified introduction to type hints, see :pep:`483`." msgstr "" -"Ce module fournit la gestion des annotations de type à l'exécution " -"conformément à ce qui est spécifié dans les :pep:`484`, :pep:`526`, :pep:" -"`544`, :pep:`586`, :pep:`589` et :pep:`591`. Le support le plus fondamental " -"se compose des types :data:`Any`, :data:`Union`, :data:`Tuple`, :data:" +"Ce module fournit la gestion des annotations de type à l'exécution. La prise " +"en compte de base comprend les types :data:`Any`, :data:`Union`, :data:" "`Callable`, :class:`TypeVar` et :class:`Generic`. Pour les spécifications " "complètes, voir la :pep:`484`. Pour une introduction simplifiée aux " "annotations de type, voir la :pep:`483`." @@ -248,10 +245,8 @@ msgid "NewType" msgstr "*NewType*" #: library/typing.rst:123 -#, fuzzy msgid "Use the :class:`NewType` helper to create distinct types::" -msgstr "" -"Aidez-vous de la fonction :func:`NewType` pour créer des types distincts ::" +msgstr "Utilisez la classe :class:`NewType` pour créer des types distincts ::" #: library/typing.rst:130 msgid "" @@ -276,7 +271,6 @@ msgstr "" "``UserId`` d'une manière invalide ::" #: library/typing.rst:150 -#, fuzzy msgid "" "Note that these checks are enforced only by the static type checker. At " "runtime, the statement ``Derived = NewType('Derived', Base)`` will make " @@ -284,11 +278,11 @@ msgid "" "it. That means the expression ``Derived(some_value)`` does not create a new " "class or introduce much overhead beyond that of a regular function call." msgstr "" -"Notez que ces contrôles ne sont exécutés que par le vérificateur de type " +"Notez que ces contrôles ne sont exécutés que par le vérificateur de types " "statique. À l'exécution, l'instruction ``Derived = NewType('Derived', " "Base)`` fait de ``Derived`` une fonction qui renvoie immédiatement le " "paramètre que vous lui passez. Cela signifie que l'expression " -"``Derived(some_value)`` ne crée pas une nouvelle classe ou n'introduit pas " +"``Derived(some_value)`` ne crée pas une nouvelle classe et n'introduit pas " "de surcharge au-delà de celle d'un appel de fonction normal." #: library/typing.rst:156 @@ -304,12 +298,11 @@ msgid "It is invalid to create a subtype of ``Derived``::" msgstr "La création d'un sous-type de ``Derived`` est invalide:" #: library/typing.rst:168 -#, fuzzy msgid "" "However, it is possible to create a :class:`NewType` based on a 'derived' " "``NewType``::" msgstr "" -"Cependant, il est possible de créer un :func:`NewType` basé sur un " +"Il est néanmoins possible de créer un :class:`NewType` basé sur un " "``NewType`` « dérivé » ::" #: library/typing.rst:176 @@ -2648,7 +2641,6 @@ msgstr "" "spéciales de typage." #: library/typing.rst:2235 -#, fuzzy msgid "" "For a typing object of the form ``X[Y, Z, ...]`` these functions return " "``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" @@ -2660,15 +2652,17 @@ msgid "" msgstr "" "Pour un objet de typage de la forme ``X[Y, Z, ....]``, ces fonctions " "renvoient ``X`` et ``(Y, Z,...)``. Si ``X`` est un alias pour une classe " -"native ou de :mod:`collections`, il est normalisé en la classe originale. " -"Pour les objets non gérés, renvoie la paire ``None`` , ``()``. Exemples ::" +"native ou de :mod:`collections`, il est normalisé vers la classe originale. " +"Si ``X`` est une union or un :class:`Literal` contenu dans un autre type " +"générique, l'ordre de ``(Y, Z, ...)`` peut différer de l'ordre des arguments " +"originels ``[Y, Z, ...]`` à cause du cache de types.Pour les objets non " +"gérés, renvoient ``None`` et ``()`` respectivement. Exemples ::" #: library/typing.rst:2254 msgid "Check if a type is a :class:`TypedDict`." msgstr "Vérifier si un type est un :class:`TypedDict`." #: library/typing.rst:2269 -#, fuzzy msgid "" "A class used for internal typing representation of string forward " "references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " @@ -2676,9 +2670,9 @@ msgid "" "instantiated by a user, but may be used by introspection tools." msgstr "" "Une classe utilisée pour le typage interne de la représentation des " -"références directes des chaînes de caractères. Par exemple, " -"``Liste[\"SomeClass\"]`` est implicitement transformé en " -"``Liste[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être " +"références postérieures des chaînes de caractères. Par exemple, " +"``List[\"SomeClass\"]`` est implicitement transformé en " +"``List[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être " "instanciée par un utilisateur, mais peut être utilisée par des outils " "d'introspection." diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index dfa161820b..c7dca00334 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -925,9 +925,8 @@ msgid "" msgstr "" #: library/xml.etree.elementtree.rst:856 -#, fuzzy msgid "The *base_url* and *max_depth* parameters." -msgstr "Le paramètre *short_empty_elements*." +msgstr "Les paramètres *base_url* et *max_depth*." #: library/xml.etree.elementtree.rst:863 msgid "Element Objects" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 8c9a8f1bda..e3a0be1a71 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -129,9 +129,8 @@ msgid "``boolean``" msgstr "``boolean``" #: library/xmlrpc.client.rst:95 -#, fuzzy msgid ":class:`bool`" -msgstr ":class:`c_bool`" +msgstr ":class:`bool`" #: library/xmlrpc.client.rst:97 msgid "``int``, ``i1``, ``i2``, ``i4``, ``i8`` or ``biginteger``" diff --git a/reference/datamodel.po b/reference/datamodel.po index af2808218e..5b24b8b05f 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -329,15 +329,14 @@ msgstr "" "numériques par les ordinateurs." #: reference/datamodel.rst:190 -#, fuzzy msgid "" "The string representations of the numeric classes, computed by :meth:" "`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" "Les représentations sous forme de chaînes de caractères des objets " -"numériques, produites par :meth:`__repr__` et :meth:`__str__`, ont les " -"propriétés suivantes :" +"numériques, produites par :meth:`~object.__repr__` et :meth:`~object." +"__str__`, ont les propriétés suivantes :" #: reference/datamodel.rst:194 msgid "" @@ -1183,7 +1182,6 @@ msgid "Generator functions" msgstr "Fonctions générateurs" #: reference/datamodel.rst:649 -#, fuzzy msgid "" "A function or method which uses the :keyword:`yield` statement (see section :" "ref:`yield`) is called a :dfn:`generator function`. Such a function, when " @@ -1196,14 +1194,14 @@ msgid "" "values to be returned." msgstr "" "Une fonction ou une méthode qui utilise l'instruction :keyword:`yield` (voir " -"la section :ref:`yield`) est appelée :dfn:`fonction générateur`. Une telle " -"fonction, lorsqu'elle est appelée, retourne toujours un objet itérateur qui " -"peut être utilisé pour exécuter le corps de la fonction : appeler la " -"méthode :meth:`iterator.__next__` de l'itérateur exécute la fonction jusqu'à " -"ce qu'elle renvoie une valeur à l'aide de l'instruction :keyword:`!yield`. " -"Quand la fonction exécute l'instruction :keyword:`return` ou se termine, une " -"exception :exc:`StopIteration` est levée et l'itérateur a atteint la fin de " -"l'ensemble de valeurs qu'il peut renvoyer." +"la section :ref:`yield`) est appelée :dfn:`fonction génératrice`. Une telle " +"fonction, lorsqu'elle est appelée, renvoie toujours un objet :term:" +"`itérateur ` qui peut être utilisé pour exécuter le corps de la " +"fonction : appeler la méthode :meth:`iterator.__next__` de l'itérateur " +"exécute la fonction jusqu'à ce qu'elle renvoie une valeur à l'aide de " +"l'instruction :keyword:`!yield`. Quand la fonction exécute l'instruction :" +"keyword:`return` ou se termine, une exception :exc:`StopIteration` est levée " +"et l'itérateur a atteint la fin de l'ensemble de valeurs qu'il peut renvoyer." #: reference/datamodel.rst:667 msgid "Coroutine functions" @@ -1228,7 +1226,6 @@ msgid "Asynchronous generator functions" msgstr "Fonctions générateurs asynchrones" #: reference/datamodel.rst:674 -#, fuzzy msgid "" "A function or method which is defined using :keyword:`async def` and which " "uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator " @@ -1237,13 +1234,13 @@ msgid "" "execute the body of the function." msgstr "" "Une fonction ou une méthode définie avec :keyword:`async def` et qui utilise " -"l'instruction :keyword:`yield` est appelée :dfn:`fonction générateur " -"asynchrone`. Une telle fonction, quand elle est appelée, renvoie un objet " -"itérateur asynchrone qui peut être utilisé dans des instructions :keyword:" -"`async for` pour exécuter le corps de la fonction." +"l'instruction :keyword:`yield` est appelée :dfn:`fonction génératrice " +"asynchrone`. Une telle fonction, quand elle est appelée, renvoie un objet :" +"term:`itérateur asynchrone ` qui peut être utilisé " +"dans des instructions :keyword:`async for` pour exécuter le corps de la " +"fonction." #: reference/datamodel.rst:680 -#, fuzzy msgid "" "Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will " @@ -1253,13 +1250,13 @@ msgid "" "asynchronous iterator will have reached the end of the set of values to be " "yielded." msgstr "" -"Appeler la méthode :meth:`aiterator.__anext__` de l'itérateur asynchrone " -"renvoie un :term:`awaitable` qui, lorsqu'on l'attend, s'exécute jusqu'à ce " -"qu'il fournisse une valeur à l'aide de l'expression :keyword:`yield`. Quand " -"la fonction exécute une instruction :keyword:`return` (sans valeur) ou " -"arrive à la fin, une exception :exc:`StopAsynciteration` est levée et " -"l'itérateur asynchrone a atteint la fin de l'ensemble des valeurs qu'il peut " -"produire." +"Appeler la méthode :meth:`aiterator.__anext__ ` de " +"l'itérateur asynchrone renvoie un :term:`awaitable` qui, lorsqu'on l'attend, " +"s'exécute jusqu'à ce qu'il fournisse une valeur à l'aide de l'expression :" +"keyword:`yield`. Quand la fonction exécute une instruction :keyword:`return` " +"(sans valeur) ou arrive à la fin, une exception :exc:`StopAsyncIteration` " +"est levée et l'itérateur asynchrone a atteint la fin de l'ensemble des " +"valeurs qu'il peut produire." #: reference/datamodel.rst:702 msgid "Built-in functions" @@ -1309,7 +1306,6 @@ msgid "Classes" msgstr "Classes" #: reference/datamodel.rst:717 -#, fuzzy msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " @@ -1319,22 +1315,21 @@ msgid "" msgstr "" "Les classes sont des appelables. Ces objets sont normalement utilisés pour " "créer des instances d'elles-mêmes mais des variations sont possibles pour " -"les types de classes qui surchargent :meth:`__new__`. Les arguments de " -"l'appel sont passés à :meth:`__new__` et, dans le cas classique, :meth:" -"`__new__` initialise une nouvelle instance." +"les types de classes qui surchargent :meth:`~object.__new__`. Les arguments " +"de l'appel sont passés à :meth:`__new__` et, dans le cas classique, :meth:" +"`~object.__init__` initialise une nouvelle instance." #: reference/datamodel.rst:726 msgid "Class Instances" msgstr "Instances de classe" #: reference/datamodel.rst:724 -#, fuzzy msgid "" "Instances of arbitrary classes can be made callable by defining a :meth:" "`~object.__call__` method in their class." msgstr "" "Les instances d'une classe peuvent devenir des appelables si vous définissez " -"la méthode :meth:`__call__` de leur classe." +"la méthode :meth:`~object.__call__` de leur classe." #: reference/datamodel.rst:789 msgid "Modules" @@ -1560,7 +1555,6 @@ msgid "Class instances" msgstr "Instances de classe" #: reference/datamodel.rst:873 -#, fuzzy msgid "" "A class instance is created by calling a class object (see above). A class " "instance has a namespace implemented as a dictionary which is the first " @@ -1590,21 +1584,20 @@ msgstr "" "récupérer les attributs d'une classe, où la récupération *via* ses instances " "peut différer des objets réellement stockés dans le :attr:`~object.__dict__` " "de la classe. Si aucun attribut de classe n'est trouvé et que la classe de " -"l'objet possède une méthode :meth:`__getattr__`, cette méthode est appelée " -"pour rechercher une correspondance." +"l'objet possède une méthode :meth:`~object.__getattr__`, cette méthode est " +"appelée pour rechercher une correspondance." #: reference/datamodel.rst:889 -#, fuzzy msgid "" "Attribute assignments and deletions update the instance's dictionary, never " "a class's dictionary. If the class has a :meth:`~object.__setattr__` or :" "meth:`~object.__delattr__` method, this is called instead of updating the " "instance dictionary directly." msgstr "" -"Les assignations et suppressions d'attributs mettent à jour le dictionnaire " +"Les affectations et suppressions d'attributs mettent à jour le dictionnaire " "de l'instance, jamais le dictionnaire de la classe. Si la classe possède une " -"méthode :meth:`__setattr__` ou :meth:`__delattr__`, elle est appelée au lieu " -"de mettre à jour le dictionnaire de l'instance directement." +"méthode :meth:`~object.__setattr__` ou :meth:`~object.__delattr__`, elle est " +"appelée au lieu de mettre à jour le dictionnaire de l'instance directement." #: reference/datamodel.rst:899 msgid "" @@ -1985,14 +1978,13 @@ msgid "Slice objects" msgstr "Objets tranches" #: reference/datamodel.rst:1145 -#, fuzzy msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." msgstr "" "Un objet tranche est utilisé pour représenter des découpes des méthodes :" -"meth:`__getitem__`. Ils sont aussi créés par la fonction native :func:" -"`slice`." +"meth:`~object.__getitem__`. Ils sont aussi créés par la fonction native :" +"func:`slice`." #: reference/datamodel.rst:1154 msgid "" @@ -2072,7 +2064,6 @@ msgid "Special method names" msgstr "Méthodes spéciales" #: reference/datamodel.rst:1195 -#, fuzzy msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " @@ -2091,14 +2082,13 @@ msgstr "" "l'approche utilisée par Python pour la :dfn:`surcharge d'opérateur`, " "permettant à une classe de définir son propre comportement vis-à-vis des " "opérateurs du langage. Par exemple, si une classe définit une méthode :meth:" -"`__getitem__` et que ``x`` est une instance de cette classe, alors ``x[i]`` " -"est globalement équivalent à ``type(x).__getitem__(x, i)``. Sauf lorsque " -"c'est mentionné, toute tentative d'appliquer une opération alors que la " -"méthode appropriée n'est pas définie lève une exception (typiquement :exc:" +"`~object.__getitem__` et que ``x`` est une instance de cette classe, alors " +"``x[i]`` est globalement équivalent à ``type(x).__getitem__(x, i)``. Sauf " +"lorsque c'est mentionné, toute tentative d'appliquer une opération alors que " +"la méthode appropriée n'est pas définie lève une exception (typiquement :exc:" "`AttributeError` ou :exc:`TypeError`)." #: reference/datamodel.rst:1206 -#, fuzzy msgid "" "Setting a special method to ``None`` indicates that the corresponding " "operation is not available. For example, if a class sets :meth:`~object." @@ -2108,9 +2098,9 @@ msgid "" msgstr "" "Définir une méthode spéciale à ``None`` indique que l'opération " "correspondante n'est pas disponible. Par exemple, si une classe assigne " -"``None`` à :meth:`__iter__`, vous ne pouvez pas itérer sur la classe et " -"appeler :func:`iter` sur une instance lève :exc:`TypeError` (sans se replier " -"sur :meth:`__getitem__`) [#]_." +"``None`` à :meth:`~object.__iter__`, vous ne pouvez pas itérer sur la classe " +"et appeler :func:`iter` sur une instance lève :exc:`TypeError` (sans se " +"replier sur :meth:`~object.__getitem__`) [#]_." #: reference/datamodel.rst:1212 msgid "" @@ -2538,7 +2528,6 @@ msgstr "" "virtuelles ne sont pas prises en compte." #: reference/datamodel.rst:1467 -#, fuzzy msgid "" "Called by built-in function :func:`hash` and for operations on members of " "hashed collections including :class:`set`, :class:`frozenset`, and :class:" @@ -2550,11 +2539,11 @@ msgid "" msgstr "" "Appelée par la fonction native :func:`hash` et par les opérations sur les " "membres de collections hachées (ce qui comprend :class:`set`, :class:" -"`frozenset` et :class:`dict`). :meth:`__hash__` doit renvoyer un entier. La " -"seule propriété requise est que les objets qui sont égaux pour la " +"`frozenset` et :class:`dict`). La méthode ``__hash__()`` doit renvoyer un " +"entier. La seule propriété requise est que les objets qui sont égaux pour la " "comparaison doivent avoir la même valeur de hachage ; il est conseillé de " "mélanger les valeurs de hachage des composants d'un objet qui jouent un rôle " -"de la comparaison des objets, en les plaçant dans un *n*-uplet dont on " +"dans la comparaison des objets, en les emballant dans un *n*-uplet dont on " "calcule l'empreinte. Par exemple ::" #: reference/datamodel.rst:1480 @@ -3067,7 +3056,6 @@ msgid "Invoking Descriptors" msgstr "Invocation des descripteurs" #: reference/datamodel.rst:1758 -#, fuzzy msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " @@ -3078,9 +3066,9 @@ msgstr "" "En général, un descripteur est un attribut d'objet dont le comportement est " "« lié » (*binding dehavior* en anglais), c'est-à-dire que les accès aux " "attributs ont été surchargés par des méthodes conformes au protocole des " -"descripteurs : :meth:`__get__`, :meth:`__set__` et :meth:`__delete__`. Si " -"l'une de ces méthodes est définie pour un objet, il est réputé être un " -"descripteur." +"descripteurs : :meth:`~object.__get__`, :meth:`~object.__set__` et :meth:" +"`~object.__delete__`. Si l'une de ces méthodes est définie pour un objet, il " +"est réputé être un descripteur." #: reference/datamodel.rst:1764 msgid "" @@ -3170,7 +3158,6 @@ msgstr "" "``A.__dict__['m'].__get__(obj, obj.__class__)``." #: reference/datamodel.rst:1795 -#, fuzzy msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " @@ -3188,22 +3175,21 @@ msgid "" msgstr "" "Pour des liaisons avec des instances, la priorité à l'invocation du " "descripteur dépend des méthodes que le descripteur a définies. Un " -"descripteur peut définir n'importe quelle combinaison de :meth:`__get__`, :" -"meth:`__set__` et :meth:`__delete__`. S'il ne définit pas :meth:`__get__`, " -"alors accéder à l'attribut renvoie l'objet descripteur lui-même sauf s'il " -"existe une valeur dans le dictionnaire de l'objet instance. Si le " -"descripteur définit :meth:`__set__` ou :meth:`__delete__`, c'est un " -"descripteur de données ; s'il ne définit aucune méthode, c'est un " -"descripteur hors-données. Normalement, les descripteurs de données " -"définissent à la fois :meth:`__get__` et :meth:`__set__`, alors que les " -"descripteurs hors-données définissent seulement la méthode :meth:`__get__`. " -"Les descripteurs de données qui définissent :meth:`__set__` et :meth:" -"`__get__` (ou :meth:`__delete__`) sont toujours prioritaires face à une " +"descripteur peut définir n'importe quelle combinaison de :meth:`~object." +"__get__`, :meth:`~object.__set__` et :meth:`~object.__delete__`. S'il ne " +"définit pas :meth:`__get__`, alors accéder à l'attribut renvoie l'objet " +"descripteur lui-même sauf s'il existe une valeur dans le dictionnaire de " +"l'objet instance. Si le descripteur définit :meth:`__set__` ou :meth:" +"`__delete__`, c'est un descripteur de données ; s'il ne définit aucune " +"méthode, c'est un descripteur hors-données. Normalement, les descripteurs de " +"données définissent à la fois :meth:`__get__` et :meth:`__set__`, alors que " +"les descripteurs hors-données définissent seulement la méthode :meth:" +"`__get__`. Les descripteurs de données qui définissent :meth:`__set__` et :" +"meth:`__get__` (ou :meth:`__delete__`) sont toujours prioritaires face à une " "redéfinition du dictionnaire de l'instance. En revanche, les descripteurs " "hors-données peuvent être shuntés par les instances." #: reference/datamodel.rst:1809 -#, fuzzy msgid "" "Python methods (including those decorated with :func:`@staticmethod " "` and :func:`@classmethod `) are implemented as " @@ -3211,11 +3197,11 @@ msgid "" "methods. This allows individual instances to acquire behaviors that differ " "from other instances of the same class." msgstr "" -"Les méthodes Python (y compris :func:`staticmethod` et :func:`classmethod`) " -"sont implémentées comme des descripteurs hors-donnée. De la même manière, " -"les instances peuvent redéfinir et surcharger les méthodes. Ceci permet à " -"chaque instance d'avoir un comportement qui diffère des autres instances de " -"la même classe." +"Les méthodes Python (y compris celles décorées par :func:`@staticmethod " +"` et :func:`@classmethod `) sont implémentées " +"comme des descripteurs hors-données. De la même manière, les instances " +"peuvent redéfinir et surcharger les méthodes. Ceci permet à chaque instance " +"d'avoir un comportement qui diffère des autres instances de la même classe." #: reference/datamodel.rst:1815 msgid "" @@ -3231,29 +3217,26 @@ msgid "__slots__" msgstr "``__slots__``" #: reference/datamodel.rst:1824 -#, fuzzy msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " "explicitly declared in *__slots__* or available in a parent.)" msgstr "" -"Les ``__slots__`` vous permettent de déclarer des membres d'une donnée " -"(comme une propriété) et d'interdire la création de *__dict__* ou de " -"*__weakref__* (à moins qu'ils ne soient explicitement déclarés dans le " -"``__slots__`` ou présent dans le parent)." +"Les créneaux prédéfinis (``__slots__``) vous permettent de déclarer des " +"membres d'une donnée (comme une propriété) et d'interdire la création de :" +"attr:`~object.__dict__` ou de *__weakref__* (à moins qu'ils ne soient " +"explicitement déclarés dans le ``__slots__`` ou présent dans le parent)." #: reference/datamodel.rst:1828 -#, fuzzy msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." msgstr "" -"L'espace gagné par rapport à l'utilisation d'un *__dict__* peut être " -"significatif. La recherche d'attribut peut aussi s'avérer beaucoup plus " -"rapide." +"L'espace gagné par rapport à l'utilisation d'un :attr:`~object.__dict__` " +"peut être significatif. La recherche d'attribut peut aussi s'avérer beaucoup " +"plus rapide." #: reference/datamodel.rst:1833 -#, fuzzy msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " @@ -3263,25 +3246,23 @@ msgstr "" "Cette variable de classe peut être assignée avec une chaîne, un itérable ou " "une séquence de chaînes avec les noms de variables utilisés par les " "instances. *__slots__* réserve de la place pour ces variables déclarées et " -"interdit la création automatique de *__dict__* et *__weakref__* pour chaque " -"instance." +"interdit la création automatique de :attr:`~object.__dict__` et " +"*__weakref__* pour chaque instance." #: reference/datamodel.rst:1841 msgid "Notes on using *__slots__*" msgstr "Note sur l'utilisation de *__slots__*" #: reference/datamodel.rst:1843 -#, fuzzy msgid "" "When inheriting from a class without *__slots__*, the :attr:`~object." "__dict__` and *__weakref__* attribute of the instances will always be " "accessible." msgstr "" -"Lorsque vous héritez d'une classe sans *__slots__*, les attributs *__dict__* " -"et *__weakref__* des instances sont toujours accessibles." +"Lorsque vous héritez d'une classe sans *__slots__*, les attributs :attr:" +"`~object.__dict__` et *__weakref__* des instances sont toujours accessibles." #: reference/datamodel.rst:1847 -#, fuzzy msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -3289,14 +3270,14 @@ msgid "" "assignment of new variables is desired, then add ``'__dict__'`` to the " "sequence of strings in the *__slots__* declaration." msgstr "" -"Sans variable *__dict__*, les instances ne peuvent pas assigner de nouvelles " -"variables (non listées dans la définition de *__slots__*). Les tentatives " -"d'assignation sur un nom de variable non listé lève :exc:`AttributeError`. " -"Si l'assignation dynamique de nouvelles variables est nécessaire, ajoutez " -"``'__dict__'`` à la séquence de chaînes dans la déclaration *__slots__*." +"Sans variable :attr:`~object.__dict__`, les instances ne peuvent pas " +"assigner de nouvelles variables (non listées dans la définition de " +"*__slots__*). Les tentatives d'assignation sur un nom de variable non listé " +"lève :exc:`AttributeError`. Si l'assignation dynamique de nouvelles " +"variables est nécessaire, ajoutez ``'__dict__'`` à la séquence de chaînes " +"dans la déclaration *__slots__*." #: reference/datamodel.rst:1854 -#, fuzzy msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " @@ -3304,27 +3285,25 @@ msgid "" "to the sequence of strings in the *__slots__* declaration." msgstr "" "Sans variable *__weakref__* pour chaque instance, les classes qui " -"définissent *__slots__* ne gèrent pas les références faibles vers leurs " -"instances. Si vous avez besoin de gérer des références faibles, ajoutez " -"``'__weakref__'`` à la séquence de chaînes dans la déclaration de " -"*__slots__*." +"définissent *__slots__* ne gèrent pas les :mod:`références faibles " +"` vers leurs instances. Si vous avez besoin de gérer des références " +"faibles, ajoutez ``'__weakref__'`` à la séquence de chaînes dans la " +"déclaration de *__slots__*." #: reference/datamodel.rst:1860 -#, fuzzy msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " "be used to set default values for instance variables defined by *__slots__*; " "otherwise, the class attribute would overwrite the descriptor assignment." msgstr "" -"Les *__slots__* sont implémentés au niveau de la classe en créant des " -"descripteurs (:ref:`descriptors`) pour chaque nom de variable. Ainsi, les " +"Les *__slots__* sont implémentés au niveau de la classe en créant des :ref:" +"`descripteurs ` pour chaque nom de variable. Ainsi, les " "attributs de classe ne peuvent pas être utilisés pour des valeurs par défaut " "aux variables d'instances définies par *__slots__* ; sinon, l'attribut de " "classe surchargerait l'assignation par descripteur." #: reference/datamodel.rst:1866 -#, fuzzy msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -3334,9 +3313,10 @@ msgid "" msgstr "" "L'action de la déclaration du *__slots__* ne se limite pas à la classe où il " "est défini. Les *__slots__* déclarés par les parents sont disponibles dans " -"les classes enfants. Cependant, les sous-classes enfants ont un *__dict__* " -"et un *__weakref__* à moins qu'elles ne définissent aussi un *__slots__* " -"(qui ne doit contenir alors que les noms *supplémentaires* du *slot*)." +"les classes enfants. Cependant, les sous-classes enfants ont un :attr:" +"`~object.__dict__` et un *__weakref__* à moins qu'elles ne définissent aussi " +"un *__slots__* (qui ne doit contenir alors que les noms *supplémentaires* " +"aux créneaux déjà prédéfinis)." #: reference/datamodel.rst:1872 msgid "" @@ -3382,44 +3362,40 @@ msgstr "" "`help`." #: reference/datamodel.rst:1887 -#, fuzzy msgid "" ":attr:`~instance.__class__` assignment works only if both classes have the " "same *__slots__*." msgstr "" -"Les assignations de *__class__* ne fonctionnent que si les deux classes ont " -"le même *__slots__*." +"Les assignations de :attr:`~instance.__class__` ne fonctionnent que si les " +"deux classes ont le même *__slots__*." #: reference/datamodel.rst:1890 -#, fuzzy msgid "" ":ref:`Multiple inheritance ` with multiple slotted parent " "classes can be used, but only one parent is allowed to have attributes " "created by slots (the other bases must have empty slot layouts) - violations " "raise :exc:`TypeError`." msgstr "" -"L'héritage multiple avec plusieurs classes parentes qui ont des *__slots__* " -"est possible, mais seul un parent peut avoir des attributs créés par " -"*__slots__* (les autres classes parentes doivent avoir des *__slots__* " -"vides). La violation de cette règle lève :exc:`TypeError`." +"L':ref:`héritage multiple ` avec plusieurs classes parentes " +"qui ont des *__slots__* est possible, mais seul un parent peut avoir des " +"attributs créés par *__slots__* (les autres classes parentes doivent avoir " +"des *__slots__* vides). La violation de cette règle lève :exc:`TypeError`." #: reference/datamodel.rst:1896 -#, fuzzy msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " "attribute will be an empty iterator." msgstr "" -"Si un itérateur est utilisé pour *__slots__*, alors un descripteur est créé " -"pour chacune des valeurs de l'itérateur. Cependant, l'attribut de " -"*__slots__* est un itérateur vide." +"Si un :term:`itérateur ` est utilisé pour *__slots__*, alors un :" +"term:`descripteur ` est créé pour chacune des valeurs de " +"l'itérateur. Cependant, l'attribut *__slots__* est un itérateur vide." #: reference/datamodel.rst:1904 msgid "Customizing class creation" msgstr "Personnalisation de la création de classes" #: reference/datamodel.rst:1906 -#, fuzzy msgid "" "Whenever a class inherits from another class, :meth:`~object." "__init_subclass__` is called on the parent class. This way, it is possible " @@ -3428,13 +3404,13 @@ msgid "" "specific class they're applied to, ``__init_subclass__`` solely applies to " "future subclasses of the class defining the method." msgstr "" -"Quand une classe hérite d'une classe parente, *__init_subclass__* de la " -"classe parente est appelée. Ainsi, il est possible d'écrire des classes qui " -"modifient le comportement des sous-classes. Ce comportement est corrélé aux " -"décorateurs de classes mais, alors que les décorateurs de classes agissent " -"seulement sur la classe qu'ils décorent, ``__init_subclass__`` agit " -"uniquement sur les futures sous-classes de la classe qui définit cette " -"méthode." +"Quand une classe hérite d'une classe parente, la méthode :meth:`~object." +"__init_subclass__` de la classe parente est appelée. Ainsi, il est possible " +"d'écrire des classes qui modifient le comportement des sous-classes. Ce " +"comportement est corrélé aux décorateurs de classes mais, alors que les " +"décorateurs de classes agissent seulement sur la classe qu'ils décorent, " +"``__init_subclass__`` agit uniquement sur les futures sous-classes de la " +"classe qui définit cette méthode." #: reference/datamodel.rst:1915 msgid "" @@ -3481,13 +3457,13 @@ msgstr "" "explicite) peut être récupérée par ``type(cls)``." #: reference/datamodel.rst:1946 -#, fuzzy msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" "Lorsqu'une classe est créée, :meth:`type.__new__` exécute le point d'entrée :" -"meth:`__set_name__` de toute variable de la classe qui en possède un." +"meth:`~object.___set_name__` de toute variable de la classe qui en possède " +"un." #: reference/datamodel.rst:1951 msgid "" @@ -3650,7 +3626,6 @@ msgid "Preparing the class namespace" msgstr "Préparation de l'espace de nommage de la classe" #: reference/datamodel.rst:2055 -#, fuzzy msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -3666,10 +3641,10 @@ msgstr "" "il est appelé avec ``namespace = metaclass.__prepare__(name, bases, " "**kwds)`` (où les arguments nommés supplémentaires, s'il y en a, sont les " "arguments de la définition de la classe). La méthode ``__prepare__`` doit " -"être implémentée comme une méthode de classe (:func:`classmethod`). L’espace " -"de nommage renvoyé par ``__prepare__`` est passé à ``__new__``, mais quand " -"l’instance finale est créée, l’espace de nommage est copié vers un nouveau " -"``dict``." +"être implémentée comme une :func:`méthode de classe `). " +"L’espace de nommage renvoyé par ``__prepare__`` est passé à ``__new__``, " +"mais quand l’instance finale est créée, l’espace de nommage est copié vers " +"un nouveau ``dict``." #: reference/datamodel.rst:2064 msgid "" @@ -3953,9 +3928,8 @@ msgstr "" "dans laquelle tous les éléments sont de type :class:`entiers `." #: reference/datamodel.rst:2208 -#, fuzzy msgid ":pep:`484` - Type Hints" -msgstr ":pep:`343` — L'instruction ``with``" +msgstr ":pep:`343` — Indications de types" #: reference/datamodel.rst:2208 msgid "Introducing Python's framework for type annotations" @@ -4150,7 +4124,6 @@ msgid "Emulating container types" msgstr "Émulation de types conteneurs" #: reference/datamodel.rst:2357 -#, fuzzy msgid "" "The following methods can be defined to implement container objects. " "Containers usually are :term:`sequences ` (such as :class:`lists " @@ -4186,39 +4159,42 @@ msgid "" "the values." msgstr "" "Les fonctions suivantes peuvent être définies pour implémenter des objets " -"conteneurs. Les conteneurs sont habituellement des séquences (telles que les " -"*n*-uplets ou les listes) ou des tableaux de correspondances (comme les " -"dictionnaires), mais ils peuvent aussi représenter d'autres conteneurs. Le " -"premier ensemble de méthodes est utilisé soit pour émuler une séquence, soit " -"pour émuler un tableau de correspondances ; la différence est que, pour une " -"séquence, les clés doivent être soit des entiers *k* tels que ``0 <= k < N`` " -"où *N* est la longueur de la séquence, soit des objets tranches qui " -"définissent un intervalle d'éléments. Il est aussi recommandé que les " -"tableaux de correspondances fournissent les méthodes :meth:`keys`, :meth:" -"`values`, :meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :" -"meth:`pop`, :meth:`popitem`, :meth:`!copy` et :meth:`update` avec un " -"comportement similaire aux objets dictionnaires standards de Python. Le " -"module :mod:`collections.abc` fournit une classe de base abstraite :class:" -"`~collections.abc.MutableMapping` pour aider à la création de ces méthodes à " -"partir d'un ensemble de base composé de :meth:`__getitem__`, :meth:" -"`__setitem__`, :meth:`__delitem__` et :meth:`keys`. Les séquences muables " -"doivent fournir les méthodes :meth:`append`, :meth:`count`, :meth:`index`, :" -"meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:`reverse` " -"et :meth:`sort`, comme les objets listes standards de Python. Enfin, les " -"types séquences doivent implémenter l'addition (dans le sens de la " -"concaténation) et la multiplication (dans le sens de la répétition) en " -"définissant les méthodes :meth:`__add__`, :meth:`__radd__`, :meth:" -"`__iadd__`, :meth:`__mul__`, :meth:`__rmul__` et :meth:`__imul__` décrites " -"ci-dessous ; ils ne doivent pas définir d'autres opérateurs numériques. Il " -"est recommandé que les tableaux de correspondances et les séquences " -"implémentent la méthode :meth:`__contains__` pour permettre l'utilisation " -"efficace de l'opérateur ``in`` ; concernant les tableaux de correspondances, " -"``in`` doit rechercher dans les clés du tableau ; pour les séquences, il " -"doit chercher dans les valeurs. Il est de plus recommandé que les tableaux " -"de correspondances et les séquences implémentent la méthode :meth:`__iter__` " -"pour permettre une itération efficace dans le conteneur ; pour les tableaux " -"de correspondances, :meth:`__iter__` doit itérer sur les clés de l'objet ; " -"pour les séquences, elle doit itérer sur les valeurs." +"conteneurs. Les conteneurs sont habituellement des :term:`séquences " +"` (telles que les :class:`listes ` ou les :class:`n-uplets " +"`) ou des :term:`tableaux de correspondances ` (comme les :" +"class:`dictionnaires `), mais ils peuvent aussi représenter d'autres " +"conteneurs. Le premier ensemble de méthodes est utilisé soit pour émuler une " +"séquence, soit pour émuler un tableau de correspondances ; la différence est " +"que, pour une séquence, les clés doivent être soit des entiers *k* tels que " +"``0 <= k < N`` où *N* est la longueur de la séquence, soit des objets :class:" +"`tranches ` qui définissent un intervalle d'éléments. Il est aussi " +"recommandé que les tableaux de correspondances fournissent les méthodes :" +"meth:`keys`, :meth:`values`, :meth:`items`, :meth:`get`, :meth:`clear`, :" +"meth:`setdefault`, :meth:`pop`, :meth:`popitem`, :meth:`!copy` et :meth:" +"`update` avec un comportement similaire aux objets :class:`dictionnaires " +"` standards de Python. Le module :mod:`collections.abc` fournit une :" +"term:`classe de base abstraite ` :class:`~collections." +"abc.MutableMapping` pour aider à la création de ces méthodes à partir d'un " +"ensemble de base composé de :meth:`~object.__getitem__`, :meth:`~object." +"__setitem__`, :meth:`~object.__delitem__` et :meth:`keys`. Les séquences " +"muables doivent fournir les méthodes :meth:`append`, :meth:`count`, :meth:" +"`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:" +"`reverse` et :meth:`sort`, comme les objets :class:`listes ` standards " +"de Python. Enfin, les types séquences doivent implémenter l'addition (dans " +"le sens de la concaténation) et la multiplication (dans le sens de la " +"répétition) en définissant les méthodes :meth:`~object.__add__`, :meth:" +"`~object.__radd__`, :meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:" +"`~object.__rmul__` et :meth:`~object.__imul__` décrites ci-dessous ; ils ne " +"doivent pas définir d'autres opérateurs numériques. Il est recommandé que " +"les tableaux de correspondances et les séquences implémentent la méthode :" +"meth:`~object.__contains__` pour permettre l'utilisation efficace de " +"l'opérateur ``in`` ; concernant les tableaux de correspondances, ``in`` doit " +"rechercher dans les clés du tableau ; pour les séquences, il doit chercher " +"dans les valeurs. Il est de plus recommandé que les tableaux de " +"correspondances et les séquences implémentent la méthode :meth:`~object." +"__iter__` pour permettre une itération efficace dans le conteneur ; pour les " +"tableaux de correspondances, :meth:`__iter__` doit itérer sur les clés de " +"l'objet ; pour les séquences, elle doit itérer sur les valeurs." #: reference/datamodel.rst:2397 msgid "" @@ -4279,7 +4255,6 @@ msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "et ainsi de suite. Les éléments manquants sont remplacés par ``None``." #: reference/datamodel.rst:2440 -#, fuzzy msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " "the accepted keys should be integers and slice objects. Note that the " @@ -4291,15 +4266,16 @@ msgid "" "term:`mapping` types, if *key* is missing (not in the container), :exc:" "`KeyError` should be raised." msgstr "" -"Appelée pour implémenter l'évaluation de ``self[key]``. Pour les types " -"séquences, les clés autorisées sont les entiers et les objets tranches " -"(*slice*). Notez que l'interprétation spéciale des indices négatifs (si la " -"classe souhaite émuler un type séquence) est du ressort de la méthode :meth:" -"`__getitem__`. Si *key* n'est pas du bon type, une :exc:`TypeError` peut " -"être levée ; si la valeur est en dehors de l'ensemble des indices de la " -"séquence (après interprétation éventuelle des valeurs négatives), une :exc:" -"`IndexError` doit être levée. Pour les tableaux de correspondances, si *key* " -"n'existe pas dans le conteneur, une :exc:`KeyError` doit être levée." +"Appelée pour implémenter l'évaluation de ``self[key]``. Pour les types :term:" +"`séquences `, les clés autorisées sont les entiers et les objets " +"tranches (*slice*). Notez que l'interprétation spéciale des indices négatifs " +"(si la classe souhaite émuler un type :term:`séquence `) est du " +"ressort de la méthode :meth:`__getitem__`. Si *key* n'est pas du bon type, " +"une :exc:`TypeError` peut être levée ; si la valeur est en dehors de " +"l'ensemble des indices de la séquence (après interprétation éventuelle des " +"valeurs négatives), une :exc:`IndexError` doit être levée. Pour les :term:" +"`tableaux de correspondances `, si *key* n'existe pas dans le " +"conteneur, une :exc:`KeyError` doit être levée." #: reference/datamodel.rst:2452 msgid "" @@ -4361,17 +4337,16 @@ msgstr "" "pas dans le dictionnaire." #: reference/datamodel.rst:2489 -#, fuzzy msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " "the objects in the container. For mappings, it should iterate over the keys " "of the container." msgstr "" -"Cette méthode est appelée quand un itérateur est requis pour un conteneur. " -"Cette méthode doit renvoyer un nouvel objet itérateur qui peut itérer sur " -"tous les objets du conteneur. Pour les tableaux de correspondances, elle " -"doit itérer sur les clés du conteneur." +"Cette méthode est appelée quand un :term:`itérateur ` est requis " +"pour un conteneur. Cette méthode doit renvoyer un nouvel objet itérateur qui " +"peut itérer sur tous les objets du conteneur. Pour les tableaux de " +"correspondances, elle doit itérer sur les clés du conteneur." #: reference/datamodel.rst:2497 msgid "" @@ -4777,7 +4752,6 @@ msgstr "" "explique pourquoi le code suivant lève une exception ::" #: reference/datamodel.rst:2798 -#, fuzzy msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -4786,10 +4760,11 @@ msgid "" "invoked on the type object itself::" msgstr "" "La raison de ce comportement vient de certaines méthodes spéciales telles " -"que :meth:`__hash__` et :meth:`__repr__` qui sont implémentées par tous les " -"objets, y compris les objets types. Si la recherche effectuée par ces " -"méthodes utilisait le processus normal de recherche, elles ne " -"fonctionneraient pas si on les appelait sur l'objet type lui-même ::" +"que :meth:`~object.__hash__` et :meth:`~object.__repr__` qui sont " +"implémentées par tous les objets, y compris les objets types. Si la " +"recherche effectuée par ces méthodes utilisait le processus normal de " +"recherche, elles ne fonctionneraient pas si on les appelait sur l'objet type " +"lui-même ::" #: reference/datamodel.rst:2812 msgid "" @@ -4802,7 +4777,6 @@ msgstr "" "l'instance lors de la recherche des méthodes spéciales ::" #: reference/datamodel.rst:2821 -#, fuzzy msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" @@ -4810,10 +4784,10 @@ msgid "" msgstr "" "En plus de shunter les attributs des instances pour fonctionner " "correctement, la recherche des méthodes spéciales implicites shunte aussi la " -"méthode :meth:`__getattribute__` même dans la métaclasse de l'objet ::" +"méthode :meth:`~object.__getattribute__` même dans la métaclasse de " +"l'objet ::" #: reference/datamodel.rst:2847 -#, fuzzy msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -4821,8 +4795,8 @@ msgid "" "special method *must* be set on the class object itself in order to be " "consistently invoked by the interpreter)." msgstr "" -"En shuntant le mécanisme de :meth:`__getattribute__` de cette façon, cela " -"permet d'optimiser la vitesse de l'interpréteur moyennant une certaine " +"En shuntant le mécanisme de :meth:`~object.__getattribute__` de cette façon, " +"cela permet d'optimiser la vitesse de l'interpréteur moyennant une certaine " "manœuvre dans la gestion des méthodes spéciales (la méthode spéciale *doit* " "être définie sur l'objet classe lui-même afin d'être invoquée de manière " "cohérente par l'interpréteur)." @@ -4836,15 +4810,14 @@ msgid "Awaitable Objects" msgstr "Objets *attendables* (*awaitable*)" #: reference/datamodel.rst:2864 -#, fuzzy msgid "" "An :term:`awaitable` object generally implements an :meth:`~object." "__await__` method. :term:`Coroutine objects ` returned from :" "keyword:`async def` functions are awaitable." msgstr "" "Un objet :term:`awaitable` implémente généralement une méthode :meth:" -"`__await__`. Les objets :term:`coroutine` renvoyés par les fonctions :" -"keyword:`async def` sont des *attendables* (*awaitable*)." +"`~object.__await__`. Les objets :term:`coroutine` renvoyés par les " +"fonctions :keyword:`async def` sont des *attendables* (*awaitable*)." #: reference/datamodel.rst:2870 #, fuzzy @@ -4879,7 +4852,6 @@ msgid "Coroutine Objects" msgstr "Objets coroutines" #: reference/datamodel.rst:2890 -#, fuzzy msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " @@ -4890,12 +4862,13 @@ msgid "" "should not directly raise unhandled :exc:`StopIteration` exceptions." msgstr "" "Les objets :term:`coroutine` sont des objets :term:`awaitable`. L'exécution " -"d'une coroutine peut être contrôlée en appelant :meth:`__await__` et en " -"itérant sur le résultat. Quand la coroutine a fini de s'exécuter et termine, " -"l'itérateur lève :exc:`StopIteration` et l'attribut :attr:`~StopIteration." -"value` de l'exception contient la valeur de retour. Si la coroutine lève une " -"exception, elle est propagée par l'itérateur. Les coroutines ne doivent pas " -"lever directement des exceptions :exc:`StopIteration` non gérées." +"d'une coroutine peut être contrôlée en appelant :meth:`~object.__await__` et " +"en itérant sur le résultat. Quand la coroutine a fini de s'exécuter et " +"termine, l'itérateur lève :exc:`StopIteration` et l'attribut :attr:" +"`~StopIteration.value` de l'exception contient la valeur de retour. Si la " +"coroutine lève une exception, elle est propagée par l'itérateur. Les " +"coroutines ne doivent pas lever directement des exceptions :exc:" +"`StopIteration` non gérées." #: reference/datamodel.rst:2898 msgid "" @@ -4915,7 +4888,6 @@ msgstr "" "`RuntimeError`." #: reference/datamodel.rst:2908 -#, fuzzy msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -4926,15 +4898,14 @@ msgid "" "value, described above." msgstr "" "Démarre ou reprend l'exécution d'une coroutine. Si *value* est ``None``, " -"c'est équivalent à avancer l'itérateur renvoyé par :meth:`__await__`. Si " -"*value* ne vaut pas ``None``, cette méthode appelle la méthode :meth:" -"`~generator.send` de l'itérateur qui a causé la suspension de la coroutine. " -"Le résultat (valeur de retour, :exc:`StopIteration` ou une autre exception) " -"est le même que lorsque vous itérez sur la valeur de retour de :meth:" -"`__await__`, décrite ci-dessus." +"c'est équivalent à avancer l'itérateur renvoyé par :meth:`~object." +"__await__`. Si *value* ne vaut pas ``None``, cette méthode appelle la " +"méthode :meth:`~generator.send` de l'itérateur qui a causé la suspension de " +"la coroutine. Le résultat (valeur de retour, :exc:`StopIteration` ou une " +"autre exception) est le même que lorsque vous itérez sur la valeur de retour " +"de :meth:`__await__`, décrite ci-dessus." #: reference/datamodel.rst:2919 -#, fuzzy msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -4949,8 +4920,8 @@ msgstr "" "la coroutine, s'il possède une telle méthode. Sinon, l'exception est levée " "au point de suspension. Le résultat (valeur de retour, :exc:`StopIteration` " "ou une autre exception) est le même que lorsque vous itérez sur la valeur de " -"retour de :meth:`__await__`, décrite ci-dessus. Si l'exception n'est pas " -"gérée par la coroutine, elle est propagée à l'appelant." +"retour de :meth:`~object.__await__`, décrite ci-dessus. Si l'exception n'est " +"pas gérée par la coroutine, elle est propagée à l'appelant." #: reference/datamodel.rst:2930 msgid "" @@ -5014,25 +4985,24 @@ msgid "An example of an asynchronous iterable object::" msgstr "Un exemple d'objet itérateur asynchrone ::" #: reference/datamodel.rst:2977 -#, fuzzy msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator `." msgstr "" -"Avant Python 3.7, ``__aiter__`` pouvait renvoyer un *attendable* " +"avant Python 3.7, :meth:`~object.__aiter__` pouvait renvoyer un *attendable* " "(*awaitable*) qui se résolvait potentiellement en un :term:`itérateur " "asynchrone `." #: reference/datamodel.rst:2982 -#, fuzzy msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " "asynchronous iterator object. Returning anything else will result in a :exc:" "`TypeError` error." msgstr "" -"À partir de Python 3.7, ``__aiter__`` doit renvoyer un objet itérateur " -"asynchrone. Renvoyer autre chose entraine une erreur :exc:`TypeError`." +"À partir de Python 3.7, :meth:`~object.__aiter__` doit renvoyer un objet " +"itérateur asynchrone. Renvoyer autre chose entraine une erreur :exc:" +"`TypeError`." #: reference/datamodel.rst:2990 msgid "Asynchronous Context Managers" @@ -5091,17 +5061,16 @@ msgstr "" "correctement." #: reference/datamodel.rst:3025 -#, fuzzy msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, and :meth:`~object.__contains__` methods have special " "handling for this; others will still raise a :exc:`TypeError`, but may do so " "by relying on the behavior that ``None`` is not callable." msgstr "" -"Les méthodes :meth:`__hash__`, :meth:`__iter__`, :meth:`__reversed__` et :" -"meth:`__contains__` ont une gestion particulière pour cela ; les autres " -"lèvent toujours :exc:`TypeError`, mais le font en considérant que ``None`` " -"n'est pas un appelable." +"Les méthodes :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:" +"`~object.__reversed__` et :meth:`~object.__contains__` ont une gestion " +"particulière pour cela ; les autres lèvent toujours :exc:`TypeError`, mais " +"le font en considérant que ``None`` n'est pas un appelable." #: reference/datamodel.rst:3031 msgid "" @@ -5116,15 +5085,14 @@ msgstr "" "l'opérande de droite — cela aurait pour effet de *bloquer* un tel repli." #: reference/datamodel.rst:3037 -#, fuzzy msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method -- such as :meth:`~object.__add__` -- fails then the overall " "operation is not supported, which is why the reflected method is not called." msgstr "" "Pour des opérandes de même type, on considère que si la méthode originelle " -"(telle que :meth:`__add__`) échoue, alors l'opération en tant que telle " -"n'est pas autorisée et donc la méthode symétrique n'est pas appelée." +"(telle que :meth:`~object.__add__`) échoue, alors l'opération en tant que " +"telle n'est pas autorisée et donc la méthode symétrique n'est pas appelée." #~ msgid "" #~ "Any non-string iterable may be assigned to *__slots__*. Mappings may also " diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 3a9652130d..834aca3321 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -237,7 +237,6 @@ msgstr "" "recherche des opérations de liaisons." #: reference/executionmodel.rst:132 -#, fuzzy msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " "names specified in the statement refer to the bindings of those names in the " @@ -255,9 +254,9 @@ msgstr "" "l'espace des noms globaux, c'est-à-dire l'espace de nommage du module " "contenant le bloc de code ainsi que dans l'espace de nommage natif, celui du " "module :mod:`builtins`. La recherche commence dans l'espace de nommage " -"globaux. Si le nom n'y est pas trouvé, la recherche se poursuit dans " -"l'espace de nommage natif. L'instruction :keyword:`!global` doit précéder " -"toute utilisation du nom considéré." +"global. Si le nom n'y est pas trouvé, la recherche se poursuit dans l'espace " +"de nommage natif. L'instruction :keyword:`!global` doit précéder toute " +"utilisation des noms considérés." #: reference/executionmodel.rst:141 msgid "" @@ -448,7 +447,6 @@ msgstr "" "`SystemExit`." #: reference/executionmodel.rst:260 -#, fuzzy msgid "" "Exceptions are identified by class instances. The :keyword:`except` clause " "is selected depending on the class of the instance: it must reference the " @@ -458,9 +456,10 @@ msgid "" msgstr "" "Les exceptions sont identifiées par des instances de classe. La clause :" "keyword:`except` sélectionnée dépend de la classe de l'instance : elle doit " -"faire référence à la classe de l'instance ou à une de ses classes ancêtres. " -"L'instance peut être transmise au gestionnaire et peut apporter des " -"informations complémentaires sur les conditions de l'exception." +"faire référence à la classe de l'instance ou à une de ses :term:`classes " +"ancêtres non virtuelles `. L'instance peut être " +"transmise au gestionnaire et peut apporter des informations complémentaires " +"sur les conditions de l'exception." #: reference/executionmodel.rst:268 msgid "" diff --git a/reference/expressions.po b/reference/expressions.po index 1271e7e759..f9fe784657 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -620,7 +620,6 @@ msgid "Yield expressions" msgstr "Expressions ``yield``" #: reference/expressions.rst:422 -#, fuzzy msgid "" "The yield expression is used when defining a :term:`generator` function or " "an :term:`asynchronous generator` function and thus can only be used in the " @@ -629,13 +628,14 @@ msgid "" "keyword:`async def` function's body causes that coroutine function to be an " "asynchronous generator function. For example::" msgstr "" -"Une expression ``yield`` est utilisée pour définir une fonction :term:" -"`générateur` ou une fonction :term:`génératrice asynchrone ` et ne peut donc être utilisée que dans le corps de la définition " -"d'une fonction. L'utilisation d'une expression ``yield`` dans le corps d'une " -"fonction entraîne que cette fonction devient un générateur et son " -"utilisation dans le corps d'une fonction :keyword:`async def` entraine que " -"cette fonction coroutine devient un générateur asynchrone. Par exemple ::" +"Une expression ``yield`` est utilisée pour définir une :term:`fonction " +"génératrice ` ou une :term:`fonction génératrice asynchrone " +"` et ne peut donc être utilisée que dans le corps de " +"la définition d'une fonction. L'utilisation d'une expression ``yield`` dans " +"le corps d'une fonction entraîne que cette fonction devient une fonction " +"génératrice et son utilisation dans le corps d'une fonction :keyword:`async " +"def` entraine que cette fonction coroutine devient une fonction génératrice " +"asynchrone. Par exemple ::" #: reference/expressions.rst:435 msgid "" @@ -811,13 +811,12 @@ msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" msgstr ":pep:`380` -- Syntaxe pour déléguer à un sous-générateur" #: reference/expressions.rst:511 -#, fuzzy msgid "" "The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " "making delegation to subgenerators easy." msgstr "" -"Proposition d'introduire la syntaxe :token:`yield_from`, de manière à " -"déléguer facilement l'exécution à un sous-générateur." +"Proposition d'introduire la syntaxe :token:`~python-grammar:yield_from`, de " +"manière à déléguer facilement l'exécution à un sous-générateur." #: reference/expressions.rst:515 msgid ":pep:`525` - Asynchronous Generators" @@ -853,7 +852,6 @@ msgstr "" "`ValueError`." #: reference/expressions.rst:535 -#, fuzzy msgid "" "Starts the execution of a generator function or resumes it at the last " "executed yield expression. When a generator function is resumed with a :" @@ -864,14 +862,14 @@ msgid "" "caller. If the generator exits without yielding another value, a :exc:" "`StopIteration` exception is raised." msgstr "" -"Démarre l'exécution d'une fonction générateur ou la reprend à la dernière " -"expression ``yield`` exécutée. Quand une fonction générateur est reprise par " -"une méthode :meth:`~generator.__next__`, l'expression ``yield`` en cours " +"Démarre l'exécution d'une fonction génératrice ou la reprend à la dernière " +"expression ``yield`` exécutée. Quand une fonction génératrice est reprise " +"par une méthode :meth:`~generator.__next__`, l'expression ``yield`` en cours " "s'évalue toujours à :const:`None`. L'exécution continue ensuite jusqu'à " "l'expression ``yield`` suivante, où le générateur est à nouveau suspendu et " -"la valeur de :token:`expression_list` est renvoyée à la méthode :meth:" -"`__next__` de l'appelant. Si le générateur termine sans donner une autre " -"valeur, une exception :exc:`StopIteration` est levée." +"la valeur de :token:`~python-grammar:expression_list` est renvoyée à la " +"méthode :meth:`__next__` de l'appelant. Si le générateur termine sans donner " +"une autre valeur, une exception :exc:`StopIteration` est levée." #: reference/expressions.rst:544 msgid "" @@ -900,7 +898,6 @@ msgstr "" "aucune expression ``yield`` qui peut recevoir la valeur." #: reference/expressions.rst:562 -#, fuzzy msgid "" "Raises an exception at the point where the generator was paused, and returns " "the next value yielded by the generator function. If the generator exits " @@ -908,12 +905,11 @@ msgid "" "If the generator function does not catch the passed-in exception, or raises " "a different exception, then that exception propagates to the caller." msgstr "" -"Lève une exception de type ``type`` à l'endroit où le générateur est en " -"pause et renvoie la valeur suivante produite par la fonction générateur. Si " -"le générateur termine sans produire de nouvelle valeur, une exception :exc:" -"`StopIteration` est levée. Si la fonction génératrice ne gère pas " -"l'exception passée ou lève une autre exception, alors cette exception est " -"propagée vers l'appelant." +"Lève une exception à l'endroit où le générateur est en pause et renvoie la " +"valeur suivante produite par la fonction génératrice. Si le générateur " +"termine sans produire de nouvelle valeur, une exception :exc:`StopIteration` " +"est levée. Si la fonction génératrice ne gère pas l'exception passée ou lève " +"une autre exception, alors cette exception est propagée vers l'appelant." #: reference/expressions.rst:568 msgid "" @@ -1003,7 +999,6 @@ msgstr "" "générateur serait utilisé dans une instruction :keyword:`for`." #: reference/expressions.rst:644 -#, fuzzy msgid "" "Calling one of the asynchronous generator's methods returns an :term:" "`awaitable` object, and the execution starts when this object is awaited on. " @@ -1025,10 +1020,10 @@ msgstr "" "`awaitable` et l'exécution commence au moment où l'on atteint une " "instruction ``await`` le concernant. À ce moment, l'exécution se déroule " "jusqu'à la première expression ``yield``, où elle est suspendue et renvoie " -"la valeur de :token:`expression_list` à la coroutine en attente. Comme pour " -"un générateur, la suspension signifie que tous les états locaux sont " -"conservés, y compris les liaisons des variables locales, le pointeur " -"d'instruction, la pile d'évaluation interne et l'état de tous les " +"la valeur de :token:`~python-grammar:expression_list` à la coroutine en " +"attente. Comme pour un générateur, la suspension signifie que tous les états " +"locaux sont conservés, y compris les liaisons des variables locales, le " +"pointeur d'instruction, la pile d'évaluation interne et l'état de tous les " "gestionnaires d'exceptions. Lorsque l'exécution reprend parce que l'appelant " "a atteint une instruction ``await`` sur l'objet suivant retourné par les " "méthodes du générateur asynchrone, la fonction s'exécute exactement comme si " @@ -1130,7 +1125,6 @@ msgstr "" "génératrices." #: reference/expressions.rst:706 -#, fuzzy msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1146,15 +1140,15 @@ msgid "" msgstr "" "Renvoie un *awaitable* qui, quand il a la main, démarre l'exécution du " "générateur asynchrone ou reprend son exécution à l'endroit de la dernière " -"expression ``yield`` exécutée. Quand une fonction générateur asynchrone est " +"expression ``yield`` exécutée. Quand une fonction génératrice asynchrone est " "reprise par une méthode :meth:`~agen.__anext__`, l’expression ``yield`` en " "cours s’évalue toujours à :const:`None` dans le *awaitable* renvoyé, et elle " "continue son exécution jusqu’à l’expression ``yield`` suivante. La valeur " -"de :token:`expression_list` de l'expression ``yield`` est la valeur de " -"l'exception :exc:`StopIteration` levée par la coroutine qui termine. Si le " -"générateur asynchrone termine sans produire d'autre valeur, le *awaitable* " -"lève une exception :exc:`StopAsyncIteration` qui signale que l'itération " -"asynchrone est terminée." +"de :token:`~python-grammar:expression_list` de l'expression ``yield`` est la " +"valeur de l'exception :exc:`StopIteration` levée par la coroutine qui " +"termine. Si le générateur asynchrone termine sans produire d'autre valeur, " +"le *awaitable* lève une exception :exc:`StopAsyncIteration` qui signale que " +"l'itération asynchrone est terminée." #: reference/expressions.rst:718 msgid "" @@ -1331,41 +1325,42 @@ msgstr "" "membre de la liste." #: reference/expressions.rst:848 -#, fuzzy msgid "" "For built-in objects, there are two types of objects that support " "subscription via :meth:`~object.__getitem__`:" -msgstr "Pour les objets natifs, deux types d'objets gèrent la sélection :" +msgstr "" +"Pour les objets natifs, deux types d'objets gèrent la sélection *via* :meth:" +"`~object.__getitem__` :" #: reference/expressions.rst:851 -#, fuzzy msgid "" "Mappings. If the primary is a :term:`mapping`, the expression list must " "evaluate to an object whose value is one of the keys of the mapping, and the " "subscription selects the value in the mapping that corresponds to that key. " "An example of a builtin mapping class is the :class:`dict` class." msgstr "" -"Si la primaire est un tableau de correspondances, la liste d'expressions " -"(*expression_list* dans la grammaire formelle ci-dessous) doit pouvoir être " -"évaluée comme un objet dont la valeur est une des clés du tableau de " -"correspondances et la sélection désigne la valeur qui correspond à cette clé " -"(la liste d'expressions est un *n*-uplet sauf si elle comporte exactement un " -"élément)." +"Si la primaire est un :term:`tableau de correspondances `, la liste " +"d'expressions (*expression_list* dans la grammaire formelle ci-dessous) doit " +"pouvoir être évaluée comme un objet dont la valeur est une des clés du " +"tableau de correspondances et la sélection désigne la valeur qui correspond " +"à cette clé. Un exemple de classe implémentant le concept de tableau de " +"correspondances est la classe :class:`dict`." #: reference/expressions.rst:855 -#, fuzzy msgid "" "Sequences. If the primary is a :term:`sequence`, the expression list must " "evaluate to an :class:`int` or a :class:`slice` (as discussed in the " "following section). Examples of builtin sequence classes include the :class:" "`str`, :class:`list` and :class:`tuple` classes." msgstr "" -"Si la primaire est une séquence, la liste d'expressions (*expression_list* " -"dans la grammaire) doit pouvoir être évaluée comme un entier ou une tranche " -"(comme expliqué dans la section suivante)." +"Si la primaire est une :term:`séquence `, la liste d'expressions " +"(*expression_list* dans la grammaire) doit pouvoir être évaluée comme un :" +"class:`entier ` ou une :class:`tranche ` (comme expliqué dans la " +"section suivante). Des exemples de classes natives implémentant le concept " +"de séquence sont les :class:`chaînes `, :class:`listes ` et les :" +"class:`n-uplets `." #: reference/expressions.rst:860 -#, fuzzy msgid "" "The formal syntax makes no special provision for negative indices in :term:" "`sequences `. However, built-in sequences all provide a :meth:" @@ -1378,27 +1373,27 @@ msgid "" "method, subclasses overriding this method will need to explicitly add that " "support." msgstr "" -"La syntaxe formelle ne traite pas des cas d'indices négatifs dans les " -"séquences ; cependant, toutes les séquences natives possèdent une méthode :" -"meth:`__getitem__` qui interprète les indices négatifs en ajoutant la " -"longueur de la séquence à l'indice (de manière à ce que ``x[-1]`` " -"sélectionne le dernier élément de ``x``). La valeur résultante doit être un " -"entier positif ou nul, inférieur au nombre d'éléments dans la séquence ; la " -"sélection désigne alors l'élément dont l'indice est cette valeur (en " -"comptant à partir de zéro). Comme la gestion des indices négatifs et des " -"tranches est faite par la méthode :meth:`__getitem__`, les sous-classes qui " -"surchargent cette méthode doivent aussi savoir les gérer, de manière " -"explicite." +"La syntaxe formelle ne traite pas des cas d'indices négatifs dans les :term:" +"`séquences ` ; cependant, toutes les séquences natives possèdent " +"une méthode :meth:`~object.__getitem__` qui interprète les indices négatifs " +"en ajoutant la longueur de la séquence à l'indice (de manière à ce que " +"``x[-1]`` sélectionne le dernier élément de ``x``). La valeur résultante " +"doit être un entier positif ou nul, inférieur au nombre d'éléments dans la " +"séquence ; la sélection désigne alors l'élément dont l'indice est cette " +"valeur (en comptant à partir de zéro). Comme la gestion des indices négatifs " +"et des tranches est faite par la méthode :meth:`__getitem__`, les sous-" +"classes qui surchargent cette méthode doivent aussi savoir les gérer, de " +"manière explicite." #: reference/expressions.rst:874 -#, fuzzy msgid "" "A :class:`string ` is a special kind of sequence whose items are " "*characters*. A character is not a separate data type but a string of " "exactly one character." msgstr "" -"Les éléments des chaînes sont des caractères. Un caractère n'est pas un type " -"en tant que tel, c'est une chaîne de longueur un." +"Une :class:`chaîne ` est une espèce particulière de séquence dont les " +"éléments sont des *caractères*. Un caractère n'est pas un type en tant que " +"tel, c'est une chaîne de longueur un." #: reference/expressions.rst:882 msgid "Slicings" @@ -2752,7 +2747,6 @@ msgid "Assignment expressions" msgstr "Expressions d'affectation" #: reference/expressions.rst:1738 -#, fuzzy msgid "" "An assignment expression (sometimes also called a \"named expression\" or " "\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:" @@ -2760,8 +2754,9 @@ msgid "" "`~python-grammar:expression`." msgstr "" "Une expression d'affectation (parfois aussi appelée « expression nommée » ou " -"« expression morse ») affecte l':token:`expression` à un :token:" -"`identifiant` et renvoie la valeur de l':token:`expression`." +"« expression morse ») affecte l':token:`expression <~python-grammar:" +"expression>` à un :token:`identifiant<~python-grammar:identifier>` et " +"renvoie la valeur de l':token:`~python-grammar:expression`." #: reference/expressions.rst:1743 msgid "One common use case is when handling matched regular expressions:" @@ -2971,9 +2966,8 @@ msgid "Subscription, slicing, call, attribute reference" msgstr "indiçage, tranches, appel, référence à un attribut" #: reference/expressions.rst:1917 -#, fuzzy msgid ":keyword:`await x `" -msgstr ":keyword:`await` ``x``" +msgstr ":keyword:`await x `" #: reference/expressions.rst:1919 msgid "``**``" @@ -3057,9 +3051,8 @@ msgstr "" "Comparaisons, y compris les tests d'appartenance et les tests d'identifiants" #: reference/expressions.rst:1941 -#, fuzzy msgid ":keyword:`not x `" -msgstr ":keyword:`not` ``x``" +msgstr ":keyword:`not x `" #: reference/expressions.rst:1941 msgid "Boolean NOT" diff --git a/reference/import.po b/reference/import.po index 7d3cabc8f3..aebbce5e75 100644 --- a/reference/import.po +++ b/reference/import.po @@ -179,7 +179,6 @@ msgstr "" "qui contient un attribut ``__path__`` est réputé être un paquet." #: reference/import.rst:85 -#, fuzzy msgid "" "All modules have a name. Subpackage names are separated from their parent " "package name by a dot, akin to Python's standard attribute access syntax. " @@ -188,11 +187,10 @@ msgid "" "called :mod:`email.mime.text`." msgstr "" "Tous les modules ont un nom. Les noms des sous-paquets sont séparés du nom " -"du paquet parent par un point (`.`), à l'instar de la syntaxe standard " -"d'accès aux attributs en Python. Ainsi, vous pouvez avoir un module nommé :" -"mod:`sys` et un paquet nommé :mod:`email`, qui à son tour possède un sous-" -"paquet nommé :mod:`email.mime` avec un module dans ce sous-paquet nommé :mod:" -"`email.mime.text`." +"du paquet parent par un point (``.``), à l'instar de la syntaxe standard " +"d'accès aux attributs en Python. Ainsi, vous pouvez avoir un paquet nommé :" +"mod:`email` qui possède un sous-paquet nommé :mod:`email.mime` et un module " +"dans ce sous-paquet nommé :mod:`email.mime.text`." #: reference/import.rst:93 msgid "Regular packages" @@ -930,17 +928,15 @@ msgstr "" "ayons l'arborescence suivante ::" #: reference/import.rst:494 -#, fuzzy msgid "and ``spam/__init__.py`` has the following line in it::" -msgstr "et que le contenu de ``spam/__init__.py`` soit ::" +msgstr "et que le contenu de ``spam/__init__.py`` contienne ::" #: reference/import.rst:498 -#, fuzzy msgid "" "then executing the following puts name bindings for ``foo`` and ``Foo`` in " "the ``spam`` module::" msgstr "" -"alors exécuter les lignes suivantes crée des liens vers ``foo`` et ``bar`` " +"alors exécuter les lignes suivantes crée des liens vers ``foo`` et ``Foo`` " "dans le module ``spam`` ::" #: reference/import.rst:507 @@ -1801,16 +1797,14 @@ msgstr "" "``find_loader()`` plutôt que ``find_module()``." #: reference/import.rst:904 -#, fuzzy msgid "" "Calls to :meth:`~importlib.abc.PathEntryFinder.find_module` and :meth:" "`~importlib.abc.PathEntryFinder.find_loader` by the import system will " "raise :exc:`ImportWarning`." msgstr "" -"La méthode :meth:`~importlib.abc.PathEntryFinder.find_spec` remplace :meth:" -"`~importlib.abc.PathEntryFinder.find_loader` et :meth:`~importlib.abc." -"PathEntryFinder.find_module`, ces deux méthodes étant dorénavant obsolètes " -"mais restant utilisées si ``find_spec()`` n'est pas définie." +"les appels à :meth:`~importlib.abc.PathEntryFinder.find_module` et :meth:" +"`~importlib.abc.PathEntryFinder.find_loader` par le système d'importation " +"lèvent un :exc:`ImportWarning`." #: reference/import.rst:911 msgid "Replacing the standard import system" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index f401cb8675..54cea51203 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -166,15 +166,15 @@ msgstr "" "de Microsoft)." #: reference/lexical_analysis.rst:104 -#, fuzzy msgid "" "If an encoding is declared, the encoding name must be recognized by Python " "(see :ref:`standard-encodings`). The encoding is used for all lexical " "analysis, including string literals, comments and identifiers." msgstr "" "Si un encodage est déclaré, le nom de l'encodage doit être reconnu par " -"Python. L'encodage est utilisé pour toute l'analyse lexicale, y compris les " -"chaînes de caractères, les commentaires et les identifiants." +"Python (voir :ref:`standard-encodings`). L'encodage est utilisé pour toute " +"l'analyse lexicale, y compris les chaînes de caractères, les commentaires et " +"les identifiants." #: reference/lexical_analysis.rst:113 msgid "Explicit line joining" @@ -575,9 +575,8 @@ msgstr "" "écrits exactement comme ci-dessous :" #: reference/lexical_analysis.rst:357 -#, fuzzy msgid "Soft Keywords" -msgstr "Mots-clés" +msgstr "Mots-clés ad hoc" #: reference/lexical_analysis.rst:363 msgid "" @@ -736,7 +735,6 @@ msgstr "" "lexicales suivantes :" #: reference/lexical_analysis.rst:470 -#, fuzzy msgid "" "One syntactic restriction not indicated by these productions is that " "whitespace is not allowed between the :token:`~python-grammar:stringprefix` " @@ -746,10 +744,11 @@ msgid "" "`encodings`." msgstr "" "Une restriction syntaxique non indiquée par ces règles est qu'aucun blanc " -"n'est autorisé entre le :token:`stringprefix` ou :token:`bytesprefix` et le " -"reste du littéral. Le jeu de caractères source est défini par la déclaration " -"d'encodage ; il vaut UTF-8 si aucune déclaration d'encodage n'est donnée " -"dans le fichier source ; voir la section :ref:`encodings`." +"n'est autorisé entre le :token:`~python-grammar:stringprefix` ou :token:" +"`~python-grammar:bytesprefix` et le reste du littéral. Le jeu de caractères " +"source est défini par la déclaration d'encodage ; il vaut UTF-8 si aucune " +"déclaration d'encodage n'est donnée dans le fichier source ; voir la " +"section :ref:`encodings`." #: reference/lexical_analysis.rst:480 #, fuzzy diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 00ec0ab58b..3f143b0bcc 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -794,17 +794,16 @@ msgid "The :keyword:`!raise` statement" msgstr "L'instruction :keyword:`!raise`" #: reference/simple_stmts.rst:564 -#, fuzzy msgid "" "If no expressions are present, :keyword:`raise` re-raises the exception that " "is currently being handled, which is also known as the *active exception*. " "If there isn't currently an active exception, a :exc:`RuntimeError` " "exception is raised indicating that this is an error." msgstr "" -"Si aucune expression n'est présente, :keyword:`raise` propage la dernière " -"exception active dans la portée courante. Si aucune exception n'est active " -"dans la portée courante, une exception :exc:`RuntimeError` est levée, " -"indiquant que c'est une erreur." +"Si aucune expression n'est présente, :keyword:`raise` propage l'exception en " +"cours de traitement, aussi dénommée *exception active*. Si aucune exception " +"n'est active, une exception :exc:`RuntimeError` est levée, indiquant que " +"c'est une erreur." #: reference/simple_stmts.rst:569 msgid "" @@ -827,7 +826,6 @@ msgstr "" "la :dfn:`value` est l'instance elle-même." #: reference/simple_stmts.rst:579 -#, fuzzy msgid "" "A traceback object is normally created automatically when an exception is " "raised and attached to it as the :attr:`__traceback__` attribute, which is " @@ -840,8 +838,9 @@ msgstr "" "exception est levée et il lui est rattaché comme attribut :attr:" "`__traceback__`, en lecture-écriture. Vous pouvez créer une exception et " "définir votre propre trace d'appels d'un seul coup en utilisant la méthode " -"des exceptions :meth:`with_traceback` (qui renvoie la même instance " -"d'exception avec sa trace d'appels passée en argument), comme ceci ::" +"des exceptions :meth:`~BaseException.with_traceback` (qui renvoie la même " +"instance d'exception avec sa trace d'appels passée en argument), comme " +"ceci ::" #: reference/simple_stmts.rst:591 msgid "" @@ -863,7 +862,6 @@ msgstr "" "exceptions sont affichées ::" #: reference/simple_stmts.rst:615 -#, fuzzy msgid "" "A similar mechanism works implicitly if a new exception is raised when an " "exception is already being handled. An exception may be handled when an :" @@ -871,10 +869,12 @@ msgid "" "statement, is used. The previous exception is then attached as the new " "exception's :attr:`__context__` attribute::" msgstr "" -"Un mécanisme similaire est mis en œuvre implicitement si une exception est " -"levée à l'intérieur d'un gestionnaire d'exception ou d'une clause :keyword:" -"`finally` : la première exception est rattachée à l'attribut :attr:" -"`__context__` de la nouvelle exception ::" +"Un mécanisme similaire est mis en œuvre implicitement si une nouvelle " +"exception est levée alors qu'une exception est déjà en cours de traitement. " +"Une exception peut être traitée quand une clause :keyword:`except` ou :" +"keyword:`finally`, une instruction :keyword:`with`, est utilisée. La " +"première exception est alors rattachée à l'attribut :attr:`__context__` de " +"la nouvelle exception ::" #: reference/simple_stmts.rst:636 msgid "" @@ -1406,7 +1406,6 @@ msgstr "" "utilisés, dans le même bloc de code, avant l'instruction :keyword:`!global`." #: reference/simple_stmts.rst:955 -#, fuzzy msgid "" "Names listed in a :keyword:`global` statement must not be defined as formal " "parameters, or as targets in :keyword:`with` statements or :keyword:`except` " @@ -1414,9 +1413,10 @@ msgid "" "function definition, :keyword:`import` statement, or variable annotation." msgstr "" "Les noms listés dans l'instruction :keyword:`global` ne doivent pas être " -"définis en tant que paramètre formel, cible d'une boucle :keyword:`for`, " -"dans une définition de :keyword:`class`, de fonction, d'instruction :keyword:" -"`import` ou une annotation de variable." +"définis en tant que paramètre formel, cible d'une instruction :keyword:" +"`with` ou d'une clause :keyword:`except`, ni dans la liste cible d'une " +"boucle :keyword:`for`, dans une définition de :keyword:`class`, de fonction, " +"d'instruction :keyword:`import` ou une annotation de variable." #: reference/simple_stmts.rst:962 msgid "" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index ed925b2d61..013b15a46a 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -280,7 +280,6 @@ msgid ":keyword:`!match` Statements" msgstr "L'instruction :keyword:`!match`" #: tutorial/controlflow.rst:253 -#, fuzzy msgid "" "A :keyword:`match` statement takes an expression and compares its value to " "successive patterns given as one or more case blocks. This is superficially " @@ -293,9 +292,11 @@ msgstr "" "L'instruction :keyword:`match` confronte la valeur d'une expression à " "plusieurs filtres successifs donnés par les instructions ``case``. " "L’instruction ``match`` peut faire penser au ``switch`` que l'on trouve dans " -"les langages C, Java, JavaScript et autres, mais elle permet aussi " -"d'extraire dans des variables des composantes de la valeur, comme les " -"éléments d'une séquence ou les attributs d'un objet." +"les langages C, Java, JavaScript et autres, mais elle ressemble plus au " +"filtrage par motif des langages Rust et Haskell. Seul le premier filtre qui " +"correspond est exécuté et elle permet aussi d'extraire dans des variables " +"des composantes de la valeur, comme les éléments d'une séquence ou les " +"attributs d'un objet." #: tutorial/controlflow.rst:261 msgid "" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 91276e577e..f022a24772 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -197,14 +197,15 @@ msgstr "" "l'expression évaluée » :" #: tutorial/inputoutput.rst:145 -#, fuzzy msgid "" "See :ref:`self-documenting expressions ` for more " "information on the ``=`` specifier. For a reference on these format " "specifications, see the reference guide for the :ref:`formatspec`." msgstr "" -"Pour une référence sur ces spécifications de formats, voir le guide de " -"référence pour les :ref:`formatspec`." +"Lisez :ref:`self-documenting expressions ` pour " +"davantage d'information sur le spécificateur ``=``. Pour une référence sur " +"ces spécifications de formats, voir le guide de référence pour le :ref:" +"`formatspec`." #: tutorial/inputoutput.rst:152 msgid "The String format() Method" @@ -253,13 +254,12 @@ msgstr "" "notation entre crochets ``'[]'`` pour accéder aux clés ::" #: tutorial/inputoutput.rst:192 -#, fuzzy msgid "" "This could also be done by passing the ``table`` dictionary as keyword " "arguments with the ``**`` notation. ::" msgstr "" -"Vous pouvez obtenir le même résultat en passant le tableau comme des " -"arguments nommés en utilisant la notation ``**`` ::" +"Vous pouvez obtenir le même résultat en passant le dictionnaire ``table`` " +"comme des arguments nommés en utilisant la notation ``**`` ::" #: tutorial/inputoutput.rst:199 msgid "" @@ -637,7 +637,6 @@ msgstr "" "compliqué." #: tutorial/inputoutput.rst:478 -#, fuzzy msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " @@ -651,7 +650,7 @@ msgid "" msgstr "" "Plutôt que de passer son temps à écrire et déboguer du code permettant de " "sauvegarder des types de données compliqués, Python permet d'utiliser `JSON " -"(*JavaScript Object Notation*) `_, un format répandu de " +"(*JavaScript Object Notation*) `_, un format répandu de " "représentation et d'échange de données. Le module standard appelé :mod:" "`json` peut transformer des données hiérarchisées Python en une " "représentation sous forme de chaîne de caractères. Ce processus est nommé :" diff --git a/tutorial/introduction.po b/tutorial/introduction.po index edca2be6d5..ea7a7afb8c 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -114,16 +114,15 @@ msgstr "" "tutoriel." #: tutorial/introduction.rst:72 -#, fuzzy msgid "" "Division (``/``) always returns a float. To do :term:`floor division` and " "get an integer result you can use the ``//`` operator; to calculate the " "remainder you can use ``%``::" msgstr "" -"Les divisions (``/``) donnent toujours des :class:`float`. Utilisez " -"l'opérateur ``//`` pour effectuer des divisions entières et donc obtenir un " -"résultat entier. Pour obtenir le reste d'une division entière, utilisez " -"l'opérateur ``%`` ::" +"Les divisions (``/``) donnent toujours des :class:`!float`. Utilisez " +"l'opérateur ``//`` pour effectuer une :term:`division entière` et donc " +"obtenir un résultat entier. Pour obtenir le reste d'une division entière, " +"utilisez l'opérateur ``%`` ::" #: tutorial/introduction.rst:86 msgid "" diff --git a/tutorial/modules.po b/tutorial/modules.po index 1cdd8eba3f..1613b6d07b 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -76,16 +76,16 @@ msgid "" msgstr "Maintenant, ouvrez un interpréteur et importez le module en tapant ::" #: tutorial/modules.rst:50 -#, fuzzy msgid "" "This does not add the names of the functions defined in ``fibo`` directly " "to the current :term:`namespace` (see :ref:`tut-scopes` for more details); " "it only adds the module name ``fibo`` there. Using the module name you can " "access the functions::" msgstr "" -"Cela n'importe pas les noms des fonctions définies dans ``fibo`` directement " -"dans la table des symboles courants mais y ajoute simplement ``fibo``. Vous " -"pouvez donc appeler les fonctions *via* le nom du module ::" +"Les noms des fonctions définies dans ``fibo`` ne sont pas ajoutés " +"directement dans l':term:`espace de nommage ` courant (voir :ref:" +"`tut-scopes` pour plus de détails), seul le nom de module ``fibo`` est " +"ajouté. L'appel des fonctions se fait donc *via* le nom du module ::" #: tutorial/modules.rst:62 msgid "" @@ -112,7 +112,6 @@ msgstr "" "exécuté en tant que script)." #: tutorial/modules.rst:79 -#, fuzzy msgid "" "Each module has its own private namespace, which is used as the global " "namespace by all functions defined in the module. Thus, the author of a " @@ -121,8 +120,8 @@ msgid "" "know what you are doing you can touch a module's global variables with the " "same notation used to refer to its functions, ``modname.itemname``." msgstr "" -"Chaque module possède sa propre table de symboles, utilisée comme table de " -"symboles globaux par toutes les fonctions définies par le module. Ainsi " +"Chaque module possède son propre espace de nommage, utilisé comme espace de " +"nommage global par toutes les fonctions définies par le module. Ainsi " "l'auteur d'un module peut utiliser des variables globales dans un module " "sans se soucier de collisions de noms avec des variables globales définies " "par l'utilisateur du module. Cependant, si vous savez ce que vous faites, " @@ -130,7 +129,6 @@ msgstr "" "que pour accéder aux fonctions : ``nommodule.nomelement``." #: tutorial/modules.rst:86 -#, fuzzy msgid "" "Modules can import other modules. It is customary but not required to place " "all :keyword:`import` statements at the beginning of a module (or script, " @@ -140,28 +138,27 @@ msgid "" msgstr "" "Des modules peuvent importer d'autres modules. Il est courant, mais pas " "obligatoire, de ranger tous les :keyword:`import` au début du module (ou du " -"script). Les noms des modules importés sont insérés dans la table des " -"symboles globaux du module qui importe." +"script). Les noms des modules importés, s'ils sont placés au début d'un " +"module (en dehors des fonctions et des classes) sont ajoutés à l'espace de " +"nommage global du module." #: tutorial/modules.rst:91 -#, fuzzy msgid "" "There is a variant of the :keyword:`import` statement that imports names " "from a module directly into the importing module's namespace. For example::" msgstr "" "Il existe une variante de l'instruction :keyword:`import` qui importe les " -"noms d'un module directement dans la table de symboles du module qui " +"noms d'un module directement dans l'espace de nommage du module qui " "l'importe, par exemple ::" #: tutorial/modules.rst:98 -#, fuzzy msgid "" "This does not introduce the module name from which the imports are taken in " "the local namespace (so in the example, ``fibo`` is not defined)." msgstr "" "Cela n'insère pas le nom du module depuis lequel les définitions sont " -"récupérées dans la table des symboles locaux (dans cet exemple, ``fibo`` " -"n'est pas défini)." +"récupérées dans l'espace de nommage local (dans cet exemple, ``fibo`` n'est " +"pas défini)." #: tutorial/modules.rst:101 msgid "There is even a variant to import all names that a module defines::" @@ -854,15 +851,14 @@ msgid "Footnotes" msgstr "Notes" #: tutorial/modules.rst:579 -#, fuzzy msgid "" "In fact function definitions are also 'statements' that are 'executed'; the " "execution of a module-level function definition adds the function name to " "the module's global namespace." msgstr "" "En réalité, la déclaration d'une fonction est elle-même une instruction ; " -"son exécution enregistre le nom de la fonction dans la table des symboles " -"globaux du module." +"son exécution ajoute le nom de la fonction dans l'espace de nommage global " +"du module." #~ msgid "The installation-dependent default." #~ msgstr "la valeur par défaut, dépendante de l'installation." diff --git a/tutorial/venv.po b/tutorial/venv.po index 8a21b58039..8d007cb810 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -107,15 +107,14 @@ msgstr "" "dossier ::" #: tutorial/venv.rst:49 -#, fuzzy msgid "" "This will create the ``tutorial-env`` directory if it doesn't exist, and " "also create directories inside it containing a copy of the Python " "interpreter and various supporting files." msgstr "" "Cela crée le dossier ``tutorial-env`` (s'il n'existe pas) et des sous-" -"dossiers contenant une copie de l'interpréteur Python, de la bibliothèque " -"standard et quelques autres fichiers utiles." +"dossiers contenant une copie de l'interpréteur Python et d'autres fichiers " +"utiles." #: tutorial/venv.rst:53 msgid "" @@ -186,15 +185,14 @@ msgstr "" "(assez) limitée de ``pip`` ::" #: tutorial/venv.rst:100 -#, fuzzy msgid "" "``pip`` has a number of subcommands: \"install\", \"uninstall\", \"freeze\", " "etc. (Consult the :ref:`installing-index` guide for complete documentation " "for ``pip``.)" msgstr "" -"``pip`` a plusieurs sous-commandes : ``search``, ``install``, ``uninstall``, " -"``freeze``, etc. Consultez le guide :ref:`installing-index` pour une " -"documentation exhaustive sur ``pip``." +"``pip`` a plusieurs sous-commandes : ``install``, ``uninstall``, ``freeze``, " +"etc. Consultez le guide :ref:`installing-index` pour une documentation " +"exhaustive sur ``pip``." #: tutorial/venv.rst:104 msgid "" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 905a781708..d3a3e23818 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -125,14 +125,12 @@ msgstr "" "\"Python Cookbook\" (O'Reilly & Associates, ISBN 0-596-00797-3)." #: tutorial/whatnow.rst:48 -#, fuzzy msgid "" "https://pyvideo.org collects links to Python-related videos from conferences " "and user-group meetings." msgstr "" -"http://www.pyvideo.org regroupe des liens vers des vidéos relatives à " -"Python, enregistrées lors de conférences ou de réunions de groupes " -"d'utilisateurs." +"https://pyvideo.org regroupe des liens vers des vidéos relatives à Python, " +"enregistrées lors de conférences ou de réunions de groupes d'utilisateurs." #: tutorial/whatnow.rst:51 msgid "" diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index 6df8061fbe..dca51b8f35 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -1245,9 +1245,8 @@ msgid "" msgstr "" #: whatsnew/2.3.rst:1189 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/2.3.rst:1191 msgid "" diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 8b74182516..ac4b700679 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -1046,9 +1046,8 @@ msgid "" msgstr "" #: whatsnew/2.4.rst:933 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/2.4.rst:935 msgid "" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index 6234005955..43f565668b 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -1319,9 +1319,8 @@ msgid "" msgstr "" #: whatsnew/2.5.rst:1139 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/2.5.rst:1141 msgid "" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index c25c9c9155..865b62b672 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -1830,9 +1830,8 @@ msgid "" msgstr "" #: whatsnew/2.6.rst:1693 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/2.6.rst:1695 msgid "" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 06ef190824..dc3587f81d 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -950,9 +950,8 @@ msgid "" msgstr "" #: whatsnew/2.7.rst:928 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/2.7.rst:930 msgid "Several performance enhancements have been added:" diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index 8ae50a49ab..2315c47fa9 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -491,9 +491,8 @@ msgid "(Contributed by Brett Cannon.)" msgstr "" #: whatsnew/3.1.rst:417 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.1.rst:419 msgid "Major performance enhancements have been added:" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 33e1dababd..13c5d87050 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -2594,9 +2594,8 @@ msgid "" msgstr "" #: whatsnew/3.2.rst:2346 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.2.rst:2348 msgid "A number of small performance enhancements have been added:" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index 0774da936d..85f8759c6f 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -3135,9 +3135,8 @@ msgid "" msgstr "" #: whatsnew/3.3.rst:2149 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.3.rst:2151 msgid "Major performance enhancements have been added:" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 46343ae143..958b01d5e1 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -2627,9 +2627,8 @@ msgid "" msgstr "" #: whatsnew/3.5.rst:2105 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.5.rst:2107 msgid "" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index ed36e24dfb..3228c2da89 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -2279,9 +2279,8 @@ msgid "" msgstr "" #: whatsnew/3.6.rst:1779 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.6.rst:1781 msgid "" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 23028fbc57..c08a96772a 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -2512,9 +2512,8 @@ msgid "" msgstr "" #: whatsnew/3.7.rst:1771 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.7.rst:1773 msgid "" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 71131a8ebd..56de85e012 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -38,9 +38,8 @@ msgstr "" "des modifications `." #: whatsnew/3.8.rst:61 -#, fuzzy msgid "Summary -- Release highlights" -msgstr "Résumé" +msgstr "Résumé – Points marquants de cette version" #: whatsnew/3.8.rst:72 msgid "New Features" @@ -1806,9 +1805,8 @@ msgid "" msgstr "" #: whatsnew/3.8.rst:1455 -#, fuzzy msgid "Optimizations" -msgstr "Optimisation" +msgstr "Optimisations" #: whatsnew/3.8.rst:1457 msgid "" From 422cb123ca0364c75732c863484d68498982de40 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 22 Mar 2023 22:58:53 +0100 Subject: [PATCH 08/11] Make merge --- Makefile | 61 +- bugs.po | 57 +- c-api/arg.po | 470 ++++---- c-api/dict.po | 9 +- c-api/init.po | 10 +- c-api/init_config.po | 4 +- c-api/intro.po | 16 +- c-api/long.po | 77 +- c-api/memory.po | 364 +++--- c-api/module.po | 16 +- c-api/object.po | 80 +- c-api/structures.po | 262 ++-- c-api/typeobj.po | 1082 +++++++++-------- copyright.po | 5 +- extending/embedding.po | 7 +- faq/general.po | 7 +- faq/programming.po | 967 ++++++++------- faq/windows.po | 25 +- glossary.po | 5 +- howto/annotations.po | 76 +- howto/logging-cookbook.po | 634 ++++++---- library/__main__.po | 5 +- library/abc.po | 7 +- library/argparse.po | 560 ++++----- library/array.po | 116 +- library/asyncio-eventloop.po | 818 +++++++------ library/asyncio-llapi-index.po | 4 +- library/asyncio-policy.po | 90 +- library/asyncio-protocol.po | 294 ++--- library/asyncio-stream.po | 118 +- library/asyncio-subprocess.po | 4 +- library/asyncio-task.po | 379 +++--- library/asyncio.po | 16 +- library/base64.po | 114 +- library/cmath.po | 180 +-- library/codecs.po | 967 +++++++-------- library/collections.abc.po | 12 +- library/collections.po | 8 +- library/compileall.po | 5 +- library/configparser.po | 5 +- library/contextvars.po | 41 +- library/ctypes.po | 890 +++++++------- library/curses.ascii.po | 206 ++-- library/curses.po | 1282 ++++++++++---------- library/dataclasses.po | 220 ++-- library/datetime.po | 15 +- library/decimal.po | 300 ++--- library/email.mime.po | 12 +- library/ensurepip.po | 72 +- library/faulthandler.po | 75 +- library/fractions.po | 9 +- library/functions.po | 526 ++++---- library/functools.po | 5 +- library/graphlib.po | 10 +- library/hashlib.po | 6 +- library/http.server.po | 15 +- library/importlib.po | 362 +++--- library/inspect.po | 282 ++--- library/locale.po | 168 +-- library/logging.config.po | 113 +- library/operator.po | 7 +- library/optparse.po | 6 +- library/os.path.po | 91 +- library/os.po | 1666 +++++++++++++------------- library/pathlib.po | 426 +++---- library/pdb.po | 207 ++-- library/pydoc.po | 30 +- library/queue.po | 81 +- library/re.po | 538 +++++---- library/secrets.po | 25 +- library/signal.po | 260 ++-- library/socket.po | 4 +- library/socketserver.po | 161 +-- library/sqlite3.po | 691 ++++++----- library/ssl.po | 20 +- library/stdtypes.po | 2064 ++++++++++++++++---------------- library/struct.po | 689 +++++++---- library/subprocess.po | 586 ++++----- library/sys.po | 928 +++++++------- library/traceback.po | 156 +-- library/turtle.po | 306 ++--- library/types.po | 5 +- library/typing.po | 441 +++---- library/unittest.mock.po | 8 +- library/unittest.po | 8 +- library/venv.po | 515 ++++---- library/weakref.po | 130 +- library/wsgiref.po | 234 ++-- library/zipapp.po | 13 +- library/zipfile.po | 391 +++--- library/zoneinfo.po | 148 +-- license.po | 11 +- reference/compound_stmts.po | 93 +- reference/datamodel.po | 396 +++--- reference/executionmodel.po | 48 +- reference/expressions.po | 537 ++++----- reference/grammar.po | 5 +- reference/simple_stmts.po | 23 +- sphinx.po | 22 +- tutorial/classes.po | 45 +- tutorial/datastructures.po | 5 +- tutorial/introduction.po | 111 +- tutorial/modules.po | 11 +- tutorial/venv.po | 6 +- using/configure.po | 428 +++---- using/unix.po | 9 +- using/windows.po | 5 +- whatsnew/2.2.po | 11 +- whatsnew/3.10.po | 1045 ++++++++-------- whatsnew/3.8.po | 7 +- whatsnew/3.9.po | 754 ++++++------ 111 files changed, 14244 insertions(+), 12708 deletions(-) diff --git a/Makefile b/Makefile index fff4bb702b..48251e3c0d 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ # from which we generated our po files. We use it here so when we # test build, we're building with the .rst files that generated our # .po files. -CPYTHON_CURRENT_COMMIT := b2db1c208066b67bdf57bf3799de50352fe63416 +CPYTHON_CURRENT_COMMIT := 100da7c31aeb3888962bf33c8cc3594272964815 LANGUAGE := fr BRANCH := 3.10 @@ -65,7 +65,7 @@ PYTHON := $(shell which python3) MODE := html POSPELL_TMP_DIR := .pospell/ JOBS := auto -SERVE_PORT := +SPHINXERRORHANDLING = -W # Detect OS @@ -90,15 +90,16 @@ all: ensure_prerequisites mkdir -p locales/$(LANGUAGE)/LC_MESSAGES/ $(CP_CMD) -u --parents *.po */*.po locales/$(LANGUAGE)/LC_MESSAGES/ $(MAKE) -C venv/cpython/Doc/ \ - SPHINXOPTS='-j$(JOBS) \ - -D locale_dirs=$(abspath locales) \ + JOBS='$(JOBS)' \ + SPHINXOPTS='-D locale_dirs=$(abspath locales) \ -D language=$(LANGUAGE) \ -D gettext_compact=0 \ -D latex_engine=xelatex \ -D latex_elements.inputenc= \ -D latex_elements.fontenc=' \ + SPHINXERRORHANDLING=$(SPHINXERRORHANDLING) \ $(MODE) - @echo "Build success, open file://$(abspath venv/cpython/)/Doc/build/html/index.html or run 'make serve' to see them." + @echo "Build success, open file://$(abspath venv/cpython/)/Doc/build/html/index.html or run 'make htmlview' to see them." # We clone cpython/ inside venv/ because venv/ is the only directory @@ -117,18 +118,13 @@ ensure_prerequisites: venv/cpython/.git/HEAD exit 1; \ fi - -.PHONY: serve -serve: -ifdef SERVE_PORT - $(MAKE) -C venv/cpython/Doc/ serve SERVE_PORT=$(SERVE_PORT) -else - $(MAKE) -C venv/cpython/Doc/ serve -endif +.PHONY: htmlview +htmlview: MODE=htmlview +htmlview: all .PHONY: todo todo: ensure_prerequisites - potodo --exclude venv .venv $(EXCLUDED) + potodo --api-url 'https://git.afpy.org/api/v1/repos/AFPy/python-docs-fr/issues?state=open&type=issues' --exclude venv .venv $(EXCLUDED) .PHONY: wrap wrap: ensure_prerequisites @@ -142,22 +138,51 @@ DESTS = $(addprefix $(POSPELL_TMP_DIR)/,$(addsuffix .out,$(SRCS))) .PHONY: spell spell: ensure_prerequisites $(DESTS) +.PHONY: line-length +line-length: + @echo "Searching for long lines..." + @awk '{if (length(gensub(/శ్రీనివాస్/, ".", "g", $$0)) > 80 && length(gensub(/[^ ]/, "", "g")) > 1) {print FILENAME ":" FNR, "line too long:", $$0; ERRORS+=1}} END {if (ERRORS>0) {exit 1}}' *.po */*.po + +.PHONY: sphinx-lint +sphinx-lint: + @echo "Checking all files using sphinx-lint..." + @sphinx-lint --enable all --disable line-too-long *.po */*.po + $(POSPELL_TMP_DIR)/%.po.out: %.po dict @echo "Pospell checking $<..." - mkdir -p $(@D) + @mkdir -p $(@D) pospell -p dict -l fr_FR $< && touch $@ .PHONY: fuzzy fuzzy: ensure_prerequisites - potodo -f --exclude venv .venv $(EXCLUDED) + potodo --only-fuzzy --api-url 'https://git.afpy.org/api/v1/repos/AFPy/python-docs-fr/issues?state=open&type=issues' --exclude venv .venv $(EXCLUDED) + +.PHONY: check-headers +check-headers: + @grep -L '^# Copyright (C) [0-9-]*, Python Software Foundation' *.po */*.po | while read -r file;\ + do \ + echo "Please update the po comment in $$file"; \ + done + @grep -L '^"Project-Id-Version: Python 3\\n"$$' *.po */*.po | while read -r file;\ + do \ + echo "Please update the 'Project-Id-Version' header in $$file"; \ + done + @grep -L '^"Language: fr\\n"$$' *.po */*.po | while read -r file;\ + do \ + echo "Please update the 'Language' header in $$file"; \ + done + @grep -L '^"Language-Team: FRENCH \\n"' *.po */*.po | while read -r file;\ + do \ + echo "Please update the 'Language-Team' header in $$file"; \ + done .PHONY: verifs -verifs: spell +verifs: spell line-length sphinx-lint check-headers .PHONY: clean clean: @echo "Cleaning *.mo and $(POSPELL_TMP_DIR)" - rm -fr $(POSPELL_TMP_DIR) + rm -fr $(POSPELL_TMP_DIR) locales/$(LANGUAGE)/LC_MESSAGES/ find -name '*.mo' -delete @echo "Cleaning build directory" $(MAKE) -C venv/cpython/Doc/ clean diff --git a/bugs.po b/bugs.po index ed9d1c085e..045b57f2c2 100644 --- a/bugs.po +++ b/bugs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-07-08 17:50+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -61,6 +61,12 @@ msgstr "" #: bugs.rst:22 msgid "" +"You can also open a discussion item on our `Documentation Discourse forum " +"`_." +msgstr "" + +#: bugs.rst:25 +msgid "" "If you're short on time, you can also email documentation bug reports to " "docs@python.org (behavioral bugs can be sent to python-list@python.org). " "'docs@' is a mailing list run by volunteers; your request will be noticed, " @@ -72,11 +78,11 @@ msgstr "" "volontaires, votre requête sera vue, mais elle peut prendre un moment pour " "être traitée." -#: bugs.rst:30 +#: bugs.rst:33 msgid "`Documentation bugs`_" msgstr "`Bogues de documentation`_" -#: bugs.rst:30 +#: bugs.rst:33 msgid "" "A list of documentation bugs that have been submitted to the Python issue " "tracker." @@ -84,18 +90,18 @@ msgstr "" "Liste des bogues de documentation soumis à l'outil de suivi des problèmes " "Python." -#: bugs.rst:33 +#: bugs.rst:36 msgid "`Issue Tracking `_" msgstr "`Outil de suivi des problèmes `_" -#: bugs.rst:33 +#: bugs.rst:36 msgid "" "Overview of the process involved in reporting an improvement on the tracker." msgstr "" "Vue d'ensemble du processus pour proposer une amélioration avec l'outil de " "suivi." -#: bugs.rst:36 +#: bugs.rst:39 msgid "" "`Helping with Documentation `_" @@ -103,13 +109,13 @@ msgstr "" "`Aider avec la documentation `_" -#: bugs.rst:36 +#: bugs.rst:39 msgid "" "Comprehensive guide for individuals that are interested in contributing to " "Python documentation." msgstr "Guide complet pour qui souhaite contribuer à la documentation Python." -#: bugs.rst:38 +#: bugs.rst:41 msgid "" "`Documentation Translations `_" @@ -117,7 +123,7 @@ msgstr "" "`Aider avec la documentation `_" -#: bugs.rst:39 +#: bugs.rst:42 msgid "" "A list of GitHub pages for documentation translation and their primary " "contacts." @@ -125,11 +131,11 @@ msgstr "" "Liste de dépôts GitHub où la documentation est traduite, avec les personnes " "à contacter." -#: bugs.rst:45 +#: bugs.rst:48 msgid "Using the Python issue tracker" msgstr "Utilisation du gestionnaire de tickets Python" -#: bugs.rst:47 +#: bugs.rst:50 msgid "" "Issue reports for Python itself should be submitted via the GitHub issues " "tracker (https://github.com/python/cpython/issues). The GitHub issues " @@ -142,7 +148,7 @@ msgstr "" "permettant de saisir des informations pertinentes à soumettre aux " "développeurs." -#: bugs.rst:52 +#: bugs.rst:55 msgid "" "The first step in filing a report is to determine whether the problem has " "already been reported. The advantage in doing so, aside from saving the " @@ -160,7 +166,7 @@ msgstr "" "contribution est la bienvenue !). Pour ce faire, cherchez dans le " "gestionnaire de tickets grâce à la boîte de recherche en haut de la page." -#: bugs.rst:59 +#: bugs.rst:62 msgid "" "If the problem you're reporting is not already in the list, log in to " "GitHub. If you don't already have a GitHub account, create a new account " @@ -172,7 +178,7 @@ msgstr "" "compte en cliquant sur le lien « Sign Up ». Il n'est pas possible de " "soumettre un rapport de bogue de manière anonyme." -#: bugs.rst:64 +#: bugs.rst:67 msgid "" "Being now logged in, you can submit an issue. Click on the \"New issue\" " "button in the top bar to report a new issue." @@ -181,19 +187,20 @@ msgstr "" "*New issue* dans la barre en haut pour ouvrir un nouveau formulaire de " "rapport." -#: bugs.rst:67 +#: bugs.rst:70 msgid "The submission form has two fields, \"Title\" and \"Comment\"." msgstr "Le formulaire de rapport contient deux champs, *Title* et *Comment*." -#: bugs.rst:69 +#: bugs.rst:72 +#, fuzzy msgid "" "For the \"Title\" field, enter a *very* short description of the problem; " -"less than ten words is good." +"fewer than ten words is good." msgstr "" "Dans le champ *Title*, entrez une *très* brève description du problème " "rencontré ; tâchez de vous limiter à dix mots." -#: bugs.rst:72 +#: bugs.rst:75 msgid "" "In the \"Comment\" field, describe the problem in detail, including what you " "expected to happen and what did happen. Be sure to include whether any " @@ -206,7 +213,7 @@ msgstr "" "plateforme matérielle et logicielle vous utilisiez (en incluant les " "informations de versions)." -#: bugs.rst:77 +#: bugs.rst:80 msgid "" "Each issue report will be reviewed by a developer who will determine what " "needs to be done to correct the problem. You will receive an update each " @@ -216,7 +223,7 @@ msgstr "" "nécessaire d'entreprendre pour corriger le problème. Vous recevrez une " "notification à chaque action concernant le rapport." -#: bugs.rst:86 +#: bugs.rst:89 msgid "" "`How to Report Bugs Effectively `_" @@ -224,7 +231,7 @@ msgstr "" "`Comment signaler des bogues de manière efficace `_ (en anglais)" -#: bugs.rst:85 +#: bugs.rst:88 msgid "" "Article which goes into some detail about how to create a useful bug report. " "This describes what kind of information is useful and why it is useful." @@ -233,7 +240,7 @@ msgstr "" "bogue utile. Il décrit quel genre d'information est utile et pourquoi elle " "est utile." -#: bugs.rst:89 +#: bugs.rst:92 msgid "" "`Bug Writing Guidelines `_" @@ -241,7 +248,7 @@ msgstr "" "`Guide pour la rédaction de rapports de bogues `_" -#: bugs.rst:89 +#: bugs.rst:92 msgid "" "Information about writing a good bug report. Some of this is specific to " "the Mozilla project, but describes general good practices." @@ -249,11 +256,11 @@ msgstr "" "Conseils pour écrire un bon rapport de bogue. Certains sont spécifiques au " "projet Mozilla mais présentent des bonnes pratiques générales." -#: bugs.rst:95 +#: bugs.rst:98 msgid "Getting started contributing to Python yourself" msgstr "Commencer à contribuer à Python vous-même" -#: bugs.rst:97 +#: bugs.rst:100 msgid "" "Beyond just reporting bugs that you find, you are also welcome to submit " "patches to fix them. You can find more information on how to get started " diff --git a/c-api/arg.po b/c-api/arg.po index 508255a25f..fae360ef57 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-12-11 11:44+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -82,25 +82,22 @@ msgstr "" "l'*unicode* ou le *bytes* renvoyé." #: c-api/arg.rst:37 -msgid "" -"In general, when a format sets a pointer to a buffer, the buffer is managed " -"by the corresponding Python object, and the buffer shares the lifetime of " -"this object. You won't have to release any memory yourself. The only " -"exceptions are ``es``, ``es#``, ``et`` and ``et#``." +msgid "Unless otherwise stated, buffers are not NUL-terminated." +msgstr "Sauf indication contraire, les tampons ne se terminent pas par NUL." + +#: c-api/arg.rst:39 +msgid "There are three ways strings and buffers can be converted to C:" msgstr "" -"En général, lorsqu'un format définit un pointeur vers un tampon, le tampon " -"est géré par l'objet Python correspondant et le tampon partage la durée de " -"vie de cet objet. vous n'avez pas à libérer de mémoire. Les seules " -"exceptions sont ``es``, ``es#``, ``et`` et ``et#``." -#: c-api/arg.rst:42 +#: c-api/arg.rst:41 +#, fuzzy msgid "" -"However, when a :c:type:`Py_buffer` structure gets filled, the underlying " -"buffer is locked so that the caller can subsequently use the buffer even " -"inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the risk of mutable " -"data being resized or destroyed. As a result, **you have to call** :c:func:" -"`PyBuffer_Release` after you have finished processing the data (or in any " -"early abort case)." +"Formats such as ``y*`` and ``s*`` fill a :c:type:`Py_buffer` structure. This " +"locks the underlying buffer so that the caller can subsequently use the " +"buffer even inside a :c:type:`Py_BEGIN_ALLOW_THREADS` block without the risk " +"of mutable data being resized or destroyed. As a result, **you have to " +"call** :c:func:`PyBuffer_Release` after you have finished processing the " +"data (or in any early abort case)." msgstr "" "Néanmoins, quand une structure :c:type:`Py_buffer` est en cours de " "remplissage, le tampon sous-jacent est verrouillé pour permettre à " @@ -110,24 +107,43 @@ msgstr "" "d'appeler** :c:func:`PyBuffer_Release` après avoir terminé de traiter les " "données (ou après une interruption prématurée du traitement de ces données)." -#: c-api/arg.rst:49 -msgid "Unless otherwise stated, buffers are not NUL-terminated." -msgstr "Sauf indication contraire, les tampons ne se terminent pas par NUL." +#: c-api/arg.rst:48 +msgid "" +"The ``es``, ``es#``, ``et`` and ``et#`` formats allocate the result buffer. " +"**You have to call** :c:func:`PyMem_Free` after you have finished processing " +"the data (or in any early abort case)." +msgstr "" -#: c-api/arg.rst:51 +#: c-api/arg.rst:54 +#, fuzzy msgid "" -"Some formats require a read-only :term:`bytes-like object`, and set a " -"pointer instead of a buffer structure. They work by checking that the " -"object's :c:member:`PyBufferProcs.bf_releasebuffer` field is ``NULL``, which " -"disallows mutable objects such as :class:`bytearray`." +"Other formats take a :class:`str` or a read-only :term:`bytes-like object`, " +"such as :class:`bytes`, and provide a ``const char *`` pointer to its " +"buffer. In this case the buffer is \"borrowed\": it is managed by the " +"corresponding Python object, and shares the lifetime of this object. You " +"won't have to release any memory yourself." +msgstr "" +"En général, lorsqu'un format définit un pointeur vers un tampon, le tampon " +"est géré par l'objet Python correspondant et le tampon partage la durée de " +"vie de cet objet. vous n'avez pas à libérer de mémoire. Les seules " +"exceptions sont ``es``, ``es#``, ``et`` et ``et#``." + +#: c-api/arg.rst:61 +msgid "" +"To ensure that the underlying buffer may be safely borrowed, the object's :c:" +"member:`PyBufferProcs.bf_releasebuffer` field must be ``NULL``. This " +"disallows common mutable objects such as :class:`bytearray`, but also some " +"read-only objects such as :class:`memoryview` of :class:`bytes`." +msgstr "" + +#: c-api/arg.rst:67 +msgid "" +"Besides this ``bf_releasebuffer`` requirement, there is no check to verify " +"whether the input object is immutable (e.g. whether it would honor a request " +"for a writable buffer, or whether another thread can mutate the data)." msgstr "" -"Certains formats requièrent un :term:`objet compatible avec une chaîne " -"d'octets ` en lecture seule, et définissent un pointeur à " -"la place d'une structure tampon. Ils fonctionnent en vérifiant que le champ :" -"c:member:`PyBufferProcs.bf_releasebuffer` de l'objet est *NULL*, ce qui " -"n'autorise pas les objets muables tels que :class:`bytearray`." -#: c-api/arg.rst:58 +#: c-api/arg.rst:73 msgid "" "For all ``#`` variants of formats (``s#``, ``y#``, etc.), the macro :c:macro:" "`PY_SSIZE_T_CLEAN` must be defined before including :file:`Python.h`. On " @@ -136,11 +152,11 @@ msgid "" "otherwise." msgstr "" -#: c-api/arg.rst:83 +#: c-api/arg.rst:98 msgid "``s`` (:class:`str`) [const char \\*]" msgstr "``s`` (:class:`str`) [``const char *``]" -#: c-api/arg.rst:66 +#: c-api/arg.rst:81 msgid "" "Convert a Unicode object to a C pointer to a character string. A pointer to " "an existing string is stored in the character pointer variable whose address " @@ -157,7 +173,7 @@ msgstr "" "le code est *null*. Si elle en contient, une exception :exc:`ValueError` est " "levée. Si la conversion échoue, une :exc:`UnicodeError` est levée." -#: c-api/arg.rst:75 +#: c-api/arg.rst:90 msgid "" "This format does not accept :term:`bytes-like objects `. " "If you want to accept filesystem paths and convert them to C character " @@ -170,7 +186,7 @@ msgstr "" "est préférable d'utiliser le format ``O&`` avec :c:func:" "`PyUnicode_FSConverter` en tant que *converter*." -#: c-api/arg.rst:148 +#: c-api/arg.rst:164 msgid "" "Previously, :exc:`TypeError` was raised when embedded null code points were " "encountered in the Python string." @@ -178,11 +194,11 @@ msgstr "" "Auparavant, une :exc:`TypeError` était levée quand la chaîne de caractères " "Python contenait des codes NULL." -#: c-api/arg.rst:89 +#: c-api/arg.rst:104 msgid "``s*`` (:class:`str` or :term:`bytes-like object`) [Py_buffer]" msgstr "``s*`` (:class:`str` ou :term:`bytes-like object`) [``Py_buffer``]" -#: c-api/arg.rst:86 +#: c-api/arg.rst:101 msgid "" "This format accepts Unicode objects as well as bytes-like objects. It fills " "a :c:type:`Py_buffer` structure provided by the caller. In this case the " @@ -195,7 +211,7 @@ msgstr "" "octets NULL. Les objets Unicode sont convertis en chaînes de caractères C en " "utilisant l'encodage ``'utf-8'``." -#: c-api/arg.rst:96 +#: c-api/arg.rst:111 #, fuzzy msgid "" "``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char \\*, :" @@ -204,12 +220,14 @@ msgstr "" "``s#`` (:class:`str`, :term:`bytes-like object` en lecture seule) [``const " "char \\*``, ``int`` ou :c:type:`Py_ssize_t`]" -#: c-api/arg.rst:92 +#: c-api/arg.rst:107 +#, fuzzy msgid "" -"Like ``s*``, except that it doesn't accept mutable objects. The result is " -"stored into two C variables, the first one a pointer to a C string, the " -"second one its length. The string may contain embedded null bytes. Unicode " -"objects are converted to C strings using ``'utf-8'`` encoding." +"Like ``s*``, except that it provides a :ref:`borrowed buffer `. The result is stored into two C variables, the first one a pointer " +"to a C string, the second one its length. The string may contain embedded " +"null bytes. Unicode objects are converted to C strings using ``'utf-8'`` " +"encoding." msgstr "" "La même chose que ``s*``, mais n'accepte pas les objets muables. Le résultat " "est stocké dans deux variables C, la première est un pointeur vers une " @@ -217,11 +235,11 @@ msgstr "" "caractères peut contenir des octets NULL. Les objets Unicode sont convertis " "vers des chaînes de caractères C utilisant l'encodage ``'utf-8'``." -#: c-api/arg.rst:565 +#: c-api/arg.rst:581 msgid "``z`` (:class:`str` or ``None``) [const char \\*]" msgstr "``z`` (:class:`str` ou ``None``) [``const char *``]" -#: c-api/arg.rst:99 +#: c-api/arg.rst:114 #, fuzzy msgid "" "Like ``s``, but the Python object may also be ``None``, in which case the C " @@ -230,13 +248,13 @@ msgstr "" "Comme ``s``, mais l'objet Python peut aussi être ``None``, auquel cas le " "pointeur C devient *NULL*." -#: c-api/arg.rst:104 +#: c-api/arg.rst:119 msgid "" "``z*`` (:class:`str`, :term:`bytes-like object` or ``None``) [Py_buffer]" msgstr "" "``z*`` (:class:`str`, :term:`bytes-like object` ou ``None``) [``Py_buffer``]" -#: c-api/arg.rst:103 +#: c-api/arg.rst:118 msgid "" "Like ``s*``, but the Python object may also be ``None``, in which case the " "``buf`` member of the :c:type:`Py_buffer` structure is set to ``NULL``." @@ -244,7 +262,7 @@ msgstr "" "Comme ``s*``, mais l'objet Python peut aussi être ``None``, auquel cas le " "membre ``buf``, dont la structure est :c:type:`Py_buffer` est fixée à *NULL*." -#: c-api/arg.rst:108 +#: c-api/arg.rst:123 #, fuzzy msgid "" "``z#`` (:class:`str`, read-only :term:`bytes-like object` or ``None``) " @@ -253,7 +271,7 @@ msgstr "" "``s#`` (:class:`str`, :term:`bytes-like object` en lecture seule) [``const " "char \\*``, ``int`` ou :c:type:`Py_ssize_t`]" -#: c-api/arg.rst:107 +#: c-api/arg.rst:122 #, fuzzy msgid "" "Like ``s#``, but the Python object may also be ``None``, in which case the C " @@ -262,25 +280,26 @@ msgstr "" "Comme ``s#``, mais l'objet Python peut également être ``None``, dans ce cas " "le pointeur C est définie à *NULL*." -#: c-api/arg.rst:118 +#: c-api/arg.rst:134 msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]" msgstr "" "``y`` (lecture seule :term:`objet compatible avec une chaîne d'octets `) [constante char \\*]" -#: c-api/arg.rst:111 +#: c-api/arg.rst:126 +#, fuzzy msgid "" -"This format converts a bytes-like object to a C pointer to a character " -"string; it does not accept Unicode objects. The bytes buffer must not " -"contain embedded null bytes; if it does, a :exc:`ValueError` exception is " -"raised." +"This format converts a bytes-like object to a C pointer to a :ref:`borrowed " +"` character string; it does not accept Unicode " +"objects. The bytes buffer must not contain embedded null bytes; if it does, " +"a :exc:`ValueError` exception is raised." msgstr "" "Ce format convertit un *objet compatible avec une chaîne d'octets* en un " "pointeur C vers une chaîne de caractères ; il n'accepte pas les objets " "Unicode. Le tampon d'octets ne doit pas contenir d'octets *null* ; si c'est " "le cas, une exception :exc:`ValueError` est levée." -#: c-api/arg.rst:116 +#: c-api/arg.rst:132 msgid "" "Previously, :exc:`TypeError` was raised when embedded null bytes were " "encountered in the bytes buffer." @@ -288,17 +307,17 @@ msgstr "" "Auparavant, :exc:`TypeError` était levée lorsque des octets *null* étaient " "rencontrés dans le tampon d'octets." -#: c-api/arg.rst:123 +#: c-api/arg.rst:139 msgid "``y*`` (:term:`bytes-like object`) [Py_buffer]" msgstr "``y*`` (:term:`bytes-like object`) [``Py_buffer``]" -#: c-api/arg.rst:121 +#: c-api/arg.rst:137 msgid "" "This variant on ``s*`` doesn't accept Unicode objects, only bytes-like " "objects. **This is the recommended way to accept binary data.**" msgstr "" -#: c-api/arg.rst:127 +#: c-api/arg.rst:143 #, fuzzy msgid "" "``y#`` (read-only :term:`bytes-like object`) [const char \\*, :c:type:" @@ -307,7 +326,7 @@ msgstr "" "``s#`` (:class:`str`, :term:`bytes-like object` en lecture seule) [``const " "char \\*``, ``int`` ou :c:type:`Py_ssize_t`]" -#: c-api/arg.rst:126 +#: c-api/arg.rst:142 msgid "" "This variant on ``s#`` doesn't accept Unicode objects, only bytes-like " "objects." @@ -315,11 +334,11 @@ msgstr "" "Cette variante de ``s#`` n'accepte pas les objets Unicode, uniquement des " "objets assimilés à des octets." -#: c-api/arg.rst:132 +#: c-api/arg.rst:148 msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" msgstr "``S`` (:class:`bytes`) [``PyBytesObject *``]" -#: c-api/arg.rst:130 +#: c-api/arg.rst:146 #, fuzzy msgid "" "Requires that the Python object is a :class:`bytes` object, without " @@ -331,11 +350,11 @@ msgstr "" "type *bytes*. La variable C doit aussi être déclarée en tant que :c:type:" "`PyObject\\*`." -#: c-api/arg.rst:137 +#: c-api/arg.rst:153 msgid "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" msgstr "``Y`` (:class:`bytearray`) [``PyByteArrayObject *``]" -#: c-api/arg.rst:135 +#: c-api/arg.rst:151 #, fuzzy msgid "" "Requires that the Python object is a :class:`bytearray` object, without " @@ -348,11 +367,11 @@ msgstr "" "type *bytes*. La variable C doit aussi être déclarée en tant que :c:type:" "`PyObject\\*`." -#: c-api/arg.rst:154 +#: c-api/arg.rst:170 msgid "``u`` (:class:`str`) [const Py_UNICODE \\*]" msgstr "``u`` (:class:`str`) [``const Py_UNICODE *``]" -#: c-api/arg.rst:140 +#: c-api/arg.rst:156 msgid "" "Convert a Python Unicode object to a C pointer to a NUL-terminated buffer of " "Unicode characters. You must pass the address of a :c:type:`Py_UNICODE` " @@ -370,29 +389,29 @@ msgstr "" "chaîne de caractères Python ne doit pas contenir de code *NULL*. Si elle en " "contient, une exception :exc:`ValueError` est levée." -#: c-api/arg.rst:172 c-api/arg.rst:180 +#: c-api/arg.rst:188 c-api/arg.rst:196 msgid "" "Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" "func:`PyUnicode_AsWideCharString`." msgstr "" -#: c-api/arg.rst:163 +#: c-api/arg.rst:179 #, fuzzy msgid "``u#`` (:class:`str`) [const Py_UNICODE \\*, :c:type:`Py_ssize_t`]" msgstr "``u#`` (:class:`str`) [``const Py_UNICODE *``, ``int``]" -#: c-api/arg.rst:157 +#: c-api/arg.rst:173 msgid "" "This variant on ``u`` stores into two C variables, the first one a pointer " "to a Unicode data buffer, the second one its length. This variant allows " "null code points." msgstr "" -#: c-api/arg.rst:171 +#: c-api/arg.rst:187 msgid "``Z`` (:class:`str` or ``None``) [const Py_UNICODE \\*]" msgstr "``Z`` (:class:`str` ou ``None``) [``const Py_UNICODE *``]" -#: c-api/arg.rst:166 +#: c-api/arg.rst:182 #, fuzzy msgid "" "Like ``u``, but the Python object may also be ``None``, in which case the :c:" @@ -401,14 +420,14 @@ msgstr "" "Comme ``u``, mais l'objet Python peut aussi être ``None``, auquel cas le " "pointeur :c:type:`Py_UNICODE` vaut *NULL*." -#: c-api/arg.rst:179 +#: c-api/arg.rst:195 #, fuzzy msgid "" "``Z#`` (:class:`str` or ``None``) [const Py_UNICODE \\*, :c:type:" "`Py_ssize_t`]" msgstr "``Z#`` (:class:`str` ou ``None``) [``const Py_UNICODE *``, ``int``]" -#: c-api/arg.rst:174 +#: c-api/arg.rst:190 #, fuzzy msgid "" "Like ``u#``, but the Python object may also be ``None``, in which case the :" @@ -417,11 +436,11 @@ msgstr "" "Comme ``u#``, mais l'objet Python peut également être ``None``, auquel cas " "le pointeur :c:type:`Py_UNICODE` vaut *NULL*." -#: c-api/arg.rst:184 +#: c-api/arg.rst:200 msgid "``U`` (:class:`str`) [PyObject \\*]" msgstr "``U`` (:class:`str`) [``PyObject *``]" -#: c-api/arg.rst:182 +#: c-api/arg.rst:198 #, fuzzy msgid "" "Requires that the Python object is a Unicode object, without attempting any " @@ -433,11 +452,11 @@ msgstr "" "type *bytes*. La variable C doit aussi être déclarée en tant que :c:type:" "`PyObject\\*`." -#: c-api/arg.rst:190 +#: c-api/arg.rst:206 msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]" msgstr "``w*`` (lecture-écriture :term:`bytes-like object`) [``Py_buffer``]" -#: c-api/arg.rst:187 +#: c-api/arg.rst:203 msgid "" "This format accepts any object which implements the read-write buffer " "interface. It fills a :c:type:`Py_buffer` structure provided by the caller. " @@ -445,17 +464,17 @@ msgid "" "`PyBuffer_Release` when it is done with the buffer." msgstr "" -#: c-api/arg.rst:207 +#: c-api/arg.rst:223 msgid "``es`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer]" msgstr "" -#: c-api/arg.rst:193 +#: c-api/arg.rst:209 msgid "" "This variant on ``s`` is used for encoding Unicode into a character buffer. " "It only works for encoded data without embedded NUL bytes." msgstr "" -#: c-api/arg.rst:196 +#: c-api/arg.rst:212 msgid "" "This format requires two arguments. The first is only used as input, and " "must be a :c:expr:`const char*` which points to the name of an encoding as a " @@ -466,7 +485,7 @@ msgid "" "The text will be encoded in the encoding specified by the first argument." msgstr "" -#: c-api/arg.rst:204 +#: c-api/arg.rst:220 msgid "" ":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy " "the encoded data into this buffer and adjust *\\*buffer* to reference the " @@ -474,20 +493,20 @@ msgid "" "`PyMem_Free` to free the allocated buffer after use." msgstr "" -#: c-api/arg.rst:212 +#: c-api/arg.rst:228 msgid "" "``et`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " "\\*encoding, char \\*\\*buffer]" msgstr "" -#: c-api/arg.rst:210 +#: c-api/arg.rst:226 msgid "" "Same as ``es`` except that byte string objects are passed through without " "recoding them. Instead, the implementation assumes that the byte string " "object uses the encoding passed in as parameter." msgstr "" -#: c-api/arg.rst:243 +#: c-api/arg.rst:259 #, fuzzy msgid "" "``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, :c:type:" @@ -496,14 +515,14 @@ msgstr "" "``s#`` (:class:`str`, :term:`bytes-like object` en lecture seule) [``const " "char \\*``, ``int`` ou :c:type:`Py_ssize_t`]" -#: c-api/arg.rst:215 +#: c-api/arg.rst:231 msgid "" "This variant on ``s#`` is used for encoding Unicode into a character buffer. " "Unlike the ``es`` format, this variant allows input data which contains NUL " "characters." msgstr "" -#: c-api/arg.rst:219 +#: c-api/arg.rst:235 msgid "" "It requires three arguments. The first is only used as input, and must be " "a :c:expr:`const char*` which points to the name of an encoding as a NUL-" @@ -516,11 +535,11 @@ msgid "" "will be set to the number of bytes in the output buffer." msgstr "" -#: c-api/arg.rst:229 +#: c-api/arg.rst:245 msgid "There are two modes of operation:" msgstr "Il existe deux modes de fonctionnement :" -#: c-api/arg.rst:231 +#: c-api/arg.rst:247 msgid "" "If *\\*buffer* points a ``NULL`` pointer, the function will allocate a " "buffer of the needed size, copy the encoded data into this buffer and set " @@ -529,7 +548,7 @@ msgid "" "after usage." msgstr "" -#: c-api/arg.rst:236 +#: c-api/arg.rst:252 msgid "" "If *\\*buffer* points to a non-``NULL`` pointer (an already allocated " "buffer), :c:func:`PyArg_ParseTuple` will use this location as the buffer and " @@ -538,7 +557,7 @@ msgid "" "the buffer is not large enough, a :exc:`ValueError` will be set." msgstr "" -#: c-api/arg.rst:242 +#: c-api/arg.rst:258 msgid "" "In both cases, *\\*buffer_length* is set to the length of the encoded data " "without the trailing NUL byte." @@ -546,7 +565,7 @@ msgstr "" "Dans les deux cas, *\\*buffer_length* est la longueur des données encodées, " "sans l'octet NUL de fin." -#: c-api/arg.rst:248 +#: c-api/arg.rst:264 #, fuzzy msgid "" "``et#`` (:class:`str`, :class:`bytes` or :class:`bytearray`) [const char " @@ -555,22 +574,22 @@ msgstr "" "``s#`` (:class:`str`, :term:`bytes-like object` en lecture seule) [``const " "char \\*``, ``int`` ou :c:type:`Py_ssize_t`]" -#: c-api/arg.rst:246 +#: c-api/arg.rst:262 msgid "" "Same as ``es#`` except that byte string objects are passed through without " "recoding them. Instead, the implementation assumes that the byte string " "object uses the encoding passed in as parameter." msgstr "" -#: c-api/arg.rst:251 +#: c-api/arg.rst:267 msgid "Numbers" msgstr "Les nombres" -#: c-api/arg.rst:255 +#: c-api/arg.rst:271 msgid "``b`` (:class:`int`) [unsigned char]" msgstr "``b`` (:class:`int`) [``unsigned char``]" -#: c-api/arg.rst:254 +#: c-api/arg.rst:270 #, fuzzy msgid "" "Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :" @@ -579,11 +598,11 @@ msgstr "" "Convertit un entier Python positif ou nul en un ``unsigned tiny int``, " "stocké dans un :c:type:`unsigned char` C." -#: c-api/arg.rst:599 +#: c-api/arg.rst:615 msgid "``B`` (:class:`int`) [unsigned char]" msgstr "``B`` (:class:`int`) [``unsigned char``]" -#: c-api/arg.rst:258 +#: c-api/arg.rst:274 #, fuzzy msgid "" "Convert a Python integer to a tiny int without overflow checking, stored in " @@ -592,20 +611,20 @@ msgstr "" "Convertit un entier Python en un ``tiny int`` sans vérifier le débordement, " "stocké dans un :c:type:`unsigned char` C." -#: c-api/arg.rst:593 +#: c-api/arg.rst:609 msgid "``h`` (:class:`int`) [short int]" msgstr "``h`` (:class:`int`) [``short int``]" -#: c-api/arg.rst:262 +#: c-api/arg.rst:278 #, fuzzy msgid "Convert a Python integer to a C :c:expr:`short int`." msgstr "Convertit un entier Python en un :c:type:`short int` C." -#: c-api/arg.rst:602 +#: c-api/arg.rst:618 msgid "``H`` (:class:`int`) [unsigned short int]" msgstr "``H`` (:class:`int`) [``unsigned short int``]" -#: c-api/arg.rst:265 +#: c-api/arg.rst:281 #, fuzzy msgid "" "Convert a Python integer to a C :c:expr:`unsigned short int`, without " @@ -614,20 +633,20 @@ msgstr "" "Convertit un entier Python en un :c:type:`unsigned short int` C, sans " "contrôle de débordement." -#: c-api/arg.rst:587 +#: c-api/arg.rst:603 msgid "``i`` (:class:`int`) [int]" msgstr "``i`` (:class:`int`) [``int``]" -#: c-api/arg.rst:269 +#: c-api/arg.rst:285 #, fuzzy msgid "Convert a Python integer to a plain C :c:expr:`int`." msgstr "Convertit un entier Python en un :c:type:`int` C." -#: c-api/arg.rst:605 +#: c-api/arg.rst:621 msgid "``I`` (:class:`int`) [unsigned int]" msgstr "``I`` (:class:`int`) [``unsigned int``]" -#: c-api/arg.rst:272 +#: c-api/arg.rst:288 #, fuzzy msgid "" "Convert a Python integer to a C :c:expr:`unsigned int`, without overflow " @@ -636,20 +655,20 @@ msgstr "" "Convertit un entier Python en un :c:type:`unsigned int` C, sans contrôle de " "le débordement." -#: c-api/arg.rst:596 +#: c-api/arg.rst:612 msgid "``l`` (:class:`int`) [long int]" msgstr "``l`` (:class:`int`) [``long int``]" -#: c-api/arg.rst:276 +#: c-api/arg.rst:292 #, fuzzy msgid "Convert a Python integer to a C :c:expr:`long int`." msgstr "Convertit un entier Python en un :c:type:`long int`." -#: c-api/arg.rst:608 +#: c-api/arg.rst:624 msgid "``k`` (:class:`int`) [unsigned long]" msgstr "``k`` (:class:`int`) [``unsigned long``]" -#: c-api/arg.rst:279 +#: c-api/arg.rst:295 #, fuzzy msgid "" "Convert a Python integer to a C :c:expr:`unsigned long` without overflow " @@ -658,20 +677,20 @@ msgstr "" "Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier " "le débordement." -#: c-api/arg.rst:611 +#: c-api/arg.rst:627 msgid "``L`` (:class:`int`) [long long]" msgstr "``L`` (:class:`int`) [``long long``]" -#: c-api/arg.rst:283 +#: c-api/arg.rst:299 #, fuzzy msgid "Convert a Python integer to a C :c:expr:`long long`." msgstr "Convertit un entier Python en un :c:type:`long int`." -#: c-api/arg.rst:614 +#: c-api/arg.rst:630 msgid "``K`` (:class:`int`) [unsigned long long]" msgstr "``K`` (:class:`int`) [``unsigned long long``]" -#: c-api/arg.rst:286 +#: c-api/arg.rst:302 #, fuzzy msgid "" "Convert a Python integer to a C :c:expr:`unsigned long long` without " @@ -680,20 +699,20 @@ msgstr "" "Convertit un entier Python en un :c:type:`unsigned long` C sans en vérifier " "le débordement." -#: c-api/arg.rst:617 +#: c-api/arg.rst:633 #, fuzzy msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]" msgstr "``n`` (:class:`int`) [``Py_ssize_t``]" -#: c-api/arg.rst:290 +#: c-api/arg.rst:306 msgid "Convert a Python integer to a C :c:type:`Py_ssize_t`." msgstr "Convertit un entier Python en un :c:type:`Py_ssize_t`." -#: c-api/arg.rst:297 +#: c-api/arg.rst:313 msgid "``c`` (:class:`bytes` or :class:`bytearray` of length 1) [char]" msgstr "``c`` (:class:`bytes` ou :class:`bytearray` de longueur 1) [``char``]" -#: c-api/arg.rst:293 +#: c-api/arg.rst:309 #, fuzzy msgid "" "Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` " @@ -702,15 +721,15 @@ msgstr "" "Convertit un *byte* Python, représenté comme un objet :class:`bytes` ou :" "class:`bytearray` de longueur 1, en un :c:type:`char` C." -#: c-api/arg.rst:296 +#: c-api/arg.rst:312 msgid "Allow :class:`bytearray` objects." msgstr "" -#: c-api/arg.rst:625 +#: c-api/arg.rst:641 msgid "``C`` (:class:`str` of length 1) [int]" msgstr "``C`` (:class:`str` de longueur 1) [``int``]" -#: c-api/arg.rst:300 +#: c-api/arg.rst:316 #, fuzzy msgid "" "Convert a Python character, represented as a :class:`str` object of length " @@ -719,43 +738,43 @@ msgstr "" "Convertit un caractère Python, représenté comme un objet :class:`str` de " "longueur 1, en un :c:type:`int` C." -#: c-api/arg.rst:631 +#: c-api/arg.rst:647 msgid "``f`` (:class:`float`) [float]" msgstr "``f`` (:class:`float`) [``float``]" -#: c-api/arg.rst:304 +#: c-api/arg.rst:320 #, fuzzy msgid "Convert a Python floating point number to a C :c:expr:`float`." msgstr "Convertit un nombre flottant Python vers un :c:type:`float`." -#: c-api/arg.rst:628 +#: c-api/arg.rst:644 msgid "``d`` (:class:`float`) [double]" msgstr "``d`` (:class:`float`) [``double``]" -#: c-api/arg.rst:307 +#: c-api/arg.rst:323 #, fuzzy msgid "Convert a Python floating point number to a C :c:expr:`double`." msgstr "Convertit un nombre flottant Python vers un :c:type:`double` C." -#: c-api/arg.rst:310 +#: c-api/arg.rst:326 msgid "``D`` (:class:`complex`) [Py_complex]" msgstr "``D`` (:class:`complex`) [``Py_complex``]" -#: c-api/arg.rst:310 +#: c-api/arg.rst:326 msgid "Convert a Python complex number to a C :c:type:`Py_complex` structure." msgstr "" "Convertit un nombre complexe Python vers une structure :c:type:`Py_complex` " "C." -#: c-api/arg.rst:313 +#: c-api/arg.rst:329 msgid "Other objects" msgstr "Autres objets" -#: c-api/arg.rst:642 +#: c-api/arg.rst:658 msgid "``O`` (object) [PyObject \\*]" msgstr "``O`` (objet) [``PyObject *``]" -#: c-api/arg.rst:316 +#: c-api/arg.rst:332 #, fuzzy msgid "" "Store a Python object (without any conversion) in a C object pointer. The C " @@ -767,11 +786,11 @@ msgstr "" "référence sur l'objet n'est pas incrémenté. Le pointeur stocké n'est pas " "*NULL*." -#: c-api/arg.rst:325 +#: c-api/arg.rst:341 msgid "``O!`` (object) [*typeobject*, PyObject \\*]" msgstr "``O!`` (objet) [*typeobject*, ``PyObject *``]" -#: c-api/arg.rst:321 +#: c-api/arg.rst:337 msgid "" "Store a Python object in a C object pointer. This is similar to ``O``, but " "takes two C arguments: the first is the address of a Python type object, the " @@ -780,11 +799,11 @@ msgid "" "required type, :exc:`TypeError` is raised." msgstr "" -#: c-api/arg.rst:656 +#: c-api/arg.rst:672 msgid "``O&`` (object) [*converter*, *anything*]" msgstr "``O&`` (objet) [*converter*, *anything*]" -#: c-api/arg.rst:330 +#: c-api/arg.rst:346 msgid "" "Convert a Python object to a C variable through a *converter* function. " "This takes two arguments: the first is a function, the second is the address " @@ -792,7 +811,7 @@ msgid "" "*converter* function in turn is called as follows::" msgstr "" -#: c-api/arg.rst:337 +#: c-api/arg.rst:353 msgid "" "where *object* is the Python object to be converted and *address* is the :c:" "expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The " @@ -802,7 +821,7 @@ msgid "" "unmodified." msgstr "" -#: c-api/arg.rst:343 +#: c-api/arg.rst:359 msgid "" "If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a " "second time if the argument parsing eventually fails, giving the converter a " @@ -811,15 +830,15 @@ msgid "" "value as in the original call." msgstr "" -#: c-api/arg.rst:349 +#: c-api/arg.rst:365 msgid "``Py_CLEANUP_SUPPORTED`` was added." msgstr "``Py_CLEANUP_SUPPORTED`` à été ajouté." -#: c-api/arg.rst:359 +#: c-api/arg.rst:375 msgid "``p`` (:class:`bool`) [int]" msgstr "``p`` (:class:`bool`) [``int``]" -#: c-api/arg.rst:353 +#: c-api/arg.rst:369 msgid "" "Tests the value passed in for truth (a boolean **p**\\ redicate) and " "converts the result to its equivalent C true/false integer value. Sets the " @@ -828,11 +847,11 @@ msgid "" "how Python tests values for truth." msgstr "" -#: c-api/arg.rst:659 +#: c-api/arg.rst:675 msgid "``(items)`` (:class:`tuple`) [*matching-items*]" msgstr "``(items)`` (:class:`tuple`) [*matching-items*]" -#: c-api/arg.rst:362 +#: c-api/arg.rst:378 msgid "" "The object must be a Python sequence whose length is the number of format " "units in *items*. The C arguments must correspond to the individual format " @@ -843,7 +862,7 @@ msgstr "" "chaque unité de format particulière dans *articles*. Les unités de formats " "pour les séquences peuvent être imbriquées." -#: c-api/arg.rst:366 +#: c-api/arg.rst:382 msgid "" "It is possible to pass \"long\" integers (integers whose value exceeds the " "platform's :const:`LONG_MAX`) however no proper range checking is done --- " @@ -852,7 +871,7 @@ msgid "" "downcasts in C --- your mileage may vary)." msgstr "" -#: c-api/arg.rst:372 +#: c-api/arg.rst:388 msgid "" "A few other characters have a meaning in a format string. These may not " "occur inside nested parentheses. They are:" @@ -860,11 +879,11 @@ msgstr "" "Quelques autres caractères ont un sens dans une chaîne de format. On ne doit " "pas les trouvées dans des parenthèses imbriquées. Ce sont :" -#: c-api/arg.rst:380 +#: c-api/arg.rst:396 msgid "``|``" msgstr "``|``" -#: c-api/arg.rst:376 +#: c-api/arg.rst:392 msgid "" "Indicates that the remaining arguments in the Python argument list are " "optional. The C variables corresponding to optional arguments should be " @@ -873,11 +892,11 @@ msgid "" "corresponding C variable(s)." msgstr "" -#: c-api/arg.rst:389 +#: c-api/arg.rst:405 msgid "``$``" msgstr "``$``" -#: c-api/arg.rst:383 +#: c-api/arg.rst:399 msgid "" ":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the remaining " "arguments in the Python argument list are keyword-only. Currently, all " @@ -885,22 +904,22 @@ msgid "" "be specified before ``$`` in the format string." msgstr "" -#: c-api/arg.rst:394 +#: c-api/arg.rst:410 msgid "``:``" msgstr "" -#: c-api/arg.rst:392 +#: c-api/arg.rst:408 msgid "" "The list of format units ends here; the string after the colon is used as " "the function name in error messages (the \"associated value\" of the " "exception that :c:func:`PyArg_ParseTuple` raises)." msgstr "" -#: c-api/arg.rst:399 +#: c-api/arg.rst:415 msgid "``;``" msgstr "" -#: c-api/arg.rst:397 +#: c-api/arg.rst:413 msgid "" "The list of format units ends here; the string after the semicolon is used " "as the error message *instead* of the default error message. ``:`` and ``;" @@ -910,7 +929,7 @@ msgstr "" "virgule est utilise comme message d'erreur *au lieu* du message d'erreur par " "défaut. ``:`` et ``;`` sont mutuellement exclusifs." -#: c-api/arg.rst:401 +#: c-api/arg.rst:417 msgid "" "Note that any Python object references which are provided to the caller are " "*borrowed* references; do not decrement their reference count!" @@ -919,7 +938,7 @@ msgstr "" "à l'appelant sont des références *empruntées* ; ne décrémentez pas leur " "compteur de références !" -#: c-api/arg.rst:404 +#: c-api/arg.rst:420 msgid "" "Additional arguments passed to these functions must be addresses of " "variables whose type is determined by the format string; these are used to " @@ -936,7 +955,7 @@ msgstr "" "devraient correspondre à ce qui est spécifié pour l'unité de format " "correspondante." -#: c-api/arg.rst:410 +#: c-api/arg.rst:426 msgid "" "For the conversion to succeed, the *arg* object must match the format and " "the format must be exhausted. On success, the ``PyArg_Parse*`` functions " @@ -946,24 +965,24 @@ msgid "" "the following format units are left untouched." msgstr "" -#: c-api/arg.rst:419 +#: c-api/arg.rst:435 msgid "API Functions" msgstr "Fonction de l'API" -#: c-api/arg.rst:423 +#: c-api/arg.rst:439 msgid "" "Parse the parameters of a function that takes only positional parameters " "into local variables. Returns true on success; on failure, it returns false " "and raises the appropriate exception." msgstr "" -#: c-api/arg.rst:430 +#: c-api/arg.rst:446 msgid "" "Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list " "rather than a variable number of arguments." msgstr "" -#: c-api/arg.rst:436 +#: c-api/arg.rst:452 msgid "" "Parse the parameters of a function that takes both positional and keyword " "parameters into local variables. The *keywords* argument is a ``NULL``-" @@ -972,26 +991,26 @@ msgid "" "success; on failure, it returns false and raises the appropriate exception." msgstr "" -#: c-api/arg.rst:443 +#: c-api/arg.rst:459 msgid "" "Added support for :ref:`positional-only parameters `." msgstr "" -#: c-api/arg.rst:450 +#: c-api/arg.rst:466 msgid "" "Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a " "va_list rather than a variable number of arguments." msgstr "" -#: c-api/arg.rst:456 +#: c-api/arg.rst:472 msgid "" "Ensure that the keys in the keywords argument dictionary are strings. This " "is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is not used, since " "the latter already does this check." msgstr "" -#: c-api/arg.rst:466 +#: c-api/arg.rst:482 msgid "" "Function used to deconstruct the argument lists of \"old-style\" functions " "--- these are functions which use the :const:`METH_OLDARGS` parameter " @@ -1002,7 +1021,7 @@ msgid "" "continue to be used for that purpose." msgstr "" -#: c-api/arg.rst:477 +#: c-api/arg.rst:493 msgid "" "A simpler form of parameter retrieval which does not use a format string to " "specify the types of the arguments. Functions which use this method to " @@ -1020,23 +1039,23 @@ msgid "" "if there was a failure." msgstr "" -#: c-api/arg.rst:492 +#: c-api/arg.rst:508 msgid "" "This is an example of the use of this function, taken from the sources for " "the :mod:`_weakref` helper module for weak references::" msgstr "" -#: c-api/arg.rst:508 +#: c-api/arg.rst:524 msgid "" "The call to :c:func:`PyArg_UnpackTuple` in this example is entirely " "equivalent to this call to :c:func:`PyArg_ParseTuple`::" msgstr "" -#: c-api/arg.rst:516 +#: c-api/arg.rst:532 msgid "Building values" msgstr "Construction des valeurs" -#: c-api/arg.rst:520 +#: c-api/arg.rst:536 msgid "" "Create a new value based on a format string similar to those accepted by the " "``PyArg_Parse*`` family of functions and a sequence of values. Returns the " @@ -1044,7 +1063,7 @@ msgid "" "``NULL`` is returned." msgstr "" -#: c-api/arg.rst:525 +#: c-api/arg.rst:541 msgid "" ":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple " "only if its format string contains two or more format units. If the format " @@ -1053,7 +1072,7 @@ msgid "" "it to return a tuple of size 0 or one, parenthesize the format string." msgstr "" -#: c-api/arg.rst:531 +#: c-api/arg.rst:547 msgid "" "When memory buffers are passed as parameters to supply data to build " "objects, as for the ``s`` and ``s#`` formats, the required data is copied. " @@ -1064,7 +1083,7 @@ msgid "" "`Py_BuildValue` returns." msgstr "" -#: c-api/arg.rst:539 +#: c-api/arg.rst:555 msgid "" "In the following description, the quoted form is the format unit; the entry " "in (round) parentheses is the Python object type that the format unit will " @@ -1072,167 +1091,167 @@ msgid "" "be passed." msgstr "" -#: c-api/arg.rst:543 +#: c-api/arg.rst:559 msgid "" "The characters space, tab, colon and comma are ignored in format strings " "(but not within format units such as ``s#``). This can be used to make long " "format strings a tad more readable." msgstr "" -#: c-api/arg.rst:549 +#: c-api/arg.rst:565 msgid "``s`` (:class:`str` or ``None``) [const char \\*]" msgstr "``s`` (:class:`str` ou ``None``) [``const char *``]" -#: c-api/arg.rst:548 +#: c-api/arg.rst:564 msgid "" "Convert a null-terminated C string to a Python :class:`str` object using " "``'utf-8'`` encoding. If the C string pointer is ``NULL``, ``None`` is used." msgstr "" -#: c-api/arg.rst:554 +#: c-api/arg.rst:570 #, fuzzy msgid "" "``s#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "``s#`` (:class:`str` ou ``None``) [``const char *``, ``int``]" -#: c-api/arg.rst:552 +#: c-api/arg.rst:568 msgid "" "Convert a C string and its length to a Python :class:`str` object using " "``'utf-8'`` encoding. If the C string pointer is ``NULL``, the length is " "ignored and ``None`` is returned." msgstr "" -#: c-api/arg.rst:558 +#: c-api/arg.rst:574 msgid "``y`` (:class:`bytes`) [const char \\*]" msgstr "``y`` (:class:`bytes`) [``const char *``]" -#: c-api/arg.rst:557 +#: c-api/arg.rst:573 msgid "" "This converts a C string to a Python :class:`bytes` object. If the C string " "pointer is ``NULL``, ``None`` is returned." msgstr "" -#: c-api/arg.rst:562 +#: c-api/arg.rst:578 #, fuzzy msgid "``y#`` (:class:`bytes`) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "``y#`` (:class:`bytes`) [``const char *, int``]" -#: c-api/arg.rst:561 +#: c-api/arg.rst:577 msgid "" "This converts a C string and its lengths to a Python object. If the C " "string pointer is ``NULL``, ``None`` is returned." msgstr "" -#: c-api/arg.rst:581 +#: c-api/arg.rst:597 msgid "Same as ``s``." msgstr "" -#: c-api/arg.rst:568 +#: c-api/arg.rst:584 #, fuzzy msgid "" "``z#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "``z#`` (:class:`str` ou ``None``) [``const char *``, ``int``]" -#: c-api/arg.rst:584 +#: c-api/arg.rst:600 msgid "Same as ``s#``." msgstr "" -#: c-api/arg.rst:573 +#: c-api/arg.rst:589 msgid "``u`` (:class:`str`) [const wchar_t \\*]" msgstr "``u`` (:class:`str`) [``const wchar_t *``]" -#: c-api/arg.rst:571 +#: c-api/arg.rst:587 msgid "" "Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or " "UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is " "``NULL``, ``None`` is returned." msgstr "" -#: c-api/arg.rst:578 +#: c-api/arg.rst:594 #, fuzzy msgid "``u#`` (:class:`str`) [const wchar_t \\*, :c:type:`Py_ssize_t`]" msgstr "``u#`` (:class:`str`) [``const wchar_t *``, ``int``]" -#: c-api/arg.rst:576 +#: c-api/arg.rst:592 msgid "" "Convert a Unicode (UTF-16 or UCS-4) data buffer and its length to a Python " "Unicode object. If the Unicode buffer pointer is ``NULL``, the length is " "ignored and ``None`` is returned." msgstr "" -#: c-api/arg.rst:581 +#: c-api/arg.rst:597 msgid "``U`` (:class:`str` or ``None``) [const char \\*]" msgstr "``U`` (:class:`str` ou ``None``) [``const char *``]" -#: c-api/arg.rst:584 +#: c-api/arg.rst:600 #, fuzzy msgid "" "``U#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "``U#`` (:class:`str` ou ``None``) [``const char *``, ``int``]" -#: c-api/arg.rst:587 +#: c-api/arg.rst:603 #, fuzzy msgid "Convert a plain C :c:expr:`int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:590 +#: c-api/arg.rst:606 msgid "``b`` (:class:`int`) [char]" msgstr "``b`` (:class:`int`) [``char``]" -#: c-api/arg.rst:590 +#: c-api/arg.rst:606 #, fuzzy msgid "Convert a plain C :c:expr:`char` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:593 +#: c-api/arg.rst:609 #, fuzzy msgid "Convert a plain C :c:expr:`short int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:596 +#: c-api/arg.rst:612 #, fuzzy msgid "Convert a C :c:expr:`long int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:599 +#: c-api/arg.rst:615 #, fuzzy msgid "Convert a C :c:expr:`unsigned char` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:602 +#: c-api/arg.rst:618 #, fuzzy msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:605 +#: c-api/arg.rst:621 #, fuzzy msgid "Convert a C :c:expr:`unsigned int` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:608 +#: c-api/arg.rst:624 #, fuzzy msgid "Convert a C :c:expr:`unsigned long` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:611 +#: c-api/arg.rst:627 #, fuzzy msgid "Convert a C :c:expr:`long long` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:614 +#: c-api/arg.rst:630 #, fuzzy msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:617 +#: c-api/arg.rst:633 msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." msgstr "" -#: c-api/arg.rst:621 +#: c-api/arg.rst:637 msgid "``c`` (:class:`bytes` of length 1) [char]" msgstr "``c`` (:class:`bytes` de taille 1) [``char``]" -#: c-api/arg.rst:620 +#: c-api/arg.rst:636 #, fuzzy msgid "" "Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` " @@ -1241,7 +1260,7 @@ msgstr "" "Convertit un caractère Python, représenté comme un objet :class:`str` de " "longueur 1, en un :c:type:`int` C." -#: c-api/arg.rst:624 +#: c-api/arg.rst:640 #, fuzzy msgid "" "Convert a C :c:expr:`int` representing a character to Python :class:`str` " @@ -1250,25 +1269,25 @@ msgstr "" "Convertit un caractère Python, représenté comme un objet :class:`str` de " "longueur 1, en un :c:type:`int` C." -#: c-api/arg.rst:628 +#: c-api/arg.rst:644 #, fuzzy msgid "Convert a C :c:expr:`double` to a Python floating point number." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:631 +#: c-api/arg.rst:647 #, fuzzy msgid "Convert a C :c:expr:`float` to a Python floating point number." msgstr "Convertit un :c:type:`long int` en un *int* Python." -#: c-api/arg.rst:634 +#: c-api/arg.rst:650 msgid "``D`` (:class:`complex`) [Py_complex \\*]" msgstr "``D`` (:class:`complex`) [``Py_complex *``]" -#: c-api/arg.rst:634 +#: c-api/arg.rst:650 msgid "Convert a C :c:type:`Py_complex` structure to a Python complex number." msgstr "" -#: c-api/arg.rst:637 +#: c-api/arg.rst:653 msgid "" "Pass a Python object untouched (except for its reference count, which is " "incremented by one). If the object passed in is a ``NULL`` pointer, it is " @@ -1278,26 +1297,26 @@ msgid "" "raised yet, :exc:`SystemError` is set." msgstr "" -#: c-api/arg.rst:645 +#: c-api/arg.rst:661 msgid "``S`` (object) [PyObject \\*]" msgstr "``S`` (objet) [``PyObject *``]" -#: c-api/arg.rst:645 +#: c-api/arg.rst:661 msgid "Same as ``O``." msgstr "" -#: c-api/arg.rst:650 +#: c-api/arg.rst:666 msgid "``N`` (object) [PyObject \\*]" msgstr "``N`` (objet) [``PyObject *``]" -#: c-api/arg.rst:648 +#: c-api/arg.rst:664 msgid "" "Same as ``O``, except it doesn't increment the reference count on the " "object. Useful when the object is created by a call to an object constructor " "in the argument list." msgstr "" -#: c-api/arg.rst:653 +#: c-api/arg.rst:669 msgid "" "Convert *anything* to a Python object through a *converter* function. The " "function is called with *anything* (which should be compatible with :c:expr:" @@ -1305,45 +1324,58 @@ msgid "" "``NULL`` if an error occurred." msgstr "" -#: c-api/arg.rst:659 +#: c-api/arg.rst:675 msgid "" "Convert a sequence of C values to a Python tuple with the same number of " "items." msgstr "" -#: c-api/arg.rst:662 +#: c-api/arg.rst:678 msgid "``[items]`` (:class:`list`) [*matching-items*]" msgstr "``[items]`` (:class:`list`) [*matching-items*]" -#: c-api/arg.rst:662 +#: c-api/arg.rst:678 msgid "" "Convert a sequence of C values to a Python list with the same number of " "items." msgstr "" -#: c-api/arg.rst:667 +#: c-api/arg.rst:683 msgid "``{items}`` (:class:`dict`) [*matching-items*]" msgstr "``{items}`` (:class:`dict`) [*matching-items*]" -#: c-api/arg.rst:665 +#: c-api/arg.rst:681 msgid "" "Convert a sequence of C values to a Python dictionary. Each pair of " "consecutive C values adds one item to the dictionary, serving as key and " "value, respectively." msgstr "" -#: c-api/arg.rst:669 +#: c-api/arg.rst:685 msgid "" "If there is an error in the format string, the :exc:`SystemError` exception " "is set and ``NULL`` returned." msgstr "" -#: c-api/arg.rst:674 +#: c-api/arg.rst:690 msgid "" "Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list " "rather than a variable number of arguments." msgstr "" +#~ msgid "" +#~ "Some formats require a read-only :term:`bytes-like object`, and set a " +#~ "pointer instead of a buffer structure. They work by checking that the " +#~ "object's :c:member:`PyBufferProcs.bf_releasebuffer` field is ``NULL``, " +#~ "which disallows mutable objects such as :class:`bytearray`." +#~ msgstr "" +#~ "Certains formats requièrent un :term:`objet compatible avec une chaîne " +#~ "d'octets ` en lecture seule, et définissent un " +#~ "pointeur à la place d'une structure tampon. Ils fonctionnent en vérifiant " +#~ "que le champ :c:member:`PyBufferProcs.bf_releasebuffer` de l'objet est " +#~ "*NULL*, ce qui n'autorise pas les objets muables tels que :class:" +#~ "`bytearray`." + #~ msgid "" #~ "For all ``#`` variants of formats (``s#``, ``y#``, etc.), the type of the " #~ "length argument (int or :c:type:`Py_ssize_t`) is controlled by defining " diff --git a/c-api/dict.po b/c-api/dict.po index 258e01c505..4ec951e3a1 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-07-03 11:36+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -91,9 +91,10 @@ msgstr "" #: c-api/dict.rst:83 msgid "" -"Remove the entry in dictionary *p* with key *key*. *key* must be hashable; " -"if it isn't, :exc:`TypeError` is raised. If *key* is not in the dictionary, :" -"exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on failure." +"Remove the entry in dictionary *p* with key *key*. *key* must be :term:" +"`hashable`; if it isn't, :exc:`TypeError` is raised. If *key* is not in the " +"dictionary, :exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on " +"failure." msgstr "" #: c-api/dict.rst:91 diff --git a/c-api/init.po b/c-api/init.po index 9b405aab2e..a79574f2df 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-11-29 18:22+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -571,10 +571,10 @@ msgid "" "example, if the program name is ``'/usr/local/bin/python'``, the prefix is " "``'/usr/local'``. The returned string points into static storage; the caller " "should not modify its value. This corresponds to the :makevar:`prefix` " -"variable in the top-level :file:`Makefile` and the ``--prefix`` argument to " -"the :program:`configure` script at build time. The value is available to " -"Python code as ``sys.prefix``. It is only useful on Unix. See also the next " -"function." +"variable in the top-level :file:`Makefile` and the :option:`--prefix` " +"argument to the :program:`configure` script at build time. The value is " +"available to Python code as ``sys.prefix``. It is only useful on Unix. See " +"also the next function." msgstr "" #: c-api/init.rst:407 diff --git a/c-api/init_config.po b/c-api/init_config.po index 2c7e91d1d0..5bbbfd3b49 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-09-04 11:42+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -289,7 +289,7 @@ msgid "Default: ``PYMEM_ALLOCATOR_NOT_SET``." msgstr "" #: c-api/init_config.rst:257 -msgid "Set the LC_CTYPE locale to the user preferred locale?" +msgid "Set the LC_CTYPE locale to the user preferred locale." msgstr "" #: c-api/init_config.rst:259 diff --git a/c-api/intro.po b/c-api/intro.po index 6ee2f113d2..2e2cf77bbd 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -120,11 +120,11 @@ msgstr "" msgid "" "The header files are typically installed with Python. On Unix, these are " "located in the directories :file:`{prefix}/include/pythonversion/` and :file:" -"`{exec_prefix}/include/pythonversion/`, where :envvar:`prefix` and :envvar:" -"`exec_prefix` are defined by the corresponding parameters to Python's :" -"program:`configure` script and *version* is ``'%d.%d' % sys." -"version_info[:2]``. On Windows, the headers are installed in :file:" -"`{prefix}/include`, where :envvar:`prefix` is the installation directory " +"`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--prefix>` " +"and :option:`exec_prefix <--exec-prefix>` are defined by the corresponding " +"parameters to Python's :program:`configure` script and *version* is ``'%d." +"%d' % sys.version_info[:2]``. On Windows, the headers are installed in :" +"file:`{prefix}/include`, where ``prefix`` is the installation directory " "specified to the installer." msgstr "" @@ -134,8 +134,8 @@ msgid "" "compiler's search path for includes. Do *not* place the parent directories " "on the search path and then use ``#include ``; this will " "break on multi-platform builds since the platform independent headers under :" -"envvar:`prefix` include the platform specific headers from :envvar:" -"`exec_prefix`." +"option:`prefix <--prefix>` include the platform specific headers from :" +"option:`exec_prefix <--exec-prefix>`." msgstr "" #: c-api/intro.rst:95 diff --git a/c-api/long.po b/c-api/long.po index 86eea64058..8ec49d2f49 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -125,44 +125,51 @@ msgid "" "are no digits, :exc:`ValueError` will be raised." msgstr "" -#: c-api/long.rst:99 +#: c-api/long.rst:96 +msgid "" +"Python methods :meth:`int.to_bytes` and :meth:`int.from_bytes` to convert a :" +"c:type:`PyLongObject` to/from an array of bytes in base ``256``. You can " +"call those from C using :c:func:`PyObject_CallMethod`." +msgstr "" + +#: c-api/long.rst:103 msgid "" "Convert a sequence of Unicode digits in the string *u* to a Python integer " "value." msgstr "" -#: c-api/long.rst:107 +#: c-api/long.rst:111 msgid "" "Create a Python integer from the pointer *p*. The pointer value can be " "retrieved from the resulting value using :c:func:`PyLong_AsVoidPtr`." msgstr "" -#: c-api/long.rst:136 +#: c-api/long.rst:140 msgid "" "Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:122 +#: c-api/long.rst:126 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "expr:`long`." msgstr "" -#: c-api/long.rst:145 c-api/long.rst:186 c-api/long.rst:209 +#: c-api/long.rst:149 c-api/long.rst:190 c-api/long.rst:213 msgid "Returns ``-1`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" -#: c-api/long.rst:147 c-api/long.rst:190 c-api/long.rst:294 +#: c-api/long.rst:151 c-api/long.rst:194 c-api/long.rst:298 msgid "Use :meth:`__index__` if available." msgstr "" -#: c-api/long.rst:150 c-api/long.rst:193 c-api/long.rst:297 +#: c-api/long.rst:154 c-api/long.rst:197 c-api/long.rst:301 msgid "This function will no longer use :meth:`__int__`." msgstr "" -#: c-api/long.rst:140 +#: c-api/long.rst:144 msgid "" "If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:" "`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " @@ -170,20 +177,20 @@ msgid "" "occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -#: c-api/long.rst:177 +#: c-api/long.rst:181 msgid "" "Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " "(if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:163 +#: c-api/long.rst:167 msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "expr:`long long`." msgstr "" -#: c-api/long.rst:181 +#: c-api/long.rst:185 msgid "" "If the value of *obj* is greater than :const:`LLONG_MAX` or less than :const:" "`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " @@ -191,133 +198,133 @@ msgid "" "occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -#: c-api/long.rst:203 +#: c-api/long.rst:207 msgid "" "Return a C :c:type:`Py_ssize_t` representation of *pylong*. *pylong* must " "be an instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:206 +#: c-api/long.rst:210 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`Py_ssize_t`." msgstr "" -#: c-api/long.rst:218 +#: c-api/long.rst:222 msgid "" "Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* " "must be an instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:221 +#: c-api/long.rst:225 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "expr:`unsigned long`." msgstr "" -#: c-api/long.rst:224 +#: c-api/long.rst:228 msgid "" "Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." msgstr "" -#: c-api/long.rst:234 +#: c-api/long.rst:238 msgid "" "Return a C :c:type:`size_t` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:237 +#: c-api/long.rst:241 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "type:`size_t`." msgstr "" -#: c-api/long.rst:240 +#: c-api/long.rst:244 msgid "" "Returns ``(size_t)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." msgstr "" -#: c-api/long.rst:249 +#: c-api/long.rst:253 msgid "" "Return a C :c:expr:`unsigned long long` representation of *pylong*. " "*pylong* must be an instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:252 +#: c-api/long.rst:256 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" "c:expr:`unsigned long long`." msgstr "" -#: c-api/long.rst:255 +#: c-api/long.rst:259 msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." msgstr "" -#: c-api/long.rst:258 +#: c-api/long.rst:262 msgid "" "A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`." msgstr "" -#: c-api/long.rst:264 +#: c-api/long.rst:268 msgid "" "Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not " "an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` " "method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:268 +#: c-api/long.rst:272 msgid "" "If the value of *obj* is out of range for an :c:expr:`unsigned long`, return " "the reduction of that value modulo ``ULONG_MAX + 1``." msgstr "" -#: c-api/long.rst:271 +#: c-api/long.rst:275 msgid "" "Returns ``(unsigned long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." msgstr "" -#: c-api/long.rst:283 +#: c-api/long.rst:287 msgid "" "Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* " "is not an instance of :c:type:`PyLongObject`, first call its :meth:" "`__index__` method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:288 +#: c-api/long.rst:292 msgid "" "If the value of *obj* is out of range for an :c:expr:`unsigned long long`, " "return the reduction of that value modulo ``ULLONG_MAX + 1``." msgstr "" -#: c-api/long.rst:291 +#: c-api/long.rst:295 msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` " "to disambiguate." msgstr "" -#: c-api/long.rst:303 +#: c-api/long.rst:307 msgid "" "Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" -#: c-api/long.rst:306 +#: c-api/long.rst:310 msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "expr:`double`." msgstr "" -#: c-api/long.rst:309 +#: c-api/long.rst:313 msgid "" "Returns ``-1.0`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" -#: c-api/long.rst:314 +#: c-api/long.rst:318 msgid "" "Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* " "cannot be converted, an :exc:`OverflowError` will be raised. This is only " @@ -325,7 +332,7 @@ msgid "" "c:func:`PyLong_FromVoidPtr`." msgstr "" -#: c-api/long.rst:319 +#: c-api/long.rst:323 msgid "" "Returns ``NULL`` on error. Use :c:func:`PyErr_Occurred` to disambiguate." msgstr "" diff --git a/c-api/memory.po b/c-api/memory.po index d2242c1d31..773069639c 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -109,7 +109,7 @@ msgstr "" msgid "Allocator Domains" msgstr "" -#: c-api/memory.rst:98 +#: c-api/memory.rst:100 msgid "" "All allocating functions belong to one of three different \"domains\" (see " "also :c:type:`PyMemAllocatorDomain`). These domains represent different " @@ -125,11 +125,11 @@ msgid "" "`PyObject_Malloc` for allocating memory for buffers." msgstr "" -#: c-api/memory.rst:110 +#: c-api/memory.rst:112 msgid "The three allocation domains are:" msgstr "" -#: c-api/memory.rst:112 +#: c-api/memory.rst:114 msgid "" "Raw domain: intended for allocating memory for general-purpose memory " "buffers where the allocation *must* go to the system allocator or where the " @@ -137,20 +137,20 @@ msgid "" "directly to the system." msgstr "" -#: c-api/memory.rst:117 +#: c-api/memory.rst:119 msgid "" "\"Mem\" domain: intended for allocating memory for Python buffers and " "general-purpose memory buffers where the allocation must be performed with " "the :term:`GIL` held. The memory is taken from the Python private heap." msgstr "" -#: c-api/memory.rst:121 +#: c-api/memory.rst:123 msgid "" "Object domain: intended for allocating memory belonging to Python objects. " "The memory is taken from the Python private heap." msgstr "" -#: c-api/memory.rst:124 +#: c-api/memory.rst:126 msgid "" "When freeing memory previously allocated by the allocating functions " "belonging to a given domain,the matching specific deallocating functions " @@ -158,18 +158,18 @@ msgid "" "allocated using :c:func:`PyMem_Malloc`." msgstr "" -#: c-api/memory.rst:129 +#: c-api/memory.rst:131 msgid "Raw Memory Interface" msgstr "" -#: c-api/memory.rst:131 +#: c-api/memory.rst:133 msgid "" "The following function sets are wrappers to the system allocator. These " "functions are thread-safe, the :term:`GIL ` does " "not need to be held." msgstr "" -#: c-api/memory.rst:135 +#: c-api/memory.rst:137 msgid "" "The :ref:`default raw memory allocator ` uses the " "following functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " @@ -177,60 +177,60 @@ msgid "" "zero bytes." msgstr "" -#: c-api/memory.rst:215 c-api/memory.rst:323 +#: c-api/memory.rst:217 c-api/memory.rst:325 msgid "" "Allocates *n* bytes and returns a pointer of type :c:expr:`void*` to the " "allocated memory, or ``NULL`` if the request fails." msgstr "" -#: c-api/memory.rst:147 +#: c-api/memory.rst:149 msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyMem_RawMalloc(1)`` had been called instead. The memory will not " "have been initialized in any way." msgstr "" -#: c-api/memory.rst:225 c-api/memory.rst:333 +#: c-api/memory.rst:227 c-api/memory.rst:335 msgid "" "Allocates *nelem* elements each whose size in bytes is *elsize* and returns " "a pointer of type :c:expr:`void*` to the allocated memory, or ``NULL`` if " "the request fails. The memory is initialized to zeros." msgstr "" -#: c-api/memory.rst:158 +#: c-api/memory.rst:160 msgid "" "Requesting zero elements or elements of size zero bytes returns a distinct " "non-``NULL`` pointer if possible, as if ``PyMem_RawCalloc(1, 1)`` had been " "called instead." msgstr "" -#: c-api/memory.rst:238 c-api/memory.rst:346 +#: c-api/memory.rst:240 c-api/memory.rst:348 msgid "" "Resizes the memory block pointed to by *p* to *n* bytes. The contents will " "be unchanged to the minimum of the old and the new sizes." msgstr "" -#: c-api/memory.rst:170 +#: c-api/memory.rst:172 msgid "" "If *p* is ``NULL``, the call is equivalent to ``PyMem_RawMalloc(n)``; else " "if *n* is equal to zero, the memory block is resized but is not freed, and " "the returned pointer is non-``NULL``." msgstr "" -#: c-api/memory.rst:174 +#: c-api/memory.rst:176 msgid "" "Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" "func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:func:" "`PyMem_RawCalloc`." msgstr "" -#: c-api/memory.rst:178 +#: c-api/memory.rst:180 msgid "" "If the request fails, :c:func:`PyMem_RawRealloc` returns ``NULL`` and *p* " "remains a valid pointer to the previous memory area." msgstr "" -#: c-api/memory.rst:184 +#: c-api/memory.rst:186 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " "previous call to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:" @@ -238,72 +238,72 @@ msgid "" "called before, undefined behavior occurs." msgstr "" -#: c-api/memory.rst:259 c-api/memory.rst:367 +#: c-api/memory.rst:261 c-api/memory.rst:369 msgid "If *p* is ``NULL``, no operation is performed." msgstr "" -#: c-api/memory.rst:195 +#: c-api/memory.rst:197 msgid "Memory Interface" msgstr "" -#: c-api/memory.rst:303 +#: c-api/memory.rst:305 msgid "" "The following function sets, modeled after the ANSI C standard, but " "specifying behavior when requesting zero bytes, are available for allocating " "and releasing memory from the Python heap." msgstr "" -#: c-api/memory.rst:201 +#: c-api/memory.rst:203 msgid "" "The :ref:`default memory allocator ` uses the :" "ref:`pymalloc memory allocator `." msgstr "" -#: c-api/memory.rst:318 +#: c-api/memory.rst:320 msgid "" "The :term:`GIL ` must be held when using these " "functions." msgstr "" -#: c-api/memory.rst:211 +#: c-api/memory.rst:213 msgid "" "The default allocator is now pymalloc instead of system :c:func:`malloc`." msgstr "" -#: c-api/memory.rst:218 +#: c-api/memory.rst:220 msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyMem_Malloc(1)`` had been called instead. The memory will not have " "been initialized in any way." msgstr "" -#: c-api/memory.rst:229 +#: c-api/memory.rst:231 msgid "" "Requesting zero elements or elements of size zero bytes returns a distinct " "non-``NULL`` pointer if possible, as if ``PyMem_Calloc(1, 1)`` had been " "called instead." msgstr "" -#: c-api/memory.rst:241 +#: c-api/memory.rst:243 msgid "" "If *p* is ``NULL``, the call is equivalent to ``PyMem_Malloc(n)``; else if " "*n* is equal to zero, the memory block is resized but is not freed, and the " "returned pointer is non-``NULL``." msgstr "" -#: c-api/memory.rst:245 +#: c-api/memory.rst:247 msgid "" "Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" "func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:`PyMem_Calloc`." msgstr "" -#: c-api/memory.rst:248 +#: c-api/memory.rst:250 msgid "" "If the request fails, :c:func:`PyMem_Realloc` returns ``NULL`` and *p* " "remains a valid pointer to the previous memory area." msgstr "" -#: c-api/memory.rst:254 +#: c-api/memory.rst:256 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " "previous call to :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:" @@ -311,20 +311,20 @@ msgid "" "undefined behavior occurs." msgstr "" -#: c-api/memory.rst:261 +#: c-api/memory.rst:263 msgid "" "The following type-oriented macros are provided for convenience. Note that " "*TYPE* refers to any C type." msgstr "" -#: c-api/memory.rst:267 +#: c-api/memory.rst:269 msgid "" "Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " "of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not " "have been initialized in any way." msgstr "" -#: c-api/memory.rst:274 +#: c-api/memory.rst:276 msgid "" "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " "sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On " @@ -332,17 +332,17 @@ msgid "" "event of failure." msgstr "" -#: c-api/memory.rst:279 +#: c-api/memory.rst:281 msgid "" "This is a C preprocessor macro; *p* is always reassigned. Save the original " "value of *p* to avoid losing memory when handling errors." msgstr "" -#: c-api/memory.rst:285 +#: c-api/memory.rst:287 msgid "Same as :c:func:`PyMem_Free`." msgstr "" -#: c-api/memory.rst:287 +#: c-api/memory.rst:289 msgid "" "In addition, the following macro sets are provided for calling the Python " "memory allocator directly, without involving the C API functions listed " @@ -350,35 +350,35 @@ msgid "" "across Python versions and is therefore deprecated in extension modules." msgstr "" -#: c-api/memory.rst:292 +#: c-api/memory.rst:294 msgid "``PyMem_MALLOC(size)``" msgstr "" -#: c-api/memory.rst:293 +#: c-api/memory.rst:295 msgid "``PyMem_NEW(type, size)``" msgstr "" -#: c-api/memory.rst:294 +#: c-api/memory.rst:296 msgid "``PyMem_REALLOC(ptr, size)``" msgstr "" -#: c-api/memory.rst:295 +#: c-api/memory.rst:297 msgid "``PyMem_RESIZE(ptr, type, size)``" msgstr "" -#: c-api/memory.rst:296 +#: c-api/memory.rst:298 msgid "``PyMem_FREE(ptr)``" msgstr "" -#: c-api/memory.rst:297 +#: c-api/memory.rst:299 msgid "``PyMem_DEL(ptr)``" msgstr "" -#: c-api/memory.rst:301 +#: c-api/memory.rst:303 msgid "Object allocators" msgstr "" -#: c-api/memory.rst:308 +#: c-api/memory.rst:310 msgid "" "There is no guarantee that the memory returned by these allocators can be " "successfully cast to a Python object when intercepting the allocating " @@ -386,47 +386,47 @@ msgid "" "Memory Allocators ` section." msgstr "" -#: c-api/memory.rst:313 +#: c-api/memory.rst:315 msgid "" "The :ref:`default object allocator ` uses the :" "ref:`pymalloc memory allocator `." msgstr "" -#: c-api/memory.rst:326 +#: c-api/memory.rst:328 msgid "" "Requesting zero bytes returns a distinct non-``NULL`` pointer if possible, " "as if ``PyObject_Malloc(1)`` had been called instead. The memory will not " "have been initialized in any way." msgstr "" -#: c-api/memory.rst:337 +#: c-api/memory.rst:339 msgid "" "Requesting zero elements or elements of size zero bytes returns a distinct " "non-``NULL`` pointer if possible, as if ``PyObject_Calloc(1, 1)`` had been " "called instead." msgstr "" -#: c-api/memory.rst:349 +#: c-api/memory.rst:351 msgid "" "If *p* is ``NULL``, the call is equivalent to ``PyObject_Malloc(n)``; else " "if *n* is equal to zero, the memory block is resized but is not freed, and " "the returned pointer is non-``NULL``." msgstr "" -#: c-api/memory.rst:353 +#: c-api/memory.rst:355 msgid "" "Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" "func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:func:" "`PyObject_Calloc`." msgstr "" -#: c-api/memory.rst:356 +#: c-api/memory.rst:358 msgid "" "If the request fails, :c:func:`PyObject_Realloc` returns ``NULL`` and *p* " "remains a valid pointer to the previous memory area." msgstr "" -#: c-api/memory.rst:362 +#: c-api/memory.rst:364 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " "previous call to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:" @@ -434,276 +434,298 @@ msgid "" "called before, undefined behavior occurs." msgstr "" -#: c-api/memory.rst:373 +#: c-api/memory.rst:375 msgid "Default Memory Allocators" msgstr "" -#: c-api/memory.rst:375 +#: c-api/memory.rst:377 msgid "Default memory allocators:" msgstr "" -#: c-api/memory.rst:378 +#: c-api/memory.rst:380 msgid "Configuration" msgstr "Configuration" -#: c-api/memory.rst:378 +#: c-api/memory.rst:380 msgid "Name" msgstr "Nom" -#: c-api/memory.rst:378 +#: c-api/memory.rst:380 msgid "PyMem_RawMalloc" msgstr "" -#: c-api/memory.rst:378 +#: c-api/memory.rst:380 msgid "PyMem_Malloc" msgstr "" -#: c-api/memory.rst:378 +#: c-api/memory.rst:380 msgid "PyObject_Malloc" msgstr "" -#: c-api/memory.rst:380 +#: c-api/memory.rst:382 msgid "Release build" msgstr "" -#: c-api/memory.rst:380 +#: c-api/memory.rst:382 msgid "``\"pymalloc\"``" msgstr "" -#: c-api/memory.rst:382 +#: c-api/memory.rst:384 msgid "``malloc``" msgstr "" -#: c-api/memory.rst:380 +#: c-api/memory.rst:382 msgid "``pymalloc``" msgstr "" -#: c-api/memory.rst:381 +#: c-api/memory.rst:383 msgid "Debug build" msgstr "" -#: c-api/memory.rst:381 +#: c-api/memory.rst:383 msgid "``\"pymalloc_debug\"``" msgstr "" -#: c-api/memory.rst:383 +#: c-api/memory.rst:385 msgid "``malloc`` + debug" msgstr "" -#: c-api/memory.rst:381 +#: c-api/memory.rst:383 msgid "``pymalloc`` + debug" msgstr "" -#: c-api/memory.rst:382 +#: c-api/memory.rst:384 msgid "Release build, without pymalloc" msgstr "" -#: c-api/memory.rst:382 +#: c-api/memory.rst:384 msgid "``\"malloc\"``" msgstr "" -#: c-api/memory.rst:383 +#: c-api/memory.rst:385 msgid "Debug build, without pymalloc" msgstr "" -#: c-api/memory.rst:383 +#: c-api/memory.rst:385 msgid "``\"malloc_debug\"``" msgstr "" -#: c-api/memory.rst:386 +#: c-api/memory.rst:388 msgid "Legend:" msgstr "" -#: c-api/memory.rst:388 +#: c-api/memory.rst:390 msgid "Name: value for :envvar:`PYTHONMALLOC` environment variable." msgstr "" -#: c-api/memory.rst:389 +#: c-api/memory.rst:391 msgid "" "``malloc``: system allocators from the standard C library, C functions: :c:" "func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`." msgstr "" -#: c-api/memory.rst:391 +#: c-api/memory.rst:393 msgid "``pymalloc``: :ref:`pymalloc memory allocator `." msgstr "" -#: c-api/memory.rst:392 +#: c-api/memory.rst:394 msgid "" "\"+ debug\": with :ref:`debug hooks on the Python memory allocators `." msgstr "" -#: c-api/memory.rst:394 +#: c-api/memory.rst:396 msgid "\"Debug build\": :ref:`Python build in debug mode `." msgstr "" -#: c-api/memory.rst:399 +#: c-api/memory.rst:401 msgid "Customize Memory Allocators" msgstr "" -#: c-api/memory.rst:405 +#: c-api/memory.rst:407 msgid "" "Structure used to describe a memory block allocator. The structure has the " "following fields:" msgstr "" -#: c-api/memory.rst:626 +#: c-api/memory.rst:647 msgid "Field" msgstr "Champ" -#: c-api/memory.rst:626 +#: c-api/memory.rst:647 msgid "Meaning" msgstr "Signification" -#: c-api/memory.rst:628 +#: c-api/memory.rst:649 msgid "``void *ctx``" msgstr "``void *ctx``" -#: c-api/memory.rst:628 +#: c-api/memory.rst:649 msgid "user context passed as first argument" msgstr "" -#: c-api/memory.rst:413 +#: c-api/memory.rst:415 msgid "``void* malloc(void *ctx, size_t size)``" msgstr "``void* malloc(void *ctx, size_t size)``" -#: c-api/memory.rst:413 +#: c-api/memory.rst:415 msgid "allocate a memory block" msgstr "" -#: c-api/memory.rst:415 +#: c-api/memory.rst:417 msgid "``void* calloc(void *ctx, size_t nelem, size_t elsize)``" msgstr "" -#: c-api/memory.rst:415 +#: c-api/memory.rst:417 msgid "allocate a memory block initialized with zeros" msgstr "" -#: c-api/memory.rst:418 +#: c-api/memory.rst:420 msgid "``void* realloc(void *ctx, void *ptr, size_t new_size)``" msgstr "" -#: c-api/memory.rst:418 +#: c-api/memory.rst:420 msgid "allocate or resize a memory block" msgstr "" -#: c-api/memory.rst:420 +#: c-api/memory.rst:422 msgid "``void free(void *ctx, void *ptr)``" msgstr "``void free(void *ctx, void *ptr)``" -#: c-api/memory.rst:420 +#: c-api/memory.rst:422 msgid "free a memory block" msgstr "" -#: c-api/memory.rst:423 +#: c-api/memory.rst:425 msgid "" "The :c:type:`PyMemAllocator` structure was renamed to :c:type:" "`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" -#: c-api/memory.rst:430 +#: c-api/memory.rst:432 msgid "Enum used to identify an allocator domain. Domains:" msgstr "" -#: c-api/memory.rst:443 c-api/memory.rst:452 +#: c-api/memory.rst:445 c-api/memory.rst:454 #, fuzzy msgid "Functions:" msgstr "Fonctions" -#: c-api/memory.rst:436 +#: c-api/memory.rst:438 #, fuzzy msgid ":c:func:`PyMem_RawMalloc`" msgstr ":c:func:`PyMem_RawCalloc`," -#: c-api/memory.rst:437 +#: c-api/memory.rst:439 #, fuzzy msgid ":c:func:`PyMem_RawRealloc`" msgstr ":c:func:`PyMem_RawCalloc`," -#: c-api/memory.rst:438 +#: c-api/memory.rst:440 #, fuzzy msgid ":c:func:`PyMem_RawCalloc`" msgstr ":c:func:`PyMem_RawCalloc`," -#: c-api/memory.rst:439 +#: c-api/memory.rst:441 msgid ":c:func:`PyMem_RawFree`" msgstr "" -#: c-api/memory.rst:445 +#: c-api/memory.rst:447 #, fuzzy msgid ":c:func:`PyMem_Malloc`," msgstr ":c:func:`PyMem_Calloc`," -#: c-api/memory.rst:446 +#: c-api/memory.rst:448 #, fuzzy msgid ":c:func:`PyMem_Realloc`" msgstr ":c:func:`PyMem_Calloc`," -#: c-api/memory.rst:447 +#: c-api/memory.rst:449 #, fuzzy msgid ":c:func:`PyMem_Calloc`" msgstr ":c:func:`PyMem_Calloc`," -#: c-api/memory.rst:448 +#: c-api/memory.rst:450 msgid ":c:func:`PyMem_Free`" msgstr "" -#: c-api/memory.rst:454 +#: c-api/memory.rst:456 msgid ":c:func:`PyObject_Malloc`" msgstr "" -#: c-api/memory.rst:455 +#: c-api/memory.rst:457 msgid ":c:func:`PyObject_Realloc`" msgstr "" -#: c-api/memory.rst:456 +#: c-api/memory.rst:458 msgid ":c:func:`PyObject_Calloc`" msgstr "" -#: c-api/memory.rst:457 +#: c-api/memory.rst:459 msgid ":c:func:`PyObject_Free`" msgstr "" -#: c-api/memory.rst:461 +#: c-api/memory.rst:463 msgid "Get the memory block allocator of the specified domain." msgstr "" -#: c-api/memory.rst:466 +#: c-api/memory.rst:468 msgid "Set the memory block allocator of the specified domain." msgstr "" -#: c-api/memory.rst:468 +#: c-api/memory.rst:470 msgid "" "The new allocator must return a distinct non-``NULL`` pointer when " "requesting zero bytes." msgstr "" -#: c-api/memory.rst:471 +#: c-api/memory.rst:473 msgid "" "For the :c:data:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" "safe: the :term:`GIL ` is not held when the " "allocator is called." msgstr "" -#: c-api/memory.rst:475 +#: c-api/memory.rst:477 msgid "" "If the new allocator is not a hook (does not call the previous allocator), " "the :c:func:`PyMem_SetupDebugHooks` function must be called to reinstall the " "debug hooks on top on the new allocator." msgstr "" -#: c-api/memory.rst:482 +#: c-api/memory.rst:484 +msgid ":c:func:`PyMem_SetAllocator` does have the following contract:" +msgstr "" + +#: c-api/memory.rst:486 +msgid "" +"It can be called after :c:func:`Py_PreInitialize` and before :c:func:" +"`Py_InitializeFromConfig` to install a custom memory allocator. There are no " +"restrictions over the installed allocator other than the ones imposed by the " +"domain (for instance, the Raw Domain allows the allocator to be called " +"without the GIL held). See :ref:`the section on allocator domains ` for more information." +msgstr "" + +#: c-api/memory.rst:494 +msgid "" +"If called after Python has finish initializing (after :c:func:" +"`Py_InitializeFromConfig` has been called) the allocator **must** wrap the " +"existing allocator. Substituting the current allocator for some other " +"arbitrary one is **not supported**." +msgstr "" + +#: c-api/memory.rst:503 msgid "" "Setup :ref:`debug hooks in the Python memory allocators ` " "to detect memory errors." msgstr "" -#: c-api/memory.rst:489 +#: c-api/memory.rst:510 msgid "Debug hooks on the Python memory allocators" msgstr "" -#: c-api/memory.rst:491 +#: c-api/memory.rst:512 msgid "" "When :ref:`Python is built in debug mode `, the :c:func:" "`PyMem_SetupDebugHooks` function is called at the :ref:`Python " @@ -711,19 +733,19 @@ msgid "" "allocators to detect memory errors." msgstr "" -#: c-api/memory.rst:496 +#: c-api/memory.rst:517 msgid "" "The :envvar:`PYTHONMALLOC` environment variable can be used to install debug " "hooks on a Python compiled in release mode (ex: ``PYTHONMALLOC=debug``)." msgstr "" -#: c-api/memory.rst:499 +#: c-api/memory.rst:520 msgid "" "The :c:func:`PyMem_SetupDebugHooks` function can be used to set debug hooks " "after calling :c:func:`PyMem_SetAllocator`." msgstr "" -#: c-api/memory.rst:502 +#: c-api/memory.rst:523 msgid "" "These debug hooks fill dynamically allocated memory blocks with special, " "recognizable bit patterns. Newly allocated memory is filled with the byte " @@ -733,32 +755,32 @@ msgid "" "these bytes are unlikely to be valid addresses, floats, or ASCII strings." msgstr "" -#: c-api/memory.rst:509 +#: c-api/memory.rst:530 msgid "Runtime checks:" msgstr "" -#: c-api/memory.rst:511 +#: c-api/memory.rst:532 msgid "" "Detect API violations. For example, detect if :c:func:`PyObject_Free` is " "called on a memory block allocated by :c:func:`PyMem_Malloc`." msgstr "" -#: c-api/memory.rst:513 +#: c-api/memory.rst:534 msgid "Detect write before the start of the buffer (buffer underflow)." msgstr "" -#: c-api/memory.rst:514 +#: c-api/memory.rst:535 msgid "Detect write after the end of the buffer (buffer overflow)." msgstr "" -#: c-api/memory.rst:515 +#: c-api/memory.rst:536 msgid "" "Check that the :term:`GIL ` is held when allocator " "functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" "c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." msgstr "" -#: c-api/memory.rst:520 +#: c-api/memory.rst:541 msgid "" "On error, the debug hooks use the :mod:`tracemalloc` module to get the " "traceback where a memory block was allocated. The traceback is only " @@ -766,7 +788,7 @@ msgid "" "memory block was traced." msgstr "" -#: c-api/memory.rst:525 +#: c-api/memory.rst:546 msgid "" "Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each " "block of *N* bytes requested. The memory layout is like so, where p " @@ -776,49 +798,49 @@ msgid "" "from a Python slice):" msgstr "" -#: c-api/memory.rst:532 +#: c-api/memory.rst:553 msgid "``p[-2*S:-S]``" msgstr "" -#: c-api/memory.rst:532 +#: c-api/memory.rst:553 msgid "" "Number of bytes originally asked for. This is a size_t, big-endian (easier " "to read in a memory dump)." msgstr "" -#: c-api/memory.rst:539 +#: c-api/memory.rst:560 msgid "``p[-S]``" msgstr "" -#: c-api/memory.rst:535 +#: c-api/memory.rst:556 msgid "API identifier (ASCII character):" msgstr "" -#: c-api/memory.rst:537 +#: c-api/memory.rst:558 msgid "``'r'`` for :c:data:`PYMEM_DOMAIN_RAW`." msgstr "" -#: c-api/memory.rst:538 +#: c-api/memory.rst:559 msgid "``'m'`` for :c:data:`PYMEM_DOMAIN_MEM`." msgstr "" -#: c-api/memory.rst:539 +#: c-api/memory.rst:560 msgid "``'o'`` for :c:data:`PYMEM_DOMAIN_OBJ`." msgstr "" -#: c-api/memory.rst:542 +#: c-api/memory.rst:563 msgid "``p[-S+1:0]``" msgstr "" -#: c-api/memory.rst:542 +#: c-api/memory.rst:563 msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch under- writes and reads." msgstr "" -#: c-api/memory.rst:551 +#: c-api/memory.rst:572 msgid "``p[0:N]``" msgstr "" -#: c-api/memory.rst:545 +#: c-api/memory.rst:566 msgid "" "The requested memory, filled with copies of PYMEM_CLEANBYTE, used to catch " "reference to uninitialized memory. When a realloc-like function is called " @@ -829,25 +851,25 @@ msgid "" "bytes are also filled with PYMEM_DEADBYTE." msgstr "" -#: c-api/memory.rst:554 +#: c-api/memory.rst:575 msgid "``p[N:N+S]``" msgstr "" -#: c-api/memory.rst:554 +#: c-api/memory.rst:575 msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch over- writes and reads." msgstr "" -#: c-api/memory.rst:565 +#: c-api/memory.rst:586 msgid "``p[N+S:N+2*S]``" msgstr "" -#: c-api/memory.rst:557 +#: c-api/memory.rst:578 msgid "" "Only used if the ``PYMEM_DEBUG_SERIALNO`` macro is defined (not defined by " "default)." msgstr "" -#: c-api/memory.rst:560 +#: c-api/memory.rst:581 msgid "" "A serial number, incremented by 1 on each call to a malloc-like or realloc-" "like function. Big-endian ``size_t``. If \"bad memory\" is detected later, " @@ -857,7 +879,7 @@ msgid "" "incremented, and exists so you can set such a breakpoint easily." msgstr "" -#: c-api/memory.rst:567 +#: c-api/memory.rst:588 msgid "" "A realloc-like or free-like function first checks that the " "PYMEM_FORBIDDENBYTE bytes at each end are intact. If they've been altered, " @@ -870,7 +892,7 @@ msgid "" "getting used)." msgstr "" -#: c-api/memory.rst:576 +#: c-api/memory.rst:597 msgid "" "The :c:func:`PyMem_SetupDebugHooks` function now also works on Python " "compiled in release mode. On error, the debug hooks now use :mod:" @@ -879,7 +901,7 @@ msgid "" "`PYMEM_DOMAIN_OBJ` and :c:data:`PYMEM_DOMAIN_MEM` domains are called." msgstr "" -#: c-api/memory.rst:584 +#: c-api/memory.rst:605 msgid "" "Byte patterns ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) " "and ``0xFB`` (``PYMEM_FORBIDDENBYTE``) have been replaced with ``0xCD``, " @@ -887,11 +909,11 @@ msgid "" "``malloc()`` and ``free()``." msgstr "" -#: c-api/memory.rst:594 +#: c-api/memory.rst:615 msgid "The pymalloc allocator" msgstr "" -#: c-api/memory.rst:596 +#: c-api/memory.rst:617 msgid "" "Python has a *pymalloc* allocator optimized for small objects (smaller or " "equal to 512 bytes) with a short lifetime. It uses memory mappings called " @@ -900,115 +922,115 @@ msgid "" "512 bytes." msgstr "" -#: c-api/memory.rst:601 +#: c-api/memory.rst:622 msgid "" "*pymalloc* is the :ref:`default allocator ` of " "the :c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) and :c:data:" "`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) domains." msgstr "" -#: c-api/memory.rst:605 +#: c-api/memory.rst:626 msgid "The arena allocator uses the following functions:" msgstr "" -#: c-api/memory.rst:607 +#: c-api/memory.rst:628 msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows," msgstr "" -#: c-api/memory.rst:608 +#: c-api/memory.rst:629 msgid ":c:func:`mmap` and :c:func:`munmap` if available," msgstr "" -#: c-api/memory.rst:609 +#: c-api/memory.rst:630 msgid ":c:func:`malloc` and :c:func:`free` otherwise." msgstr "" -#: c-api/memory.rst:611 +#: c-api/memory.rst:632 msgid "" "This allocator is disabled if Python is configured with the :option:`--" "without-pymalloc` option. It can also be disabled at runtime using the :" "envvar:`PYTHONMALLOC` environment variable (ex: ``PYTHONMALLOC=malloc``)." msgstr "" -#: c-api/memory.rst:616 +#: c-api/memory.rst:637 msgid "Customize pymalloc Arena Allocator" msgstr "" -#: c-api/memory.rst:622 +#: c-api/memory.rst:643 msgid "" "Structure used to describe an arena allocator. The structure has three " "fields:" msgstr "" -#: c-api/memory.rst:630 +#: c-api/memory.rst:651 msgid "``void* alloc(void *ctx, size_t size)``" msgstr "``void* alloc(void *ctx, size_t size)``" -#: c-api/memory.rst:630 +#: c-api/memory.rst:651 msgid "allocate an arena of size bytes" msgstr "" -#: c-api/memory.rst:632 +#: c-api/memory.rst:653 #, fuzzy msgid "``void free(void *ctx, void *ptr, size_t size)``" msgstr "``void free(void *ctx, void *ptr)``" -#: c-api/memory.rst:632 +#: c-api/memory.rst:653 msgid "free an arena" msgstr "" -#: c-api/memory.rst:637 +#: c-api/memory.rst:658 msgid "Get the arena allocator." msgstr "" -#: c-api/memory.rst:641 +#: c-api/memory.rst:662 msgid "Set the arena allocator." msgstr "" -#: c-api/memory.rst:645 +#: c-api/memory.rst:666 msgid "tracemalloc C API" msgstr "" -#: c-api/memory.rst:651 +#: c-api/memory.rst:672 msgid "Track an allocated memory block in the :mod:`tracemalloc` module." msgstr "" -#: c-api/memory.rst:653 +#: c-api/memory.rst:674 msgid "" "Return ``0`` on success, return ``-1`` on error (failed to allocate memory " "to store the trace). Return ``-2`` if tracemalloc is disabled." msgstr "" -#: c-api/memory.rst:656 +#: c-api/memory.rst:677 msgid "If memory block is already tracked, update the existing trace." msgstr "" -#: c-api/memory.rst:660 +#: c-api/memory.rst:681 msgid "" "Untrack an allocated memory block in the :mod:`tracemalloc` module. Do " "nothing if the block was not tracked." msgstr "" -#: c-api/memory.rst:663 +#: c-api/memory.rst:684 msgid "Return ``-2`` if tracemalloc is disabled, otherwise return ``0``." msgstr "" -#: c-api/memory.rst:669 +#: c-api/memory.rst:690 msgid "Examples" msgstr "Exemples" -#: c-api/memory.rst:671 +#: c-api/memory.rst:692 msgid "" "Here is the example from section :ref:`memoryoverview`, rewritten so that " "the I/O buffer is allocated from the Python heap by using the first function " "set::" msgstr "" -#: c-api/memory.rst:684 +#: c-api/memory.rst:705 msgid "The same code using the type-oriented function set::" msgstr "" -#: c-api/memory.rst:696 +#: c-api/memory.rst:717 msgid "" "Note that in the two examples above, the buffer is always manipulated via " "functions belonging to the same set. Indeed, it is required to use the same " @@ -1018,14 +1040,14 @@ msgid "" "different allocators operating on different heaps. ::" msgstr "" -#: c-api/memory.rst:711 +#: c-api/memory.rst:732 msgid "" "In addition to the functions aimed at handling raw memory blocks from the " "Python heap, objects in Python are allocated and released with :c:func:" "`PyObject_New`, :c:func:`PyObject_NewVar` and :c:func:`PyObject_Del`." msgstr "" -#: c-api/memory.rst:715 +#: c-api/memory.rst:736 msgid "" "These will be explained in the next chapter on defining and implementing new " "object types in C." diff --git a/c-api/module.po b/c-api/module.po index 18070cb1f7..fb3a4cb71d 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -437,17 +437,17 @@ msgstr "" #: c-api/module.rst:391 msgid "" -"Create a new module object, given the definition in *module* and the " -"ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` " -"with *module_api_version* set to :const:`PYTHON_API_VERSION`." +"Create a new module object, given the definition in *def* and the ModuleSpec " +"*spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` with " +"*module_api_version* set to :const:`PYTHON_API_VERSION`." msgstr "" #: c-api/module.rst:399 msgid "" -"Create a new module object, given the definition in *module* and the " -"ModuleSpec *spec*, assuming the API version *module_api_version*. If that " -"version does not match the version of the running interpreter, a :exc:" -"`RuntimeWarning` is emitted." +"Create a new module object, given the definition in *def* and the ModuleSpec " +"*spec*, assuming the API version *module_api_version*. If that version does " +"not match the version of the running interpreter, a :exc:`RuntimeWarning` is " +"emitted." msgstr "" #: c-api/module.rst:406 diff --git a/c-api/object.po b/c-api/object.po index b5fc7b7cf5..4005de3226 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-08-16 22:56+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -238,7 +238,21 @@ msgstr "" "Si *o1* et *o2* sont le même objet, :c:func:`PyObject_RichCompareBool` " "renvoie toujours ``1`` pour :const:`Py_EQ` et ``0`` pour :const:`Py_NE`." -#: c-api/object.rst:168 +#: c-api/object.rst:166 +#, fuzzy +msgid "" +"Format *obj* using *format_spec*. This is equivalent to the Python " +"expression ``format(obj, format_spec)``." +msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``." + +#: c-api/object.rst:169 +msgid "" +"*format_spec* may be ``NULL``. In this case the call is equivalent to " +"``format(obj)``. Returns the formatted string on success, ``NULL`` on " +"failure." +msgstr "" + +#: c-api/object.rst:177 #, fuzzy msgid "" "Compute a string representation of object *o*. Returns the string " @@ -251,7 +265,7 @@ msgstr "" "d'échec. Ceci est l'équivalent de l'expression Python ``repr(o)``. Appelé " "par la fonction native :func:`repr`." -#: c-api/object.rst:196 +#: c-api/object.rst:205 msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." @@ -259,7 +273,7 @@ msgstr "" "Cette fonction inclut maintenant une assertion de débogage afin d'assurer " "qu'elle ne passe pas sous silence une exception active." -#: c-api/object.rst:180 +#: c-api/object.rst:189 msgid "" "As :c:func:`PyObject_Repr`, compute a string representation of object *o*, " "but escape the non-ASCII characters in the string returned by :c:func:" @@ -274,7 +288,7 @@ msgstr "" "renvoyée par :c:func:`PyObject_Repr` en Python 2. Appelée par la fonction " "native :func:`ascii`." -#: c-api/object.rst:191 +#: c-api/object.rst:200 #, fuzzy msgid "" "Compute a string representation of object *o*. Returns the string " @@ -288,7 +302,7 @@ msgstr "" "par la fonction native :func:`str`, et, par conséquent, par la fonction :" "func:`print`." -#: c-api/object.rst:205 +#: c-api/object.rst:214 #, fuzzy msgid "" "Compute a bytes representation of object *o*. ``NULL`` is returned on " @@ -303,7 +317,7 @@ msgstr "" "entier. Contrairement à ``bytes(o)``, une exception *TypeError* est levée " "lorsque *o* est un entier au lieu d'un objet octet initialisé avec des zéros." -#: c-api/object.rst:214 +#: c-api/object.rst:223 msgid "" "Return ``1`` if the class *derived* is identical to or derived from the " "class *cls*, otherwise return ``0``. In case of an error, return ``-1``." @@ -311,7 +325,7 @@ msgstr "" "Renvoie ``1`` si la classe *derived* est identique à ou dérivée de la classe " "*cls*, renvoie ``0`` sinon. En cas d'erreur, renvoie ``-1``." -#: c-api/object.rst:236 +#: c-api/object.rst:245 msgid "" "If *cls* is a tuple, the check will be done against every entry in *cls*. " "The result will be ``1`` when at least one of the checks returns ``1``, " @@ -321,7 +335,7 @@ msgstr "" "*cls*. Le résultat sera ``1`` quand au moins une des vérifications renvoie " "``1``, sinon ce sera ``0``." -#: c-api/object.rst:221 +#: c-api/object.rst:230 msgid "" "If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " @@ -333,7 +347,7 @@ msgstr "" "Sinon, *derived* est une sous-classe de *cls* si c'est une sous-classe " "directe ou indirecte, c'est-à-dire contenue dans ``cls.__mro__``." -#: c-api/object.rst:226 +#: c-api/object.rst:235 msgid "" "Normally only class objects, i.e. instances of :class:`type` or a derived " "class, are considered classes. However, objects can override this by having " @@ -344,7 +358,7 @@ msgstr "" "les objets peuvent surcharger cela en ayant un attribut :attr:`__bases__` " "(qui doit être un *n*-uplet de classes de bases)." -#: c-api/object.rst:233 +#: c-api/object.rst:242 msgid "" "Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " "*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." @@ -353,7 +367,7 @@ msgstr "" "classe de *cls*, ou ``0`` sinon. En cas d'erreur, renvoie ``-1`` et " "initialise une exception." -#: c-api/object.rst:240 +#: c-api/object.rst:249 msgid "" "If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " @@ -364,7 +378,7 @@ msgstr "" "Sinon, *inst* est une instance *cls* si sa classe est une sous-classe de " "*cls*." -#: c-api/object.rst:244 +#: c-api/object.rst:253 msgid "" "An instance *inst* can override what is considered its class by having a :" "attr:`__class__` attribute." @@ -372,7 +386,7 @@ msgstr "" "Une instance *inst* peut surcharger ce qui est considéré comme sa classe en " "ayant un attribut :attr:`__class__`." -#: c-api/object.rst:247 +#: c-api/object.rst:256 msgid "" "An object *cls* can override if it is considered a class, and what its base " "classes are, by having a :attr:`__bases__` attribute (which must be a tuple " @@ -382,41 +396,41 @@ msgstr "" "que ses classes de bases sont, en ayant un attribut :attr:`__bases__` (qui " "doit être un *n*-uplet des classes de base)." -#: c-api/object.rst:256 +#: c-api/object.rst:265 msgid "" "Compute and return the hash value of an object *o*. On failure, return " "``-1``. This is the equivalent of the Python expression ``hash(o)``." msgstr "" -#: c-api/object.rst:259 +#: c-api/object.rst:268 msgid "" "The return type is now Py_hash_t. This is a signed integer the same size " "as :c:type:`Py_ssize_t`." msgstr "" -#: c-api/object.rst:266 +#: c-api/object.rst:275 msgid "" -"Set a :exc:`TypeError` indicating that ``type(o)`` is not hashable and " -"return ``-1``. This function receives special treatment when stored in a " +"Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` " +"and return ``-1``. This function receives special treatment when stored in a " "``tp_hash`` slot, allowing a type to explicitly indicate to the interpreter " "that it is not hashable." msgstr "" -#: c-api/object.rst:274 +#: c-api/object.rst:283 msgid "" "Returns ``1`` if the object *o* is considered to be true, and ``0`` " "otherwise. This is equivalent to the Python expression ``not not o``. On " "failure, return ``-1``." msgstr "" -#: c-api/object.rst:281 +#: c-api/object.rst:290 msgid "" "Returns ``0`` if the object *o* is considered to be true, and ``1`` " "otherwise. This is equivalent to the Python expression ``not o``. On " "failure, return ``-1``." msgstr "" -#: c-api/object.rst:290 +#: c-api/object.rst:299 msgid "" "When *o* is non-``NULL``, returns a type object corresponding to the object " "type of object *o*. On failure, raises :exc:`SystemError` and returns " @@ -427,13 +441,13 @@ msgid "" "incremented reference count is needed." msgstr "" -#: c-api/object.rst:301 +#: c-api/object.rst:310 msgid "" "Return non-zero if the object *o* is of type *type* or a subtype of *type*, " "and ``0`` otherwise. Both parameters must be non-``NULL``." msgstr "" -#: c-api/object.rst:310 +#: c-api/object.rst:319 msgid "" "Return the length of object *o*. If the object *o* provides either the " "sequence and mapping protocols, the sequence length is returned. On error, " @@ -441,7 +455,7 @@ msgid "" "``len(o)``." msgstr "" -#: c-api/object.rst:317 +#: c-api/object.rst:326 msgid "" "Return an estimated length for the object *o*. First try to return its " "actual length, then an estimate using :meth:`~object.__length_hint__`, and " @@ -450,7 +464,7 @@ msgid "" "defaultvalue)``." msgstr "" -#: c-api/object.rst:327 +#: c-api/object.rst:336 #, fuzzy msgid "" "Return element of *o* corresponding to the object *key* or ``NULL`` on " @@ -460,7 +474,7 @@ msgstr "" "l'attribut en cas de succès, ou *NULL* en cas d'échec. Ceci est équivalent à " "l'expression Python ``o.attr_name``." -#: c-api/object.rst:333 +#: c-api/object.rst:342 #, fuzzy msgid "" "Map the object *key* to the value *v*. Raise an exception and return ``-1`` " @@ -472,7 +486,7 @@ msgstr "" "``0`` en cas de succès. Ceci est équivalent à l'instruction Python ``o." "attr_name = v``." -#: c-api/object.rst:341 +#: c-api/object.rst:350 #, fuzzy msgid "" "Remove the mapping for the object *key* from the object *o*. Return ``-1`` " @@ -482,7 +496,7 @@ msgstr "" "Renvoie ``-1`` en cas d'échec. C'est l'équivalent de la commande Python " "``del o[key]``." -#: c-api/object.rst:347 +#: c-api/object.rst:356 msgid "" "This is equivalent to the Python expression ``dir(o)``, returning a " "(possibly empty) list of strings appropriate for the object argument, or " @@ -492,7 +506,7 @@ msgid "" "`PyErr_Occurred` will return false." msgstr "" -#: c-api/object.rst:356 +#: c-api/object.rst:365 msgid "" "This is equivalent to the Python expression ``iter(o)``. It returns a new " "iterator for the object argument, or the object itself if the object is " @@ -500,7 +514,7 @@ msgid "" "object cannot be iterated." msgstr "" -#: c-api/object.rst:364 +#: c-api/object.rst:373 msgid "" "This is the equivalent to the Python expression ``aiter(o)``. Takes an :" "class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. " @@ -557,10 +571,6 @@ msgstr "" #~ "par le *n*-uplet *args*. Si aucun argument n'est nécessaire, alors *args* " #~ "peut être égal à *NULL*." -#~ msgid "" -#~ "This is the equivalent of the Python expression: ``callable(*args)``." -#~ msgstr "Ceci est l'équivalent de l'expression Python : ``callable(*args)``." - #, fuzzy #~ msgid "" #~ "Call a callable Python object *callable*, with a variable number of C " diff --git a/c-api/structures.po b/c-api/structures.po index d102639b10..c086cb1092 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -212,66 +212,25 @@ msgid "" "has four fields:" msgstr "" -#: c-api/structures.rst:395 c-api/structures.rst:491 -msgid "Field" -msgstr "Champ" - -#: c-api/structures.rst:395 c-api/structures.rst:491 -msgid "C Type" -msgstr "Type C" - -#: c-api/structures.rst:395 c-api/structures.rst:491 -msgid "Meaning" -msgstr "Signification" - -#: c-api/structures.rst:241 -msgid ":attr:`ml_name`" -msgstr ":attr:`ml_name`" - -#: c-api/structures.rst:249 c-api/structures.rst:410 c-api/structures.rst:493 -#: c-api/structures.rst:501 -msgid "const char \\*" -msgstr "" - -#: c-api/structures.rst:241 +#: c-api/structures.rst:240 msgid "name of the method" msgstr "" -#: c-api/structures.rst:243 -msgid ":attr:`ml_meth`" -msgstr ":attr:`ml_meth`" - -#: c-api/structures.rst:243 -msgid "PyCFunction" -msgstr "PyCFunction" - -#: c-api/structures.rst:243 +#: c-api/structures.rst:244 msgid "pointer to the C implementation" msgstr "" -#: c-api/structures.rst:246 -msgid ":attr:`ml_flags`" -msgstr ":attr:`ml_flags`" - -#: c-api/structures.rst:399 c-api/structures.rst:422 -msgid "int" -msgstr "*int*" - -#: c-api/structures.rst:246 -msgid "flag bits indicating how the call should be constructed" +#: c-api/structures.rst:248 +msgid "flags bits indicating how the call should be constructed" msgstr "" -#: c-api/structures.rst:249 -msgid ":attr:`ml_doc`" -msgstr ":attr:`ml_doc`" - -#: c-api/structures.rst:410 +#: c-api/structures.rst:411 msgid "points to the contents of the docstring" msgstr "" -#: c-api/structures.rst:253 +#: c-api/structures.rst:254 msgid "" -"The :attr:`ml_meth` is a C function pointer. The functions may be of " +"The :c:member:`ml_meth` is a C function pointer. The functions may be of " "different types, but they always return :c:expr:`PyObject*`. If the " "function is not of the :c:type:`PyCFunction`, the compiler will require a " "cast in the method table. Even though :c:type:`PyCFunction` defines the " @@ -279,18 +238,18 @@ msgid "" "implementation uses the specific C type of the *self* object." msgstr "" -#: c-api/structures.rst:260 +#: c-api/structures.rst:261 msgid "" -"The :attr:`ml_flags` field is a bitfield which can include the following " +"The :c:member:`ml_flags` field is a bitfield which can include the following " "flags. The individual flags indicate either a calling convention or a " "binding convention." msgstr "" -#: c-api/structures.rst:264 +#: c-api/structures.rst:265 msgid "There are these calling conventions:" msgstr "" -#: c-api/structures.rst:268 +#: c-api/structures.rst:269 msgid "" "This is the typical calling convention, where the methods have the type :c:" "type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The " @@ -300,7 +259,7 @@ msgid "" "func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." msgstr "" -#: c-api/structures.rst:278 +#: c-api/structures.rst:279 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, *kwargs* where " @@ -309,7 +268,7 @@ msgid "" "using :c:func:`PyArg_ParseTupleAndKeywords`." msgstr "" -#: c-api/structures.rst:287 +#: c-api/structures.rst:288 msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " @@ -318,11 +277,11 @@ msgid "" "the array)." msgstr "" -#: c-api/structures.rst:297 +#: c-api/structures.rst:298 msgid "``METH_FASTCALL`` is now part of the stable ABI." msgstr "" -#: c-api/structures.rst:302 +#: c-api/structures.rst:303 msgid "" "Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " "methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " @@ -334,21 +293,21 @@ msgid "" "arguments." msgstr "" -#: c-api/structures.rst:317 +#: c-api/structures.rst:318 msgid "" "Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining " "class*, that is, the class that contains the method in question. The " "defining class might be a superclass of ``Py_TYPE(self)``." msgstr "" -#: c-api/structures.rst:321 +#: c-api/structures.rst:322 msgid "" "The method needs to be of type :c:type:`PyCMethod`, the same as for " "``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " "after ``self``." msgstr "" -#: c-api/structures.rst:330 +#: c-api/structures.rst:331 msgid "" "Methods without parameters don't need to check whether arguments are given " "if they are listed with the :const:`METH_NOARGS` flag. They need to be of " @@ -357,7 +316,7 @@ msgid "" "the second parameter will be ``NULL``." msgstr "" -#: c-api/structures.rst:339 +#: c-api/structures.rst:340 msgid "" "Methods with a single object argument can be listed with the :const:`METH_O` " "flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " @@ -366,7 +325,7 @@ msgid "" "argument." msgstr "" -#: c-api/structures.rst:345 +#: c-api/structures.rst:346 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use with methods of classes. These may not be used for " @@ -374,27 +333,27 @@ msgid "" "any given method." msgstr "" -#: c-api/structures.rst:355 +#: c-api/structures.rst:356 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " "what is created when using the :func:`classmethod` built-in function." msgstr "" -#: c-api/structures.rst:365 +#: c-api/structures.rst:366 msgid "" "The method will be passed ``NULL`` as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " "what is created when using the :func:`staticmethod` built-in function." msgstr "" -#: c-api/structures.rst:369 +#: c-api/structures.rst:370 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" -#: c-api/structures.rst:375 +#: c-api/structures.rst:376 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " @@ -407,193 +366,213 @@ msgid "" "calls." msgstr "" -#: c-api/structures.rst:387 +#: c-api/structures.rst:388 msgid "Accessing attributes of extension types" msgstr "" -#: c-api/structures.rst:391 +#: c-api/structures.rst:392 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" msgstr "" -#: c-api/structures.rst:397 +#: c-api/structures.rst:492 +msgid "Field" +msgstr "Champ" + +#: c-api/structures.rst:492 +msgid "C Type" +msgstr "Type C" + +#: c-api/structures.rst:492 +msgid "Meaning" +msgstr "Signification" + +#: c-api/structures.rst:398 msgid ":attr:`name`" msgstr ":attr:`name`" -#: c-api/structures.rst:397 +#: c-api/structures.rst:411 c-api/structures.rst:494 c-api/structures.rst:502 +msgid "const char \\*" +msgstr "" + +#: c-api/structures.rst:398 msgid "name of the member" msgstr "" -#: c-api/structures.rst:399 +#: c-api/structures.rst:400 msgid ":attr:`!type`" msgstr ":attr:`!type`" -#: c-api/structures.rst:399 +#: c-api/structures.rst:407 c-api/structures.rst:423 +msgid "int" +msgstr "*int*" + +#: c-api/structures.rst:400 msgid "the type of the member in the C struct" msgstr "" -#: c-api/structures.rst:402 +#: c-api/structures.rst:403 msgid ":attr:`offset`" msgstr ":attr:`offset`" -#: c-api/structures.rst:438 +#: c-api/structures.rst:439 msgid "Py_ssize_t" msgstr "" -#: c-api/structures.rst:402 +#: c-api/structures.rst:403 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" -#: c-api/structures.rst:406 +#: c-api/structures.rst:407 msgid ":attr:`flags`" msgstr ":attr:`flags`" -#: c-api/structures.rst:406 +#: c-api/structures.rst:407 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" -#: c-api/structures.rst:410 +#: c-api/structures.rst:411 msgid ":attr:`doc`" msgstr ":attr:`doc`" -#: c-api/structures.rst:414 +#: c-api/structures.rst:415 msgid "" ":attr:`!type` can be one of many ``T_`` macros corresponding to various C " "types. When the member is accessed in Python, it will be converted to the " "equivalent Python type." msgstr "" -#: c-api/structures.rst:419 +#: c-api/structures.rst:420 msgid "Macro name" msgstr "" -#: c-api/structures.rst:419 +#: c-api/structures.rst:420 msgid "C type" msgstr "Type C" -#: c-api/structures.rst:421 +#: c-api/structures.rst:422 msgid "T_SHORT" msgstr "" -#: c-api/structures.rst:421 +#: c-api/structures.rst:422 msgid "short" msgstr "" -#: c-api/structures.rst:422 +#: c-api/structures.rst:423 msgid "T_INT" msgstr "" -#: c-api/structures.rst:423 +#: c-api/structures.rst:424 msgid "T_LONG" msgstr "" -#: c-api/structures.rst:423 +#: c-api/structures.rst:424 msgid "long" msgstr "" -#: c-api/structures.rst:424 +#: c-api/structures.rst:425 msgid "T_FLOAT" msgstr "" -#: c-api/structures.rst:424 +#: c-api/structures.rst:425 msgid "float" msgstr "*float*" -#: c-api/structures.rst:425 +#: c-api/structures.rst:426 msgid "T_DOUBLE" msgstr "" -#: c-api/structures.rst:425 +#: c-api/structures.rst:426 msgid "double" msgstr "double" -#: c-api/structures.rst:426 +#: c-api/structures.rst:427 msgid "T_STRING" msgstr "" -#: c-api/structures.rst:427 +#: c-api/structures.rst:428 msgid "T_OBJECT" msgstr "" -#: c-api/structures.rst:428 +#: c-api/structures.rst:429 msgid "PyObject \\*" msgstr "PyObject \\*" -#: c-api/structures.rst:428 +#: c-api/structures.rst:429 msgid "T_OBJECT_EX" msgstr "" -#: c-api/structures.rst:429 +#: c-api/structures.rst:430 msgid "T_CHAR" msgstr "" -#: c-api/structures.rst:430 c-api/structures.rst:435 +#: c-api/structures.rst:431 c-api/structures.rst:436 msgid "char" msgstr "char" -#: c-api/structures.rst:430 +#: c-api/structures.rst:431 msgid "T_BYTE" msgstr "" -#: c-api/structures.rst:431 +#: c-api/structures.rst:432 msgid "T_UBYTE" msgstr "" -#: c-api/structures.rst:431 +#: c-api/structures.rst:432 msgid "unsigned char" msgstr "``unsigned char``" -#: c-api/structures.rst:432 +#: c-api/structures.rst:433 msgid "T_UINT" msgstr "" -#: c-api/structures.rst:432 +#: c-api/structures.rst:433 msgid "unsigned int" msgstr "``unsigned int``" -#: c-api/structures.rst:433 +#: c-api/structures.rst:434 msgid "T_USHORT" msgstr "" -#: c-api/structures.rst:433 +#: c-api/structures.rst:434 msgid "unsigned short" msgstr "``unsigned short``" -#: c-api/structures.rst:434 +#: c-api/structures.rst:435 msgid "T_ULONG" msgstr "" -#: c-api/structures.rst:434 +#: c-api/structures.rst:435 msgid "unsigned long" msgstr "``unsigned long``" -#: c-api/structures.rst:435 +#: c-api/structures.rst:436 msgid "T_BOOL" msgstr "" -#: c-api/structures.rst:436 +#: c-api/structures.rst:437 msgid "T_LONGLONG" msgstr "" -#: c-api/structures.rst:436 +#: c-api/structures.rst:437 msgid "long long" msgstr "" -#: c-api/structures.rst:437 +#: c-api/structures.rst:438 msgid "T_ULONGLONG" msgstr "" -#: c-api/structures.rst:437 +#: c-api/structures.rst:438 msgid "unsigned long long" msgstr "``unsigned long long``" -#: c-api/structures.rst:438 +#: c-api/structures.rst:439 msgid "T_PYSSIZET" msgstr "" -#: c-api/structures.rst:441 +#: c-api/structures.rst:442 msgid "" ":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" "`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:" @@ -603,7 +582,7 @@ msgid "" "than :c:macro:`T_OBJECT`." msgstr "" -#: c-api/structures.rst:448 +#: c-api/structures.rst:449 msgid "" ":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` " "for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" @@ -612,7 +591,7 @@ msgid "" "are set to ``NULL``)." msgstr "" -#: c-api/structures.rst:456 +#: c-api/structures.rst:457 msgid "" "Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), " "``PyMemberDef`` may contain definitions for the special members " @@ -623,100 +602,115 @@ msgid "" "``T_PYSSIZET`` and ``READONLY``, for example::" msgstr "" -#: c-api/structures.rst:473 +#: c-api/structures.rst:474 msgid "" "Get an attribute belonging to the object at address *obj_addr*. The " "attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." msgstr "" -#: c-api/structures.rst:480 +#: c-api/structures.rst:481 msgid "" "Set an attribute belonging to the object at address *obj_addr* to object " "*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " "``0`` if successful and a negative value on failure." msgstr "" -#: c-api/structures.rst:487 +#: c-api/structures.rst:488 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" -#: c-api/structures.rst:493 +#: c-api/structures.rst:494 msgid "name" msgstr "nom" -#: c-api/structures.rst:493 +#: c-api/structures.rst:494 msgid "attribute name" msgstr "" -#: c-api/structures.rst:495 +#: c-api/structures.rst:496 msgid "get" msgstr "" -#: c-api/structures.rst:495 +#: c-api/structures.rst:496 msgid "getter" msgstr "" -#: c-api/structures.rst:495 +#: c-api/structures.rst:496 msgid "C function to get the attribute" msgstr "" -#: c-api/structures.rst:497 +#: c-api/structures.rst:498 msgid "set" msgstr "" -#: c-api/structures.rst:497 +#: c-api/structures.rst:498 msgid "setter" msgstr "" -#: c-api/structures.rst:497 +#: c-api/structures.rst:498 msgid "" "optional C function to set or delete the attribute, if omitted the attribute " "is readonly" msgstr "" -#: c-api/structures.rst:501 +#: c-api/structures.rst:502 msgid "doc" msgstr "" -#: c-api/structures.rst:501 +#: c-api/structures.rst:502 msgid "optional docstring" msgstr "" -#: c-api/structures.rst:503 +#: c-api/structures.rst:504 msgid "closure" msgstr "" -#: c-api/structures.rst:503 +#: c-api/structures.rst:504 msgid "void \\*" msgstr "" -#: c-api/structures.rst:503 +#: c-api/structures.rst:504 msgid "" "optional function pointer, providing additional data for getter and setter" msgstr "" -#: c-api/structures.rst:508 +#: c-api/structures.rst:509 msgid "" "The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " "and a function pointer (the associated ``closure``)::" msgstr "" -#: c-api/structures.rst:513 +#: c-api/structures.rst:514 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." msgstr "" -#: c-api/structures.rst:516 +#: c-api/structures.rst:517 msgid "" "``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " "the value to be set) and a function pointer (the associated ``closure``)::" msgstr "" -#: c-api/structures.rst:521 +#: c-api/structures.rst:522 msgid "" "In case the attribute should be deleted the second parameter is ``NULL``. " "Should return ``0`` on success or ``-1`` with a set exception on failure." msgstr "" + +#~ msgid ":attr:`ml_name`" +#~ msgstr ":attr:`ml_name`" + +#~ msgid ":attr:`ml_meth`" +#~ msgstr ":attr:`ml_meth`" + +#~ msgid "PyCFunction" +#~ msgstr "PyCFunction" + +#~ msgid ":attr:`ml_flags`" +#~ msgstr ":attr:`ml_flags`" + +#~ msgid ":attr:`ml_doc`" +#~ msgstr ":attr:`ml_doc`" diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 834664d115..2f7311a9d3 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -58,7 +58,7 @@ msgstr "" msgid "PyTypeObject Slot [#slots]_" msgstr "" -#: c-api/typeobj.rst:193 +#: c-api/typeobj.rst:199 msgid ":ref:`Type `" msgstr "" @@ -112,7 +112,7 @@ msgid ":c:member:`~PyTypeObject.tp_basicsize`" msgstr "" #: c-api/typeobj.rst:48 c-api/typeobj.rst:99 c-api/typeobj.rst:0 -#: c-api/typeobj.rst:408 +#: c-api/typeobj.rst:414 msgid ":c:type:`Py_ssize_t`" msgstr "" @@ -124,7 +124,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_dealloc`" msgstr "" -#: c-api/typeobj.rst:142 c-api/typeobj.rst:338 +#: c-api/typeobj.rst:142 c-api/typeobj.rst:344 msgid ":c:type:`destructor`" msgstr "" @@ -136,7 +136,7 @@ msgstr "" msgid "(:c:member:`~PyTypeObject.tp_getattr`)" msgstr "" -#: c-api/typeobj.rst:362 +#: c-api/typeobj.rst:368 msgid ":c:type:`getattrfunc`" msgstr "" @@ -153,7 +153,7 @@ msgstr "" msgid "(:c:member:`~PyTypeObject.tp_setattr`)" msgstr "" -#: c-api/typeobj.rst:367 +#: c-api/typeobj.rst:373 msgid ":c:type:`setattrfunc`" msgstr "" @@ -181,7 +181,7 @@ msgstr "%" msgid ":c:member:`~PyTypeObject.tp_repr`" msgstr "" -#: c-api/typeobj.rst:74 c-api/typeobj.rst:360 +#: c-api/typeobj.rst:74 c-api/typeobj.rst:366 msgid ":c:type:`reprfunc`" msgstr "" @@ -217,7 +217,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_hash`" msgstr "" -#: c-api/typeobj.rst:396 +#: c-api/typeobj.rst:402 msgid ":c:type:`hashfunc`" msgstr "" @@ -229,7 +229,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_call`" msgstr "" -#: c-api/typeobj.rst:229 c-api/typeobj.rst:432 +#: c-api/typeobj.rst:235 c-api/typeobj.rst:438 msgid ":c:type:`ternaryfunc`" msgstr "" @@ -249,7 +249,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_getattro`" msgstr "" -#: c-api/typeobj.rst:373 +#: c-api/typeobj.rst:379 msgid ":c:type:`getattrofunc`" msgstr "" @@ -257,7 +257,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_setattro`" msgstr "" -#: c-api/typeobj.rst:378 +#: c-api/typeobj.rst:384 msgid ":c:type:`setattrofunc`" msgstr "" @@ -294,7 +294,7 @@ msgstr "__doc__" msgid ":c:member:`~PyTypeObject.tp_traverse`" msgstr "" -#: c-api/typeobj.rst:342 +#: c-api/typeobj.rst:348 msgid ":c:type:`traverseproc`" msgstr "" @@ -302,7 +302,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_clear`" msgstr "" -#: c-api/typeobj.rst:130 c-api/typeobj.rst:421 +#: c-api/typeobj.rst:130 c-api/typeobj.rst:427 msgid ":c:type:`inquiry`" msgstr "" @@ -310,7 +310,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_richcompare`" msgstr "" -#: c-api/typeobj.rst:398 +#: c-api/typeobj.rst:404 msgid ":c:type:`richcmpfunc`" msgstr "" @@ -326,7 +326,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_iter`" msgstr "" -#: c-api/typeobj.rst:404 +#: c-api/typeobj.rst:410 msgid ":c:type:`getiterfunc`" msgstr "" @@ -338,7 +338,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_iternext`" msgstr "" -#: c-api/typeobj.rst:406 +#: c-api/typeobj.rst:412 msgid ":c:type:`iternextfunc`" msgstr "" @@ -387,9 +387,9 @@ msgid ":c:member:`~PyTypeObject.tp_dict`" msgstr "" #: c-api/typeobj.rst:132 c-api/typeobj.rst:136 c-api/typeobj.rst:140 -#: c-api/typeobj.rst:0 c-api/typeobj.rst:360 c-api/typeobj.rst:373 -#: c-api/typeobj.rst:396 c-api/typeobj.rst:404 c-api/typeobj.rst:408 -#: c-api/typeobj.rst:427 c-api/typeobj.rst:438 +#: c-api/typeobj.rst:0 c-api/typeobj.rst:366 c-api/typeobj.rst:379 +#: c-api/typeobj.rst:402 c-api/typeobj.rst:410 c-api/typeobj.rst:414 +#: c-api/typeobj.rst:433 c-api/typeobj.rst:444 msgid ":c:type:`PyObject` *" msgstr "" @@ -401,7 +401,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_descr_get`" msgstr "" -#: c-api/typeobj.rst:384 +#: c-api/typeobj.rst:390 msgid ":c:type:`descrgetfunc`" msgstr "" @@ -413,7 +413,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_descr_set`" msgstr "" -#: c-api/typeobj.rst:390 +#: c-api/typeobj.rst:396 msgid ":c:type:`descrsetfunc`" msgstr "" @@ -429,7 +429,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_init`" msgstr "" -#: c-api/typeobj.rst:354 +#: c-api/typeobj.rst:360 msgid ":c:type:`initproc`" msgstr "" @@ -441,7 +441,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_alloc`" msgstr "" -#: c-api/typeobj.rst:333 +#: c-api/typeobj.rst:339 msgid ":c:type:`allocfunc`" msgstr "" @@ -449,7 +449,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_new`" msgstr "" -#: c-api/typeobj.rst:348 +#: c-api/typeobj.rst:354 msgid ":c:type:`newfunc`" msgstr "" @@ -461,7 +461,7 @@ msgstr "" msgid ":c:member:`~PyTypeObject.tp_free`" msgstr "" -#: c-api/typeobj.rst:340 +#: c-api/typeobj.rst:346 msgid ":c:type:`freefunc`" msgstr "" @@ -533,511 +533,523 @@ msgstr "" msgid ":c:type:`vectorcallfunc`" msgstr "" -#: c-api/typeobj.rst:152 +#: c-api/typeobj.rst:153 msgid "" -"A slot name in parentheses indicates it is (effectively) deprecated. Names " -"in angle brackets should be treated as read-only. Names in square brackets " -"are for internal use only. \"\" (as a prefix) means the field is required " -"(must be non-``NULL``)." +"**()**: A slot name in parentheses indicates it is (effectively) deprecated." msgstr "" -#: c-api/typeobj.rst:156 -msgid "Columns:" +#: c-api/typeobj.rst:155 +msgid "" +"**<>**: Names in angle brackets should be initially set to ``NULL`` and " +"treated as read-only." msgstr "" #: c-api/typeobj.rst:158 -msgid "**\"O\"**: set on :c:type:`PyBaseObject_Type`" +msgid "**[]**: Names in square brackets are for internal use only." msgstr "" #: c-api/typeobj.rst:160 -msgid "**\"T\"**: set on :c:type:`PyType_Type`" +msgid "" +"**** (as a prefix) means the field is required (must be non-``NULL``)." msgstr "" #: c-api/typeobj.rst:162 +msgid "Columns:" +msgstr "" + +#: c-api/typeobj.rst:164 +msgid "**\"O\"**: set on :c:type:`PyBaseObject_Type`" +msgstr "" + +#: c-api/typeobj.rst:166 +msgid "**\"T\"**: set on :c:type:`PyType_Type`" +msgstr "" + +#: c-api/typeobj.rst:168 msgid "**\"D\"**: default (if slot is set to ``NULL``)" msgstr "" -#: c-api/typeobj.rst:172 +#: c-api/typeobj.rst:178 msgid "**\"I\"**: inheritance" msgstr "" -#: c-api/typeobj.rst:181 +#: c-api/typeobj.rst:187 msgid "" "Note that some slots are effectively inherited through the normal attribute " "lookup chain." msgstr "" -#: c-api/typeobj.rst:187 +#: c-api/typeobj.rst:193 msgid "sub-slots" msgstr "" -#: c-api/typeobj.rst:193 +#: c-api/typeobj.rst:199 msgid "Slot" msgstr "" -#: c-api/typeobj.rst:193 +#: c-api/typeobj.rst:199 #, fuzzy msgid "special methods" msgstr "méthode spéciale" -#: c-api/typeobj.rst:196 +#: c-api/typeobj.rst:202 msgid ":c:member:`~PyAsyncMethods.am_await`" msgstr "" -#: c-api/typeobj.rst:198 c-api/typeobj.rst:234 c-api/typeobj.rst:238 -#: c-api/typeobj.rst:269 c-api/typeobj.rst:283 c-api/typeobj.rst:423 +#: c-api/typeobj.rst:204 c-api/typeobj.rst:240 c-api/typeobj.rst:244 +#: c-api/typeobj.rst:275 c-api/typeobj.rst:289 c-api/typeobj.rst:429 msgid ":c:type:`unaryfunc`" msgstr "" -#: c-api/typeobj.rst:196 +#: c-api/typeobj.rst:202 msgid "__await__" msgstr "" -#: c-api/typeobj.rst:198 +#: c-api/typeobj.rst:204 msgid ":c:member:`~PyAsyncMethods.am_aiter`" msgstr "" -#: c-api/typeobj.rst:198 +#: c-api/typeobj.rst:204 msgid "__aiter__" msgstr "" -#: c-api/typeobj.rst:200 +#: c-api/typeobj.rst:206 msgid ":c:member:`~PyAsyncMethods.am_anext`" msgstr "" -#: c-api/typeobj.rst:200 +#: c-api/typeobj.rst:206 msgid "__anext__" msgstr "" -#: c-api/typeobj.rst:202 +#: c-api/typeobj.rst:208 msgid ":c:member:`~PyAsyncMethods.am_send`" msgstr "" -#: c-api/typeobj.rst:202 +#: c-api/typeobj.rst:208 msgid ":c:type:`sendfunc`" msgstr "" -#: c-api/typeobj.rst:206 +#: c-api/typeobj.rst:212 msgid ":c:member:`~PyNumberMethods.nb_add`" msgstr "" -#: c-api/typeobj.rst:209 c-api/typeobj.rst:214 c-api/typeobj.rst:219 -#: c-api/typeobj.rst:224 c-api/typeobj.rst:244 c-api/typeobj.rst:249 -#: c-api/typeobj.rst:254 c-api/typeobj.rst:259 c-api/typeobj.rst:264 -#: c-api/typeobj.rst:275 c-api/typeobj.rst:279 c-api/typeobj.rst:285 -#: c-api/typeobj.rst:294 c-api/typeobj.rst:314 c-api/typeobj.rst:427 +#: c-api/typeobj.rst:215 c-api/typeobj.rst:220 c-api/typeobj.rst:225 +#: c-api/typeobj.rst:230 c-api/typeobj.rst:250 c-api/typeobj.rst:255 +#: c-api/typeobj.rst:260 c-api/typeobj.rst:265 c-api/typeobj.rst:270 +#: c-api/typeobj.rst:281 c-api/typeobj.rst:285 c-api/typeobj.rst:291 +#: c-api/typeobj.rst:300 c-api/typeobj.rst:320 c-api/typeobj.rst:433 msgid ":c:type:`binaryfunc`" msgstr "" -#: c-api/typeobj.rst:206 +#: c-api/typeobj.rst:212 msgid "__add__ __radd__" msgstr "" -#: c-api/typeobj.rst:209 +#: c-api/typeobj.rst:215 msgid ":c:member:`~PyNumberMethods.nb_inplace_add`" msgstr "" -#: c-api/typeobj.rst:314 +#: c-api/typeobj.rst:320 msgid "__iadd__" msgstr "" -#: c-api/typeobj.rst:211 +#: c-api/typeobj.rst:217 msgid ":c:member:`~PyNumberMethods.nb_subtract`" msgstr "" -#: c-api/typeobj.rst:211 +#: c-api/typeobj.rst:217 msgid "__sub__ __rsub__" msgstr "" -#: c-api/typeobj.rst:214 +#: c-api/typeobj.rst:220 msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`" msgstr "" -#: c-api/typeobj.rst:214 +#: c-api/typeobj.rst:220 msgid "__isub__" msgstr "" -#: c-api/typeobj.rst:216 +#: c-api/typeobj.rst:222 msgid ":c:member:`~PyNumberMethods.nb_multiply`" msgstr "" -#: c-api/typeobj.rst:216 +#: c-api/typeobj.rst:222 msgid "__mul__ __rmul__" msgstr "" -#: c-api/typeobj.rst:219 +#: c-api/typeobj.rst:225 msgid ":c:member:`~PyNumberMethods.nb_inplace_multiply`" msgstr "" -#: c-api/typeobj.rst:316 +#: c-api/typeobj.rst:322 msgid "__imul__" msgstr "" -#: c-api/typeobj.rst:221 +#: c-api/typeobj.rst:227 msgid ":c:member:`~PyNumberMethods.nb_remainder`" msgstr "" -#: c-api/typeobj.rst:221 +#: c-api/typeobj.rst:227 msgid "__mod__ __rmod__" msgstr "" -#: c-api/typeobj.rst:224 +#: c-api/typeobj.rst:230 msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`" msgstr "" -#: c-api/typeobj.rst:224 +#: c-api/typeobj.rst:230 msgid "__imod__" msgstr "" -#: c-api/typeobj.rst:226 +#: c-api/typeobj.rst:232 msgid ":c:member:`~PyNumberMethods.nb_divmod`" msgstr "" -#: c-api/typeobj.rst:226 +#: c-api/typeobj.rst:232 msgid "__divmod__ __rdivmod__" msgstr "" -#: c-api/typeobj.rst:229 +#: c-api/typeobj.rst:235 msgid ":c:member:`~PyNumberMethods.nb_power`" msgstr "" -#: c-api/typeobj.rst:229 +#: c-api/typeobj.rst:235 msgid "__pow__ __rpow__" msgstr "" -#: c-api/typeobj.rst:232 +#: c-api/typeobj.rst:238 msgid ":c:member:`~PyNumberMethods.nb_inplace_power`" msgstr "" -#: c-api/typeobj.rst:232 +#: c-api/typeobj.rst:238 msgid "__ipow__" msgstr "" -#: c-api/typeobj.rst:234 +#: c-api/typeobj.rst:240 msgid ":c:member:`~PyNumberMethods.nb_negative`" msgstr "" -#: c-api/typeobj.rst:234 +#: c-api/typeobj.rst:240 msgid "__neg__" msgstr "" -#: c-api/typeobj.rst:236 +#: c-api/typeobj.rst:242 msgid ":c:member:`~PyNumberMethods.nb_positive`" msgstr "" -#: c-api/typeobj.rst:236 +#: c-api/typeobj.rst:242 msgid "__pos__" msgstr "" -#: c-api/typeobj.rst:238 +#: c-api/typeobj.rst:244 msgid ":c:member:`~PyNumberMethods.nb_absolute`" msgstr "" -#: c-api/typeobj.rst:238 +#: c-api/typeobj.rst:244 msgid "__abs__" msgstr "" -#: c-api/typeobj.rst:240 +#: c-api/typeobj.rst:246 msgid ":c:member:`~PyNumberMethods.nb_bool`" msgstr "" -#: c-api/typeobj.rst:240 +#: c-api/typeobj.rst:246 msgid "__bool__" msgstr "" -#: c-api/typeobj.rst:242 +#: c-api/typeobj.rst:248 msgid ":c:member:`~PyNumberMethods.nb_invert`" msgstr "" -#: c-api/typeobj.rst:242 +#: c-api/typeobj.rst:248 msgid "__invert__" msgstr "" -#: c-api/typeobj.rst:244 +#: c-api/typeobj.rst:250 msgid ":c:member:`~PyNumberMethods.nb_lshift`" msgstr "" -#: c-api/typeobj.rst:244 +#: c-api/typeobj.rst:250 msgid "__lshift__ __rlshift__" msgstr "" -#: c-api/typeobj.rst:247 +#: c-api/typeobj.rst:253 msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`" msgstr "" -#: c-api/typeobj.rst:247 +#: c-api/typeobj.rst:253 msgid "__ilshift__" msgstr "" -#: c-api/typeobj.rst:249 +#: c-api/typeobj.rst:255 msgid ":c:member:`~PyNumberMethods.nb_rshift`" msgstr "" -#: c-api/typeobj.rst:249 +#: c-api/typeobj.rst:255 msgid "__rshift__ __rrshift__" msgstr "" -#: c-api/typeobj.rst:252 +#: c-api/typeobj.rst:258 msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`" msgstr "" -#: c-api/typeobj.rst:252 +#: c-api/typeobj.rst:258 msgid "__irshift__" msgstr "" -#: c-api/typeobj.rst:254 +#: c-api/typeobj.rst:260 msgid ":c:member:`~PyNumberMethods.nb_and`" msgstr "" -#: c-api/typeobj.rst:254 +#: c-api/typeobj.rst:260 msgid "__and__ __rand__" msgstr "" -#: c-api/typeobj.rst:257 +#: c-api/typeobj.rst:263 msgid ":c:member:`~PyNumberMethods.nb_inplace_and`" msgstr "" -#: c-api/typeobj.rst:257 +#: c-api/typeobj.rst:263 msgid "__iand__" msgstr "" -#: c-api/typeobj.rst:259 +#: c-api/typeobj.rst:265 msgid ":c:member:`~PyNumberMethods.nb_xor`" msgstr "" -#: c-api/typeobj.rst:259 +#: c-api/typeobj.rst:265 msgid "__xor__ __rxor__" msgstr "" -#: c-api/typeobj.rst:262 +#: c-api/typeobj.rst:268 msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`" msgstr "" -#: c-api/typeobj.rst:262 +#: c-api/typeobj.rst:268 msgid "__ixor__" msgstr "" -#: c-api/typeobj.rst:264 +#: c-api/typeobj.rst:270 msgid ":c:member:`~PyNumberMethods.nb_or`" msgstr "" -#: c-api/typeobj.rst:264 +#: c-api/typeobj.rst:270 msgid "__or__ __ror__" msgstr "" -#: c-api/typeobj.rst:267 +#: c-api/typeobj.rst:273 msgid ":c:member:`~PyNumberMethods.nb_inplace_or`" msgstr "" -#: c-api/typeobj.rst:267 +#: c-api/typeobj.rst:273 msgid "__ior__" msgstr "" -#: c-api/typeobj.rst:269 +#: c-api/typeobj.rst:275 msgid ":c:member:`~PyNumberMethods.nb_int`" msgstr "" -#: c-api/typeobj.rst:269 +#: c-api/typeobj.rst:275 msgid "__int__" msgstr "" -#: c-api/typeobj.rst:271 +#: c-api/typeobj.rst:277 msgid ":c:member:`~PyNumberMethods.nb_reserved`" msgstr "" -#: c-api/typeobj.rst:338 c-api/typeobj.rst:0 c-api/typeobj.rst:421 +#: c-api/typeobj.rst:344 c-api/typeobj.rst:0 c-api/typeobj.rst:427 msgid "void *" msgstr "" -#: c-api/typeobj.rst:273 +#: c-api/typeobj.rst:279 msgid ":c:member:`~PyNumberMethods.nb_float`" msgstr "" -#: c-api/typeobj.rst:273 +#: c-api/typeobj.rst:279 msgid "__float__" msgstr "" -#: c-api/typeobj.rst:275 +#: c-api/typeobj.rst:281 msgid ":c:member:`~PyNumberMethods.nb_floor_divide`" msgstr "" -#: c-api/typeobj.rst:275 +#: c-api/typeobj.rst:281 msgid "__floordiv__" msgstr "" -#: c-api/typeobj.rst:277 +#: c-api/typeobj.rst:283 msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" msgstr "" -#: c-api/typeobj.rst:277 +#: c-api/typeobj.rst:283 msgid "__ifloordiv__" msgstr "" -#: c-api/typeobj.rst:279 +#: c-api/typeobj.rst:285 msgid ":c:member:`~PyNumberMethods.nb_true_divide`" msgstr "" -#: c-api/typeobj.rst:279 +#: c-api/typeobj.rst:285 msgid "__truediv__" msgstr "" -#: c-api/typeobj.rst:281 +#: c-api/typeobj.rst:287 msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" msgstr "" -#: c-api/typeobj.rst:281 +#: c-api/typeobj.rst:287 msgid "__itruediv__" msgstr "" -#: c-api/typeobj.rst:283 +#: c-api/typeobj.rst:289 msgid ":c:member:`~PyNumberMethods.nb_index`" msgstr "" -#: c-api/typeobj.rst:283 +#: c-api/typeobj.rst:289 msgid "__index__" msgstr "" -#: c-api/typeobj.rst:285 +#: c-api/typeobj.rst:291 msgid ":c:member:`~PyNumberMethods.nb_matrix_multiply`" msgstr "" -#: c-api/typeobj.rst:285 +#: c-api/typeobj.rst:291 msgid "__matmul__ __rmatmul__" msgstr "" -#: c-api/typeobj.rst:288 +#: c-api/typeobj.rst:294 msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" msgstr "" -#: c-api/typeobj.rst:288 +#: c-api/typeobj.rst:294 msgid "__imatmul__" msgstr "" -#: c-api/typeobj.rst:292 +#: c-api/typeobj.rst:298 msgid ":c:member:`~PyMappingMethods.mp_length`" msgstr "" -#: c-api/typeobj.rst:301 c-api/typeobj.rst:408 +#: c-api/typeobj.rst:307 c-api/typeobj.rst:414 msgid ":c:type:`lenfunc`" msgstr "" -#: c-api/typeobj.rst:301 +#: c-api/typeobj.rst:307 msgid "__len__" msgstr "" -#: c-api/typeobj.rst:294 +#: c-api/typeobj.rst:300 msgid ":c:member:`~PyMappingMethods.mp_subscript`" msgstr "" -#: c-api/typeobj.rst:307 +#: c-api/typeobj.rst:313 msgid "__getitem__" msgstr "" -#: c-api/typeobj.rst:296 +#: c-api/typeobj.rst:302 msgid ":c:member:`~PyMappingMethods.mp_ass_subscript`" msgstr "" -#: c-api/typeobj.rst:453 +#: c-api/typeobj.rst:460 msgid ":c:type:`objobjargproc`" msgstr "" -#: c-api/typeobj.rst:296 +#: c-api/typeobj.rst:302 msgid "__setitem__, __delitem__" msgstr "" -#: c-api/typeobj.rst:301 +#: c-api/typeobj.rst:307 msgid ":c:member:`~PySequenceMethods.sq_length`" msgstr "" -#: c-api/typeobj.rst:303 +#: c-api/typeobj.rst:309 msgid ":c:member:`~PySequenceMethods.sq_concat`" msgstr "" -#: c-api/typeobj.rst:303 +#: c-api/typeobj.rst:309 msgid "__add__" msgstr "" -#: c-api/typeobj.rst:305 +#: c-api/typeobj.rst:311 msgid ":c:member:`~PySequenceMethods.sq_repeat`" msgstr "" -#: c-api/typeobj.rst:307 c-api/typeobj.rst:438 +#: c-api/typeobj.rst:313 c-api/typeobj.rst:444 msgid ":c:type:`ssizeargfunc`" msgstr "" -#: c-api/typeobj.rst:305 +#: c-api/typeobj.rst:311 msgid "__mul__" msgstr "" -#: c-api/typeobj.rst:307 +#: c-api/typeobj.rst:313 msgid ":c:member:`~PySequenceMethods.sq_item`" msgstr "" -#: c-api/typeobj.rst:309 +#: c-api/typeobj.rst:315 msgid ":c:member:`~PySequenceMethods.sq_ass_item`" msgstr "" -#: c-api/typeobj.rst:443 +#: c-api/typeobj.rst:449 msgid ":c:type:`ssizeobjargproc`" msgstr "" -#: c-api/typeobj.rst:309 +#: c-api/typeobj.rst:315 msgid "__setitem__ __delitem__" msgstr "" -#: c-api/typeobj.rst:312 +#: c-api/typeobj.rst:318 msgid ":c:member:`~PySequenceMethods.sq_contains`" msgstr "" -#: c-api/typeobj.rst:448 +#: c-api/typeobj.rst:455 msgid ":c:type:`objobjproc`" msgstr "" -#: c-api/typeobj.rst:312 +#: c-api/typeobj.rst:318 msgid "__contains__" msgstr "" -#: c-api/typeobj.rst:314 +#: c-api/typeobj.rst:320 msgid ":c:member:`~PySequenceMethods.sq_inplace_concat`" msgstr "" -#: c-api/typeobj.rst:316 +#: c-api/typeobj.rst:322 msgid ":c:member:`~PySequenceMethods.sq_inplace_repeat`" msgstr "" -#: c-api/typeobj.rst:320 +#: c-api/typeobj.rst:326 msgid ":c:member:`~PyBufferProcs.bf_getbuffer`" msgstr "" -#: c-api/typeobj.rst:320 +#: c-api/typeobj.rst:326 msgid ":c:func:`getbufferproc`" msgstr "" -#: c-api/typeobj.rst:322 +#: c-api/typeobj.rst:328 msgid ":c:member:`~PyBufferProcs.bf_releasebuffer`" msgstr "" -#: c-api/typeobj.rst:322 +#: c-api/typeobj.rst:328 msgid ":c:func:`releasebufferproc`" msgstr "" -#: c-api/typeobj.rst:328 +#: c-api/typeobj.rst:334 msgid "slot typedefs" msgstr "" -#: c-api/typeobj.rst:331 +#: c-api/typeobj.rst:337 msgid "typedef" msgstr "" -#: c-api/typeobj.rst:331 +#: c-api/typeobj.rst:337 msgid "Parameter Types" msgstr "" -#: c-api/typeobj.rst:331 +#: c-api/typeobj.rst:337 msgid "Return Type" msgstr "" -#: c-api/typeobj.rst:340 c-api/typeobj.rst:416 +#: c-api/typeobj.rst:346 c-api/typeobj.rst:422 msgid "void" msgstr "" @@ -1045,16 +1057,16 @@ msgstr "" msgid ":c:type:`visitproc`" msgstr "" -#: c-api/typeobj.rst:354 c-api/typeobj.rst:378 c-api/typeobj.rst:0 -#: c-api/typeobj.rst:421 c-api/typeobj.rst:448 c-api/typeobj.rst:453 +#: c-api/typeobj.rst:360 c-api/typeobj.rst:384 c-api/typeobj.rst:0 +#: c-api/typeobj.rst:427 c-api/typeobj.rst:455 c-api/typeobj.rst:460 msgid "int" msgstr "*int*" -#: c-api/typeobj.rst:396 +#: c-api/typeobj.rst:402 msgid "Py_hash_t" msgstr "" -#: c-api/typeobj.rst:410 +#: c-api/typeobj.rst:416 msgid ":c:type:`getbufferproc`" msgstr "" @@ -1062,31 +1074,31 @@ msgstr "" msgid ":c:type:`Py_buffer` *" msgstr "" -#: c-api/typeobj.rst:416 +#: c-api/typeobj.rst:422 msgid ":c:type:`releasebufferproc`" msgstr "" -#: c-api/typeobj.rst:460 +#: c-api/typeobj.rst:467 msgid "See :ref:`slot-typedefs` below for more detail." msgstr "" -#: c-api/typeobj.rst:464 +#: c-api/typeobj.rst:471 msgid "PyTypeObject Definition" msgstr "" -#: c-api/typeobj.rst:466 +#: c-api/typeobj.rst:473 msgid "" "The structure definition for :c:type:`PyTypeObject` can be found in :file:" "`Include/object.h`. For convenience of reference, this repeats the " "definition found there:" msgstr "" -#: c-api/typeobj.rst:476 +#: c-api/typeobj.rst:483 #, fuzzy msgid "PyObject Slots" msgstr "Objets type" -#: c-api/typeobj.rst:478 +#: c-api/typeobj.rst:485 msgid "" "The type object structure extends the :c:type:`PyVarObject` structure. The :" "attr:`ob_size` field is used for dynamic types (created by :func:`type_new`, " @@ -1095,7 +1107,7 @@ msgid "" "that its instances (i.e. type objects) *must* have the :attr:`ob_size` field." msgstr "" -#: c-api/typeobj.rst:487 +#: c-api/typeobj.rst:494 msgid "" "This is the type object's reference count, initialized to ``1`` by the " "``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type " @@ -1105,25 +1117,25 @@ msgid "" "as references." msgstr "" -#: c-api/typeobj.rst:517 c-api/typeobj.rst:553 c-api/typeobj.rst:640 -#: c-api/typeobj.rst:736 c-api/typeobj.rst:772 c-api/typeobj.rst:814 -#: c-api/typeobj.rst:843 c-api/typeobj.rst:888 c-api/typeobj.rst:926 -#: c-api/typeobj.rst:973 c-api/typeobj.rst:1008 c-api/typeobj.rst:1056 -#: c-api/typeobj.rst:1076 c-api/typeobj.rst:1108 c-api/typeobj.rst:1178 -#: c-api/typeobj.rst:1212 c-api/typeobj.rst:1253 c-api/typeobj.rst:1337 -#: c-api/typeobj.rst:1463 c-api/typeobj.rst:1525 c-api/typeobj.rst:1561 -#: c-api/typeobj.rst:1590 c-api/typeobj.rst:1640 c-api/typeobj.rst:1684 -#: c-api/typeobj.rst:1775 c-api/typeobj.rst:1833 c-api/typeobj.rst:1887 -#: c-api/typeobj.rst:1915 c-api/typeobj.rst:1934 c-api/typeobj.rst:1958 -#: c-api/typeobj.rst:2027 +#: c-api/typeobj.rst:524 c-api/typeobj.rst:560 c-api/typeobj.rst:647 +#: c-api/typeobj.rst:743 c-api/typeobj.rst:779 c-api/typeobj.rst:821 +#: c-api/typeobj.rst:850 c-api/typeobj.rst:895 c-api/typeobj.rst:933 +#: c-api/typeobj.rst:980 c-api/typeobj.rst:1015 c-api/typeobj.rst:1063 +#: c-api/typeobj.rst:1083 c-api/typeobj.rst:1115 c-api/typeobj.rst:1185 +#: c-api/typeobj.rst:1219 c-api/typeobj.rst:1271 c-api/typeobj.rst:1355 +#: c-api/typeobj.rst:1481 c-api/typeobj.rst:1543 c-api/typeobj.rst:1579 +#: c-api/typeobj.rst:1608 c-api/typeobj.rst:1658 c-api/typeobj.rst:1702 +#: c-api/typeobj.rst:1793 c-api/typeobj.rst:1851 c-api/typeobj.rst:1905 +#: c-api/typeobj.rst:1946 c-api/typeobj.rst:1965 c-api/typeobj.rst:1989 +#: c-api/typeobj.rst:2058 msgid "**Inheritance:**" msgstr "" -#: c-api/typeobj.rst:555 c-api/typeobj.rst:599 +#: c-api/typeobj.rst:562 c-api/typeobj.rst:606 msgid "This field is not inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:501 +#: c-api/typeobj.rst:508 msgid "" "This is the type's type, in other words its metatype. It is initialized by " "the argument to the ``PyObject_HEAD_INIT`` macro, and its value should " @@ -1135,7 +1147,7 @@ msgid "" "doing anything else. This is typically done like this::" msgstr "" -#: c-api/typeobj.rst:512 +#: c-api/typeobj.rst:519 msgid "" "This should be done before any instances of the type are created. :c:func:" "`PyType_Ready` checks if :attr:`ob_type` is ``NULL``, and if so, initializes " @@ -1143,18 +1155,18 @@ msgid "" "will not change this field if it is non-zero." msgstr "" -#: c-api/typeobj.rst:700 c-api/typeobj.rst:908 c-api/typeobj.rst:1527 -#: c-api/typeobj.rst:1668 c-api/typeobj.rst:1777 c-api/typeobj.rst:2006 +#: c-api/typeobj.rst:707 c-api/typeobj.rst:915 c-api/typeobj.rst:1545 +#: c-api/typeobj.rst:1686 c-api/typeobj.rst:1795 c-api/typeobj.rst:2037 msgid "This field is inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:525 +#: c-api/typeobj.rst:532 msgid "" "These fields are only present when the macro ``Py_TRACE_REFS`` is defined " "(see the :option:`configure --with-trace-refs option <--with-trace-refs>`)." msgstr "" -#: c-api/typeobj.rst:528 +#: c-api/typeobj.rst:535 msgid "" "Their initialization to ``NULL`` is taken care of by the " "``PyObject_HEAD_INIT`` macro. For :ref:`statically allocated objects " @@ -1163,7 +1175,7 @@ msgid "" "object into a doubly linked list of *all* live objects on the heap." msgstr "" -#: c-api/typeobj.rst:534 +#: c-api/typeobj.rst:541 msgid "" "This could be used for various debugging purposes; currently the only uses " "are the :func:`sys.getobjects` function and to print the objects that are " @@ -1171,27 +1183,27 @@ msgid "" "`PYTHONDUMPREFS` is set." msgstr "" -#: c-api/typeobj.rst:541 +#: c-api/typeobj.rst:548 msgid "These fields are not inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:545 +#: c-api/typeobj.rst:552 msgid "PyVarObject Slots" msgstr "" -#: c-api/typeobj.rst:549 +#: c-api/typeobj.rst:556 msgid "" "For :ref:`statically allocated type objects `, this should be " "initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning." msgstr "" -#: c-api/typeobj.rst:559 +#: c-api/typeobj.rst:566 #, fuzzy msgid "PyTypeObject Slots" msgstr "Objets type" -#: c-api/typeobj.rst:561 +#: c-api/typeobj.rst:568 msgid "" "Each slot has a section describing inheritance. If :c:func:`PyType_Ready` " "may set a value when the field is set to ``NULL`` then there will also be a " @@ -1199,7 +1211,7 @@ msgid "" "`PyBaseObject_Type` and :c:type:`PyType_Type` effectively act as defaults.)" msgstr "" -#: c-api/typeobj.rst:568 +#: c-api/typeobj.rst:575 msgid "" "Pointer to a NUL-terminated string containing the name of the type. For " "types that are accessible as module globals, the string should be the full " @@ -1211,14 +1223,14 @@ msgid "" "tp_name` initializer ``\"P.Q.M.T\"``." msgstr "" -#: c-api/typeobj.rst:576 +#: c-api/typeobj.rst:583 msgid "" "For :ref:`dynamically allocated type objects `, this should just " "be the type name, and the module name explicitly stored in the type dict as " "the value for key ``'__module__'``." msgstr "" -#: c-api/typeobj.rst:581 +#: c-api/typeobj.rst:588 msgid "" "For :ref:`statically allocated type objects `, the *tp_name* " "field should contain a dot. Everything before the last dot is made " @@ -1226,7 +1238,7 @@ msgid "" "last dot is made accessible as the :attr:`~definition.__name__` attribute." msgstr "" -#: c-api/typeobj.rst:587 +#: c-api/typeobj.rst:594 msgid "" "If no dot is present, the entire :c:member:`~PyTypeObject.tp_name` field is " "made accessible as the :attr:`~definition.__name__` attribute, and the :attr:" @@ -1236,19 +1248,19 @@ msgid "" "created with pydoc." msgstr "" -#: c-api/typeobj.rst:593 +#: c-api/typeobj.rst:600 msgid "" "This field must not be ``NULL``. It is the only required field in :c:func:" "`PyTypeObject` (other than potentially :c:member:`~PyTypeObject." "tp_itemsize`)." msgstr "" -#: c-api/typeobj.rst:605 +#: c-api/typeobj.rst:612 msgid "" "These fields allow calculating the size in bytes of instances of the type." msgstr "" -#: c-api/typeobj.rst:607 +#: c-api/typeobj.rst:614 msgid "" "There are two kinds of types: types with fixed-length instances have a zero :" "c:member:`~PyTypeObject.tp_itemsize` field, types with variable-length " @@ -1257,7 +1269,7 @@ msgid "" "in :c:member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: c-api/typeobj.rst:612 +#: c-api/typeobj.rst:619 msgid "" "For a type with variable-length instances, the instances must have an :attr:" "`ob_size` field, and the instance size is :c:member:`~PyTypeObject." @@ -1271,7 +1283,7 @@ msgid "" "instances, yet those instances have a meaningful :attr:`ob_size` field)." msgstr "" -#: c-api/typeobj.rst:623 +#: c-api/typeobj.rst:630 msgid "" "The basic size includes the fields in the instance declared by the macro :c:" "macro:`PyObject_HEAD` or :c:macro:`PyObject_VAR_HEAD` (whichever is used to " @@ -1283,7 +1295,7 @@ msgid "" "size." msgstr "" -#: c-api/typeobj.rst:631 +#: c-api/typeobj.rst:638 msgid "" "A note about alignment: if the variable items require a particular " "alignment, this should be taken care of by the value of :c:member:" @@ -1294,12 +1306,12 @@ msgid "" "alignment requirement for ``double``)." msgstr "" -#: c-api/typeobj.rst:638 +#: c-api/typeobj.rst:645 msgid "" "For any type with variable-length instances, this field must not be ``NULL``." msgstr "" -#: c-api/typeobj.rst:642 +#: c-api/typeobj.rst:649 msgid "" "These fields are inherited separately by subtypes. If the base type has a " "non-zero :c:member:`~PyTypeObject.tp_itemsize`, it is generally not safe to " @@ -1307,7 +1319,7 @@ msgid "" "subtype (though this depends on the implementation of the base type)." msgstr "" -#: c-api/typeobj.rst:650 +#: c-api/typeobj.rst:657 msgid "" "A pointer to the instance destructor function. This function must be " "defined unless the type guarantees that its instances will never be " @@ -1315,7 +1327,7 @@ msgid "" "The function signature is::" msgstr "" -#: c-api/typeobj.rst:656 +#: c-api/typeobj.rst:663 msgid "" "The destructor function is called by the :c:func:`Py_DECREF` and :c:func:" "`Py_XDECREF` macros when the new reference count is zero. At this point, " @@ -1333,14 +1345,14 @@ msgid "" "allocated using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`." msgstr "" -#: c-api/typeobj.rst:671 +#: c-api/typeobj.rst:678 msgid "" "If the type supports garbage collection (has the :const:`Py_TPFLAGS_HAVE_GC` " "flag bit set), the destructor should call :c:func:`PyObject_GC_UnTrack` " "before clearing any member fields." msgstr "" -#: c-api/typeobj.rst:683 +#: c-api/typeobj.rst:690 msgid "" "Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the " "deallocator should decrement the reference count for its type object after " @@ -1348,28 +1360,28 @@ msgid "" "recommended way to achieve this is:" msgstr "" -#: c-api/typeobj.rst:705 +#: c-api/typeobj.rst:712 msgid "" "An optional offset to a per-instance function that implements calling the " "object using the :ref:`vectorcall protocol `, a more efficient " "alternative of the simpler :c:member:`~PyTypeObject.tp_call`." msgstr "" -#: c-api/typeobj.rst:710 +#: c-api/typeobj.rst:717 msgid "" "This field is only used if the flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` is " "set. If so, this must be a positive integer containing the offset in the " "instance of a :c:type:`vectorcallfunc` pointer." msgstr "" -#: c-api/typeobj.rst:714 +#: c-api/typeobj.rst:721 msgid "" "The *vectorcallfunc* pointer may be ``NULL``, in which case the instance " "behaves as if :const:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the " "instance falls back to :c:member:`~PyTypeObject.tp_call`." msgstr "" -#: c-api/typeobj.rst:718 +#: c-api/typeobj.rst:725 msgid "" "Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:" "`~PyTypeObject.tp_call` and make sure its behaviour is consistent with the " @@ -1377,7 +1389,7 @@ msgid "" "`PyVectorcall_Call`." msgstr "" -#: c-api/typeobj.rst:725 +#: c-api/typeobj.rst:732 msgid "" "It is not recommended for :ref:`heap types ` to implement the " "vectorcall protocol. When a user sets :attr:`__call__` in Python code, only " @@ -1385,13 +1397,13 @@ msgid "" "function." msgstr "" -#: c-api/typeobj.rst:732 +#: c-api/typeobj.rst:739 msgid "" "Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was " "used for printing to a file. In Python 3.0 to 3.7, it was unused." msgstr "" -#: c-api/typeobj.rst:738 +#: c-api/typeobj.rst:745 msgid "" "This field is always inherited. However, the :const:" "`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then " @@ -1400,11 +1412,11 @@ msgid "" "for :ref:`heap types ` (including subclasses defined in Python)." msgstr "" -#: c-api/typeobj.rst:749 +#: c-api/typeobj.rst:756 msgid "An optional pointer to the get-attribute-string function." msgstr "" -#: c-api/typeobj.rst:751 +#: c-api/typeobj.rst:758 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " @@ -1412,11 +1424,11 @@ msgid "" "attribute name." msgstr "" -#: c-api/typeobj.rst:949 +#: c-api/typeobj.rst:956 msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`" msgstr "" -#: c-api/typeobj.rst:759 +#: c-api/typeobj.rst:766 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1425,12 +1437,12 @@ msgid "" "tp_getattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:962 +#: c-api/typeobj.rst:969 msgid "" "An optional pointer to the function for setting and deleting attributes." msgstr "" -#: c-api/typeobj.rst:768 +#: c-api/typeobj.rst:775 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " @@ -1438,11 +1450,11 @@ msgid "" "attribute name." msgstr "" -#: c-api/typeobj.rst:975 +#: c-api/typeobj.rst:982 msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`" msgstr "" -#: c-api/typeobj.rst:776 +#: c-api/typeobj.rst:783 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1451,34 +1463,34 @@ msgid "" "tp_setattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:783 +#: c-api/typeobj.rst:790 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement :term:`awaitable` and :term:`asynchronous iterator` " "protocols at the C-level. See :ref:`async-structs` for details." msgstr "" -#: c-api/typeobj.rst:787 +#: c-api/typeobj.rst:794 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." msgstr "" -#: c-api/typeobj.rst:792 +#: c-api/typeobj.rst:799 msgid "" "The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:800 +#: c-api/typeobj.rst:807 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`repr`." msgstr "" -#: c-api/typeobj.rst:803 +#: c-api/typeobj.rst:810 msgid "The signature is the same as for :c:func:`PyObject_Repr`::" msgstr "" -#: c-api/typeobj.rst:807 +#: c-api/typeobj.rst:814 msgid "" "The function must return a string or a Unicode object. Ideally, this " "function should return a string that, when passed to :func:`eval`, given a " @@ -1487,83 +1499,83 @@ msgid "" "``'>'`` from which both the type and the value of the object can be deduced." msgstr "" -#: c-api/typeobj.rst:930 c-api/typeobj.rst:981 c-api/typeobj.rst:1472 -#: c-api/typeobj.rst:1645 c-api/typeobj.rst:1779 c-api/typeobj.rst:1839 -#: c-api/typeobj.rst:1891 +#: c-api/typeobj.rst:937 c-api/typeobj.rst:988 c-api/typeobj.rst:1490 +#: c-api/typeobj.rst:1663 c-api/typeobj.rst:1797 c-api/typeobj.rst:1857 +#: c-api/typeobj.rst:1909 msgid "**Default:**" msgstr "" -#: c-api/typeobj.rst:820 +#: c-api/typeobj.rst:827 msgid "" "When this field is not set, a string of the form ``<%s object at %p>`` is " "returned, where ``%s`` is replaced by the type name, and ``%p`` by the " "object's memory address." msgstr "" -#: c-api/typeobj.rst:827 +#: c-api/typeobj.rst:834 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the number protocol. These fields are documented " "in :ref:`number-structs`." msgstr "" -#: c-api/typeobj.rst:833 +#: c-api/typeobj.rst:840 msgid "" "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:839 +#: c-api/typeobj.rst:846 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the sequence protocol. These fields are documented " "in :ref:`sequence-structs`." msgstr "" -#: c-api/typeobj.rst:845 +#: c-api/typeobj.rst:852 msgid "" "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:851 +#: c-api/typeobj.rst:858 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the mapping protocol. These fields are documented " "in :ref:`mapping-structs`." msgstr "" -#: c-api/typeobj.rst:857 +#: c-api/typeobj.rst:864 msgid "" "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:865 +#: c-api/typeobj.rst:872 msgid "" "An optional pointer to a function that implements the built-in function :" "func:`hash`." msgstr "" -#: c-api/typeobj.rst:868 +#: c-api/typeobj.rst:875 msgid "The signature is the same as for :c:func:`PyObject_Hash`::" msgstr "" -#: c-api/typeobj.rst:872 +#: c-api/typeobj.rst:879 msgid "" "The value ``-1`` should not be returned as a normal return value; when an " "error occurs during the computation of the hash value, the function should " "set an exception and return ``-1``." msgstr "" -#: c-api/typeobj.rst:876 +#: c-api/typeobj.rst:883 msgid "" "When this field is not set (*and* :attr:`tp_richcompare` is not set), an " "attempt to take the hash of the object raises :exc:`TypeError`. This is the " "same as setting it to :c:func:`PyObject_HashNotImplemented`." msgstr "" -#: c-api/typeobj.rst:880 +#: c-api/typeobj.rst:887 msgid "" "This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to " "block inheritance of the hash method from a parent type. This is interpreted " @@ -1574,11 +1586,11 @@ msgid "" "`PyObject_HashNotImplemented`." msgstr "" -#: c-api/typeobj.rst:1465 +#: c-api/typeobj.rst:1483 msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`" msgstr "" -#: c-api/typeobj.rst:892 +#: c-api/typeobj.rst:899 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." @@ -1587,14 +1599,14 @@ msgid "" "are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:900 +#: c-api/typeobj.rst:907 msgid "" "An optional pointer to a function that implements calling the object. This " "should be ``NULL`` if the object is not callable. The signature is the same " "as for :c:func:`PyObject_Call`::" msgstr "" -#: c-api/typeobj.rst:913 +#: c-api/typeobj.rst:920 msgid "" "An optional pointer to a function that implements the built-in operation :" "func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " @@ -1603,11 +1615,11 @@ msgid "" "this handler.)" msgstr "" -#: c-api/typeobj.rst:918 +#: c-api/typeobj.rst:925 msgid "The signature is the same as for :c:func:`PyObject_Str`::" msgstr "" -#: c-api/typeobj.rst:922 +#: c-api/typeobj.rst:929 msgid "" "The function must return a string or a Unicode object. It should be a " "\"friendly\" string representation of the object, as this is the " @@ -1615,28 +1627,28 @@ msgid "" "function." msgstr "" -#: c-api/typeobj.rst:932 +#: c-api/typeobj.rst:939 msgid "" "When this field is not set, :c:func:`PyObject_Repr` is called to return a " "string representation." msgstr "" -#: c-api/typeobj.rst:938 +#: c-api/typeobj.rst:945 msgid "An optional pointer to the get-attribute function." msgstr "" -#: c-api/typeobj.rst:940 +#: c-api/typeobj.rst:947 msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" msgstr "" -#: c-api/typeobj.rst:944 +#: c-api/typeobj.rst:951 msgid "" "It is usually convenient to set this field to :c:func:" "`PyObject_GenericGetAttr`, which implements the normal way of looking for " "object attributes." msgstr "" -#: c-api/typeobj.rst:951 +#: c-api/typeobj.rst:958 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " @@ -1645,15 +1657,15 @@ msgid "" "tp_getattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:957 +#: c-api/typeobj.rst:964 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." msgstr "" -#: c-api/typeobj.rst:964 +#: c-api/typeobj.rst:971 msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" msgstr "" -#: c-api/typeobj.rst:968 +#: c-api/typeobj.rst:975 msgid "" "In addition, setting *value* to ``NULL`` to delete an attribute must be " "supported. It is usually convenient to set this field to :c:func:" @@ -1661,7 +1673,7 @@ msgid "" "attributes." msgstr "" -#: c-api/typeobj.rst:977 +#: c-api/typeobj.rst:984 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " @@ -1670,24 +1682,24 @@ msgid "" "tp_setattro` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:983 +#: c-api/typeobj.rst:990 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." msgstr "" -#: c-api/typeobj.rst:988 +#: c-api/typeobj.rst:995 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the buffer interface. These fields are documented " "in :ref:`buffer-structs`." msgstr "" -#: c-api/typeobj.rst:994 +#: c-api/typeobj.rst:1001 msgid "" "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: c-api/typeobj.rst:1000 +#: c-api/typeobj.rst:1007 msgid "" "This field is a bit mask of various flags. Some flags indicate variant " "semantics for certain situations; others are used to indicate that certain " @@ -1699,7 +1711,7 @@ msgid "" "accessed and must be considered to have a zero or ``NULL`` value instead." msgstr "" -#: c-api/typeobj.rst:1010 +#: c-api/typeobj.rst:1017 msgid "" "Inheritance of this field is complicated. Most flag bits are inherited " "individually, i.e. if the base type has a flag bit set, the subtype inherits " @@ -1714,17 +1726,17 @@ msgid "" "the subtype exist and have ``NULL`` values." msgstr "" -#: c-api/typeobj.rst:1025 +#: c-api/typeobj.rst:1032 msgid "" ":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " "Py_TPFLAGS_BASETYPE``." msgstr "" -#: c-api/typeobj.rst:1028 +#: c-api/typeobj.rst:1035 msgid "**Bit Masks:**" msgstr "" -#: c-api/typeobj.rst:1030 +#: c-api/typeobj.rst:1037 msgid "" "The following bit masks are currently defined; these can be ORed together " "using the ``|`` operator to form the value of the :c:member:`~PyTypeObject." @@ -1733,7 +1745,7 @@ msgid "" "zero." msgstr "" -#: c-api/typeobj.rst:1037 +#: c-api/typeobj.rst:1044 msgid "" "This bit is set when the type object itself is allocated on the heap, for " "example, types created dynamically using :c:func:`PyType_FromSpec`. In this " @@ -1744,30 +1756,30 @@ msgid "" "gets INCREF'ed or DECREF'ed)." msgstr "" -#: c-api/typeobj.rst:1058 c-api/typeobj.rst:1078 c-api/typeobj.rst:1110 +#: c-api/typeobj.rst:1065 c-api/typeobj.rst:1085 c-api/typeobj.rst:1117 msgid "???" msgstr "" -#: c-api/typeobj.rst:1052 +#: c-api/typeobj.rst:1059 msgid "" "This bit is set when the type can be used as the base type of another type. " "If this bit is clear, the type cannot be subtyped (similar to a \"final\" " "class in Java)." msgstr "" -#: c-api/typeobj.rst:1063 +#: c-api/typeobj.rst:1070 msgid "" "This bit is set when the type object has been fully initialized by :c:func:" "`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:1073 +#: c-api/typeobj.rst:1080 msgid "" "This bit is set while :c:func:`PyType_Ready` is in the process of " "initializing the type object." msgstr "" -#: c-api/typeobj.rst:1083 +#: c-api/typeobj.rst:1090 msgid "" "This bit is set when the object supports garbage collection. If this bit is " "set, instances must be created using :c:func:`PyObject_GC_New` and destroyed " @@ -1777,12 +1789,12 @@ msgid "" "tp_clear` are present in the type object." msgstr "" -#: c-api/typeobj.rst:1339 c-api/typeobj.rst:1406 +#: c-api/typeobj.rst:1357 c-api/typeobj.rst:1424 msgid "" "Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" msgstr "" -#: c-api/typeobj.rst:1094 +#: c-api/typeobj.rst:1101 msgid "" "The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :" "attr:`tp_traverse` and :attr:`tp_clear` fields, i.e. if the :const:" @@ -1791,48 +1803,48 @@ msgid "" "``NULL`` values." msgstr "" -#: c-api/typeobj.rst:1104 +#: c-api/typeobj.rst:1111 msgid "" "This is a bitmask of all the bits that pertain to the existence of certain " "fields in the type object and its extension structures. Currently, it " "includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." msgstr "" -#: c-api/typeobj.rst:1115 +#: c-api/typeobj.rst:1122 msgid "This bit indicates that objects behave like unbound methods." msgstr "" -#: c-api/typeobj.rst:1117 +#: c-api/typeobj.rst:1124 msgid "If this flag is set for ``type(meth)``, then:" msgstr "" -#: c-api/typeobj.rst:1119 +#: c-api/typeobj.rst:1126 msgid "" "``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " "equivalent to ``meth(obj, *args, **kwds)``." msgstr "" -#: c-api/typeobj.rst:1122 +#: c-api/typeobj.rst:1129 msgid "" "``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " "``meth(*args, **kwds)``." msgstr "" -#: c-api/typeobj.rst:1125 +#: c-api/typeobj.rst:1132 msgid "" "This flag enables an optimization for typical method calls like ``obj." "meth()``: it avoids creating a temporary \"bound method\" object for ``obj." "meth``." msgstr "" -#: c-api/typeobj.rst:1133 +#: c-api/typeobj.rst:1140 msgid "" "This flag is never inherited by :ref:`heap types `. For " "extension types, it is inherited whenever :c:member:`~PyTypeObject." "tp_descr_get` is inherited." msgstr "" -#: c-api/typeobj.rst:1150 +#: c-api/typeobj.rst:1157 msgid "" "These flags are used by functions such as :c:func:`PyLong_Check` to quickly " "determine if a type is a subclass of a built-in type; such specific checks " @@ -1842,61 +1854,61 @@ msgid "" "behave differently depending on what kind of check is used." msgstr "" -#: c-api/typeobj.rst:1161 +#: c-api/typeobj.rst:1168 msgid "" "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " "present in the type structure." msgstr "" -#: c-api/typeobj.rst:1166 +#: c-api/typeobj.rst:1173 msgid "" "This flag isn't necessary anymore, as the interpreter assumes the :c:member:" "`~PyTypeObject.tp_finalize` slot is always present in the type structure." msgstr "" -#: c-api/typeobj.rst:1174 +#: c-api/typeobj.rst:1181 msgid "" "This bit is set when the class implements the :ref:`vectorcall protocol " "`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for " "details." msgstr "" -#: c-api/typeobj.rst:1180 +#: c-api/typeobj.rst:1187 msgid "" "This bit is inherited for :ref:`static subtypes ` if :c:member:" "`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do " "not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``." msgstr "" -#: c-api/typeobj.rst:1188 +#: c-api/typeobj.rst:1195 msgid "" "This bit is set for type objects that are immutable: type attributes cannot " "be set nor deleted." msgstr "" -#: c-api/typeobj.rst:1190 +#: c-api/typeobj.rst:1197 msgid "" ":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types " "`." msgstr "" -#: c-api/typeobj.rst:1214 +#: c-api/typeobj.rst:1202 msgid "This flag is not inherited." msgstr "" -#: c-api/typeobj.rst:1201 +#: c-api/typeobj.rst:1208 msgid "" "Disallow creating instances of the type: set :c:member:`~PyTypeObject." "tp_new` to NULL and don't create the ``__new__`` key in the type dictionary." msgstr "" -#: c-api/typeobj.rst:1205 +#: c-api/typeobj.rst:1212 msgid "" "The flag must be set before creating the type, not after. For example, it " "must be set before :c:func:`PyType_Ready` is called on the type." msgstr "" -#: c-api/typeobj.rst:1208 +#: c-api/typeobj.rst:1215 msgid "" "The flag is set automatically on :ref:`static types ` if :c:" "member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:" @@ -1905,29 +1917,43 @@ msgstr "" #: c-api/typeobj.rst:1221 msgid "" +"This flag is not inherited. However, subclasses will not be instantiable " +"unless they provide a non-NULL :c:member:`~PyTypeObject.tp_new` (which is " +"only possible via the C API)." +msgstr "" + +#: c-api/typeobj.rst:1228 +msgid "" +"To disallow instantiating a class directly but allow instantiating its " +"subclasses (e.g. for an :term:`abstract base class`), do not use this flag. " +"Instead, make :c:member:`~PyTypeObject.tp_new` only succeed for subclasses." +msgstr "" + +#: c-api/typeobj.rst:1239 +msgid "" "This bit indicates that instances of the class may match mapping patterns " "when used as the subject of a :keyword:`match` block. It is automatically " "set when registering or subclassing :class:`collections.abc.Mapping`, and " "unset when registering :class:`collections.abc.Sequence`." msgstr "" -#: c-api/typeobj.rst:1250 +#: c-api/typeobj.rst:1268 msgid "" ":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually " "exclusive; it is an error to enable both flags simultaneously." msgstr "" -#: c-api/typeobj.rst:1233 +#: c-api/typeobj.rst:1251 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_SEQUENCE`." msgstr "" -#: c-api/typeobj.rst:1258 +#: c-api/typeobj.rst:1276 msgid ":pep:`634` -- Structural Pattern Matching: Specification" msgstr ":pep:`634` — Spécifications pour le filtrage par motif" -#: c-api/typeobj.rst:1243 +#: c-api/typeobj.rst:1261 msgid "" "This bit indicates that instances of the class may match sequence patterns " "when used as the subject of a :keyword:`match` block. It is automatically " @@ -1935,37 +1961,37 @@ msgid "" "unset when registering :class:`collections.abc.Mapping`." msgstr "" -#: c-api/typeobj.rst:1255 +#: c-api/typeobj.rst:1273 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_MAPPING`." msgstr "" -#: c-api/typeobj.rst:1265 +#: c-api/typeobj.rst:1283 msgid "" "An optional pointer to a NUL-terminated C string giving the docstring for " "this type object. This is exposed as the :attr:`__doc__` attribute on the " "type and instances of the type." msgstr "" -#: c-api/typeobj.rst:1271 +#: c-api/typeobj.rst:1289 msgid "This field is *not* inherited by subtypes." msgstr "" -#: c-api/typeobj.rst:1276 +#: c-api/typeobj.rst:1294 msgid "" "An optional pointer to a traversal function for the garbage collector. This " "is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " "signature is::" msgstr "" -#: c-api/typeobj.rst:1401 +#: c-api/typeobj.rst:1419 msgid "" "More information about Python's garbage collection scheme can be found in " "section :ref:`supporting-cycle-detection`." msgstr "" -#: c-api/typeobj.rst:1284 +#: c-api/typeobj.rst:1302 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " "collector to detect reference cycles. A typical implementation of a :c:" @@ -1975,7 +2001,7 @@ msgid "" "`_thread` extension module::" msgstr "" -#: c-api/typeobj.rst:1299 +#: c-api/typeobj.rst:1317 msgid "" "Note that :c:func:`Py_VISIT` is called only on those members that can " "participate in reference cycles. Although there is also a ``self->key`` " @@ -1983,14 +2009,14 @@ msgid "" "part of a reference cycle." msgstr "" -#: c-api/typeobj.rst:1303 +#: c-api/typeobj.rst:1321 msgid "" "On the other hand, even if you know a member can never be part of a cycle, " "as a debugging aid you may want to visit it anyway just so the :mod:`gc` " "module's :func:`~gc.get_referents` function will include it." msgstr "" -#: c-api/typeobj.rst:1308 +#: c-api/typeobj.rst:1326 msgid "" "When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " "that the instance *owns* (by having :term:`strong references ` hold a reference to " "their type. Their traversal function must therefore either visit :c:func:" @@ -2019,14 +2045,14 @@ msgid "" "superclass). If they do not, the type object may not be garbage-collected." msgstr "" -#: c-api/typeobj.rst:1332 +#: c-api/typeobj.rst:1350 msgid "" "Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " "``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." msgstr "" -#: c-api/typeobj.rst:1341 +#: c-api/typeobj.rst:1359 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -2034,14 +2060,14 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: c-api/typeobj.rst:1349 +#: c-api/typeobj.rst:1367 msgid "" "An optional pointer to a clear function for the garbage collector. This is " "only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The signature " "is::" msgstr "" -#: c-api/typeobj.rst:1354 +#: c-api/typeobj.rst:1372 msgid "" "The :c:member:`~PyTypeObject.tp_clear` member function is used to break " "reference cycles in cyclic garbage detected by the garbage collector. Taken " @@ -2056,7 +2082,7 @@ msgid "" "good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: c-api/typeobj.rst:1364 +#: c-api/typeobj.rst:1382 msgid "" "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " "instance's references to those of its members that may be Python objects, " @@ -2064,7 +2090,7 @@ msgid "" "example::" msgstr "" -#: c-api/typeobj.rst:1378 +#: c-api/typeobj.rst:1396 msgid "" "The :c:func:`Py_CLEAR` macro should be used, because clearing references is " "delicate: the reference to the contained object must not be decremented " @@ -2079,7 +2105,7 @@ msgid "" "in a safe order." msgstr "" -#: c-api/typeobj.rst:1389 +#: c-api/typeobj.rst:1407 msgid "" "Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before " "an instance is deallocated. For example, when reference counting is enough " @@ -2087,7 +2113,7 @@ msgid "" "is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." msgstr "" -#: c-api/typeobj.rst:1395 +#: c-api/typeobj.rst:1413 msgid "" "Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break " "reference cycles, it's not necessary to clear contained objects like Python " @@ -2097,7 +2123,7 @@ msgid "" "invoke :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: c-api/typeobj.rst:1408 +#: c-api/typeobj.rst:1426 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" @@ -2105,18 +2131,18 @@ msgid "" "are all inherited from the base type if they are all zero in the subtype." msgstr "" -#: c-api/typeobj.rst:1416 +#: c-api/typeobj.rst:1434 msgid "" "An optional pointer to the rich comparison function, whose signature is::" msgstr "" -#: c-api/typeobj.rst:1420 +#: c-api/typeobj.rst:1438 msgid "" "The first parameter is guaranteed to be an instance of the type that is " "defined by :c:type:`PyTypeObject`." msgstr "" -#: c-api/typeobj.rst:1423 +#: c-api/typeobj.rst:1441 msgid "" "The function should return the result of the comparison (usually ``Py_True`` " "or ``Py_False``). If the comparison is undefined, it must return " @@ -2124,74 +2150,74 @@ msgid "" "set an exception condition." msgstr "" -#: c-api/typeobj.rst:1428 +#: c-api/typeobj.rst:1446 msgid "" "The following constants are defined to be used as the third argument for :c:" "member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:" msgstr "" -#: c-api/typeobj.rst:1432 +#: c-api/typeobj.rst:1450 msgid "Constant" msgstr "Constante" -#: c-api/typeobj.rst:1432 +#: c-api/typeobj.rst:1450 msgid "Comparison" msgstr "Comparaison" -#: c-api/typeobj.rst:1434 +#: c-api/typeobj.rst:1452 msgid ":const:`Py_LT`" msgstr ":const:`Py_LT`" -#: c-api/typeobj.rst:1434 +#: c-api/typeobj.rst:1452 msgid "``<``" msgstr "``<``" -#: c-api/typeobj.rst:1436 +#: c-api/typeobj.rst:1454 msgid ":const:`Py_LE`" msgstr ":const:`Py_LE`" -#: c-api/typeobj.rst:1436 +#: c-api/typeobj.rst:1454 msgid "``<=``" msgstr "``<=``" -#: c-api/typeobj.rst:1438 +#: c-api/typeobj.rst:1456 msgid ":const:`Py_EQ`" msgstr ":const:`Py_EQ`" -#: c-api/typeobj.rst:1438 +#: c-api/typeobj.rst:1456 msgid "``==``" msgstr "``==``" -#: c-api/typeobj.rst:1440 +#: c-api/typeobj.rst:1458 msgid ":const:`Py_NE`" msgstr ":const:`Py_NE`" -#: c-api/typeobj.rst:1440 +#: c-api/typeobj.rst:1458 msgid "``!=``" msgstr "``!=``" -#: c-api/typeobj.rst:1442 +#: c-api/typeobj.rst:1460 msgid ":const:`Py_GT`" msgstr ":const:`Py_GT`" -#: c-api/typeobj.rst:1442 +#: c-api/typeobj.rst:1460 msgid "``>``" msgstr "``>``" -#: c-api/typeobj.rst:1444 +#: c-api/typeobj.rst:1462 msgid ":const:`Py_GE`" msgstr ":const:`Py_GE`" -#: c-api/typeobj.rst:1444 +#: c-api/typeobj.rst:1462 msgid "``>=``" msgstr "``>=``" -#: c-api/typeobj.rst:1447 +#: c-api/typeobj.rst:1465 msgid "" "The following macro is defined to ease writing rich comparison functions:" msgstr "" -#: c-api/typeobj.rst:1451 +#: c-api/typeobj.rst:1469 msgid "" "Return ``Py_True`` or ``Py_False`` from the function, depending on the " "result of a comparison. VAL_A and VAL_B must be orderable by C comparison " @@ -2199,15 +2225,15 @@ msgid "" "specifies the requested operation, as for :c:func:`PyObject_RichCompare`." msgstr "" -#: c-api/typeobj.rst:1457 +#: c-api/typeobj.rst:1475 msgid "The return value's reference count is properly incremented." msgstr "" -#: c-api/typeobj.rst:1459 +#: c-api/typeobj.rst:1477 msgid "On error, sets an exception and returns ``NULL`` from the function." msgstr "" -#: c-api/typeobj.rst:1467 +#: c-api/typeobj.rst:1485 msgid "" "This field is inherited by subtypes together with :c:member:`~PyTypeObject." "tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" @@ -2215,7 +2241,7 @@ msgid "" "tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." msgstr "" -#: c-api/typeobj.rst:1474 +#: c-api/typeobj.rst:1492 msgid "" ":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` " "implementation, which may be inherited. However, if only :attr:`tp_hash` is " @@ -2223,7 +2249,7 @@ msgid "" "will not be able to participate in any comparisons." msgstr "" -#: c-api/typeobj.rst:1483 +#: c-api/typeobj.rst:1501 msgid "" "If the instances of this type are weakly referenceable, this field is " "greater than zero and contains the offset in the instance structure of the " @@ -2233,13 +2259,13 @@ msgid "" "`PyObject*` which is initialized to ``NULL``." msgstr "" -#: c-api/typeobj.rst:1490 +#: c-api/typeobj.rst:1508 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " "is the list head for weak references to the type object itself." msgstr "" -#: c-api/typeobj.rst:1495 +#: c-api/typeobj.rst:1513 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype uses a " @@ -2248,7 +2274,7 @@ msgid "" "not be a problem." msgstr "" -#: c-api/typeobj.rst:1500 +#: c-api/typeobj.rst:1518 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types are weakly referenceable, the type " @@ -2257,7 +2283,7 @@ msgid "" "tp_weaklistoffset` of that slot's offset." msgstr "" -#: c-api/typeobj.rst:1505 +#: c-api/typeobj.rst:1523 msgid "" "When a type's :attr:`__slots__` declaration contains a slot named :attr:" "`__weakref__`, that slot becomes the weak reference list head for instances " @@ -2265,31 +2291,31 @@ msgid "" "`~PyTypeObject.tp_weaklistoffset`." msgstr "" -#: c-api/typeobj.rst:1510 +#: c-api/typeobj.rst:1528 msgid "" "When a type's :attr:`__slots__` declaration does not contain a slot named :" "attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject." "tp_weaklistoffset` from its base type." msgstr "" -#: c-api/typeobj.rst:1517 +#: c-api/typeobj.rst:1535 msgid "" "An optional pointer to a function that returns an :term:`iterator` for the " "object. Its presence normally signals that the instances of this type are :" "term:`iterable` (although sequences may be iterable without this function)." msgstr "" -#: c-api/typeobj.rst:1521 +#: c-api/typeobj.rst:1539 msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" msgstr "" -#: c-api/typeobj.rst:1532 +#: c-api/typeobj.rst:1550 msgid "" "An optional pointer to a function that returns the next item in an :term:" "`iterator`. The signature is::" msgstr "" -#: c-api/typeobj.rst:1537 +#: c-api/typeobj.rst:1555 msgid "" "When the iterator is exhausted, it must return ``NULL``; a :exc:" "`StopIteration` exception may or may not be set. When another error occurs, " @@ -2297,74 +2323,74 @@ msgid "" "this type are iterators." msgstr "" -#: c-api/typeobj.rst:1542 +#: c-api/typeobj.rst:1560 msgid "" "Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " "function, and that function should return the iterator instance itself (not " "a new iterator instance)." msgstr "" -#: c-api/typeobj.rst:1546 +#: c-api/typeobj.rst:1564 msgid "This function has the same signature as :c:func:`PyIter_Next`." msgstr "" -#: c-api/typeobj.rst:1555 +#: c-api/typeobj.rst:1573 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyMethodDef` structures, declaring regular methods of this type." msgstr "" -#: c-api/typeobj.rst:1558 +#: c-api/typeobj.rst:1576 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." msgstr "" -#: c-api/typeobj.rst:1563 +#: c-api/typeobj.rst:1581 msgid "" "This field is not inherited by subtypes (methods are inherited through a " "different mechanism)." msgstr "" -#: c-api/typeobj.rst:1569 +#: c-api/typeobj.rst:1587 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyMemberDef` structures, declaring regular data members (fields or slots) " "of instances of this type." msgstr "" -#: c-api/typeobj.rst:1573 +#: c-api/typeobj.rst:1591 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." msgstr "" -#: c-api/typeobj.rst:1578 +#: c-api/typeobj.rst:1596 msgid "" "This field is not inherited by subtypes (members are inherited through a " "different mechanism)." msgstr "" -#: c-api/typeobj.rst:1584 +#: c-api/typeobj.rst:1602 msgid "" "An optional pointer to a static ``NULL``-terminated array of :c:type:" "`PyGetSetDef` structures, declaring computed attributes of instances of this " "type." msgstr "" -#: c-api/typeobj.rst:1587 +#: c-api/typeobj.rst:1605 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." msgstr "" -#: c-api/typeobj.rst:1592 +#: c-api/typeobj.rst:1610 msgid "" "This field is not inherited by subtypes (computed attributes are inherited " "through a different mechanism)." msgstr "" -#: c-api/typeobj.rst:1598 +#: c-api/typeobj.rst:1616 msgid "" "An optional pointer to a base type from which type properties are " "inherited. At this level, only single inheritance is supported; multiple " @@ -2372,7 +2398,7 @@ msgid "" "metatype." msgstr "" -#: c-api/typeobj.rst:1606 +#: c-api/typeobj.rst:1624 msgid "" "Slot initialization is subject to the rules of initializing globals. C99 " "requires the initializers to be \"address constants\". Function designators " @@ -2380,7 +2406,7 @@ msgid "" "valid C99 address constants." msgstr "" -#: c-api/typeobj.rst:1611 +#: c-api/typeobj.rst:1629 msgid "" "However, the unary '&' operator applied to a non-static variable like :c:" "func:`PyBaseObject_Type` is not required to produce an address constant. " @@ -2388,27 +2414,27 @@ msgid "" "strictly standard conforming in this particular behavior." msgstr "" -#: c-api/typeobj.rst:1617 +#: c-api/typeobj.rst:1635 msgid "" "Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " "extension module's init function." msgstr "" -#: c-api/typeobj.rst:1622 +#: c-api/typeobj.rst:1640 msgid "This field is not inherited by subtypes (obviously)." msgstr "" -#: c-api/typeobj.rst:1626 +#: c-api/typeobj.rst:1644 msgid "" "This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " "is known as the type :class:`object`)." msgstr "" -#: c-api/typeobj.rst:1632 +#: c-api/typeobj.rst:1650 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:1634 +#: c-api/typeobj.rst:1652 msgid "" "This field should normally be initialized to ``NULL`` before PyType_Ready is " "called; it may also be initialized to a dictionary containing initial " @@ -2417,43 +2443,43 @@ msgid "" "they don't correspond to overloaded operations (like :meth:`__add__`)." msgstr "" -#: c-api/typeobj.rst:1642 +#: c-api/typeobj.rst:1660 msgid "" "This field is not inherited by subtypes (though the attributes defined in " "here are inherited through a different mechanism)." msgstr "" -#: c-api/typeobj.rst:1647 +#: c-api/typeobj.rst:1665 msgid "" "If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " "dictionary to it." msgstr "" -#: c-api/typeobj.rst:1652 +#: c-api/typeobj.rst:1670 msgid "" "It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:" "member:`~PyTypeObject.tp_dict` with the dictionary C-API." msgstr "" -#: c-api/typeobj.rst:1658 +#: c-api/typeobj.rst:1676 msgid "An optional pointer to a \"descriptor get\" function." msgstr "" -#: c-api/typeobj.rst:1676 c-api/typeobj.rst:1788 c-api/typeobj.rst:1812 +#: c-api/typeobj.rst:1694 c-api/typeobj.rst:1806 c-api/typeobj.rst:1830 msgid "The function signature is::" msgstr "" -#: c-api/typeobj.rst:1673 +#: c-api/typeobj.rst:1691 msgid "" "An optional pointer to a function for setting and deleting a descriptor's " "value." msgstr "" -#: c-api/typeobj.rst:1680 +#: c-api/typeobj.rst:1698 msgid "The *value* argument is set to ``NULL`` to delete the value." msgstr "" -#: c-api/typeobj.rst:1691 +#: c-api/typeobj.rst:1709 msgid "" "If the instances of this type have a dictionary containing instance " "variables, this field is non-zero and contains the offset in the instances " @@ -2461,13 +2487,13 @@ msgid "" "func:`PyObject_GenericGetAttr`." msgstr "" -#: c-api/typeobj.rst:1696 +#: c-api/typeobj.rst:1714 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " "the dictionary for attributes of the type object itself." msgstr "" -#: c-api/typeobj.rst:1699 +#: c-api/typeobj.rst:1717 msgid "" "If the value of this field is greater than zero, it specifies the offset " "from the start of the instance structure. If the value is less than zero, " @@ -2483,13 +2509,13 @@ msgid "" "the very end of the structure." msgstr "" -#: c-api/typeobj.rst:1711 +#: c-api/typeobj.rst:1729 msgid "" "The real dictionary offset in an instance can be computed from a negative :c:" "member:`~PyTypeObject.tp_dictoffset` as follows::" msgstr "" -#: c-api/typeobj.rst:1718 +#: c-api/typeobj.rst:1736 msgid "" "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject." "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the " @@ -2499,7 +2525,7 @@ msgid "" "it is done for you by :c:func:`_PyObject_GetDictPtr`.)" msgstr "" -#: c-api/typeobj.rst:1726 +#: c-api/typeobj.rst:1744 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype instances " @@ -2508,7 +2534,7 @@ msgid "" "should not be a problem." msgstr "" -#: c-api/typeobj.rst:1731 +#: c-api/typeobj.rst:1749 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types has an instance variable dictionary, " @@ -2516,14 +2542,14 @@ msgid "" "`~PyTypeObject.tp_dictoffset` is set to that slot's offset." msgstr "" -#: c-api/typeobj.rst:1736 +#: c-api/typeobj.rst:1754 msgid "" "When a type defined by a class statement has a :attr:`__slots__` " "declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` " "from its base type." msgstr "" -#: c-api/typeobj.rst:1739 +#: c-api/typeobj.rst:1757 msgid "" "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " "declaration does not have the expected effect, it just causes confusion. " @@ -2531,17 +2557,17 @@ msgid "" "though.)" msgstr "" -#: c-api/typeobj.rst:1745 +#: c-api/typeobj.rst:1763 msgid "" "This slot has no default. For :ref:`static types `, if the " "field is ``NULL`` then no :attr:`__dict__` gets created for instances." msgstr "" -#: c-api/typeobj.rst:1751 +#: c-api/typeobj.rst:1769 msgid "An optional pointer to an instance initialization function." msgstr "" -#: c-api/typeobj.rst:1753 +#: c-api/typeobj.rst:1771 msgid "" "This function corresponds to the :meth:`__init__` method of classes. Like :" "meth:`__init__`, it is possible to create an instance without calling :meth:" @@ -2549,14 +2575,14 @@ msgid "" "meth:`__init__` method again." msgstr "" -#: c-api/typeobj.rst:1762 +#: c-api/typeobj.rst:1780 msgid "" "The self argument is the instance to be initialized; the *args* and *kwds* " "arguments represent positional and keyword arguments of the call to :meth:" "`__init__`." msgstr "" -#: c-api/typeobj.rst:1766 +#: c-api/typeobj.rst:1784 msgid "" "The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called " "when an instance is created normally by calling its type, after the type's :" @@ -2568,43 +2594,43 @@ msgid "" "subtype's :c:member:`~PyTypeObject.tp_init` is called." msgstr "" -#: c-api/typeobj.rst:1773 +#: c-api/typeobj.rst:1791 msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." msgstr "" -#: c-api/typeobj.rst:1781 +#: c-api/typeobj.rst:1799 msgid "" "For :ref:`static types ` this field does not have a default." msgstr "" -#: c-api/typeobj.rst:1786 +#: c-api/typeobj.rst:1804 msgid "An optional pointer to an instance allocation function." msgstr "" -#: c-api/typeobj.rst:1794 +#: c-api/typeobj.rst:1812 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)." msgstr "" -#: c-api/typeobj.rst:1799 +#: c-api/typeobj.rst:1817 msgid "" "For dynamic subtypes, this field is always set to :c:func:" "`PyType_GenericAlloc`, to force a standard heap allocation strategy." msgstr "" -#: c-api/typeobj.rst:1803 +#: c-api/typeobj.rst:1821 msgid "" "For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:" "`PyType_GenericAlloc`. That is the recommended value for all statically " "defined types." msgstr "" -#: c-api/typeobj.rst:1810 +#: c-api/typeobj.rst:1828 msgid "An optional pointer to an instance creation function." msgstr "" -#: c-api/typeobj.rst:1816 +#: c-api/typeobj.rst:1834 msgid "" "The *subtype* argument is the type of the object being created; the *args* " "and *kwds* arguments represent positional and keyword arguments of the call " @@ -2613,7 +2639,7 @@ msgid "" "that type (but not an unrelated type)." msgstr "" -#: c-api/typeobj.rst:1822 +#: c-api/typeobj.rst:1840 msgid "" "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " @@ -2625,20 +2651,20 @@ msgid "" "be deferred to :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: c-api/typeobj.rst:1830 +#: c-api/typeobj.rst:1848 msgid "" "Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating " "instances of the type in Python." msgstr "" -#: c-api/typeobj.rst:1835 +#: c-api/typeobj.rst:1853 msgid "" "This field is inherited by subtypes, except it is not inherited by :ref:" "`static types ` whose :c:member:`~PyTypeObject.tp_base` is " "``NULL`` or ``&PyBaseObject_Type``." msgstr "" -#: c-api/typeobj.rst:1841 +#: c-api/typeobj.rst:1859 msgid "" "For :ref:`static types ` this field has no default. This means " "if the slot is defined as ``NULL``, the type cannot be called to create new " @@ -2646,39 +2672,39 @@ msgid "" "factory function." msgstr "" -#: c-api/typeobj.rst:1849 +#: c-api/typeobj.rst:1867 msgid "" "An optional pointer to an instance deallocation function. Its signature is::" msgstr "" -#: c-api/typeobj.rst:1853 +#: c-api/typeobj.rst:1871 msgid "" "An initializer that is compatible with this signature is :c:func:" "`PyObject_Free`." msgstr "" -#: c-api/typeobj.rst:1857 +#: c-api/typeobj.rst:1875 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)" msgstr "" -#: c-api/typeobj.rst:1862 +#: c-api/typeobj.rst:1880 msgid "" "In dynamic subtypes, this field is set to a deallocator suitable to match :c:" "func:`PyType_GenericAlloc` and the value of the :const:`Py_TPFLAGS_HAVE_GC` " "flag bit." msgstr "" -#: c-api/typeobj.rst:1866 +#: c-api/typeobj.rst:1884 msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del." msgstr "" -#: c-api/typeobj.rst:1871 +#: c-api/typeobj.rst:1889 msgid "An optional pointer to a function called by the garbage collector." msgstr "" -#: c-api/typeobj.rst:1873 +#: c-api/typeobj.rst:1891 msgid "" "The garbage collector needs to know whether a particular object is " "collectible or not. Normally, it is sufficient to look at the object's " @@ -2690,74 +2716,88 @@ msgid "" "instance. The signature is::" msgstr "" -#: c-api/typeobj.rst:1883 +#: c-api/typeobj.rst:1901 msgid "" "(The only example of this are types themselves. The metatype, :c:data:" "`PyType_Type`, defines this function to distinguish between statically and :" "ref:`dynamically allocated types `.)" msgstr "" -#: c-api/typeobj.rst:1893 +#: c-api/typeobj.rst:1911 msgid "" "This slot has no default. If this field is ``NULL``, :const:" "`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." msgstr "" -#: c-api/typeobj.rst:1899 +#: c-api/typeobj.rst:1917 msgid "Tuple of base types." msgstr "" -#: c-api/typeobj.rst:1901 +#: c-api/typeobj.rst:1943 +msgid "" +"This field should be set to ``NULL`` and treated as read-only. Python will " +"fill it in when the type is :c:func:`initialized `." +msgstr "" + +#: c-api/typeobj.rst:1922 +msgid "" +"For dynamically created classes, the ``Py_tp_bases`` :c:type:`slot " +"` can be used instead of the *bases* argument of :c:func:" +"`PyType_FromSpecWithBases`. The argument form is preferred." +msgstr "" + +#: c-api/typeobj.rst:1929 msgid "" -"This is set for types created by a class statement. It should be ``NULL`` " -"for statically defined types." +"Multiple inheritance does not work well for statically defined types. If you " +"set ``tp_bases`` to a tuple, Python will not raise an error, but some slots " +"will only be inherited from the first base." msgstr "" -#: c-api/typeobj.rst:1927 c-api/typeobj.rst:1946 c-api/typeobj.rst:1960 +#: c-api/typeobj.rst:1958 c-api/typeobj.rst:1977 c-api/typeobj.rst:1991 msgid "This field is not inherited." msgstr "" -#: c-api/typeobj.rst:1911 +#: c-api/typeobj.rst:1940 msgid "" "Tuple containing the expanded set of base types, starting with the type " "itself and ending with :class:`object`, in Method Resolution Order." msgstr "" -#: c-api/typeobj.rst:1917 +#: c-api/typeobj.rst:1948 msgid "" "This field is not inherited; it is calculated fresh by :c:func:" "`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:1923 +#: c-api/typeobj.rst:1954 msgid "Unused. Internal use only." msgstr "" -#: c-api/typeobj.rst:1932 +#: c-api/typeobj.rst:1963 msgid "List of weak references to subclasses. Internal use only." msgstr "" -#: c-api/typeobj.rst:1941 +#: c-api/typeobj.rst:1972 msgid "" "Weak reference list head, for weak references to this type object. Not " "inherited. Internal use only." msgstr "" -#: c-api/typeobj.rst:1951 +#: c-api/typeobj.rst:1982 msgid "" "This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` instead." msgstr "" -#: c-api/typeobj.rst:1956 +#: c-api/typeobj.rst:1987 msgid "Used to index into the method cache. Internal use only." msgstr "" -#: c-api/typeobj.rst:1965 +#: c-api/typeobj.rst:1996 msgid "" "An optional pointer to an instance finalization function. Its signature is::" msgstr "" -#: c-api/typeobj.rst:1969 +#: c-api/typeobj.rst:2000 msgid "" "If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " "once when finalizing an instance. It is called either from the garbage " @@ -2767,14 +2807,14 @@ msgid "" "object in a sane state." msgstr "" -#: c-api/typeobj.rst:1976 +#: c-api/typeobj.rst:2007 msgid "" ":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " "exception status; therefore, a recommended way to write a non-trivial " "finalizer is::" msgstr "" -#: c-api/typeobj.rst:1993 +#: c-api/typeobj.rst:2024 msgid "" "Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject." "tp_dealloc` may be called from any Python thread, not just the thread which " @@ -2787,18 +2827,18 @@ msgid "" "which called tp_dealloc will not violate any assumptions of the library." msgstr "" -#: c-api/typeobj.rst:2012 +#: c-api/typeobj.rst:2043 msgid "" "Before version 3.8 it was necessary to set the :const:" "`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to be used. " "This is no longer required." msgstr "" -#: c-api/typeobj.rst:2016 +#: c-api/typeobj.rst:2047 msgid "\"Safe object finalization\" (:pep:`442`)" msgstr "" -#: c-api/typeobj.rst:2021 +#: c-api/typeobj.rst:2052 msgid "" "Vectorcall function to use for calls of this type object. In other words, it " "is used to implement :ref:`vectorcall ` for ``type.__call__``. " @@ -2806,61 +2846,61 @@ msgid "" "attr:`__new__` and :attr:`__init__` is used." msgstr "" -#: c-api/typeobj.rst:2029 +#: c-api/typeobj.rst:2060 msgid "This field is never inherited." msgstr "" -#: c-api/typeobj.rst:2031 +#: c-api/typeobj.rst:2062 msgid "(the field exists since 3.8 but it's only used since 3.9)" msgstr "" -#: c-api/typeobj.rst:2037 +#: c-api/typeobj.rst:2068 msgid "Static Types" msgstr "" -#: c-api/typeobj.rst:2039 +#: c-api/typeobj.rst:2070 msgid "" "Traditionally, types defined in C code are *static*, that is, a static :c:" "type:`PyTypeObject` structure is defined directly in code and initialized " "using :c:func:`PyType_Ready`." msgstr "" -#: c-api/typeobj.rst:2043 +#: c-api/typeobj.rst:2074 msgid "" "This results in types that are limited relative to types defined in Python:" msgstr "" -#: c-api/typeobj.rst:2045 +#: c-api/typeobj.rst:2076 msgid "" "Static types are limited to one base, i.e. they cannot use multiple " "inheritance." msgstr "" -#: c-api/typeobj.rst:2047 +#: c-api/typeobj.rst:2078 msgid "" "Static type objects (but not necessarily their instances) are immutable. It " "is not possible to add or modify the type object's attributes from Python." msgstr "" -#: c-api/typeobj.rst:2049 +#: c-api/typeobj.rst:2080 msgid "" "Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" "specific state." msgstr "" -#: c-api/typeobj.rst:2053 +#: c-api/typeobj.rst:2084 msgid "" "Also, since :c:type:`PyTypeObject` is only part of the :ref:`Limited API " "` as an opaque struct, any extension modules using static types must " "be compiled for a specific Python minor version." msgstr "" -#: c-api/typeobj.rst:2061 +#: c-api/typeobj.rst:2092 msgid "Heap Types" msgstr "" -#: c-api/typeobj.rst:2063 +#: c-api/typeobj.rst:2094 msgid "" "An alternative to :ref:`static types ` is *heap-allocated " "types*, or *heap types* for short, which correspond closely to classes " @@ -2868,29 +2908,29 @@ msgid "" "`Py_TPFLAGS_HEAPTYPE` flag set." msgstr "" -#: c-api/typeobj.rst:2068 +#: c-api/typeobj.rst:2099 msgid "" "This is done by filling a :c:type:`PyType_Spec` structure and calling :c:" "func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:" "`PyType_FromModuleAndSpec`." msgstr "" -#: c-api/typeobj.rst:2076 +#: c-api/typeobj.rst:2107 msgid "Number Object Structures" msgstr "" -#: c-api/typeobj.rst:2083 +#: c-api/typeobj.rst:2114 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the number protocol. Each function is used by the function of " "similar name documented in the :ref:`number` section." msgstr "" -#: c-api/typeobj.rst:2413 +#: c-api/typeobj.rst:2444 msgid "Here is the structure definition::" msgstr "" -#: c-api/typeobj.rst:2136 +#: c-api/typeobj.rst:2167 msgid "" "Binary and ternary functions must check the type of all their operands, and " "implement the necessary conversions (at least one of the operands is an " @@ -2900,30 +2940,30 @@ msgid "" "and set an exception." msgstr "" -#: c-api/typeobj.rst:2145 +#: c-api/typeobj.rst:2176 msgid "" "The :c:data:`nb_reserved` field should always be ``NULL``. It was " "previously called :c:data:`nb_long`, and was renamed in Python 3.0.1." msgstr "" -#: c-api/typeobj.rst:2190 +#: c-api/typeobj.rst:2221 msgid "Mapping Object Structures" msgstr "" -#: c-api/typeobj.rst:2197 +#: c-api/typeobj.rst:2228 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the mapping protocol. It has three members:" msgstr "" -#: c-api/typeobj.rst:2202 +#: c-api/typeobj.rst:2233 msgid "" "This function is used by :c:func:`PyMapping_Size` and :c:func:" "`PyObject_Size`, and has the same signature. This slot may be set to " "``NULL`` if the object has no defined length." msgstr "" -#: c-api/typeobj.rst:2208 +#: c-api/typeobj.rst:2239 msgid "" "This function is used by :c:func:`PyObject_GetItem` and :c:func:" "`PySequence_GetSlice`, and has the same signature as :c:func:`!" @@ -2931,7 +2971,7 @@ msgid "" "`PyMapping_Check` function to return ``1``, it can be ``NULL`` otherwise." msgstr "" -#: c-api/typeobj.rst:2216 +#: c-api/typeobj.rst:2247 msgid "" "This function is used by :c:func:`PyObject_SetItem`, :c:func:" "`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:" @@ -2941,17 +2981,17 @@ msgid "" "deletion." msgstr "" -#: c-api/typeobj.rst:2227 +#: c-api/typeobj.rst:2258 msgid "Sequence Object Structures" msgstr "" -#: c-api/typeobj.rst:2234 +#: c-api/typeobj.rst:2265 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the sequence protocol." msgstr "" -#: c-api/typeobj.rst:2239 +#: c-api/typeobj.rst:2270 msgid "" "This function is used by :c:func:`PySequence_Size` and :c:func:" "`PyObject_Size`, and has the same signature. It is also used for handling " @@ -2959,21 +2999,21 @@ msgid "" "member:`~PySequenceMethods.sq_ass_item` slots." msgstr "" -#: c-api/typeobj.rst:2246 +#: c-api/typeobj.rst:2277 msgid "" "This function is used by :c:func:`PySequence_Concat` and has the same " "signature. It is also used by the ``+`` operator, after trying the numeric " "addition via the :c:member:`~PyNumberMethods.nb_add` slot." msgstr "" -#: c-api/typeobj.rst:2252 +#: c-api/typeobj.rst:2283 msgid "" "This function is used by :c:func:`PySequence_Repeat` and has the same " "signature. It is also used by the ``*`` operator, after trying numeric " "multiplication via the :c:member:`~PyNumberMethods.nb_multiply` slot." msgstr "" -#: c-api/typeobj.rst:2258 +#: c-api/typeobj.rst:2289 msgid "" "This function is used by :c:func:`PySequence_GetItem` and has the same " "signature. It is also used by :c:func:`PyObject_GetItem`, after trying the " @@ -2982,7 +3022,7 @@ msgid "" "``1``, it can be ``NULL`` otherwise." msgstr "" -#: c-api/typeobj.rst:2264 +#: c-api/typeobj.rst:2295 msgid "" "Negative indexes are handled as follows: if the :attr:`sq_length` slot is " "filled, it is called and the sequence length is used to compute a positive " @@ -2990,7 +3030,7 @@ msgid "" "the index is passed as is to the function." msgstr "" -#: c-api/typeobj.rst:2271 +#: c-api/typeobj.rst:2302 msgid "" "This function is used by :c:func:`PySequence_SetItem` and has the same " "signature. It is also used by :c:func:`PyObject_SetItem` and :c:func:" @@ -2999,14 +3039,14 @@ msgid "" "``NULL`` if the object does not support item assignment and deletion." msgstr "" -#: c-api/typeobj.rst:2280 +#: c-api/typeobj.rst:2311 msgid "" "This function may be used by :c:func:`PySequence_Contains` and has the same " "signature. This slot may be left to ``NULL``, in this case :c:func:`!" "PySequence_Contains` simply traverses the sequence until it finds a match." msgstr "" -#: c-api/typeobj.rst:2287 +#: c-api/typeobj.rst:2318 msgid "" "This function is used by :c:func:`PySequence_InPlaceConcat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3016,7 +3056,7 @@ msgid "" "c:member:`~PyNumberMethods.nb_inplace_add` slot." msgstr "" -#: c-api/typeobj.rst:2296 +#: c-api/typeobj.rst:2327 msgid "" "This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3026,70 +3066,70 @@ msgid "" "via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot." msgstr "" -#: c-api/typeobj.rst:2307 +#: c-api/typeobj.rst:2338 msgid "Buffer Object Structures" msgstr "" -#: c-api/typeobj.rst:2315 +#: c-api/typeobj.rst:2346 msgid "" "This structure holds pointers to the functions required by the :ref:`Buffer " "protocol `. The protocol defines how an exporter object can " "expose its internal data to consumer objects." msgstr "" -#: c-api/typeobj.rst:2370 c-api/typeobj.rst:2435 c-api/typeobj.rst:2456 +#: c-api/typeobj.rst:2401 c-api/typeobj.rst:2466 c-api/typeobj.rst:2487 msgid "The signature of this function is::" msgstr "" -#: c-api/typeobj.rst:2325 +#: c-api/typeobj.rst:2356 msgid "" "Handle a request to *exporter* to fill in *view* as specified by *flags*. " "Except for point (3), an implementation of this function MUST take these " "steps:" msgstr "" -#: c-api/typeobj.rst:2329 +#: c-api/typeobj.rst:2360 msgid "" "Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " "set :c:expr:`view->obj` to ``NULL`` and return ``-1``." msgstr "" -#: c-api/typeobj.rst:2332 +#: c-api/typeobj.rst:2363 msgid "Fill in the requested fields." msgstr "" -#: c-api/typeobj.rst:2334 +#: c-api/typeobj.rst:2365 msgid "Increment an internal counter for the number of exports." msgstr "" -#: c-api/typeobj.rst:2336 +#: c-api/typeobj.rst:2367 msgid "" "Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`." msgstr "" -#: c-api/typeobj.rst:2338 +#: c-api/typeobj.rst:2369 msgid "Return ``0``." msgstr "" -#: c-api/typeobj.rst:2340 +#: c-api/typeobj.rst:2371 msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" msgstr "" -#: c-api/typeobj.rst:2343 +#: c-api/typeobj.rst:2374 msgid "" "Re-export: Each member of the tree acts as the exporting object and sets :c:" "expr:`view->obj` to a new reference to itself." msgstr "" -#: c-api/typeobj.rst:2346 +#: c-api/typeobj.rst:2377 msgid "" "Redirect: The buffer request is redirected to the root object of the tree. " "Here, :c:expr:`view->obj` will be a new reference to the root object." msgstr "" -#: c-api/typeobj.rst:2350 +#: c-api/typeobj.rst:2381 msgid "" "The individual fields of *view* are described in section :ref:`Buffer " "structure `, the rules how an exporter must react to " @@ -3097,7 +3137,7 @@ msgid "" "types>`." msgstr "" -#: c-api/typeobj.rst:2355 +#: c-api/typeobj.rst:2386 msgid "" "All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " "exporter and must remain valid until there are no consumers left. :c:member:" @@ -3106,19 +3146,19 @@ msgid "" "internal` are read-only for the consumer." msgstr "" -#: c-api/typeobj.rst:2362 +#: c-api/typeobj.rst:2393 msgid "" ":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " "buffer while dealing correctly with all request types." msgstr "" -#: c-api/typeobj.rst:2365 +#: c-api/typeobj.rst:2396 msgid "" ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " "this function." msgstr "" -#: c-api/typeobj.rst:2374 +#: c-api/typeobj.rst:2405 msgid "" "Handle a request to release the resources of the buffer. If no resources " "need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " @@ -3126,15 +3166,15 @@ msgid "" "these optional steps:" msgstr "" -#: c-api/typeobj.rst:2379 +#: c-api/typeobj.rst:2410 msgid "Decrement an internal counter for the number of exports." msgstr "" -#: c-api/typeobj.rst:2381 +#: c-api/typeobj.rst:2412 msgid "If the counter is ``0``, free all memory associated with *view*." msgstr "" -#: c-api/typeobj.rst:2383 +#: c-api/typeobj.rst:2414 msgid "" "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " "track of buffer-specific resources. This field is guaranteed to remain " @@ -3142,68 +3182,68 @@ msgid "" "*view* argument." msgstr "" -#: c-api/typeobj.rst:2389 +#: c-api/typeobj.rst:2420 msgid "" "This function MUST NOT decrement :c:expr:`view->obj`, since that is done " "automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " "breaking reference cycles)." msgstr "" -#: c-api/typeobj.rst:2394 +#: c-api/typeobj.rst:2425 msgid "" ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " "function." msgstr "" -#: c-api/typeobj.rst:2402 +#: c-api/typeobj.rst:2433 msgid "Async Object Structures" msgstr "" -#: c-api/typeobj.rst:2410 +#: c-api/typeobj.rst:2441 msgid "" "This structure holds pointers to the functions required to implement :term:" "`awaitable` and :term:`asynchronous iterator` objects." msgstr "" -#: c-api/typeobj.rst:2428 +#: c-api/typeobj.rst:2459 msgid "" "The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check` " "must return ``1`` for it." msgstr "" -#: c-api/typeobj.rst:2431 +#: c-api/typeobj.rst:2462 msgid "" "This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." msgstr "" -#: c-api/typeobj.rst:2439 +#: c-api/typeobj.rst:2470 msgid "" "Must return an :term:`asynchronous iterator` object. See :meth:`__anext__` " "for details." msgstr "" -#: c-api/typeobj.rst:2442 +#: c-api/typeobj.rst:2473 msgid "" "This slot may be set to ``NULL`` if an object does not implement " "asynchronous iteration protocol." msgstr "" -#: c-api/typeobj.rst:2451 +#: c-api/typeobj.rst:2482 msgid "" "Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " "This slot may be set to ``NULL``." msgstr "" -#: c-api/typeobj.rst:2460 +#: c-api/typeobj.rst:2491 msgid "" "See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." msgstr "" -#: c-api/typeobj.rst:2469 +#: c-api/typeobj.rst:2500 msgid "Slot Type typedefs" msgstr "" -#: c-api/typeobj.rst:2473 +#: c-api/typeobj.rst:2504 msgid "" "The purpose of this function is to separate memory allocation from memory " "initialization. It should return a pointer to a block of memory of adequate " @@ -3217,80 +3257,80 @@ msgid "" "member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: c-api/typeobj.rst:2483 +#: c-api/typeobj.rst:2514 msgid "" "This function should not do any other instance initialization, not even to " "allocate additional memory; that should be done by :c:member:`~PyTypeObject." "tp_new`." msgstr "" -#: c-api/typeobj.rst:2490 +#: c-api/typeobj.rst:2521 msgid "See :c:member:`~PyTypeObject.tp_free`." msgstr "" -#: c-api/typeobj.rst:2494 +#: c-api/typeobj.rst:2525 msgid "See :c:member:`~PyTypeObject.tp_new`." msgstr "" -#: c-api/typeobj.rst:2498 +#: c-api/typeobj.rst:2529 msgid "See :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: c-api/typeobj.rst:2502 +#: c-api/typeobj.rst:2533 msgid "See :c:member:`~PyTypeObject.tp_repr`." msgstr "" -#: c-api/typeobj.rst:2515 +#: c-api/typeobj.rst:2546 msgid "Return the value of the named attribute for the object." msgstr "" -#: c-api/typeobj.rst:2521 +#: c-api/typeobj.rst:2552 msgid "" "Set the value of the named attribute for the object. The value argument is " "set to ``NULL`` to delete the attribute." msgstr "" -#: c-api/typeobj.rst:2517 +#: c-api/typeobj.rst:2548 msgid "See :c:member:`~PyTypeObject.tp_getattro`." msgstr "" -#: c-api/typeobj.rst:2524 +#: c-api/typeobj.rst:2555 msgid "See :c:member:`~PyTypeObject.tp_setattro`." msgstr "" -#: c-api/typeobj.rst:2528 +#: c-api/typeobj.rst:2559 msgid "See :c:member:`~PyTypeObject.tp_descr_get`." msgstr "" -#: c-api/typeobj.rst:2532 +#: c-api/typeobj.rst:2563 msgid "See :c:member:`~PyTypeObject.tp_descr_set`." msgstr "" -#: c-api/typeobj.rst:2536 +#: c-api/typeobj.rst:2567 msgid "See :c:member:`~PyTypeObject.tp_hash`." msgstr "" -#: c-api/typeobj.rst:2540 +#: c-api/typeobj.rst:2571 msgid "See :c:member:`~PyTypeObject.tp_richcompare`." msgstr "" -#: c-api/typeobj.rst:2544 +#: c-api/typeobj.rst:2575 msgid "See :c:member:`~PyTypeObject.tp_iter`." msgstr "" -#: c-api/typeobj.rst:2548 +#: c-api/typeobj.rst:2579 msgid "See :c:member:`~PyTypeObject.tp_iternext`." msgstr "" -#: c-api/typeobj.rst:2562 +#: c-api/typeobj.rst:2593 msgid "See :c:member:`~PyAsyncMethods.am_send`." msgstr "" -#: c-api/typeobj.rst:2578 +#: c-api/typeobj.rst:2609 msgid "Examples" msgstr "Exemples" -#: c-api/typeobj.rst:2580 +#: c-api/typeobj.rst:2611 msgid "" "The following are simple examples of Python type definitions. They include " "common usage you may encounter. Some demonstrate tricky corner cases. For " @@ -3298,33 +3338,33 @@ msgid "" "and :ref:`new-types-topics`." msgstr "" -#: c-api/typeobj.rst:2585 +#: c-api/typeobj.rst:2616 msgid "A basic :ref:`static type `::" msgstr "" -#: c-api/typeobj.rst:2602 +#: c-api/typeobj.rst:2633 msgid "" "You may also find older code (especially in the CPython code base) with a " "more verbose initializer::" msgstr "" -#: c-api/typeobj.rst:2646 +#: c-api/typeobj.rst:2677 msgid "A type that supports weakrefs, instance dicts, and hashing::" msgstr "" -#: c-api/typeobj.rst:2673 +#: c-api/typeobj.rst:2704 msgid "" "A str subclass that cannot be subclassed and cannot be called to create " "instances (e.g. uses a separate factory func) using :c:data:" "`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" msgstr "" -#: c-api/typeobj.rst:2692 +#: c-api/typeobj.rst:2723 msgid "" "The simplest :ref:`static type ` with fixed-length instances::" msgstr "" -#: c-api/typeobj.rst:2703 +#: c-api/typeobj.rst:2734 msgid "" "The simplest :ref:`static type ` with variable-length " "instances::" diff --git a/copyright.po b/copyright.po index 3c945f2a01..0876ef0034 100644 --- a/copyright.po +++ b/copyright.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-04-07 14:48-0400\n" "Last-Translator: Jean-Michel Laprise \n" "Language-Team: FRENCH \n" @@ -24,7 +24,8 @@ msgid "Python and this documentation is:" msgstr "Python et cette documentation sont :" #: copyright.rst:7 -msgid "Copyright © 2001-2022 Python Software Foundation. All rights reserved." +#, fuzzy +msgid "Copyright © 2001-2023 Python Software Foundation. All rights reserved." msgstr "" "Copyright © 2001-2022 Python Software Foundation. Tous droits réservés." diff --git a/extending/embedding.po b/extending/embedding.po index 6051d35c42..a9d298caa0 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-12-25 17:24+0100\n" "Last-Translator: Antoine \n" "Language-Team: FRENCH \n" @@ -421,9 +421,10 @@ msgstr "" "compiler :" #: extending/embedding.rst:304 +#, fuzzy msgid "" -"``pythonX.Y-config --ldflags`` will give you the recommended flags when " -"linking:" +"``pythonX.Y-config --ldflags --embed`` will give you the recommended flags " +"when linking:" msgstr "" "``pythonX.Y-config --ldflags`` vous donnera les drapeaux recommandés lors de " "l'édition de lien :" diff --git a/faq/general.po b/faq/general.po index 5ae85fe5f5..53f779e312 100644 --- a/faq/general.po +++ b/faq/general.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-12-16 02:40+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -578,9 +578,10 @@ msgstr "" "Python." #: faq/general.rst:257 +#, fuzzy msgid "" -"The very first article about Python was written in 1991 and is now quite " -"outdated." +"The `very first article `_ about Python was " +"written in 1991 and is now quite outdated." msgstr "" "Le tout premier article à propos de Python a été écrit en 1991 et est " "maintenant obsolète." diff --git a/faq/programming.po b/faq/programming.po index 73789da1eb..a088858926 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-27 12:15+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -35,7 +35,7 @@ msgstr "" "Existe-t-il un débogueur de code source avec points d'arrêts, exécution pas-" "à-pas, etc. ?" -#: faq/programming.rst:57 +#: faq/programming.rst:58 msgid "Yes." msgstr "Oui." @@ -60,16 +60,18 @@ msgstr "" "pouvez vous inspirer du code de ``pdb`` pour écrire votre propre débogueur." #: faq/programming.rst:27 +#, fuzzy msgid "" "The IDLE interactive development environment, which is part of the standard " -"Python distribution (normally available as Tools/scripts/idle), includes a " +"Python distribution (normally available as `Tools/scripts/idle3 `_), includes a " "graphical debugger." msgstr "" "L'environnement de développement interactif IDLE, qui est fourni avec la " "distribution standard de Python (normalement disponible dans ``Tools/scripts/" "idle``) contient un débogueur graphique." -#: faq/programming.rst:31 +#: faq/programming.rst:32 msgid "" "PythonWin is a Python IDE that includes a GUI debugger based on pdb. The " "PythonWin debugger colors breakpoints and has quite a few cool features such " @@ -86,7 +88,7 @@ msgstr "" "github.com/mhammond/pywin32>`_ et fait partie de la distribution " "`ActivePython `_." -#: faq/programming.rst:38 +#: faq/programming.rst:39 #, fuzzy msgid "" "`Eric `_ is an IDE built on PyQt and " @@ -95,7 +97,7 @@ msgstr "" "`Eric `_ est un EDI basé sur PyQt et " "l'outil d'édition Scintilla." -#: faq/programming.rst:41 +#: faq/programming.rst:42 msgid "" "`trepan3k `_ is a gdb-like " "debugger." @@ -103,7 +105,7 @@ msgstr "" "`trepan3k `_ est un débogueur " "semblable à GDB." -#: faq/programming.rst:43 +#: faq/programming.rst:44 msgid "" "`Visual Studio Code `_ is an IDE with " "debugging tools that integrates with version-control software." @@ -112,7 +114,7 @@ msgstr "" "contient des outils de débogage. Il sait interagir avec les outils de " "gestion de versions." -#: faq/programming.rst:46 +#: faq/programming.rst:47 msgid "" "There are a number of commercial Python IDEs that include graphical " "debuggers. They include:" @@ -120,25 +122,25 @@ msgstr "" "Il existe de nombreux EDI Python propriétaires qui embarquent un débogueur " "graphique, notamment :" -#: faq/programming.rst:49 +#: faq/programming.rst:50 msgid "`Wing IDE `_" msgstr "`Wing IDE `_ ;" -#: faq/programming.rst:50 +#: faq/programming.rst:51 msgid "`Komodo IDE `_" msgstr "`Komodo IDE `_ ;" -#: faq/programming.rst:51 +#: faq/programming.rst:52 msgid "`PyCharm `_" msgstr "`PyCharm `_ ;" -#: faq/programming.rst:55 +#: faq/programming.rst:56 msgid "Are there tools to help find bugs or perform static analysis?" msgstr "" "Existe-t-il des outils pour aider à trouver des bogues ou faire de l'analyse " "statique de code ?" -#: faq/programming.rst:59 +#: faq/programming.rst:60 #, fuzzy msgid "" "`Pylint `_ and `Pyflakes " @@ -149,7 +151,7 @@ msgstr "" "pyflakes>`_ font des vérifications de base et vous aideront à trouver des " "bogues plus tôt." -#: faq/programming.rst:63 +#: faq/programming.rst:64 msgid "" "Static type checkers such as `Mypy `_, `Pyre `_, and `Pytype `_ can " @@ -160,11 +162,11 @@ msgstr "" "pytype>`_ peuvent vérifier les indications de type dans du code source " "Python." -#: faq/programming.rst:72 +#: faq/programming.rst:73 msgid "How can I create a stand-alone binary from a Python script?" msgstr "Comment créer un binaire autonome à partir d'un script Python ?" -#: faq/programming.rst:74 +#: faq/programming.rst:75 msgid "" "You don't need the ability to compile Python to C code if all you want is a " "stand-alone program that users can download and run without having to " @@ -179,12 +181,14 @@ msgstr "" "requis par un programme et lient ces modules avec un binaire Python pour " "produire un seul exécutable." -#: faq/programming.rst:80 +#: faq/programming.rst:81 +#, fuzzy msgid "" "One is to use the freeze tool, which is included in the Python source tree " -"as ``Tools/freeze``. It converts Python byte code to C arrays; with a C " -"compiler you can embed all your modules into a new program, which is then " -"linked with the standard Python modules." +"as `Tools/freeze `_. It converts Python byte code to C arrays; with a C compiler you " +"can embed all your modules into a new program, which is then linked with the " +"standard Python modules." msgstr "" "Un de ces outils est *freeze*, qui se trouve dans ``Tools/freeze`` de " "l'arborescence des sources de Python. Il convertit le code intermédiaire " @@ -192,7 +196,7 @@ msgstr "" "intégrer tous vos modules dans un nouveau programme, qui est ensuite lié aux " "modules standards Python." -#: faq/programming.rst:85 +#: faq/programming.rst:87 msgid "" "It works by scanning your source recursively for import statements (in both " "forms) and looking for the modules in the standard Python path as well as in " @@ -216,7 +220,7 @@ msgstr "" "l'interpréteur Python pour former un binaire autonome qui fait exactement la " "même chose que le script." -#: faq/programming.rst:94 +#: faq/programming.rst:96 msgid "" "The following packages can help with the creation of console and GUI " "executables:" @@ -224,47 +228,47 @@ msgstr "" "Voici quelques paquets qui permettent de créer des exécutables en ligne de " "commande comme graphiques :" -#: faq/programming.rst:97 +#: faq/programming.rst:99 msgid "`Nuitka `_ (Cross-platform)" msgstr "`Nuitka `_ (multiplateformes) ;" -#: faq/programming.rst:98 +#: faq/programming.rst:100 #, fuzzy msgid "`PyInstaller `_ (Cross-platform)" msgstr "`PyInstaller `_ (multiplateformes) ;" -#: faq/programming.rst:99 +#: faq/programming.rst:101 msgid "" "`PyOxidizer `_ (Cross-platform)" msgstr "" "`PyOxidizer `_ (multi-" "plateforme) ;" -#: faq/programming.rst:100 +#: faq/programming.rst:102 msgid "" "`cx_Freeze `_ (Cross-platform)" msgstr "" "`cx_Freeze `_ (multi-" "plateforme) ;" -#: faq/programming.rst:101 +#: faq/programming.rst:103 msgid "`py2app `_ (macOS only)" msgstr "" "`py2app `_ (uniquement pour " "macOS) ;" -#: faq/programming.rst:102 +#: faq/programming.rst:104 #, fuzzy msgid "`py2exe `_ (Windows only)" msgstr "`py2exe `_ (uniquement pour Windows)." -#: faq/programming.rst:105 +#: faq/programming.rst:107 msgid "Are there coding standards or a style guide for Python programs?" msgstr "" "Existe-t-il des normes de développement ou un guide de style pour écrire des " "programmes Python ?" -#: faq/programming.rst:107 +#: faq/programming.rst:109 msgid "" "Yes. The coding style required for standard library modules is documented " "as :pep:`8`." @@ -272,38 +276,40 @@ msgstr "" "Oui. Le style de développement que les modules de la bibliothèque standard " "doivent obligatoirement respecter est documenté dans la :pep:`8`." -#: faq/programming.rst:112 +#: faq/programming.rst:114 msgid "Core Language" msgstr "Fondamentaux" -#: faq/programming.rst:115 +#: faq/programming.rst:119 msgid "Why am I getting an UnboundLocalError when the variable has a value?" msgstr "" "Pourquoi une UnboundLocalError est levée alors qu'une variable a une valeur ?" -#: faq/programming.rst:117 +#: faq/programming.rst:121 +#, fuzzy msgid "" -"It can be a surprise to get the UnboundLocalError in previously working code " -"when it is modified by adding an assignment statement somewhere in the body " -"of a function." +"It can be a surprise to get the :exc:`UnboundLocalError` in previously " +"working code when it is modified by adding an assignment statement somewhere " +"in the body of a function." msgstr "" "Il est parfois surprenant d'obtenir une UnboundLocalError dans du code " "jusqu'à présent correct, quand celui-ci est modifié en ajoutant une " "instruction d'affectation quelque part dans le corps d'une fonction." -#: faq/programming.rst:121 +#: faq/programming.rst:125 msgid "This code:" msgstr "Le code suivant :" -#: faq/programming.rst:129 +#: faq/programming.rst:134 msgid "works, but this code:" msgstr "fonctionne, mais le suivant :" -#: faq/programming.rst:136 -msgid "results in an UnboundLocalError:" +#: faq/programming.rst:141 +#, fuzzy +msgid "results in an :exc:`!UnboundLocalError`:" msgstr "lève une UnboundLocalError :" -#: faq/programming.rst:143 +#: faq/programming.rst:148 msgid "" "This is because when you make an assignment to a variable in a scope, that " "variable becomes local to that scope and shadows any similarly named " @@ -319,7 +325,7 @@ msgstr "" "nouvelle variable. Par conséquent, quand le ``print(x)`` essaye d'afficher " "la variable non initialisée, une erreur se produit." -#: faq/programming.rst:150 +#: faq/programming.rst:155 msgid "" "In the example above you can access the outer scope variable by declaring it " "global:" @@ -327,7 +333,7 @@ msgstr "" "Dans l'exemple ci-dessus, la variable du contexte appelant reste accessible " "en la déclarant globale :" -#: faq/programming.rst:161 +#: faq/programming.rst:167 msgid "" "This explicit declaration is required in order to remind you that (unlike " "the superficially analogous situation with class and instance variables) you " @@ -338,7 +344,7 @@ msgstr "" "d'instance), c'est la valeur de la variable du contexte appelant qui est " "modifiée :" -#: faq/programming.rst:168 +#: faq/programming.rst:174 msgid "" "You can do a similar thing in a nested scope using the :keyword:`nonlocal` " "keyword:" @@ -346,12 +352,12 @@ msgstr "" "Une alternative dans un contexte imbriqué consiste à utiliser le mot-clé :" "keyword:`nonlocal` :" -#: faq/programming.rst:185 +#: faq/programming.rst:192 msgid "What are the rules for local and global variables in Python?" msgstr "" "Quelles sont les règles pour les variables locales et globales en Python ?" -#: faq/programming.rst:187 +#: faq/programming.rst:194 msgid "" "In Python, variables that are only referenced inside a function are " "implicitly global. If a variable is assigned a value anywhere within the " @@ -363,7 +369,7 @@ msgstr "" "valeur lui est affectée, elle est considérée locale (sauf si elle est " "explicitement déclarée globale)." -#: faq/programming.rst:191 +#: faq/programming.rst:198 msgid "" "Though a bit surprising at first, a moment's consideration explains this. " "On one hand, requiring :keyword:`global` for assigned variables provides a " @@ -382,7 +388,7 @@ msgstr "" "importé. Le codé serait alors truffé de déclarations ``global``, ce qui " "nuirait à leur raison d'être : identifier les effets de bords." -#: faq/programming.rst:201 +#: faq/programming.rst:208 msgid "" "Why do lambdas defined in a loop with different values all return the same " "result?" @@ -390,7 +396,7 @@ msgstr "" "Pourquoi des expressions lambda définies dans une boucle avec des valeurs " "différentes retournent-elles le même résultat ?" -#: faq/programming.rst:203 +#: faq/programming.rst:210 msgid "" "Assume you use a for loop to define a few different lambdas (or even plain " "functions), e.g.::" @@ -398,7 +404,7 @@ msgstr "" "Supposons que l'on utilise une boucle itérative pour définir des expressions " "lambda (voire des fonctions) différentes, par exemple ::" -#: faq/programming.rst:210 +#: faq/programming.rst:217 msgid "" "This gives you a list that contains 5 lambdas that calculate ``x**2``. You " "might expect that, when called, they would return, respectively, ``0``, " @@ -409,7 +415,7 @@ msgstr "" "chacune ``x**2``. En les exécutant, on pourrait s'attendre à obtenir ``0``, " "``1``, ``4``, ``9`` et ``16``. Elles renvoient en réalité toutes ``16`` ::" -#: faq/programming.rst:220 +#: faq/programming.rst:227 msgid "" "This happens because ``x`` is not local to the lambdas, but is defined in " "the outer scope, and it is accessed when the lambda is called --- not when " @@ -424,7 +430,7 @@ msgstr "" "renvoient ``4*2``, c.-à-d. ``16``. Ceci se vérifie également en changeant la " "valeur de ``x`` et en constatant que les résultats sont modifiés ::" -#: faq/programming.rst:230 +#: faq/programming.rst:237 msgid "" "In order to avoid this, you need to save the values in variables local to " "the lambdas, so that they don't rely on the value of the global ``x``::" @@ -433,7 +439,7 @@ msgstr "" "variables locales aux expressions lambda pour que celles-ci ne se basent " "plus sur la variable globale ``x`` ::" -#: faq/programming.rst:237 +#: faq/programming.rst:244 msgid "" "Here, ``n=x`` creates a new variable ``n`` local to the lambda and computed " "when the lambda is defined so that it has the same value that ``x`` had at " @@ -448,7 +454,7 @@ msgstr "" "troisième et ainsi de suite. Chaque expression lambda renvoie donc le " "résultat correct ::" -#: faq/programming.rst:248 +#: faq/programming.rst:255 msgid "" "Note that this behaviour is not peculiar to lambdas, but applies to regular " "functions too." @@ -456,11 +462,11 @@ msgstr "" "Ce comportement n'est pas propre aux expressions lambda, mais s'applique " "aussi aux fonctions normales." -#: faq/programming.rst:253 +#: faq/programming.rst:260 msgid "How do I share global variables across modules?" msgstr "Comment partager des variables globales entre modules ?" -#: faq/programming.rst:255 +#: faq/programming.rst:262 msgid "" "The canonical way to share information across modules within a single " "program is to create a special module (often called config or cfg). Just " @@ -476,32 +482,33 @@ msgstr "" "de chaque module, tout changement dans l'instance est propagé partout. Par " "exemple :" -#: faq/programming.rst:261 +#: faq/programming.rst:268 msgid "config.py::" msgstr "*config.py* ::" -#: faq/programming.rst:265 +#: faq/programming.rst:272 msgid "mod.py::" msgstr "*mod.py* ::" -#: faq/programming.rst:270 +#: faq/programming.rst:277 msgid "main.py::" msgstr "*main.py* ::" -#: faq/programming.rst:276 +#: faq/programming.rst:283 +#, fuzzy msgid "" -"Note that using a module is also the basis for implementing the Singleton " +"Note that using a module is also the basis for implementing the singleton " "design pattern, for the same reason." msgstr "" "Pour les mêmes raisons, l'utilisation d'un module est aussi à la base de " "l'implémentation du patron de conception singleton." -#: faq/programming.rst:281 +#: faq/programming.rst:288 msgid "What are the \"best practices\" for using import in a module?" msgstr "" "Quelles sont les « bonnes pratiques » pour utiliser import dans un module ?" -#: faq/programming.rst:283 +#: faq/programming.rst:290 msgid "" "In general, don't use ``from modulename import *``. Doing so clutters the " "importer's namespace, and makes it much harder for linters to detect " @@ -511,7 +518,7 @@ msgstr "" "encombre l'espace de nommage de l'importateur et rend la détection de noms " "non-définis beaucoup plus ardue pour les analyseurs de code." -#: faq/programming.rst:287 +#: faq/programming.rst:294 msgid "" "Import modules at the top of a file. Doing so makes it clear what other " "modules your code requires and avoids questions of whether the module name " @@ -524,30 +531,34 @@ msgstr "" "ligne rend l'ajout et la suppression d'une importation de module plus aisé, " "mais importer plusieurs modules sur une même ligne prend moins d'espace." -#: faq/programming.rst:292 +#: faq/programming.rst:299 msgid "It's good practice if you import modules in the following order:" msgstr "Il est recommandé d'importer les modules dans l'ordre suivant :" -#: faq/programming.rst:294 -msgid "standard library modules -- e.g. ``sys``, ``os``, ``getopt``, ``re``" +#: faq/programming.rst:301 +#, fuzzy +msgid "" +"standard library modules -- e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, :" +"mod:`re`" msgstr "" "les modules de la bibliothèque standard — p. ex. ``sys``, ``os``, " "``getopt``, ``re``" -#: faq/programming.rst:295 +#: faq/programming.rst:302 +#, fuzzy msgid "" "third-party library modules (anything installed in Python's site-packages " -"directory) -- e.g. mx.DateTime, ZODB, PIL.Image, etc." +"directory) -- e.g. :mod:`!dateutil`, :mod:`!requests`, :mod:`!PIL.Image`" msgstr "" "les modules externes (tout ce qui est installé dans le dossier *site-" "packages* de Python) — p. ex. *mx.DateTime, ZODB, PIL.Image*, etc." -#: faq/programming.rst:297 +#: faq/programming.rst:304 #, fuzzy msgid "locally developed modules" msgstr "les modules développés en local" -#: faq/programming.rst:299 +#: faq/programming.rst:306 msgid "" "It is sometimes necessary to move imports to a function or class to avoid " "problems with circular imports. Gordon McMillan says:" @@ -556,7 +567,7 @@ msgstr "" "une classe pour éviter les problèmes d'importations circulaires. Comme le " "souligne Gordon McMillan :" -#: faq/programming.rst:302 +#: faq/programming.rst:309 msgid "" "Circular imports are fine where both modules use the \"import \" " "form of import. They fail when the 2nd module wants to grab a name out of " @@ -571,7 +582,7 @@ msgstr "" "fichier. Les noms du premier module ne sont en effet pas encore disponibles " "car le premier module est occupé à importer le second." -#: faq/programming.rst:308 +#: faq/programming.rst:315 msgid "" "In this case, if the second module is only used in one function, then the " "import can easily be moved into that function. By the time the import is " @@ -583,7 +594,7 @@ msgstr "" "où l'importation sera appelée, le premier module aura fini de s'initialiser " "et le second pourra faire son importation." -#: faq/programming.rst:313 +#: faq/programming.rst:320 msgid "" "It may also be necessary to move imports out of the top level of code if " "some of the modules are platform-specific. In that case, it may not even be " @@ -598,7 +609,7 @@ msgstr "" "recommandé d'importer les modules adéquats dans le code spécifique à la " "machine." -#: faq/programming.rst:318 +#: faq/programming.rst:325 msgid "" "Only move imports into a local scope, such as inside a function definition, " "if it's necessary to solve a problem such as avoiding a circular import or " @@ -624,11 +635,11 @@ msgstr "" "dictionnaire. Même si le nom du module est sorti du contexte courant, le " "module est probablement disponible dans :data:`sys.modules`." -#: faq/programming.rst:331 +#: faq/programming.rst:338 msgid "Why are default values shared between objects?" msgstr "Pourquoi les arguments par défaut sont-ils partagés entre les objets ?" -#: faq/programming.rst:333 +#: faq/programming.rst:340 msgid "" "This type of bug commonly bites neophyte programmers. Consider this " "function::" @@ -636,7 +647,7 @@ msgstr "" "C'est un problème que rencontrent souvent les programmeurs débutants. " "Examinons la fonction suivante ::" -#: faq/programming.rst:340 +#: faq/programming.rst:347 msgid "" "The first time you call this function, ``mydict`` contains a single item. " "The second time, ``mydict`` contains two items because when ``foo()`` begins " @@ -646,7 +657,7 @@ msgstr "" "élément. Au second appel, ``mydict`` contient deux éléments car quand " "``foo()`` commence son exécution, ``mydict`` contient déjà un élément." -#: faq/programming.rst:344 +#: faq/programming.rst:351 msgid "" "It is often expected that a function call creates new objects for default " "values. This is not what happens. Default values are created exactly once, " @@ -660,7 +671,7 @@ msgstr "" "définie. Si l'objet est modifié, comme le dictionnaire dans cet exemple, les " "appels suivants à cette fonction font référence à l'objet ainsi modifié." -#: faq/programming.rst:349 +#: faq/programming.rst:356 msgid "" "By definition, immutable objects such as numbers, strings, tuples, and " "``None``, are safe from change. Changes to mutable objects such as " @@ -671,7 +682,7 @@ msgstr "" "sur des objets modifiables comme les dictionnaires, les listes et les " "instances de classe peuvent porter à confusion." -#: faq/programming.rst:353 +#: faq/programming.rst:360 msgid "" "Because of this feature, it is good programming practice to not use mutable " "objects as default values. Instead, use ``None`` as the default value and " @@ -684,11 +695,11 @@ msgstr "" "est à ``None`` et créer une nouvelle liste, dictionnaire ou autre, le cas " "échéant. Par exemple, il ne faut pas écrire ::" -#: faq/programming.rst:361 +#: faq/programming.rst:368 msgid "but::" msgstr "mais plutôt ::" -#: faq/programming.rst:367 +#: faq/programming.rst:374 msgid "" "This feature can be useful. When you have a function that's time-consuming " "to compute, a common technique is to cache the parameters and the resulting " @@ -702,7 +713,7 @@ msgstr "" "appel est ré-effectué. C'est la technique dite de « mémoïsation », qui " "s'implémente de la manière suivante ::" -#: faq/programming.rst:382 +#: faq/programming.rst:389 msgid "" "You could use a global variable containing a dictionary instead of the " "default value; it's a matter of taste." @@ -710,13 +721,13 @@ msgstr "" "Il est possible d'utiliser une variable globale contenant un dictionnaire à " "la place de la valeur par défaut ; ce n'est qu'une question de goût." -#: faq/programming.rst:387 +#: faq/programming.rst:394 msgid "" "How can I pass optional or keyword parameters from one function to another?" msgstr "" "Comment passer des paramètres optionnels ou nommés d'une fonction à l'autre ?" -#: faq/programming.rst:389 +#: faq/programming.rst:396 msgid "" "Collect the arguments using the ``*`` and ``**`` specifiers in the " "function's parameter list; this gives you the positional arguments as a " @@ -729,11 +740,11 @@ msgstr "" "de dictionnaire. Ces arguments peuvent être passés à une autre fonction en " "utilisant ``*`` et ``**`` ::" -#: faq/programming.rst:408 +#: faq/programming.rst:415 msgid "What is the difference between arguments and parameters?" msgstr "Quelle est la différence entre les arguments et les paramètres ?" -#: faq/programming.rst:410 +#: faq/programming.rst:417 #, fuzzy msgid "" ":term:`Parameters ` are defined by the names that appear in a " @@ -748,7 +759,7 @@ msgstr "" "ci. Les paramètres définissent les types des arguments qu'une fonction " "accepte. Ainsi, avec la définition de fonction suivante ::" -#: faq/programming.rst:419 +#: faq/programming.rst:426 msgid "" "*foo*, *bar* and *kwargs* are parameters of ``func``. However, when calling " "``func``, for example::" @@ -756,30 +767,30 @@ msgstr "" "*foo*, *bar* et *kwargs* sont des paramètres de ``func``. Mais à l'appel de " "``func`` avec, par exemple ::" -#: faq/programming.rst:424 +#: faq/programming.rst:431 msgid "the values ``42``, ``314``, and ``somevar`` are arguments." msgstr "les valeurs ``42``, ``314``, et ``somevar`` sont des arguments." -#: faq/programming.rst:428 +#: faq/programming.rst:435 msgid "Why did changing list 'y' also change list 'x'?" msgstr "Pourquoi modifier la liste 'y' modifie aussi la liste 'x' ?" -#: faq/programming.rst:430 +#: faq/programming.rst:437 msgid "If you wrote code like::" msgstr "Si vous avez écrit du code comme ::" -#: faq/programming.rst:440 +#: faq/programming.rst:447 msgid "" "you might be wondering why appending an element to ``y`` changed ``x`` too." msgstr "" "vous vous demandez peut-être pourquoi l'ajout d'un élément à ``y`` a aussi " "changé ``x``." -#: faq/programming.rst:442 +#: faq/programming.rst:449 msgid "There are two factors that produce this result:" msgstr "Il y a deux raisons qui conduisent à ce comportement :" -#: faq/programming.rst:444 +#: faq/programming.rst:451 msgid "" "Variables are simply names that refer to objects. Doing ``y = x`` doesn't " "create a copy of the list -- it creates a new variable ``y`` that refers to " @@ -791,14 +802,14 @@ msgstr "" "variable ``y`` qui pointe sur le même objet que ``x``. Ceci signifie qu'il " "n'existe qu'un seul objet (la liste) auquel ``x`` et ``y`` font référence." -#: faq/programming.rst:448 +#: faq/programming.rst:455 msgid "" "Lists are :term:`mutable`, which means that you can change their content." msgstr "" "Les listes sont des :term:`muable`, ce qui signifie que leur contenu peut " "être modifié." -#: faq/programming.rst:450 +#: faq/programming.rst:457 msgid "" "After the call to :meth:`~list.append`, the content of the mutable object " "has changed from ``[]`` to ``[10]``. Since both the variables refer to the " @@ -809,11 +820,11 @@ msgstr "" "objet, il est possible d'accéder à la valeur modifiée ``[10]`` avec chacun " "des noms." -#: faq/programming.rst:454 +#: faq/programming.rst:461 msgid "If we instead assign an immutable object to ``x``::" msgstr "Si au contraire, on affecte un objet immuable à ``x`` ::" -#: faq/programming.rst:464 +#: faq/programming.rst:471 msgid "" "we can see that in this case ``x`` and ``y`` are not equal anymore. This is " "because integers are :term:`immutable`, and when we do ``x = x + 1`` we are " @@ -832,16 +843,17 @@ msgstr "" "(``x`` fait désormais référence à ``6`` mais ``y`` fait toujours référence à " "``5``)." -#: faq/programming.rst:472 +#: faq/programming.rst:479 +#, fuzzy msgid "" "Some operations (for example ``y.append(10)`` and ``y.sort()``) mutate the " "object, whereas superficially similar operations (for example ``y = y + " -"[10]`` and ``sorted(y)``) create a new object. In general in Python (and in " -"all cases in the standard library) a method that mutates an object will " -"return ``None`` to help avoid getting the two types of operations confused. " -"So if you mistakenly write ``y.sort()`` thinking it will give you a sorted " -"copy of ``y``, you'll instead end up with ``None``, which will likely cause " -"your program to generate an easily diagnosed error." +"[10]`` and :func:`sorted(y) `) create a new object. In general in " +"Python (and in all cases in the standard library) a method that mutates an " +"object will return ``None`` to help avoid getting the two types of " +"operations confused. So if you mistakenly write ``y.sort()`` thinking it " +"will give you a sorted copy of ``y``, you'll instead end up with ``None``, " +"which will likely cause your program to generate an easily diagnosed error." msgstr "" "Certaines opérations (par exemple, ``y.append(10)`` et ``y.sort()``) " "modifient l'objet, alors que des opérations identiques en apparence (par " @@ -852,7 +864,7 @@ msgstr "" "obtenir une copie triée de ``y`` donne ``None``, ce qui conduit très souvent " "le programme à générer une erreur facile à diagnostiquer." -#: faq/programming.rst:481 +#: faq/programming.rst:488 msgid "" "However, there is one class of operations where the same operation sometimes " "has different behaviors with different types: the augmented assignment " @@ -868,11 +880,11 @@ msgstr "" "``a_list``, alors que ``some_tuple += (1, 2, 3)`` et ``some_int += 1`` " "créent de nouveaux objets)." -#: faq/programming.rst:488 +#: faq/programming.rst:495 msgid "In other words:" msgstr "En d'autres termes :" -#: faq/programming.rst:490 +#: faq/programming.rst:497 msgid "" "If we have a mutable object (:class:`list`, :class:`dict`, :class:`set`, " "etc.), we can use some specific operations to mutate it and all the " @@ -882,7 +894,7 @@ msgstr "" "class:`list`, :class:`dict`, :class:`set`, etc.) et toutes les variables qui " "y font référence verront le changement." -#: faq/programming.rst:493 +#: faq/programming.rst:500 msgid "" "If we have an immutable object (:class:`str`, :class:`int`, :class:`tuple`, " "etc.), all the variables that refer to it will always see the same value, " @@ -894,7 +906,7 @@ msgstr "" "opérations qui transforment cette valeur en une nouvelle valeur renvoient " "toujours un nouvel objet." -#: faq/programming.rst:498 +#: faq/programming.rst:505 msgid "" "If you want to know if two variables refer to the same object or not, you " "can use the :keyword:`is` operator, or the built-in function :func:`id`." @@ -902,13 +914,13 @@ msgstr "" "L'opérateur :keyword:`is` ou la fonction native :func:`id` permettent de " "savoir si deux variables font référence au même objet." -#: faq/programming.rst:503 +#: faq/programming.rst:510 msgid "How do I write a function with output parameters (call by reference)?" msgstr "" "Comment écrire une fonction qui modifie ses paramètres ? (passage par " "référence)" -#: faq/programming.rst:505 +#: faq/programming.rst:512 msgid "" "Remember that arguments are passed by assignment in Python. Since " "assignment just creates references to objects, there's no alias between an " @@ -921,15 +933,15 @@ msgstr "" "de passage par référence en soi. Il y a cependant plusieurs façons d'en " "émuler un." -#: faq/programming.rst:510 +#: faq/programming.rst:517 msgid "By returning a tuple of the results::" msgstr "En renvoyant un *n*-uplet de résultats ::" -#: faq/programming.rst:521 +#: faq/programming.rst:528 msgid "This is almost always the clearest solution." msgstr "C'est presque toujours la meilleure solution." -#: faq/programming.rst:523 +#: faq/programming.rst:530 msgid "" "By using global variables. This isn't thread-safe, and is not recommended." msgstr "" @@ -937,33 +949,33 @@ msgstr "" "des contextes à plusieurs fils d'exécution (elle n'est pas *thread-safe*), " "et n'est donc pas recommandée." -#: faq/programming.rst:525 +#: faq/programming.rst:532 msgid "By passing a mutable (changeable in-place) object::" msgstr "En passant un objet muable (modifiable sur place) ::" -#: faq/programming.rst:536 +#: faq/programming.rst:543 msgid "By passing in a dictionary that gets mutated::" msgstr "En passant un dictionnaire, qui sera modifié ::" -#: faq/programming.rst:547 +#: faq/programming.rst:554 msgid "Or bundle up values in a class instance::" msgstr "Ou regrouper les valeurs dans une instance de classe ::" -#: faq/programming.rst:564 +#: faq/programming.rst:571 msgid "There's almost never a good reason to get this complicated." msgstr "Faire quelque chose d'aussi compliqué est rarement une bonne idée." -#: faq/programming.rst:566 +#: faq/programming.rst:573 msgid "Your best choice is to return a tuple containing the multiple results." msgstr "" "La meilleure option reste de renvoyer un *n*-uplet contenant les différents " "résultats." -#: faq/programming.rst:570 +#: faq/programming.rst:577 msgid "How do you make a higher order function in Python?" msgstr "Comment construire une fonction d'ordre supérieur en Python ?" -#: faq/programming.rst:572 +#: faq/programming.rst:579 msgid "" "You have two choices: you can use nested scopes or you can use callable " "objects. For example, suppose you wanted to define ``linear(a,b)`` which " @@ -975,19 +987,19 @@ msgstr "" "``linear(a, b)`` qui renvoie une fonction ``f(x)`` qui calcule la valeur " "``a*x+b``. En utilisant les portées imbriquées ::" -#: faq/programming.rst:581 +#: faq/programming.rst:588 msgid "Or using a callable object::" msgstr "Ou en utilisant un objet appelable ::" -#: faq/programming.rst:591 +#: faq/programming.rst:598 msgid "In both cases, ::" msgstr "Dans les deux cas ::" -#: faq/programming.rst:595 +#: faq/programming.rst:602 msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." msgstr "donne un objet appelable où ``taxes(10e6) == 0.3 * 10e6 + 2``." -#: faq/programming.rst:597 +#: faq/programming.rst:604 msgid "" "The callable object approach has the disadvantage that it is a bit slower " "and results in slightly longer code. However, note that a collection of " @@ -998,11 +1010,11 @@ msgstr "" "collection d'objet appelables peuvent partager leurs signatures par " "héritage ::" -#: faq/programming.rst:606 +#: faq/programming.rst:613 msgid "Object can encapsulate state for several methods::" msgstr "Les objets peuvent encapsuler un état pour plusieurs méthodes ::" -#: faq/programming.rst:624 +#: faq/programming.rst:631 msgid "" "Here ``inc()``, ``dec()`` and ``reset()`` act like functions which share the " "same counting variable." @@ -1010,11 +1022,11 @@ msgstr "" "Ici ``inc()``, ``dec()`` et ``reset()`` agissent comme des fonctions " "partageant une même variable compteur." -#: faq/programming.rst:629 +#: faq/programming.rst:636 msgid "How do I copy an object in Python?" msgstr "Comment copier un objet en Python ?" -#: faq/programming.rst:631 +#: faq/programming.rst:638 msgid "" "In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " "case. Not all objects can be copied, but most can." @@ -1022,7 +1034,7 @@ msgstr "" "En général, essayez :func:`copy.copy` ou :func:`copy.deepcopy`. Tous les " "objets ne peuvent pas être copiés, mais la plupart le peuvent." -#: faq/programming.rst:634 +#: faq/programming.rst:641 msgid "" "Some objects can be copied more easily. Dictionaries have a :meth:`~dict." "copy` method::" @@ -1030,29 +1042,30 @@ msgstr "" "Certains objets peuvent être copiés plus facilement que d'autres. Les " "dictionnaires ont une méthode :meth:`~dict.copy` ::" -#: faq/programming.rst:639 +#: faq/programming.rst:646 msgid "Sequences can be copied by slicing::" msgstr "Les séquences peuvent être copiées via la syntaxe des tranches ::" -#: faq/programming.rst:645 +#: faq/programming.rst:652 msgid "How can I find the methods or attributes of an object?" msgstr "Comment récupérer les méthodes ou les attributs d'un objet ?" -#: faq/programming.rst:647 +#: faq/programming.rst:654 +#, fuzzy msgid "" -"For an instance x of a user-defined class, ``dir(x)`` returns an " -"alphabetized list of the names containing the instance attributes and " +"For an instance ``x`` of a user-defined class, :func:`dir(x) ` returns " +"an alphabetized list of the names containing the instance attributes and " "methods and attributes defined by its class." msgstr "" "Pour une instance x d'une classe définie par un utilisateur, ``dir(x)`` " "renvoie une liste alphabétique des noms contenants les attributs de " "l'instance, et les attributs et méthodes définies par sa classe." -#: faq/programming.rst:653 +#: faq/programming.rst:660 msgid "How can my code discover the name of an object?" msgstr "Comment un code peut-il obtenir le nom d'un objet ?" -#: faq/programming.rst:655 +#: faq/programming.rst:662 msgid "" "Generally speaking, it can't, because objects don't really have names. " "Essentially, assignment always binds a name to a value; the same is true of " @@ -1065,12 +1078,14 @@ msgstr "" "différence près que, dans ce cas, la valeur est un appelable. Par exemple, " "dans le code suivant ::" -#: faq/programming.rst:671 +#: faq/programming.rst:678 +#, fuzzy msgid "" "Arguably the class has a name: even though it is bound to two names and " -"invoked through the name B the created instance is still reported as an " -"instance of class A. However, it is impossible to say whether the " -"instance's name is a or b, since both names are bound to the same value." +"invoked through the name ``B`` the created instance is still reported as an " +"instance of class ``A``. However, it is impossible to say whether the " +"instance's name is ``a`` or ``b``, since both names are bound to the same " +"value." msgstr "" "Affirmer que la classe a un nom est discutable. Bien qu'elle soit liée à " "deux noms, et qu'elle soit appelée via le nom B, l'instance créée déclare " @@ -1078,7 +1093,7 @@ msgstr "" "dire si le nom de l'instance est a ou b, les deux noms étant attachés à la " "même valeur." -#: faq/programming.rst:676 +#: faq/programming.rst:683 msgid "" "Generally speaking it should not be necessary for your code to \"know the " "names\" of particular values. Unless you are deliberately writing " @@ -1090,7 +1105,7 @@ msgstr "" "en train d'écrire un programme introspectif, c'est souvent l'indication " "qu'un changement d'approche serait bénéfique." -#: faq/programming.rst:681 +#: faq/programming.rst:688 msgid "" "In comp.lang.python, Fredrik Lundh once gave an excellent analogy in answer " "to this question:" @@ -1098,7 +1113,7 @@ msgstr "" "Sur *comp.lang.python*, Fredrik Lundh a donné un jour une excellente " "analogie pour répondre à cette question :" -#: faq/programming.rst:684 +#: faq/programming.rst:691 msgid "" "The same way as you get the name of that cat you found on your porch: the " "cat (object) itself cannot tell you its name, and it doesn't really care -- " @@ -1110,7 +1125,7 @@ msgstr "" "­– alors le meilleur moyen de savoir comment il s'appelle est de demander à " "tous vos voisins (espaces de nommage) si c'est leur chat (objet)…" -#: faq/programming.rst:689 +#: faq/programming.rst:696 msgid "" "....and don't be surprised if you'll find that it's known by many names, or " "no name at all!" @@ -1118,16 +1133,16 @@ msgstr "" "…et ne soyez pas surpris si vous découvrez qu'il est connu sous plusieurs " "noms, ou s'il n'a pas de nom du tout !" -#: faq/programming.rst:694 +#: faq/programming.rst:701 msgid "What's up with the comma operator's precedence?" msgstr "Qu'en est-il de la précédence de l'opérateur virgule ?" -#: faq/programming.rst:696 +#: faq/programming.rst:703 msgid "Comma is not an operator in Python. Consider this session::" msgstr "" "La virgule n'est pas un opérateur en Python. Observez le code suivant ::" -#: faq/programming.rst:701 +#: faq/programming.rst:708 msgid "" "Since the comma is not an operator, but a separator between expressions the " "above is evaluated as if you had entered::" @@ -1136,11 +1151,11 @@ msgstr "" "expressions, l'expression ci-dessus est évaluée de la même façon que si vous " "aviez écrit ::" -#: faq/programming.rst:706 +#: faq/programming.rst:713 msgid "not::" msgstr "et non ::" -#: faq/programming.rst:710 +#: faq/programming.rst:717 msgid "" "The same is true of the various assignment operators (``=``, ``+=`` etc). " "They are not truly operators but syntactic delimiters in assignment " @@ -1150,15 +1165,15 @@ msgstr "" "ne sont pas vraiment des opérateurs mais plutôt des délimiteurs syntaxiques " "dans les instructions d'affectation." -#: faq/programming.rst:715 +#: faq/programming.rst:722 msgid "Is there an equivalent of C's \"?:\" ternary operator?" msgstr "Existe-t-il un équivalent à l'opérateur ternaire « ?: » du C ?" -#: faq/programming.rst:717 +#: faq/programming.rst:724 msgid "Yes, there is. The syntax is as follows::" msgstr "Oui. Sa syntaxe est la suivante ::" -#: faq/programming.rst:724 +#: faq/programming.rst:731 msgid "" "Before this syntax was introduced in Python 2.5, a common idiom was to use " "logical operators::" @@ -1166,7 +1181,7 @@ msgstr "" "Avant l'introduction de cette syntaxe dans Python 2.5, il était courant " "d'utiliser les opérateurs de logique ::" -#: faq/programming.rst:729 +#: faq/programming.rst:736 msgid "" "However, this idiom is unsafe, as it can give wrong results when *on_true* " "has a false boolean value. Therefore, it is always better to use the ``... " @@ -1176,13 +1191,13 @@ msgstr "" "la valeur booléenne fausse. Il faut donc toujours utiliser la forme ``... " "if ... else ...``." -#: faq/programming.rst:735 +#: faq/programming.rst:742 msgid "Is it possible to write obfuscated one-liners in Python?" msgstr "" "Est-il possible d'écrire des programmes obscurcis (*obfuscated*) d'une ligne " "en Python ?" -#: faq/programming.rst:737 +#: faq/programming.rst:744 #, fuzzy msgid "" "Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!" @@ -1193,17 +1208,17 @@ msgstr "" "keyword:`!lambda`. Par exemple les trois morceaux de code suivants, créés " "par Ulf Bartelt ::" -#: faq/programming.rst:764 +#: faq/programming.rst:771 msgid "Don't try this at home, kids!" msgstr "Les enfants, ne faites pas ça chez vous !" -#: faq/programming.rst:770 +#: faq/programming.rst:777 msgid "What does the slash(/) in the parameter list of a function mean?" msgstr "" "Que signifie la barre oblique (/) dans la liste des paramètres d'une " "fonction ?" -#: faq/programming.rst:772 +#: faq/programming.rst:779 #, fuzzy msgid "" "A slash in the argument list of a function denotes that the parameters prior " @@ -1222,7 +1237,7 @@ msgstr "" "que des paramètres uniquement positionnels. Sa documentation est la " "suivante ::" -#: faq/programming.rst:785 +#: faq/programming.rst:792 msgid "" "The slash at the end of the parameter list means that both parameters are " "positional-only. Thus, calling :func:`divmod` with keyword arguments would " @@ -1232,15 +1247,15 @@ msgstr "" "paramètres sont uniquement positionnels. Et donc, appeler :func:`divmod` " "avec des arguments nommés provoque une erreur ::" -#: faq/programming.rst:796 +#: faq/programming.rst:803 msgid "Numbers and strings" msgstr "Nombres et chaînes de caractères" -#: faq/programming.rst:799 +#: faq/programming.rst:806 msgid "How do I specify hexadecimal and octal integers?" msgstr "Comment écrire des entiers hexadécimaux ou octaux ?" -#: faq/programming.rst:801 +#: faq/programming.rst:808 msgid "" "To specify an octal digit, precede the octal value with a zero, and then a " "lower or uppercase \"o\". For example, to set the variable \"a\" to the " @@ -1250,7 +1265,7 @@ msgstr "" "puis un \"o\" majuscule ou minuscule. Par exemple pour affecter la valeur " "octale \"10\" (8 en décimal) à la variable \"a\", tapez ::" -#: faq/programming.rst:809 +#: faq/programming.rst:816 msgid "" "Hexadecimal is just as easy. Simply precede the hexadecimal number with a " "zero, and then a lower or uppercase \"x\". Hexadecimal digits can be " @@ -1261,11 +1276,11 @@ msgstr "" "peuvent être écrits en majuscules ou en minuscules. Par exemple, dans " "l'interpréteur Python ::" -#: faq/programming.rst:822 +#: faq/programming.rst:829 msgid "Why does -22 // 10 return -3?" msgstr "Pourquoi ``-22 // 10`` donne-t-il ``-3`` ?" -#: faq/programming.rst:824 +#: faq/programming.rst:831 msgid "" "It's primarily driven by the desire that ``i % j`` have the same sign as " "``j``. If you want that, and also want::" @@ -1273,7 +1288,7 @@ msgstr "" "Cela est principalement dû à la volonté que ``i % j`` ait le même signe que " "j. Si vous voulez en plus que ::" -#: faq/programming.rst:829 +#: faq/programming.rst:836 msgid "" "then integer division has to return the floor. C also requires that " "identity to hold, and then compilers that truncate ``i // j`` need to make " @@ -1283,7 +1298,7 @@ msgstr "" "également que cette égalité soit vérifiée, et donc les compilateurs qui " "tronquent ``i // j`` ont besoin que ``i % j`` ait le même signe que ``i``." -#: faq/programming.rst:833 +#: faq/programming.rst:840 msgid "" "There are few real use cases for ``i % j`` when ``j`` is negative. When " "``j`` is positive, there are many, and in virtually all of them it's more " @@ -1297,22 +1312,23 @@ msgstr "" "10 h maintenant, qu'affichait-elle il y a 200 heures ? ``-190 % 12 == 2`` " "est utile ; ``-190 % 12 == -10`` est un bogue en puissance." -#: faq/programming.rst:841 +#: faq/programming.rst:848 msgid "How do I get int literal attribute instead of SyntaxError?" msgstr "" "Pourquoi ai-je une erreur de syntaxe en essayant de lire un attribut d'un " "entier littéral ?" -#: faq/programming.rst:843 +#: faq/programming.rst:850 +#, fuzzy msgid "" -"Trying to lookup an ``int`` literal attribute in the normal manner gives a " -"syntax error because the period is seen as a decimal point::" +"Trying to lookup an ``int`` literal attribute in the normal manner gives a :" +"exc:`SyntaxError` because the period is seen as a decimal point::" msgstr "" "Essayer d'utiliser l'opérateur d'accès à un attribut sur un entier littéral " "conduit à une erreur de syntaxe car le point est compris comme un séparateur " "décimal en notation anglo-saxonne :" -#: faq/programming.rst:852 +#: faq/programming.rst:859 msgid "" "The solution is to separate the literal from the period with either a space " "or parentheses." @@ -1320,11 +1336,11 @@ msgstr "" "Il faut séparer l'entier du point, soit avec une espace, soit avec des " "parenthèses." -#: faq/programming.rst:862 +#: faq/programming.rst:869 msgid "How do I convert a string to a number?" msgstr "Comment convertir une chaîne de caractères en nombre ?" -#: faq/programming.rst:864 +#: faq/programming.rst:871 msgid "" "For integers, use the built-in :func:`int` type constructor, e.g. " "``int('144') == 144``. Similarly, :func:`float` converts to floating-point, " @@ -1334,7 +1350,7 @@ msgstr "" "``int('144') == 144``. De façon similaire, :func:`float` donne la valeur " "flottante, par exemple ``float('144') == 144.0``." -#: faq/programming.rst:868 +#: faq/programming.rst:875 msgid "" "By default, these interpret the number as decimal, so that ``int('0144') == " "144`` holds true, and ``int('0x144')`` raises :exc:`ValueError`. " @@ -1350,7 +1366,7 @@ msgstr "" "donnée est 0, le nombre est interprété selon les règles Python : un préfixe " "``0o`` indique de l'octal et ``0x`` indique de l'hexadécimal." -#: faq/programming.rst:875 +#: faq/programming.rst:882 msgid "" "Do not use the built-in function :func:`eval` if all you need is to convert " "strings to numbers. :func:`eval` will be significantly slower and it " @@ -1366,7 +1382,7 @@ msgstr "" "pourrait passer ``__import__('os').system(\"rm -rf $HOME\")`` ce qui " "effacerait votre répertoire personnel." -#: faq/programming.rst:882 +#: faq/programming.rst:889 msgid "" ":func:`eval` also has the effect of interpreting numbers as Python " "expressions, so that e.g. ``eval('09')`` gives a syntax error because Python " @@ -1377,17 +1393,18 @@ msgstr "" "parce que Python ne permet pas les '0' en tête d'un nombre décimal (à " "l'exception du nombre '0')." -#: faq/programming.rst:888 +#: faq/programming.rst:895 msgid "How do I convert a number to a string?" msgstr "Comment convertir un nombre en chaîne de caractères ?" -#: faq/programming.rst:890 +#: faq/programming.rst:897 +#, fuzzy msgid "" -"To convert, e.g., the number 144 to the string '144', use the built-in type " -"constructor :func:`str`. If you want a hexadecimal or octal representation, " -"use the built-in functions :func:`hex` or :func:`oct`. For fancy " -"formatting, see the :ref:`f-strings` and :ref:`formatstrings` sections, e.g. " -"``\"{:04d}\".format(144)`` yields ``'0144'`` and ``\"{:.3f}\"." +"To convert, e.g., the number ``144`` to the string ``'144'``, use the built-" +"in type constructor :func:`str`. If you want a hexadecimal or octal " +"representation, use the built-in functions :func:`hex` or :func:`oct`. For " +"fancy formatting, see the :ref:`f-strings` and :ref:`formatstrings` " +"sections, e.g. ``\"{:04d}\".format(144)`` yields ``'0144'`` and ``\"{:.3f}\"." "format(1.0/3.0)`` yields ``'0.333'``." msgstr "" "Pour transformer, par exemple, le nombre 144 en la chaîne de caractères " @@ -1398,11 +1415,11 @@ msgstr "" "`formatstrings`, par exemple ``\"{:04d}\".format(144)`` produit ``'0144'`` " "et ``\"{:.3f}\".format(1.0/3.0)`` produit ``'0.333'``." -#: faq/programming.rst:899 +#: faq/programming.rst:906 msgid "How do I modify a string in place?" msgstr "Comment modifier une chaîne de caractères « sur place » ?" -#: faq/programming.rst:901 +#: faq/programming.rst:908 msgid "" "You can't, because strings are immutable. In most situations, you should " "simply construct a new string from the various parts you want to assemble it " @@ -1416,17 +1433,17 @@ msgstr "" "capable de modifier de la donnée Unicode « sur place », essayez d'utiliser " "un objet :class:`io.StringIO` ou le module :mod:`array` ::" -#: faq/programming.rst:931 +#: faq/programming.rst:938 msgid "How do I use strings to call functions/methods?" msgstr "" "Comment utiliser des chaînes de caractères pour appeler des fonctions/" "méthodes ?" -#: faq/programming.rst:933 +#: faq/programming.rst:940 msgid "There are various techniques." msgstr "Il y a plusieurs façons de faire." -#: faq/programming.rst:935 +#: faq/programming.rst:942 msgid "" "The best is to use a dictionary that maps strings to functions. The primary " "advantage of this technique is that the strings do not need to match the " @@ -1439,11 +1456,11 @@ msgstr "" "fonctions. C'est aussi la façon principale d'imiter la construction " "\"case\" ::" -#: faq/programming.rst:950 +#: faq/programming.rst:957 msgid "Use the built-in function :func:`getattr`::" msgstr "Utiliser la fonction :func:`getattr` ::" -#: faq/programming.rst:955 +#: faq/programming.rst:962 msgid "" "Note that :func:`getattr` works on any object, including classes, class " "instances, modules, and so on." @@ -1451,17 +1468,17 @@ msgstr "" "Notez que :func:`getattr` marche sur n'importe quel objet, ceci inclut les " "classes, les instances de classes, les modules et ainsi de suite." -#: faq/programming.rst:958 +#: faq/programming.rst:965 msgid "This is used in several places in the standard library, like this::" msgstr "" "Ceci est utilisé à plusieurs reprises dans la bibliothèque standard, de " "cette façon ::" -#: faq/programming.rst:971 +#: faq/programming.rst:978 msgid "Use :func:`locals` to resolve the function name::" msgstr "Utilisez :func:`locals` pour résoudre le nom de la fonction ::" -#: faq/programming.rst:983 +#: faq/programming.rst:990 msgid "" "Is there an equivalent to Perl's chomp() for removing trailing newlines from " "strings?" @@ -1469,7 +1486,7 @@ msgstr "" "Existe-t-il un équivalent à la fonction ``chomp()`` de Perl, pour retirer " "les caractères de fin de ligne d'une chaîne de caractères ?" -#: faq/programming.rst:985 +#: faq/programming.rst:992 msgid "" "You can use ``S.rstrip(\"\\r\\n\")`` to remove all occurrences of any line " "terminator from the end of the string ``S`` without removing other trailing " @@ -1483,7 +1500,7 @@ msgstr "" "représente plus d'une ligne, avec plusieurs lignes vides, les marqueurs de " "fin de ligne de chaque ligne vide seront retirés ::" -#: faq/programming.rst:997 +#: faq/programming.rst:1004 msgid "" "Since this is typically only desired when reading text one line at a time, " "using ``S.rstrip()`` this way works well." @@ -1491,20 +1508,21 @@ msgstr "" "Vu que cela ne sert presque qu'à lire un texte ligne à ligne, utiliser ``S." "rstrip()`` de cette manière fonctionne correctement." -#: faq/programming.rst:1002 +#: faq/programming.rst:1009 msgid "Is there a scanf() or sscanf() equivalent?" msgstr "Existe-t-il un équivalent à ``scanf()`` ou ``sscanf()`` ?" -#: faq/programming.rst:1004 +#: faq/programming.rst:1011 msgid "Not as such." msgstr "Pas exactement." -#: faq/programming.rst:1006 +#: faq/programming.rst:1013 +#, fuzzy msgid "" "For simple input parsing, the easiest approach is usually to split the line " "into whitespace-delimited words using the :meth:`~str.split` method of " "string objects and then convert decimal strings to numeric values using :" -"func:`int` or :func:`float`. ``split()`` supports an optional \"sep\" " +"func:`int` or :func:`float`. :meth:`!split()` supports an optional \"sep\" " "parameter which is useful if the line uses something other than whitespace " "as a separator." msgstr "" @@ -1516,33 +1534,74 @@ msgstr "" "paramètre optionnel \"sep\" qui est utile si la ligne utilise autre chose " "que des espaces comme séparateurs." -#: faq/programming.rst:1012 +#: faq/programming.rst:1019 +#, fuzzy msgid "" "For more complicated input parsing, regular expressions are more powerful " -"than C's :c:func:`sscanf` and better suited for the task." +"than C's ``sscanf`` and better suited for the task." msgstr "" "Pour des analyses plus compliquées, les expressions rationnelles sont plus " "puissantes que la fonction :c:func:`sscanf` de C et mieux adaptées à la " "tâche." -#: faq/programming.rst:1017 +#: faq/programming.rst:1024 msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" msgstr "" "Que signifient les erreurs ``UnicodeDecodeError`` ou ``UnicodeEncodeError`` ?" -#: faq/programming.rst:1019 +#: faq/programming.rst:1026 msgid "See the :ref:`unicode-howto`." msgstr "Voir :ref:`unicode-howto`." -#: faq/programming.rst:1023 +#: faq/programming.rst:1032 +msgid "Can I end a raw string with an odd number of backslashes?" +msgstr "" + +#: faq/programming.rst:1034 +msgid "" +"A raw string ending with an odd number of backslashes will escape the " +"string's quote::" +msgstr "" + +#: faq/programming.rst:1042 +msgid "" +"There are several workarounds for this. One is to use regular strings and " +"double the backslashes::" +msgstr "" + +#: faq/programming.rst:1048 +msgid "" +"Another is to concatenate a regular string containing an escaped backslash " +"to the raw string::" +msgstr "" + +#: faq/programming.rst:1054 +msgid "" +"It is also possible to use :func:`os.path.join` to append a backslash on " +"Windows::" +msgstr "" + +#: faq/programming.rst:1059 +msgid "" +"Note that while a backslash will \"escape\" a quote for the purposes of " +"determining where the raw string ends, no escaping occurs when interpreting " +"the value of the raw string. That is, the backslash remains present in the " +"value of the raw string::" +msgstr "" + +#: faq/programming.rst:1067 +msgid "Also see the specification in the :ref:`language reference `." +msgstr "" + +#: faq/programming.rst:1070 msgid "Performance" msgstr "Performances" -#: faq/programming.rst:1026 +#: faq/programming.rst:1073 msgid "My program is too slow. How do I speed it up?" msgstr "Mon programme est trop lent. Comment l'accélérer ?" -#: faq/programming.rst:1028 +#: faq/programming.rst:1075 msgid "" "That's a tough one, in general. First, here are a list of things to " "remember before diving further:" @@ -1550,7 +1609,7 @@ msgstr "" "Question difficile en général. Il faut garder en tête les points suivants " "avant d'aller plus loin :" -#: faq/programming.rst:1031 +#: faq/programming.rst:1078 msgid "" "Performance characteristics vary across Python implementations. This FAQ " "focuses on :term:`CPython`." @@ -1558,7 +1617,7 @@ msgstr "" "Les performances varient en fonction des implémentations de Python. Cette " "FAQ ne traite que de :term:`CPython`." -#: faq/programming.rst:1033 +#: faq/programming.rst:1080 msgid "" "Behaviour can vary across operating systems, especially when talking about I/" "O or multi-threading." @@ -1567,7 +1626,7 @@ msgstr "" "tout particulièrement quand il s'agit d'entrée/sortie ou de fils d'exécution " "multiples." -#: faq/programming.rst:1035 +#: faq/programming.rst:1082 msgid "" "You should always find the hot spots in your program *before* attempting to " "optimize any code (see the :mod:`profile` module)." @@ -1576,7 +1635,7 @@ msgstr "" "programme *avant* d'essayer d'optimiser du code (voir le module :mod:" "`profile`)." -#: faq/programming.rst:1037 +#: faq/programming.rst:1084 msgid "" "Writing benchmark scripts will allow you to iterate quickly when searching " "for improvements (see the :mod:`timeit` module)." @@ -1584,7 +1643,7 @@ msgstr "" "Écrire des scripts d'évaluation de performances permet de progresser " "rapidement dans la recherche d'améliorations (voir le module :mod:`timeit`)." -#: faq/programming.rst:1039 +#: faq/programming.rst:1086 msgid "" "It is highly recommended to have good code coverage (through unit testing or " "any other technique) before potentially introducing regressions hidden in " @@ -1594,7 +1653,7 @@ msgstr "" "des tests unitaires ou autre) avant d'ajouter des erreurs dans des " "optimisations sophistiquées." -#: faq/programming.rst:1043 +#: faq/programming.rst:1090 msgid "" "That being said, there are many tricks to speed up Python code. Here are " "some general principles which go a long way towards reaching acceptable " @@ -1604,7 +1663,7 @@ msgstr "" "Voici quelques principes généraux qui peuvent aider à atteindre des niveaux " "de performance satisfaisants :" -#: faq/programming.rst:1047 +#: faq/programming.rst:1094 msgid "" "Making your algorithms faster (or changing to faster ones) can yield much " "larger benefits than trying to sprinkle micro-optimization tricks all over " @@ -1614,7 +1673,7 @@ msgstr "" "produire de bien meilleurs résultats que d'optimiser çà et là de petites " "portions du code." -#: faq/programming.rst:1051 +#: faq/programming.rst:1098 msgid "" "Use the right data structures. Study documentation for the :ref:`bltin-" "types` and the :mod:`collections` module." @@ -1622,7 +1681,7 @@ msgstr "" "Utiliser les structures de données adaptées. Se référer à la documentation " "des :ref:`bltin-types` et du module :mod:`collections`." -#: faq/programming.rst:1054 +#: faq/programming.rst:1101 msgid "" "When the standard library provides a primitive for doing something, it is " "likely (although not guaranteed) to be faster than any alternative you may " @@ -1641,7 +1700,7 @@ msgstr "" "référer à la section :ref:`sortinghowto` pour des exemples d'utilisation " "courante)." -#: faq/programming.rst:1062 +#: faq/programming.rst:1109 msgid "" "Abstractions tend to create indirections and force the interpreter to work " "more. If the levels of indirection outweigh the amount of useful work done, " @@ -1655,7 +1714,7 @@ msgstr "" "éviter trop d'indirections, en particulier sous la forme de fonctions ou " "méthodes trop petites (qui nuisent aussi souvent à la clarté du code)." -#: faq/programming.rst:1068 +#: faq/programming.rst:1115 #, fuzzy msgid "" "If you have reached the limit of what pure Python can allow, there are tools " @@ -1677,7 +1736,7 @@ msgstr "" "vous pouvez aussi :ref:`écrire un module d'extension en C` " "vous-même." -#: faq/programming.rst:1078 +#: faq/programming.rst:1125 msgid "" "The wiki page devoted to `performance tips `_." @@ -1685,13 +1744,13 @@ msgstr "" "La page wiki dédiée aux `astuces de performance `_." -#: faq/programming.rst:1084 +#: faq/programming.rst:1131 msgid "What is the most efficient way to concatenate many strings together?" msgstr "" "Quelle est la manière la plus efficace de concaténer un grand nombre de " "chaînes de caractères ?" -#: faq/programming.rst:1086 +#: faq/programming.rst:1133 msgid "" ":class:`str` and :class:`bytes` objects are immutable, therefore " "concatenating many strings together is inefficient as each concatenation " @@ -1704,7 +1763,7 @@ msgstr "" "général, la complexité est quadratique par rapport à la taille totale de la " "chaîne." -#: faq/programming.rst:1091 +#: faq/programming.rst:1138 msgid "" "To accumulate many :class:`str` objects, the recommended idiom is to place " "them into a list and call :meth:`str.join` at the end::" @@ -1713,13 +1772,13 @@ msgstr "" "recommandée consiste à toutes les mettre dans une liste et appeler la " "méthode :meth:`str.join` à la fin ::" -#: faq/programming.rst:1099 +#: faq/programming.rst:1146 msgid "(another reasonably efficient idiom is to use :class:`io.StringIO`)" msgstr "" "(une autre technique relativement efficace consiste à utiliser :class:`io." "StringIO`)" -#: faq/programming.rst:1101 +#: faq/programming.rst:1148 msgid "" "To accumulate many :class:`bytes` objects, the recommended idiom is to " "extend a :class:`bytearray` object using in-place concatenation (the ``+=`` " @@ -1729,15 +1788,15 @@ msgstr "" "recommandée consiste à étendre un objet :class:`bytearray` en utilisant la " "concaténation en-place (l'opérateur ``+=``) ::" -#: faq/programming.rst:1110 +#: faq/programming.rst:1157 msgid "Sequences (Tuples/Lists)" msgstr "Séquences (*n*-uplets / listes)" -#: faq/programming.rst:1113 +#: faq/programming.rst:1160 msgid "How do I convert between tuples and lists?" msgstr "Comment convertir les listes en *n*-uplets et inversement ?" -#: faq/programming.rst:1115 +#: faq/programming.rst:1162 msgid "" "The type constructor ``tuple(seq)`` converts any sequence (actually, any " "iterable) into a tuple with the same items in the same order." @@ -1746,7 +1805,7 @@ msgstr "" "précisément, tout itérable) en un *n*-uplet avec les mêmes éléments dans le " "même ordre." -#: faq/programming.rst:1118 +#: faq/programming.rst:1165 msgid "" "For example, ``tuple([1, 2, 3])`` yields ``(1, 2, 3)`` and ``tuple('abc')`` " "yields ``('a', 'b', 'c')``. If the argument is a tuple, it does not make a " @@ -1759,7 +1818,7 @@ msgstr "" "fonction économique à appeler quand vous ne savez pas si votre objet est " "déjà un *n*-uplet." -#: faq/programming.rst:1123 +#: faq/programming.rst:1170 msgid "" "The type constructor ``list(seq)`` converts any sequence or iterable into a " "list with the same items in the same order. For example, ``list((1, 2, " @@ -1772,11 +1831,11 @@ msgstr "" "``['a','b','c']``. Si l'argument est une liste, il renvoie une copie, de la " "même façon que ``seq[:]``." -#: faq/programming.rst:1130 +#: faq/programming.rst:1177 msgid "What's a negative index?" msgstr "Qu'est-ce qu'un indice négatif ?" -#: faq/programming.rst:1132 +#: faq/programming.rst:1179 msgid "" "Python sequences are indexed with positive numbers and negative numbers. " "For positive numbers 0 is the first index 1 is the second index and so " @@ -1790,7 +1849,7 @@ msgstr "" "dernier indice, ``-2`` est le pénultième (avant-dernier), et ainsi de suite. " "On peut aussi dire que ``seq[-n]`` est équivalent à ``seq[len(seq)-n]``." -#: faq/programming.rst:1137 +#: faq/programming.rst:1184 msgid "" "Using negative indices can be very convenient. For example ``S[:-1]`` is " "all of the string except for its last character, which is useful for " @@ -1801,15 +1860,15 @@ msgstr "" "caractère, ce qui est pratique pour retirer un caractère de fin de ligne à " "la fin d'une chaîne." -#: faq/programming.rst:1143 +#: faq/programming.rst:1190 msgid "How do I iterate over a sequence in reverse order?" msgstr "Comment itérer à rebours sur une séquence ?" -#: faq/programming.rst:1145 +#: faq/programming.rst:1192 msgid "Use the :func:`reversed` built-in function::" msgstr "Utilisez la fonction native :func:`reversed` ::" -#: faq/programming.rst:1150 +#: faq/programming.rst:1197 msgid "" "This won't touch your original sequence, but build a new copy with reversed " "order to iterate over." @@ -1817,21 +1876,21 @@ msgstr "" "Cela ne modifie pas la séquence initiale, mais construit à la place une " "copie en ordre inverse pour itérer dessus." -#: faq/programming.rst:1155 +#: faq/programming.rst:1202 msgid "How do you remove duplicates from a list?" msgstr "Comment retirer les doublons d'une liste ?" -#: faq/programming.rst:1157 +#: faq/programming.rst:1204 msgid "See the Python Cookbook for a long discussion of many ways to do this:" msgstr "" "Lisez le « livre de recettes » Python pour trouver une longue discussion sur " "les nombreuses approches possibles :" -#: faq/programming.rst:1159 +#: faq/programming.rst:1206 msgid "https://code.activestate.com/recipes/52560/" msgstr "https://code.activestate.com/recipes/52560/" -#: faq/programming.rst:1161 +#: faq/programming.rst:1208 msgid "" "If you don't mind reordering the list, sort it and then scan from the end of " "the list, deleting duplicates as you go::" @@ -1840,7 +1899,7 @@ msgstr "" "celle-ci, puis parcourez-la d'un bout à l'autre, en supprimant les doublons " "trouvés en chemin ::" -#: faq/programming.rst:1173 +#: faq/programming.rst:1220 msgid "" "If all elements of the list may be used as set keys (i.e. they are all :term:" "`hashable`) this is often faster ::" @@ -1849,7 +1908,7 @@ msgstr "" "dictionnaire (c'est-à-dire, qu'elles sont toutes :term:`hachables " "`) ceci est souvent plus rapide ::" -#: faq/programming.rst:1178 +#: faq/programming.rst:1225 msgid "" "This converts the list into a set, thereby removing duplicates, and then " "back into a list." @@ -1857,11 +1916,11 @@ msgstr "" "Ceci convertit la liste en un ensemble, ce qui supprime automatiquement les " "doublons, puis la transforme à nouveau en liste." -#: faq/programming.rst:1183 +#: faq/programming.rst:1230 msgid "How do you remove multiple items from a list" msgstr "Comment retirer les doublons d'une liste" -#: faq/programming.rst:1185 +#: faq/programming.rst:1232 msgid "" "As with removing duplicates, explicitly iterating in reverse with a delete " "condition is one possibility. However, it is easier and faster to use slice " @@ -1873,19 +1932,19 @@ msgstr "" "plus rapide d’utiliser le remplacement des tranches par une itération avant, " "implicite ou explicite. Voici trois variantes. ::" -#: faq/programming.rst:1194 +#: faq/programming.rst:1241 msgid "The list comprehension may be fastest." msgstr "La liste en compréhension est peut-être la plus rapide ::" -#: faq/programming.rst:1198 +#: faq/programming.rst:1245 msgid "How do you make an array in Python?" msgstr "Comment construire un tableau en Python ?" -#: faq/programming.rst:1200 +#: faq/programming.rst:1247 msgid "Use a list::" msgstr "Utilisez une liste ::" -#: faq/programming.rst:1204 +#: faq/programming.rst:1251 msgid "" "Lists are equivalent to C or Pascal arrays in their time complexity; the " "primary difference is that a Python list can contain objects of many " @@ -1895,29 +1954,32 @@ msgstr "" "principale différence est qu'une liste Python peut contenir des objets de " "différents types." -#: faq/programming.rst:1207 +#: faq/programming.rst:1254 +#, fuzzy msgid "" "The ``array`` module also provides methods for creating arrays of fixed " "types with compact representations, but they are slower to index than " -"lists. Also note that NumPy and other third party packages define array-" -"like structures with various characteristics as well." +"lists. Also note that `NumPy `_ and other third party " +"packages define array-like structures with various characteristics as well." msgstr "" "Le module ``array`` fournit des méthodes pour créer des tableaux de types " "fixes dans une représentation compacte, mais ils sont plus lents à indexer " "que les listes. Notez aussi que NumPy (et d'autres) fournissent différentes " "structures de type tableaux, avec des caractéristiques différentes." -#: faq/programming.rst:1212 +#: faq/programming.rst:1260 +#, fuzzy msgid "" -"To get Lisp-style linked lists, you can emulate cons cells using tuples::" +"To get Lisp-style linked lists, you can emulate *cons cells* using tuples::" msgstr "" "Pour obtenir des listes chaînées à la sauce Lisp, vous pouvez émuler les " "*cons cells* en utilisant des *n*-uplets ::" -#: faq/programming.rst:1216 +#: faq/programming.rst:1264 +#, fuzzy msgid "" "If mutability is desired, you could use lists instead of tuples. Here the " -"analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is " +"analogue of a Lisp *car* is ``lisp_list[0]`` and the analogue of *cdr* is " "``lisp_list[1]``. Only do this if you're sure you really need to, because " "it's usually a lot slower than using Python lists." msgstr "" @@ -1927,27 +1989,27 @@ msgstr "" "ceci que si vous êtes réellement sûr d'en avoir besoin, cette méthode est en " "général bien plus lente que les listes Python." -#: faq/programming.rst:1225 +#: faq/programming.rst:1273 msgid "How do I create a multidimensional list?" msgstr "Comment créer une liste à plusieurs dimensions ?" -#: faq/programming.rst:1227 +#: faq/programming.rst:1275 msgid "You probably tried to make a multidimensional array like this::" msgstr "" "Vous avez probablement essayé de créer une liste à plusieurs dimensions de " "cette façon ::" -#: faq/programming.rst:1231 +#: faq/programming.rst:1279 msgid "This looks correct if you print it:" msgstr "Elle semble correcte si on l'affiche :" -#: faq/programming.rst:1242 +#: faq/programming.rst:1290 msgid "But when you assign a value, it shows up in multiple places:" msgstr "" "Mais quand vous affectez une valeur, celle-ci apparaît à plusieurs " "endroits ::" -#: faq/programming.rst:1254 +#: faq/programming.rst:1302 msgid "" "The reason is that replicating a list with ``*`` doesn't create copies, it " "only creates references to the existing objects. The ``*3`` creates a list " @@ -1960,7 +2022,7 @@ msgstr "" "dans une colonne apparaîtra donc dans toutes les colonnes, ce qui n'est très " "probablement pas ce que vous souhaitiez." -#: faq/programming.rst:1259 +#: faq/programming.rst:1307 msgid "" "The suggested approach is to create a list of the desired length first and " "then fill in each element with a newly created list::" @@ -1968,7 +2030,7 @@ msgstr "" "L'approche suggérée est d'abord de créer une liste de la longueur désirée, " "puis de remplir tous les éléments avec une nouvelle chaîne ::" -#: faq/programming.rst:1266 +#: faq/programming.rst:1314 msgid "" "This generates a list containing 3 different lists of length two. You can " "also use a list comprehension::" @@ -1977,7 +2039,7 @@ msgstr "" "longueur deux. Vous pouvez aussi utiliser la syntaxe des listes en " "compréhension ::" -#: faq/programming.rst:1272 +#: faq/programming.rst:1320 #, fuzzy msgid "" "Or, you can use an extension that provides a matrix datatype; `NumPy " @@ -1986,22 +2048,22 @@ msgstr "" "Vous pouvez aussi utiliser une extension qui fournit un type matriciel " "natif ; `NumPy `_ est la plus répandue." -#: faq/programming.rst:1277 +#: faq/programming.rst:1325 msgid "How do I apply a method to a sequence of objects?" msgstr "Comment appliquer une méthode à une séquence d'objets ?" -#: faq/programming.rst:1279 +#: faq/programming.rst:1327 msgid "Use a list comprehension::" msgstr "Utilisez une liste en compréhension ::" -#: faq/programming.rst:1286 +#: faq/programming.rst:1334 msgid "" "Why does a_tuple[i] += ['item'] raise an exception when the addition works?" msgstr "" "Pourquoi ``a_tuple[i] += ['item']`` lève-t-il une exception alors que " "l'addition fonctionne ?" -#: faq/programming.rst:1288 +#: faq/programming.rst:1336 msgid "" "This is because of a combination of the fact that augmented assignment " "operators are *assignment* operators, and the difference between mutable and " @@ -2011,7 +2073,7 @@ msgstr "" "d'affectation incrémentaux sont des opérateurs d'*affectation* et à la " "différence entre les objets muables et immuables en Python." -#: faq/programming.rst:1292 +#: faq/programming.rst:1340 msgid "" "This discussion applies in general when augmented assignment operators are " "applied to elements of a tuple that point to mutable objects, but we'll use " @@ -2021,11 +2083,11 @@ msgstr "" "incrémentale sont appliqués aux éléments d'un *n*-uplet qui pointe sur des " "objets muables, mais on prendra ``list`` et ``+=`` comme exemple." -#: faq/programming.rst:1296 +#: faq/programming.rst:1344 msgid "If you wrote::" msgstr "Si vous écrivez ::" -#: faq/programming.rst:1304 +#: faq/programming.rst:1352 msgid "" "The reason for the exception should be immediately clear: ``1`` is added to " "the object ``a_tuple[0]`` points to (``1``), producing the result object, " @@ -2039,7 +2101,7 @@ msgstr "" "l'élément ``0`` du *n*-uplet, on obtient une erreur car il est impossible de " "modifier la cible sur laquelle pointe un élément d'un *n*-uplet." -#: faq/programming.rst:1310 +#: faq/programming.rst:1358 msgid "" "Under the covers, what this augmented assignment statement is doing is " "approximately this::" @@ -2047,7 +2109,7 @@ msgstr "" "Sous le capot, une instruction d'affectation incrémentale fait à peu près " "ceci ::" -#: faq/programming.rst:1319 +#: faq/programming.rst:1367 msgid "" "It is the assignment part of the operation that produces the error, since a " "tuple is immutable." @@ -2055,11 +2117,11 @@ msgstr "" "C'est la partie de l'affectation de l'opération qui génère l'erreur, vu " "qu'un *n*-uplet est immuable." -#: faq/programming.rst:1322 +#: faq/programming.rst:1370 msgid "When you write something like::" msgstr "Quand vous écrivez un code du style ::" -#: faq/programming.rst:1330 +#: faq/programming.rst:1378 msgid "" "The exception is a bit more surprising, and even more surprising is the fact " "that even though there was an error, the append worked::" @@ -2067,14 +2129,16 @@ msgstr "" "L'exception est un peu plus surprenante et, chose encore plus étrange, " "malgré l'erreur, l'ajout a fonctionné ::" -#: faq/programming.rst:1336 +#: faq/programming.rst:1384 +#, fuzzy msgid "" "To see why this happens, you need to know that (a) if an object implements " -"an ``__iadd__`` magic method, it gets called when the ``+=`` augmented " -"assignment is executed, and its return value is what gets used in the " -"assignment statement; and (b) for lists, ``__iadd__`` is equivalent to " -"calling ``extend`` on the list and returning the list. That's why we say " -"that for lists, ``+=`` is a \"shorthand\" for ``list.extend``::" +"an :meth:`~object.__iadd__` magic method, it gets called when the ``+=`` " +"augmented assignment is executed, and its return value is what gets used in " +"the assignment statement; and (b) for lists, :meth:`!__iadd__` is equivalent " +"to calling :meth:`~list.extend` on the list and returning the list. That's " +"why we say that for lists, ``+=`` is a \"shorthand\" for :meth:`!list." +"extend`::" msgstr "" "Pour comprendre ce qui se passe, il faut savoir que, premièrement, si un " "objet implémente la méthode magique c, celle-ci est appelée quand " @@ -2084,11 +2148,11 @@ msgstr "" "renvoyer celle-ci. C'est pour cette raison que l'on dit que pour les listes, " "``+=`` est un \"raccourci\" pour ``list.extend`` ::" -#: faq/programming.rst:1348 +#: faq/programming.rst:1397 msgid "This is equivalent to::" msgstr "C’est équivalent à ::" -#: faq/programming.rst:1353 +#: faq/programming.rst:1402 msgid "" "The object pointed to by a_list has been mutated, and the pointer to the " "mutated object is assigned back to ``a_list``. The end result of the " @@ -2100,24 +2164,25 @@ msgstr "" "change rien, puisque c'est un pointeur vers le même objet que sur lequel " "pointait ``a_list``, mais l'affectation a tout de même lieu." -#: faq/programming.rst:1358 +#: faq/programming.rst:1407 msgid "Thus, in our tuple example what is happening is equivalent to::" msgstr "" "Donc, dans notre exemple avec un *n*-uplet, il se passe quelque chose " "équivalent à ::" -#: faq/programming.rst:1366 +#: faq/programming.rst:1415 +#, fuzzy msgid "" -"The ``__iadd__`` succeeds, and thus the list is extended, but even though " -"``result`` points to the same object that ``a_tuple[0]`` already points to, " -"that final assignment still results in an error, because tuples are " -"immutable." +"The :meth:`!__iadd__` succeeds, and thus the list is extended, but even " +"though ``result`` points to the same object that ``a_tuple[0]`` already " +"points to, that final assignment still results in an error, because tuples " +"are immutable." msgstr "" "L'appel à ``__iadd__`` réussit et la liste est étendue, mais bien que " "``result`` pointe sur le même objet que ``a_tuple[0]``, l'affectation finale " "échoue car les *n*-uplets ne sont pas muables." -#: faq/programming.rst:1372 +#: faq/programming.rst:1421 msgid "" "I want to do a complicated sort: can you do a Schwartzian Transform in " "Python?" @@ -2125,7 +2190,7 @@ msgstr "" "Je souhaite faire un classement compliqué : peut-on faire une transformation " "de Schwartz en Python ?" -#: faq/programming.rst:1374 +#: faq/programming.rst:1423 msgid "" "The technique, attributed to Randal Schwartz of the Perl community, sorts " "the elements of a list by a metric which maps each element to its \"sort " @@ -2137,11 +2202,11 @@ msgstr "" "chaque élément à sa \"valeur de tri\". En Python, ceci est géré par " "l'argument ``key`` de la méthode :meth:`list.sort` ::" -#: faq/programming.rst:1383 +#: faq/programming.rst:1432 msgid "How can I sort one list by values from another list?" msgstr "Comment ordonner une liste en fonction des valeurs d'une autre liste ?" -#: faq/programming.rst:1385 +#: faq/programming.rst:1434 msgid "" "Merge them into an iterator of tuples, sort the resulting list, and then " "pick out the element you want. ::" @@ -2149,15 +2214,15 @@ msgstr "" "Fusionnez-les dans un itérateur de *n*-uplets, ordonnez la liste obtenue, " "puis choisissez l'élément que vous voulez ::" -#: faq/programming.rst:1400 +#: faq/programming.rst:1449 msgid "Objects" msgstr "Objets" -#: faq/programming.rst:1403 +#: faq/programming.rst:1452 msgid "What is a class?" msgstr "Qu'est-ce qu'une classe ?" -#: faq/programming.rst:1405 +#: faq/programming.rst:1454 msgid "" "A class is the particular object type created by executing a class " "statement. Class objects are used as templates to create instance objects, " @@ -2169,7 +2234,7 @@ msgstr "" "créer des objets, qui incarnent à la fois les données (attributs) et le code " "(méthodes) spécifiques à un type de données." -#: faq/programming.rst:1409 +#: faq/programming.rst:1458 msgid "" "A class can be based on one or more other classes, called its base " "class(es). It then inherits the attributes and methods of its base classes. " @@ -2187,11 +2252,11 @@ msgstr "" "``MaildirMailbox``, ``OutlookMailbox`` qui gèrent les plusieurs formats " "spécifiques de boîtes aux lettres." -#: faq/programming.rst:1418 +#: faq/programming.rst:1467 msgid "What is a method?" msgstr "Qu'est-ce qu'une méthode ?" -#: faq/programming.rst:1420 +#: faq/programming.rst:1469 msgid "" "A method is a function on some object ``x`` that you normally call as ``x." "name(arguments...)``. Methods are defined as functions inside the class " @@ -2201,11 +2266,11 @@ msgstr "" "générale sous la forme ``x.name(arguments…)``. Les méthodes sont définies " "comme des fonctions à l'intérieur de la définition de classe ::" -#: faq/programming.rst:1430 +#: faq/programming.rst:1479 msgid "What is self?" msgstr "Qu'est-ce que self ?" -#: faq/programming.rst:1432 +#: faq/programming.rst:1481 msgid "" "Self is merely a conventional name for the first argument of a method. A " "method defined as ``meth(self, a, b, c)`` should be called as ``x.meth(a, b, " @@ -2218,11 +2283,11 @@ msgstr "" "est définie ; tout se passe comme si la méthode était appelée comme " "``meth(x, a, b, c)``." -#: faq/programming.rst:1437 +#: faq/programming.rst:1486 msgid "See also :ref:`why-self`." msgstr "Voir aussi :ref:`why-self`." -#: faq/programming.rst:1441 +#: faq/programming.rst:1490 msgid "" "How do I check if an object is an instance of a given class or of a subclass " "of it?" @@ -2230,13 +2295,15 @@ msgstr "" "Comment vérifier si un objet est une instance d'une classe donnée ou d'une " "sous-classe de celle-ci ?" -#: faq/programming.rst:1443 +#: faq/programming.rst:1492 +#, fuzzy msgid "" -"Use the built-in function ``isinstance(obj, cls)``. You can check if an " -"object is an instance of any of a number of classes by providing a tuple " -"instead of a single class, e.g. ``isinstance(obj, (class1, class2, ...))``, " -"and can also check whether an object is one of Python's built-in types, e.g. " -"``isinstance(obj, str)`` or ``isinstance(obj, (int, float, complex))``." +"Use the built-in function :func:`isinstance(obj, cls) `. You " +"can check if an object is an instance of any of a number of classes by " +"providing a tuple instead of a single class, e.g. ``isinstance(obj, (class1, " +"class2, ...))``, and can also check whether an object is one of Python's " +"built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, " +"float, complex))``." msgstr "" "Utilisez la fonction native ``isinstance(obj, cls)``. Vous pouvez vérifier " "qu'un objet est une instance de plusieurs classes à la fois en fournissant " @@ -2245,7 +2312,7 @@ msgstr "" "l'un des types natifs de Python, par exemple ``isinstance(obj, str)`` ou " "``isinstance(obj, (int, float, complex))``." -#: faq/programming.rst:1449 +#: faq/programming.rst:1499 msgid "" "Note that :func:`isinstance` also checks for virtual inheritance from an :" "term:`abstract base class`. So, the test will return ``True`` for a " @@ -2259,7 +2326,7 @@ msgstr "" "fille de B. Pour vérifier l'héritage dans le sens plus restreint, parcourez " "l'\\ :term:`ordre de résolution des méthodes ` de la classe :" -#: faq/programming.rst:1484 +#: faq/programming.rst:1534 msgid "" "Note that most programs do not use :func:`isinstance` on user-defined " "classes very often. If you are developing the classes yourself, a more " @@ -2275,7 +2342,7 @@ msgstr "" "plutôt que de vérifier la classe de l'objet et de faire un traitement ad-" "hoc. Par exemple, si vous avez une fonction qui fait quelque chose ::" -#: faq/programming.rst:1498 +#: faq/programming.rst:1548 msgid "" "A better approach is to define a ``search()`` method on all the classes and " "just call it::" @@ -2283,11 +2350,11 @@ msgstr "" "Une meilleure approche est de définir une méthode ``search()`` dans toutes " "les classes et qu'il suffit d'appeler de la manière suivante ::" -#: faq/programming.rst:1513 +#: faq/programming.rst:1563 msgid "What is delegation?" msgstr "Qu'est-ce que la délégation ?" -#: faq/programming.rst:1515 +#: faq/programming.rst:1565 msgid "" "Delegation is an object oriented technique (also called a design pattern). " "Let's say you have an object ``x`` and want to change the behaviour of just " @@ -2302,7 +2369,7 @@ msgstr "" "dans l'évolution et qui délègue toute autre méthode à la méthode " "correspondante de ``x``." -#: faq/programming.rst:1521 +#: faq/programming.rst:1571 msgid "" "Python programmers can easily implement delegation. For example, the " "following class implements a class that behaves like a file but converts all " @@ -2312,14 +2379,15 @@ msgstr "" "Par exemple, la classe suivante implémente une classe qui se comporte comme " "un fichier, mais convertit toutes les données écrites en majuscules ::" -#: faq/programming.rst:1536 +#: faq/programming.rst:1586 +#, fuzzy msgid "" "Here the ``UpperOut`` class redefines the ``write()`` method to convert the " "argument string to uppercase before calling the underlying ``self._outfile." "write()`` method. All other methods are delegated to the underlying ``self." -"_outfile`` object. The delegation is accomplished via the ``__getattr__`` " -"method; consult :ref:`the language reference ` for more " -"information about controlling attribute access." +"_outfile`` object. The delegation is accomplished via the :meth:`~object." +"__getattr__` method; consult :ref:`the language reference ` for more information about controlling attribute access." msgstr "" "Ici, la classe ``UpperOut`` redéfinit la méthode ``write()`` pour convertir " "la chaîne de caractères donnée en argument en majuscules avant d'appeler la " @@ -2329,12 +2397,13 @@ msgstr "" "` pour plus d'informations sur la personnalisation de " "l’accès aux attributs." -#: faq/programming.rst:1543 +#: faq/programming.rst:1593 +#, fuzzy msgid "" "Note that for more general cases delegation can get trickier. When " "attributes must be set as well as retrieved, the class must define a :meth:" -"`__setattr__` method too, and it must do so carefully. The basic " -"implementation of :meth:`__setattr__` is roughly equivalent to the " +"`~object.__setattr__` method too, and it must do so carefully. The basic " +"implementation of :meth:`!__setattr__` is roughly equivalent to the " "following::" msgstr "" "Notez que pour une utilisation plus générale de la délégation, les choses " @@ -2343,16 +2412,18 @@ msgstr "" "et il doit le faire avec soin. La mise en œuvre basique de la méthode :meth:" "`__setattr__` est à peu près équivalent à ce qui suit ::" -#: faq/programming.rst:1554 +#: faq/programming.rst:1604 +#, fuzzy msgid "" -"Most :meth:`__setattr__` implementations must modify ``self.__dict__`` to " -"store local state for self without causing an infinite recursion." +"Most :meth:`!__setattr__` implementations must modify :meth:`self.__dict__ " +"` to store local state for self without causing an infinite " +"recursion." msgstr "" "La plupart des implémentations de :meth:`__setattr__` doivent modifier " "``self.__dict__`` pour stocker l'état local de self sans provoquer une " "récursion infinie." -#: faq/programming.rst:1559 +#: faq/programming.rst:1610 msgid "" "How do I call a method defined in a base class from a derived class that " "extends it?" @@ -2360,11 +2431,11 @@ msgstr "" "Comment appeler une méthode définie dans une classe de base depuis une " "classe dérivée qui la surcharge ?" -#: faq/programming.rst:1561 +#: faq/programming.rst:1612 msgid "Use the built-in :func:`super` function::" msgstr "Utilisez la fonction native :func:`super` ::" -#: faq/programming.rst:1567 +#: faq/programming.rst:1618 msgid "" "In the example, :func:`super` will automatically determine the instance from " "which it was called (the ``self`` value), look up the :term:`method " @@ -2377,13 +2448,13 @@ msgstr "" "__mro__``, et renvoie la classe qui suit ``Derived`` dans cet ordre, donc " "``Base``." -#: faq/programming.rst:1574 +#: faq/programming.rst:1625 msgid "How can I organize my code to make it easier to change the base class?" msgstr "" "Comment organiser un code pour permettre de changer la classe de base plus " "facilement ?" -#: faq/programming.rst:1576 +#: faq/programming.rst:1627 msgid "" "You could assign the base class to an alias and derive from the alias. Then " "all you have to change is the value assigned to the alias. Incidentally, " @@ -2396,13 +2467,13 @@ msgstr "" "dynamiquement (par exemple en fonction de la disponibilité de certaines " "ressources) la classe de base à utiliser. Exemple ::" -#: faq/programming.rst:1591 +#: faq/programming.rst:1642 msgid "How do I create static class data and static class methods?" msgstr "" "Comment créer des données statiques de classe et des méthodes statiques de " "classe ?" -#: faq/programming.rst:1593 +#: faq/programming.rst:1644 msgid "" "Both static data and static methods (in the sense of C++ or Java) are " "supported in Python." @@ -2410,7 +2481,7 @@ msgstr "" "Les données statiques et les méthodes statiques (au sens C++ ou Java) sont " "prises en charge en Python." -#: faq/programming.rst:1596 +#: faq/programming.rst:1647 msgid "" "For static data, simply define a class attribute. To assign a new value to " "the attribute, you have to explicitly use the class name in the assignment::" @@ -2419,7 +2490,7 @@ msgstr "" "attribuer une nouvelle valeur à l'attribut, vous devez explicitement " "utiliser le nom de classe dans l'affectation ::" -#: faq/programming.rst:1608 +#: faq/programming.rst:1659 msgid "" "``c.count`` also refers to ``C.count`` for any ``c`` such that " "``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " @@ -2430,7 +2501,7 @@ msgstr "" "une classe sur le chemin de recherche de classe de base de ``c.__class__`` " "jusqu'à ``C``." -#: faq/programming.rst:1612 +#: faq/programming.rst:1663 msgid "" "Caution: within a method of C, an assignment like ``self.count = 42`` " "creates a new and unrelated instance named \"count\" in ``self``'s own " @@ -2443,11 +2514,11 @@ msgstr "" "de classe doit toujours spécifier la classe, que l'on soit à l'intérieur " "d'une méthode ou non ::" -#: faq/programming.rst:1619 +#: faq/programming.rst:1670 msgid "Static methods are possible::" msgstr "Il est possible d'utiliser des méthodes statiques ::" -#: faq/programming.rst:1627 +#: faq/programming.rst:1678 msgid "" "However, a far more straightforward way to get the effect of a static method " "is via a simple module-level function::" @@ -2455,7 +2526,7 @@ msgstr "" "Cependant, d'une manière beaucoup plus simple pour obtenir l'effet d'une " "méthode statique se fait par une simple fonction au niveau du module ::" -#: faq/programming.rst:1633 +#: faq/programming.rst:1684 msgid "" "If your code is structured so as to define one class (or tightly related " "class hierarchy) per module, this supplies the desired encapsulation." @@ -2464,11 +2535,11 @@ msgstr "" "hiérarchie des classes connexes) par module, ceci fournira l'encapsulation " "souhaitée." -#: faq/programming.rst:1638 +#: faq/programming.rst:1689 msgid "How can I overload constructors (or methods) in Python?" msgstr "Comment surcharger les constructeurs (ou méthodes) en Python ?" -#: faq/programming.rst:1640 +#: faq/programming.rst:1691 msgid "" "This answer actually applies to all methods, but the question usually comes " "up first in the context of constructors." @@ -2476,11 +2547,11 @@ msgstr "" "Cette réponse s'applique en fait à toutes les méthodes, mais la question se " "pose généralement dans le contexte des constructeurs." -#: faq/programming.rst:1643 +#: faq/programming.rst:1694 msgid "In C++ you'd write" msgstr "En C++, on écrirait" -#: faq/programming.rst:1652 +#: faq/programming.rst:1703 msgid "" "In Python you have to write a single constructor that catches all cases " "using default arguments. For example::" @@ -2488,29 +2559,29 @@ msgstr "" "En Python, vous devez écrire un constructeur unique qui considère tous les " "cas en utilisant des arguments par défaut. Par exemple ::" -#: faq/programming.rst:1662 +#: faq/programming.rst:1713 msgid "This is not entirely equivalent, but close enough in practice." msgstr "" "Ce n'est pas tout à fait équivalent, mais suffisamment proche dans la " "pratique." -#: faq/programming.rst:1664 +#: faq/programming.rst:1715 msgid "You could also try a variable-length argument list, e.g. ::" msgstr "" "Vous pouvez aussi utiliser une liste d'arguments de longueur variable, par " "exemple ::" -#: faq/programming.rst:1669 +#: faq/programming.rst:1720 msgid "The same approach works for all method definitions." msgstr "La même approche fonctionne pour toutes les définitions de méthode." -#: faq/programming.rst:1673 +#: faq/programming.rst:1724 msgid "I try to use __spam and I get an error about _SomeClassName__spam." msgstr "" "J'essaie d'utiliser ``__spam`` et j'obtiens une erreur à propos de " "``_SomeClassName__spam``." -#: faq/programming.rst:1675 +#: faq/programming.rst:1726 msgid "" "Variable names with double leading underscores are \"mangled\" to provide a " "simple but effective way to define class private variables. Any identifier " @@ -2526,7 +2597,7 @@ msgstr "" "remplacé par ``_classname__spam``, où ``classname`` est le nom de la classe " "en cours sans les éventuels tirets bas du début." -#: faq/programming.rst:1681 +#: faq/programming.rst:1732 msgid "" "This doesn't guarantee privacy: an outside user can still deliberately " "access the \"_classname__spam\" attribute, and private values are visible in " @@ -2538,36 +2609,38 @@ msgstr "" "privées sont visibles dans l'objet ``__dict__``. De nombreux programmeurs " "Python ne prennent jamais la peine d'utiliser des noms de variable privés." -#: faq/programming.rst:1688 +#: faq/programming.rst:1739 msgid "My class defines __del__ but it is not called when I delete the object." msgstr "" "Ma classe définit ``__del__`` mais elle n'est pas appelée lorsque je " "supprime l'objet." -#: faq/programming.rst:1690 +#: faq/programming.rst:1741 msgid "There are several possible reasons for this." msgstr "Il y a plusieurs explications possibles." -#: faq/programming.rst:1692 +#: faq/programming.rst:1743 +#, fuzzy msgid "" -"The del statement does not necessarily call :meth:`__del__` -- it simply " -"decrements the object's reference count, and if this reaches zero :meth:" -"`__del__` is called." +"The :keyword:`del` statement does not necessarily call :meth:`~object." +"__del__` -- it simply decrements the object's reference count, and if this " +"reaches zero :meth:`!__del__` is called." msgstr "" "La commande *del* n'appelle pas forcément :meth:`__del__` — elle décrémente " "simplement le compteur de références de l'objet et, si celui-ci arrive à " "zéro, :meth:`__del__` est appelée." -#: faq/programming.rst:1696 +#: faq/programming.rst:1747 +#, fuzzy msgid "" "If your data structures contain circular links (e.g. a tree where each child " "has a parent reference and each parent has a list of children) the reference " "counts will never go back to zero. Once in a while Python runs an algorithm " "to detect such cycles, but the garbage collector might run some time after " -"the last reference to your data structure vanishes, so your :meth:`__del__` " +"the last reference to your data structure vanishes, so your :meth:`!__del__` " "method may be called at an inconvenient and random time. This is " "inconvenient if you're trying to reproduce a problem. Worse, the order in " -"which object's :meth:`__del__` methods are executed is arbitrary. You can " +"which object's :meth:`!__del__` methods are executed is arbitrary. You can " "run :func:`gc.collect` to force a collection, but there *are* pathological " "cases where objects will never be collected." msgstr "" @@ -2584,12 +2657,13 @@ msgstr "" "miettes avec la fonction :func:`gc.collect`, mais il existe certains cas où " "les objets ne seront jamais nettoyés." -#: faq/programming.rst:1707 +#: faq/programming.rst:1758 +#, fuzzy msgid "" "Despite the cycle collector, it's still a good idea to define an explicit " "``close()`` method on objects to be called whenever you're done with them. " "The ``close()`` method can then remove attributes that refer to subobjects. " -"Don't call :meth:`__del__` directly -- :meth:`__del__` should call " +"Don't call :meth:`!__del__` directly -- :meth:`!__del__` should call " "``close()`` and ``close()`` should make sure that it can be called more than " "once for the same object." msgstr "" @@ -2601,7 +2675,7 @@ msgstr "" "`__del__` devrait appeler la méthode ``close()`` et ``close()`` doit pouvoir " "être appelée plusieurs fois sur le même objet." -#: faq/programming.rst:1714 +#: faq/programming.rst:1765 msgid "" "Another way to avoid cyclical references is to use the :mod:`weakref` " "module, which allows you to point to objects without incrementing their " @@ -2614,19 +2688,20 @@ msgstr "" "d'arbres devraient utiliser des références faibles entre pères et fils (si " "nécessaire !)." -#: faq/programming.rst:1727 +#: faq/programming.rst:1778 +#, fuzzy msgid "" -"Finally, if your :meth:`__del__` method raises an exception, a warning " +"Finally, if your :meth:`!__del__` method raises an exception, a warning " "message is printed to :data:`sys.stderr`." msgstr "" "Enfin, si la méthode :meth:`__del__` lève une exception, un message " "d'avertissement s'affiche dans :data:`sys.stderr`." -#: faq/programming.rst:1732 +#: faq/programming.rst:1783 msgid "How do I get a list of all instances of a given class?" msgstr "Comment obtenir toutes les instances d'une classe ?" -#: faq/programming.rst:1734 +#: faq/programming.rst:1785 msgid "" "Python does not keep track of all instances of a class (or of a built-in " "type). You can program the class's constructor to keep track of all " @@ -2637,13 +2712,13 @@ msgstr "" "constructeur de la classe de façon à tenir un tel registre, en maintenant " "une liste de références faibles vers chaque instance." -#: faq/programming.rst:1740 +#: faq/programming.rst:1791 msgid "Why does the result of ``id()`` appear to be not unique?" msgstr "" "Pourquoi le résultat de ``id()`` peut-il être le même pour deux objets " "différents ?" -#: faq/programming.rst:1742 +#: faq/programming.rst:1793 msgid "" "The :func:`id` builtin returns an integer that is guaranteed to be unique " "during the lifetime of the object. Since in CPython, this is the object's " @@ -2657,7 +2732,7 @@ msgstr "" "à une adresse mémoire identique à celle d'un objet venant d'être supprimé. " "Comme l'illustre le code suivant :" -#: faq/programming.rst:1753 +#: faq/programming.rst:1804 msgid "" "The two ids belong to different integer objects that are created before, and " "deleted immediately after execution of the ``id()`` call. To be sure that " @@ -2669,11 +2744,11 @@ msgstr "" "objets dont on veut examiner les identifiants sont toujours en vie, créons " "une nouvelle référence à l'objet :" -#: faq/programming.rst:1766 +#: faq/programming.rst:1817 msgid "When can I rely on identity tests with the *is* operator?" msgstr "Quand puis-je raisonnablement utiliser le test d'identité *is* ?" -#: faq/programming.rst:1768 +#: faq/programming.rst:1819 msgid "" "The ``is`` operator tests for object identity. The test ``a is b`` is " "equivalent to ``id(a) == id(b)``." @@ -2681,7 +2756,7 @@ msgstr "" "L'opérateur ``is`` détermine si deux objets sont identiques, c'est-à-dire le " "même objet. Le test ``a is b`` est équivalent à ``id(a) == id(b)``." -#: faq/programming.rst:1771 +#: faq/programming.rst:1822 msgid "" "The most important property of an identity test is that an object is always " "identical to itself, ``a is a`` always returns ``True``. Identity tests are " @@ -2694,7 +2769,7 @@ msgstr "" "qu'un test d'égalité. De plus, contrairement à l'opérateur ``==``, " "l'opérateur ``is`` renvoie toujours un booléen, ``True`` ou ``False``." -#: faq/programming.rst:1776 +#: faq/programming.rst:1827 msgid "" "However, identity tests can *only* be substituted for equality tests when " "object identity is assured. Generally, there are three circumstances where " @@ -2704,7 +2779,7 @@ msgstr "" "si l'identité est garantie. C'est le cas dans les trois situations " "suivantes :" -#: faq/programming.rst:1780 +#: faq/programming.rst:1831 msgid "" "1) Assignments create new names but do not change object identity. After " "the assignment ``new = old``, it is guaranteed that ``new is old``." @@ -2713,7 +2788,7 @@ msgstr "" "objets. Après l'affectation ``nouveau = ancien``, ``nouveau is ancien`` vaut " "toujours ``True``." -#: faq/programming.rst:1783 +#: faq/programming.rst:1834 msgid "" "2) Putting an object in a container that stores object references does not " "change object identity. After the list assignment ``s[0] = x``, it is " @@ -2724,7 +2799,7 @@ msgstr "" "de *x* à l'indice 0, ``s[0] = x``, le test ``s[0] is x`` s'évalue forcément " "à ``True``." -#: faq/programming.rst:1787 +#: faq/programming.rst:1838 msgid "" "3) If an object is a singleton, it means that only one instance of that " "object can exist. After the assignments ``a = None`` and ``b = None``, it " @@ -2734,7 +2809,7 @@ msgstr "" "Après les affectations ``a = None`` et ``b = None``, on a forcément ``a is " "b``, puisque ``None`` est un singleton." -#: faq/programming.rst:1791 +#: faq/programming.rst:1842 msgid "" "In most other circumstances, identity tests are inadvisable and equality " "tests are preferred. In particular, identity tests should not be used to " @@ -2747,13 +2822,13 @@ msgstr "" "chaînes de caractères (type :class:`str`) car ces valeurs ne sont pas " "nécessairement des singletons ::" -#: faq/programming.rst:1808 +#: faq/programming.rst:1859 msgid "Likewise, new instances of mutable containers are never identical::" msgstr "" "De même, deux instances fraîchement créées d'un type de conteneurs muables " "ne sont jamais identiques ::" -#: faq/programming.rst:1815 +#: faq/programming.rst:1866 msgid "" "In the standard library code, you will see several common patterns for " "correctly using identity tests:" @@ -2762,7 +2837,7 @@ msgstr "" "utiliser correctement les tests d'identité dans certaines situations " "particulières :" -#: faq/programming.rst:1818 +#: faq/programming.rst:1869 msgid "" "1) As recommended by :pep:`8`, an identity test is the preferred way to " "check for ``None``. This reads like plain English in code and avoids " @@ -2774,7 +2849,7 @@ msgstr "" "None``, ``x is not None``), et cela évite des surprises avec les objets dont " "la valeur booléenne est ``False``." -#: faq/programming.rst:1822 +#: faq/programming.rst:1873 msgid "" "2) Detecting optional arguments can be tricky when ``None`` is a valid input " "value. In those situations, you can create a singleton sentinel object " @@ -2787,7 +2862,7 @@ msgstr "" "« sentinelle », distinct de toute valeur acceptable. Voici par exemple " "comment écrire une méthode qui émule :meth:`dict.pop` :" -#: faq/programming.rst:1838 +#: faq/programming.rst:1889 msgid "" "3) Container implementations sometimes need to augment equality tests with " "identity tests. This prevents the code from being confused by objects such " @@ -2798,7 +2873,7 @@ msgstr "" "souhaité avec les objets comme ``float('NaN')`` qui ne sont pas égaux à eux-" "mêmes." -#: faq/programming.rst:1842 +#: faq/programming.rst:1893 msgid "" "For example, here is the implementation of :meth:`collections.abc.Sequence." "__contains__`::" @@ -2806,18 +2881,19 @@ msgstr "" "Par exemple, l'implémentation de :meth:`collections.abc.Sequence." "__contains__` est ::" -#: faq/programming.rst:1853 +#: faq/programming.rst:1904 msgid "" "How can a subclass control what data is stored in an immutable instance?" msgstr "" "Comment définir dans une classe fille les attributs d'une instance immuable ?" -#: faq/programming.rst:1855 +#: faq/programming.rst:1906 +#, fuzzy msgid "" -"When subclassing an immutable type, override the :meth:`__new__` method " -"instead of the :meth:`__init__` method. The latter only runs *after* an " -"instance is created, which is too late to alter data in an immutable " -"instance." +"When subclassing an immutable type, override the :meth:`~object.__new__` " +"method instead of the :meth:`~object.__init__` method. The latter only runs " +"*after* an instance is created, which is too late to alter data in an " +"immutable instance." msgstr "" "Lorsque l'on crée une classe héritant d'une classe d'objets immuables, il " "faut remplacer la méthode :meth:`__new__`, et non pas la méthode :meth:" @@ -2825,7 +2901,7 @@ msgstr "" "l'instance soit créée, donc il y est trop tard pour modifier le contenu " "d'une instance si elle est immuable." -#: faq/programming.rst:1860 +#: faq/programming.rst:1911 msgid "" "All of these immutable classes have a different signature than their parent " "class:" @@ -2833,15 +2909,15 @@ msgstr "" "Toutes les classes d'objets immuables suivantes ont des signatures de " "constructeur différentes de leur classe mère :" -#: faq/programming.rst:1886 +#: faq/programming.rst:1937 msgid "The classes can be used like this:" msgstr "Ces classes s'utilisent comme ceci :" -#: faq/programming.rst:1901 +#: faq/programming.rst:1952 msgid "How do I cache method calls?" msgstr "Comment mettre en cache le résultat d'une méthode ?" -#: faq/programming.rst:1903 +#: faq/programming.rst:1954 msgid "" "The two principal tools for caching methods are :func:`functools." "cached_property` and :func:`functools.lru_cache`. The former stores results " @@ -2852,7 +2928,7 @@ msgstr "" "valeurs au niveau de l'instance, et :func:`functools.lru_cache`, qui le fait " "au niveau de la classe." -#: faq/programming.rst:1908 +#: faq/programming.rst:1959 msgid "" "The *cached_property* approach only works with methods that do not take any " "arguments. It does not create a reference to the instance. The cached " @@ -2862,7 +2938,7 @@ msgstr "" "argument. Elle n'induit aucune référence vers l'instance. Le cache est " "simplement conservé aussi longtemps que l'instance elle-même." -#: faq/programming.rst:1912 +#: faq/programming.rst:1963 msgid "" "The advantage is that when an instance is no longer used, the cached method " "result will be released right away. The disadvantage is that if instances " @@ -2873,17 +2949,18 @@ msgstr "" "détruite. L'inconvénient est que les caches peuvent s'accumuler avec les " "instances, sans limite de nombre." -#: faq/programming.rst:1917 +#: faq/programming.rst:1968 +#, fuzzy msgid "" -"The *lru_cache* approach works with methods that have hashable arguments. " -"It creates a reference to the instance unless special efforts are made to " -"pass in weak references." +"The *lru_cache* approach works with methods that have :term:`hashable` " +"arguments. It creates a reference to the instance unless special efforts " +"are made to pass in weak references." msgstr "" "La fonction ``lru_cache`` s'applique quant à elle aux méthodes dont les " "arguments sont hachables. Elle crée une référence forte à l'instance, sauf à " "passer par des circonvolutions pour que la référence soit faible." -#: faq/programming.rst:1921 +#: faq/programming.rst:1972 msgid "" "The advantage of the least recently used algorithm is that the cache is " "bounded by the specified *maxsize*. The disadvantage is that instances are " @@ -2897,11 +2974,11 @@ msgstr "" "l'instance hors de portée du ramasse-miettes jusqu'à ce que l'entrée soit " "effacée du cache ou que le cache soit remis à zéro." -#: faq/programming.rst:1926 +#: faq/programming.rst:1977 msgid "This example shows the various techniques::" msgstr "Voici une démonstration des différentes techniques ::" -#: faq/programming.rst:1950 +#: faq/programming.rst:2001 msgid "" "The above example assumes that the *station_id* never changes. If the " "relevant instance attributes are mutable, the *cached_property* approach " @@ -2912,7 +2989,7 @@ msgstr "" "``cached_property`` ne peut pas fonctionner car elle ne peut pas détecter " "les mutations pour invalider le cache." -#: faq/programming.rst:1955 +#: faq/programming.rst:2006 msgid "" "The *lru_cache* approach can be made to work, but the class needs to define " "the *__eq__* and *__hash__* methods so the cache can detect relevant " @@ -2922,15 +2999,15 @@ msgstr "" "méthodes ``__eq__`` et ``__hash__`` pour que le cache soit à même de " "détecter toute modification des attributs ::" -#: faq/programming.rst:1981 +#: faq/programming.rst:2032 msgid "Modules" msgstr "Modules" -#: faq/programming.rst:1984 +#: faq/programming.rst:2035 msgid "How do I create a .pyc file?" msgstr "Comment créer des fichiers ``.pyc`` ?" -#: faq/programming.rst:1986 +#: faq/programming.rst:2037 msgid "" "When a module is imported for the first time (or when the source file has " "changed since the current compiled file was created) a ``.pyc`` file " @@ -2948,7 +3025,7 @@ msgstr "" "centrale qui dépend du binaire ``python`` qui l'a créé (voir la :pep:`3147` " "pour de plus amples précisions)." -#: faq/programming.rst:1994 +#: faq/programming.rst:2045 msgid "" "One reason that a ``.pyc`` file may not be created is a permissions problem " "with the directory containing the source file, meaning that the " @@ -2963,7 +3040,7 @@ msgstr "" "utilisateur, mais que le code est exécuté en tant qu'un autre utilisateur, " "par exemple pour tester un serveur Web." -#: faq/programming.rst:1999 +#: faq/programming.rst:2050 msgid "" "Unless the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable is set, " "creation of a .pyc file is automatic if you're importing a module and Python " @@ -2977,7 +3054,7 @@ msgstr "" "dans ce sous-répertoire, à moins que la variable d'environnement :envvar:" "`PYTHONDONTWRITEBYTECODE` soit définie." -#: faq/programming.rst:2004 +#: faq/programming.rst:2055 msgid "" "Running Python on a top level script is not considered an import and no ``." "pyc`` will be created. For example, if you have a top-level module ``foo." @@ -2993,7 +3070,7 @@ msgstr "" "console), un fichier ``.pyc`` est créé pour ``xyz`` mais pas pour ``foo`` " "car ``foo.py`` n'est pas importé." -#: faq/programming.rst:2011 +#: faq/programming.rst:2062 msgid "" "If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a ``." "pyc`` file for a module that is not imported -- you can, using the :mod:" @@ -3003,7 +3080,7 @@ msgstr "" "``.pyc`` pour un module qui n'est pas importé — il existe les modules :mod:" "`py_compile` et :mod:`compileall`." -#: faq/programming.rst:2015 +#: faq/programming.rst:2066 msgid "" "The :mod:`py_compile` module can manually compile any module. One way is to " "use the ``compile()`` function in that module interactively::" @@ -3012,7 +3089,7 @@ msgstr "" "manuellement. Il est ainsi possible d'appeler la fonction ``compile()`` de " "manière interactive ::" -#: faq/programming.rst:2021 +#: faq/programming.rst:2072 msgid "" "This will write the ``.pyc`` to a ``__pycache__`` subdirectory in the same " "location as ``foo.py`` (or you can override that with the optional parameter " @@ -3022,7 +3099,7 @@ msgstr "" "de ``foo.py`` (le paramètre optionnel ``cfile`` permet de changer ce " "comportement)." -#: faq/programming.rst:2025 +#: faq/programming.rst:2076 msgid "" "You can also automatically compile all files in a directory or directories " "using the :mod:`compileall` module. You can do it from the shell prompt by " @@ -3034,11 +3111,11 @@ msgstr "" "en exécutant ``compileall.py`` avec le chemin du dossier contenant les " "fichiers Python à compiler ::" -#: faq/programming.rst:2034 +#: faq/programming.rst:2085 msgid "How do I find the current module name?" msgstr "Comment obtenir le nom du module actuel ?" -#: faq/programming.rst:2036 +#: faq/programming.rst:2087 msgid "" "A module can find out its own module name by looking at the predefined " "global variable ``__name__``. If this has the value ``'__main__'``, the " @@ -3053,51 +3130,51 @@ msgstr "" "interface en ligne de commande ou un test automatique. Ils n'exécutent cette " "portion du code qu'après avoir vérifié la valeur de ``__name__`` ::" -#: faq/programming.rst:2051 +#: faq/programming.rst:2102 msgid "How can I have modules that mutually import each other?" msgstr "Comment avoir des modules qui s'importent mutuellement ?" -#: faq/programming.rst:2053 +#: faq/programming.rst:2104 msgid "Suppose you have the following modules:" msgstr "Considérons les modules suivants :" -#: faq/programming.rst:2055 +#: faq/programming.rst:2106 msgid ":file:`foo.py`::" msgstr ":file:`foo.py` ::" -#: faq/programming.rst:2060 +#: faq/programming.rst:2111 msgid ":file:`bar.py`::" msgstr ":file:`bar.py` ::" -#: faq/programming.rst:2065 +#: faq/programming.rst:2116 msgid "The problem is that the interpreter will perform the following steps:" msgstr "Le problème réside dans les étapes que l'interpréteur va réaliser :" -#: faq/programming.rst:2067 +#: faq/programming.rst:2118 msgid "main imports ``foo``" msgstr "*main* importe *foo* ;" -#: faq/programming.rst:2068 +#: faq/programming.rst:2119 msgid "Empty globals for ``foo`` are created" msgstr "Les variables globales (vides) de *foo* sont créées ;" -#: faq/programming.rst:2069 +#: faq/programming.rst:2120 msgid "``foo`` is compiled and starts executing" msgstr "*foo* est compilé et commence à s'exécuter ;" -#: faq/programming.rst:2070 +#: faq/programming.rst:2121 msgid "``foo`` imports ``bar``" msgstr "*foo* importe *bar* ;" -#: faq/programming.rst:2071 +#: faq/programming.rst:2122 msgid "Empty globals for ``bar`` are created" msgstr "Les variables globales (vides) de *bar* sont créées ;" -#: faq/programming.rst:2072 +#: faq/programming.rst:2123 msgid "``bar`` is compiled and starts executing" msgstr "*bar* est compilé et commence à s'exécuter ;" -#: faq/programming.rst:2073 +#: faq/programming.rst:2124 msgid "" "``bar`` imports ``foo`` (which is a no-op since there already is a module " "named ``foo``)" @@ -3105,7 +3182,7 @@ msgstr "" "*bar* importe *foo* (en réalité, rien ne passe car il y a déjà un module " "appelé *foo*) ;" -#: faq/programming.rst:2074 +#: faq/programming.rst:2125 msgid "" "The import mechanism tries to read ``foo_var`` from ``foo`` globals, to set " "``bar.foo_var = foo.foo_var``" @@ -3114,7 +3191,7 @@ msgstr "" "globales de *foo* pour procéder à l'affectation ``bar.foo_var = foo." "foo_var``." -#: faq/programming.rst:2076 +#: faq/programming.rst:2127 msgid "" "The last step fails, because Python isn't done with interpreting ``foo`` yet " "and the global symbol dictionary for ``foo`` is still empty." @@ -3122,7 +3199,7 @@ msgstr "" "La dernière étape échoue car Python n'a pas fini d'interpréter ``foo`` et le " "dictionnaire global des symboles de ``foo`` est encore vide." -#: faq/programming.rst:2079 +#: faq/programming.rst:2130 msgid "" "The same thing happens when you use ``import foo``, and then try to access " "``foo.foo_var`` in global code." @@ -3130,11 +3207,11 @@ msgstr "" "Le même phénomène arrive quand on utilise ``import foo``, et qu'on essaye " "ensuite d'accéder à ``foo.foo_var`` dans le code global." -#: faq/programming.rst:2082 +#: faq/programming.rst:2133 msgid "There are (at least) three possible workarounds for this problem." msgstr "Il y a (au moins) trois façons de contourner ce problème." -#: faq/programming.rst:2084 +#: faq/programming.rst:2135 msgid "" "Guido van Rossum recommends avoiding all uses of ``from import ..." "``, and placing all code inside functions. Initializations of global " @@ -3148,14 +3225,14 @@ msgstr "" "des fonctions natives. Ceci implique que tout ce qui est fourni par un " "module soit référencé par ``.``." -#: faq/programming.rst:2089 +#: faq/programming.rst:2140 msgid "" "Jim Roskind suggests performing steps in the following order in each module:" msgstr "" "Jim Roskind recommande d'effectuer les étapes suivantes dans cet ordre dans " "chaque module :" -#: faq/programming.rst:2091 +#: faq/programming.rst:2142 msgid "" "exports (globals, functions, and classes that don't need imported base " "classes)" @@ -3163,18 +3240,18 @@ msgstr "" "les exportations (variables globales, fonctions et les classes qui ne " "nécessitent d'importer des classes de base)" -#: faq/programming.rst:2093 +#: faq/programming.rst:2144 msgid "``import`` statements" msgstr "les instructions ``import``" -#: faq/programming.rst:2094 +#: faq/programming.rst:2145 msgid "" "active code (including globals that are initialized from imported values)." msgstr "" "le code (avec les variables globales qui sont initialisées à partir de " "valeurs importées)." -#: faq/programming.rst:2096 +#: faq/programming.rst:2147 msgid "" "Van Rossum doesn't like this approach much because the imports appear in a " "strange place, but it does work." @@ -3182,7 +3259,7 @@ msgstr "" "van Rossum désapprouve cette approche car les importations se trouvent à un " "endroit bizarre, mais cela fonctionne." -#: faq/programming.rst:2099 +#: faq/programming.rst:2150 msgid "" "Matthias Urlichs recommends restructuring your code so that the recursive " "import is not necessary in the first place." @@ -3190,16 +3267,16 @@ msgstr "" "Matthias Urlichs conseille de restructurer le code pour éviter les " "importations récursives." -#: faq/programming.rst:2102 +#: faq/programming.rst:2153 msgid "These solutions are not mutually exclusive." msgstr "Ces solutions peuvent être combinées." -#: faq/programming.rst:2106 +#: faq/programming.rst:2157 msgid "__import__('x.y.z') returns ; how do I get z?" msgstr "" "``__import__('x.y.z')`` renvoie ```` ; comment accéder à ``z`` ?" -#: faq/programming.rst:2108 +#: faq/programming.rst:2159 msgid "" "Consider using the convenience function :func:`~importlib.import_module` " "from :mod:`importlib` instead::" @@ -3207,7 +3284,7 @@ msgstr "" "Utilisez plutôt la fonction :func:`~importlib.import_module` de :mod:" "`importlib` ::" -#: faq/programming.rst:2115 +#: faq/programming.rst:2166 msgid "" "When I edit an imported module and reimport it, the changes don't show up. " "Why does this happen?" @@ -3215,7 +3292,7 @@ msgstr "" "Quand j'édite un module et que je le réimporte, je ne vois pas les " "changements. Pourquoi ?" -#: faq/programming.rst:2117 +#: faq/programming.rst:2168 msgid "" "For reasons of efficiency as well as consistency, Python only reads the " "module file on the first time a module is imported. If it didn't, in a " @@ -3230,7 +3307,7 @@ msgstr "" "ré-analysé un très grand nombre de fois. Pour forcer la relecture d'un " "module, il faut faire ::" -#: faq/programming.rst:2127 +#: faq/programming.rst:2178 msgid "" "Warning: this technique is not 100% fool-proof. In particular, modules " "containing statements like ::" @@ -3238,7 +3315,7 @@ msgstr "" "Attention, cette technique ne marche pas systématiquement. En particulier, " "les modules qui contiennent des instructions comme ::" -#: faq/programming.rst:2132 +#: faq/programming.rst:2183 msgid "" "will continue to work with the old version of the imported objects. If the " "module contains class definitions, existing class instances will *not* be " @@ -3250,7 +3327,7 @@ msgstr "" "celle-ci ne sont *pas* mises à jour avec la nouvelle définition de la " "classe. Ceci peut conduire au comportement paradoxal suivant ::" -#: faq/programming.rst:2145 +#: faq/programming.rst:2196 msgid "" "The nature of the problem is made clear if you print out the \"identity\" of " "the class objects::" diff --git a/faq/windows.po b/faq/windows.po index 666c78e0d5..3a7b71674e 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-27 12:17+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -289,12 +289,13 @@ msgstr "" "résumer comme suit :" #: faq/windows.rst:170 +#, fuzzy msgid "" -"Do _not_ build Python into your .exe file directly. On Windows, Python must " -"be a DLL to handle importing modules that are themselves DLL's. (This is " -"the first key undocumented fact.) Instead, link to :file:`python{NN}.dll`; " -"it is typically installed in ``C:\\Windows\\System``. *NN* is the Python " -"version, a number such as \"33\" for Python 3.3." +"Do **not** build Python into your .exe file directly. On Windows, Python " +"must be a DLL to handle importing modules that are themselves DLL's. (This " +"is the first key undocumented fact.) Instead, link to :file:`python{NN}." +"dll`; it is typically installed in ``C:\\Windows\\System``. *NN* is the " +"Python version, a number such as \"33\" for Python 3.3." msgstr "" "Ne compilez **pas** Python directement dans votre fichier *.exe*. Sous " "Windows, Python doit être une DLL pour pouvoir importer des modules qui sont " @@ -338,12 +339,13 @@ msgstr "" "appelle des routines dans l'API C de Python." #: faq/windows.rst:191 +#, fuzzy msgid "" "If you use SWIG, it is easy to create a Python \"extension module\" that " "will make the app's data and methods available to Python. SWIG will handle " "just about all the grungy details for you. The result is C code that you " -"link *into* your .exe file (!) You do _not_ have to create a DLL file, and " -"this also simplifies linking." +"link *into* your .exe file (!) You do **not** have to create a DLL file, " +"and this also simplifies linking." msgstr "" "Si vous utilisez SWIG, il est facile de créer un « module d'extension » " "Python qui rendra les données et les méthodes de l'application disponibles " @@ -395,11 +397,12 @@ msgstr "" "construire *pythonNN.dll*." #: faq/windows.rst:221 +#, fuzzy msgid "" -"Problem 1: The so-called \"Very High Level\" functions that take FILE * " +"Problem 1: The so-called \"Very High Level\" functions that take ``FILE *`` " "arguments will not work in a multi-compiler environment because each " -"compiler's notion of a struct FILE will be different. From an " -"implementation standpoint these are very _low_ level functions." +"compiler's notion of a ``struct FILE`` will be different. From an " +"implementation standpoint these are very low level functions." msgstr "" "Problème 1 : Les fonctions dites de \"Très Haut Niveau\" qui prennent les " "arguments FILE * ne fonctionneront pas dans un environnement multi-" diff --git a/glossary.po b/glossary.po index 529bc97d79..5d364a966f 100644 --- a/glossary.po +++ b/glossary.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-18 13:31+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -2152,9 +2152,10 @@ msgid "package" msgstr "paquet" #: glossary.rst:895 +#, fuzzy msgid "" "A Python :term:`module` which can contain submodules or recursively, " -"subpackages. Technically, a package is a Python module with an ``__path__`` " +"subpackages. Technically, a package is a Python module with a ``__path__`` " "attribute." msgstr "" ":term:`module` Python qui peut contenir des sous-modules ou des sous-" diff --git a/howto/annotations.po b/howto/annotations.po index 4d92273c40..663db47cf6 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-12-31 11:33+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-12 09:43+0200\n" "Last-Translator: ZepmanBC \n" "Language-Team: FRENCH \n" @@ -125,12 +125,20 @@ msgstr "" "`getattr` avec trois arguments, par exemple ``getattr(o, '__annotations__', " "None)``." -#: howto/annotations.rst:62 +#: howto/annotations.rst:60 +msgid "" +"Before Python 3.10, accessing ``__annotations__`` on a class that defines no " +"annotations but that has a parent class with annotations would return the " +"parent's ``__annotations__``. In Python 3.10 and newer, the child class's " +"annotations will be an empty dict instead." +msgstr "" + +#: howto/annotations.rst:68 msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older" msgstr "" "Accès au dictionnaire des annotations d'un objet en Python 3.9 et antérieur" -#: howto/annotations.rst:64 +#: howto/annotations.rst:70 msgid "" "In Python 3.9 and older, accessing the annotations dict of an object is much " "more complicated than in newer versions. The problem is a design flaw in " @@ -141,7 +149,7 @@ msgstr "" "problème est dû à un défaut de conception de ces anciennes versions de " "Python, notamment en ce qui concerne les annotations de classe." -#: howto/annotations.rst:69 +#: howto/annotations.rst:75 msgid "" "Best practice for accessing the annotations dict of other objects--" "functions, other callables, and modules--is the same as best practice for " @@ -155,7 +163,7 @@ msgstr "" "vous devez utiliser la forme à trois arguments de :func:`getattr` pour " "accéder à l'attribut ``__annotations__`` de l'objet." -#: howto/annotations.rst:76 +#: howto/annotations.rst:82 msgid "" "Unfortunately, this isn't best practice for classes. The problem is that, " "since ``__annotations__`` is optional on classes, and because classes can " @@ -170,12 +178,12 @@ msgstr "" "renvoyer le dictionnaire d'annotations d'une *classe de base.* Par " "exemple : ::" -#: howto/annotations.rst:92 +#: howto/annotations.rst:98 msgid "This will print the annotations dict from ``Base``, not ``Derived``." msgstr "" "Ceci affiche le dictionnaire d'annotations de ``Base``, pas de ``Derived``." -#: howto/annotations.rst:95 +#: howto/annotations.rst:101 msgid "" "Your code will have to have a separate code path if the object you're " "examining is a class (``isinstance(o, type)``). In that case, best practice " @@ -192,7 +200,7 @@ msgstr "" "annotations définies, la bonne pratique est d'appeler la méthode ``get`` sur " "le dictionnaire de la classe." -#: howto/annotations.rst:103 +#: howto/annotations.rst:109 msgid "" "To put it all together, here is some sample code that safely accesses the " "``__annotations__`` attribute on an arbitrary object in Python 3.9 and " @@ -202,7 +210,7 @@ msgstr "" "l'attribut ``__annotations__`` d'un objet quelconque en Python 3.9 et " "antérieur : ::" -#: howto/annotations.rst:112 +#: howto/annotations.rst:118 msgid "" "After running this code, ``ann`` should be either a dictionary or ``None``. " "You're encouraged to double-check the type of ``ann`` using :func:" @@ -212,7 +220,7 @@ msgstr "" "``None``. Nous vous conseillons de vérifier le type de ``ann`` en " "utilisant :func:`isinstance` avant de poursuivre l'analyse." -#: howto/annotations.rst:117 +#: howto/annotations.rst:123 msgid "" "Note that some exotic or malformed type objects may not have a ``__dict__`` " "attribute, so for extra safety you may also wish to use :func:`getattr` to " @@ -222,12 +230,12 @@ msgstr "" "d'attribut ``__dict__`` donc, pour plus de sécurité, vous pouvez également " "utiliser :func:`getattr` pour accéder à ``__dict__``." -#: howto/annotations.rst:123 +#: howto/annotations.rst:129 msgid "Manually Un-Stringizing Stringized Annotations" msgstr "" "Conversion manuelle des annotations contenues dans une chaîne de caractères" -#: howto/annotations.rst:125 +#: howto/annotations.rst:131 msgid "" "In situations where some annotations may be \"stringized\", and you wish to " "evaluate those strings to produce the Python values they represent, it " @@ -240,7 +248,7 @@ msgstr "" "préférable d'appeler :func:`inspect.get_annotations` pour faire ce travail à " "votre place." -#: howto/annotations.rst:131 +#: howto/annotations.rst:137 msgid "" "If you're using Python 3.9 or older, or if for some reason you can't use :" "func:`inspect.get_annotations`, you'll need to duplicate its logic. You're " @@ -253,7 +261,7 @@ msgstr "" "l'implémentation de :func:`inspect.get_annotations` dans la version actuelle " "de Python et à suivre une approche similaire." -#: howto/annotations.rst:137 +#: howto/annotations.rst:143 msgid "" "In a nutshell, if you wish to evaluate a stringized annotation on an " "arbitrary object ``o``:" @@ -261,7 +269,7 @@ msgstr "" "En bref, si vous souhaitez évaluer une annotation empaquetée en chaîne de " "caractères sur un objet arbitraire ``o`` :" -#: howto/annotations.rst:140 +#: howto/annotations.rst:146 msgid "" "If ``o`` is a module, use ``o.__dict__`` as the ``globals`` when calling :" "func:`eval`." @@ -269,7 +277,7 @@ msgstr "" "Si ``o`` est un module, utilisez ``o.__dict__`` pour accéder aux noms " "``globals`` lors de l'appel à :func:`eval`." -#: howto/annotations.rst:142 +#: howto/annotations.rst:148 msgid "" "If ``o`` is a class, use ``sys.modules[o.__module__].__dict__`` as the " "``globals``, and ``dict(vars(o))`` as the ``locals``, when calling :func:" @@ -279,7 +287,7 @@ msgstr "" "pour désigner les noms ``globals``, et ``dict(vars(o))`` pour désigner les " "``locals``, lorsque vous appelez :func:`eval`." -#: howto/annotations.rst:145 +#: howto/annotations.rst:151 msgid "" "If ``o`` is a wrapped callable using :func:`functools.update_wrapper`, :func:" "`functools.wraps`, or :func:`functools.partial`, iteratively unwrap it by " @@ -291,7 +299,7 @@ msgstr "" "encapsulez-le itérativement en accédant à ``o.__wrapped__`` ou ``o.func`` " "selon le cas, jusqu'à ce que vous ayez trouvé la fonction racine." -#: howto/annotations.rst:149 +#: howto/annotations.rst:155 msgid "" "If ``o`` is a callable (but not a class), use ``o.__globals__`` as the " "globals when calling :func:`eval`." @@ -299,7 +307,7 @@ msgstr "" "Si ``o`` est un objet appelable (mais pas une classe), utilisez ``o." "__globals__`` pour désigner les globales lors de l'appel de :func:`eval`." -#: howto/annotations.rst:152 +#: howto/annotations.rst:158 msgid "" "However, not all string values used as annotations can be successfully " "turned into Python values by :func:`eval`. String values could theoretically " @@ -314,7 +322,7 @@ msgstr "" "indications de type qui nécessitent d'annoter avec des valeurs de chaîne qui " "*ne peuvent pas* être évaluées. Par exemple :" -#: howto/annotations.rst:159 +#: howto/annotations.rst:165 msgid "" ":pep:`604` union types using ``|``, before support for this was added to " "Python 3.10." @@ -322,7 +330,7 @@ msgstr "" "Les types d'union de style :pep:`604` avec ``|``, avant que cette prise en " "charge ne soit ajoutée à Python 3.10." -#: howto/annotations.rst:161 +#: howto/annotations.rst:167 msgid "" "Definitions that aren't needed at runtime, only imported when :const:`typing." "TYPE_CHECKING` is true." @@ -330,7 +338,7 @@ msgstr "" "Les définitions qui ne sont pas nécessaires à l'exécution, importées " "uniquement lorsque :const:`typing.TYPE_CHECKING` est vrai." -#: howto/annotations.rst:164 +#: howto/annotations.rst:170 msgid "" "If :func:`eval` attempts to evaluate such values, it will fail and raise an " "exception. So, when designing a library API that works with annotations, " @@ -342,12 +350,12 @@ msgstr "" "fonctionnant avec des annotations, il est recommandé de ne tenter d'évaluer " "des valeurs de type chaîne que si l'appelant le demande explicitement." -#: howto/annotations.rst:172 +#: howto/annotations.rst:178 msgid "Best Practices For ``__annotations__`` In Any Python Version" msgstr "" "Bonnes pratiques pour ``__annotations__`` dans toutes les versions de Python" -#: howto/annotations.rst:174 +#: howto/annotations.rst:180 msgid "" "You should avoid assigning to the ``__annotations__`` member of objects " "directly. Let Python manage setting ``__annotations__``." @@ -355,7 +363,7 @@ msgstr "" "Évitez d'assigner directement des objets à l'élément ``__annotations__``. " "Laissez Python gérer le paramétrage de ``__annotations__``." -#: howto/annotations.rst:177 +#: howto/annotations.rst:183 msgid "" "If you do assign directly to the ``__annotations__`` member of an object, " "you should always set it to a ``dict`` object." @@ -363,7 +371,7 @@ msgstr "" "Si vous assignez directement à l'élément ``__annotations__`` d'un objet, " "vous devez toujours le définir comme un ``dict``." -#: howto/annotations.rst:180 +#: howto/annotations.rst:186 msgid "" "If you directly access the ``__annotations__`` member of an object, you " "should ensure that it's a dictionary before attempting to examine its " @@ -373,20 +381,20 @@ msgstr "" "devez vous assurer qu'il s'agit d'un dictionnaire avant de tenter d'examiner " "son contenu." -#: howto/annotations.rst:184 +#: howto/annotations.rst:190 msgid "You should avoid modifying ``__annotations__`` dicts." msgstr "Évitez de modifier les dictionnaires ``__annotations__``." -#: howto/annotations.rst:186 +#: howto/annotations.rst:192 msgid "" "You should avoid deleting the ``__annotations__`` attribute of an object." msgstr "Évitez de supprimer l'attribut ``__annotations__`` d'un objet." -#: howto/annotations.rst:191 +#: howto/annotations.rst:197 msgid "``__annotations__`` Quirks" msgstr "Les curiosités concernant ``__annotations__``" -#: howto/annotations.rst:193 +#: howto/annotations.rst:199 msgid "" "In all versions of Python 3, function objects lazy-create an annotations " "dict if no annotations are defined on that object. You can delete the " @@ -408,7 +416,7 @@ msgstr "" "``AttributeError`` ; si vous utilisez ``del fn.__annotations__`` deux fois " "de suite, vous êtes sûr de toujours obtenir ``AttributeError``." -#: howto/annotations.rst:203 +#: howto/annotations.rst:209 msgid "" "Everything in the above paragraph also applies to class and module objects " "in Python 3.10 and newer." @@ -416,7 +424,7 @@ msgstr "" "Tout ce qui est dit dans le paragraphe précédent s'applique également aux " "objets de type classe et module en Python 3.10 et suivants." -#: howto/annotations.rst:206 +#: howto/annotations.rst:212 msgid "" "In all versions of Python 3, you can set ``__annotations__`` on a function " "object to ``None``. However, subsequently accessing the annotations on that " @@ -435,7 +443,7 @@ msgstr "" "objets permettent de définir ``__annotations__`` à n'importe quelle valeur " "Python, et conserveront la valeur définie." -#: howto/annotations.rst:214 +#: howto/annotations.rst:220 msgid "" "If Python stringizes your annotations for you (using ``from __future__ " "import annotations``), and you specify a string as an annotation, the string " @@ -447,7 +455,7 @@ msgstr "" "caractères comme annotation, la chaîne sera elle-même entre guillemets. En " "fait, l'annotation est mise entre guillemets *deux fois*. Par exemple : ::" -#: howto/annotations.rst:225 +#: howto/annotations.rst:231 msgid "" "This prints ``{'a': \"'str'\"}``. This shouldn't really be considered a " "\"quirk\"; it's mentioned here simply because it might be surprising." diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 41a19e7d93..4d75f33091 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:15+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -525,15 +525,13 @@ msgid "Running a logging socket listener in production" msgstr "" "Journalisation en production à l'aide d'un connecteur en écoute sur le réseau" -#: howto/logging-cookbook.rst:768 +#: howto/logging-cookbook.rst:770 #, fuzzy msgid "" "To run a logging listener in production, you may need to use a process-" -"management tool such as `Supervisor `_. `Here " -"`_ is a " -"Gist which provides the bare-bones files to run the above functionality " -"using Supervisor: you will need to change the ``/path/to/`` parts in the " -"Gist to reflect the actual paths you want to use." +"management tool such as `Supervisor `_. `Here is a " +"Gist `__ which provides the bare-bones files to run " +"the above functionality using Supervisor. It consists of the following files:" msgstr "" "Pour de la journalisation en production *via* un connecteur réseau en " "écoute, il est probable que vous ayez besoin d'utiliser un outil de " @@ -543,12 +541,147 @@ msgstr "" "fonction avec *Supervisor* : vous aurez besoin de modifier les parties ``/" "path/to/`` du *Gist* pour refléter les chemins réels que vous utilisez." +#: howto/logging-cookbook.rst:777 +msgid "File" +msgstr "" + +#: howto/logging-cookbook.rst:777 +msgid "Purpose" +msgstr "" + #: howto/logging-cookbook.rst:779 +msgid ":file:`prepare.sh`" +msgstr "" + +#: howto/logging-cookbook.rst:779 +msgid "A Bash script to prepare the environment for testing" +msgstr "" + +#: howto/logging-cookbook.rst:782 +msgid ":file:`supervisor.conf`" +msgstr "" + +#: howto/logging-cookbook.rst:782 +msgid "" +"The Supervisor configuration file, which has entries for the listener and a " +"multi-process web application" +msgstr "" + +#: howto/logging-cookbook.rst:786 +msgid ":file:`ensure_app.sh`" +msgstr "" + +#: howto/logging-cookbook.rst:786 +msgid "" +"A Bash script to ensure that Supervisor is running with the above " +"configuration" +msgstr "" + +#: howto/logging-cookbook.rst:789 +msgid ":file:`log_listener.py`" +msgstr "" + +#: howto/logging-cookbook.rst:789 +msgid "" +"The socket listener program which receives log events and records them to a " +"file" +msgstr "" + +#: howto/logging-cookbook.rst:792 +msgid ":file:`main.py`" +msgstr "" + +#: howto/logging-cookbook.rst:792 +msgid "" +"A simple web application which performs logging via a socket connected to " +"the listener" +msgstr "" + +#: howto/logging-cookbook.rst:795 +msgid ":file:`webapp.json`" +msgstr "" + +#: howto/logging-cookbook.rst:795 +msgid "A JSON configuration file for the web application" +msgstr "" + +#: howto/logging-cookbook.rst:797 +msgid ":file:`client.py`" +msgstr "" + +#: howto/logging-cookbook.rst:797 +msgid "A Python script to exercise the web application" +msgstr "" + +#: howto/logging-cookbook.rst:800 +msgid "" +"The web application uses `Gunicorn `_, which is a " +"popular web application server that starts multiple worker processes to " +"handle requests. This example setup shows how the workers can write to the " +"same log file without conflicting with one another --- they all go through " +"the socket listener." +msgstr "" + +#: howto/logging-cookbook.rst:805 +msgid "To test these files, do the following in a POSIX environment:" +msgstr "" + +#: howto/logging-cookbook.rst:807 +msgid "" +"Download `the Gist `__ as a ZIP archive using the :" +"guilabel:`Download ZIP` button." +msgstr "" + +#: howto/logging-cookbook.rst:810 +msgid "Unzip the above files from the archive into a scratch directory." +msgstr "" + +#: howto/logging-cookbook.rst:812 +msgid "" +"In the scratch directory, run ``bash prepare.sh`` to get things ready. This " +"creates a :file:`run` subdirectory to contain Supervisor-related and log " +"files, and a :file:`venv` subdirectory to contain a virtual environment into " +"which ``bottle``, ``gunicorn`` and ``supervisor`` are installed." +msgstr "" + +#: howto/logging-cookbook.rst:817 +msgid "" +"Run ``bash ensure_app.sh`` to ensure that Supervisor is running with the " +"above configuration." +msgstr "" + +#: howto/logging-cookbook.rst:820 +msgid "" +"Run ``venv/bin/python client.py`` to exercise the web application, which " +"will lead to records being written to the log." +msgstr "" + +#: howto/logging-cookbook.rst:823 +msgid "" +"Inspect the log files in the :file:`run` subdirectory. You should see the " +"most recent log lines in files matching the pattern :file:`app.log*`. They " +"won't be in any particular order, since they have been handled concurrently " +"by different worker processes in a non-deterministic way." +msgstr "" + +#: howto/logging-cookbook.rst:828 +msgid "" +"You can shut down the listener and the web application by running ``venv/bin/" +"supervisorctl -c supervisor.conf shutdown``." +msgstr "" + +#: howto/logging-cookbook.rst:831 +msgid "" +"You may need to tweak the configuration files in the unlikely event that the " +"configured ports clash with something else in your test environment." +msgstr "" + +#: howto/logging-cookbook.rst:837 msgid "Adding contextual information to your logging output" msgstr "Ajout d'informations contextuelles dans la journalisation" # #no-qa -#: howto/logging-cookbook.rst:781 +#: howto/logging-cookbook.rst:839 msgid "" "Sometimes you want logging output to contain contextual information in " "addition to the parameters passed to the logging call. For example, in a " @@ -578,13 +711,13 @@ msgstr "" "difficile de gérer un nombre potentiellement illimité d'instances de :class:" "`Logger`." -#: howto/logging-cookbook.rst:796 +#: howto/logging-cookbook.rst:854 msgid "Using LoggerAdapters to impart contextual information" msgstr "" "Utilisation d'adaptateurs de journalisation pour transmettre des " "informations contextuelles" -#: howto/logging-cookbook.rst:798 +#: howto/logging-cookbook.rst:856 msgid "" "An easy way in which you can pass contextual information to be output along " "with logging event information is to use the :class:`LoggerAdapter` class. " @@ -603,7 +736,7 @@ msgstr "" "class:`Logger`, vous pouvez donc utiliser les deux types d'instances de " "manière interchangeable." -#: howto/logging-cookbook.rst:806 +#: howto/logging-cookbook.rst:864 msgid "" "When you create an instance of :class:`LoggerAdapter`, you pass it a :class:" "`Logger` instance and a dict-like object which contains your contextual " @@ -621,7 +754,7 @@ msgstr "" "constructeur et s'arrange pour intégrer les informations contextuelles dans " "l'appel délégué. Voici un extrait du code de :class:`LoggerAdapter` ::" -#: howto/logging-cookbook.rst:822 +#: howto/logging-cookbook.rst:880 msgid "" "The :meth:`~LoggerAdapter.process` method of :class:`LoggerAdapter` is where " "the contextual information is added to the logging output. It's passed the " @@ -643,7 +776,7 @@ msgstr "" "sûr, si vous avez passé un argument par mot-clé ``extra`` dans l'appel à " "l'adaptateur, il est écrasé silencieusement." -#: howto/logging-cookbook.rst:831 +#: howto/logging-cookbook.rst:889 msgid "" "The advantage of using 'extra' is that the values in the dict-like object " "are merged into the :class:`LogRecord` instance's __dict__, allowing you to " @@ -663,11 +796,11 @@ msgstr "" "`~LoggerAdapter.process` pour faire ce dont vous avez besoin. Voici un " "exemple simple ::" -#: howto/logging-cookbook.rst:847 +#: howto/logging-cookbook.rst:905 msgid "which you can use like this::" msgstr "que vous pouvez utiliser comme ceci ::" -#: howto/logging-cookbook.rst:852 +#: howto/logging-cookbook.rst:910 msgid "" "Then any events that you log to the adapter will have the value of " "``some_conn_id`` prepended to the log messages." @@ -675,13 +808,13 @@ msgstr "" "Ainsi, tout événement journalisé aura la valeur de ``some_conn_id`` insérée " "en début de message de journalisation." -#: howto/logging-cookbook.rst:856 +#: howto/logging-cookbook.rst:914 msgid "Using objects other than dicts to pass contextual information" msgstr "" "Utilisation d'objets autres que les dictionnaires pour passer des " "informations contextuelles" -#: howto/logging-cookbook.rst:858 +#: howto/logging-cookbook.rst:916 msgid "" "You don't need to pass an actual dict to a :class:`LoggerAdapter` - you " "could pass an instance of a class which implements ``__getitem__`` and " @@ -696,11 +829,11 @@ msgstr "" "valeurs de manière dynamique (alors que les valeurs d'un dictionnaire " "seraient constantes)." -#: howto/logging-cookbook.rst:867 +#: howto/logging-cookbook.rst:925 msgid "Using Filters to impart contextual information" msgstr "Utilisation de filtres pour transmettre des informations contextuelles" -#: howto/logging-cookbook.rst:869 +#: howto/logging-cookbook.rst:927 msgid "" "You can also add contextual information to log output using a user-defined :" "class:`Filter`. ``Filter`` instances are allowed to modify the " @@ -715,7 +848,7 @@ msgstr "" "intégrés à la journalisation en utilisant une chaîne de formatage appropriée " "ou, si nécessaire, un :class:`Formatter` personnalisé." -#: howto/logging-cookbook.rst:874 +#: howto/logging-cookbook.rst:932 msgid "" "For example in a web application, the request being processed (or at least, " "the interesting parts of it) can be stored in a threadlocal (:class:" @@ -736,15 +869,15 @@ msgstr "" "formatage peut être utilisée pour obtenir une sortie similaire à celle " "indiquée ci-dessus. Voici un exemple de script ::" -#: howto/logging-cookbook.rst:920 +#: howto/logging-cookbook.rst:978 msgid "which, when run, produces something like:" msgstr "qui, à l'exécution, produit quelque chose comme ça ::" -#: howto/logging-cookbook.rst:938 +#: howto/logging-cookbook.rst:996 msgid "Use of ``contextvars``" msgstr "" -#: howto/logging-cookbook.rst:940 +#: howto/logging-cookbook.rst:998 msgid "" "Since Python 3.7, the :mod:`contextvars` module has provided context-local " "storage which works for both :mod:`threading` and :mod:`asyncio` processing " @@ -754,7 +887,7 @@ msgid "" "attributes handled by web applications." msgstr "" -#: howto/logging-cookbook.rst:946 +#: howto/logging-cookbook.rst:1004 msgid "" "For the purposes of illustration, say that you have different web " "applications, each independent of the other but running in the same Python " @@ -765,18 +898,18 @@ msgid "" "information such as client IP, HTTP request method and client username?" msgstr "" -#: howto/logging-cookbook.rst:953 +#: howto/logging-cookbook.rst:1011 msgid "Let's assume that the library can be simulated by the following code:" msgstr "" -#: howto/logging-cookbook.rst:969 +#: howto/logging-cookbook.rst:1027 msgid "" "We can simulate the multiple web applications by means of two simple " "classes, ``Request`` and ``WebApp``. These simulate how real threaded web " "applications work - each request is handled by a thread:" msgstr "" -#: howto/logging-cookbook.rst:1113 +#: howto/logging-cookbook.rst:1171 msgid "" "If you run the above, you should find that roughly half the requests go " "into :file:`app1.log` and the rest into :file:`app2.log`, and the all the " @@ -787,12 +920,12 @@ msgid "" "illustrated by the following shell output:" msgstr "" -#: howto/logging-cookbook.rst:1160 +#: howto/logging-cookbook.rst:1218 #, fuzzy msgid "Imparting contextual information in handlers" msgstr "Ajout d'informations contextuelles dans la journalisation" -#: howto/logging-cookbook.rst:1162 +#: howto/logging-cookbook.rst:1220 msgid "" "Each :class:`~Handler` has its own chain of filters. If you want to add " "contextual information to a :class:`LogRecord` without leaking it to other " @@ -805,11 +938,11 @@ msgstr "" "renvoie un nouveau :class:`~LogRecord` au lieu de le modifier sur place, " "comme dans le script suivant ::" -#: howto/logging-cookbook.rst:1189 +#: howto/logging-cookbook.rst:1247 msgid "Logging to a single file from multiple processes" msgstr "Journalisation vers un fichier unique à partir de plusieurs processus" -#: howto/logging-cookbook.rst:1191 +#: howto/logging-cookbook.rst:1249 msgid "" "Although logging is thread-safe, and logging to a single file from multiple " "threads in a single process *is* supported, logging to a single file from " @@ -839,7 +972,7 @@ msgstr "" "en détail et inclut un connecteur en écoute réseau fonctionnel qui peut être " "utilisé comme point de départ pour l'adapter à vos propres applications." -#: howto/logging-cookbook.rst:1204 +#: howto/logging-cookbook.rst:1262 msgid "" "You could also write your own handler which uses the :class:" "`~multiprocessing.Lock` class from the :mod:`multiprocessing` module to " @@ -858,7 +991,7 @@ msgstr "" "fonctionnel pour toutes les plates-formes (voir https://bugs.python.org/" "issue3770)." -#: howto/logging-cookbook.rst:1214 +#: howto/logging-cookbook.rst:1272 msgid "" "Alternatively, you can use a ``Queue`` and a :class:`QueueHandler` to send " "all logging events to one of the processes in your multi-process " @@ -885,7 +1018,7 @@ msgstr "" "les autres processus de votre application, et peut être utilisé comme base " "pour répondre à vos propres exigences ::" -#: howto/logging-cookbook.rst:1330 +#: howto/logging-cookbook.rst:1388 msgid "" "A variant of the above script keeps the logging in the main process, in a " "separate thread::" @@ -893,7 +1026,7 @@ msgstr "" "Une variante du script ci-dessus conserve la journalisation dans le " "processus principal, dans un fil séparé ::" -#: howto/logging-cookbook.rst:1425 +#: howto/logging-cookbook.rst:1483 msgid "" "This variant shows how you can e.g. apply configuration for particular " "loggers - e.g. the ``foo`` logger has a special handler which stores all " @@ -910,11 +1043,11 @@ msgstr "" "journalisation sont générés dans les processus de travail) pour diriger les " "messages vers les destinations appropriées." -#: howto/logging-cookbook.rst:1432 +#: howto/logging-cookbook.rst:1490 msgid "Using concurrent.futures.ProcessPoolExecutor" msgstr "Utilisation de concurrent.futures.ProcessPoolExecutor" -#: howto/logging-cookbook.rst:1434 +#: howto/logging-cookbook.rst:1492 msgid "" "If you want to use :class:`concurrent.futures.ProcessPoolExecutor` to start " "your worker processes, you need to create the queue slightly differently. " @@ -924,27 +1057,27 @@ msgstr "" "pour démarrer vos processus de travail, vous devez créer la file d'attente " "légèrement différemment. À la place de" -#: howto/logging-cookbook.rst:1442 +#: howto/logging-cookbook.rst:1500 msgid "you should use" msgstr "vous devez écrire" -#: howto/logging-cookbook.rst:1448 +#: howto/logging-cookbook.rst:1506 msgid "and you can then replace the worker creation from this::" msgstr "" "et vous pouvez alors remplacer la création du processus de travail telle " "que ::" -#: howto/logging-cookbook.rst:1459 +#: howto/logging-cookbook.rst:1517 msgid "to this (remembering to first import :mod:`concurrent.futures`)::" msgstr "" "par celle-ci (souvenez-vous d'importer au préalable :mod:`concurrent." "futures`) ::" -#: howto/logging-cookbook.rst:1466 +#: howto/logging-cookbook.rst:1524 msgid "Deploying Web applications using Gunicorn and uWSGI" msgstr "Déploiement d'applications Web avec *Gunicorn* et *uWSGI*" -#: howto/logging-cookbook.rst:1468 +#: howto/logging-cookbook.rst:1526 msgid "" "When deploying Web applications using `Gunicorn `_ or " "`uWSGI `_ (or similar), " @@ -966,11 +1099,11 @@ msgstr "" "tel que *Supervisor* (voir `Journalisation en production à l'aide d'un " "connecteur en écoute sur le réseau`_ pour plus de détails)." -#: howto/logging-cookbook.rst:1478 +#: howto/logging-cookbook.rst:1536 msgid "Using file rotation" msgstr "Utilisation du roulement de fichiers" -#: howto/logging-cookbook.rst:1483 +#: howto/logging-cookbook.rst:1541 msgid "" "Sometimes you want to let a log file grow to a certain size, then open a new " "file and log to that. You may want to keep a certain number of these files, " @@ -987,7 +1120,7 @@ msgstr "" "fichiers restent tous deux limités. Pour ce cas d'usage, :class:`~handlers." "RotatingFileHandler` est inclus dans le paquet de journalisation ::" -#: howto/logging-cookbook.rst:1515 +#: howto/logging-cookbook.rst:1573 msgid "" "The result should be 6 separate files, each with part of the log history for " "the application:" @@ -995,7 +1128,7 @@ msgstr "" "Vous devez obtenir 6 fichiers séparés, chacun contenant une partie de " "l'historique de journalisation de l'application :" -#: howto/logging-cookbook.rst:1527 +#: howto/logging-cookbook.rst:1585 msgid "" "The most current file is always :file:`logging_rotatingfile_example.out`, " "and each time it reaches the size limit it is renamed with the suffix " @@ -1008,7 +1141,7 @@ msgstr "" "sauvegarde existants est renommé pour incrémenter le suffixe (``.1`` devient " "``.2``, etc.) et le fichier ``.6`` est effacé." -#: howto/logging-cookbook.rst:1532 +#: howto/logging-cookbook.rst:1590 msgid "" "Obviously this example sets the log length much too small as an extreme " "example. You would want to set *maxBytes* to an appropriate value." @@ -1016,11 +1149,11 @@ msgstr "" "De toute évidence, la longueur du journal définie dans cet exemple est " "beaucoup trop petite. À vous de définir *maxBytes* à une valeur appropriée." -#: howto/logging-cookbook.rst:1538 +#: howto/logging-cookbook.rst:1596 msgid "Use of alternative formatting styles" msgstr "Utilisation d'autres styles de formatage" -#: howto/logging-cookbook.rst:1540 +#: howto/logging-cookbook.rst:1598 msgid "" "When logging was added to the Python standard library, the only way of " "formatting messages with variable content was to use the %-formatting " @@ -1034,7 +1167,7 @@ msgstr "" "de deux nouvelles méthode de formatage : :class:`string.Template` (ajouté " "dans Python 2.4) et :meth:`str.format` (ajouté dans Python 2.6)." -#: howto/logging-cookbook.rst:1546 +#: howto/logging-cookbook.rst:1604 msgid "" "Logging (as of 3.2) provides improved support for these two additional " "formatting styles. The :class:`Formatter` class been enhanced to take an " @@ -1058,7 +1191,7 @@ msgstr "" "Voici un exemple de session interactive en console pour montrer les " "possibilités :" -#: howto/logging-cookbook.rst:1580 +#: howto/logging-cookbook.rst:1638 msgid "" "Note that the formatting of logging messages for final output to logs is " "completely independent of how an individual logging message is constructed. " @@ -1069,7 +1202,7 @@ msgstr "" "individuel est construit. Vous pouvez toujours utiliser formatage *via* " "« % », comme ici ::" -#: howto/logging-cookbook.rst:1588 +#: howto/logging-cookbook.rst:1646 msgid "" "Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -1098,7 +1231,7 @@ msgstr "" "préservant la rétrocompatibilité puisque tous les appels de journalisation " "dans le code pré-existant utilisent des chaînes au format « % »." -#: howto/logging-cookbook.rst:1601 +#: howto/logging-cookbook.rst:1659 msgid "" "There is, however, a way that you can use {}- and $- formatting to construct " "your individual log messages. Recall that for a message you can use an " @@ -1112,7 +1245,7 @@ msgstr "" "et que le package de journalisation appelle ``str()`` sur cet objet pour " "fabriquer la chaîne finale. Considérez les deux classes suivantes ::" -#: howto/logging-cookbook.rst:1625 +#: howto/logging-cookbook.rst:1683 msgid "" "Either of these can be used in place of a format string, to allow {}- or $-" "formatting to be used to build the actual \"message\" part which appears in " @@ -1131,7 +1264,7 @@ msgstr "" "soulignement — à ne pas confondre avec _, le trait de soulignement unique " "utilisé comme alias pour :func:`gettext.gettext` ou ses homologues)." -#: howto/logging-cookbook.rst:1633 +#: howto/logging-cookbook.rst:1691 msgid "" "The above classes are not included in Python, though they're easy enough to " "copy and paste into your own code. They can be used as follows (assuming " @@ -1142,7 +1275,7 @@ msgstr "" "utilisées comme suit (en supposant qu'elles soient déclarées dans un module " "appelé ``wherever``) :" -#: howto/logging-cookbook.rst:1655 +#: howto/logging-cookbook.rst:1713 msgid "" "While the above examples use ``print()`` to show how the formatting works, " "you would of course use ``logger.debug()`` or similar to actually log using " @@ -1152,7 +1285,7 @@ msgstr "" "fonctionne le formatage, utilisez bien sûr ``logger.debug()`` ou similaire " "pour journaliser avec cette approche." -#: howto/logging-cookbook.rst:1659 +#: howto/logging-cookbook.rst:1717 msgid "" "One thing to note is that you pay no significant performance penalty with " "this approach: the actual formatting happens not when you make the logging " @@ -1172,7 +1305,7 @@ msgstr "" "n'est que du sucre syntaxique pour un appel de constructeur à l'une des " "classes ``XXXMessage``." -#: howto/logging-cookbook.rst:1667 +#: howto/logging-cookbook.rst:1725 msgid "" "If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar " "effect to the above, as in the following example::" @@ -1180,7 +1313,7 @@ msgstr "" "Si vous préférez, vous pouvez utiliser un :class:`LoggerAdapter` pour " "obtenir un effet similaire à ce qui précède, comme dans l'exemple suivant ::" -#: howto/logging-cookbook.rst:1698 +#: howto/logging-cookbook.rst:1756 msgid "" "The above script should log the message ``Hello, world!`` when run with " "Python 3.2 or later." @@ -1188,11 +1321,11 @@ msgstr "" "Le script ci-dessus journalise le message ``Hello, world!`` quand il est " "lancé avec Python 3.2 ou ultérieur." -#: howto/logging-cookbook.rst:1707 +#: howto/logging-cookbook.rst:1765 msgid "Customizing ``LogRecord``" msgstr "Personnalisation de ``LogRecord``" -#: howto/logging-cookbook.rst:1709 +#: howto/logging-cookbook.rst:1767 msgid "" "Every logging event is represented by a :class:`LogRecord` instance. When an " "event is logged and not filtered out by a logger's level, a :class:" @@ -1210,7 +1343,7 @@ msgstr "" "propagation vers le haut de la hiérarchie est désactivée). Avant Python 3.2, " "il n’y avait que deux endroits où cette création était effectuée :" -#: howto/logging-cookbook.rst:1716 +#: howto/logging-cookbook.rst:1774 msgid "" ":meth:`Logger.makeRecord`, which is called in the normal process of logging " "an event. This invoked :class:`LogRecord` directly to create an instance." @@ -1219,7 +1352,7 @@ msgstr "" "journalisation d’un événement. Elle appelait :class:`LogRecord` directement " "pour créer une instance." -#: howto/logging-cookbook.rst:1719 +#: howto/logging-cookbook.rst:1777 msgid "" ":func:`makeLogRecord`, which is called with a dictionary containing " "attributes to be added to the LogRecord. This is typically invoked when a " @@ -1233,7 +1366,7 @@ msgstr "" "*pickle* *via* un :class:`~handlers.SocketHandler`, ou sous format JSON " "*via* un :class:`~handlers.HTTPHandler`)." -#: howto/logging-cookbook.rst:1725 +#: howto/logging-cookbook.rst:1783 msgid "" "This has usually meant that if you need to do anything special with a :class:" "`LogRecord`, you've had to do one of the following." @@ -1242,7 +1375,7 @@ msgstr "" "spécial avec un :class:`LogRecord`, vous deviez faire l’une des choses " "suivantes." -#: howto/logging-cookbook.rst:1728 +#: howto/logging-cookbook.rst:1786 msgid "" "Create your own :class:`Logger` subclass, which overrides :meth:`Logger." "makeRecord`, and set it using :func:`~logging.setLoggerClass` before any " @@ -1252,7 +1385,7 @@ msgstr "" "makeRecord`, et la personnaliser à l’aide de :func:`~logging.setLoggerClass` " "avant que les enregistreurs qui vous intéressaient ne soient instanciés." -#: howto/logging-cookbook.rst:1731 +#: howto/logging-cookbook.rst:1789 msgid "" "Add a :class:`Filter` to a logger or handler, which does the necessary " "special manipulation you need when its :meth:`~Filter.filter` method is " @@ -1262,7 +1395,7 @@ msgstr "" "effectuait la manipulation spéciale nécessaire dont vous aviez besoin " "lorsque sa méthode :meth:`~Filter.filter` était appelée." -#: howto/logging-cookbook.rst:1735 +#: howto/logging-cookbook.rst:1793 msgid "" "The first approach would be a little unwieldy in the scenario where (say) " "several different libraries wanted to do different things. Each would " @@ -1274,7 +1407,7 @@ msgstr "" "Chacun essaie de définir sa propre sous-classe :class:`Logger`, et celui qui " "l’a fait en dernier gagne." -#: howto/logging-cookbook.rst:1740 +#: howto/logging-cookbook.rst:1798 msgid "" "The second approach works reasonably well for many cases, but does not allow " "you to e.g. use a specialized subclass of :class:`LogRecord`. Library " @@ -1289,7 +1422,7 @@ msgstr "" "faire chaque fois qu’ils introduisent un nouvel enregistreur (ce qu’ils font " "simplement en ajoutant de nouveaux paquets ou modules et en écrivant ::" -#: howto/logging-cookbook.rst:1748 +#: howto/logging-cookbook.rst:1806 msgid "" "at module level). It's probably one too many things to think about. " "Developers could also add the filter to a :class:`~logging.NullHandler` " @@ -1306,7 +1439,7 @@ msgstr "" "sortie de ce gestionnaire ne refléterait pas les intentions du développeur " "de la bibliothèque." -#: howto/logging-cookbook.rst:1754 +#: howto/logging-cookbook.rst:1812 msgid "" "In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " "through a factory, which you can specify. The factory is just a callable you " @@ -1323,7 +1456,7 @@ msgstr "" "constructeur :class:`~logging.LogRecord`, car :class:`LogRecord` est le " "paramètre par défaut de la fabrique." -#: howto/logging-cookbook.rst:1761 +#: howto/logging-cookbook.rst:1819 msgid "" "This approach allows a custom factory to control all aspects of LogRecord " "creation. For example, you could return a subclass, or just add some " @@ -1335,7 +1468,7 @@ msgstr "" "une sous-classe ou simplement ajouter des attributs supplémentaires à " "l’enregistrement une fois créé, en utilisant un modèle similaire à celui-ci :" -#: howto/logging-cookbook.rst:1774 +#: howto/logging-cookbook.rst:1832 msgid "" "This pattern allows different libraries to chain factories together, and as " "long as they don't overwrite each other's attributes or unintentionally " @@ -1353,11 +1486,11 @@ msgstr "" "l’utilisation d’un :class:`Filter` ne permet pas d’obtenir le résultat " "souhaité." -#: howto/logging-cookbook.rst:1785 +#: howto/logging-cookbook.rst:1843 msgid "Subclassing QueueHandler - a ZeroMQ example" msgstr "Dérivation de *QueueHandler* – un exemple de *ZeroMQ*" -#: howto/logging-cookbook.rst:1787 +#: howto/logging-cookbook.rst:1845 msgid "" "You can use a :class:`QueueHandler` subclass to send messages to other kinds " "of queues, for example a ZeroMQ 'publish' socket. In the example below,the " @@ -1368,7 +1501,7 @@ msgstr "" "*ZeroMQ publish*. Dans l’exemple ci-dessous, le connecteur est créé " "séparément et transmis au gestionnaire (en tant que file d’attente) ::" -#: howto/logging-cookbook.rst:1806 +#: howto/logging-cookbook.rst:1864 msgid "" "Of course there are other ways of organizing this, for example passing in " "the data needed by the handler to create the socket::" @@ -1376,11 +1509,11 @@ msgstr "" "Bien sûr, il existe d’autres manières de faire, par exemple en transmettant " "les données nécessaires au gestionnaire pour créer le connecteur ::" -#: howto/logging-cookbook.rst:1824 +#: howto/logging-cookbook.rst:1882 msgid "Subclassing QueueListener - a ZeroMQ example" msgstr "Dérivation de *QueueListener* – un exemple de *ZeroMQ*" -#: howto/logging-cookbook.rst:1826 +#: howto/logging-cookbook.rst:1884 msgid "" "You can also subclass :class:`QueueListener` to get messages from other " "kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an example::" @@ -1389,47 +1522,47 @@ msgstr "" "messages d’autres types de files d’attente, par exemple un connecteur " "*ZeroMQ subscribe*. Voici un exemple ::" -#: howto/logging-cookbook.rst:1845 howto/logging-cookbook.rst:3803 +#: howto/logging-cookbook.rst:1903 howto/logging-cookbook.rst:3947 msgid "Module :mod:`logging`" msgstr "Module :mod:`logging`" -#: howto/logging-cookbook.rst:1845 howto/logging-cookbook.rst:3803 +#: howto/logging-cookbook.rst:1903 howto/logging-cookbook.rst:3947 msgid "API reference for the logging module." msgstr "Référence d'API pour le module de journalisation." -#: howto/logging-cookbook.rst:1848 howto/logging-cookbook.rst:3806 +#: howto/logging-cookbook.rst:1906 howto/logging-cookbook.rst:3950 msgid "Module :mod:`logging.config`" msgstr "Module :mod:`logging.config`" -#: howto/logging-cookbook.rst:1848 howto/logging-cookbook.rst:3806 +#: howto/logging-cookbook.rst:1906 howto/logging-cookbook.rst:3950 msgid "Configuration API for the logging module." msgstr "API de configuration pour le module de journalisation." -#: howto/logging-cookbook.rst:1851 howto/logging-cookbook.rst:3809 +#: howto/logging-cookbook.rst:1909 howto/logging-cookbook.rst:3953 msgid "Module :mod:`logging.handlers`" msgstr "Module :mod:`logging.handlers`" -#: howto/logging-cookbook.rst:1851 howto/logging-cookbook.rst:3809 +#: howto/logging-cookbook.rst:1909 howto/logging-cookbook.rst:3953 msgid "Useful handlers included with the logging module." msgstr "Gestionnaires utiles inclus avec le module de journalisation." -#: howto/logging-cookbook.rst:1853 +#: howto/logging-cookbook.rst:1911 msgid ":ref:`A basic logging tutorial `" msgstr "" ":ref:`Les bases de l’utilisation du module de journalisation `" -#: howto/logging-cookbook.rst:1855 +#: howto/logging-cookbook.rst:1913 msgid ":ref:`A more advanced logging tutorial `" msgstr "" ":ref:`Utilisation avancée du module de journalisation `" -#: howto/logging-cookbook.rst:1859 +#: howto/logging-cookbook.rst:1917 msgid "An example dictionary-based configuration" msgstr "Exemple de configuration basée sur un dictionnaire" -#: howto/logging-cookbook.rst:1861 +#: howto/logging-cookbook.rst:1919 msgid "" "Below is an example of a logging configuration dictionary - it's taken from " "the `documentation on the Django project `_ de la documentation de *Django*." -#: howto/logging-cookbook.rst:1924 +#: howto/logging-cookbook.rst:1982 msgid "Using a rotator and namer to customize log rotation processing" msgstr "" "Utilisation d’un rotateur et d’un nom pour personnaliser la rotation des " "journaux" -#: howto/logging-cookbook.rst:1926 +#: howto/logging-cookbook.rst:1984 msgid "" "An example of how you can define a namer and rotator is given in the " -"following snippet, which shows zlib-based compression of the log file::" +"following runnable script, which shows gzip compression of the log file::" msgstr "" -#: howto/logging-cookbook.rst:1944 +#: howto/logging-cookbook.rst:2015 msgid "" -"These are not \"true\" .gz files, as they are bare compressed data, with no " -"\"container\" such as you’d find in an actual gzip file. This snippet is " -"just for illustration purposes." +"After running this, you will see six new files, five of which are compressed:" msgstr "" -#: howto/logging-cookbook.rst:1949 +#: howto/logging-cookbook.rst:2028 msgid "A more elaborate multiprocessing example" msgstr "Exemple plus élaboré avec traitement en parallèle" -#: howto/logging-cookbook.rst:1951 +#: howto/logging-cookbook.rst:2030 msgid "" "The following working example shows how logging can be used with " "multiprocessing using configuration files. The configurations are fairly " @@ -1488,7 +1619,7 @@ msgstr "" "simples, mais servent à illustrer comment des configurations plus complexes " "pourraient être implémentées dans un scénario multi-processus réel." -#: howto/logging-cookbook.rst:1956 +#: howto/logging-cookbook.rst:2035 msgid "" "In the example, the main process spawns a listener process and some worker " "processes. Each of the main process, the listener and the workers have three " @@ -1513,7 +1644,7 @@ msgstr "" "sont purement illustratives, mais vous devriez pouvoir adapter cet exemple à " "votre propre scénario." -#: howto/logging-cookbook.rst:1966 +#: howto/logging-cookbook.rst:2045 msgid "" "Here's the script - the docstrings and the comments hopefully explain how it " "works::" @@ -1521,11 +1652,11 @@ msgstr "" "Voici le script – les chaines de documentation et les commentaires " "expliquent (en anglais), le principe de fonctionnement ::" -#: howto/logging-cookbook.rst:2178 +#: howto/logging-cookbook.rst:2257 msgid "Inserting a BOM into messages sent to a SysLogHandler" msgstr "Insertion d’une *BOM* dans les messages envoyés à un *SysLogHandler*" -#: howto/logging-cookbook.rst:2180 +#: howto/logging-cookbook.rst:2259 msgid "" ":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " "set of bytes which have the following structure: an optional pure-ASCII " @@ -1539,7 +1670,7 @@ msgstr "" "pour *Byte Order Mark* en anglais) UTF-8, suivie de contenu Unicode UTF-8 " "(voir la :rfc:`la spécification correspondante <5424#section-6>`)." -#: howto/logging-cookbook.rst:2186 +#: howto/logging-cookbook.rst:2265 msgid "" "In Python 3.1, code was added to :class:`~logging.handlers.SysLogHandler` to " "insert a BOM into the message, but unfortunately, it was implemented " @@ -1551,7 +1682,7 @@ msgstr "" "il a été implémenté de manière incorrecte, la *BOM* apparaissant au début du " "message et n’autorisant donc aucun composant ASCII pur à être placé devant." -#: howto/logging-cookbook.rst:2192 +#: howto/logging-cookbook.rst:2271 msgid "" "As this behaviour is broken, the incorrect BOM insertion code is being " "removed from Python 3.2.4 and later. However, it is not being replaced, and " @@ -1566,7 +1697,7 @@ msgstr "" "Unicode arbitraire après, encodé en UTF-8, alors vous devez appliquer ce qui " "suit :" -#: howto/logging-cookbook.rst:2198 +#: howto/logging-cookbook.rst:2277 msgid "" "Attach a :class:`~logging.Formatter` instance to your :class:`~logging." "handlers.SysLogHandler` instance, with a format string such as::" @@ -1574,7 +1705,7 @@ msgstr "" "Adjoignez une instance :class:`~logging.Formatter` à votre instance :class:" "`~logging.handlers.SysLogHandler`, avec une chaîne de format telle que ::" -#: howto/logging-cookbook.rst:2204 +#: howto/logging-cookbook.rst:2283 msgid "" "The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " "a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." @@ -1582,7 +1713,7 @@ msgstr "" "Le point de code Unicode U+FEFF, lorsqu’il est encodé en UTF-8, est encodé " "comme une *BOM* UTF-8 – la chaîne d’octets ``b'\\xef\\xbb\\xbf'``." -#: howto/logging-cookbook.rst:2207 +#: howto/logging-cookbook.rst:2286 msgid "" "Replace the ASCII section with whatever placeholders you like, but make sure " "that the data that appears in there after substitution is always ASCII (that " @@ -1592,7 +1723,7 @@ msgstr "" "vous que les données qui y apparaissent après la substitution sont toujours " "ASCII (ainsi elles resteront inchangées après l’encodage UTF-8)." -#: howto/logging-cookbook.rst:2211 +#: howto/logging-cookbook.rst:2290 msgid "" "Replace the Unicode section with whatever placeholders you like; if the data " "which appears there after substitution contains characters outside the ASCII " @@ -1603,7 +1734,7 @@ msgstr "" "dehors de la plage ASCII, c’est pris en charge – elles seront encodées en " "UTF-8." -#: howto/logging-cookbook.rst:2215 +#: howto/logging-cookbook.rst:2294 msgid "" "The formatted message *will* be encoded using UTF-8 encoding by " "``SysLogHandler``. If you follow the above rules, you should be able to " @@ -1617,11 +1748,11 @@ msgstr "" "se plaindra peut-être pas, mais vos messages ne seront pas conformes à la " "RFC 5424 et votre démon *syslog* est susceptible de se plaindre." -#: howto/logging-cookbook.rst:2222 +#: howto/logging-cookbook.rst:2301 msgid "Implementing structured logging" msgstr "Journalisation structurée" -#: howto/logging-cookbook.rst:2224 +#: howto/logging-cookbook.rst:2303 msgid "" "Although most logging messages are intended for reading by humans, and thus " "not readily machine-parseable, there might be circumstances where you want " @@ -1641,11 +1772,11 @@ msgstr "" "plusieurs façons d’y parvenir et voici une approche simple qui utilise JSON " "pour sérialiser l’événement de manière à être analysable par une machine ::" -#: howto/logging-cookbook.rst:2248 +#: howto/logging-cookbook.rst:2327 msgid "If the above script is run, it prints:" msgstr "Si vous lancez le script ci-dessus, il imprime :" -#: howto/logging-cookbook.rst:2254 howto/logging-cookbook.rst:2296 +#: howto/logging-cookbook.rst:2333 howto/logging-cookbook.rst:2375 msgid "" "Note that the order of items might be different according to the version of " "Python used." @@ -1653,7 +1784,7 @@ msgstr "" "Notez que l’ordre des éléments peut être différent en fonction de la version " "de Python utilisée." -#: howto/logging-cookbook.rst:2257 +#: howto/logging-cookbook.rst:2336 msgid "" "If you need more specialised processing, you can use a custom JSON encoder, " "as in the following complete example::" @@ -1661,15 +1792,15 @@ msgstr "" "Si vous avez besoin d’un traitement plus spécifique, vous pouvez utiliser un " "encodeur JSON personnalisé, comme dans l’exemple complet suivant :" -#: howto/logging-cookbook.rst:2290 +#: howto/logging-cookbook.rst:2369 msgid "When the above script is run, it prints:" msgstr "Quand vous exécutez le script ci-dessus, il imprime :" -#: howto/logging-cookbook.rst:2305 +#: howto/logging-cookbook.rst:2384 msgid "Customizing handlers with :func:`dictConfig`" msgstr "Personnalisation des gestionnaires avec :func:`dictConfig`" -#: howto/logging-cookbook.rst:2307 +#: howto/logging-cookbook.rst:2386 msgid "" "There are times when you want to customize logging handlers in particular " "ways, and if you use :func:`dictConfig` you may be able to do this without " @@ -1687,7 +1818,7 @@ msgstr "" "standard n’offrent pas cette gestion nativement. Vous pouvez personnaliser " "la création du gestionnaire à l’aide d’une fonction simple telle que ::" -#: howto/logging-cookbook.rst:2321 +#: howto/logging-cookbook.rst:2400 msgid "" "You can then specify, in a logging configuration passed to :func:" "`dictConfig`, that a logging handler be created by calling this function::" @@ -1696,7 +1827,7 @@ msgstr "" "transmise à :func:`dictConfig`, qu’un gestionnaire de journalisation soit " "créé en appelant cette fonction ::" -#: howto/logging-cookbook.rst:2354 +#: howto/logging-cookbook.rst:2433 msgid "" "In this example I am setting the ownership using the ``pulse`` user and " "group, just for the purposes of illustration. Putting it together into a " @@ -1706,12 +1837,12 @@ msgstr "" "groupe ``pulse``, uniquement à des fins d’illustration. Rassemblons le tout " "dans un script ``chowntest.py`` ::" -#: howto/logging-cookbook.rst:2401 +#: howto/logging-cookbook.rst:2480 msgid "To run this, you will probably need to run as ``root``:" msgstr "" "Pour l’exécuter, vous devrez probablement le faire en tant que ``root`` :" -#: howto/logging-cookbook.rst:2411 +#: howto/logging-cookbook.rst:2490 msgid "" "Note that this example uses Python 3.3 because that's where :func:`shutil." "chown` makes an appearance. This approach should work with any Python " @@ -1726,7 +1857,7 @@ msgstr "" "à la 3.3, vous devrez implémenter le changement de propriétaire réel en " "utilisant par exemple :func:`os.chown`." -#: howto/logging-cookbook.rst:2417 +#: howto/logging-cookbook.rst:2496 msgid "" "In practice, the handler-creating function may be in a utility module " "somewhere in your project. Instead of the line in the configuration::" @@ -1735,11 +1866,11 @@ msgstr "" "un module utilitaire ailleurs dans votre projet. Au lieu de cette ligne dans " "la configuration ::" -#: howto/logging-cookbook.rst:2422 +#: howto/logging-cookbook.rst:2501 msgid "you could use e.g.::" msgstr "vous pouvez écrire par exemple ::" -#: howto/logging-cookbook.rst:2426 +#: howto/logging-cookbook.rst:2505 msgid "" "where ``project.util`` can be replaced with the actual name of the package " "where the function resides. In the above working script, using ``'ext://" @@ -1752,7 +1883,7 @@ msgstr "" "l’appelable réel est résolu par :func:`dictConfig` à partir de la " "spécification ``ext://``." -#: howto/logging-cookbook.rst:2431 +#: howto/logging-cookbook.rst:2510 msgid "" "This example hopefully also points the way to how you could implement other " "types of file change - e.g. setting specific POSIX permission bits - in the " @@ -1762,7 +1893,7 @@ msgstr "" "types de modification de fichier – par ex. définir des bits d’autorisation " "POSIX spécifiques – de la même manière, en utilisant :func:`os.chmod`." -#: howto/logging-cookbook.rst:2435 +#: howto/logging-cookbook.rst:2514 msgid "" "Of course, the approach could also be extended to types of handler other " "than a :class:`~logging.FileHandler` - for example, one of the rotating file " @@ -1773,11 +1904,11 @@ msgstr "" "des gestionnaires à roulement de fichiers ou un autre type de gestionnaire " "complètement différent." -#: howto/logging-cookbook.rst:2445 +#: howto/logging-cookbook.rst:2524 msgid "Using particular formatting styles throughout your application" msgstr "" -#: howto/logging-cookbook.rst:2447 +#: howto/logging-cookbook.rst:2526 msgid "" "In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword " "parameter which, while defaulting to ``%`` for backward compatibility, " @@ -1788,7 +1919,8 @@ msgid "" "is constructed." msgstr "" -#: howto/logging-cookbook.rst:2454 +#: howto/logging-cookbook.rst:2533 +#, fuzzy msgid "" "Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -1798,12 +1930,25 @@ msgid "" "additional contextual information to be added to the log). So you cannot " "directly make logging calls using :meth:`str.format` or :class:`string." "Template` syntax, because internally the logging package uses %-formatting " -"to merge the format string and the variable arguments. There would no " +"to merge the format string and the variable arguments. There would be no " "changing this while preserving backward compatibility, since all logging " "calls which are out there in existing code will be using %-format strings." msgstr "" +"Les appels de journalisation (``logger.debug()``, ``logger.info()`` etc.) ne " +"prennent que des paramètres positionnels pour le message de journalisation " +"lui-même, les paramètres par mots-clés étant utilisés uniquement pour " +"déterminer comment gérer le message réel (par exemple, le paramètre par mot-" +"clé ``exc_info`` indique que les informations de trace doivent être " +"enregistrées, ou le paramètre par mot-clé ``extra`` indique des informations " +"contextuelles supplémentaires à ajouter au journal). Vous ne pouvez donc pas " +"inclure dans les appels de journalisation à l'aide de la syntaxe :meth:`str." +"format` ou :class:`string.Template`, car le paquet de journalisation utilise " +"le formatage via « % » en interne pour fusionner la chaîne de format et les " +"arguments de variables. Il n'est pas possible de changer ça tout en " +"préservant la rétrocompatibilité puisque tous les appels de journalisation " +"dans le code pré-existant utilisent des chaînes au format « % »." -#: howto/logging-cookbook.rst:2466 +#: howto/logging-cookbook.rst:2545 msgid "" "There have been suggestions to associate format styles with specific " "loggers, but that approach also runs into backward compatibility problems " @@ -1811,7 +1956,7 @@ msgid "" "formatting." msgstr "" -#: howto/logging-cookbook.rst:2470 +#: howto/logging-cookbook.rst:2549 msgid "" "For logging to work interoperably between any third-party libraries and your " "code, decisions about formatting need to be made at the level of the " @@ -1819,11 +1964,11 @@ msgid "" "formatting styles can be accommodated." msgstr "" -#: howto/logging-cookbook.rst:2477 +#: howto/logging-cookbook.rst:2556 msgid "Using LogRecord factories" msgstr "" -#: howto/logging-cookbook.rst:2479 +#: howto/logging-cookbook.rst:2558 msgid "" "In Python 3.2, along with the :class:`~logging.Formatter` changes mentioned " "above, the logging package gained the ability to allow users to set their " @@ -1838,17 +1983,17 @@ msgid "" "implementation does." msgstr "" -#: howto/logging-cookbook.rst:2490 +#: howto/logging-cookbook.rst:2569 msgid "" "Refer to the reference documentation on :func:`setLogRecordFactory` and :" "class:`LogRecord` for more information." msgstr "" -#: howto/logging-cookbook.rst:2495 +#: howto/logging-cookbook.rst:2574 msgid "Using custom message objects" msgstr "" -#: howto/logging-cookbook.rst:2497 +#: howto/logging-cookbook.rst:2576 msgid "" "There is another, perhaps simpler way that you can use {}- and $- formatting " "to construct your individual log messages. You may recall (from :ref:" @@ -1858,7 +2003,7 @@ msgid "" "following two classes::" msgstr "" -#: howto/logging-cookbook.rst:2522 +#: howto/logging-cookbook.rst:2601 msgid "" "Either of these can be used in place of a format string, to allow {}- or $-" "formatting to be used to build the actual \"message\" part which appears in " @@ -1869,17 +2014,17 @@ msgid "" "using ``_`` for localization)." msgstr "" -#: howto/logging-cookbook.rst:2530 +#: howto/logging-cookbook.rst:2609 msgid "" "Examples of this approach are given below. Firstly, formatting with :meth:" "`str.format`::" msgstr "" -#: howto/logging-cookbook.rst:2544 +#: howto/logging-cookbook.rst:2623 msgid "Secondly, formatting with :class:`string.Template`::" msgstr "" -#: howto/logging-cookbook.rst:2551 +#: howto/logging-cookbook.rst:2630 msgid "" "One thing to note is that you pay no significant performance penalty with " "this approach: the actual formatting happens not when you make the logging " @@ -1891,11 +2036,11 @@ msgid "" "above." msgstr "" -#: howto/logging-cookbook.rst:2565 +#: howto/logging-cookbook.rst:2644 msgid "Configuring filters with :func:`dictConfig`" msgstr "" -#: howto/logging-cookbook.rst:2567 +#: howto/logging-cookbook.rst:2646 msgid "" "You *can* configure filters using :func:`~logging.config.dictConfig`, though " "it might not be obvious at first glance how to do it (hence this recipe). " @@ -1910,22 +2055,22 @@ msgid "" "complete example::" msgstr "" -#: howto/logging-cookbook.rst:2620 +#: howto/logging-cookbook.rst:2699 msgid "" "This example shows how you can pass configuration data to the callable which " "constructs the instance, in the form of keyword parameters. When run, the " "above script will print:" msgstr "" -#: howto/logging-cookbook.rst:2628 +#: howto/logging-cookbook.rst:2707 msgid "which shows that the filter is working as configured." msgstr "" -#: howto/logging-cookbook.rst:2630 +#: howto/logging-cookbook.rst:2709 msgid "A couple of extra points to note:" msgstr "" -#: howto/logging-cookbook.rst:2632 +#: howto/logging-cookbook.rst:2711 msgid "" "If you can't refer to the callable directly in the configuration (e.g. if it " "lives in a different module, and you can't import it directly where the " @@ -1935,7 +2080,7 @@ msgid "" "the above example." msgstr "" -#: howto/logging-cookbook.rst:2639 +#: howto/logging-cookbook.rst:2718 msgid "" "As well as for filters, this technique can also be used to configure custom " "handlers and formatters. See :ref:`logging-config-dict-userdef` for more " @@ -1944,11 +2089,11 @@ msgid "" "above." msgstr "" -#: howto/logging-cookbook.rst:2648 +#: howto/logging-cookbook.rst:2727 msgid "Customized exception formatting" msgstr "" -#: howto/logging-cookbook.rst:2650 +#: howto/logging-cookbook.rst:2729 msgid "" "There might be times when you want to do customized exception formatting - " "for argument's sake, let's say you want exactly one line per logged event, " @@ -1956,22 +2101,22 @@ msgid "" "formatter class, as shown in the following example::" msgstr "" -#: howto/logging-cookbook.rst:2691 +#: howto/logging-cookbook.rst:2770 msgid "When run, this produces a file with exactly two lines:" msgstr "" -#: howto/logging-cookbook.rst:2698 +#: howto/logging-cookbook.rst:2777 msgid "" "While the above treatment is simplistic, it points the way to how exception " "information can be formatted to your liking. The :mod:`traceback` module may " "be helpful for more specialized needs." msgstr "" -#: howto/logging-cookbook.rst:2705 +#: howto/logging-cookbook.rst:2784 msgid "Speaking logging messages" msgstr "" -#: howto/logging-cookbook.rst:2707 +#: howto/logging-cookbook.rst:2786 msgid "" "There might be situations when it is desirable to have logging messages " "rendered in an audible rather than a visible format. This is easy to do if " @@ -1988,24 +2133,24 @@ msgid "" "approach, which assumes that the ``espeak`` TTS package is available::" msgstr "" -#: howto/logging-cookbook.rst:2749 +#: howto/logging-cookbook.rst:2828 msgid "" "When run, this script should say \"Hello\" and then \"Goodbye\" in a female " "voice." msgstr "" -#: howto/logging-cookbook.rst:2751 +#: howto/logging-cookbook.rst:2830 msgid "" "The above approach can, of course, be adapted to other TTS systems and even " "other systems altogether which can process messages via external programs " "run from a command line." msgstr "" -#: howto/logging-cookbook.rst:2759 +#: howto/logging-cookbook.rst:2838 msgid "Buffering logging messages and outputting them conditionally" msgstr "" -#: howto/logging-cookbook.rst:2761 +#: howto/logging-cookbook.rst:2840 msgid "" "There might be situations where you want to log messages in a temporary area " "and only output them if a certain condition occurs. For example, you may " @@ -2015,7 +2160,7 @@ msgid "" "debug information to be output as well as the error." msgstr "" -#: howto/logging-cookbook.rst:2768 +#: howto/logging-cookbook.rst:2847 msgid "" "Here is an example which shows how you could do this using a decorator for " "your functions where you want logging to behave this way. It makes use of " @@ -2028,7 +2173,7 @@ msgid "" "subclass of ``MemoryHandler`` if you want custom flushing behavior." msgstr "" -#: howto/logging-cookbook.rst:2778 +#: howto/logging-cookbook.rst:2857 msgid "" "The example script has a simple function, ``foo``, which just cycles through " "all the logging levels, writing to ``sys.stderr`` to say what level it's " @@ -2037,7 +2182,7 @@ msgid "" "levels - otherwise, it only logs at DEBUG, INFO and WARNING levels." msgstr "" -#: howto/logging-cookbook.rst:2784 +#: howto/logging-cookbook.rst:2863 msgid "" "The script just arranges to decorate ``foo`` with a decorator which will do " "the conditional logging that's required. The decorator takes a logger as a " @@ -2049,30 +2194,30 @@ msgid "" "respectively." msgstr "" -#: howto/logging-cookbook.rst:2792 +#: howto/logging-cookbook.rst:2871 msgid "Here's the script::" msgstr "" -#: howto/logging-cookbook.rst:2855 +#: howto/logging-cookbook.rst:2934 msgid "When this script is run, the following output should be observed:" msgstr "" -#: howto/logging-cookbook.rst:2885 +#: howto/logging-cookbook.rst:2964 msgid "" "As you can see, actual logging output only occurs when an event is logged " "whose severity is ERROR or greater, but in that case, any previous events at " "lower severities are also logged." msgstr "" -#: howto/logging-cookbook.rst:2889 +#: howto/logging-cookbook.rst:2968 msgid "You can of course use the conventional means of decoration::" msgstr "" -#: howto/logging-cookbook.rst:2899 +#: howto/logging-cookbook.rst:2978 msgid "Sending logging messages to email, with buffering" msgstr "" -#: howto/logging-cookbook.rst:2901 +#: howto/logging-cookbook.rst:2980 msgid "" "To illustrate how you can send log messages via email, so that a set number " "of messages are sent per email, you can subclass :class:`~logging.handlers." @@ -2083,7 +2228,7 @@ msgid "" "argument to see the required and optional arguments.)" msgstr "" -#: howto/logging-cookbook.rst:2973 +#: howto/logging-cookbook.rst:3052 msgid "" "If you run this script and your SMTP server is correctly set up, you should " "find that it sends eleven emails to the addressee you specify. The first ten " @@ -2091,17 +2236,17 @@ msgid "" "messages. That makes up 102 messages as specified in the script." msgstr "" -#: howto/logging-cookbook.rst:2981 +#: howto/logging-cookbook.rst:3060 msgid "Formatting times using UTC (GMT) via configuration" msgstr "" -#: howto/logging-cookbook.rst:2983 +#: howto/logging-cookbook.rst:3062 msgid "" "Sometimes you want to format times using UTC, which can be done using a " "class such as ``UTCFormatter``, shown below::" msgstr "" -#: howto/logging-cookbook.rst:2992 +#: howto/logging-cookbook.rst:3071 msgid "" "and you can then use the ``UTCFormatter`` in your code instead of :class:" "`~logging.Formatter`. If you want to do that via configuration, you can use " @@ -2109,21 +2254,21 @@ msgid "" "the following complete example::" msgstr "" -#: howto/logging-cookbook.rst:3035 +#: howto/logging-cookbook.rst:3114 msgid "When this script is run, it should print something like:" msgstr "" -#: howto/logging-cookbook.rst:3042 +#: howto/logging-cookbook.rst:3121 msgid "" "showing how the time is formatted both as local time and UTC, one for each " "handler." msgstr "" -#: howto/logging-cookbook.rst:3049 +#: howto/logging-cookbook.rst:3128 msgid "Using a context manager for selective logging" msgstr "" -#: howto/logging-cookbook.rst:3051 +#: howto/logging-cookbook.rst:3130 msgid "" "There are times when it would be useful to temporarily change the logging " "configuration and revert it back after doing something. For this, a context " @@ -2133,7 +2278,7 @@ msgid "" "scope of the context manager::" msgstr "" -#: howto/logging-cookbook.rst:3084 +#: howto/logging-cookbook.rst:3163 msgid "" "If you specify a level value, the logger's level is set to that value in the " "scope of the with block covered by the context manager. If you specify a " @@ -2142,13 +2287,13 @@ msgid "" "block exit - you could do this if you don't need the handler any more." msgstr "" -#: howto/logging-cookbook.rst:3090 +#: howto/logging-cookbook.rst:3169 msgid "" "To illustrate how it works, we can add the following block of code to the " "above::" msgstr "" -#: howto/logging-cookbook.rst:3108 +#: howto/logging-cookbook.rst:3187 msgid "" "We initially set the logger's level to ``INFO``, so message #1 appears and " "message #2 doesn't. We then change the level to ``DEBUG`` temporarily in the " @@ -2161,56 +2306,56 @@ msgid "" "(like message #1) whereas message #7 doesn't (just like message #2)." msgstr "" -#: howto/logging-cookbook.rst:3118 +#: howto/logging-cookbook.rst:3197 msgid "If we run the resulting script, the result is as follows:" msgstr "" -#: howto/logging-cookbook.rst:3129 +#: howto/logging-cookbook.rst:3208 msgid "" "If we run it again, but pipe ``stderr`` to ``/dev/null``, we see the " "following, which is the only message written to ``stdout``:" msgstr "" -#: howto/logging-cookbook.rst:3137 +#: howto/logging-cookbook.rst:3216 msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:" msgstr "" -#: howto/logging-cookbook.rst:3147 +#: howto/logging-cookbook.rst:3226 msgid "" "In this case, the message #5 printed to ``stdout`` doesn't appear, as " "expected." msgstr "" -#: howto/logging-cookbook.rst:3149 +#: howto/logging-cookbook.rst:3228 msgid "" "Of course, the approach described here can be generalised, for example to " "attach logging filters temporarily. Note that the above code works in Python " "2 as well as Python 3." msgstr "" -#: howto/logging-cookbook.rst:3157 +#: howto/logging-cookbook.rst:3236 msgid "A CLI application starter template" msgstr "" -#: howto/logging-cookbook.rst:3159 +#: howto/logging-cookbook.rst:3238 msgid "Here's an example which shows how you can:" msgstr "" -#: howto/logging-cookbook.rst:3161 +#: howto/logging-cookbook.rst:3240 msgid "Use a logging level based on command-line arguments" msgstr "" -#: howto/logging-cookbook.rst:3162 +#: howto/logging-cookbook.rst:3241 msgid "" "Dispatch to multiple subcommands in separate files, all logging at the same " "level in a consistent way" msgstr "" -#: howto/logging-cookbook.rst:3164 +#: howto/logging-cookbook.rst:3243 msgid "Make use of simple, minimal configuration" msgstr "" -#: howto/logging-cookbook.rst:3166 +#: howto/logging-cookbook.rst:3245 msgid "" "Suppose we have a command-line application whose job is to stop, start or " "restart some services. This could be organised for the purposes of " @@ -2221,53 +2366,53 @@ msgid "" "``logging.INFO``. Here's one way that ``app.py`` could be written::" msgstr "" -#: howto/logging-cookbook.rst:3215 +#: howto/logging-cookbook.rst:3294 msgid "" "And the ``start``, ``stop`` and ``restart`` commands can be implemented in " "separate modules, like so for starting::" msgstr "" -#: howto/logging-cookbook.rst:3228 +#: howto/logging-cookbook.rst:3307 msgid "and thus for stopping::" msgstr "" -#: howto/logging-cookbook.rst:3249 +#: howto/logging-cookbook.rst:3328 msgid "and similarly for restarting::" msgstr "" -#: howto/logging-cookbook.rst:3270 +#: howto/logging-cookbook.rst:3349 msgid "" "If we run this application with the default log level, we get output like " "this:" msgstr "" -#: howto/logging-cookbook.rst:3283 +#: howto/logging-cookbook.rst:3362 msgid "" "The first word is the logging level, and the second word is the module or " "package name of the place where the event was logged." msgstr "" -#: howto/logging-cookbook.rst:3286 +#: howto/logging-cookbook.rst:3365 msgid "" "If we change the logging level, then we can change the information sent to " "the log. For example, if we want more information:" msgstr "" -#: howto/logging-cookbook.rst:3303 +#: howto/logging-cookbook.rst:3382 msgid "And if we want less:" msgstr "" -#: howto/logging-cookbook.rst:3311 +#: howto/logging-cookbook.rst:3390 msgid "" "In this case, the commands don't print anything to the console, since " "nothing at ``WARNING`` level or above is logged by them." msgstr "" -#: howto/logging-cookbook.rst:3317 +#: howto/logging-cookbook.rst:3396 msgid "A Qt GUI for logging" msgstr "" -#: howto/logging-cookbook.rst:3319 +#: howto/logging-cookbook.rst:3398 msgid "" "A question that comes up from time to time is about how to log to a GUI " "application. The `Qt `_ framework is a popular cross-" @@ -2275,7 +2420,7 @@ msgid "" "project/PySide2/>`_ or `PyQt5 `_ libraries." msgstr "" -#: howto/logging-cookbook.rst:3325 +#: howto/logging-cookbook.rst:3404 msgid "" "The following example shows how to log to a Qt GUI. This introduces a simple " "``QtHandler`` class which takes a callable, which should be a slot in the " @@ -2285,14 +2430,14 @@ msgid "" "logging messages at random levels with random short delays in between)." msgstr "" -#: howto/logging-cookbook.rst:3332 +#: howto/logging-cookbook.rst:3411 msgid "" "The worker thread is implemented using Qt's ``QThread`` class rather than " "the :mod:`threading` module, as there are circumstances where one has to use " "``QThread``, which offers better integration with other ``Qt`` components." msgstr "" -#: howto/logging-cookbook.rst:3336 +#: howto/logging-cookbook.rst:3415 msgid "" "The code should work with recent releases of either ``PySide2`` or " "``PyQt5``. You should be able to adapt the approach to earlier versions of " @@ -2300,11 +2445,11 @@ msgid "" "information." msgstr "" -#: howto/logging-cookbook.rst:3550 +#: howto/logging-cookbook.rst:3629 msgid "Logging to syslog with RFC5424 support" msgstr "" -#: howto/logging-cookbook.rst:3552 +#: howto/logging-cookbook.rst:3631 msgid "" "Although :rfc:`5424` dates from 2009, most syslog servers are configured by " "detault to use the older :rfc:`3164`, which hails from 2001. When " @@ -2314,14 +2459,14 @@ msgid "" "handlers.SysLogHandler` functionality has not been updated." msgstr "" -#: howto/logging-cookbook.rst:3559 +#: howto/logging-cookbook.rst:3638 msgid "" "RFC 5424 contains some useful features such as support for structured data, " "and if you need to be able to log to a syslog server with support for it, " "you can do so with a subclassed handler which looks something like this::" msgstr "" -#: howto/logging-cookbook.rst:3625 +#: howto/logging-cookbook.rst:3704 msgid "" "You'll need to be familiar with RFC 5424 to fully understand the above code, " "and it may be that you have slightly different needs (e.g. for how you pass " @@ -2330,11 +2475,11 @@ msgid "" "using something like this::" msgstr "" -#: howto/logging-cookbook.rst:3639 +#: howto/logging-cookbook.rst:3718 msgid "How to treat a logger like an output stream" msgstr "" -#: howto/logging-cookbook.rst:3641 +#: howto/logging-cookbook.rst:3720 msgid "" "Sometimes, you need to interface to a third-party API which expects a file-" "like object to write to, but you want to direct the API's output to a " @@ -2342,17 +2487,17 @@ msgid "" "API. Here's a short script illustrating such a class:" msgstr "" -#: howto/logging-cookbook.rst:3681 +#: howto/logging-cookbook.rst:3760 msgid "When this script is run, it prints" msgstr "" -#: howto/logging-cookbook.rst:3688 +#: howto/logging-cookbook.rst:3767 msgid "" "You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and ``sys." "stderr`` by doing something like this:" msgstr "" -#: howto/logging-cookbook.rst:3698 +#: howto/logging-cookbook.rst:3777 msgid "" "You should do this *after* configuring logging for your needs. In the above " "example, the :func:`~logging.basicConfig` call does this (using the ``sys." @@ -2360,18 +2505,45 @@ msgid "" "Then, you'd get this kind of result:" msgstr "" -#: howto/logging-cookbook.rst:3711 +#: howto/logging-cookbook.rst:3790 msgid "" "Of course, these above examples show output according to the format used by :" "func:`~logging.basicConfig`, but you can use a different formatter when you " "configure logging." msgstr "" -#: howto/logging-cookbook.rst:3718 +#: howto/logging-cookbook.rst:3794 +msgid "" +"Note that with the above scheme, you are somewhat at the mercy of buffering " +"and the sequence of write calls which you are intercepting. For example, " +"with the definition of ``LoggerWriter`` above, if you have the snippet" +msgstr "" + +#: howto/logging-cookbook.rst:3803 +msgid "then running the script results in" +msgstr "" + +#: howto/logging-cookbook.rst:3821 +msgid "" +"As you can see, this output isn't ideal. That's because the underlying code " +"which writes to ``sys.stderr`` makes mutiple writes, each of which results " +"in a separate logged line (for example, the last three lines above). To get " +"around this problem, you need to buffer things and only output log lines " +"when newlines are seen. Let's use a slghtly better implementation of " +"``LoggerWriter``:" +msgstr "" + +#: howto/logging-cookbook.rst:3846 +msgid "" +"This just buffers up stuff until a newline is seen, and then logs complete " +"lines. With this approach, you get better output:" +msgstr "" + +#: howto/logging-cookbook.rst:3862 msgid "Patterns to avoid" msgstr "" -#: howto/logging-cookbook.rst:3720 +#: howto/logging-cookbook.rst:3864 msgid "" "Although the preceding sections have described ways of doing things you " "might need to do or deal with, it is worth mentioning some usage patterns " @@ -2379,11 +2551,11 @@ msgid "" "The following sections are in no particular order." msgstr "" -#: howto/logging-cookbook.rst:3727 +#: howto/logging-cookbook.rst:3871 msgid "Opening the same log file multiple times" msgstr "" -#: howto/logging-cookbook.rst:3729 +#: howto/logging-cookbook.rst:3873 msgid "" "On Windows, you will generally not be able to open the same file multiple " "times as this will lead to a \"file is in use by another process\" error. " @@ -2391,32 +2563,32 @@ msgid "" "file multiple times. This could be done accidentally, for example by:" msgstr "" -#: howto/logging-cookbook.rst:3734 +#: howto/logging-cookbook.rst:3878 msgid "" "Adding a file handler more than once which references the same file (e.g. by " "a copy/paste/forget-to-change error)." msgstr "" -#: howto/logging-cookbook.rst:3737 +#: howto/logging-cookbook.rst:3881 msgid "" "Opening two files that look different, as they have different names, but are " "the same because one is a symbolic link to the other." msgstr "" -#: howto/logging-cookbook.rst:3740 +#: howto/logging-cookbook.rst:3884 msgid "" "Forking a process, following which both parent and child have a reference to " "the same file. This might be through use of the :mod:`multiprocessing` " "module, for example." msgstr "" -#: howto/logging-cookbook.rst:3744 +#: howto/logging-cookbook.rst:3888 msgid "" "Opening a file multiple times might *appear* to work most of the time, but " "can lead to a number of problems in practice:" msgstr "" -#: howto/logging-cookbook.rst:3747 +#: howto/logging-cookbook.rst:3891 msgid "" "Logging output can be garbled because multiple threads or processes try to " "write to the same file. Although logging guards against concurrent use of " @@ -2425,7 +2597,7 @@ msgid "" "different handler instances which happen to point to the same file." msgstr "" -#: howto/logging-cookbook.rst:3753 +#: howto/logging-cookbook.rst:3897 msgid "" "An attempt to delete a file (e.g. during file rotation) silently fails, " "because there is another reference pointing to it. This can lead to " @@ -2435,17 +2607,17 @@ msgid "" "being supposedly in place." msgstr "" -#: howto/logging-cookbook.rst:3760 +#: howto/logging-cookbook.rst:3904 msgid "" "Use the techniques outlined in :ref:`multiple-processes` to circumvent such " "issues." msgstr "" -#: howto/logging-cookbook.rst:3764 +#: howto/logging-cookbook.rst:3908 msgid "Using loggers as attributes in a class or passing them as parameters" msgstr "" -#: howto/logging-cookbook.rst:3766 +#: howto/logging-cookbook.rst:3910 msgid "" "While there might be unusual cases where you'll need to do this, in general " "there is no point because loggers are singletons. Code can always access a " @@ -2456,12 +2628,12 @@ msgid "" "module (and not the class) is the unit of software decomposition." msgstr "" -#: howto/logging-cookbook.rst:3776 +#: howto/logging-cookbook.rst:3920 msgid "" "Adding handlers other than :class:`NullHandler` to a logger in a library" msgstr "" -#: howto/logging-cookbook.rst:3778 +#: howto/logging-cookbook.rst:3922 msgid "" "Configuring logging by adding handlers, formatters and filters is the " "responsibility of the application developer, not the library developer. If " @@ -2469,11 +2641,11 @@ msgid "" "your loggers other than a :class:`~logging.NullHandler` instance." msgstr "" -#: howto/logging-cookbook.rst:3785 +#: howto/logging-cookbook.rst:3929 msgid "Creating a lot of loggers" msgstr "" -#: howto/logging-cookbook.rst:3787 +#: howto/logging-cookbook.rst:3931 msgid "" "Loggers are singletons that are never freed during a script execution, and " "so creating lots of loggers will use up memory which can't then be freed. " @@ -2484,14 +2656,14 @@ msgid "" "occasionally slightly more fine-grained than that)." msgstr "" -#: howto/logging-cookbook.rst:3798 +#: howto/logging-cookbook.rst:3942 msgid "Other resources" msgstr "Autres ressources" -#: howto/logging-cookbook.rst:3811 +#: howto/logging-cookbook.rst:3955 msgid ":ref:`Basic Tutorial `" msgstr ":ref:`Tutoriel de découverte `" -#: howto/logging-cookbook.rst:3813 +#: howto/logging-cookbook.rst:3957 msgid ":ref:`Advanced Tutorial `" msgstr ":ref:`Tutoriel avancé `" diff --git a/library/__main__.po b/library/__main__.po index 1d1b78f42a..d20f72b6d4 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-18 13:39+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -376,10 +376,11 @@ msgstr "" "py`` dans le style minimal de celui de :mod:`venv` mentionné ci-dessus." #: library/__main__.rst:260 +#, fuzzy msgid "" "See :mod:`venv` for an example of a package with a minimal ``__main__.py`` " "in the standard library. It doesn't contain a ``if __name__ == '__main__'`` " -"block. You can invoke it with ``python3 -m venv [directory]``." +"block. You can invoke it with ``python -m venv [directory]``." msgstr "" "Le module :mod:`venv` de la bibliothèque standard est un exemple de paquet " "contenant un fichier ``__main__.py`` minimal, sans ``if __name__ == " diff --git a/library/abc.po b/library/abc.po index 7499ed058e..e585b9e3e8 100644 --- a/library/abc.po +++ b/library/abc.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-11-06 20:18+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -40,12 +40,13 @@ msgstr "" "abstraite." #: library/abc.rst:20 +#, fuzzy msgid "" "The :mod:`collections` module has some concrete classes that derive from " "ABCs; these can, of course, be further derived. In addition, the :mod:" "`collections.abc` submodule has some ABCs that can be used to test whether a " -"class or instance provides a particular interface, for example, if it is " -"hashable or if it is a mapping." +"class or instance provides a particular interface, for example, if it is :" +"term:`hashable` or if it is a mapping." msgstr "" "Le module :mod:`collections` possède certaines classes concrètes qui " "dérivent d'ABC. Celles-ci peuvent, bien sur, être elles-mêmes dérivées. De " diff --git a/library/argparse.po b/library/argparse.po index 8def615424..db0f9cd4e7 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-30 11:00+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -206,17 +206,20 @@ msgstr "" "partir des arguments ajoutés à l'analyseur) ;" #: library/argparse.rst:157 -msgid "description_ - Text to display before the argument help (default: none)" +#, fuzzy +msgid "" +"description_ - Text to display before the argument help (by default, no text)" msgstr "" "description_ – Texte à afficher avant l'aide des arguments (par défaut : " "vide) ;" -#: library/argparse.rst:159 -msgid "epilog_ - Text to display after the argument help (default: none)" +#: library/argparse.rst:160 +#, fuzzy +msgid "epilog_ - Text to display after the argument help (by default, no text)" msgstr "" "epilog_ – Texte à afficher après l'aide des arguments (par défaut : vide) ;" -#: library/argparse.rst:161 +#: library/argparse.rst:162 msgid "" "parents_ - A list of :class:`ArgumentParser` objects whose arguments should " "also be included" @@ -224,12 +227,12 @@ msgstr "" "parents_ – Liste d'objets :class:`ArgumentParser` contenant des arguments " "qui devraient aussi être inclus ;" -#: library/argparse.rst:164 +#: library/argparse.rst:165 msgid "formatter_class_ - A class for customizing the help output" msgstr "" "formatter_class_ – Classe pour personnaliser la sortie du message d'aide ;" -#: library/argparse.rst:166 +#: library/argparse.rst:167 msgid "" "prefix_chars_ - The set of characters that prefix optional arguments " "(default: '-')" @@ -237,7 +240,7 @@ msgstr "" "prefix_chars_ – Jeu de caractères qui précède les arguments optionnels (par " "défaut : ``'-'``) ;" -#: library/argparse.rst:169 +#: library/argparse.rst:170 msgid "" "fromfile_prefix_chars_ - The set of characters that prefix files from which " "additional arguments should be read (default: ``None``)" @@ -245,7 +248,7 @@ msgstr "" "fromfile_prefix_chars_ – Jeu de caractères qui précède les fichiers d'où des " "arguments additionnels doivent être lus (par défaut : ``None``) ;" -#: library/argparse.rst:172 +#: library/argparse.rst:173 msgid "" "argument_default_ - The global default value for arguments (default: " "``None``)" @@ -253,7 +256,7 @@ msgstr "" "argument_default_ – Valeur globale par défaut pour les arguments (par " "défaut : ``None``) ;" -#: library/argparse.rst:175 +#: library/argparse.rst:176 msgid "" "conflict_handler_ - The strategy for resolving conflicting optionals " "(usually unnecessary)" @@ -261,14 +264,14 @@ msgstr "" "conflict_handler_ – Stratégie pour résoudre les conflits entre les arguments " "optionnels (non-nécessaire en général) ;" -#: library/argparse.rst:178 +#: library/argparse.rst:179 msgid "" "add_help_ - Add a ``-h/--help`` option to the parser (default: ``True``)" msgstr "" "add_help_ – Ajoute une option d'aide ``-h/--help`` à l'analyseur (par " "défaut : ``True``) ;" -#: library/argparse.rst:180 +#: library/argparse.rst:181 msgid "" "allow_abbrev_ - Allows long options to be abbreviated if the abbreviation is " "unambiguous. (default: ``True``)" @@ -276,7 +279,7 @@ msgstr "" "allow_abbrev_ – Permet l'acceptation d'abréviations non-ambigües pour les " "options longues (par défaut : ``True``) ;" -#: library/argparse.rst:183 +#: library/argparse.rst:184 msgid "" "exit_on_error_ - Determines whether or not ArgumentParser exits with error " "info when an error occurs. (default: ``True``)" @@ -285,11 +288,11 @@ msgstr "" "avec un message d'erreur quand une erreur est rencontrée (par défaut : " "``True``)." -#: library/argparse.rst:186 +#: library/argparse.rst:187 msgid "*allow_abbrev* parameter was added." msgstr "Le paramètre *allow_abbrev* est ajouté." -#: library/argparse.rst:189 +#: library/argparse.rst:190 msgid "" "In previous versions, *allow_abbrev* also disabled grouping of short flags " "such as ``-vv`` to mean ``-v -v``." @@ -298,21 +301,21 @@ msgstr "" "regroupement de plusieurs options courtes telles que ``-vv`` pour signifier " "``-v -v``." -#: library/argparse.rst:193 +#: library/argparse.rst:194 msgid "*exit_on_error* parameter was added." msgstr "Le paramètre *exit_on_error* est ajouté." -#: library/argparse.rst:716 +#: library/argparse.rst:717 msgid "The following sections describe how each of these are used." msgstr "" "Les sections suivantes décrivent comment chacune de ces options sont " "utilisées." -#: library/argparse.rst:200 +#: library/argparse.rst:201 msgid "prog" msgstr "Le paramètre *prog*" -#: library/argparse.rst:202 +#: library/argparse.rst:203 msgid "" "By default, :class:`ArgumentParser` objects use ``sys.argv[0]`` to determine " "how to display the name of the program in help messages. This default is " @@ -327,7 +330,7 @@ msgstr "" "programme sur la ligne de commande. Par exemple, si on a un fichier nommé " "``myprogram.py`` avec le code suivant ::" -#: library/argparse.rst:213 +#: library/argparse.rst:214 msgid "" "The help for this program will display ``myprogram.py`` as the program name " "(regardless of where the program was invoked from):" @@ -335,7 +338,7 @@ msgstr "" "Le message d'aide pour ce programme affiche ``myprogram.py`` pour le nom du " "programme (peu importe d'où le programme est lancé) :" -#: library/argparse.rst:232 +#: library/argparse.rst:233 msgid "" "To change this default behavior, another value can be supplied using the " "``prog=`` argument to :class:`ArgumentParser`::" @@ -343,7 +346,7 @@ msgstr "" "Pour changer ce comportement par défaut, une valeur alternative est passée " "par l'argument ``prog=`` du constructeur d':class:`ArgumentParser` ::" -#: library/argparse.rst:242 +#: library/argparse.rst:243 msgid "" "Note that the program name, whether determined from ``sys.argv[0]`` or from " "the ``prog=`` argument, is available to help messages using the ``%(prog)s`` " @@ -353,11 +356,11 @@ msgstr "" "argv[0]`` ou de l'argument ``prog=``, est accessible aux messages d'aide " "grâce au spécificateur de formatage ``%(prog)s``." -#: library/argparse.rst:259 +#: library/argparse.rst:260 msgid "usage" msgstr "Le paramètre *usage*" -#: library/argparse.rst:261 +#: library/argparse.rst:262 msgid "" "By default, :class:`ArgumentParser` calculates the usage message from the " "arguments it contains::" @@ -365,14 +368,14 @@ msgstr "" "Par défaut, l'objet :class:`ArgumentParser` construit le message relatif à " "l'utilisation à partir des arguments qu'il contient ::" -#: library/argparse.rst:277 +#: library/argparse.rst:278 msgid "" "The default message can be overridden with the ``usage=`` keyword argument::" msgstr "" "Le message par défaut peut être remplacé grâce à l'argument nommé " "``usage=`` ::" -#: library/argparse.rst:292 +#: library/argparse.rst:293 msgid "" "The ``%(prog)s`` format specifier is available to fill in the program name " "in your usage messages." @@ -380,11 +383,11 @@ msgstr "" "Le spécificateur de formatage ``%(prog)s`` est disponible pour insérer le " "nom du programme dans vos messages d'utilisation." -#: library/argparse.rst:297 +#: library/argparse.rst:298 msgid "description" msgstr "Le paramètre *description*" -#: library/argparse.rst:299 +#: library/argparse.rst:300 msgid "" "Most calls to the :class:`ArgumentParser` constructor will use the " "``description=`` keyword argument. This argument gives a brief description " @@ -398,7 +401,7 @@ msgstr "" "d'aide, cette description est affichée entre le prototype de ligne de " "commande et les messages d'aide des arguments ::" -#: library/argparse.rst:314 +#: library/argparse.rst:315 msgid "" "By default, the description will be line-wrapped so that it fits within the " "given space. To change this behavior, see the formatter_class_ argument." @@ -407,11 +410,11 @@ msgstr "" "se conformer à l'espace disponible. Pour changer ce comportement, voyez " "l'argument formatter_class_." -#: library/argparse.rst:319 +#: library/argparse.rst:320 msgid "epilog" msgstr "Le paramètre *epilog*" -#: library/argparse.rst:321 +#: library/argparse.rst:322 msgid "" "Some programs like to display additional description of the program after " "the description of the arguments. Such text can be specified using the " @@ -421,7 +424,7 @@ msgstr "" "description des arguments. Un tel texte peut être spécifié grâce à " "l'argument ``epilog=`` du constructeur d':class:`ArgumentParser` ::" -#: library/argparse.rst:338 +#: library/argparse.rst:339 msgid "" "As with the description_ argument, the ``epilog=`` text is by default line-" "wrapped, but this behavior can be adjusted with the formatter_class_ " @@ -432,11 +435,11 @@ msgstr "" "grâce à l'argument formatter_class_ du constructeur d':class:" "`ArgumentParser`." -#: library/argparse.rst:344 +#: library/argparse.rst:345 msgid "parents" msgstr "Le paramètre *parents*" -#: library/argparse.rst:346 +#: library/argparse.rst:347 msgid "" "Sometimes, several parsers share a common set of arguments. Rather than " "repeating the definitions of these arguments, a single parser with all the " @@ -455,7 +458,7 @@ msgstr "" "puis les ajoute à l'instance d':class:`ArgumentParser` en cours de " "création ::" -#: library/argparse.rst:366 +#: library/argparse.rst:367 msgid "" "Note that most parent parsers will specify ``add_help=False``. Otherwise, " "the :class:`ArgumentParser` will see two ``-h/--help`` options (one in the " @@ -466,7 +469,7 @@ msgstr "" "voir plus d'une option ``-h/--help`` (une pour le parent et une pour " "l'instance en cours de création) et va lever une erreur." -#: library/argparse.rst:371 +#: library/argparse.rst:372 msgid "" "You must fully initialize the parsers before passing them via ``parents=``. " "If you change the parent parsers after the child parser, those changes will " @@ -476,11 +479,11 @@ msgstr "" "``parents=``. Si vous changez les analyseurs parents après la création de " "l'analyseur enfant, ces changements ne seront pas répercutés sur l'enfant." -#: library/argparse.rst:377 +#: library/argparse.rst:378 msgid "formatter_class" msgstr "Le paramètre *formatter_class*" -#: library/argparse.rst:379 +#: library/argparse.rst:380 msgid "" ":class:`ArgumentParser` objects allow the help formatting to be customized " "by specifying an alternate formatting class. Currently, there are four such " @@ -490,7 +493,7 @@ msgstr "" "en page des messages d'aide en spécifiant une classe de formatage " "alternative. Il y a actuellement quatre classes de formatage :" -#: library/argparse.rst:388 +#: library/argparse.rst:389 msgid "" ":class:`RawDescriptionHelpFormatter` and :class:`RawTextHelpFormatter` give " "more control over how textual descriptions are displayed. By default, :class:" @@ -503,7 +506,7 @@ msgstr "" "class:`ArgumentParser` font l'objet du retour à la ligne automatique dans " "les messages d'aide ::" -#: library/argparse.rst:413 +#: library/argparse.rst:414 msgid "" "Passing :class:`RawDescriptionHelpFormatter` as ``formatter_class=`` " "indicates that description_ and epilog_ are already correctly formatted and " @@ -514,7 +517,7 @@ msgstr "" "correctement et qu'ils ne doivent pas faire l'objet d'un retour à la ligne " "automatique ::" -#: library/argparse.rst:439 +#: library/argparse.rst:440 msgid "" ":class:`RawTextHelpFormatter` maintains whitespace for all sorts of help " "text, including argument descriptions. However, multiple new lines are " @@ -527,7 +530,7 @@ msgstr "" "seul. Si vous voulez garder plusieurs sauts de ligne, ajoutez des espaces " "entre les caractères de changement de ligne." -#: library/argparse.rst:444 +#: library/argparse.rst:445 msgid "" ":class:`ArgumentDefaultsHelpFormatter` automatically adds information about " "default values to each of the argument help messages::" @@ -535,7 +538,7 @@ msgstr "" ":class:`ArgumentDefaultsHelpFormatter` ajoute automatiquement l'information " "sur les valeurs par défaut aux messages d'aide de tous les arguments ::" -#: library/argparse.rst:462 +#: library/argparse.rst:463 msgid "" ":class:`MetavarTypeHelpFormatter` uses the name of the type_ argument for " "each argument as the display name for its values (rather than using the " @@ -545,11 +548,11 @@ msgstr "" "chacun des arguments comme nom d'affichage pour leurs valeurs (contrairement " "au formateur standard qui utilise dest_) ::" -#: library/argparse.rst:483 +#: library/argparse.rst:484 msgid "prefix_chars" msgstr "Le paramètre *prefix_chars*" -#: library/argparse.rst:485 +#: library/argparse.rst:486 msgid "" "Most command-line options will use ``-`` as the prefix, e.g. ``-f/--foo``. " "Parsers that need to support different or additional prefix characters, e.g. " @@ -562,7 +565,7 @@ msgstr "" "les options ``+f`` ou ``/foo``), vous devez les spécifier en utilisant " "l'argument ``prefix_chars=`` du constructeur d'``ArgumentParser`` ::" -#: library/argparse.rst:497 +#: library/argparse.rst:498 msgid "" "The ``prefix_chars=`` argument defaults to ``'-'``. Supplying a set of " "characters that does not include ``-`` will cause ``-f/--foo`` options to be " @@ -572,11 +575,11 @@ msgstr "" "caractères qui n'inclut pas ``-`` provoquera le refus des options comme ``-" "f/--foo``." -#: library/argparse.rst:503 +#: library/argparse.rst:504 msgid "fromfile_prefix_chars" msgstr "Le paramètre *fromfile_prefix_chars*" -#: library/argparse.rst:505 +#: library/argparse.rst:506 msgid "" "Sometimes, for example when dealing with a particularly long argument list, " "it may make sense to keep the list of arguments in a file rather than typing " @@ -593,7 +596,7 @@ msgstr "" "spécifiés seront traités comme des fichiers et seront remplacés par les " "arguments contenus dans ces fichiers. Par exemple ::" -#: library/argparse.rst:519 +#: library/argparse.rst:520 msgid "" "Arguments read from a file must by default be one per line (but see also :" "meth:`~ArgumentParser.convert_arg_line_to_args`) and are treated as if they " @@ -609,7 +612,7 @@ msgstr "" "commande. Ainsi dans l'exemple ci-dessus, l'expression ``['-f', 'foo', " "'@args.txt']`` est équivalente à l'expression ``['-f', 'foo', '-f', 'bar']``." -#: library/argparse.rst:525 +#: library/argparse.rst:526 msgid "" "The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that " "arguments will never be treated as file references." @@ -618,11 +621,11 @@ msgstr "" "signifie que les arguments ne seront pas traités en tant que références à " "des fichiers." -#: library/argparse.rst:530 +#: library/argparse.rst:531 msgid "argument_default" msgstr "Le paramètre *argument_default*" -#: library/argparse.rst:532 +#: library/argparse.rst:533 msgid "" "Generally, argument defaults are specified either by passing a default to :" "meth:`~ArgumentParser.add_argument` or by calling the :meth:`~ArgumentParser." @@ -644,11 +647,11 @@ msgstr "" "de :meth:`~ArgumentParser.parse_args`, on fournit " "``argument_default=SUPPRESS`` ::" -#: library/argparse.rst:552 +#: library/argparse.rst:553 msgid "allow_abbrev" msgstr "Le paramètre *allow_abbrev*" -#: library/argparse.rst:554 +#: library/argparse.rst:555 msgid "" "Normally, when you pass an argument list to the :meth:`~ArgumentParser." "parse_args` method of an :class:`ArgumentParser`, it :ref:`recognizes " @@ -658,17 +661,17 @@ msgstr "" "meth:`~ArgumentParser.parse_args` d':class:`ArgumentParser` :ref:`elle " "accepte les abréviations ` des options longues." -#: library/argparse.rst:558 +#: library/argparse.rst:559 msgid "This feature can be disabled by setting ``allow_abbrev`` to ``False``::" msgstr "" "Cette fonctionnalité peut être désactivée en passant ``False`` à " "``allow_abbrev`` ::" -#: library/argparse.rst:571 +#: library/argparse.rst:572 msgid "conflict_handler" msgstr "Le paramètre *conflict_handler*" -#: library/argparse.rst:573 +#: library/argparse.rst:574 msgid "" ":class:`ArgumentParser` objects do not allow two actions with the same " "option string. By default, :class:`ArgumentParser` objects raise an " @@ -680,7 +683,7 @@ msgstr "" "lèvent une exception si on essaie de créer un argument avec une chaîne " "d'option qui est déjà utilisée ::" -#: library/argparse.rst:585 +#: library/argparse.rst:586 msgid "" "Sometimes (e.g. when using parents_) it may be useful to simply override any " "older arguments with the same option string. To get this behavior, the " @@ -692,7 +695,7 @@ msgstr "" "d'option. Pour obtenir ce comportement, vous devez passer ``'resolve'`` à " "l'argument ``conflict_handler=`` du constructeur d':class:`ArgumentParser` ::" -#: library/argparse.rst:601 +#: library/argparse.rst:602 msgid "" "Note that :class:`ArgumentParser` objects only remove an action if all of " "its option strings are overridden. So, in the example above, the old ``-f/--" @@ -704,11 +707,11 @@ msgstr "" "dessus, l'action ``-f/--foo`` du parent est conservée comme l'action ``-f`` " "puisque ``--foo`` est la seule chaîne d'options qui a été surchargée." -#: library/argparse.rst:608 +#: library/argparse.rst:609 msgid "add_help" msgstr "Le paramètre *add_help*" -#: library/argparse.rst:610 +#: library/argparse.rst:611 msgid "" "By default, ArgumentParser objects add an option which simply displays the " "parser's help message. For example, consider a file named ``myprogram.py`` " @@ -718,7 +721,7 @@ msgstr "" "l'affichage du message d'aide de l'analyseur. Par exemple, prenons le " "fichier ``myprogram.py`` qui contient le code suivant ::" -#: library/argparse.rst:619 +#: library/argparse.rst:620 msgid "" "If ``-h`` or ``--help`` is supplied at the command line, the ArgumentParser " "help will be printed:" @@ -726,7 +729,7 @@ msgstr "" "Si ``-h`` ou ``--help`` est passé sur la ligne de commande, le message " "d'aide de l'``ArgumentParser`` sera affiché :" -#: library/argparse.rst:631 +#: library/argparse.rst:632 msgid "" "Occasionally, it may be useful to disable the addition of this help option. " "This can be achieved by passing ``False`` as the ``add_help=`` argument to :" @@ -736,7 +739,7 @@ msgstr "" "faire, vous devez passer ``False`` à l'argument ``add_help=`` du " "constructeur d':class:`ArgumentParser` ::" -#: library/argparse.rst:643 +#: library/argparse.rst:644 msgid "" "The help option is typically ``-h/--help``. The exception to this is if the " "``prefix_chars=`` is specified and does not include ``-``, in which case ``-" @@ -749,11 +752,11 @@ msgstr "" "ce cas, le premier caractère de ``prefix_chars`` est utilisé comme préfixe " "des options d'aide ::" -#: library/argparse.rst:658 +#: library/argparse.rst:659 msgid "exit_on_error" msgstr "Le paramètre *exit_on_error*" -#: library/argparse.rst:660 +#: library/argparse.rst:661 msgid "" "Normally, when you pass an invalid argument list to the :meth:" "`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, it will " @@ -763,7 +766,7 @@ msgstr "" "invalide à la méthode :meth:`~ArgumentParser.parse_args` d'une instance d':" "class:`ArgumentParser`, l'exécution se termine avec un message d'erreur." -#: library/argparse.rst:663 +#: library/argparse.rst:664 msgid "" "If the user would like to catch errors manually, the feature can be enabled " "by setting ``exit_on_error`` to ``False``::" @@ -771,11 +774,11 @@ msgstr "" "Si vous souhaitez intercepter les erreurs manuellement, la fonctionnalité " "peut être activée en assignant ``False`` à ``exit_on_error`` ::" -#: library/argparse.rst:680 +#: library/argparse.rst:681 msgid "The add_argument() method" msgstr "La méthode *add_argument()*" -#: library/argparse.rst:686 +#: library/argparse.rst:687 msgid "" "Define how a single command-line argument should be parsed. Each parameter " "has its own more detailed description below, but in short they are:" @@ -783,7 +786,7 @@ msgstr "" "Définie comment une option de ligne de commande doit être analysée. Chacun " "des paramètres est décrit plus en détails ci-bas, mais en résumé ils sont :" -#: library/argparse.rst:689 +#: library/argparse.rst:690 msgid "" "`name or flags`_ - Either a name or a list of option strings, e.g. ``foo`` " "or ``-f, --foo``." @@ -791,7 +794,7 @@ msgstr "" "`name_or_flags`_ – Nom ou liste de chaînes d'options. Par exemple : ``foo`` " "ou ``-f, --foo`` ;" -#: library/argparse.rst:692 +#: library/argparse.rst:693 msgid "" "action_ - The basic type of action to be taken when this argument is " "encountered at the command line." @@ -799,17 +802,17 @@ msgstr "" "action_ – Type élémentaire de l'action à entreprendre quand cet argument est " "reconnu sur la ligne de commande ;" -#: library/argparse.rst:695 +#: library/argparse.rst:696 msgid "nargs_ - The number of command-line arguments that should be consumed." msgstr "nargs_ – Nombre d'arguments de la ligne de commande à capturer ;" -#: library/argparse.rst:697 +#: library/argparse.rst:698 msgid "" "const_ - A constant value required by some action_ and nargs_ selections." msgstr "" "const_ – Valeur constante requise par certains choix d'action_ et de nargs_ ;" -#: library/argparse.rst:699 +#: library/argparse.rst:700 msgid "" "default_ - The value produced if the argument is absent from the command " "line and if it is absent from the namespace object." @@ -817,20 +820,21 @@ msgstr "" "default_ – Valeur produite si l'argument est absent de la ligne de " "commande et absent de l'objet ``namespace`` ;" -#: library/argparse.rst:702 +#: library/argparse.rst:703 msgid "" "type_ - The type to which the command-line argument should be converted." msgstr "" "type_ – Type vers lequel l'argument sur la ligne de commande doit être " "converti ;" -#: library/argparse.rst:704 -msgid "choices_ - A container of the allowable values for the argument." +#: library/argparse.rst:705 +#, fuzzy +msgid "choices_ - A sequence of the allowable values for the argument." msgstr "" "choices_ – Conteneur qui contient toutes les valeurs permises pour cet " "argument ;" -#: library/argparse.rst:706 +#: library/argparse.rst:707 msgid "" "required_ - Whether or not the command-line option may be omitted (optionals " "only)." @@ -838,15 +842,15 @@ msgstr "" "required_ – ``True`` si l'option sur la ligne de commande est obligatoire " "(ne s'applique qu'aux arguments optionnels) ;" -#: library/argparse.rst:709 +#: library/argparse.rst:710 msgid "help_ - A brief description of what the argument does." msgstr "help_ – Brève description de ce que fait l'argument ;" -#: library/argparse.rst:711 +#: library/argparse.rst:712 msgid "metavar_ - A name for the argument in usage messages." msgstr "metavar_ – Nom de l'argument dans les messages d'utilisations ;" -#: library/argparse.rst:713 +#: library/argparse.rst:714 msgid "" "dest_ - The name of the attribute to be added to the object returned by :" "meth:`parse_args`." @@ -854,11 +858,11 @@ msgstr "" "dest_ – Nom de l'attribut qui sera ajouté à l'objet retourné par :meth:" "`parse_args`." -#: library/argparse.rst:720 +#: library/argparse.rst:721 msgid "name or flags" msgstr "Le paramètre *name_or_flags*" -#: library/argparse.rst:722 +#: library/argparse.rst:723 msgid "" "The :meth:`~ArgumentParser.add_argument` method must know whether an " "optional argument, like ``-f`` or ``--foo``, or a positional argument, like " @@ -875,11 +879,11 @@ msgstr "" "commande, soit simplement un nom si on désire un argument positionnel. Par " "exemple, un argument optionnel est créé comme suit ::" -#: library/argparse.rst:731 +#: library/argparse.rst:732 msgid "while a positional argument could be created like::" msgstr "alors qu'un argument positionnel est créé comme suit ::" -#: library/argparse.rst:735 +#: library/argparse.rst:736 msgid "" "When :meth:`~ArgumentParser.parse_args` is called, optional arguments will " "be identified by the ``-`` prefix, and the remaining arguments will be " @@ -889,11 +893,11 @@ msgstr "" "commencent par le préfixe ``-`` sont présumés optionnels et tous les autres " "sont présumés positionnels ::" -#: library/argparse.rst:752 +#: library/argparse.rst:753 msgid "action" msgstr "Le paramètre *action*" -#: library/argparse.rst:754 +#: library/argparse.rst:755 msgid "" ":class:`ArgumentParser` objects associate command-line arguments with " "actions. These actions can do just about anything with the command-line " @@ -910,7 +914,7 @@ msgstr "" "indique comment l'argument de la ligne de commande sera traité. Les actions " "natives sont :" -#: library/argparse.rst:760 +#: library/argparse.rst:761 msgid "" "``'store'`` - This just stores the argument's value. This is the default " "action. For example::" @@ -918,7 +922,7 @@ msgstr "" "``'store'`` – Stocke la valeur de l'argument sans autre traitement. Ceci est " "l'action par défaut. Par exemple ::" -#: library/argparse.rst:768 +#: library/argparse.rst:769 msgid "" "``'store_const'`` - This stores the value specified by the const_ keyword " "argument. The ``'store_const'`` action is most commonly used with optional " @@ -929,7 +933,7 @@ msgstr "" "optionnels qui représentent un drapeau ou une condition similaire. Par " "exemple ::" -#: library/argparse.rst:777 +#: library/argparse.rst:778 msgid "" "``'store_true'`` and ``'store_false'`` - These are special cases of " "``'store_const'`` used for storing the values ``True`` and ``False`` " @@ -941,7 +945,7 @@ msgstr "" "``True`` et ``False``, respectivement. Aussi, ces actions ont comme valeur " "par défaut ``False`` et ``True``, respectivement. Par exemple ::" -#: library/argparse.rst:789 +#: library/argparse.rst:790 msgid "" "``'append'`` - This stores a list, and appends each argument value to the " "list. This is useful to allow an option to be specified multiple times. " @@ -951,7 +955,7 @@ msgstr "" "liste. Ceci est pratique pour les options qui peuvent être répétées sur la " "ligne de commande ::" -#: library/argparse.rst:798 +#: library/argparse.rst:799 msgid "" "``'append_const'`` - This stores a list, and appends the value specified by " "the const_ keyword argument to the list. (Note that the const_ keyword " @@ -965,7 +969,7 @@ msgstr "" "pratique quand plusieurs arguments ont besoin de stocker des constantes dans " "la même liste. Par exemple ::" -#: library/argparse.rst:810 +#: library/argparse.rst:811 msgid "" "``'count'`` - This counts the number of times a keyword argument occurs. For " "example, this is useful for increasing verbosity levels::" @@ -973,13 +977,13 @@ msgstr "" "``'count'`` – Compte le nombre d'occurrences de l'argument nommé. Ceci est " "pratique, par exemple, pour augmenter le niveau de verbosité ::" -#: library/argparse.rst:818 +#: library/argparse.rst:819 msgid "Note, the *default* will be ``None`` unless explicitly set to *0*." msgstr "" "Prenez note que la valeur de *default* sera ``None`` à moins qu'elle soit " "explicitement définie à ``0``." -#: library/argparse.rst:820 +#: library/argparse.rst:821 msgid "" "``'help'`` - This prints a complete help message for all the options in the " "current parser and then exits. By default a help action is automatically " @@ -991,7 +995,7 @@ msgstr "" "automatiquement ajoutée à l'analyseur par défaut. Consultez :class:" "`ArgumentParser` pour les détails de la création du contenu de l'aide." -#: library/argparse.rst:825 +#: library/argparse.rst:826 msgid "" "``'version'`` - This expects a ``version=`` keyword argument in the :meth:" "`~ArgumentParser.add_argument` call, and prints version information and " @@ -1001,7 +1005,7 @@ msgstr "" "Cette action requiert l'argument nommé ``version=`` dans l'appel à :meth:" "`~ArgumentParser.add_argument` ::" -#: library/argparse.rst:835 +#: library/argparse.rst:836 msgid "" "``'extend'`` - This stores a list, and extends each argument value to the " "list. Example usage::" @@ -1009,7 +1013,7 @@ msgstr "" "``'extend'`` – Stock une liste et ajoute à la liste chacune des valeurs de " "l'argument reçues. Voici un exemple de son utilisation ::" -#: library/argparse.rst:846 +#: library/argparse.rst:847 msgid "" "You may also specify an arbitrary action by passing an Action subclass or " "other object that implements the same interface. The " @@ -1021,7 +1025,7 @@ msgstr "" "``BooleanOptionalAction`` est disponible dans ``argparse`` et elle ajoute la " "gestion des options booléennes telles que ``--foo`` et ``--no-foo`` ::" -#: library/argparse.rst:859 +#: library/argparse.rst:860 msgid "" "The recommended way to create a custom action is to extend :class:`Action`, " "overriding the ``__call__`` method and optionally the ``__init__`` and " @@ -1031,19 +1035,19 @@ msgstr "" "class:`Action` en surchargeant la méthode ``__call__``. Vous avez également " "l'option de surcharger les méthodes ``__init__`` et ``format_usage``." -#: library/argparse.rst:863 +#: library/argparse.rst:864 msgid "An example of a custom action::" msgstr "Un exemple d'action personnalisée ::" -#: library/argparse.rst:883 +#: library/argparse.rst:884 msgid "For more details, see :class:`Action`." msgstr "Pour plus d'information, voir :class:`Action`." -#: library/argparse.rst:886 +#: library/argparse.rst:887 msgid "nargs" msgstr "Le paramètre *nargs*" -#: library/argparse.rst:888 +#: library/argparse.rst:889 msgid "" "ArgumentParser objects usually associate a single command-line argument with " "a single action to be taken. The ``nargs`` keyword argument associates a " @@ -1055,7 +1059,7 @@ msgstr "" "``nargs`` associe un nombre différent d'arguments de la ligne de commande à " "une action. Les valeurs reconnues sont :" -#: library/argparse.rst:893 +#: library/argparse.rst:894 msgid "" "``N`` (an integer). ``N`` arguments from the command line will be gathered " "together into a list. For example::" @@ -1063,7 +1067,7 @@ msgstr "" "``N`` (un entier). ``N`` arguments de la ligne de commande seront capturés " "ensemble et stockés dans une liste. Par exemple ::" -#: library/argparse.rst:902 +#: library/argparse.rst:903 msgid "" "Note that ``nargs=1`` produces a list of one item. This is different from " "the default, in which the item is produced by itself." @@ -1072,7 +1076,7 @@ msgstr "" "différent du comportement par défaut qui produit l'élément directement " "(comme un scalaire)." -#: library/argparse.rst:907 +#: library/argparse.rst:908 msgid "" "``'?'``. One argument will be consumed from the command line if possible, " "and produced as a single item. If no command-line argument is present, the " @@ -1088,7 +1092,7 @@ msgstr "" "qu'elle ne soit pas suivie d'un argument. Dans ce cas, la valeur de const_ " "est produite. Voici quelques exemples pour illustrer ceci ::" -#: library/argparse.rst:924 +#: library/argparse.rst:925 msgid "" "One of the more common uses of ``nargs='?'`` is to allow optional input and " "output files::" @@ -1096,7 +1100,7 @@ msgstr "" "``nargs='?'`` est fréquemment utilisé pour accepter des fichiers d'entrée et " "de sortie optionnels ::" -#: library/argparse.rst:941 +#: library/argparse.rst:942 msgid "" "``'*'``. All command-line arguments present are gathered into a list. Note " "that it generally doesn't make much sense to have more than one positional " @@ -1109,7 +1113,7 @@ msgstr "" "d'avoir plusieurs arguments optionnels qui spécifient ``nargs='*'``. Par " "exemple ::" -#: library/argparse.rst:955 +#: library/argparse.rst:956 msgid "" "``'+'``. Just like ``'*'``, all command-line args present are gathered into " "a list. Additionally, an error message will be generated if there wasn't at " @@ -1120,7 +1124,7 @@ msgstr "" "produit s'il n'y a pas au moins un argument présent sur la ligne de " "commande. Par exemple ::" -#: library/argparse.rst:967 +#: library/argparse.rst:968 msgid "" "If the ``nargs`` keyword argument is not provided, the number of arguments " "consumed is determined by the action_. Generally this means a single " @@ -1131,11 +1135,11 @@ msgstr "" "capturés est déterminé par l'action_. En général, c'est un seul argument de " "la ligne de commande qui est capturé et il est produit directement." -#: library/argparse.rst:973 +#: library/argparse.rst:974 msgid "const" msgstr "Le paramètre *const*" -#: library/argparse.rst:975 +#: library/argparse.rst:976 msgid "" "The ``const`` argument of :meth:`~ArgumentParser.add_argument` is used to " "hold constant values that are not read from the command line but are " @@ -1147,7 +1151,7 @@ msgstr "" "est requise par certaines actions d':class:`ArgumentParser`. Les deux " "utilisations les plus communes sont :" -#: library/argparse.rst:979 +#: library/argparse.rst:980 msgid "" "When :meth:`~ArgumentParser.add_argument` is called with " "``action='store_const'`` or ``action='append_const'``. These actions add " @@ -1162,7 +1166,7 @@ msgstr "" # Nous sommes dans une énumération après un :, donc pas de majuscule et le # paragraphe doit se terminer par ;. -#: library/argparse.rst:984 +#: library/argparse.rst:985 msgid "" "When :meth:`~ArgumentParser.add_argument` is called with option strings " "(like ``-f`` or ``--foo``) and ``nargs='?'``. This creates an optional " @@ -1179,7 +1183,7 @@ msgstr "" "valeur de ``const`` est utilisée. Consultez la description de nargs_ pour " "voir quelques exemples." -#: library/argparse.rst:991 +#: library/argparse.rst:992 msgid "" "With the ``'store_const'`` and ``'append_const'`` actions, the ``const`` " "keyword argument must be given. For other actions, it defaults to ``None``." @@ -1188,11 +1192,11 @@ msgstr "" "``const`` doit être spécifié. Pour toutes les autres actions, il est " "optionnel et sa valeur par défaut est ``None``." -#: library/argparse.rst:996 +#: library/argparse.rst:997 msgid "default" msgstr "Le paramètre *default*" -#: library/argparse.rst:998 +#: library/argparse.rst:999 msgid "" "All optional arguments and some positional arguments may be omitted at the " "command line. The ``default`` keyword argument of :meth:`~ArgumentParser." @@ -1208,7 +1212,7 @@ msgstr "" "commande. Pour les arguments optionnels, la valeur de ``default`` est " "utilisée si la chaîne d'option n'est pas présente sur la ligne de commande ::" -#: library/argparse.rst:1012 +#: library/argparse.rst:1013 msgid "" "If the target namespace already has an attribute set, the action *default* " "will not over write it::" @@ -1216,7 +1220,7 @@ msgstr "" "Si l'objet ``namespace`` cible a déjà un attribut assigné, l'action " "*default* ne l'écrase pas ::" -#: library/argparse.rst:1020 +#: library/argparse.rst:1021 msgid "" "If the ``default`` value is a string, the parser parses the value as if it " "were a command-line argument. In particular, the parser applies any type_ " @@ -1229,7 +1233,7 @@ msgstr "" "est fournie) avant d'affecter l'attribut à l'objet :class:`Namespace` " "renvoyé. Autrement, l'analyseur utilise la valeur telle qu'elle ::" -#: library/argparse.rst:1031 +#: library/argparse.rst:1032 msgid "" "For positional arguments with nargs_ equal to ``?`` or ``*``, the " "``default`` value is used when no command-line argument was present::" @@ -1238,7 +1242,7 @@ msgstr "" "valeur de ``default`` est utilisée quand l'argument est absent de la ligne " "de commande ::" -#: library/argparse.rst:1042 +#: library/argparse.rst:1043 msgid "" "Providing ``default=argparse.SUPPRESS`` causes no attribute to be added if " "the command-line argument was not present::" @@ -1247,11 +1251,11 @@ msgstr "" "à l'objet ``Namespace`` quand l'argument est absent de la ligne de " "commande ::" -#: library/argparse.rst:1054 +#: library/argparse.rst:1055 msgid "type" msgstr "Le paramètre *type*" -#: library/argparse.rst:1056 +#: library/argparse.rst:1057 msgid "" "By default, the parser reads command-line arguments in as simple strings. " "However, quite often the command-line string should instead be interpreted " @@ -1265,7 +1269,7 @@ msgstr "" "`int`. L'argument nommé ``type`` d':meth:`~ArgumentParser.add_argument` nous " "permet de faire les vérifications et les conversions de type nécessaires." -#: library/argparse.rst:1062 +#: library/argparse.rst:1063 msgid "" "If the type_ keyword is used with the default_ keyword, the type converter " "is only applied if the default is a string." @@ -1274,7 +1278,7 @@ msgstr "" "default_, le convertisseur de type n'est appliqué que si la valeur par " "défaut est une chaîne." -#: library/argparse.rst:1065 +#: library/argparse.rst:1066 msgid "" "The argument to ``type`` can be any callable that accepts a single string. " "If the function raises :exc:`ArgumentTypeError`, :exc:`TypeError`, or :exc:" @@ -1287,18 +1291,18 @@ msgstr "" "d'erreur agréablement formaté est affiché. Aucun autre type d'exception " "n'est géré." -#: library/argparse.rst:1070 +#: library/argparse.rst:1071 msgid "Common built-in types and functions can be used as type converters:" msgstr "" "Les types et les fonctions natives peuvent être utilisés comme " "convertisseurs de types :" -#: library/argparse.rst:1086 +#: library/argparse.rst:1087 msgid "User defined functions can be used as well:" msgstr "" "Des fonctions définies par l'utilisateur peuvent aussi être utilisées :" -#: library/argparse.rst:1098 +#: library/argparse.rst:1099 msgid "" "The :func:`bool` function is not recommended as a type converter. All it " "does is convert empty strings to ``False`` and non-empty strings to " @@ -1308,7 +1312,7 @@ msgstr "" "comportement se limite à convertir les chaînes vides à ``False`` et les " "chaînes non-vides à ``True``. Ce n'est généralement pas le résultat désiré." -#: library/argparse.rst:1102 +#: library/argparse.rst:1103 msgid "" "In general, the ``type`` keyword is a convenience that should only be used " "for simple conversions that can only raise one of the three supported " @@ -1321,7 +1325,7 @@ msgstr "" "d'erreurs plus intéressant ou une gestion de ressources devraient être " "effectuées plus tard dans l’exécution suite à l'analyse des arguments." -#: library/argparse.rst:1107 +#: library/argparse.rst:1108 msgid "" "For example, JSON or YAML conversions have complex error cases that require " "better reporting than can be given by the ``type`` keyword. A :exc:`~json." @@ -1334,7 +1338,7 @@ msgstr "" "JSONDecodeError` ne serait pas adéquatement formatée et une exception :exc:" "`FileNotFound` ne serait pas du tout traitée." -#: library/argparse.rst:1112 +#: library/argparse.rst:1113 msgid "" "Even :class:`~argparse.FileType` has its limitations for use with the " "``type`` keyword. If one argument uses *FileType* and then a subsequent " @@ -1349,7 +1353,7 @@ msgstr "" "fin de l'exécution de l'analyseur puis de gérer les fichiers à l'aide d'un " "bloc :keyword:`with`." -#: library/argparse.rst:1118 +#: library/argparse.rst:1119 msgid "" "For type checkers that simply check against a fixed set of values, consider " "using the choices_ keyword instead." @@ -1357,14 +1361,15 @@ msgstr "" "Pour les vérificateurs de types qui ne font que tester l'appartenance à un " "ensemble de valeurs, pensez plutôt à utiliser l'argument nommé choices_." -#: library/argparse.rst:1123 +#: library/argparse.rst:1124 msgid "choices" msgstr "Le paramètre *choices*" -#: library/argparse.rst:1125 +#: library/argparse.rst:1126 +#, fuzzy msgid "" "Some command-line arguments should be selected from a restricted set of " -"values. These can be handled by passing a container object as the *choices* " +"values. These can be handled by passing a sequence object as the *choices* " "keyword argument to :meth:`~ArgumentParser.add_argument`. When the command " "line is parsed, argument values will be checked, and an error message will " "be displayed if the argument was not one of the acceptable values::" @@ -1376,26 +1381,28 @@ msgstr "" "l'argument sont comparées et un message d'erreur est affiché si l'argument " "n'est pas parmi les valeurs acceptables ::" -#: library/argparse.rst:1140 +#: library/argparse.rst:1141 +#, fuzzy msgid "" -"Note that inclusion in the *choices* container is checked after any type_ " +"Note that inclusion in the *choices* sequence is checked after any type_ " "conversions have been performed, so the type of the objects in the *choices* " -"container should match the type_ specified::" +"sequence should match the type_ specified::" msgstr "" "Prenez note que le test d'inclusion dans le conteur *choices* est fait après " "la conversion de type_. Le type des objets dans le conteneur *choices* " "doivent donc correspondre au type_ spécifié ::" -#: library/argparse.rst:1152 +#: library/argparse.rst:1153 +#, fuzzy msgid "" -"Any container can be passed as the *choices* value, so :class:`list` " -"objects, :class:`set` objects, and custom containers are all supported." +"Any sequence can be passed as the *choices* value, so :class:`list` " +"objects, :class:`tuple` objects, and custom sequences are all supported." msgstr "" "N'importe quel conteneur peut être fourni pour la valeur de *choices*, donc " "les objets :class:`list`, les objets :class:`set` et les conteneurs " "personnalisés sont tous acceptés." -#: library/argparse.rst:1155 +#: library/argparse.rst:1156 msgid "" "Use of :class:`enum.Enum` is not recommended because it is difficult to " "control its appearance in usage, help, and error messages." @@ -1403,7 +1410,7 @@ msgstr "" "L'utilisation d':class:`enum.Enum` est déconseillée, car il est difficile de " "contrôler son apparence dans les messages d'usage, d'aide et d'erreur." -#: library/argparse.rst:1158 +#: library/argparse.rst:1159 msgid "" "Formatted choices overrides the default *metavar* which is normally derived " "from *dest*. This is usually what you want because the user never sees the " @@ -1416,11 +1423,11 @@ msgstr "" "pas souhaité (comme lorsque les choix sont nombreux) spécifiez simplement " "metavar_ de façon explicite." -#: library/argparse.rst:1165 +#: library/argparse.rst:1166 msgid "required" msgstr "Le paramètre *required*" -#: library/argparse.rst:1167 +#: library/argparse.rst:1168 msgid "" "In general, the :mod:`argparse` module assumes that flags like ``-f`` and " "``--bar`` indicate *optional* arguments, which can always be omitted at the " @@ -1433,7 +1440,7 @@ msgstr "" "*obligatoire*, ``True`` peut être passé à l'argument nommé ``required=`` d':" "meth:`~ArgumentParser.add_argument` ::" -#: library/argparse.rst:1180 +#: library/argparse.rst:1181 msgid "" "As the example shows, if an option is marked as ``required``, :meth:" "`~ArgumentParser.parse_args` will report an error if that option is not " @@ -1443,7 +1450,7 @@ msgstr "" "``required``, :meth:`~ArgumentParser.parse_args` mentionne une erreur si " "l'option est absente de la ligne de commande." -#: library/argparse.rst:1186 +#: library/argparse.rst:1187 msgid "" "Required options are generally considered bad form because users expect " "*options* to be *optional*, and thus they should be avoided when possible." @@ -1452,11 +1459,11 @@ msgstr "" "utilisateurs s'attendent que les *options* soient *optionnelles*. Elles " "devraient donc être évitées si possible." -#: library/argparse.rst:1191 +#: library/argparse.rst:1192 msgid "help" msgstr "Le paramètre *help*" -#: library/argparse.rst:1193 +#: library/argparse.rst:1194 msgid "" "The ``help`` value is a string containing a brief description of the " "argument. When a user requests help (usually by using ``-h`` or ``--help`` " @@ -1468,7 +1475,7 @@ msgstr "" "l'utilisation de ``-h`` ou ``--help`` sur la ligne de commande), ces " "descriptions d'aide seront affichées pour chacun des arguments ::" -#: library/argparse.rst:1213 +#: library/argparse.rst:1214 msgid "" "The ``help`` strings can include various format specifiers to avoid " "repetition of things like the program name or the argument default_. The " @@ -1483,7 +1490,7 @@ msgstr "" "plupart des arguments nommés d':meth:`~ArgumentParser.add_argument`, tels " "que ``%(default)s``, ``%(type)s``, etc. ::" -#: library/argparse.rst:1230 +#: library/argparse.rst:1231 msgid "" "As the help string supports %-formatting, if you want a literal ``%`` to " "appear in the help string, you must escape it as ``%%``." @@ -1492,7 +1499,7 @@ msgstr "" "désirez afficher un ``%`` littéral dans la chaîne d'aide, vous devez en " "faire l’échappement avec ``%%``." -#: library/argparse.rst:1233 +#: library/argparse.rst:1234 msgid "" ":mod:`argparse` supports silencing the help entry for certain options, by " "setting the ``help`` value to ``argparse.SUPPRESS``::" @@ -1500,11 +1507,11 @@ msgstr "" ":mod:`argparse` peut supprimer la rubrique d'aide de certaines options. Pour " "ce faire, passez ``argparse.SUPPRESS`` à ``help`` ::" -#: library/argparse.rst:1246 +#: library/argparse.rst:1247 msgid "metavar" msgstr "Le paramètre *metavar*" -#: library/argparse.rst:1248 +#: library/argparse.rst:1249 msgid "" "When :class:`ArgumentParser` generates help messages, it needs some way to " "refer to each expected argument. By default, ArgumentParser objects use the " @@ -1525,11 +1532,11 @@ msgstr "" "positionnel unique ``--foo`` qui prend un seul argument sur la ligne de " "commande sera affiché comme ``FOO``. Par exemple ::" -#: library/argparse.rst:1272 +#: library/argparse.rst:1273 msgid "An alternative name can be specified with ``metavar``::" msgstr "Un nom alternatif peut être fourni à ``metavar`` ::" -#: library/argparse.rst:1289 +#: library/argparse.rst:1290 msgid "" "Note that ``metavar`` only changes the *displayed* name - the name of the " "attribute on the :meth:`~ArgumentParser.parse_args` object is still " @@ -1539,7 +1546,7 @@ msgstr "" "l'attribut ajouté à l'objet renvoyé par :meth:`~ArgumentParser.parse_args` " "est toujours déterminé par la valeur de dest_." -#: library/argparse.rst:1293 +#: library/argparse.rst:1294 msgid "" "Different values of ``nargs`` may cause the metavar to be used multiple " "times. Providing a tuple to ``metavar`` specifies a different display for " @@ -1549,11 +1556,11 @@ msgstr "" "plus d'une fois. Passer un *n-uplet* à ``metavar`` indique les différents " "noms à afficher pour chacun des arguments ::" -#: library/argparse.rst:1310 +#: library/argparse.rst:1311 msgid "dest" msgstr "Le paramètre *dest*" -#: library/argparse.rst:1312 +#: library/argparse.rst:1313 msgid "" "Most :class:`ArgumentParser` actions add some value as an attribute of the " "object returned by :meth:`~ArgumentParser.parse_args`. The name of this " @@ -1569,7 +1576,7 @@ msgstr "" "est généralement le premier argument d':meth:`~ArgumentParser." "add_argument` ::" -#: library/argparse.rst:1324 +#: library/argparse.rst:1325 msgid "" "For optional argument actions, the value of ``dest`` is normally inferred " "from the option strings. :class:`ArgumentParser` generates the value of " @@ -1589,15 +1596,15 @@ msgstr "" "s'assurer que la chaîne est un nom d'attribut valide. Les exemples suivants " "illustrent ce comportement ::" -#: library/argparse.rst:1341 +#: library/argparse.rst:1342 msgid "``dest`` allows a custom attribute name to be provided::" msgstr "``dest`` vous permet de fournir un nom d'attribut personnalisé ::" -#: library/argparse.rst:1349 +#: library/argparse.rst:1350 msgid "Action classes" msgstr "Classes Action" -#: library/argparse.rst:1351 +#: library/argparse.rst:1352 msgid "" "Action classes implement the Action API, a callable which returns a callable " "which processes arguments from the command-line. Any object which follows " @@ -1608,7 +1615,7 @@ msgstr "" "qui suit cette API peut être passé comme paramètre ``action`` d':meth:" "`add_argument`." -#: library/argparse.rst:1360 +#: library/argparse.rst:1361 msgid "" "Action objects are used by an ArgumentParser to represent the information " "needed to parse a single argument from one or more strings from the command " @@ -1622,7 +1629,7 @@ msgstr "" "doit accepter les deux arguments positionnels d':meth:`ArgumentParser." "add_argument` ainsi que tous ses arguments nommés, sauf ``action``." -#: library/argparse.rst:1366 +#: library/argparse.rst:1367 msgid "" "Instances of Action (or return value of any callable to the ``action`` " "parameter) should have attributes \"dest\", \"option_strings\", \"default\", " @@ -1635,7 +1642,7 @@ msgstr "" "plus simple de s'assurer que ces attributs sont définis est d'appeler " "``Action.__init__``." -#: library/argparse.rst:1371 +#: library/argparse.rst:1372 msgid "" "Action instances should be callable, so subclasses must override the " "``__call__`` method, which should accept four parameters:" @@ -1644,11 +1651,11 @@ msgstr "" "doivent surcharger la méthode ``__call__``. Cette méthode doit accepter " "quatre paramètres :" -#: library/argparse.rst:1374 +#: library/argparse.rst:1375 msgid "``parser`` - The ArgumentParser object which contains this action." msgstr "``parser`` – L'objet ``ArgumentParser`` qui contient cette action ;" -#: library/argparse.rst:1376 +#: library/argparse.rst:1377 msgid "" "``namespace`` - The :class:`Namespace` object that will be returned by :meth:" "`~ArgumentParser.parse_args`. Most actions add an attribute to this object " @@ -1658,7 +1665,7 @@ msgstr "" "`~ArgumentParser.parse_args`. La majorité des actions ajoutent un attribut à " "cet objet avec :func:`setattr` ;" -#: library/argparse.rst:1380 +#: library/argparse.rst:1381 msgid "" "``values`` - The associated command-line arguments, with any type " "conversions applied. Type conversions are specified with the type_ keyword " @@ -1669,7 +1676,7 @@ msgstr "" "spécifiées grâce à l’argument nommé type_ d':meth:`~ArgumentParser." "add_argument` ;" -#: library/argparse.rst:1384 +#: library/argparse.rst:1385 msgid "" "``option_string`` - The option string that was used to invoke this action. " "The ``option_string`` argument is optional, and will be absent if the action " @@ -1679,7 +1686,7 @@ msgstr "" "L'argument ``option_string`` est optionnel et est absent si l'action est " "associée à un argument positionnel." -#: library/argparse.rst:1388 +#: library/argparse.rst:1389 msgid "" "The ``__call__`` method may perform arbitrary actions, but will typically " "set attributes on the ``namespace`` based on ``dest`` and ``values``." @@ -1688,7 +1695,7 @@ msgstr "" "général elle affecte des attributs sur le ``namespace`` en fonction de " "``dest`` et de ``values``." -#: library/argparse.rst:1391 +#: library/argparse.rst:1392 msgid "" "Action subclasses can define a ``format_usage`` method that takes no " "argument and return a string which will be used when printing the usage of " @@ -1699,11 +1706,11 @@ msgstr "" "utilisée lors de l'affichage du message d'utilisation du programme. Si cette " "méthode n'est pas fournie, une valeur raisonnable est utilisée par défaut." -#: library/argparse.rst:1396 +#: library/argparse.rst:1397 msgid "The parse_args() method" msgstr "La méthode *parse_args()*" -#: library/argparse.rst:1400 +#: library/argparse.rst:1401 msgid "" "Convert argument strings to objects and assign them as attributes of the " "namespace. Return the populated namespace." @@ -1711,7 +1718,7 @@ msgstr "" "Convertie les chaînes d'arguments en objets et les assigne comme attributs " "de l'objet ``namespace``. Retourne l'objet ``namespace`` rempli." -#: library/argparse.rst:1403 +#: library/argparse.rst:1404 msgid "" "Previous calls to :meth:`add_argument` determine exactly what objects are " "created and how they are assigned. See the documentation for :meth:" @@ -1721,7 +1728,7 @@ msgstr "" "quels objets sont créés et comment ils sont affectés. Consultez la rubrique " "d':meth:`add_argument` pour les détails." -#: library/argparse.rst:1407 +#: library/argparse.rst:1408 msgid "" "args_ - List of strings to parse. The default is taken from :data:`sys." "argv`." @@ -1729,7 +1736,7 @@ msgstr "" "args_ – Liste de chaînes à analyser. La valeur par défaut est récupérée " "dans : :data:`sys.argv`." -#: library/argparse.rst:1410 +#: library/argparse.rst:1411 msgid "" "namespace_ - An object to take the attributes. The default is a new empty :" "class:`Namespace` object." @@ -1737,11 +1744,11 @@ msgstr "" "namespace_ – Un objet pour recevoir les attributs. Par défaut : une nouvelle " "instance (vide) de :class:`Namespace`." -#: library/argparse.rst:1415 +#: library/argparse.rst:1416 msgid "Option value syntax" msgstr "Syntaxe de la valeur des options" -#: library/argparse.rst:1417 +#: library/argparse.rst:1418 msgid "" "The :meth:`~ArgumentParser.parse_args` method supports several ways of " "specifying the value of an option (if it takes one). In the simplest case, " @@ -1752,7 +1759,7 @@ msgstr "" "simple, l'option et sa valeur sont passées en tant que deux arguments " "distincts ::" -#: library/argparse.rst:1429 +#: library/argparse.rst:1430 msgid "" "For long options (options with names longer than a single character), the " "option and value can also be passed as a single command-line argument, using " @@ -1762,7 +1769,7 @@ msgstr "" "caractère), l'option et sa valeur peuvent être passées comme un seul " "argument de la ligne de commande en utilisant ``=`` comme séparateur ::" -#: library/argparse.rst:1436 +#: library/argparse.rst:1437 msgid "" "For short options (options only one character long), the option and its " "value can be concatenated::" @@ -1770,7 +1777,7 @@ msgstr "" "Pour les options courtes (les options qui utilisent un seul caractère), " "l'option et sa valeur peuvent être concaténées ::" -#: library/argparse.rst:1442 +#: library/argparse.rst:1443 msgid "" "Several short options can be joined together, using only a single ``-`` " "prefix, as long as only the last option (or none of them) requires a value::" @@ -1779,11 +1786,11 @@ msgstr "" "préfixe ``-`` pour autant que seule la dernière (ou aucune) nécessite une " "valeur ::" -#: library/argparse.rst:1454 +#: library/argparse.rst:1455 msgid "Invalid arguments" msgstr "Arguments invalides" -#: library/argparse.rst:1456 +#: library/argparse.rst:1457 msgid "" "While parsing the command line, :meth:`~ArgumentParser.parse_args` checks " "for a variety of errors, including ambiguous options, invalid types, invalid " @@ -1797,11 +1804,11 @@ msgstr "" "elle affiche l'erreur accompagnée du message d'aide puis termine " "l'exécution ::" -#: library/argparse.rst:1482 +#: library/argparse.rst:1483 msgid "Arguments containing ``-``" msgstr "Arguments contenant ``-``" -#: library/argparse.rst:1484 +#: library/argparse.rst:1485 msgid "" "The :meth:`~ArgumentParser.parse_args` method attempts to give errors " "whenever the user has clearly made a mistake, but some situations are " @@ -1822,7 +1829,7 @@ msgstr "" "que l'analyseur ne contient aucune option qui a l'apparence d'un nombre " "négatif ::" -#: library/argparse.rst:1522 +#: library/argparse.rst:1523 msgid "" "If you have positional arguments that must begin with ``-`` and don't look " "like negative numbers, you can insert the pseudo-argument ``'--'`` which " @@ -1834,11 +1841,11 @@ msgstr "" "argument ``'--'`` qui indique à :meth:`~ArgumentParser.parse_args` de " "traiter tout ce qui suit comme un argument positionnel ::" -#: library/argparse.rst:1533 +#: library/argparse.rst:1534 msgid "Argument abbreviations (prefix matching)" msgstr "Arguments abrégés (Par comparaison de leurs préfixes)" -#: library/argparse.rst:1535 +#: library/argparse.rst:1536 msgid "" "The :meth:`~ArgumentParser.parse_args` method :ref:`by default " "` allows long options to be abbreviated to a prefix, if the " @@ -1849,7 +1856,7 @@ msgstr "" "autant que l’abréviation soit non-ambigüe, c'est-à-dire qu'elle ne " "corresponde qu'à une seule option ::" -#: library/argparse.rst:1550 +#: library/argparse.rst:1551 msgid "" "An error is produced for arguments that could produce more than one options. " "This feature can be disabled by setting :ref:`allow_abbrev` to ``False``." @@ -1858,11 +1865,11 @@ msgstr "" "option. Ce comportement peut être désactivé en passant ``False`` à :ref:" "`allow_abbrev`." -#: library/argparse.rst:1556 +#: library/argparse.rst:1557 msgid "Beyond ``sys.argv``" msgstr "Au-delà de ``sys.argv``" -#: library/argparse.rst:1558 +#: library/argparse.rst:1559 msgid "" "Sometimes it may be useful to have an ArgumentParser parse arguments other " "than those of :data:`sys.argv`. This can be accomplished by passing a list " @@ -1875,11 +1882,11 @@ msgstr "" "parse_args`. Cette approche est pratique pour faire des tests depuis " "l'invite de commande ::" -#: library/argparse.rst:1578 +#: library/argparse.rst:1579 msgid "The Namespace object" msgstr "L'objet ``Namespace``" -#: library/argparse.rst:1582 +#: library/argparse.rst:1583 msgid "" "Simple class used by default by :meth:`~ArgumentParser.parse_args` to create " "an object holding attributes and return it." @@ -1888,7 +1895,7 @@ msgstr "" "parse_args` pour créer un objet qui stocke les attributs. Cet objet est " "renvoyé par ``ArgumentParser.parse_args``." -#: library/argparse.rst:1585 +#: library/argparse.rst:1586 msgid "" "This class is deliberately simple, just an :class:`object` subclass with a " "readable string representation. If you prefer to have dict-like view of the " @@ -1899,7 +1906,7 @@ msgstr "" "une vue *dict-compatible*, vous devez utiliser :func:`vars` (un idiome " "Python classique) ::" -#: library/argparse.rst:1595 +#: library/argparse.rst:1596 msgid "" "It may also be useful to have an :class:`ArgumentParser` assign attributes " "to an already existing object, rather than a new :class:`Namespace` object. " @@ -1910,15 +1917,15 @@ msgstr "" "création d'un nouvel objet :class:`Namespace`. Ceci peut être réalisé avec " "l'argument nommé ``namespace=`` ::" -#: library/argparse.rst:1611 +#: library/argparse.rst:1612 msgid "Other utilities" msgstr "Autres outils" -#: library/argparse.rst:1614 +#: library/argparse.rst:1615 msgid "Sub-commands" msgstr "Sous commandes" -#: library/argparse.rst:1621 +#: library/argparse.rst:1622 msgid "" "Many programs split up their functionality into a number of sub-commands, " "for example, the ``svn`` program can invoke sub-commands like ``svn " @@ -1946,11 +1953,11 @@ msgstr "" "constructeur d':class:`ArgumentParser` ; elle renvoie un objet :class:" "`ArgumentParser` qui peut être modifié normalement." -#: library/argparse.rst:1633 +#: library/argparse.rst:1634 msgid "Description of parameters:" msgstr "Description des paramètres :" -#: library/argparse.rst:1635 +#: library/argparse.rst:1636 msgid "" "title - title for the sub-parser group in help output; by default " "\"subcommands\" if description is provided, otherwise uses title for " @@ -1960,7 +1967,7 @@ msgstr "" "défaut : ``\"subcommands\"`` si ``description`` est fournie, sinon utilise " "la valeur de ``title`` de la section sur les arguments positionnels ;" -#: library/argparse.rst:1639 +#: library/argparse.rst:1640 msgid "" "description - description for the sub-parser group in help output, by " "default ``None``" @@ -1970,7 +1977,7 @@ msgstr "" # I think the English version is very misleading here. Even for subcommands, # ``prog`` is only a tiny prefix of the auto generater usage string. -#: library/argparse.rst:1642 +#: library/argparse.rst:1643 msgid "" "prog - usage information that will be displayed with sub-command help, by " "default the name of the program and any positional arguments before the " @@ -1980,7 +1987,7 @@ msgstr "" "commandes ; par défaut : le nom du programme et les arguments positionnels " "qui arrivent avant l'argument de ce sous-analyseur ;" -#: library/argparse.rst:1646 +#: library/argparse.rst:1647 msgid "" "parser_class - class which will be used to create sub-parser instances, by " "default the class of the current parser (e.g. ArgumentParser)" @@ -1989,7 +1996,7 @@ msgstr "" "analyseurs ; par défaut : la classe de l'analyseur courant (par exemple " "``ArgumentParser``) ;" -#: library/argparse.rst:1649 +#: library/argparse.rst:1650 msgid "" "action_ - the basic type of action to be taken when this argument is " "encountered at the command line" @@ -1997,7 +2004,7 @@ msgstr "" "action_ – action à entreprendre quand cet argument est reconnu sur la ligne " "de commande ;" -#: library/argparse.rst:1652 +#: library/argparse.rst:1653 msgid "" "dest_ - name of the attribute under which sub-command name will be stored; " "by default ``None`` and no value is stored" @@ -2005,7 +2012,7 @@ msgstr "" "dest_ – nom de l'attribut sous lequel la sous-commande est stockée ; par " "défaut : ``None`` et aucune valeur n'est stockée ;" -#: library/argparse.rst:1655 +#: library/argparse.rst:1656 msgid "" "required_ - Whether or not a subcommand must be provided, by default " "``False`` (added in 3.7)" @@ -2013,13 +2020,13 @@ msgstr "" "required_ – ``True`` si la sous-commande est obligatoire ; par défaut : " "``False`` (ajouté dans 3.7) ;" -#: library/argparse.rst:1658 +#: library/argparse.rst:1659 msgid "help_ - help for sub-parser group in help output, by default ``None``" msgstr "" "help_ – message d'aide pour le groupe du sous-analyseur dans la sortie " "d'aide ; par défaut : ``None`` ;" -#: library/argparse.rst:1660 +#: library/argparse.rst:1661 msgid "" "metavar_ - string presenting available sub-commands in help; by default it " "is ``None`` and presents sub-commands in form {cmd1, cmd2, ..}" @@ -2028,11 +2035,11 @@ msgstr "" "messages d'aide ; par défaut : ``None``, ce qui entraine la génération d'une " "chaîne suivant le format ``'{cmd1, cmd2, …}'``." -#: library/argparse.rst:1663 +#: library/argparse.rst:1664 msgid "Some example usage::" msgstr "Quelques exemples d'utilisation ::" -#: library/argparse.rst:1684 +#: library/argparse.rst:1685 msgid "" "Note that the object returned by :meth:`parse_args` will only contain " "attributes for the main parser and the subparser that was selected by the " @@ -2049,7 +2056,7 @@ msgstr "" "présents ; quand la commande ``b`` est spécifiée, seuls les attributs " "``foo`` et ``baz`` sont présents." -#: library/argparse.rst:1691 +#: library/argparse.rst:1692 msgid "" "Similarly, when a help message is requested from a subparser, only the help " "for that particular parser will be printed. The help message will not " @@ -2064,7 +2071,7 @@ msgstr "" "d'aide pour chacun des sous-analyseurs grâce à l'argument ``help=`` d':meth:" "`add_parser` tel qu'illustré ci-dessus." -#: library/argparse.rst:1727 +#: library/argparse.rst:1728 msgid "" "The :meth:`add_subparsers` method also supports ``title`` and " "``description`` keyword arguments. When either is present, the subparser's " @@ -2075,7 +2082,7 @@ msgstr "" "sous-analyseur sont affichées dans leur propre groupe dans la sortie d'aide. " "Par exemple ::" -#: library/argparse.rst:1748 +#: library/argparse.rst:1749 msgid "" "Furthermore, ``add_parser`` supports an additional ``aliases`` argument, " "which allows multiple strings to refer to the same subparser. This example, " @@ -2086,7 +2093,7 @@ msgstr "" "L'exemple suivant, à la manière de ``svn``, utilise ``co`` comme une " "abréviation de ``checkout`` ::" -#: library/argparse.rst:1759 +#: library/argparse.rst:1760 msgid "" "One particularly effective way of handling sub-commands is to combine the " "use of the :meth:`add_subparsers` method with calls to :meth:`set_defaults` " @@ -2098,7 +2105,7 @@ msgstr "" "`set_defaults` pour que chaque sous-analyseur sache quelle fonction Python " "doit être exécutée. Par exemple ::" -#: library/argparse.rst:1796 +#: library/argparse.rst:1797 msgid "" "This way, you can let :meth:`parse_args` do the job of calling the " "appropriate function after argument parsing is complete. Associating " @@ -2114,15 +2121,15 @@ msgstr "" "avez besoin de consulter le nom de du sous-analyseur qui a été invoqué, vous " "pouvez utiliser l'argument nommé ``dest`` d':meth:`add_subparsers` ::" -#: library/argparse.rst:1812 +#: library/argparse.rst:1813 msgid "New *required* keyword argument." msgstr "Introduction des arguments nommés obligatoires." -#: library/argparse.rst:1817 +#: library/argparse.rst:1818 msgid "FileType objects" msgstr "Objets ``FileType``" -#: library/argparse.rst:1821 +#: library/argparse.rst:1822 msgid "" "The :class:`FileType` factory creates objects that can be passed to the type " "argument of :meth:`ArgumentParser.add_argument`. Arguments that have :class:" @@ -2137,26 +2144,27 @@ msgstr "" "taille du tampon, encodage et gestion des erreurs (voir la fonction :func:" "`open` pour plus de détails) ::" -#: library/argparse.rst:1833 +#: library/argparse.rst:1834 +#, fuzzy msgid "" "FileType objects understand the pseudo-argument ``'-'`` and automatically " -"convert this into ``sys.stdin`` for readable :class:`FileType` objects and " -"``sys.stdout`` for writable :class:`FileType` objects::" +"convert this into :data:`sys.stdin` for readable :class:`FileType` objects " +"and :data:`sys.stdout` for writable :class:`FileType` objects::" msgstr "" "Les objets ``FileType`` reconnaissent le pseudo-argument ``'-'`` et en font " "automatiquement la conversion vers ``sys.stdin`` pour les objets :class:" "`FileType` ouverts en lecture et vers ``sys.stdout`` pour les objets :class:" "`FileType` ouverts en écriture ::" -#: library/argparse.rst:1842 +#: library/argparse.rst:1843 msgid "The *encodings* and *errors* keyword arguments." msgstr "Les arguments nommés ``encodings`` et ``errors``." -#: library/argparse.rst:1847 +#: library/argparse.rst:1848 msgid "Argument groups" msgstr "Groupes d'arguments" -#: library/argparse.rst:1851 +#: library/argparse.rst:1852 msgid "" "By default, :class:`ArgumentParser` groups command-line arguments into " "\"positional arguments\" and \"optional arguments\" when displaying help " @@ -2170,7 +2178,7 @@ msgstr "" "meilleur regroupement conceptuel des arguments, les groupes adéquats peuvent " "être créés avec la méthode :meth:`add_argument_group` ::" -#: library/argparse.rst:1868 +#: library/argparse.rst:1869 msgid "" "The :meth:`add_argument_group` method returns an argument group object which " "has an :meth:`~ArgumentParser.add_argument` method just like a regular :" @@ -2188,7 +2196,7 @@ msgstr "" "d'aide. Afin de personnaliser l'affichage, la méthode :meth:" "`add_argument_group` accepte les arguments ``title`` et ``description`` ::" -#: library/argparse.rst:1894 +#: library/argparse.rst:1895 msgid "" "Note that any arguments not in your user-defined groups will end up back in " "the usual \"positional arguments\" and \"optional arguments\" sections." @@ -2197,11 +2205,11 @@ msgstr "" "affiché dans l'une des sections usuelles *positional arguments* et *optional " "arguments*." -#: library/argparse.rst:1899 +#: library/argparse.rst:1900 msgid "Mutual exclusion" msgstr "Exclusion mutuelle" -#: library/argparse.rst:1903 +#: library/argparse.rst:1904 msgid "" "Create a mutually exclusive group. :mod:`argparse` will make sure that only " "one of the arguments in the mutually exclusive group was present on the " @@ -2211,7 +2219,7 @@ msgstr "" "qu'au plus un des arguments du groupe mutuellement exclusif est présent sur " "la ligne de commande ::" -#: library/argparse.rst:1919 +#: library/argparse.rst:1920 msgid "" "The :meth:`add_mutually_exclusive_group` method also accepts a *required* " "argument, to indicate that at least one of the mutually exclusive arguments " @@ -2221,7 +2229,7 @@ msgstr "" "``required`` pour indiquer qu'au moins un des arguments mutuellement " "exclusifs est nécessaire ::" -#: library/argparse.rst:1931 +#: library/argparse.rst:1932 msgid "" "Note that currently mutually exclusive argument groups do not support the " "*title* and *description* arguments of :meth:`~ArgumentParser." @@ -2231,11 +2239,11 @@ msgstr "" "n'acceptent pas les arguments ``title`` et ``description`` d':meth:" "`~ArgumentParser.add_argument_group`." -#: library/argparse.rst:1937 +#: library/argparse.rst:1938 msgid "Parser defaults" msgstr "Valeurs par défaut de l'analyseur" -#: library/argparse.rst:1941 +#: library/argparse.rst:1942 msgid "" "Most of the time, the attributes of the object returned by :meth:" "`parse_args` will be fully determined by inspecting the command-line " @@ -2249,14 +2257,14 @@ msgstr "" "`set_defaults` permet l'ajout d'attributs additionnels qui sont définis sans " "nécessiter l'inspection de la ligne de commande ::" -#: library/argparse.rst:1953 +#: library/argparse.rst:1954 msgid "" "Note that parser-level defaults always override argument-level defaults::" msgstr "" "Prenez note que les valeurs par défaut au niveau de l'analyseur ont " "précédence sur les valeurs par défaut au niveau de l'argument ::" -#: library/argparse.rst:1961 +#: library/argparse.rst:1962 msgid "" "Parser-level defaults can be particularly useful when working with multiple " "parsers. See the :meth:`~ArgumentParser.add_subparsers` method for an " @@ -2266,7 +2274,7 @@ msgstr "" "quand on travaille avec plusieurs analyseurs. Voir la méthode :meth:" "`~ArgumentParser.add_subparsers` pour un exemple de cette utilisation." -#: library/argparse.rst:1967 +#: library/argparse.rst:1968 msgid "" "Get the default value for a namespace attribute, as set by either :meth:" "`~ArgumentParser.add_argument` or by :meth:`~ArgumentParser.set_defaults`::" @@ -2275,11 +2283,11 @@ msgstr "" "qu'il a été défini soit par :meth:`~ArgumentParser.add_argument` ou par :" "meth:`~ArgumentParser.set_defaults` ::" -#: library/argparse.rst:1978 +#: library/argparse.rst:1979 msgid "Printing help" msgstr "Afficher l'aide" -#: library/argparse.rst:1980 +#: library/argparse.rst:1981 msgid "" "In most typical applications, :meth:`~ArgumentParser.parse_args` will take " "care of formatting and printing any usage or error messages. However, " @@ -2289,7 +2297,7 @@ msgstr "" "charge du formatage et de l'affichage des messages d'erreur et " "d'utilisation. Plusieurs méthodes de formatage sont toutefois disponibles :" -#: library/argparse.rst:1986 +#: library/argparse.rst:1987 msgid "" "Print a brief description of how the :class:`ArgumentParser` should be " "invoked on the command line. If *file* is ``None``, :data:`sys.stdout` is " @@ -2299,7 +2307,7 @@ msgstr "" "`ArgumentParser` depuis la ligne de commande. Si ``file`` est ``None``, " "utilise :data:`sys.stdout`." -#: library/argparse.rst:1992 +#: library/argparse.rst:1993 msgid "" "Print a help message, including the program usage and information about the " "arguments registered with the :class:`ArgumentParser`. If *file* is " @@ -2309,7 +2317,7 @@ msgstr "" "l'information sur les arguments répertoriés dans l':class:`ArgumentParser`. " "Si ``file`` est ``None``, utilise :data:`sys.stdout`." -#: library/argparse.rst:1996 +#: library/argparse.rst:1997 msgid "" "There are also variants of these methods that simply return a string instead " "of printing it:" @@ -2317,7 +2325,7 @@ msgstr "" "Des variantes de ces méthodes sont fournies pour renvoyer la chaîne plutôt " "que de l'afficher :" -#: library/argparse.rst:2001 +#: library/argparse.rst:2002 msgid "" "Return a string containing a brief description of how the :class:" "`ArgumentParser` should be invoked on the command line." @@ -2325,7 +2333,7 @@ msgstr "" "Renvoie une chaîne contenant une brève description sur la façon d'invoquer " "l':class:`ArgumentParser` depuis la ligne de commande." -#: library/argparse.rst:2006 +#: library/argparse.rst:2007 msgid "" "Return a string containing a help message, including the program usage and " "information about the arguments registered with the :class:`ArgumentParser`." @@ -2334,11 +2342,11 @@ msgstr "" "informations sur l'utilisation du programme et sur les arguments définis " "dans l':class:`ArgumentParser`." -#: library/argparse.rst:2011 +#: library/argparse.rst:2012 msgid "Partial parsing" msgstr "Analyse partielle" -#: library/argparse.rst:2015 +#: library/argparse.rst:2016 msgid "" "Sometimes a script may only parse a few of the command-line arguments, " "passing the remaining arguments on to another script or program. In these " @@ -2356,7 +2364,7 @@ msgstr "" "sont présents. Au lieu, elle renvoie une paire de valeurs : l'objet " "``Namespace`` rempli et la liste des arguments non-traités." -#: library/argparse.rst:2031 +#: library/argparse.rst:2032 msgid "" ":ref:`Prefix matching ` rules apply to :meth:" "`parse_known_args`. The parser may consume an option even if it's just a " @@ -2368,11 +2376,11 @@ msgstr "" "option même si elle n'est que le préfixe d'une option reconnue plutôt que de " "la laisser dans la liste des arguments non-traités." -#: library/argparse.rst:2038 +#: library/argparse.rst:2039 msgid "Customizing file parsing" msgstr "Personnaliser le *parsing* de fichiers" -#: library/argparse.rst:2042 +#: library/argparse.rst:2043 msgid "" "Arguments that are read from a file (see the *fromfile_prefix_chars* keyword " "argument to the :class:`ArgumentParser` constructor) are read one argument " @@ -2384,7 +2392,7 @@ msgstr "" "un traitement plus élaboré. Voir aussi l'argument nommé " "``fromfile_prefix_chars`` du constructeur d':class:`ArgumentParser`." -#: library/argparse.rst:2047 +#: library/argparse.rst:2048 msgid "" "This method takes a single argument *arg_line* which is a string read from " "the argument file. It returns a list of arguments parsed from this string. " @@ -2396,7 +2404,7 @@ msgstr "" "appelée une fois pour chaque ligne lue du fichier d'arguments. L'ordre est " "préservé." -#: library/argparse.rst:2051 +#: library/argparse.rst:2052 msgid "" "A useful override of this method is one that treats each space-separated " "word as an argument. The following example demonstrates how to do this::" @@ -2405,11 +2413,11 @@ msgstr "" "par des espaces d'être traité comme un argument. L'exemple suivant illustre " "comment réaliser ceci ::" -#: library/argparse.rst:2060 +#: library/argparse.rst:2061 msgid "Exiting methods" msgstr "Méthodes d'interruptions" -#: library/argparse.rst:2064 +#: library/argparse.rst:2065 msgid "" "This method terminates the program, exiting with the specified *status* and, " "if given, it prints a *message* before that. The user can override this " @@ -2420,7 +2428,7 @@ msgstr "" "est affichée avant la fin de l'exécution. Vous pouvez surcharger cette " "méthode pour traiter ces étapes différemment ::" -#: library/argparse.rst:2076 +#: library/argparse.rst:2077 msgid "" "This method prints a usage message including the *message* to the standard " "error and terminates the program with a status code of 2." @@ -2429,11 +2437,11 @@ msgstr "" "``message`` sur la sortie d'erreur standard puis termine l'exécution avec le " "code de fin d'exécution 2." -#: library/argparse.rst:2081 +#: library/argparse.rst:2082 msgid "Intermixed parsing" msgstr "Analyse entremêlée" -#: library/argparse.rst:2086 +#: library/argparse.rst:2087 msgid "" "A number of Unix commands allow the user to intermix optional arguments with " "positional arguments. The :meth:`~ArgumentParser.parse_intermixed_args` " @@ -2445,7 +2453,7 @@ msgstr "" "`~ArgumentParser.parse_intermixed_args` et :meth:`~ArgumentParser." "parse_known_intermixed_args` permettent ce style d'analyse." -#: library/argparse.rst:2091 +#: library/argparse.rst:2092 msgid "" "These parsers do not support all the argparse features, and will raise " "exceptions if unsupported features are used. In particular, subparsers, " @@ -2458,7 +2466,7 @@ msgstr "" "groupes mutuellement exclusifs qui contiennent à la fois des arguments " "optionnels et des arguments positionnels ne sont pas pris en charge." -#: library/argparse.rst:2096 +#: library/argparse.rst:2097 msgid "" "The following example shows the difference between :meth:`~ArgumentParser." "parse_known_args` and :meth:`~ArgumentParser.parse_intermixed_args`: the " @@ -2470,7 +2478,7 @@ msgstr "" "premier renvoie ``['2', '3']`` comme arguments non-traités alors que le " "second capture tous les arguments positionnels dans ``rest`` ::" -#: library/argparse.rst:2111 +#: library/argparse.rst:2112 msgid "" ":meth:`~ArgumentParser.parse_known_intermixed_args` returns a two item tuple " "containing the populated namespace and the list of remaining argument " @@ -2482,14 +2490,14 @@ msgstr "" "non-traités. :meth:`~ArgumentParser.parse_intermixed_args` lève une erreur " "s'il reste des chaînes d'arguments non-traités." -#: library/argparse.rst:2121 +#: library/argparse.rst:2122 msgid "Upgrading optparse code" msgstr "Mettre à jour du code ``optparse``" # Surchargé n'est pas une traduction exact de monkey-patch, mais c'est # probablement permission içi puisqu'on parle du context historique général # plutôt que de détails d'implantation. -#: library/argparse.rst:2123 +#: library/argparse.rst:2124 msgid "" "Originally, the :mod:`argparse` module had attempted to maintain " "compatibility with :mod:`optparse`. However, :mod:`optparse` was difficult " @@ -2506,7 +2514,7 @@ msgstr "" "d'utilisation améliorés. Après avoir porté ou surchargé tout le code d':mod:" "`optparse`, la rétro-compatibilité pouvait difficilement être conservée." -#: library/argparse.rst:2130 +#: library/argparse.rst:2131 msgid "" "The :mod:`argparse` module improves on the standard library :mod:`optparse` " "module in a number of ways including:" @@ -2514,38 +2522,38 @@ msgstr "" "Le module :mod:`argparse` fournit plusieurs améliorations par rapport au " "module :mod:`optparse` de la bibliothèque standard :" -#: library/argparse.rst:2133 +#: library/argparse.rst:2134 msgid "Handling positional arguments." msgstr "Gère les arguments positionnels ;" -#: library/argparse.rst:2134 +#: library/argparse.rst:2135 msgid "Supporting sub-commands." msgstr "Prise en charge des sous commandes ;" -#: library/argparse.rst:2135 +#: library/argparse.rst:2136 msgid "Allowing alternative option prefixes like ``+`` and ``/``." msgstr "" "Permet d'utiliser les alternatives ``+`` ou ``/`` comme préfixes d'option ;" -#: library/argparse.rst:2136 +#: library/argparse.rst:2137 msgid "Handling zero-or-more and one-or-more style arguments." msgstr "Prend en charge la répétition de valeurs (zéro ou plus, un ou plus) ;" -#: library/argparse.rst:2137 +#: library/argparse.rst:2138 msgid "Producing more informative usage messages." msgstr "Fournit des messages d'aide plus complets ;" -#: library/argparse.rst:2138 +#: library/argparse.rst:2139 msgid "Providing a much simpler interface for custom ``type`` and ``action``." msgstr "" "Fournit une interface plus simple pour les types et les actions " "personnalisés." -#: library/argparse.rst:2140 +#: library/argparse.rst:2141 msgid "A partial upgrade path from :mod:`optparse` to :mod:`argparse`:" msgstr "Le portage partiel d':mod:`optparse` à :mod:`argparse` :" -#: library/argparse.rst:2142 +#: library/argparse.rst:2143 msgid "" "Replace all :meth:`optparse.OptionParser.add_option` calls with :meth:" "`ArgumentParser.add_argument` calls." @@ -2553,7 +2561,7 @@ msgstr "" "Remplacer tous les appels à :meth:`optparse.OptionParser.add_option` par des " "appels à :meth:`ArgumentParser.add_argument` ;" -#: library/argparse.rst:2145 +#: library/argparse.rst:2146 msgid "" "Replace ``(options, args) = parser.parse_args()`` with ``args = parser." "parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls " @@ -2566,7 +2574,7 @@ msgstr "" "appelées ``options`` sont appelées ``args`` dans le contexte d':mod:" "`argparse` ;" -#: library/argparse.rst:2150 +#: library/argparse.rst:2151 msgid "" "Replace :meth:`optparse.OptionParser.disable_interspersed_args` by using :" "meth:`~ArgumentParser.parse_intermixed_args` instead of :meth:" @@ -2576,7 +2584,7 @@ msgstr "" "appelant :meth:`~ArgumentParser.parse_intermixed_args` plutôt que :meth:" "`~ArgumentParser.parse_args` ;" -#: library/argparse.rst:2154 +#: library/argparse.rst:2155 msgid "" "Replace callback actions and the ``callback_*`` keyword arguments with " "``type`` or ``action`` arguments." @@ -2584,7 +2592,7 @@ msgstr "" "Remplacer les actions de rappel (*callback actions* en anglais) et les " "arguments nommés ``callback_*`` par des arguments ``type`` et ``actions`` ;" -#: library/argparse.rst:2157 +#: library/argparse.rst:2158 msgid "" "Replace string names for ``type`` keyword arguments with the corresponding " "type objects (e.g. int, float, complex, etc)." @@ -2593,7 +2601,7 @@ msgstr "" "``type`` par les objets types correspondants (par exemple : ``int``, " "``float``, ``complex``, etc) ;" -#: library/argparse.rst:2160 +#: library/argparse.rst:2161 msgid "" "Replace :class:`optparse.Values` with :class:`Namespace` and :exc:`optparse." "OptionError` and :exc:`optparse.OptionValueError` with :exc:`ArgumentError`." @@ -2602,7 +2610,7 @@ msgstr "" "`optparse.OptionError` et :exc:`optparse.OptionValueError` par :exc:" "`ArgumentError` ;" -#: library/argparse.rst:2164 +#: library/argparse.rst:2165 msgid "" "Replace strings with implicit arguments such as ``%default`` or ``%prog`` " "with the standard Python syntax to use dictionaries to format strings, that " @@ -2613,7 +2621,7 @@ msgstr "" "l'interpolation d'un dictionnaire dans les chaînes de formatage (c'est-à-" "dire ``%(default)s`` et ``%(prog)s``) ;" -#: library/argparse.rst:2168 +#: library/argparse.rst:2169 msgid "" "Replace the OptionParser constructor ``version`` argument with a call to " "``parser.add_argument('--version', action='version', version='\n" "Language-Team: FRENCH \n" @@ -205,20 +205,30 @@ msgid "" msgstr "" #: library/array.rst:61 +#, fuzzy msgid "" "The actual representation of values is determined by the machine " "architecture (strictly speaking, by the C implementation). The actual size " -"can be accessed through the :attr:`itemsize` attribute." +"can be accessed through the :attr:`array.itemsize` attribute." msgstr "" "La représentation réelle des valeurs est déterminée par l'architecture de la " "machine (à proprement parler, par l'implémentation C). La taille réelle est " "accessible via l'attribut :attr:`itemsize`." #: library/array.rst:65 -msgid "The module defines the following type:" +#, fuzzy +msgid "The module defines the following item:" msgstr "Le module définit le type suivant :" #: library/array.rst:70 +msgid "A string with all available type codes." +msgstr "Une chaîne avec tous les codes de types disponibles." + +#: library/array.rst:73 +msgid "The module defines the following type:" +msgstr "Le module définit le type suivant :" + +#: library/array.rst:78 msgid "" "A new array whose items are restricted by *typecode*, and initialized from " "the optional *initializer* value, which must be a list, a :term:`bytes-like " @@ -229,7 +239,7 @@ msgstr "" "liste, un :term:`bytes-like object`, ou un itérable sur des éléments du type " "approprié." -#: library/array.rst:75 +#: library/array.rst:83 msgid "" "If given a list or string, the initializer is passed to the new array's :" "meth:`fromlist`, :meth:`frombytes`, or :meth:`fromunicode` method (see " @@ -242,19 +252,7 @@ msgstr "" "initiaux du tableau. Si c'est un itérable, il est passé à la méthode :meth:" "`extend`." -#: library/array.rst:80 -msgid "" -"Raises an :ref:`auditing event ` ``array.__new__`` with arguments " -"``typecode``, ``initializer``." -msgstr "" -"Lève un :ref:`événement d'audit ` ``array.__new__`` avec les " -"arguments ``typecode``, ``initializer``." - -#: library/array.rst:84 -msgid "A string with all available type codes." -msgstr "Une chaîne avec tous les codes de types disponibles." - -#: library/array.rst:86 +#: library/array.rst:88 msgid "" "Array objects support the ordinary sequence operations of indexing, slicing, " "concatenation, and multiplication. When using slice assignment, the " @@ -270,34 +268,38 @@ msgstr "" "tableau implémentent également l'interface tampon, et peuvent être utilisés " "partout où :term:`bytes-like objects ` sont supportés." -#: library/array.rst:92 -msgid "The following data items and methods are also supported:" +#: library/array.rst:94 +msgid "" +"Raises an :ref:`auditing event ` ``array.__new__`` with arguments " +"``typecode``, ``initializer``." msgstr "" -"Les éléments de données et méthodes suivants sont également supportés :" +"Lève un :ref:`événement d'audit ` ``array.__new__`` avec les " +"arguments ``typecode``, ``initializer``." -#: library/array.rst:96 +#: library/array.rst:99 msgid "The typecode character used to create the array." msgstr "" "Le code (de type Python caractère) utilisé pour spécifier le type des " "éléments du tableau." -#: library/array.rst:101 +#: library/array.rst:104 msgid "The length in bytes of one array item in the internal representation." msgstr "" "La longueur en octets d'un élément du tableau dans la représentation interne." -#: library/array.rst:106 +#: library/array.rst:109 msgid "Append a new item with value *x* to the end of the array." msgstr "Ajoute un nouvel élément avec la valeur *x* à la fin du tableau." -#: library/array.rst:111 +#: library/array.rst:114 +#, fuzzy msgid "" "Return a tuple ``(address, length)`` giving the current memory address and " "the length in elements of the buffer used to hold array's contents. The " "size of the memory buffer in bytes can be computed as ``array.buffer_info()" "[1] * array.itemsize``. This is occasionally useful when working with low-" "level (and inherently unsafe) I/O interfaces that require memory addresses, " -"such as certain :c:func:`ioctl` operations. The returned numbers are valid " +"such as certain :c:func:`!ioctl` operations. The returned numbers are valid " "as long as the array exists and no length-changing operations are applied to " "it." msgstr "" @@ -311,7 +313,7 @@ msgstr "" "tant que le tableau existe et qu'aucune opération qui modifie sa taille ne " "lui est appliquée." -#: library/array.rst:121 +#: library/array.rst:124 msgid "" "When using array objects from code written in C or C++ (the only way to " "effectively make use of this information), it makes more sense to use the " @@ -326,7 +328,7 @@ msgstr "" "devrait être évitée dans un nouveau code. L'interface tampon est documentée " "dans :ref:`bufferobjects`." -#: library/array.rst:130 +#: library/array.rst:133 msgid "" "\"Byteswap\" all items of the array. This is only supported for values " "which are 1, 2, 4, or 8 bytes in size; for other types of values, :exc:" @@ -338,11 +340,11 @@ msgstr "" "`RuntimeError` est levée. Il est utile lors de la lecture de données à " "partir d'un fichier écrit sur une machine avec un ordre d'octets différent." -#: library/array.rst:138 +#: library/array.rst:141 msgid "Return the number of occurrences of *x* in the array." msgstr "Renvoi le nombre d'occurrences de *x* dans le tableau." -#: library/array.rst:143 +#: library/array.rst:146 msgid "" "Append items from *iterable* to the end of the array. If *iterable* is " "another array, it must have *exactly* the same type code; if not, :exc:" @@ -355,7 +357,7 @@ msgstr "" "il doit être itérable et ces éléments doivent être du bon type pour être " "ajoutés dans le tableau." -#: library/array.rst:151 +#: library/array.rst:154 msgid "" "Appends items from the string, interpreting the string as an array of " "machine values (as if it had been read from a file using the :meth:" @@ -365,12 +367,13 @@ msgstr "" "valeurs machine (comme si elle avait été lue depuis le fichier en utilisant " "la méthode :meth:`from file`)." -#: library/array.rst:154 -msgid ":meth:`fromstring` is renamed to :meth:`frombytes` for clarity." +#: library/array.rst:157 +#, fuzzy +msgid ":meth:`!fromstring` is renamed to :meth:`frombytes` for clarity." msgstr "" ":meth:`fromstring` est renommée en :meth:`frombytes` pour plus de lisibilité." -#: library/array.rst:160 +#: library/array.rst:163 #, fuzzy msgid "" "Read *n* items (as machine values) from the :term:`file object` *f* and " @@ -384,7 +387,7 @@ msgstr "" "tout de même insérés dans le tableau. *f* doit être un objet fichier natif ; " "quelque chose d'autre avec une méthode :meth:`read` ne suffit pas." -#: library/array.rst:168 +#: library/array.rst:171 msgid "" "Append items from the list. This is equivalent to ``for x in list: a." "append(x)`` except that if there is a type error, the array is unchanged." @@ -392,7 +395,7 @@ msgstr "" "Ajoute les éléments de la liste. C'est l'équivalent de ``for x in list: a." "append(x)`` sauf que s'il y a une erreur de type, le tableau est inchangé." -#: library/array.rst:174 +#: library/array.rst:177 msgid "" "Extends this array with data from the given unicode string. The array must " "be a type ``'u'`` array; otherwise a :exc:`ValueError` is raised. Use " @@ -404,7 +407,7 @@ msgstr "" "``array.frombytes(unicodestring.encode(enc))`` pour ajouter des données " "Unicode à un tableau d'un autre type." -#: library/array.rst:182 +#: library/array.rst:185 msgid "" "Return the smallest *i* such that *i* is the index of the first occurrence " "of *x* in the array. The optional arguments *start* and *stop* can be " @@ -412,11 +415,11 @@ msgid "" "`ValueError` if *x* is not found." msgstr "" -#: library/array.rst:187 +#: library/array.rst:190 msgid "Added optional *start* and *stop* parameters." msgstr "" -#: library/array.rst:192 +#: library/array.rst:196 msgid "" "Insert a new item with value *x* in the array before position *i*. Negative " "values are treated as being relative to the end of the array." @@ -425,7 +428,7 @@ msgstr "" "position *i*. Les valeurs négatives sont traitées relativement à la fin du " "tableau." -#: library/array.rst:198 +#: library/array.rst:202 msgid "" "Removes the item with the index *i* from the array and returns it. The " "optional argument defaults to ``-1``, so that by default the last item is " @@ -435,15 +438,15 @@ msgstr "" "optionnel par défaut est à ``-1``, de sorte que par défaut le dernier " "élément est supprimé et renvoyé." -#: library/array.rst:205 +#: library/array.rst:209 msgid "Remove the first occurrence of *x* from the array." msgstr "Supprime la première occurrence de *x* du tableau." -#: library/array.rst:210 +#: library/array.rst:214 msgid "Reverse the order of the items in the array." msgstr "Inverse l'ordre des éléments du tableau." -#: library/array.rst:215 +#: library/array.rst:219 msgid "" "Convert the array to an array of machine values and return the bytes " "representation (the same sequence of bytes that would be written to a file " @@ -453,22 +456,23 @@ msgstr "" "représentation en octets (la même séquence d'octets qui serait écrite par la " "méthode :meth:`tofile`)." -#: library/array.rst:219 -msgid ":meth:`tostring` is renamed to :meth:`tobytes` for clarity." +#: library/array.rst:223 +#, fuzzy +msgid ":meth:`!tostring` is renamed to :meth:`tobytes` for clarity." msgstr "" ":meth:`tostring` est renommé en :meth:`tobytes` pour plus de lisibilité." -#: library/array.rst:225 +#: library/array.rst:229 msgid "Write all items (as machine values) to the :term:`file object` *f*." msgstr "" "Écrit tous les éléments (en tant que valeurs machine) du :term:`file object` " "*f*." -#: library/array.rst:230 +#: library/array.rst:234 msgid "Convert the array to an ordinary list with the same items." msgstr "Convertit le tableau en une liste ordinaire avec les mêmes éléments." -#: library/array.rst:235 +#: library/array.rst:239 msgid "" "Convert the array to a unicode string. The array must be a type ``'u'`` " "array; otherwise a :exc:`ValueError` is raised. Use ``array.tobytes()." @@ -479,7 +483,7 @@ msgstr "" "tobytes().decode(enc)`` pour obtenir une chaîne Unicode depuis un tableau de " "tout autre type." -#: library/array.rst:240 +#: library/array.rst:244 msgid "" "When an array object is printed or converted to a string, it is represented " "as ``array(typecode, initializer)``. The *initializer* is omitted if the " @@ -497,19 +501,19 @@ msgstr "" "func:`eval`, tant que la classe :class:`~array.array` a été importée en " "utilisant ``from array import array``. Exemples ::" -#: library/array.rst:257 +#: library/array.rst:261 msgid "Module :mod:`struct`" msgstr "Module :mod:`struct`" -#: library/array.rst:257 +#: library/array.rst:261 msgid "Packing and unpacking of heterogeneous binary data." msgstr "Empaquetage et dépaquetage de données binaires hétérogènes." -#: library/array.rst:261 +#: library/array.rst:265 msgid "Module :mod:`xdrlib`" msgstr "Module :mod:`xdrlib`" -#: library/array.rst:260 +#: library/array.rst:264 msgid "" "Packing and unpacking of External Data Representation (XDR) data as used in " "some remote procedure call systems." @@ -518,14 +522,18 @@ msgstr "" "telles qu'elles sont utilisées dans certains systèmes d'appels de procédures " "à distance (ou RPC pour *remote procedure call* en anglais)." -#: library/array.rst:263 +#: library/array.rst:267 msgid "`NumPy `_" msgstr "" -#: library/array.rst:264 +#: library/array.rst:268 msgid "The NumPy package defines another array type." msgstr "" +#~ msgid "The following data items and methods are also supported:" +#~ msgstr "" +#~ "Les éléments de données et méthodes suivants sont également supportés :" + #~ msgid "" #~ "Return the smallest *i* such that *i* is the index of the first " #~ "occurrence of *x* in the array." diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 7978ffb7b8..4d1b6dd917 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-06-10 15:50+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -60,128 +60,142 @@ msgid "Return the running event loop in the current OS thread." msgstr "" #: library/asyncio-eventloop.rst:36 -msgid "" -"If there is no running event loop a :exc:`RuntimeError` is raised. This " -"function can only be called from a coroutine or a callback." +msgid "Raise a :exc:`RuntimeError` if there is no running event loop." +msgstr "" + +#: library/asyncio-eventloop.rst:38 +msgid "This function can only be called from a coroutine or a callback." msgstr "" -#: library/asyncio-eventloop.rst:43 +#: library/asyncio-eventloop.rst:44 #, fuzzy msgid "Get the current event loop." msgstr "Arrête l'exécution de la boucle d'évènements." -#: library/asyncio-eventloop.rst:45 +#: library/asyncio-eventloop.rst:46 msgid "" -"If there is no current event loop set in the current OS thread, the OS " -"thread is main, and :func:`set_event_loop` has not yet been called, asyncio " -"will create a new event loop and set it as the current one." +"When called from a coroutine or a callback (e.g. scheduled with call_soon or " +"similar API), this function will always return the running event loop." msgstr "" #: library/asyncio-eventloop.rst:50 msgid "" +"If there is no running event loop set, the function will return the result " +"of the ``get_event_loop_policy().get_event_loop()`` call." +msgstr "" + +#: library/asyncio-eventloop.rst:53 +msgid "" "Because this function has rather complex behavior (especially when custom " "event loop policies are in use), using the :func:`get_running_loop` function " "is preferred to :func:`get_event_loop` in coroutines and callbacks." msgstr "" -#: library/asyncio-eventloop.rst:55 +#: library/asyncio-eventloop.rst:58 msgid "" -"Consider also using the :func:`asyncio.run` function instead of using lower " -"level functions to manually create and close an event loop." +"As noted above, consider using the higher-level :func:`asyncio.run` " +"function, instead of using these lower level functions to manually create " +"and close an event loop." msgstr "" -#: library/asyncio-eventloop.rst:58 +#: library/asyncio-eventloop.rst:63 msgid "" -"Deprecation warning is emitted if there is no running event loop. In future " -"Python releases, this function will be an alias of :func:`get_running_loop`." +"In Python versions 3.10.0--3.10.8 and 3.11.0 this function (and other " +"functions which use it implicitly) emitted a :exc:`DeprecationWarning` if " +"there was no running event loop, even if the current loop was set on the " +"policy. In Python versions 3.10.9, 3.11.1 and 3.12 they emit a :exc:" +"`DeprecationWarning` if there is no running event loop and no current loop " +"is set. In some future Python release this will become an error." msgstr "" -#: library/asyncio-eventloop.rst:65 -msgid "Set *loop* as a current event loop for the current OS thread." +#: library/asyncio-eventloop.rst:74 +#, fuzzy +msgid "Set *loop* as the current event loop for the current OS thread." msgstr "" +"Appelle le gestionnaire d'exception de la boucle d'évènements actuelle." -#: library/asyncio-eventloop.rst:69 +#: library/asyncio-eventloop.rst:78 msgid "Create and return a new event loop object." msgstr "Crée et renvoie un nouvel objet de boucle d'événements." -#: library/asyncio-eventloop.rst:71 +#: library/asyncio-eventloop.rst:80 msgid "" "Note that the behaviour of :func:`get_event_loop`, :func:`set_event_loop`, " "and :func:`new_event_loop` functions can be altered by :ref:`setting a " "custom event loop policy `." msgstr "" -#: library/asyncio-eventloop.rst:77 +#: library/asyncio-eventloop.rst:86 msgid "Contents" msgstr "Sommaire" -#: library/asyncio-eventloop.rst:78 +#: library/asyncio-eventloop.rst:87 msgid "This documentation page contains the following sections:" msgstr "" -#: library/asyncio-eventloop.rst:80 +#: library/asyncio-eventloop.rst:89 msgid "" "The `Event Loop Methods`_ section is the reference documentation of the " "event loop APIs;" msgstr "" -#: library/asyncio-eventloop.rst:83 +#: library/asyncio-eventloop.rst:92 msgid "" "The `Callback Handles`_ section documents the :class:`Handle` and :class:" "`TimerHandle` instances which are returned from scheduling methods such as :" "meth:`loop.call_soon` and :meth:`loop.call_later`;" msgstr "" -#: library/asyncio-eventloop.rst:87 +#: library/asyncio-eventloop.rst:96 msgid "" "The `Server Objects`_ section documents types returned from event loop " "methods like :meth:`loop.create_server`;" msgstr "" -#: library/asyncio-eventloop.rst:90 +#: library/asyncio-eventloop.rst:99 msgid "" "The `Event Loop Implementations`_ section documents the :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" msgstr "" -#: library/asyncio-eventloop.rst:93 +#: library/asyncio-eventloop.rst:102 msgid "" "The `Examples`_ section showcases how to work with some event loop APIs." msgstr "" -#: library/asyncio-eventloop.rst:100 +#: library/asyncio-eventloop.rst:109 msgid "Event Loop Methods" msgstr "Méthodes de la boucle d'évènements" -#: library/asyncio-eventloop.rst:102 +#: library/asyncio-eventloop.rst:111 msgid "Event loops have **low-level** APIs for the following:" msgstr "" -#: library/asyncio-eventloop.rst:110 +#: library/asyncio-eventloop.rst:119 msgid "Running and stopping the loop" msgstr "Démarrer et arrêter une boucle d'évènements" -#: library/asyncio-eventloop.rst:114 +#: library/asyncio-eventloop.rst:123 msgid "Run until the *future* (an instance of :class:`Future`) has completed." msgstr "" "Lance la boucle jusqu'à ce que *future* (une instance de :class:`Future`) " "soit terminée." -#: library/asyncio-eventloop.rst:117 +#: library/asyncio-eventloop.rst:126 msgid "" "If the argument is a :ref:`coroutine object ` it is implicitly " "scheduled to run as a :class:`asyncio.Task`." msgstr "" -#: library/asyncio-eventloop.rst:120 +#: library/asyncio-eventloop.rst:129 msgid "Return the Future's result or raise its exception." msgstr "" -#: library/asyncio-eventloop.rst:124 +#: library/asyncio-eventloop.rst:133 msgid "Run the event loop until :meth:`stop` is called." msgstr "" -#: library/asyncio-eventloop.rst:126 +#: library/asyncio-eventloop.rst:135 msgid "" "If :meth:`stop` is called before :meth:`run_forever()` is called, the loop " "will poll the I/O selector once with a timeout of zero, run all callbacks " @@ -189,7 +203,7 @@ msgid "" "and then exit." msgstr "" -#: library/asyncio-eventloop.rst:131 +#: library/asyncio-eventloop.rst:140 msgid "" "If :meth:`stop` is called while :meth:`run_forever` is running, the loop " "will run the current batch of callbacks and then exit. Note that new " @@ -198,41 +212,41 @@ msgid "" "called." msgstr "" -#: library/asyncio-eventloop.rst:139 +#: library/asyncio-eventloop.rst:148 msgid "Stop the event loop." msgstr "Arrête l'exécution de la boucle d'évènements." -#: library/asyncio-eventloop.rst:143 +#: library/asyncio-eventloop.rst:152 msgid "Return ``True`` if the event loop is currently running." msgstr "Renvoie ``True`` si la boucle d'évènements est démarrée." -#: library/asyncio-eventloop.rst:147 +#: library/asyncio-eventloop.rst:156 msgid "Return ``True`` if the event loop was closed." msgstr "Renvoie ``True`` si la boucle d'évènements est arrêtée." -#: library/asyncio-eventloop.rst:151 +#: library/asyncio-eventloop.rst:160 msgid "Close the event loop." msgstr "Arrête la boucle d'évènements." -#: library/asyncio-eventloop.rst:153 +#: library/asyncio-eventloop.rst:162 msgid "" "The loop must not be running when this function is called. Any pending " "callbacks will be discarded." msgstr "" -#: library/asyncio-eventloop.rst:156 +#: library/asyncio-eventloop.rst:165 msgid "" "This method clears all queues and shuts down the executor, but does not wait " "for the executor to finish." msgstr "" -#: library/asyncio-eventloop.rst:159 +#: library/asyncio-eventloop.rst:168 msgid "" "This method is idempotent and irreversible. No other methods should be " "called after the event loop is closed." msgstr "" -#: library/asyncio-eventloop.rst:164 +#: library/asyncio-eventloop.rst:173 msgid "" "Schedule all currently open :term:`asynchronous generator` objects to close " "with an :meth:`~agen.aclose()` call. After calling this method, the event " @@ -240,74 +254,82 @@ msgid "" "should be used to reliably finalize all scheduled asynchronous generators." msgstr "" -#: library/asyncio-eventloop.rst:170 library/asyncio-eventloop.rst:190 +#: library/asyncio-eventloop.rst:179 msgid "" "Note that there is no need to call this function when :func:`asyncio.run` is " "used." msgstr "" -#: library/asyncio-eventloop.rst:173 library/asyncio-eventloop.rst:1104 -#: library/asyncio-eventloop.rst:1496 +#: library/asyncio-eventloop.rst:182 library/asyncio-eventloop.rst:1124 +#: library/asyncio-eventloop.rst:1516 msgid "Example::" msgstr "Exemple ::" -#: library/asyncio-eventloop.rst:185 +#: library/asyncio-eventloop.rst:194 msgid "" "Schedule the closure of the default executor and wait for it to join all of " -"the threads in the :class:`ThreadPoolExecutor`. After calling this method, " -"a :exc:`RuntimeError` will be raised if :meth:`loop.run_in_executor` is " -"called while using the default executor." +"the threads in the :class:`~concurrent.futures.ThreadPoolExecutor`. Once " +"this method has been called, using the default executor with :meth:`loop." +"run_in_executor` will raise a :exc:`RuntimeError`." +msgstr "" + +#: library/asyncio-eventloop.rst:202 +msgid "" +"Do not call this method when using :func:`asyncio.run`, as the latter " +"handles default executor shutdown automatically." msgstr "" -#: library/asyncio-eventloop.rst:197 +#: library/asyncio-eventloop.rst:209 msgid "Scheduling callbacks" msgstr "" -#: library/asyncio-eventloop.rst:201 +#: library/asyncio-eventloop.rst:213 msgid "" "Schedule the *callback* :term:`callback` to be called with *args* arguments " "at the next iteration of the event loop." msgstr "" -#: library/asyncio-eventloop.rst:204 +#: library/asyncio-eventloop.rst:216 +msgid "" +"Return an instance of :class:`asyncio.Handle`, which can be used later to " +"cancel the callback." +msgstr "" + +#: library/asyncio-eventloop.rst:219 msgid "" "Callbacks are called in the order in which they are registered. Each " "callback will be called exactly once." msgstr "" -#: library/asyncio-eventloop.rst:207 library/asyncio-eventloop.rst:274 +#: library/asyncio-eventloop.rst:222 +#, fuzzy msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *callback* to run in. The current " -"context is used when no *context* is provided." +"The optional keyword-only *context* argument specifies a custom :class:" +"`contextvars.Context` for the *callback* to run in. Callbacks use the " +"current context when no *context* is provided." msgstr "" "L'argument nommé optionnel *context* permet de spécifier une classe :class:" "`contextvars.Context` personnalisée dans laquelle la fonction de rappel " "s’exécutera. Le contexte actuel est utilisé si *context* n'est pas fourni." -#: library/asyncio-eventloop.rst:211 -msgid "" -"An instance of :class:`asyncio.Handle` is returned, which can be used later " -"to cancel the callback." +#: library/asyncio-eventloop.rst:226 +msgid "Unlike :meth:`call_soon_threadsafe`, this method is not thread-safe." msgstr "" -#: library/asyncio-eventloop.rst:214 -msgid "This method is not thread-safe." -msgstr "" - -#: library/asyncio-eventloop.rst:218 +#: library/asyncio-eventloop.rst:230 msgid "" -"A thread-safe variant of :meth:`call_soon`. Must be used to schedule " -"callbacks *from another thread*." +"A thread-safe variant of :meth:`call_soon`. When scheduling callbacks from " +"another thread, this function *must* be used, since :meth:`call_soon` is not " +"thread-safe." msgstr "" -#: library/asyncio-eventloop.rst:221 +#: library/asyncio-eventloop.rst:234 msgid "" "Raises :exc:`RuntimeError` if called on a loop that's been closed. This can " "happen on a secondary thread when the main application is shutting down." msgstr "" -#: library/asyncio-eventloop.rst:225 +#: library/asyncio-eventloop.rst:238 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -315,144 +337,154 @@ msgstr "" "Voir la section :ref:`exécution concurrente et multi-fils d'exécution " "` de la documentation." -#: library/asyncio-eventloop.rst:228 library/asyncio-eventloop.rst:278 -#: library/asyncio-eventloop.rst:298 +#: library/asyncio-eventloop.rst:241 library/asyncio-eventloop.rst:291 +#: library/asyncio-eventloop.rst:311 msgid "" "The *context* keyword-only parameter was added. See :pep:`567` for more " "details." msgstr "" "Ajout de l'argument nommé *context*. Voir :pep:`567` pour plus de détails." -#: library/asyncio-eventloop.rst:236 +#: library/asyncio-eventloop.rst:249 msgid "" "Most :mod:`asyncio` scheduling functions don't allow passing keyword " "arguments. To do that, use :func:`functools.partial`::" msgstr "" -#: library/asyncio-eventloop.rst:243 +#: library/asyncio-eventloop.rst:256 msgid "" "Using partial objects is usually more convenient than using lambdas, as " "asyncio can render partial objects better in debug and error messages." msgstr "" -#: library/asyncio-eventloop.rst:251 +#: library/asyncio-eventloop.rst:264 msgid "Scheduling delayed callbacks" msgstr "" -#: library/asyncio-eventloop.rst:253 +#: library/asyncio-eventloop.rst:266 msgid "" "Event loop provides mechanisms to schedule callback functions to be called " "at some point in the future. Event loop uses monotonic clocks to track time." msgstr "" -#: library/asyncio-eventloop.rst:260 +#: library/asyncio-eventloop.rst:273 msgid "" "Schedule *callback* to be called after the given *delay* number of seconds " "(can be either an int or a float)." msgstr "" -#: library/asyncio-eventloop.rst:263 library/asyncio-eventloop.rst:295 +#: library/asyncio-eventloop.rst:276 library/asyncio-eventloop.rst:308 msgid "" "An instance of :class:`asyncio.TimerHandle` is returned which can be used to " "cancel the callback." msgstr "" -#: library/asyncio-eventloop.rst:266 +#: library/asyncio-eventloop.rst:279 msgid "" "*callback* will be called exactly once. If two callbacks are scheduled for " "exactly the same time, the order in which they are called is undefined." msgstr "" -#: library/asyncio-eventloop.rst:270 +#: library/asyncio-eventloop.rst:283 msgid "" "The optional positional *args* will be passed to the callback when it is " "called. If you want the callback to be called with keyword arguments use :" "func:`functools.partial`." msgstr "" -#: library/asyncio-eventloop.rst:282 +#: library/asyncio-eventloop.rst:287 +msgid "" +"An optional keyword-only *context* argument allows specifying a custom :" +"class:`contextvars.Context` for the *callback* to run in. The current " +"context is used when no *context* is provided." +msgstr "" +"L'argument nommé optionnel *context* permet de spécifier une classe :class:" +"`contextvars.Context` personnalisée dans laquelle la fonction de rappel " +"s’exécutera. Le contexte actuel est utilisé si *context* n'est pas fourni." + +#: library/asyncio-eventloop.rst:295 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "*delay* could not exceed one day. This has been fixed in Python 3.8." msgstr "" -#: library/asyncio-eventloop.rst:289 +#: library/asyncio-eventloop.rst:302 msgid "" "Schedule *callback* to be called at the given absolute timestamp *when* (an " "int or a float), using the same time reference as :meth:`loop.time`." msgstr "" -#: library/asyncio-eventloop.rst:293 +#: library/asyncio-eventloop.rst:306 msgid "This method's behavior is the same as :meth:`call_later`." msgstr "" -#: library/asyncio-eventloop.rst:302 +#: library/asyncio-eventloop.rst:315 msgid "" "In Python 3.7 and earlier with the default event loop implementation, the " "difference between *when* and the current time could not exceed one day. " "This has been fixed in Python 3.8." msgstr "" -#: library/asyncio-eventloop.rst:309 +#: library/asyncio-eventloop.rst:322 msgid "" "Return the current time, as a :class:`float` value, according to the event " "loop's internal monotonic clock." msgstr "" -#: library/asyncio-eventloop.rst:313 +#: library/asyncio-eventloop.rst:326 msgid "" "In Python 3.7 and earlier timeouts (relative *delay* or absolute *when*) " "should not exceed one day. This has been fixed in Python 3.8." msgstr "" -#: library/asyncio-eventloop.rst:319 +#: library/asyncio-eventloop.rst:332 msgid "The :func:`asyncio.sleep` function." msgstr "La fonction :func:`asyncio.sleep`." -#: library/asyncio-eventloop.rst:323 +#: library/asyncio-eventloop.rst:336 msgid "Creating Futures and Tasks" msgstr "" -#: library/asyncio-eventloop.rst:327 +#: library/asyncio-eventloop.rst:340 msgid "Create an :class:`asyncio.Future` object attached to the event loop." msgstr "" -#: library/asyncio-eventloop.rst:329 +#: library/asyncio-eventloop.rst:342 msgid "" "This is the preferred way to create Futures in asyncio. This lets third-" "party event loops provide alternative implementations of the Future object " "(with better performance or instrumentation)." msgstr "" -#: library/asyncio-eventloop.rst:337 +#: library/asyncio-eventloop.rst:350 msgid "" "Schedule the execution of :ref:`coroutine ` *coro*. Return a :" "class:`Task` object." msgstr "" -#: library/asyncio-eventloop.rst:340 +#: library/asyncio-eventloop.rst:353 msgid "" "Third-party event loops can use their own subclass of :class:`Task` for " "interoperability. In this case, the result type is a subclass of :class:" "`Task`." msgstr "" -#: library/asyncio-eventloop.rst:344 +#: library/asyncio-eventloop.rst:357 msgid "" "If the *name* argument is provided and not ``None``, it is set as the name " "of the task using :meth:`Task.set_name`." msgstr "" -#: library/asyncio-eventloop.rst:347 +#: library/asyncio-eventloop.rst:360 #, fuzzy msgid "Added the *name* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-eventloop.rst:352 +#: library/asyncio-eventloop.rst:365 msgid "Set a task factory that will be used by :meth:`loop.create_task`." msgstr "" -#: library/asyncio-eventloop.rst:355 +#: library/asyncio-eventloop.rst:368 msgid "" "If *factory* is ``None`` the default task factory will be set. Otherwise, " "*factory* must be a *callable* with the signature matching ``(loop, coro)``, " @@ -461,80 +493,80 @@ msgid "" "compatible object." msgstr "" -#: library/asyncio-eventloop.rst:363 +#: library/asyncio-eventloop.rst:376 msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" -#: library/asyncio-eventloop.rst:367 +#: library/asyncio-eventloop.rst:380 msgid "Opening network connections" msgstr "Créer des connexions" -#: library/asyncio-eventloop.rst:376 +#: library/asyncio-eventloop.rst:389 msgid "" "Open a streaming transport connection to a given address specified by *host* " "and *port*." msgstr "" -#: library/asyncio-eventloop.rst:379 +#: library/asyncio-eventloop.rst:392 msgid "" "The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" "`~socket.AF_INET6` depending on *host* (or the *family* argument, if " "provided)." msgstr "" -#: library/asyncio-eventloop.rst:383 +#: library/asyncio-eventloop.rst:396 msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." msgstr "" -#: library/asyncio-eventloop.rst:385 library/asyncio-eventloop.rst:1020 -#: library/asyncio-eventloop.rst:1036 +#: library/asyncio-eventloop.rst:398 library/asyncio-eventloop.rst:1040 +#: library/asyncio-eventloop.rst:1056 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." msgstr "" -#: library/asyncio-eventloop.rst:388 +#: library/asyncio-eventloop.rst:401 msgid "" "This method will try to establish the connection in the background. When " "successful, it returns a ``(transport, protocol)`` pair." msgstr "" -#: library/asyncio-eventloop.rst:391 +#: library/asyncio-eventloop.rst:404 msgid "The chronological synopsis of the underlying operation is as follows:" msgstr "" -#: library/asyncio-eventloop.rst:393 +#: library/asyncio-eventloop.rst:406 msgid "" "The connection is established and a :ref:`transport ` is " "created for it." msgstr "" -#: library/asyncio-eventloop.rst:396 +#: library/asyncio-eventloop.rst:409 msgid "" "*protocol_factory* is called without arguments and is expected to return a :" "ref:`protocol ` instance." msgstr "" -#: library/asyncio-eventloop.rst:399 +#: library/asyncio-eventloop.rst:412 msgid "" "The protocol instance is coupled with the transport by calling its :meth:" "`~BaseProtocol.connection_made` method." msgstr "" -#: library/asyncio-eventloop.rst:402 +#: library/asyncio-eventloop.rst:415 msgid "A ``(transport, protocol)`` tuple is returned on success." msgstr "" -#: library/asyncio-eventloop.rst:404 +#: library/asyncio-eventloop.rst:417 msgid "" "The created transport is an implementation-dependent bidirectional stream." msgstr "" -#: library/asyncio-eventloop.rst:407 library/asyncio-eventloop.rst:535 +#: library/asyncio-eventloop.rst:420 library/asyncio-eventloop.rst:548 msgid "Other arguments:" msgstr "" -#: library/asyncio-eventloop.rst:409 +#: library/asyncio-eventloop.rst:422 msgid "" "*ssl*: if given and not false, a SSL/TLS transport is created (by default a " "plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " @@ -543,11 +575,11 @@ msgid "" "is used." msgstr "" -#: library/asyncio-eventloop.rst:415 +#: library/asyncio-eventloop.rst:428 msgid ":ref:`SSL/TLS security considerations `" msgstr "" -#: library/asyncio-eventloop.rst:417 +#: library/asyncio-eventloop.rst:430 msgid "" "*server_hostname* sets or overrides the hostname that the target server's " "certificate will be matched against. Should only be passed if *ssl* is not " @@ -558,7 +590,7 @@ msgid "" "potential man-in-the-middle attacks)." msgstr "" -#: library/asyncio-eventloop.rst:425 +#: library/asyncio-eventloop.rst:438 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to getaddrinfo() for *host* resolution. If given, " @@ -566,7 +598,7 @@ msgid "" "constants." msgstr "" -#: library/asyncio-eventloop.rst:430 +#: library/asyncio-eventloop.rst:443 msgid "" "*happy_eyeballs_delay*, if given, enables Happy Eyeballs for this " "connection. It should be a floating-point number representing the amount of " @@ -576,7 +608,7 @@ msgid "" "the RFC is ``0.25`` (250 milliseconds)." msgstr "" -#: library/asyncio-eventloop.rst:438 +#: library/asyncio-eventloop.rst:451 msgid "" "*interleave* controls address reordering when a host name resolves to " "multiple IP addresses. If ``0`` or unspecified, no reordering is done, and " @@ -587,7 +619,7 @@ msgid "" "*happy_eyeballs_delay* is not specified, and ``1`` if it is." msgstr "" -#: library/asyncio-eventloop.rst:447 +#: library/asyncio-eventloop.rst:460 msgid "" "*sock*, if given, should be an existing, already connected :class:`socket." "socket` object to be used by the transport. If *sock* is given, none of " @@ -595,84 +627,84 @@ msgid "" "*interleave* and *local_addr* should be specified." msgstr "" -#: library/asyncio-eventloop.rst:455 library/asyncio-eventloop.rst:566 -#: library/asyncio-eventloop.rst:752 +#: library/asyncio-eventloop.rst:468 library/asyncio-eventloop.rst:579 +#: library/asyncio-eventloop.rst:765 msgid "" "The *sock* argument transfers ownership of the socket to the transport " "created. To close the socket, call the transport's :meth:`~asyncio." "BaseTransport.close` method." msgstr "" -#: library/asyncio-eventloop.rst:459 +#: library/asyncio-eventloop.rst:472 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using " "``getaddrinfo()``, similarly to *host* and *port*." msgstr "" -#: library/asyncio-eventloop.rst:463 library/asyncio-eventloop.rst:829 +#: library/asyncio-eventloop.rst:476 library/asyncio-eventloop.rst:847 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: library/asyncio-eventloop.rst:469 library/asyncio-eventloop.rst:693 +#: library/asyncio-eventloop.rst:482 library/asyncio-eventloop.rst:706 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "" -#: library/asyncio-eventloop.rst:473 +#: library/asyncio-eventloop.rst:486 msgid "" "The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " "TCP connections." msgstr "" -#: library/asyncio-eventloop.rst:478 library/asyncio-eventloop.rst:769 +#: library/asyncio-eventloop.rst:491 library/asyncio-eventloop.rst:782 #, fuzzy msgid "Added the *ssl_handshake_timeout* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-eventloop.rst:482 +#: library/asyncio-eventloop.rst:495 msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." msgstr "" -#: library/asyncio-eventloop.rst:484 +#: library/asyncio-eventloop.rst:497 msgid "" "Happy Eyeballs Algorithm: Success with Dual-Stack Hosts. When a server's " "IPv4 path and protocol are working, but the server's IPv6 path and protocol " "are not working, a dual-stack client application experiences significant " "connection delay compared to an IPv4-only client. This is undesirable " -"because it causes the dual- stack client to have a worse user experience. " +"because it causes the dual-stack client to have a worse user experience. " "This document specifies requirements for algorithms that reduce this user-" "visible delay and provides an algorithm." msgstr "" -#: library/asyncio-eventloop.rst:493 +#: library/asyncio-eventloop.rst:506 msgid "For more information: https://tools.ietf.org/html/rfc6555" msgstr "" -#: library/asyncio-eventloop.rst:497 +#: library/asyncio-eventloop.rst:510 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " "used directly in async/await code." msgstr "" -#: library/asyncio-eventloop.rst:508 +#: library/asyncio-eventloop.rst:521 msgid "" "The parameter *reuse_address* is no longer supported, as using :py:data:" "`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " "Explicitly passing ``reuse_address=True`` will raise an exception." msgstr "" -#: library/asyncio-eventloop.rst:512 +#: library/asyncio-eventloop.rst:525 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " "randomly distributed among the sockets." msgstr "" -#: library/asyncio-eventloop.rst:516 +#: library/asyncio-eventloop.rst:529 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " "similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " @@ -680,47 +712,47 @@ msgid "" "from assigning sockets to the same socket address." msgstr "" -#: library/asyncio-eventloop.rst:522 +#: library/asyncio-eventloop.rst:535 msgid "Create a datagram connection." msgstr "Créer une connexion par datagramme" -#: library/asyncio-eventloop.rst:524 +#: library/asyncio-eventloop.rst:537 msgid "" "The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" "`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " "the *family* argument, if provided)." msgstr "" -#: library/asyncio-eventloop.rst:528 +#: library/asyncio-eventloop.rst:541 msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." msgstr "" -#: library/asyncio-eventloop.rst:530 library/asyncio-eventloop.rst:628 -#: library/asyncio-eventloop.rst:744 +#: library/asyncio-eventloop.rst:543 library/asyncio-eventloop.rst:641 +#: library/asyncio-eventloop.rst:757 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" -#: library/asyncio-eventloop.rst:533 library/asyncio-eventloop.rst:593 +#: library/asyncio-eventloop.rst:546 library/asyncio-eventloop.rst:606 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "" -#: library/asyncio-eventloop.rst:537 +#: library/asyncio-eventloop.rst:550 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " "the socket locally. The *local_host* and *local_port* are looked up using :" "meth:`getaddrinfo`." msgstr "" -#: library/asyncio-eventloop.rst:541 +#: library/asyncio-eventloop.rst:554 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " "are looked up using :meth:`getaddrinfo`." msgstr "" -#: library/asyncio-eventloop.rst:545 +#: library/asyncio-eventloop.rst:558 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -728,7 +760,7 @@ msgid "" "module constants." msgstr "" -#: library/asyncio-eventloop.rst:550 +#: library/asyncio-eventloop.rst:563 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -737,13 +769,13 @@ msgid "" "this capability is unsupported." msgstr "" -#: library/asyncio-eventloop.rst:556 +#: library/asyncio-eventloop.rst:569 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." msgstr "" -#: library/asyncio-eventloop.rst:559 +#: library/asyncio-eventloop.rst:572 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " @@ -751,107 +783,107 @@ msgid "" "`None`)." msgstr "" -#: library/asyncio-eventloop.rst:570 +#: library/asyncio-eventloop.rst:583 msgid "" "See :ref:`UDP echo client protocol ` and :" "ref:`UDP echo server protocol ` examples." msgstr "" -#: library/asyncio-eventloop.rst:573 +#: library/asyncio-eventloop.rst:586 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" -#: library/asyncio-eventloop.rst:577 +#: library/asyncio-eventloop.rst:590 msgid "" "The *reuse_address* parameter is no longer supported due to security " "concerns." msgstr "" -#: library/asyncio-eventloop.rst:581 +#: library/asyncio-eventloop.rst:594 msgid "Added support for Windows." msgstr "Prise en charge sur Windows." -#: library/asyncio-eventloop.rst:588 +#: library/asyncio-eventloop.rst:601 msgid "Create a Unix connection." msgstr "Créer une connexion Unix" -#: library/asyncio-eventloop.rst:590 +#: library/asyncio-eventloop.rst:603 msgid "" "The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" "py:data:`~socket.SOCK_STREAM`." msgstr "" -#: library/asyncio-eventloop.rst:595 +#: library/asyncio-eventloop.rst:608 msgid "" "*path* is the name of a Unix domain socket and is required, unless a *sock* " "parameter is specified. Abstract Unix sockets, :class:`str`, :class:" "`bytes`, and :class:`~pathlib.Path` paths are supported." msgstr "" -#: library/asyncio-eventloop.rst:600 +#: library/asyncio-eventloop.rst:613 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." msgstr "" -#: library/asyncio-eventloop.rst:604 library/asyncio-eventloop.rst:728 -#: library/asyncio-eventloop.rst:1087 +#: library/asyncio-eventloop.rst:617 library/asyncio-eventloop.rst:741 +#: library/asyncio-eventloop.rst:1107 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." -#: library/asyncio-eventloop.rst:605 +#: library/asyncio-eventloop.rst:618 msgid "" "Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " "a :term:`path-like object`." msgstr "" -#: library/asyncio-eventloop.rst:611 +#: library/asyncio-eventloop.rst:624 msgid "Creating network servers" msgstr "Créer des serveurs" -#: library/asyncio-eventloop.rst:621 +#: library/asyncio-eventloop.rst:634 msgid "" "Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." msgstr "" -#: library/asyncio-eventloop.rst:624 +#: library/asyncio-eventloop.rst:637 msgid "Returns a :class:`Server` object." msgstr "" -#: library/asyncio-eventloop.rst:626 +#: library/asyncio-eventloop.rst:639 #, fuzzy msgid "Arguments:" msgstr "Arguments" -#: library/asyncio-eventloop.rst:631 +#: library/asyncio-eventloop.rst:644 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" msgstr "" -#: library/asyncio-eventloop.rst:634 +#: library/asyncio-eventloop.rst:647 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." msgstr "" -#: library/asyncio-eventloop.rst:637 +#: library/asyncio-eventloop.rst:650 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." msgstr "" -#: library/asyncio-eventloop.rst:640 +#: library/asyncio-eventloop.rst:653 msgid "" "If *host* is an empty string or ``None``, all interfaces are assumed and a " "list of multiple sockets will be returned (most likely one for IPv4 and " "another one for IPv6)." msgstr "" -#: library/asyncio-eventloop.rst:644 +#: library/asyncio-eventloop.rst:657 msgid "" "The *port* parameter can be set to specify which port the server should " "listen on. If ``0`` or ``None`` (the default), a random unused port will be " @@ -859,63 +891,63 @@ msgid "" "different random port will be selected for each interface)." msgstr "" -#: library/asyncio-eventloop.rst:649 +#: library/asyncio-eventloop.rst:662 msgid "" "*family* can be set to either :data:`socket.AF_INET` or :data:`~socket." "AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " "will be determined from host name (defaults to :data:`~socket.AF_UNSPEC`)." msgstr "" -#: library/asyncio-eventloop.rst:654 +#: library/asyncio-eventloop.rst:667 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* est un masque de bits pour :meth:`getaddrinfo`." -#: library/asyncio-eventloop.rst:656 +#: library/asyncio-eventloop.rst:669 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." msgstr "" -#: library/asyncio-eventloop.rst:661 +#: library/asyncio-eventloop.rst:674 msgid "" "The *sock* argument transfers ownership of the socket to the server created. " "To close the socket, call the server's :meth:`~asyncio.Server.close` method." msgstr "" -#: library/asyncio-eventloop.rst:665 +#: library/asyncio-eventloop.rst:678 msgid "" "*backlog* is the maximum number of queued connections passed to :meth:" "`~socket.socket.listen` (defaults to 100)." msgstr "" -#: library/asyncio-eventloop.rst:668 +#: library/asyncio-eventloop.rst:681 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." msgstr "" -#: library/asyncio-eventloop.rst:671 +#: library/asyncio-eventloop.rst:684 msgid "" "*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " "state, without waiting for its natural timeout to expire. If not specified " "will automatically be set to ``True`` on Unix." msgstr "" -#: library/asyncio-eventloop.rst:676 +#: library/asyncio-eventloop.rst:689 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows." msgstr "" -#: library/asyncio-eventloop.rst:681 +#: library/asyncio-eventloop.rst:694 msgid "" "*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " "for the TLS handshake to complete before aborting the connection. ``60.0`` " "seconds if ``None`` (default)." msgstr "" -#: library/asyncio-eventloop.rst:685 +#: library/asyncio-eventloop.rst:698 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " @@ -923,104 +955,104 @@ msgid "" "to make the server to start accepting connections." msgstr "" -#: library/asyncio-eventloop.rst:697 +#: library/asyncio-eventloop.rst:710 msgid "The *host* parameter can be a sequence of strings." msgstr "" -#: library/asyncio-eventloop.rst:701 +#: library/asyncio-eventloop.rst:714 msgid "" "Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " "option :py:data:`~socket.TCP_NODELAY` is set by default for all TCP " "connections." msgstr "" -#: library/asyncio-eventloop.rst:707 +#: library/asyncio-eventloop.rst:720 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " "be used in an async/await code." msgstr "" -#: library/asyncio-eventloop.rst:716 +#: library/asyncio-eventloop.rst:729 msgid "" "Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." "AF_UNIX` socket family." msgstr "" -#: library/asyncio-eventloop.rst:719 +#: library/asyncio-eventloop.rst:732 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " "and :class:`~pathlib.Path` paths are supported." msgstr "" -#: library/asyncio-eventloop.rst:724 +#: library/asyncio-eventloop.rst:737 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." msgstr "" -#: library/asyncio-eventloop.rst:731 +#: library/asyncio-eventloop.rst:744 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" -#: library/asyncio-eventloop.rst:737 +#: library/asyncio-eventloop.rst:750 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "" -#: library/asyncio-eventloop.rst:739 +#: library/asyncio-eventloop.rst:752 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." msgstr "" -#: library/asyncio-eventloop.rst:742 library/asyncio-eventloop.rst:815 +#: library/asyncio-eventloop.rst:755 library/asyncio-eventloop.rst:833 msgid "Parameters:" msgstr "Paramètres :" -#: library/asyncio-eventloop.rst:747 +#: library/asyncio-eventloop.rst:760 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" -#: library/asyncio-eventloop.rst:756 +#: library/asyncio-eventloop.rst:769 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." msgstr "" -#: library/asyncio-eventloop.rst:759 +#: library/asyncio-eventloop.rst:772 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " "``60.0`` seconds if ``None`` (default)." msgstr "" -#: library/asyncio-eventloop.rst:763 +#: library/asyncio-eventloop.rst:776 msgid "Returns a ``(transport, protocol)`` pair." msgstr "" -#: library/asyncio-eventloop.rst:773 +#: library/asyncio-eventloop.rst:786 msgid "Transferring files" msgstr "" -#: library/asyncio-eventloop.rst:778 +#: library/asyncio-eventloop.rst:791 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" -#: library/asyncio-eventloop.rst:781 +#: library/asyncio-eventloop.rst:794 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "" -#: library/asyncio-eventloop.rst:783 +#: library/asyncio-eventloop.rst:796 msgid "*file* must be a regular file object opened in binary mode." msgstr "" -#: library/asyncio-eventloop.rst:785 library/asyncio-eventloop.rst:975 +#: library/asyncio-eventloop.rst:798 library/asyncio-eventloop.rst:995 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " @@ -1029,97 +1061,109 @@ msgid "" "obtain the actual number of bytes sent." msgstr "" -#: library/asyncio-eventloop.rst:792 +#: library/asyncio-eventloop.rst:805 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " "SSL socket on Unix)." msgstr "" -#: library/asyncio-eventloop.rst:796 +#: library/asyncio-eventloop.rst:809 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: library/asyncio-eventloop.rst:803 +#: library/asyncio-eventloop.rst:816 msgid "TLS Upgrade" msgstr "" -#: library/asyncio-eventloop.rst:809 +#: library/asyncio-eventloop.rst:822 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Convertit une connexion existante en connexion TLS." -#: library/asyncio-eventloop.rst:811 +#: library/asyncio-eventloop.rst:824 +msgid "" +"Create a TLS coder/decoder instance and insert it between the *transport* " +"and the *protocol*. The coder/decoder implements both *transport*-facing " +"protocol and *protocol*-facing transport." +msgstr "" + +#: library/asyncio-eventloop.rst:828 msgid "" -"Return a new transport instance, that the *protocol* must start using " -"immediately after the *await*. The *transport* instance passed to the " -"*start_tls* method should never be used again." +"Return the created two-interface instance. After *await*, the *protocol* " +"must stop using the original *transport* and communicate with the returned " +"object only because the coder caches *protocol*-side data and sporadically " +"exchanges extra TLS session packets with *transport*." msgstr "" -#: library/asyncio-eventloop.rst:817 +#: library/asyncio-eventloop.rst:835 msgid "" "*transport* and *protocol* instances that methods like :meth:`~loop." "create_server` and :meth:`~loop.create_connection` return." msgstr "" -#: library/asyncio-eventloop.rst:821 +#: library/asyncio-eventloop.rst:839 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "" -#: library/asyncio-eventloop.rst:823 +#: library/asyncio-eventloop.rst:841 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" -#: library/asyncio-eventloop.rst:826 +#: library/asyncio-eventloop.rst:844 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." msgstr "" -#: library/asyncio-eventloop.rst:837 +#: library/asyncio-eventloop.rst:855 msgid "Watching file descriptors" msgstr "Surveiller des descripteurs de fichiers" -#: library/asyncio-eventloop.rst:841 +#: library/asyncio-eventloop.rst:859 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." msgstr "" -#: library/asyncio-eventloop.rst:847 -msgid "Stop monitoring the *fd* file descriptor for read availability." +#: library/asyncio-eventloop.rst:865 +msgid "" +"Stop monitoring the *fd* file descriptor for read availability. Returns " +"``True`` if *fd* was previously being monitored for reads." msgstr "" -#: library/asyncio-eventloop.rst:851 +#: library/asyncio-eventloop.rst:870 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." msgstr "" -#: library/asyncio-eventloop.rst:855 library/asyncio-eventloop.rst:1074 +#: library/asyncio-eventloop.rst:874 library/asyncio-eventloop.rst:1094 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." msgstr "" -#: library/asyncio-eventloop.rst:860 -msgid "Stop monitoring the *fd* file descriptor for write availability." +#: library/asyncio-eventloop.rst:879 +msgid "" +"Stop monitoring the *fd* file descriptor for write availability. Returns " +"``True`` if *fd* was previously being monitored for writes." msgstr "" -#: library/asyncio-eventloop.rst:862 +#: library/asyncio-eventloop.rst:882 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." msgstr "" -#: library/asyncio-eventloop.rst:867 +#: library/asyncio-eventloop.rst:887 msgid "Working with socket objects directly" msgstr "" -#: library/asyncio-eventloop.rst:869 +#: library/asyncio-eventloop.rst:889 msgid "" "In general, protocol implementations that use transport-based APIs such as :" "meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " @@ -1128,46 +1172,46 @@ msgid "" "socket` objects directly is more convenient." msgstr "" -#: library/asyncio-eventloop.rst:878 +#: library/asyncio-eventloop.rst:898 msgid "" "Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." "recv() `." msgstr "" -#: library/asyncio-eventloop.rst:881 +#: library/asyncio-eventloop.rst:901 msgid "Return the received data as a bytes object." msgstr "" -#: library/asyncio-eventloop.rst:883 library/asyncio-eventloop.rst:897 -#: library/asyncio-eventloop.rst:912 library/asyncio-eventloop.rst:925 -#: library/asyncio-eventloop.rst:951 library/asyncio-eventloop.rst:989 +#: library/asyncio-eventloop.rst:903 library/asyncio-eventloop.rst:917 +#: library/asyncio-eventloop.rst:932 library/asyncio-eventloop.rst:945 +#: library/asyncio-eventloop.rst:971 library/asyncio-eventloop.rst:1009 msgid "*sock* must be a non-blocking socket." msgstr "Le connecteur *sock* ne doit pas être bloquant." -#: library/asyncio-eventloop.rst:885 +#: library/asyncio-eventloop.rst:905 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " "is an ``async def`` method." msgstr "" -#: library/asyncio-eventloop.rst:892 +#: library/asyncio-eventloop.rst:912 msgid "" "Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" "meth:`socket.recv_into() ` method." msgstr "" -#: library/asyncio-eventloop.rst:895 +#: library/asyncio-eventloop.rst:915 msgid "Return the number of bytes written to the buffer." msgstr "" -#: library/asyncio-eventloop.rst:903 +#: library/asyncio-eventloop.rst:923 msgid "" "Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." "sendall() `." msgstr "" -#: library/asyncio-eventloop.rst:906 +#: library/asyncio-eventloop.rst:926 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " @@ -1176,23 +1220,23 @@ msgid "" "the connection." msgstr "" -#: library/asyncio-eventloop.rst:914 +#: library/asyncio-eventloop.rst:934 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned an :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: library/asyncio-eventloop.rst:921 +#: library/asyncio-eventloop.rst:941 msgid "Connect *sock* to a remote socket at *address*." msgstr "" -#: library/asyncio-eventloop.rst:923 +#: library/asyncio-eventloop.rst:943 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "" -#: library/asyncio-eventloop.rst:927 +#: library/asyncio-eventloop.rst:947 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " "check if the *address* is already resolved by calling :func:`socket." @@ -1200,19 +1244,19 @@ msgid "" "*address*." msgstr "" -#: library/asyncio-eventloop.rst:936 +#: library/asyncio-eventloop.rst:956 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." msgstr "" -#: library/asyncio-eventloop.rst:942 +#: library/asyncio-eventloop.rst:962 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" -#: library/asyncio-eventloop.rst:945 +#: library/asyncio-eventloop.rst:965 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -1220,64 +1264,64 @@ msgid "" "the address bound to the socket on the other end of the connection." msgstr "" -#: library/asyncio-eventloop.rst:953 +#: library/asyncio-eventloop.rst:973 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " "``async def`` method." msgstr "" -#: library/asyncio-eventloop.rst:960 +#: library/asyncio-eventloop.rst:980 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr "" -#: library/asyncio-eventloop.rst:965 +#: library/asyncio-eventloop.rst:985 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." msgstr "" -#: library/asyncio-eventloop.rst:968 +#: library/asyncio-eventloop.rst:988 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" -#: library/asyncio-eventloop.rst:970 +#: library/asyncio-eventloop.rst:990 msgid "" "*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." "socket`." msgstr "" -#: library/asyncio-eventloop.rst:973 +#: library/asyncio-eventloop.rst:993 msgid "*file* must be a regular file object open in binary mode." msgstr "" -#: library/asyncio-eventloop.rst:982 +#: library/asyncio-eventloop.rst:1002 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " "or SSL socket on Unix)." msgstr "" -#: library/asyncio-eventloop.rst:986 +#: library/asyncio-eventloop.rst:1006 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." msgstr "" -#: library/asyncio-eventloop.rst:995 +#: library/asyncio-eventloop.rst:1015 msgid "DNS" msgstr "" -#: library/asyncio-eventloop.rst:1000 +#: library/asyncio-eventloop.rst:1020 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "" -#: library/asyncio-eventloop.rst:1004 +#: library/asyncio-eventloop.rst:1024 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "" -#: library/asyncio-eventloop.rst:1006 +#: library/asyncio-eventloop.rst:1026 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " "return a coroutine, but prior to Python 3.7 they were, in fact, returning :" @@ -1285,67 +1329,67 @@ msgid "" "coroutines." msgstr "" -#: library/asyncio-eventloop.rst:1014 +#: library/asyncio-eventloop.rst:1034 msgid "Working with pipes" msgstr "" -#: library/asyncio-eventloop.rst:1018 +#: library/asyncio-eventloop.rst:1038 msgid "Register the read end of *pipe* in the event loop." msgstr "" "Branche l'extrémité en lecture du tube *pipe* à la boucle d'évènements." -#: library/asyncio-eventloop.rst:1023 +#: library/asyncio-eventloop.rst:1043 msgid "*pipe* is a :term:`file-like object `." msgstr "" -#: library/asyncio-eventloop.rst:1025 +#: library/asyncio-eventloop.rst:1045 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports the :class:" "`ReadTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1029 library/asyncio-eventloop.rst:1045 +#: library/asyncio-eventloop.rst:1049 library/asyncio-eventloop.rst:1065 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." msgstr "" -#: library/asyncio-eventloop.rst:1034 +#: library/asyncio-eventloop.rst:1054 msgid "Register the write end of *pipe* in the event loop." msgstr "Branche l'extrémité en écriture de *pipe* à la boucle d'évènements." -#: library/asyncio-eventloop.rst:1039 +#: library/asyncio-eventloop.rst:1059 msgid "*pipe* is :term:`file-like object `." msgstr "" -#: library/asyncio-eventloop.rst:1041 +#: library/asyncio-eventloop.rst:1061 msgid "" "Return pair ``(transport, protocol)``, where *transport* supports :class:" "`WriteTransport` interface and *protocol* is an object instantiated by the " "*protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1050 +#: library/asyncio-eventloop.rst:1070 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" -#: library/asyncio-eventloop.rst:1055 +#: library/asyncio-eventloop.rst:1075 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" -#: library/asyncio-eventloop.rst:1060 +#: library/asyncio-eventloop.rst:1080 msgid "Unix signals" msgstr "Signaux Unix" -#: library/asyncio-eventloop.rst:1064 +#: library/asyncio-eventloop.rst:1084 msgid "Set *callback* as the handler for the *signum* signal." msgstr "" -#: library/asyncio-eventloop.rst:1066 +#: library/asyncio-eventloop.rst:1086 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1353,46 +1397,46 @@ msgid "" "function is allowed to interact with the event loop." msgstr "" -#: library/asyncio-eventloop.rst:1071 +#: library/asyncio-eventloop.rst:1091 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." msgstr "" -#: library/asyncio-eventloop.rst:1077 +#: library/asyncio-eventloop.rst:1097 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" -#: library/asyncio-eventloop.rst:1082 +#: library/asyncio-eventloop.rst:1102 msgid "Remove the handler for the *sig* signal." msgstr "Supprime le gestionnaire du signal *sig*." -#: library/asyncio-eventloop.rst:1084 +#: library/asyncio-eventloop.rst:1104 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." msgstr "" -#: library/asyncio-eventloop.rst:1091 +#: library/asyncio-eventloop.rst:1111 msgid "The :mod:`signal` module." msgstr "Le module :mod:`signal`." -#: library/asyncio-eventloop.rst:1095 +#: library/asyncio-eventloop.rst:1115 msgid "Executing code in thread or process pools" msgstr "" -#: library/asyncio-eventloop.rst:1099 +#: library/asyncio-eventloop.rst:1119 msgid "Arrange for *func* to be called in the specified executor." msgstr "" -#: library/asyncio-eventloop.rst:1101 +#: library/asyncio-eventloop.rst:1121 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." msgstr "" -#: library/asyncio-eventloop.rst:1146 +#: library/asyncio-eventloop.rst:1166 msgid "" "Note that the entry point guard (``if __name__ == '__main__'``) is required " "for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " @@ -1400,17 +1444,17 @@ msgid "" "importing of main module `." msgstr "" -#: library/asyncio-eventloop.rst:1151 +#: library/asyncio-eventloop.rst:1171 msgid "This method returns a :class:`asyncio.Future` object." msgstr "" -#: library/asyncio-eventloop.rst:1153 +#: library/asyncio-eventloop.rst:1173 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." msgstr "" -#: library/asyncio-eventloop.rst:1156 +#: library/asyncio-eventloop.rst:1176 msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " @@ -1418,38 +1462,38 @@ msgid "" "default." msgstr "" -#: library/asyncio-eventloop.rst:1165 +#: library/asyncio-eventloop.rst:1185 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " "*executor* should be an instance of :class:`~concurrent.futures." "ThreadPoolExecutor`." msgstr "" -#: library/asyncio-eventloop.rst:1169 +#: library/asyncio-eventloop.rst:1189 msgid "" "Using an executor that is not an instance of :class:`~concurrent.futures." "ThreadPoolExecutor` is deprecated and will trigger an error in Python 3.9." msgstr "" -#: library/asyncio-eventloop.rst:1174 +#: library/asyncio-eventloop.rst:1194 msgid "" "*executor* must be an instance of :class:`concurrent.futures." "ThreadPoolExecutor`." msgstr "" -#: library/asyncio-eventloop.rst:1179 +#: library/asyncio-eventloop.rst:1199 msgid "Error Handling API" msgstr "API de gestion d'erreur" -#: library/asyncio-eventloop.rst:1181 +#: library/asyncio-eventloop.rst:1201 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "" -#: library/asyncio-eventloop.rst:1185 +#: library/asyncio-eventloop.rst:1205 msgid "Set *handler* as the new event loop exception handler." msgstr "" -#: library/asyncio-eventloop.rst:1187 +#: library/asyncio-eventloop.rst:1207 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1458,161 +1502,161 @@ msgid "" "(see :meth:`call_exception_handler` documentation for details about context)." msgstr "" -#: library/asyncio-eventloop.rst:1197 +#: library/asyncio-eventloop.rst:1217 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." msgstr "" -#: library/asyncio-eventloop.rst:1204 +#: library/asyncio-eventloop.rst:1224 msgid "Default exception handler." msgstr "Gestionnaire d'exception par défaut." -#: library/asyncio-eventloop.rst:1206 +#: library/asyncio-eventloop.rst:1226 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " "default handler behavior." msgstr "" -#: library/asyncio-eventloop.rst:1210 +#: library/asyncio-eventloop.rst:1230 msgid "" "*context* parameter has the same meaning as in :meth:" "`call_exception_handler`." msgstr "" -#: library/asyncio-eventloop.rst:1215 +#: library/asyncio-eventloop.rst:1235 msgid "Call the current event loop exception handler." msgstr "" "Appelle le gestionnaire d'exception de la boucle d'évènements actuelle." -#: library/asyncio-eventloop.rst:1217 +#: library/asyncio-eventloop.rst:1237 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" msgstr "" -#: library/asyncio-eventloop.rst:1220 +#: library/asyncio-eventloop.rst:1240 msgid "'message': Error message;" msgstr "``message`` : Message d'erreur ;" -#: library/asyncio-eventloop.rst:1221 +#: library/asyncio-eventloop.rst:1241 msgid "'exception' (optional): Exception object;" msgstr "``exception`` (optionnel): Un objet exception ;" -#: library/asyncio-eventloop.rst:1222 +#: library/asyncio-eventloop.rst:1242 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1223 +#: library/asyncio-eventloop.rst:1243 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1224 +#: library/asyncio-eventloop.rst:1244 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1225 +#: library/asyncio-eventloop.rst:1245 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1226 +#: library/asyncio-eventloop.rst:1246 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1227 +#: library/asyncio-eventloop.rst:1247 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "" -#: library/asyncio-eventloop.rst:1229 +#: library/asyncio-eventloop.rst:1249 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "" -#: library/asyncio-eventloop.rst:1229 +#: library/asyncio-eventloop.rst:1249 #, fuzzy msgid "the exception." msgstr "Gestionnaire d'exception par défaut." -#: library/asyncio-eventloop.rst:1233 +#: library/asyncio-eventloop.rst:1253 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." msgstr "" -#: library/asyncio-eventloop.rst:1238 +#: library/asyncio-eventloop.rst:1258 msgid "Enabling debug mode" msgstr "Active le mode débogage" -#: library/asyncio-eventloop.rst:1242 +#: library/asyncio-eventloop.rst:1262 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "" -#: library/asyncio-eventloop.rst:1244 +#: library/asyncio-eventloop.rst:1264 msgid "" "The default value is ``True`` if the environment variable :envvar:" "`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." msgstr "" -#: library/asyncio-eventloop.rst:1250 +#: library/asyncio-eventloop.rst:1270 msgid "Set the debug mode of the event loop." msgstr "Active le mode débogage pour la boucle d'évènements." -#: library/asyncio-eventloop.rst:1254 +#: library/asyncio-eventloop.rst:1274 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." msgstr "" -#: library/asyncio-eventloop.rst:1259 +#: library/asyncio-eventloop.rst:1279 msgid "The :ref:`debug mode of asyncio `." msgstr "" -#: library/asyncio-eventloop.rst:1263 +#: library/asyncio-eventloop.rst:1283 msgid "Running Subprocesses" msgstr "" -#: library/asyncio-eventloop.rst:1265 +#: library/asyncio-eventloop.rst:1285 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " "and :func:`asyncio.create_subprocess_exec` convenience functions instead." msgstr "" -#: library/asyncio-eventloop.rst:1272 +#: library/asyncio-eventloop.rst:1292 msgid "" "On Windows, the default event loop :class:`ProactorEventLoop` supports " "subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" "`Subprocess Support on Windows ` for details." msgstr "" -#: library/asyncio-eventloop.rst:1281 +#: library/asyncio-eventloop.rst:1301 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" -#: library/asyncio-eventloop.rst:1284 +#: library/asyncio-eventloop.rst:1304 msgid "*args* must be a list of strings represented by:" msgstr "" -#: library/asyncio-eventloop.rst:1286 +#: library/asyncio-eventloop.rst:1306 #, fuzzy msgid ":class:`str`;" msgstr ":class:`str`" -#: library/asyncio-eventloop.rst:1287 +#: library/asyncio-eventloop.rst:1307 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." msgstr "" -#: library/asyncio-eventloop.rst:1290 +#: library/asyncio-eventloop.rst:1310 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " "program." msgstr "" -#: library/asyncio-eventloop.rst:1294 +#: library/asyncio-eventloop.rst:1314 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " @@ -1620,133 +1664,133 @@ msgid "" "which is list of strings, *subprocess_exec* takes multiple string arguments." msgstr "" -#: library/asyncio-eventloop.rst:1300 +#: library/asyncio-eventloop.rst:1320 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`asyncio.SubprocessProtocol` class." msgstr "" -#: library/asyncio-eventloop.rst:1303 +#: library/asyncio-eventloop.rst:1323 msgid "Other parameters:" msgstr "Autres paramètres :" -#: library/asyncio-eventloop.rst:1305 +#: library/asyncio-eventloop.rst:1325 msgid "*stdin* can be any of these:" msgstr "" -#: library/asyncio-eventloop.rst:1307 +#: library/asyncio-eventloop.rst:1327 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard input stream using :meth:`~loop.connect_write_pipe`" msgstr "" -#: library/asyncio-eventloop.rst:1310 library/asyncio-eventloop.rst:1322 -#: library/asyncio-eventloop.rst:1334 +#: library/asyncio-eventloop.rst:1330 library/asyncio-eventloop.rst:1342 +#: library/asyncio-eventloop.rst:1354 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," msgstr "" -#: library/asyncio-eventloop.rst:1312 library/asyncio-eventloop.rst:1324 -#: library/asyncio-eventloop.rst:1336 +#: library/asyncio-eventloop.rst:1332 library/asyncio-eventloop.rst:1344 +#: library/asyncio-eventloop.rst:1356 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" msgstr "" -#: library/asyncio-eventloop.rst:1314 library/asyncio-eventloop.rst:1326 -#: library/asyncio-eventloop.rst:1338 +#: library/asyncio-eventloop.rst:1334 library/asyncio-eventloop.rst:1346 +#: library/asyncio-eventloop.rst:1358 msgid "" "the :const:`subprocess.DEVNULL` constant which indicates that the special :" "data:`os.devnull` file will be used" msgstr "" -#: library/asyncio-eventloop.rst:1317 +#: library/asyncio-eventloop.rst:1337 msgid "*stdout* can be any of these:" msgstr "" -#: library/asyncio-eventloop.rst:1319 +#: library/asyncio-eventloop.rst:1339 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard output stream using :meth:`~loop.connect_write_pipe`" msgstr "" -#: library/asyncio-eventloop.rst:1329 +#: library/asyncio-eventloop.rst:1349 msgid "*stderr* can be any of these:" msgstr "" -#: library/asyncio-eventloop.rst:1331 +#: library/asyncio-eventloop.rst:1351 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard error stream using :meth:`~loop.connect_write_pipe`" msgstr "" -#: library/asyncio-eventloop.rst:1340 +#: library/asyncio-eventloop.rst:1360 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" msgstr "" -#: library/asyncio-eventloop.rst:1343 +#: library/asyncio-eventloop.rst:1363 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " "*encoding* and *errors*, which should not be specified at all." msgstr "" -#: library/asyncio-eventloop.rst:1348 +#: library/asyncio-eventloop.rst:1368 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " "the stream to text." msgstr "" -#: library/asyncio-eventloop.rst:1352 +#: library/asyncio-eventloop.rst:1372 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." msgstr "" -#: library/asyncio-eventloop.rst:1355 +#: library/asyncio-eventloop.rst:1375 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " "object instantiated by the *protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1363 +#: library/asyncio-eventloop.rst:1383 msgid "" "Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" "`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." msgstr "" -#: library/asyncio-eventloop.rst:1368 +#: library/asyncio-eventloop.rst:1388 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" -#: library/asyncio-eventloop.rst:1371 +#: library/asyncio-eventloop.rst:1391 msgid "" "The *protocol_factory* must be a callable returning a subclass of the :class:" "`SubprocessProtocol` class." msgstr "" -#: library/asyncio-eventloop.rst:1374 +#: library/asyncio-eventloop.rst:1394 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." msgstr "" -#: library/asyncio-eventloop.rst:1377 +#: library/asyncio-eventloop.rst:1397 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " "instantiated by the *protocol_factory*." msgstr "" -#: library/asyncio-eventloop.rst:1382 +#: library/asyncio-eventloop.rst:1402 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -1756,105 +1800,105 @@ msgid "" "used to construct shell commands." msgstr "" -#: library/asyncio-eventloop.rst:1391 +#: library/asyncio-eventloop.rst:1411 msgid "Callback Handles" msgstr "" -#: library/asyncio-eventloop.rst:1395 +#: library/asyncio-eventloop.rst:1415 msgid "" "A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." "call_soon_threadsafe`." msgstr "" -#: library/asyncio-eventloop.rst:1400 +#: library/asyncio-eventloop.rst:1420 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." msgstr "" -#: library/asyncio-eventloop.rst:1405 +#: library/asyncio-eventloop.rst:1425 msgid "Return ``True`` if the callback was cancelled." msgstr "Renvoie ``True`` si la fonction de rappel à été annulé." -#: library/asyncio-eventloop.rst:1411 +#: library/asyncio-eventloop.rst:1431 msgid "" "A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" "`loop.call_at`." msgstr "" -#: library/asyncio-eventloop.rst:1414 +#: library/asyncio-eventloop.rst:1434 msgid "This class is a subclass of :class:`Handle`." msgstr "" -#: library/asyncio-eventloop.rst:1418 +#: library/asyncio-eventloop.rst:1438 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" -#: library/asyncio-eventloop.rst:1420 +#: library/asyncio-eventloop.rst:1440 msgid "" "The time is an absolute timestamp, using the same time reference as :meth:" "`loop.time`." msgstr "" -#: library/asyncio-eventloop.rst:1427 +#: library/asyncio-eventloop.rst:1447 msgid "Server Objects" msgstr "Objets Serveur" -#: library/asyncio-eventloop.rst:1429 +#: library/asyncio-eventloop.rst:1449 msgid "" "Server objects are created by :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " "functions." msgstr "" -#: library/asyncio-eventloop.rst:1433 +#: library/asyncio-eventloop.rst:1453 msgid "Do not instantiate the class directly." msgstr "" -#: library/asyncio-eventloop.rst:1437 +#: library/asyncio-eventloop.rst:1457 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " "accepting new connections when the ``async with`` statement is completed::" msgstr "" -#: library/asyncio-eventloop.rst:1450 +#: library/asyncio-eventloop.rst:1470 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" -#: library/asyncio-eventloop.rst:1455 +#: library/asyncio-eventloop.rst:1475 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" -#: library/asyncio-eventloop.rst:1458 +#: library/asyncio-eventloop.rst:1478 msgid "" "The sockets that represent existing incoming client connections are left " "open." msgstr "" -#: library/asyncio-eventloop.rst:1461 +#: library/asyncio-eventloop.rst:1481 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." msgstr "" -#: library/asyncio-eventloop.rst:1466 +#: library/asyncio-eventloop.rst:1486 msgid "Return the event loop associated with the server object." msgstr "" -#: library/asyncio-eventloop.rst:1472 +#: library/asyncio-eventloop.rst:1492 msgid "Start accepting connections." msgstr "Commence à accepter les connexions." -#: library/asyncio-eventloop.rst:1474 +#: library/asyncio-eventloop.rst:1494 msgid "" "This method is idempotent, so it can be called when the server is already " "being serving." msgstr "" -#: library/asyncio-eventloop.rst:1477 +#: library/asyncio-eventloop.rst:1497 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " @@ -1863,96 +1907,96 @@ msgid "" "accepting connections." msgstr "" -#: library/asyncio-eventloop.rst:1488 +#: library/asyncio-eventloop.rst:1508 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." msgstr "" -#: library/asyncio-eventloop.rst:1492 +#: library/asyncio-eventloop.rst:1512 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." msgstr "" -#: library/asyncio-eventloop.rst:1514 +#: library/asyncio-eventloop.rst:1534 msgid "Return ``True`` if the server is accepting new connections." msgstr "Donne ``True`` si le serveur accepte de nouvelles connexions." -#: library/asyncio-eventloop.rst:1520 +#: library/asyncio-eventloop.rst:1540 msgid "Wait until the :meth:`close` method completes." msgstr "Attends que la méthode :meth:`close` se termine." -#: library/asyncio-eventloop.rst:1524 +#: library/asyncio-eventloop.rst:1544 msgid "List of :class:`socket.socket` objects the server is listening on." msgstr "" -#: library/asyncio-eventloop.rst:1526 +#: library/asyncio-eventloop.rst:1546 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." msgstr "" -#: library/asyncio-eventloop.rst:1536 +#: library/asyncio-eventloop.rst:1556 msgid "Event Loop Implementations" msgstr "Implémentations de boucle d'évènements" -#: library/asyncio-eventloop.rst:1538 +#: library/asyncio-eventloop.rst:1558 msgid "" "asyncio ships with two different event loop implementations: :class:" "`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" -#: library/asyncio-eventloop.rst:1541 +#: library/asyncio-eventloop.rst:1561 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." msgstr "" -#: library/asyncio-eventloop.rst:1547 +#: library/asyncio-eventloop.rst:1567 msgid "An event loop based on the :mod:`selectors` module." msgstr "" -#: library/asyncio-eventloop.rst:1549 +#: library/asyncio-eventloop.rst:1569 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " "used::" msgstr "" -#: library/asyncio-eventloop.rst:1564 +#: library/asyncio-eventloop.rst:1584 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." -#: library/asyncio-eventloop.rst:1569 +#: library/asyncio-eventloop.rst:1589 msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" -#: library/asyncio-eventloop.rst:1572 +#: library/asyncio-eventloop.rst:1592 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/asyncio-eventloop.rst:1575 +#: library/asyncio-eventloop.rst:1595 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" -#: library/asyncio-eventloop.rst:1581 +#: library/asyncio-eventloop.rst:1601 msgid "Abstract base class for asyncio-compliant event loops." msgstr "" -#: library/asyncio-eventloop.rst:1583 +#: library/asyncio-eventloop.rst:1603 msgid "" "The :ref:`asyncio-event-loop-methods` section lists all methods that an " "alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" -#: library/asyncio-eventloop.rst:1589 +#: library/asyncio-eventloop.rst:1609 msgid "Examples" msgstr "Exemples" -#: library/asyncio-eventloop.rst:1591 +#: library/asyncio-eventloop.rst:1611 msgid "" "Note that all examples in this section **purposefully** show how to use the " "low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." @@ -1960,70 +2004,70 @@ msgid "" "consider using the high-level functions like :func:`asyncio.run`." msgstr "" -#: library/asyncio-eventloop.rst:1601 +#: library/asyncio-eventloop.rst:1621 msgid "Hello World with call_soon()" msgstr "\"Hello World\" avec ``call_soon()``" -#: library/asyncio-eventloop.rst:1603 +#: library/asyncio-eventloop.rst:1623 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" msgstr "" -#: library/asyncio-eventloop.rst:1627 +#: library/asyncio-eventloop.rst:1647 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." msgstr "" -#: library/asyncio-eventloop.rst:1634 +#: library/asyncio-eventloop.rst:1654 msgid "Display the current date with call_later()" msgstr "Afficher la date actuelle avec ``call_later()``" -#: library/asyncio-eventloop.rst:1636 +#: library/asyncio-eventloop.rst:1656 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " "5 seconds, and then stops the event loop::" msgstr "" -#: library/asyncio-eventloop.rst:1664 +#: library/asyncio-eventloop.rst:1684 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." msgstr "" -#: library/asyncio-eventloop.rst:1671 +#: library/asyncio-eventloop.rst:1691 msgid "Watch a file descriptor for read events" msgstr "" -#: library/asyncio-eventloop.rst:1673 +#: library/asyncio-eventloop.rst:1693 msgid "" "Wait until a file descriptor received some data using the :meth:`loop." "add_reader` method and then close the event loop::" msgstr "" -#: library/asyncio-eventloop.rst:1711 +#: library/asyncio-eventloop.rst:1731 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." msgstr "" -#: library/asyncio-eventloop.rst:1715 +#: library/asyncio-eventloop.rst:1735 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." msgstr "" -#: library/asyncio-eventloop.rst:1723 +#: library/asyncio-eventloop.rst:1743 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Définit les gestionnaires de signaux pour *SIGINT* et *SIGTERM*" -#: library/asyncio-eventloop.rst:1725 +#: library/asyncio-eventloop.rst:1745 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Cet exemple ne fonctionne que sur Unix.)" -#: library/asyncio-eventloop.rst:1727 +#: library/asyncio-eventloop.rst:1747 msgid "" "Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " "the :meth:`loop.add_signal_handler` method::" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index 5c43bcfedf..46128d82b4 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -39,7 +39,7 @@ msgid ":func:`asyncio.get_event_loop`" msgstr ":func:`asyncio.get_event_loop`" #: library/asyncio-llapi-index.rst:22 -msgid "Get an event loop instance (current or via the policy)." +msgid "Get an event loop instance (running or current via the current policy)." msgstr "" #: library/asyncio-llapi-index.rst:24 diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 97041e1a78..8ef9b022a9 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-11-17 01:26+0100\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -167,7 +167,15 @@ msgstr "" msgid "On Windows, :class:`ProactorEventLoop` is now used by default." msgstr "" -#: library/asyncio-policy.rst:118 +#: library/asyncio-policy.rst:116 +msgid "" +"In Python versions 3.10.9, 3.11.1 and 3.12 the :meth:`get_event_loop` method " +"of the default asyncio policy emits a :exc:`DeprecationWarning` if there is " +"no running event loop and no current loop is set. In some future Python " +"release this will become an error." +msgstr "" + +#: library/asyncio-policy.rst:124 msgid "" "An alternative event loop policy that uses the :class:`SelectorEventLoop` " "event loop implementation." @@ -175,11 +183,11 @@ msgstr "" "Stratégie de boucle d'événements alternative utilisant l'implémentation de " "la boucle d'événements :class:`ProactorEventLoop`." -#: library/asyncio-policy.rst:129 +#: library/asyncio-policy.rst:135 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/asyncio-policy.rst:126 +#: library/asyncio-policy.rst:132 #, fuzzy msgid "" "An alternative event loop policy that uses the :class:`ProactorEventLoop` " @@ -188,11 +196,11 @@ msgstr "" "Stratégie de boucle d'événements alternative utilisant l'implémentation de " "la boucle d'événements :class:`ProactorEventLoop`." -#: library/asyncio-policy.rst:135 +#: library/asyncio-policy.rst:141 msgid "Process Watchers" msgstr "Observateurs de processus" -#: library/asyncio-policy.rst:137 +#: library/asyncio-policy.rst:143 msgid "" "A process watcher allows customization of how an event loop monitors child " "processes on Unix. Specifically, the event loop needs to know when a child " @@ -203,7 +211,7 @@ msgstr "" "précisément, la boucle d'événements a besoin de savoir quand un processus " "enfant s'est terminé." -#: library/asyncio-policy.rst:141 +#: library/asyncio-policy.rst:147 msgid "" "In asyncio, child processes are created with :func:`create_subprocess_exec` " "and :meth:`loop.subprocess_exec` functions." @@ -211,7 +219,7 @@ msgstr "" "Dans *asyncio*, les processus enfants sont créés avec les fonctions :func:" "`create_subprocess_exec` et :meth:`loop.subprocess_exec`." -#: library/asyncio-policy.rst:145 +#: library/asyncio-policy.rst:151 #, fuzzy msgid "" "asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " @@ -225,7 +233,7 @@ msgstr "" "implémentations différentes : :class:`SafeChildWatcher` (configurée pour " "être utilisé par défaut) et :class:`FastChildWatcher`." -#: library/asyncio-policy.rst:151 +#: library/asyncio-policy.rst:157 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." @@ -233,7 +241,7 @@ msgstr "" "Voir aussi la section :ref:`sous-processus et fils d'exécution `." -#: library/asyncio-policy.rst:154 +#: library/asyncio-policy.rst:160 msgid "" "The following two functions can be used to customize the child process " "watcher implementation used by the asyncio event loop:" @@ -242,11 +250,11 @@ msgstr "" "l'implémentation de l'observateur de processus enfant utilisé par la boucle " "d'événements *asyncio* :" -#: library/asyncio-policy.rst:159 +#: library/asyncio-policy.rst:165 msgid "Return the current child watcher for the current policy." msgstr "Renvoie l'observateur enfant actuel pour la stratégie actuelle." -#: library/asyncio-policy.rst:163 +#: library/asyncio-policy.rst:169 msgid "" "Set the current child watcher to *watcher* for the current policy. " "*watcher* must implement methods defined in the :class:" @@ -256,7 +264,7 @@ msgstr "" "*watcher* doit implémenter les méthodes définies dans la classe de base :" "class:`AbstractChildWatcher`." -#: library/asyncio-policy.rst:168 +#: library/asyncio-policy.rst:174 msgid "" "Third-party event loops implementations might not support custom child " "watchers. For such event loops, using :func:`set_child_watcher` might be " @@ -267,11 +275,11 @@ msgstr "" "d'événements, utiliser :func:`set_child_watcher` pourrait être interdit ou " "n'avoir aucun effet." -#: library/asyncio-policy.rst:176 +#: library/asyncio-policy.rst:182 msgid "Register a new child handler." msgstr "Enregistre un nouveau gestionnaire." -#: library/asyncio-policy.rst:178 +#: library/asyncio-policy.rst:184 msgid "" "Arrange for ``callback(pid, returncode, *args)`` to be called when a process " "with PID equal to *pid* terminates. Specifying another callback for the " @@ -281,17 +289,17 @@ msgstr "" "processus dont le PID est égal à *pid* se termine. La spécification d'un " "autre rappel pour le même processus remplace le gestionnaire précédent." -#: library/asyncio-policy.rst:183 +#: library/asyncio-policy.rst:189 msgid "The *callback* callable must be thread-safe." msgstr "" "L'appelable *callback* doit être compatible avec les programmes à fils " "d'exécution multiples." -#: library/asyncio-policy.rst:187 +#: library/asyncio-policy.rst:193 msgid "Removes the handler for process with PID equal to *pid*." msgstr "Supprime le gestionnaire de processus avec un PID égal à *pid*." -#: library/asyncio-policy.rst:189 +#: library/asyncio-policy.rst:195 msgid "" "The function returns ``True`` if the handler was successfully removed, " "``False`` if there was nothing to remove." @@ -299,11 +307,11 @@ msgstr "" "La fonction renvoie ``True`` si le gestionnaire a été supprimé avec succès, " "``False`` s'il n'y a rien à supprimer." -#: library/asyncio-policy.rst:194 +#: library/asyncio-policy.rst:200 msgid "Attach the watcher to an event loop." msgstr "Attache l'observateur à une boucle d'événement." -#: library/asyncio-policy.rst:196 +#: library/asyncio-policy.rst:202 msgid "" "If the watcher was previously attached to an event loop, then it is first " "detached before attaching to the new loop." @@ -311,15 +319,15 @@ msgstr "" "Si l'observateur était précédemment attaché à une boucle d'événements, il " "est d'abord détaché avant d'être rattaché à la nouvelle boucle." -#: library/asyncio-policy.rst:199 +#: library/asyncio-policy.rst:205 msgid "Note: loop may be ``None``." msgstr "Remarque : la boucle peut être ``None``." -#: library/asyncio-policy.rst:203 +#: library/asyncio-policy.rst:209 msgid "Return ``True`` if the watcher is ready to use." msgstr "" -#: library/asyncio-policy.rst:205 +#: library/asyncio-policy.rst:211 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." @@ -327,11 +335,11 @@ msgstr "" "Instancier un sous-processus avec un observateur enfant actuel *inactif* " "lève l'exception :exc:`RuntimeError`." -#: library/asyncio-policy.rst:212 +#: library/asyncio-policy.rst:218 msgid "Close the watcher." msgstr "Ferme l'observateur." -#: library/asyncio-policy.rst:214 +#: library/asyncio-policy.rst:220 msgid "" "This method has to be called to ensure that underlying resources are cleaned-" "up." @@ -339,7 +347,7 @@ msgstr "" "Cette méthode doit être appelée pour s'assurer que les ressources sous-" "jacentes sont nettoyées." -#: library/asyncio-policy.rst:219 +#: library/asyncio-policy.rst:225 #, fuzzy msgid "" "This implementation starts a new waiting thread for every subprocess spawn." @@ -348,7 +356,7 @@ msgstr "" "générer des processus en interrogeant chaque processus explicitement par un " "signal :py:data:`SIGCHLD`." -#: library/asyncio-policy.rst:221 +#: library/asyncio-policy.rst:227 #, fuzzy msgid "" "It works reliably even when the asyncio event loop is run in a non-main OS " @@ -358,7 +366,7 @@ msgstr "" "de la manipulation d'un grand nombre de processus (*O(n)* à chaque fois que " "un :py:data:`SIGCHLD` est reçu)." -#: library/asyncio-policy.rst:223 +#: library/asyncio-policy.rst:229 #, fuzzy msgid "" "There is no noticeable overhead when handling a big number of children " @@ -368,50 +376,50 @@ msgstr "" "Il n'y a pas de surcharge visible lors de la manipulation d'un grand nombre " "d'enfants (*O(1)* à chaque fois qu'un enfant se termine)." -#: library/asyncio-policy.rst:226 +#: library/asyncio-policy.rst:232 msgid "This watcher is used by default." msgstr "" -#: library/asyncio-policy.rst:232 +#: library/asyncio-policy.rst:238 msgid "" "This implementation registers a :py:data:`SIGCHLD` signal handler on " "instantiation. That can break third-party code that installs a custom " "handler for :py:data:`SIGCHLD` signal." msgstr "" -#: library/asyncio-policy.rst:254 +#: library/asyncio-policy.rst:260 msgid "" "The watcher avoids disrupting other code spawning processes by polling every " "process explicitly on a :py:data:`SIGCHLD` signal." msgstr "" -#: library/asyncio-policy.rst:239 +#: library/asyncio-policy.rst:245 msgid "" "There is no limitation for running subprocesses from different threads once " "the watcher is installed." msgstr "" -#: library/asyncio-policy.rst:242 +#: library/asyncio-policy.rst:248 msgid "" "The solution is safe but it has a significant overhead when handling a big " "number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." msgstr "" -#: library/asyncio-policy.rst:250 +#: library/asyncio-policy.rst:256 msgid "" "This implementation uses active event loop from the main thread to handle :" "py:data:`SIGCHLD` signal. If the main thread has no running event loop " "another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." msgstr "" -#: library/asyncio-policy.rst:257 +#: library/asyncio-policy.rst:263 msgid "" "This solution is as safe as :class:`MultiLoopChildWatcher` and has the same " "*O(N)* complexity but requires a running event loop in the main thread to " "work." msgstr "" -#: library/asyncio-policy.rst:262 +#: library/asyncio-policy.rst:268 msgid "" "This implementation reaps every terminated processes by calling ``os." "waitpid(-1)`` directly, possibly breaking other code spawning processes and " @@ -421,7 +429,7 @@ msgstr "" "directement ``os.waitpid(-1)``, cassant éventuellement un autre code qui " "génère des processus et attend leur fin." -#: library/asyncio-policy.rst:266 +#: library/asyncio-policy.rst:272 msgid "" "There is no noticeable overhead when handling a big number of children " "(*O(1)* each time a child terminates)." @@ -429,13 +437,13 @@ msgstr "" "Il n'y a pas de surcharge visible lors de la manipulation d'un grand nombre " "d'enfants (*O(1)* à chaque fois qu'un enfant se termine)." -#: library/asyncio-policy.rst:269 +#: library/asyncio-policy.rst:275 msgid "" "This solution requires a running event loop in the main thread to work, as :" "class:`SafeChildWatcher`." msgstr "" -#: library/asyncio-policy.rst:274 +#: library/asyncio-policy.rst:280 msgid "" "This implementation polls process file descriptors (pidfds) to await child " "process termination. In some respects, :class:`PidfdChildWatcher` is a " @@ -446,11 +454,11 @@ msgid "" "only work on recent (5.3+) kernels." msgstr "" -#: library/asyncio-policy.rst:288 +#: library/asyncio-policy.rst:294 msgid "Custom Policies" msgstr "Stratégies personnalisées" -#: library/asyncio-policy.rst:290 +#: library/asyncio-policy.rst:296 msgid "" "To implement a new event loop policy, it is recommended to subclass :class:" "`DefaultEventLoopPolicy` and override the methods for which custom behavior " diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 2fe627aade..1b9a21397b 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-06-18 22:29+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -228,161 +228,161 @@ msgid "" "flushed asynchronously. No more data will be received. After all buffered " "data is flushed, the protocol's :meth:`protocol.connection_lost() " "` method will be called with :const:`None` as " -"its argument." +"its argument. The transport should not be used once it is closed." msgstr "" -#: library/asyncio-protocol.rst:163 +#: library/asyncio-protocol.rst:164 msgid "Return ``True`` if the transport is closing or is closed." msgstr "" -#: library/asyncio-protocol.rst:167 +#: library/asyncio-protocol.rst:168 msgid "Return information about the transport or underlying resources it uses." msgstr "" -#: library/asyncio-protocol.rst:170 +#: library/asyncio-protocol.rst:171 msgid "" "*name* is a string representing the piece of transport-specific information " "to get." msgstr "" -#: library/asyncio-protocol.rst:173 +#: library/asyncio-protocol.rst:174 msgid "" "*default* is the value to return if the information is not available, or if " "the transport does not support querying it with the given third-party event " "loop implementation or on the current platform." msgstr "" -#: library/asyncio-protocol.rst:178 +#: library/asyncio-protocol.rst:179 msgid "" "For example, the following code attempts to get the underlying socket object " "of the transport::" msgstr "" -#: library/asyncio-protocol.rst:185 +#: library/asyncio-protocol.rst:186 msgid "Categories of information that can be queried on some transports:" msgstr "" -#: library/asyncio-protocol.rst:187 +#: library/asyncio-protocol.rst:188 msgid "socket:" msgstr "" -#: library/asyncio-protocol.rst:189 +#: library/asyncio-protocol.rst:190 msgid "" "``'peername'``: the remote address to which the socket is connected, result " "of :meth:`socket.socket.getpeername` (``None`` on error)" msgstr "" -#: library/asyncio-protocol.rst:193 +#: library/asyncio-protocol.rst:194 msgid "``'socket'``: :class:`socket.socket` instance" msgstr "``'socket'`` : Instance de :class:`socket.socket`" -#: library/asyncio-protocol.rst:195 +#: library/asyncio-protocol.rst:196 msgid "" "``'sockname'``: the socket's own address, result of :meth:`socket.socket." "getsockname`" msgstr "" -#: library/asyncio-protocol.rst:198 +#: library/asyncio-protocol.rst:199 msgid "SSL socket:" msgstr "Connecteur (*socket* en anglais) SSL :" -#: library/asyncio-protocol.rst:200 +#: library/asyncio-protocol.rst:201 msgid "" "``'compression'``: the compression algorithm being used as a string, or " "``None`` if the connection isn't compressed; result of :meth:`ssl.SSLSocket." "compression`" msgstr "" -#: library/asyncio-protocol.rst:204 +#: library/asyncio-protocol.rst:205 msgid "" "``'cipher'``: a three-value tuple containing the name of the cipher being " "used, the version of the SSL protocol that defines its use, and the number " "of secret bits being used; result of :meth:`ssl.SSLSocket.cipher`" msgstr "" -#: library/asyncio-protocol.rst:209 +#: library/asyncio-protocol.rst:210 msgid "" "``'peercert'``: peer certificate; result of :meth:`ssl.SSLSocket.getpeercert`" msgstr "" -#: library/asyncio-protocol.rst:212 +#: library/asyncio-protocol.rst:213 msgid "``'sslcontext'``: :class:`ssl.SSLContext` instance" msgstr "``sslcontext'`` : Instance de :class:`ssl.SSLContext`" -#: library/asyncio-protocol.rst:214 +#: library/asyncio-protocol.rst:215 msgid "" "``'ssl_object'``: :class:`ssl.SSLObject` or :class:`ssl.SSLSocket` instance" msgstr "" -#: library/asyncio-protocol.rst:217 +#: library/asyncio-protocol.rst:218 msgid "pipe:" msgstr "" -#: library/asyncio-protocol.rst:219 +#: library/asyncio-protocol.rst:220 msgid "``'pipe'``: pipe object" msgstr "``'pipe'`` : objet *pipe*" -#: library/asyncio-protocol.rst:221 +#: library/asyncio-protocol.rst:222 msgid "subprocess:" msgstr "sous-processus :" -#: library/asyncio-protocol.rst:223 +#: library/asyncio-protocol.rst:224 msgid "``'subprocess'``: :class:`subprocess.Popen` instance" msgstr "" -#: library/asyncio-protocol.rst:227 +#: library/asyncio-protocol.rst:228 msgid "Set a new protocol." msgstr "Change le protocole." -#: library/asyncio-protocol.rst:229 +#: library/asyncio-protocol.rst:230 msgid "" "Switching protocol should only be done when both protocols are documented to " "support the switch." msgstr "" -#: library/asyncio-protocol.rst:234 +#: library/asyncio-protocol.rst:235 msgid "Return the current protocol." msgstr "Renvoie le protocole courant." -#: library/asyncio-protocol.rst:238 +#: library/asyncio-protocol.rst:239 msgid "Read-only Transports" msgstr "Transports en lecture seule" -#: library/asyncio-protocol.rst:242 +#: library/asyncio-protocol.rst:243 msgid "Return ``True`` if the transport is receiving new data." msgstr "" -#: library/asyncio-protocol.rst:248 +#: library/asyncio-protocol.rst:249 msgid "" "Pause the receiving end of the transport. No data will be passed to the " "protocol's :meth:`protocol.data_received() ` method " "until :meth:`resume_reading` is called." msgstr "" -#: library/asyncio-protocol.rst:252 +#: library/asyncio-protocol.rst:253 msgid "" "The method is idempotent, i.e. it can be called when the transport is " "already paused or closed." msgstr "" -#: library/asyncio-protocol.rst:258 +#: library/asyncio-protocol.rst:259 msgid "" "Resume the receiving end. The protocol's :meth:`protocol.data_received() " "` method will be called once again if some data is " "available for reading." msgstr "" -#: library/asyncio-protocol.rst:262 +#: library/asyncio-protocol.rst:263 msgid "" "The method is idempotent, i.e. it can be called when the transport is " "already reading." msgstr "" -#: library/asyncio-protocol.rst:268 +#: library/asyncio-protocol.rst:269 msgid "Write-only Transports" msgstr "Transports en lecture/écriture" -#: library/asyncio-protocol.rst:272 +#: library/asyncio-protocol.rst:273 msgid "" "Close the transport immediately, without waiting for pending operations to " "complete. Buffered data will be lost. No more data will be received. The " @@ -390,31 +390,31 @@ msgid "" "method will eventually be called with :const:`None` as its argument." msgstr "" -#: library/asyncio-protocol.rst:280 +#: library/asyncio-protocol.rst:281 msgid "" "Return :const:`True` if the transport supports :meth:`~WriteTransport." "write_eof`, :const:`False` if not." msgstr "" -#: library/asyncio-protocol.rst:285 +#: library/asyncio-protocol.rst:286 msgid "Return the current size of the output buffer used by the transport." msgstr "" -#: library/asyncio-protocol.rst:289 +#: library/asyncio-protocol.rst:290 msgid "" "Get the *high* and *low* watermarks for write flow control. Return a tuple " "``(low, high)`` where *low* and *high* are positive number of bytes." msgstr "" -#: library/asyncio-protocol.rst:293 +#: library/asyncio-protocol.rst:294 msgid "Use :meth:`set_write_buffer_limits` to set the limits." msgstr "" -#: library/asyncio-protocol.rst:299 +#: library/asyncio-protocol.rst:300 msgid "Set the *high* and *low* watermarks for write flow control." msgstr "" -#: library/asyncio-protocol.rst:301 +#: library/asyncio-protocol.rst:302 msgid "" "These two values (measured in number of bytes) control when the protocol's :" "meth:`protocol.pause_writing() ` and :meth:" @@ -423,7 +423,7 @@ msgid "" "high watermark. Neither *high* nor *low* can be negative." msgstr "" -#: library/asyncio-protocol.rst:309 +#: library/asyncio-protocol.rst:310 msgid "" ":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes " "greater than or equal to the *high* value. If writing has been paused, :meth:" @@ -431,7 +431,7 @@ msgid "" "than or equal to the *low* value." msgstr "" -#: library/asyncio-protocol.rst:314 +#: library/asyncio-protocol.rst:315 msgid "" "The defaults are implementation-specific. If only the high watermark is " "given, the low watermark defaults to an implementation-specific value less " @@ -443,51 +443,51 @@ msgid "" "opportunities for doing I/O and computation concurrently." msgstr "" -#: library/asyncio-protocol.rst:325 +#: library/asyncio-protocol.rst:326 msgid "Use :meth:`~WriteTransport.get_write_buffer_limits` to get the limits." msgstr "" -#: library/asyncio-protocol.rst:330 +#: library/asyncio-protocol.rst:331 msgid "Write some *data* bytes to the transport." msgstr "Écrit des octets de *data* sur le transport." -#: library/asyncio-protocol.rst:332 library/asyncio-protocol.rst:361 +#: library/asyncio-protocol.rst:333 library/asyncio-protocol.rst:362 msgid "" "This method does not block; it buffers the data and arranges for it to be " "sent out asynchronously." msgstr "" -#: library/asyncio-protocol.rst:337 +#: library/asyncio-protocol.rst:338 msgid "" "Write a list (or any iterable) of data bytes to the transport. This is " "functionally equivalent to calling :meth:`write` on each element yielded by " "the iterable, but may be implemented more efficiently." msgstr "" -#: library/asyncio-protocol.rst:344 +#: library/asyncio-protocol.rst:345 msgid "" "Close the write end of the transport after flushing all buffered data. Data " "may still be received." msgstr "" -#: library/asyncio-protocol.rst:347 +#: library/asyncio-protocol.rst:348 msgid "" "This method can raise :exc:`NotImplementedError` if the transport (e.g. SSL) " "doesn't support half-closed connections." msgstr "" -#: library/asyncio-protocol.rst:352 +#: library/asyncio-protocol.rst:353 msgid "Datagram Transports" msgstr "Transports de datagrammes" -#: library/asyncio-protocol.rst:356 +#: library/asyncio-protocol.rst:357 msgid "" "Send the *data* bytes to the remote peer given by *addr* (a transport-" "dependent target address). If *addr* is :const:`None`, the data is sent to " "the target address given on transport creation." msgstr "" -#: library/asyncio-protocol.rst:366 +#: library/asyncio-protocol.rst:367 msgid "" "Close the transport immediately, without waiting for pending operations to " "complete. Buffered data will be lost. No more data will be received. The " @@ -495,110 +495,110 @@ msgid "" "method will eventually be called with :const:`None` as its argument." msgstr "" -#: library/asyncio-protocol.rst:376 +#: library/asyncio-protocol.rst:377 msgid "Subprocess Transports" msgstr "Transports vers des sous-processus" -#: library/asyncio-protocol.rst:380 +#: library/asyncio-protocol.rst:381 msgid "Return the subprocess process id as an integer." msgstr "" "Donne l'identifiant du sous processus sous la forme d'un nombre entier." -#: library/asyncio-protocol.rst:384 +#: library/asyncio-protocol.rst:385 msgid "" "Return the transport for the communication pipe corresponding to the integer " "file descriptor *fd*:" msgstr "" -#: library/asyncio-protocol.rst:387 +#: library/asyncio-protocol.rst:388 msgid "" "``0``: readable streaming transport of the standard input (*stdin*), or :" "const:`None` if the subprocess was not created with ``stdin=PIPE``" msgstr "" -#: library/asyncio-protocol.rst:389 +#: library/asyncio-protocol.rst:390 msgid "" "``1``: writable streaming transport of the standard output (*stdout*), or :" "const:`None` if the subprocess was not created with ``stdout=PIPE``" msgstr "" -#: library/asyncio-protocol.rst:391 +#: library/asyncio-protocol.rst:392 msgid "" "``2``: writable streaming transport of the standard error (*stderr*), or :" "const:`None` if the subprocess was not created with ``stderr=PIPE``" msgstr "" -#: library/asyncio-protocol.rst:393 +#: library/asyncio-protocol.rst:394 msgid "other *fd*: :const:`None`" msgstr "autre *fd* : :const:`None`" -#: library/asyncio-protocol.rst:397 +#: library/asyncio-protocol.rst:398 msgid "" "Return the subprocess return code as an integer or :const:`None` if it " "hasn't returned, which is similar to the :attr:`subprocess.Popen.returncode` " "attribute." msgstr "" -#: library/asyncio-protocol.rst:403 +#: library/asyncio-protocol.rst:404 msgid "Kill the subprocess." msgstr "Tue le sous-processus." -#: library/asyncio-protocol.rst:405 +#: library/asyncio-protocol.rst:406 msgid "" "On POSIX systems, the function sends SIGKILL to the subprocess. On Windows, " "this method is an alias for :meth:`terminate`." msgstr "" -#: library/asyncio-protocol.rst:408 +#: library/asyncio-protocol.rst:409 msgid "See also :meth:`subprocess.Popen.kill`." msgstr "" -#: library/asyncio-protocol.rst:412 +#: library/asyncio-protocol.rst:413 msgid "" "Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen." "send_signal`." msgstr "" -#: library/asyncio-protocol.rst:417 +#: library/asyncio-protocol.rst:418 msgid "Stop the subprocess." msgstr "Termine le sous-processus." -#: library/asyncio-protocol.rst:419 +#: library/asyncio-protocol.rst:420 msgid "" "On POSIX systems, this method sends SIGTERM to the subprocess. On Windows, " "the Windows API function TerminateProcess() is called to stop the subprocess." msgstr "" -#: library/asyncio-protocol.rst:423 +#: library/asyncio-protocol.rst:424 msgid "See also :meth:`subprocess.Popen.terminate`." msgstr "" -#: library/asyncio-protocol.rst:427 +#: library/asyncio-protocol.rst:428 msgid "Kill the subprocess by calling the :meth:`kill` method." msgstr "" -#: library/asyncio-protocol.rst:429 +#: library/asyncio-protocol.rst:430 msgid "" "If the subprocess hasn't returned yet, and close transports of *stdin*, " "*stdout*, and *stderr* pipes." msgstr "" -#: library/asyncio-protocol.rst:436 +#: library/asyncio-protocol.rst:437 msgid "Protocols" msgstr "Protocoles" -#: library/asyncio-protocol.rst:438 +#: library/asyncio-protocol.rst:439 msgid "**Source code:** :source:`Lib/asyncio/protocols.py`" msgstr "" -#: library/asyncio-protocol.rst:442 +#: library/asyncio-protocol.rst:443 msgid "" "asyncio provides a set of abstract base classes that should be used to " "implement network protocols. Those classes are meant to be used together " "with :ref:`transports `." msgstr "" -#: library/asyncio-protocol.rst:446 +#: library/asyncio-protocol.rst:447 msgid "" "Subclasses of abstract base protocol classes may implement some or all " "methods. All these methods are callbacks: they are called by transports on " @@ -606,118 +606,118 @@ msgid "" "method should be called by the corresponding transport." msgstr "" -#: library/asyncio-protocol.rst:453 +#: library/asyncio-protocol.rst:454 msgid "Base Protocols" msgstr "Protocoles de base" -#: library/asyncio-protocol.rst:457 +#: library/asyncio-protocol.rst:458 msgid "Base protocol with methods that all protocols share." msgstr "" -#: library/asyncio-protocol.rst:461 +#: library/asyncio-protocol.rst:462 msgid "" "The base class for implementing streaming protocols (TCP, Unix sockets, etc)." msgstr "" -#: library/asyncio-protocol.rst:466 +#: library/asyncio-protocol.rst:467 msgid "" "A base class for implementing streaming protocols with manual control of the " "receive buffer." msgstr "" -#: library/asyncio-protocol.rst:471 +#: library/asyncio-protocol.rst:472 msgid "The base class for implementing datagram (UDP) protocols." msgstr "" -#: library/asyncio-protocol.rst:475 +#: library/asyncio-protocol.rst:476 msgid "" "The base class for implementing protocols communicating with child processes " "(unidirectional pipes)." msgstr "" -#: library/asyncio-protocol.rst:480 +#: library/asyncio-protocol.rst:481 #, fuzzy msgid "Base Protocol" msgstr "Protocoles de base" -#: library/asyncio-protocol.rst:482 +#: library/asyncio-protocol.rst:483 msgid "All asyncio protocols can implement Base Protocol callbacks." msgstr "" -#: library/asyncio-protocol.rst:485 +#: library/asyncio-protocol.rst:486 msgid "Connection Callbacks" msgstr "" -#: library/asyncio-protocol.rst:486 +#: library/asyncio-protocol.rst:487 msgid "" "Connection callbacks are called on all protocols, exactly once per a " "successful connection. All other protocol callbacks can only be called " "between those two methods." msgstr "" -#: library/asyncio-protocol.rst:492 +#: library/asyncio-protocol.rst:493 msgid "Called when a connection is made." msgstr "Appelé lorsqu'une connexion est établie." -#: library/asyncio-protocol.rst:494 +#: library/asyncio-protocol.rst:495 msgid "" "The *transport* argument is the transport representing the connection. The " "protocol is responsible for storing the reference to its transport." msgstr "" -#: library/asyncio-protocol.rst:500 +#: library/asyncio-protocol.rst:501 msgid "Called when the connection is lost or closed." msgstr "Appelé lorsqu'une connexion est perdue ou fermée." -#: library/asyncio-protocol.rst:502 +#: library/asyncio-protocol.rst:503 msgid "" "The argument is either an exception object or :const:`None`. The latter " "means a regular EOF is received, or the connection was aborted or closed by " "this side of the connection." msgstr "" -#: library/asyncio-protocol.rst:508 +#: library/asyncio-protocol.rst:509 msgid "Flow Control Callbacks" msgstr "" -#: library/asyncio-protocol.rst:509 +#: library/asyncio-protocol.rst:510 msgid "" "Flow control callbacks can be called by transports to pause or resume " "writing performed by the protocol." msgstr "" -#: library/asyncio-protocol.rst:512 +#: library/asyncio-protocol.rst:513 msgid "" "See the documentation of the :meth:`~WriteTransport.set_write_buffer_limits` " "method for more details." msgstr "" -#: library/asyncio-protocol.rst:517 +#: library/asyncio-protocol.rst:518 msgid "Called when the transport's buffer goes over the high watermark." msgstr "" -#: library/asyncio-protocol.rst:521 +#: library/asyncio-protocol.rst:522 msgid "Called when the transport's buffer drains below the low watermark." msgstr "" -#: library/asyncio-protocol.rst:523 +#: library/asyncio-protocol.rst:524 msgid "" "If the buffer size equals the high watermark, :meth:`~BaseProtocol." "pause_writing` is not called: the buffer size must go strictly over." msgstr "" -#: library/asyncio-protocol.rst:527 +#: library/asyncio-protocol.rst:528 msgid "" "Conversely, :meth:`~BaseProtocol.resume_writing` is called when the buffer " "size is equal or lower than the low watermark. These end conditions are " "important to ensure that things go as expected when either mark is zero." msgstr "" -#: library/asyncio-protocol.rst:534 +#: library/asyncio-protocol.rst:535 msgid "Streaming Protocols" msgstr "Protocoles connectés" -#: library/asyncio-protocol.rst:536 +#: library/asyncio-protocol.rst:537 msgid "" "Event methods, such as :meth:`loop.create_server`, :meth:`loop." "create_unix_server`, :meth:`loop.create_connection`, :meth:`loop." @@ -726,13 +726,13 @@ msgid "" "that return streaming protocols." msgstr "" -#: library/asyncio-protocol.rst:544 +#: library/asyncio-protocol.rst:545 msgid "" "Called when some data is received. *data* is a non-empty bytes object " "containing the incoming data." msgstr "" -#: library/asyncio-protocol.rst:547 +#: library/asyncio-protocol.rst:548 msgid "" "Whether the data is buffered, chunked or reassembled depends on the " "transport. In general, you shouldn't rely on specific semantics and instead " @@ -740,27 +740,27 @@ msgid "" "the correct order." msgstr "" -#: library/asyncio-protocol.rst:552 +#: library/asyncio-protocol.rst:553 msgid "" "The method can be called an arbitrary number of times while a connection is " "open." msgstr "" -#: library/asyncio-protocol.rst:555 +#: library/asyncio-protocol.rst:556 msgid "" "However, :meth:`protocol.eof_received() ` is called " "at most once. Once ``eof_received()`` is called, ``data_received()`` is not " "called anymore." msgstr "" -#: library/asyncio-protocol.rst:561 +#: library/asyncio-protocol.rst:562 msgid "" "Called when the other end signals it won't send any more data (for example " "by calling :meth:`transport.write_eof() `, if the " "other end also uses asyncio)." msgstr "" -#: library/asyncio-protocol.rst:566 +#: library/asyncio-protocol.rst:567 msgid "" "This method may return a false value (including ``None``), in which case the " "transport will close itself. Conversely, if this method returns a true " @@ -769,28 +769,28 @@ msgid "" "connection." msgstr "" -#: library/asyncio-protocol.rst:572 +#: library/asyncio-protocol.rst:573 msgid "" "Some transports, including SSL, don't support half-closed connections, in " "which case returning true from this method will result in the connection " "being closed." msgstr "" -#: library/asyncio-protocol.rst:577 library/asyncio-protocol.rst:635 +#: library/asyncio-protocol.rst:578 library/asyncio-protocol.rst:636 msgid "State machine:" msgstr "Machine à états :" -#: library/asyncio-protocol.rst:588 +#: library/asyncio-protocol.rst:589 msgid "Buffered Streaming Protocols" msgstr "" -#: library/asyncio-protocol.rst:592 +#: library/asyncio-protocol.rst:593 msgid "" "Buffered Protocols can be used with any event loop method that supports " "`Streaming Protocols`_." msgstr "" -#: library/asyncio-protocol.rst:595 +#: library/asyncio-protocol.rst:596 msgid "" "``BufferedProtocol`` implementations allow explicit manual allocation and " "control of the receive buffer. Event loops can then use the buffer provided " @@ -800,16 +800,16 @@ msgid "" "number of buffer allocations." msgstr "" -#: library/asyncio-protocol.rst:602 +#: library/asyncio-protocol.rst:603 msgid "" "The following callbacks are called on :class:`BufferedProtocol` instances:" msgstr "" -#: library/asyncio-protocol.rst:607 +#: library/asyncio-protocol.rst:608 msgid "Called to allocate a new receive buffer." msgstr "" -#: library/asyncio-protocol.rst:609 +#: library/asyncio-protocol.rst:610 msgid "" "*sizehint* is the recommended minimum size for the returned buffer. It is " "acceptable to return smaller or larger buffers than what *sizehint* " @@ -817,27 +817,27 @@ msgid "" "to return a buffer with a zero size." msgstr "" -#: library/asyncio-protocol.rst:614 +#: library/asyncio-protocol.rst:615 msgid "" "``get_buffer()`` must return an object implementing the :ref:`buffer " "protocol `." msgstr "" -#: library/asyncio-protocol.rst:619 +#: library/asyncio-protocol.rst:620 msgid "Called when the buffer was updated with the received data." msgstr "" -#: library/asyncio-protocol.rst:621 +#: library/asyncio-protocol.rst:622 msgid "*nbytes* is the total number of bytes that were written to the buffer." msgstr "" -#: library/asyncio-protocol.rst:625 +#: library/asyncio-protocol.rst:626 msgid "" "See the documentation of the :meth:`protocol.eof_received() ` method." msgstr "" -#: library/asyncio-protocol.rst:629 +#: library/asyncio-protocol.rst:630 msgid "" ":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of " "times during a connection. However, :meth:`protocol.eof_received() " @@ -846,44 +846,44 @@ msgid "" "won't be called after it." msgstr "" -#: library/asyncio-protocol.rst:648 +#: library/asyncio-protocol.rst:649 msgid "Datagram Protocols" msgstr "Protocoles non-connectés" -#: library/asyncio-protocol.rst:650 +#: library/asyncio-protocol.rst:651 msgid "" "Datagram Protocol instances should be constructed by protocol factories " "passed to the :meth:`loop.create_datagram_endpoint` method." msgstr "" -#: library/asyncio-protocol.rst:655 +#: library/asyncio-protocol.rst:656 msgid "" "Called when a datagram is received. *data* is a bytes object containing the " "incoming data. *addr* is the address of the peer sending the data; the " "exact format depends on the transport." msgstr "" -#: library/asyncio-protocol.rst:661 +#: library/asyncio-protocol.rst:662 msgid "" "Called when a previous send or receive operation raises an :class:" "`OSError`. *exc* is the :class:`OSError` instance." msgstr "" -#: library/asyncio-protocol.rst:664 +#: library/asyncio-protocol.rst:665 msgid "" "This method is called in rare conditions, when the transport (e.g. UDP) " "detects that a datagram could not be delivered to its recipient. In many " "conditions though, undeliverable datagrams will be silently dropped." msgstr "" -#: library/asyncio-protocol.rst:671 +#: library/asyncio-protocol.rst:672 msgid "" "On BSD systems (macOS, FreeBSD, etc.) flow control is not supported for " "datagram protocols, because there is no reliable way to detect send failures " "caused by writing too many packets." msgstr "" -#: library/asyncio-protocol.rst:675 +#: library/asyncio-protocol.rst:676 msgid "" "The socket always appears 'ready' and excess packets are dropped. An :class:" "`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be " @@ -891,142 +891,142 @@ msgid "" "error_received` but otherwise ignored." msgstr "" -#: library/asyncio-protocol.rst:684 +#: library/asyncio-protocol.rst:685 msgid "Subprocess Protocols" msgstr "Protocoles liés aux sous-processus" -#: library/asyncio-protocol.rst:686 +#: library/asyncio-protocol.rst:687 msgid "" "Subprocess Protocol instances should be constructed by protocol factories " "passed to the :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` " "methods." msgstr "" -#: library/asyncio-protocol.rst:692 +#: library/asyncio-protocol.rst:693 msgid "" "Called when the child process writes data into its stdout or stderr pipe." msgstr "" "Appelé lorsqu'un processus enfant écrit sur sa sortie d'erreur ou sa sortie " "standard." -#: library/asyncio-protocol.rst:695 +#: library/asyncio-protocol.rst:696 msgid "*fd* is the integer file descriptor of the pipe." msgstr "" -#: library/asyncio-protocol.rst:697 +#: library/asyncio-protocol.rst:698 msgid "*data* is a non-empty bytes object containing the received data." msgstr "" -#: library/asyncio-protocol.rst:701 +#: library/asyncio-protocol.rst:702 msgid "" "Called when one of the pipes communicating with the child process is closed." msgstr "" "Appelé lorsqu'une des *pipe*\\ s de communication avec un sous-processus est " "fermée." -#: library/asyncio-protocol.rst:704 +#: library/asyncio-protocol.rst:705 msgid "*fd* is the integer file descriptor that was closed." msgstr "" -#: library/asyncio-protocol.rst:708 +#: library/asyncio-protocol.rst:709 msgid "Called when the child process has exited." msgstr "Appelé lorsqu'un processus enfant se termine." -#: library/asyncio-protocol.rst:712 +#: library/asyncio-protocol.rst:713 msgid "Examples" msgstr "Exemples" -#: library/asyncio-protocol.rst:717 +#: library/asyncio-protocol.rst:718 msgid "TCP Echo Server" msgstr "Serveur de *ping* en TCP" -#: library/asyncio-protocol.rst:719 +#: library/asyncio-protocol.rst:720 msgid "" "Create a TCP echo server using the :meth:`loop.create_server` method, send " "back received data, and close the connection::" msgstr "" -#: library/asyncio-protocol.rst:760 +#: library/asyncio-protocol.rst:761 msgid "" "The :ref:`TCP echo server using streams ` " "example uses the high-level :func:`asyncio.start_server` function." msgstr "" -#: library/asyncio-protocol.rst:766 +#: library/asyncio-protocol.rst:767 msgid "TCP Echo Client" msgstr "Client de *ping* en TCP" -#: library/asyncio-protocol.rst:768 +#: library/asyncio-protocol.rst:769 msgid "" "A TCP echo client using the :meth:`loop.create_connection` method, sends " "data, and waits until the connection is closed::" msgstr "" -#: library/asyncio-protocol.rst:816 +#: library/asyncio-protocol.rst:817 msgid "" "The :ref:`TCP echo client using streams ` " "example uses the high-level :func:`asyncio.open_connection` function." msgstr "" -#: library/asyncio-protocol.rst:823 +#: library/asyncio-protocol.rst:824 msgid "UDP Echo Server" msgstr "Serveur de *ping* en UDP" -#: library/asyncio-protocol.rst:825 +#: library/asyncio-protocol.rst:826 msgid "" "A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " "sends back received data::" msgstr "" -#: library/asyncio-protocol.rst:867 +#: library/asyncio-protocol.rst:868 msgid "UDP Echo Client" msgstr "Client de *ping* en UDP" -#: library/asyncio-protocol.rst:869 +#: library/asyncio-protocol.rst:870 msgid "" "A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, " "sends data and closes the transport when it receives the answer::" msgstr "" -#: library/asyncio-protocol.rst:924 +#: library/asyncio-protocol.rst:925 msgid "Connecting Existing Sockets" msgstr "" -#: library/asyncio-protocol.rst:926 +#: library/asyncio-protocol.rst:927 msgid "" "Wait until a socket receives data using the :meth:`loop.create_connection` " "method with a protocol::" msgstr "" -#: library/asyncio-protocol.rst:980 +#: library/asyncio-protocol.rst:981 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." "add_reader` method to register an FD." msgstr "" -#: library/asyncio-protocol.rst:984 +#: library/asyncio-protocol.rst:985 msgid "" "The :ref:`register an open socket to wait for data using streams " "` example uses high-level streams " "created by the :func:`open_connection` function in a coroutine." msgstr "" -#: library/asyncio-protocol.rst:991 +#: library/asyncio-protocol.rst:992 msgid "loop.subprocess_exec() and SubprocessProtocol" msgstr "" -#: library/asyncio-protocol.rst:993 +#: library/asyncio-protocol.rst:994 msgid "" "An example of a subprocess protocol used to get the output of a subprocess " "and to wait for the subprocess exit." msgstr "" -#: library/asyncio-protocol.rst:996 +#: library/asyncio-protocol.rst:997 msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::" msgstr "" -#: library/asyncio-protocol.rst:1042 +#: library/asyncio-protocol.rst:1043 msgid "" "See also the :ref:`same example ` " "written using high-level APIs." diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index 69d8806587..e0a4ffca02 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-09-06 13:48+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -177,73 +177,84 @@ msgstr "StreamReader" #: library/asyncio-stream.rst:185 msgid "" "Represents a reader object that provides APIs to read data from the IO " -"stream." +"stream. As an :term:`asynchronous iterable`, the object supports the :" +"keyword:`async for` statement." msgstr "" -#: library/asyncio-stream.rst:188 +#: library/asyncio-stream.rst:189 msgid "" "It is not recommended to instantiate *StreamReader* objects directly; use :" "func:`open_connection` and :func:`start_server` instead." msgstr "" -#: library/asyncio-stream.rst:194 -msgid "" -"Read up to *n* bytes. If *n* is not provided, or set to ``-1``, read until " -"EOF and return all read bytes." +#: library/asyncio-stream.rst:195 +msgid "Read up to *n* bytes from the stream." msgstr "" #: library/asyncio-stream.rst:197 msgid "" -"If EOF was received and the internal buffer is empty, return an empty " -"``bytes`` object." +"If *n* is not provided or set to ``-1``, read until EOF, then return all " +"read :class:`bytes`. If EOF was received and the internal buffer is empty, " +"return an empty ``bytes`` object." msgstr "" #: library/asyncio-stream.rst:202 +msgid "If *n* is ``0``, return an empty ``bytes`` object immediately." +msgstr "" + +#: library/asyncio-stream.rst:204 +msgid "" +"If *n* is positive, return at most *n* available ``bytes`` as soon as at " +"least 1 byte is available in the internal buffer. If EOF is received before " +"any byte is read, return an empty ``bytes`` object." +msgstr "" + +#: library/asyncio-stream.rst:211 msgid "" "Read one line, where \"line\" is a sequence of bytes ending with ``\\n``." msgstr "" -#: library/asyncio-stream.rst:205 +#: library/asyncio-stream.rst:214 msgid "" "If EOF is received and ``\\n`` was not found, the method returns partially " "read data." msgstr "" -#: library/asyncio-stream.rst:208 +#: library/asyncio-stream.rst:217 msgid "" "If EOF is received and the internal buffer is empty, return an empty " "``bytes`` object." msgstr "" -#: library/asyncio-stream.rst:213 +#: library/asyncio-stream.rst:222 msgid "Read exactly *n* bytes." msgstr "" -#: library/asyncio-stream.rst:215 +#: library/asyncio-stream.rst:224 msgid "" "Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " "read. Use the :attr:`IncompleteReadError.partial` attribute to get the " "partially read data." msgstr "" -#: library/asyncio-stream.rst:221 +#: library/asyncio-stream.rst:230 msgid "Read data from the stream until *separator* is found." msgstr "" -#: library/asyncio-stream.rst:223 +#: library/asyncio-stream.rst:232 msgid "" "On success, the data and separator will be removed from the internal buffer " "(consumed). Returned data will include the separator at the end." msgstr "" -#: library/asyncio-stream.rst:227 +#: library/asyncio-stream.rst:236 msgid "" "If the amount of data read exceeds the configured stream limit, a :exc:" "`LimitOverrunError` exception is raised, and the data is left in the " "internal buffer and can be read again." msgstr "" -#: library/asyncio-stream.rst:231 +#: library/asyncio-stream.rst:240 msgid "" "If EOF is reached before the complete separator is found, an :exc:" "`IncompleteReadError` exception is raised, and the internal buffer is " @@ -251,77 +262,79 @@ msgid "" "portion of the separator." msgstr "" -#: library/asyncio-stream.rst:240 +#: library/asyncio-stream.rst:249 msgid "Return ``True`` if the buffer is empty and :meth:`feed_eof` was called." msgstr "" -#: library/asyncio-stream.rst:245 +#: library/asyncio-stream.rst:254 msgid "StreamWriter" msgstr "StreamWriter" -#: library/asyncio-stream.rst:249 +#: library/asyncio-stream.rst:258 msgid "" "Represents a writer object that provides APIs to write data to the IO stream." msgstr "" -#: library/asyncio-stream.rst:252 +#: library/asyncio-stream.rst:261 msgid "" "It is not recommended to instantiate *StreamWriter* objects directly; use :" "func:`open_connection` and :func:`start_server` instead." msgstr "" -#: library/asyncio-stream.rst:258 +#: library/asyncio-stream.rst:267 msgid "" "The method attempts to write the *data* to the underlying socket " "immediately. If that fails, the data is queued in an internal write buffer " "until it can be sent." msgstr "" -#: library/asyncio-stream.rst:274 +#: library/asyncio-stream.rst:283 msgid "The method should be used along with the ``drain()`` method::" msgstr "" -#: library/asyncio-stream.rst:269 +#: library/asyncio-stream.rst:278 msgid "" "The method writes a list (or any iterable) of bytes to the underlying socket " "immediately. If that fails, the data is queued in an internal write buffer " "until it can be sent." msgstr "" -#: library/asyncio-stream.rst:281 +#: library/asyncio-stream.rst:290 msgid "The method closes the stream and the underlying socket." msgstr "" -#: library/asyncio-stream.rst:283 -msgid "The method should be used along with the ``wait_closed()`` method::" +#: library/asyncio-stream.rst:292 +msgid "" +"The method should be used, though not mandatory, along with the " +"``wait_closed()`` method::" msgstr "" -#: library/asyncio-stream.rst:290 +#: library/asyncio-stream.rst:300 msgid "" "Return ``True`` if the underlying transport supports the :meth:`write_eof` " "method, ``False`` otherwise." msgstr "" -#: library/asyncio-stream.rst:295 +#: library/asyncio-stream.rst:305 msgid "" "Close the write end of the stream after the buffered write data is flushed." msgstr "" -#: library/asyncio-stream.rst:300 +#: library/asyncio-stream.rst:310 msgid "Return the underlying asyncio transport." msgstr "" -#: library/asyncio-stream.rst:304 +#: library/asyncio-stream.rst:314 msgid "" "Access optional transport information; see :meth:`BaseTransport." "get_extra_info` for details." msgstr "" -#: library/asyncio-stream.rst:309 +#: library/asyncio-stream.rst:319 msgid "Wait until it is appropriate to resume writing to the stream. Example::" msgstr "" -#: library/asyncio-stream.rst:315 +#: library/asyncio-stream.rst:325 msgid "" "This is a flow control method that interacts with the underlying IO write " "buffer. When the size of the buffer reaches the high watermark, *drain()* " @@ -330,90 +343,91 @@ msgid "" "`drain` returns immediately." msgstr "" -#: library/asyncio-stream.rst:324 +#: library/asyncio-stream.rst:334 msgid "" "Return ``True`` if the stream is closed or in the process of being closed." msgstr "" -#: library/asyncio-stream.rst:331 +#: library/asyncio-stream.rst:341 msgid "Wait until the stream is closed." msgstr "" -#: library/asyncio-stream.rst:333 +#: library/asyncio-stream.rst:343 msgid "" "Should be called after :meth:`close` to wait until the underlying connection " -"is closed." +"is closed, ensuring that all data has been flushed before e.g. exiting the " +"program." msgstr "" -#: library/asyncio-stream.rst:340 +#: library/asyncio-stream.rst:351 msgid "Examples" msgstr "Exemples" -#: library/asyncio-stream.rst:345 +#: library/asyncio-stream.rst:356 msgid "TCP echo client using streams" msgstr "" -#: library/asyncio-stream.rst:347 +#: library/asyncio-stream.rst:358 msgid "TCP echo client using the :func:`asyncio.open_connection` function::" msgstr "" -#: library/asyncio-stream.rst:369 +#: library/asyncio-stream.rst:381 msgid "" "The :ref:`TCP echo client protocol " "` example uses the low-level :meth:" "`loop.create_connection` method." msgstr "" -#: library/asyncio-stream.rst:376 +#: library/asyncio-stream.rst:388 msgid "TCP echo server using streams" msgstr "" -#: library/asyncio-stream.rst:378 +#: library/asyncio-stream.rst:390 msgid "TCP echo server using the :func:`asyncio.start_server` function::" msgstr "" -#: library/asyncio-stream.rst:411 +#: library/asyncio-stream.rst:424 msgid "" "The :ref:`TCP echo server protocol " "` example uses the :meth:`loop." "create_server` method." msgstr "" -#: library/asyncio-stream.rst:416 +#: library/asyncio-stream.rst:429 msgid "Get HTTP headers" msgstr "Récupère les en-têtes HTTP" -#: library/asyncio-stream.rst:418 +#: library/asyncio-stream.rst:431 msgid "" "Simple example querying HTTP headers of the URL passed on the command line::" msgstr "" -#: library/asyncio-stream.rst:456 +#: library/asyncio-stream.rst:470 msgid "Usage::" msgstr "Utilisation ::" -#: library/asyncio-stream.rst:460 +#: library/asyncio-stream.rst:474 msgid "or with HTTPS::" msgstr "ou avec HTTPS ::" -#: library/asyncio-stream.rst:468 +#: library/asyncio-stream.rst:482 msgid "Register an open socket to wait for data using streams" msgstr "" -#: library/asyncio-stream.rst:470 +#: library/asyncio-stream.rst:484 msgid "" "Coroutine waiting until a socket receives data using the :func:" "`open_connection` function::" msgstr "" -#: library/asyncio-stream.rst:504 +#: library/asyncio-stream.rst:519 msgid "" "The :ref:`register an open socket to wait for data using a protocol " "` example uses a low-level protocol and " "the :meth:`loop.create_connection` method." msgstr "" -#: library/asyncio-stream.rst:508 +#: library/asyncio-stream.rst:523 msgid "" "The :ref:`watch a file descriptor for read events " "` example uses the low-level :meth:`loop." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index d6c0161c34..ba1b4fc005 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-10-15 00:37+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -220,7 +220,7 @@ msgstr "" msgid "" "the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." "subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" -"func:`wait_for` function;" +"func:`~asyncio.wait_for` function;" msgstr "" #: library/asyncio-subprocess.rst:180 diff --git a/library/asyncio-task.po b/library/asyncio-task.po index c9c6ca152b..d131bd93ec 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2020-09-22 17:11+0200\n" "Last-Translator: Philippe GALVAN \n" "Language-Team: FRENCH \n" @@ -27,11 +27,15 @@ msgstr "" "Cette section donne un aperçu des API de haut-niveau du module *asyncio* " "pour utiliser les coroutines et les tâches." -#: library/asyncio-task.rst:121 +#: library/asyncio-task.rst:125 msgid "Coroutines" msgstr "Coroutines" #: library/asyncio-task.rst:21 +msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" +msgstr "" + +#: library/asyncio-task.rst:25 #, fuzzy msgid "" ":term:`Coroutines ` declared with the async/await syntax is the " @@ -43,18 +47,18 @@ msgstr "" "exemple, l’extrait de code suivant (requiert Python 3.7+) affiche « hello », " "attend 1 seconde et affiche ensuite « world » ::" -#: library/asyncio-task.rst:37 +#: library/asyncio-task.rst:41 msgid "" "Note that simply calling a coroutine will not schedule it to be executed::" msgstr "Appeler une coroutine ne la planifie pas pour exécution ::" -#: library/asyncio-task.rst:43 +#: library/asyncio-task.rst:47 msgid "To actually run a coroutine, asyncio provides three main mechanisms:" msgstr "" "Pour réellement exécuter une coroutine, *asyncio* fournit trois mécanismes " "principaux :" -#: library/asyncio-task.rst:45 +#: library/asyncio-task.rst:49 msgid "" "The :func:`asyncio.run` function to run the top-level entry point \"main()\" " "function (see the above example.)" @@ -62,7 +66,7 @@ msgstr "" "La fonction :func:`asyncio.run` pour exécuter la fonction « main() », le " "point d'entrée de haut-niveau (voir l'exemple ci-dessus)." -#: library/asyncio-task.rst:48 +#: library/asyncio-task.rst:52 msgid "" "Awaiting on a coroutine. The following snippet of code will print \"hello\" " "after waiting for 1 second, and then print \"world\" after waiting for " @@ -72,11 +76,11 @@ msgstr "" "affiche « hello », attend 2 secondes *supplémentaires*, puis affiche enfin " "« world » ::" -#: library/asyncio-task.rst:69 +#: library/asyncio-task.rst:73 msgid "Expected output::" msgstr "Sortie attendue ::" -#: library/asyncio-task.rst:76 +#: library/asyncio-task.rst:80 msgid "" "The :func:`asyncio.create_task` function to run coroutines concurrently as " "asyncio :class:`Tasks `." @@ -84,7 +88,7 @@ msgstr "" "La fonction :func:`asyncio.create_task` pour exécuter de manière concurrente " "des coroutines en tant que :class:`tâches ` *asyncio*." -#: library/asyncio-task.rst:79 +#: library/asyncio-task.rst:83 msgid "" "Let's modify the above example and run two ``say_after`` coroutines " "*concurrently*::" @@ -92,7 +96,7 @@ msgstr "" "Modifions l'exemple ci-dessus et lançons deux coroutines ``say_after`` *de " "manière concurrente* ::" -#: library/asyncio-task.rst:98 +#: library/asyncio-task.rst:102 msgid "" "Note that expected output now shows that the snippet runs 1 second faster " "than before::" @@ -100,11 +104,11 @@ msgstr "" "La sortie attendue montre à présent que ce code s'exécute une seconde plus " "rapidement que le précédent ::" -#: library/asyncio-task.rst:110 +#: library/asyncio-task.rst:114 msgid "Awaitables" msgstr "*Attendables*" -#: library/asyncio-task.rst:112 +#: library/asyncio-task.rst:116 msgid "" "We say that an object is an **awaitable** object if it can be used in an :" "keyword:`await` expression. Many asyncio APIs are designed to accept " @@ -114,7 +118,7 @@ msgstr "" "attendu) s'il peut être utilisé dans une expression :keyword:`await`. " "Beaucoup d'API d'*asyncio* sont conçues pour accepter des *attendables*." -#: library/asyncio-task.rst:116 +#: library/asyncio-task.rst:120 msgid "" "There are three main types of *awaitable* objects: **coroutines**, " "**Tasks**, and **Futures**." @@ -122,7 +126,7 @@ msgstr "" "Il existe trois types principaux d'*attendables* : les **coroutines**, les " "**tâches** et les **futurs**." -#: library/asyncio-task.rst:122 +#: library/asyncio-task.rst:126 msgid "" "Python coroutines are *awaitables* and therefore can be awaited from other " "coroutines::" @@ -130,7 +134,7 @@ msgstr "" "Les coroutines sont des *awaitables* et peuvent donc être attendues par " "d'autres coroutines ::" -#: library/asyncio-task.rst:143 +#: library/asyncio-task.rst:147 msgid "" "In this documentation the term \"coroutine\" can be used for two closely " "related concepts:" @@ -138,16 +142,16 @@ msgstr "" "Dans cette documentation, le terme « coroutine » est utilisé pour désigner " "deux concepts voisins :" -#: library/asyncio-task.rst:146 +#: library/asyncio-task.rst:150 msgid "a *coroutine function*: an :keyword:`async def` function;" msgstr "une *fonction coroutine* : une fonction :keyword:`async def` ;" -#: library/asyncio-task.rst:148 +#: library/asyncio-task.rst:152 msgid "" "a *coroutine object*: an object returned by calling a *coroutine function*." msgstr "un *objet coroutine* : un objet renvoyé par une *fonction coroutine*." -#: library/asyncio-task.rst:151 +#: library/asyncio-task.rst:155 msgid "" "asyncio also supports legacy :ref:`generator-based " "` coroutines." @@ -155,17 +159,17 @@ msgstr "" "*asyncio* implémente également les coroutines :ref:`basées sur des " "générateurs ` ; celles-ci sont obsolètes." -#: library/asyncio-task.rst:156 +#: library/asyncio-task.rst:160 msgid "Tasks" msgstr "Tâches" -#: library/asyncio-task.rst:157 +#: library/asyncio-task.rst:161 msgid "*Tasks* are used to schedule coroutines *concurrently*." msgstr "" "Les *tâches* servent à planifier des coroutines de façon à ce qu'elles " "s'exécutent de manière concurrente." -#: library/asyncio-task.rst:159 +#: library/asyncio-task.rst:163 msgid "" "When a coroutine is wrapped into a *Task* with functions like :func:`asyncio." "create_task` the coroutine is automatically scheduled to run soon::" @@ -174,11 +178,11 @@ msgstr "" "comme :func:`asyncio.create_task`, la coroutine est automatiquement " "planifiée pour s'exécuter prochainement ::" -#: library/asyncio-task.rst:181 +#: library/asyncio-task.rst:185 msgid "Futures" msgstr "Futurs" -#: library/asyncio-task.rst:182 +#: library/asyncio-task.rst:186 msgid "" "A :class:`Future` is a special **low-level** awaitable object that " "represents an **eventual result** of an asynchronous operation." @@ -186,7 +190,7 @@ msgstr "" "Un :class:`Future` est un objet *awaitable* spécial de **bas-niveau**, qui " "représente le **résultat final** d'une opération asynchrone." -#: library/asyncio-task.rst:185 +#: library/asyncio-task.rst:189 msgid "" "When a Future object is *awaited* it means that the coroutine will wait " "until the Future is resolved in some other place." @@ -194,7 +198,7 @@ msgstr "" "Quand un objet *Future* est *attendu*, cela signifie que la coroutine " "attendra que ce futur soit résolu à un autre endroit." -#: library/asyncio-task.rst:188 +#: library/asyncio-task.rst:192 msgid "" "Future objects in asyncio are needed to allow callback-based code to be used " "with async/await." @@ -202,7 +206,7 @@ msgstr "" "Les objets *Future* d'*asyncio* sont nécessaires pour permettre l'exécution " "de code basé sur les fonctions de rappel avec la syntaxe *async* / *await*." -#: library/asyncio-task.rst:191 +#: library/asyncio-task.rst:195 msgid "" "Normally **there is no need** to create Future objects at the application " "level code." @@ -210,7 +214,7 @@ msgstr "" "Il est normalement **inutile** de créer des objets *Future* dans la couche " "applicative du code." -#: library/asyncio-task.rst:194 +#: library/asyncio-task.rst:198 msgid "" "Future objects, sometimes exposed by libraries and some asyncio APIs, can be " "awaited::" @@ -218,7 +222,7 @@ msgstr "" "Les objets *Future*, parfois exposés par des bibliothèques et quelques API " "d'*asyncio*, peuvent être attendus ::" -#: library/asyncio-task.rst:206 +#: library/asyncio-task.rst:210 msgid "" "A good example of a low-level function that returns a Future object is :meth:" "`loop.run_in_executor`." @@ -226,15 +230,15 @@ msgstr "" ":meth:`loop.run_in_executor` est l'exemple typique d'une fonction bas-niveau " "renvoyant un objet *Future*." -#: library/asyncio-task.rst:211 +#: library/asyncio-task.rst:215 msgid "Running an asyncio Program" msgstr "Exécution d'un programme *asyncio*" -#: library/asyncio-task.rst:215 +#: library/asyncio-task.rst:219 msgid "Execute the :term:`coroutine` *coro* and return the result." msgstr "Exécute la :term:`coroutine` *coro* et renvoie le résultat." -#: library/asyncio-task.rst:217 +#: library/asyncio-task.rst:221 #, fuzzy msgid "" "This function runs the passed coroutine, taking care of managing the asyncio " @@ -243,7 +247,7 @@ msgstr "" "Cette fonction exécute la coroutine passée en argument. Elle gère la boucle " "d'événements *asyncio* et *finalise les générateurs asynchrones*." -#: library/asyncio-task.rst:221 +#: library/asyncio-task.rst:225 msgid "" "This function cannot be called when another asyncio event loop is running in " "the same thread." @@ -251,13 +255,13 @@ msgstr "" "Cette fonction ne peut pas être appelée si une autre boucle d'événement " "*asyncio* s'exécute dans le même fil d'exécution." -#: library/asyncio-task.rst:224 +#: library/asyncio-task.rst:228 msgid "If *debug* is ``True``, the event loop will be run in debug mode." msgstr "" "Si *debug* vaut ``True``, la boucle d'événement s'exécute en mode de " "débogage." -#: library/asyncio-task.rst:226 +#: library/asyncio-task.rst:230 msgid "" "This function always creates a new event loop and closes it at the end. It " "should be used as a main entry point for asyncio programs, and should " @@ -267,15 +271,15 @@ msgstr "" "fin. Elle doit être utilisée comme point d'entrée principal des programmes " "*asyncio* et ne doit être idéalement appelée qu'une seule fois." -#: library/asyncio-task.rst:374 library/asyncio-task.rst:652 +#: library/asyncio-task.rst:382 library/asyncio-task.rst:657 msgid "Example::" msgstr "Exemple ::" -#: library/asyncio-task.rst:240 +#: library/asyncio-task.rst:244 msgid "Updated to use :meth:`loop.shutdown_default_executor`." msgstr "" -#: library/asyncio-task.rst:244 +#: library/asyncio-task.rst:248 msgid "" "The source code for ``asyncio.run()`` can be found in :source:`Lib/asyncio/" "runners.py`." @@ -283,11 +287,15 @@ msgstr "" "Le code source pour ``asyncio.run()`` est disponible dans :source:`Lib/" "asyncio/runners.py`." -#: library/asyncio-task.rst:248 +#: library/asyncio-task.rst:252 msgid "Creating Tasks" msgstr "Création de tâches" -#: library/asyncio-task.rst:252 +#: library/asyncio-task.rst:254 +msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" +msgstr "" + +#: library/asyncio-task.rst:260 msgid "" "Wrap the *coro* :ref:`coroutine ` into a :class:`Task` and " "schedule its execution. Return the Task object." @@ -295,7 +303,7 @@ msgstr "" "Encapsule la :ref:`coroutine ` *coro* dans une tâche et la " "planifie pour exécution. Renvoie l'objet :class:`Task`." -#: library/asyncio-task.rst:255 +#: library/asyncio-task.rst:263 msgid "" "If *name* is not ``None``, it is set as the name of the task using :meth:" "`Task.set_name`." @@ -303,7 +311,7 @@ msgstr "" "Si *name* n’est pas ``None``, il est défini comme le nom de la tâche en " "utilisant :meth:`Task.set_name`." -#: library/asyncio-task.rst:258 +#: library/asyncio-task.rst:266 msgid "" "The task is executed in the loop returned by :func:`get_running_loop`, :exc:" "`RuntimeError` is raised if there is no running loop in current thread." @@ -312,7 +320,7 @@ msgstr "" "`get_running_loop` ; :exc:`RuntimeError` est levée s'il n'y a pas de boucle " "en cours d'exécution dans le fil actuel." -#: library/asyncio-task.rst:264 +#: library/asyncio-task.rst:272 msgid "" "Save a reference to the result of this function, to avoid a task " "disappearing mid-execution. The event loop only keeps weak references to " @@ -321,20 +329,20 @@ msgid "" "tasks, gather them in a collection::" msgstr "" -#: library/asyncio-task.rst:841 +#: library/asyncio-task.rst:846 #, fuzzy msgid "Added the *name* parameter." msgstr "ajout du paramètre ``name``." -#: library/asyncio-task.rst:291 +#: library/asyncio-task.rst:299 msgid "Sleeping" msgstr "Attente" -#: library/asyncio-task.rst:295 +#: library/asyncio-task.rst:303 msgid "Block for *delay* seconds." msgstr "Attend pendant *delay* secondes." -#: library/asyncio-task.rst:297 +#: library/asyncio-task.rst:305 msgid "" "If *result* is provided, it is returned to the caller when the coroutine " "completes." @@ -342,45 +350,45 @@ msgstr "" "Si *result* est spécifié, il est renvoyé à l'appelant quand la coroutine se " "termine." -#: library/asyncio-task.rst:300 +#: library/asyncio-task.rst:308 msgid "" "``sleep()`` always suspends the current task, allowing other tasks to run." msgstr "" "``sleep()`` suspend systématiquement la tâche courante, ce qui permet aux " "autres tâches de s'exécuter." -#: library/asyncio-task.rst:303 +#: library/asyncio-task.rst:311 msgid "" "Setting the delay to 0 provides an optimized path to allow other tasks to " "run. This can be used by long-running functions to avoid blocking the event " "loop for the full duration of the function call." msgstr "" -#: library/asyncio-task.rst:312 +#: library/asyncio-task.rst:320 msgid "" "The ``loop`` parameter. This function has been implicitly getting the " "current running loop since 3.7. See :ref:`What's New in 3.10's Removed " "section ` for more information." msgstr "" -#: library/asyncio-task.rst:315 +#: library/asyncio-task.rst:323 msgid "" "Example of coroutine displaying the current date every second for 5 seconds::" msgstr "" "Exemple d'une coroutine affichant la date toutes les secondes pendant 5 " "secondes ::" -#: library/asyncio-task.rst:369 library/asyncio-task.rst:477 -#: library/asyncio-task.rst:541 library/asyncio-task.rst:635 -#: library/asyncio-task.rst:658 +#: library/asyncio-task.rst:377 library/asyncio-task.rst:485 +#: library/asyncio-task.rst:549 library/asyncio-task.rst:643 +#: library/asyncio-task.rst:663 msgid "Removed the *loop* parameter." msgstr "Suppression du paramètre *loop*." -#: library/asyncio-task.rst:338 +#: library/asyncio-task.rst:346 msgid "Running Tasks Concurrently" msgstr "Exécution de tâches de manière concurrente" -#: library/asyncio-task.rst:342 +#: library/asyncio-task.rst:350 msgid "" "Run :ref:`awaitable objects ` in the *aws* sequence " "*concurrently*." @@ -388,7 +396,7 @@ msgstr "" "Exécute les objets :ref:`awaitable ` de la séquence " "*aws*, *de manière concurrente*." -#: library/asyncio-task.rst:345 +#: library/asyncio-task.rst:353 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task." @@ -396,7 +404,7 @@ msgstr "" "Si un *attendable* de *aws* est une coroutine, celui-ci est automatiquement " "planifié comme une tâche *Task*." -#: library/asyncio-task.rst:348 +#: library/asyncio-task.rst:356 msgid "" "If all awaitables are completed successfully, the result is an aggregate " "list of returned values. The order of result values corresponds to the " @@ -406,7 +414,7 @@ msgstr "" "des valeurs renvoyées. L'ordre de cette liste correspond à l'ordre des " "*awaitables* dans *aws*." -#: library/asyncio-task.rst:352 +#: library/asyncio-task.rst:360 msgid "" "If *return_exceptions* is ``False`` (default), the first raised exception is " "immediately propagated to the task that awaits on ``gather()``. Other " @@ -418,7 +426,7 @@ msgstr "" "``gather()``. Les autres *attendables* dans la séquence *aws* **ne sont pas " "annulés** et poursuivent leur exécution." -#: library/asyncio-task.rst:357 +#: library/asyncio-task.rst:365 msgid "" "If *return_exceptions* is ``True``, exceptions are treated the same as " "successful results, and aggregated in the result list." @@ -427,7 +435,7 @@ msgstr "" "même manière que les exécutions normales, et incluses dans la liste des " "résultats." -#: library/asyncio-task.rst:360 +#: library/asyncio-task.rst:368 msgid "" "If ``gather()`` is *cancelled*, all submitted awaitables (that have not " "completed yet) are also *cancelled*." @@ -435,7 +443,7 @@ msgstr "" "Si ``gather()`` est *annulé*, tous les *awaitables* en cours (ceux qui n'ont " "pas encore fini de s'exécuter) sont également *annulés*." -#: library/asyncio-task.rst:363 +#: library/asyncio-task.rst:371 msgid "" "If any Task or Future from the *aws* sequence is *cancelled*, it is treated " "as if it raised :exc:`CancelledError` -- the ``gather()`` call is **not** " @@ -448,7 +456,7 @@ msgstr "" "l'annulation d'une tâche ou d'un futur entraîne l'annulation des autres " "tâches ou futurs." -#: library/asyncio-task.rst:412 +#: library/asyncio-task.rst:420 msgid "" "If *return_exceptions* is False, cancelling gather() after it has been " "marked done won't cancel any submitted awaitables. For instance, gather can " @@ -457,7 +465,7 @@ msgid "" "the awaitables) from gather won't cancel any other awaitables." msgstr "" -#: library/asyncio-task.rst:419 +#: library/asyncio-task.rst:427 msgid "" "If the *gather* itself is cancelled, the cancellation is propagated " "regardless of *return_exceptions*." @@ -465,18 +473,18 @@ msgstr "" "Si *gather* est lui-même annulé, l'annulation est propagée indépendamment de " "*return_exceptions*." -#: library/asyncio-task.rst:426 +#: library/asyncio-task.rst:434 msgid "" "Deprecation warning is emitted if no positional arguments are provided or " "not all positional arguments are Future-like objects and there is no running " "event loop." msgstr "" -#: library/asyncio-task.rst:433 +#: library/asyncio-task.rst:441 msgid "Shielding From Cancellation" msgstr "Protection contre l'annulation" -#: library/asyncio-task.rst:437 +#: library/asyncio-task.rst:445 msgid "" "Protect an :ref:`awaitable object ` from being :meth:" "`cancelled `." @@ -484,21 +492,21 @@ msgstr "" "Empêche qu'un objet :ref:`awaitable ` puisse être :meth:" "`annulé `." -#: library/asyncio-task.rst:493 +#: library/asyncio-task.rst:501 msgid "If *aw* is a coroutine it is automatically scheduled as a Task." msgstr "" "Si *aw* est une coroutine, elle est planifiée automatiquement comme une " "tâche." -#: library/asyncio-task.rst:442 +#: library/asyncio-task.rst:450 msgid "The statement::" msgstr "L'instruction ::" -#: library/asyncio-task.rst:447 +#: library/asyncio-task.rst:455 msgid "is equivalent to::" msgstr "est équivalente à ::" -#: library/asyncio-task.rst:451 +#: library/asyncio-task.rst:459 msgid "" "*except* that if the coroutine containing it is cancelled, the Task running " "in ``something()`` is not cancelled. From the point of view of " @@ -511,7 +519,7 @@ msgstr "" "``something()``, il n'y a pas eu d'annulation. Cependant, son appelant est " "bien annulé, donc l'expression *await* lève bien une :exc:`CancelledError`." -#: library/asyncio-task.rst:457 +#: library/asyncio-task.rst:465 msgid "" "If ``something()`` is cancelled by other means (i.e. from within itself) " "that would also cancel ``shield()``." @@ -519,7 +527,7 @@ msgstr "" "Si ``something()`` est annulée d'une autre façon (c.-à-d. depuis elle-même) " "ceci annule également ``shield()``." -#: library/asyncio-task.rst:460 +#: library/asyncio-task.rst:468 msgid "" "If it is desired to completely ignore cancellation (not recommended) the " "``shield()`` function should be combined with a try/except clause, as " @@ -529,7 +537,7 @@ msgstr "" "``shield()`` peut être combinée à une clause *try* / *except*, comme dans le " "code ci-dessous ::" -#: library/asyncio-task.rst:472 +#: library/asyncio-task.rst:480 msgid "" "Save a reference to tasks passed to this function, to avoid a task " "disappearing mid-execution. The event loop only keeps weak references to " @@ -537,17 +545,17 @@ msgid "" "any time, even before it's done." msgstr "" -#: library/asyncio-task.rst:480 +#: library/asyncio-task.rst:488 msgid "" "Deprecation warning is emitted if *aw* is not Future-like object and there " "is no running event loop." msgstr "" -#: library/asyncio-task.rst:486 +#: library/asyncio-task.rst:494 msgid "Timeouts" msgstr "Délais d'attente" -#: library/asyncio-task.rst:490 +#: library/asyncio-task.rst:498 msgid "" "Wait for the *aw* :ref:`awaitable ` to complete with a " "timeout." @@ -555,7 +563,7 @@ msgstr "" "Attend la fin de l':ref:`awaitable ` *aw* avec délai " "d'attente." -#: library/asyncio-task.rst:495 +#: library/asyncio-task.rst:503 msgid "" "*timeout* can either be ``None`` or a float or int number of seconds to wait " "for. If *timeout* is ``None``, block until the future completes." @@ -564,7 +572,7 @@ msgstr "" "décimal) d'attente. Si *timeout* vaut ``None``, la fonction s'interrompt " "jusqu'à ce que le futur s'achève." -#: library/asyncio-task.rst:499 +#: library/asyncio-task.rst:507 msgid "" "If a timeout occurs, it cancels the task and raises :exc:`asyncio." "TimeoutError`." @@ -572,7 +580,7 @@ msgstr "" "Si le délai d'attente maximal est dépassé, la tâche est annulée et " "l'exception :exc:`asyncio.TimeoutError` est levée." -#: library/asyncio-task.rst:502 +#: library/asyncio-task.rst:510 msgid "" "To avoid the task :meth:`cancellation `, wrap it in :func:" "`shield`." @@ -580,7 +588,7 @@ msgstr "" "Pour empêcher :meth:`l'annulation ` de la tâche, il est " "nécessaire de l'encapsuler dans une fonction :func:`shield`." -#: library/asyncio-task.rst:505 +#: library/asyncio-task.rst:513 #, fuzzy msgid "" "The function will wait until the future is actually cancelled, so the total " @@ -590,11 +598,11 @@ msgstr "" "Cette fonction attend que le futur soit réellement annulé, donc le temps " "d'attente total peut être supérieur à *timeout*." -#: library/asyncio-task.rst:509 +#: library/asyncio-task.rst:517 msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si l'attente est annulée, le futur *aw* est également annulé." -#: library/asyncio-task.rst:536 +#: library/asyncio-task.rst:544 msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`asyncio.TimeoutError` immediately." @@ -603,11 +611,11 @@ msgstr "" "``wait_for`` attend que *aw* soit annulée. Auparavant, l'exception :exc:" "`asyncio.TimeoutError` était immédiatement levée." -#: library/asyncio-task.rst:546 +#: library/asyncio-task.rst:554 msgid "Waiting Primitives" msgstr "Primitives d'attente" -#: library/asyncio-task.rst:550 +#: library/asyncio-task.rst:558 #, fuzzy msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " @@ -617,19 +625,19 @@ msgstr "" "*aws* de manière concurrente, et s'interrompt jusqu'à ce que la condition " "décrite dans *return_when* soit vraie." -#: library/asyncio-task.rst:554 +#: library/asyncio-task.rst:562 msgid "The *aws* iterable must not be empty." msgstr "" -#: library/asyncio-task.rst:556 +#: library/asyncio-task.rst:564 msgid "Returns two sets of Tasks/Futures: ``(done, pending)``." msgstr "Renvoie deux ensembles de *Tasks* / *Futures* : ``(done, pending)``." -#: library/asyncio-task.rst:558 +#: library/asyncio-task.rst:566 msgid "Usage::" msgstr "Utilisation ::" -#: library/asyncio-task.rst:562 +#: library/asyncio-task.rst:570 msgid "" "*timeout* (a float or int), if specified, can be used to control the maximum " "number of seconds to wait before returning." @@ -637,7 +645,7 @@ msgstr "" "*timeout* (entier ou décimal), si précisé, peut-être utilisé pour contrôler " "le nombre maximal de secondes d'attente avant de se terminer." -#: library/asyncio-task.rst:565 +#: library/asyncio-task.rst:573 msgid "" "Note that this function does not raise :exc:`asyncio.TimeoutError`. Futures " "or Tasks that aren't done when the timeout occurs are simply returned in the " @@ -647,7 +655,7 @@ msgstr "" "tâches qui ne sont pas finis quand le délai d'attente maximal est dépassé " "sont tout simplement renvoyés dans le second ensemble." -#: library/asyncio-task.rst:569 +#: library/asyncio-task.rst:577 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -655,28 +663,28 @@ msgstr "" "*return_when* indique quand la fonction doit se terminer. Il peut prendre " "les valeurs suivantes :" -#: library/asyncio-task.rst:575 +#: library/asyncio-task.rst:583 msgid "Constant" msgstr "Constante" -#: library/asyncio-task.rst:575 +#: library/asyncio-task.rst:583 msgid "Description" msgstr "Description" -#: library/asyncio-task.rst:577 +#: library/asyncio-task.rst:585 msgid ":const:`FIRST_COMPLETED`" msgstr ":const:`FIRST_COMPLETED`" -#: library/asyncio-task.rst:577 +#: library/asyncio-task.rst:585 msgid "The function will return when any future finishes or is cancelled." msgstr "" "La fonction se termine lorsque n'importe quel futur se termine ou est annulé." -#: library/asyncio-task.rst:580 +#: library/asyncio-task.rst:588 msgid ":const:`FIRST_EXCEPTION`" msgstr ":const:`FIRST_EXCEPTION`" -#: library/asyncio-task.rst:580 +#: library/asyncio-task.rst:588 msgid "" "The function will return when any future finishes by raising an exception. " "If no future raises an exception then it is equivalent to :const:" @@ -686,16 +694,16 @@ msgstr "" "exception. Si aucun *futur* ne lève d'exception, équivaut à :const:" "`ALL_COMPLETED`." -#: library/asyncio-task.rst:586 +#: library/asyncio-task.rst:594 msgid ":const:`ALL_COMPLETED`" msgstr ":const:`ALL_COMPLETED`" -#: library/asyncio-task.rst:586 +#: library/asyncio-task.rst:594 msgid "The function will return when all futures finish or are cancelled." msgstr "" "La fonction se termine lorsque les *futurs* sont tous finis ou annulés." -#: library/asyncio-task.rst:590 +#: library/asyncio-task.rst:598 msgid "" "Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " "when a timeout occurs." @@ -703,7 +711,7 @@ msgstr "" "À la différence de :func:`~asyncio.wait_for`, ``wait()`` n'annule pas les " "futurs quand le délai d'attente est dépassé." -#: library/asyncio-task.rst:595 +#: library/asyncio-task.rst:603 msgid "" "If any awaitable in *aws* is a coroutine, it is automatically scheduled as a " "Task. Passing coroutines objects to ``wait()`` directly is deprecated as it " @@ -714,7 +722,7 @@ msgstr "" "``wait()`` est obsolète, car ceci conduisait :ref:`à un comportement portant " "à confusion `." -#: library/asyncio-task.rst:606 +#: library/asyncio-task.rst:614 msgid "" "``wait()`` schedules coroutines as Tasks automatically and later returns " "those implicitly created Task objects in ``(done, pending)`` sets. " @@ -724,15 +732,15 @@ msgstr "" "renvoie les objets *Task* ainsi créés dans les ensembles ``(done, " "pending)``. Le code suivant ne fonctionne donc pas comme voulu ::" -#: library/asyncio-task.rst:619 +#: library/asyncio-task.rst:627 msgid "Here is how the above snippet can be fixed::" msgstr "Voici comment corriger le morceau de code ci-dessus ::" -#: library/asyncio-task.rst:632 +#: library/asyncio-task.rst:640 msgid "Passing coroutine objects to ``wait()`` directly is deprecated." msgstr "Passer directement des objets coroutines à ``wait()`` est obsolète." -#: library/asyncio-task.rst:641 +#: library/asyncio-task.rst:649 #, fuzzy msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " @@ -745,7 +753,7 @@ msgstr "" "`Future`. Chaque objet *futur* renvoyé représente le résultat le plus récent " "de l'ensemble des *awaitables* restants." -#: library/asyncio-task.rst:646 +#: library/asyncio-task.rst:654 msgid "" "Raises :exc:`asyncio.TimeoutError` if the timeout occurs before all Futures " "are done." @@ -753,21 +761,21 @@ msgstr "" "Lève une exception :exc:`asyncio.TimeoutError` si le délai d'attente est " "dépassé avant que tous les futurs ne soient achevés." -#: library/asyncio-task.rst:661 +#: library/asyncio-task.rst:666 msgid "" "Deprecation warning is emitted if not all awaitable objects in the *aws* " "iterable are Future-like objects and there is no running event loop." msgstr "" -#: library/asyncio-task.rst:667 +#: library/asyncio-task.rst:672 msgid "Running in Threads" msgstr "" -#: library/asyncio-task.rst:671 +#: library/asyncio-task.rst:676 msgid "Asynchronously run function *func* in a separate thread." msgstr "" -#: library/asyncio-task.rst:673 +#: library/asyncio-task.rst:678 msgid "" "Any \\*args and \\*\\*kwargs supplied for this function are directly passed " "to *func*. Also, the current :class:`contextvars.Context` is propagated, " @@ -775,19 +783,19 @@ msgid "" "separate thread." msgstr "" -#: library/asyncio-task.rst:678 +#: library/asyncio-task.rst:683 msgid "" "Return a coroutine that can be awaited to get the eventual result of *func*." msgstr "" -#: library/asyncio-task.rst:680 +#: library/asyncio-task.rst:685 msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " "were ran in the main thread. For example::" msgstr "" -#: library/asyncio-task.rst:710 +#: library/asyncio-task.rst:715 msgid "" "Directly calling ``blocking_io()`` in any coroutine would block the event " "loop for its duration, resulting in an additional 1 second of run time. " @@ -795,7 +803,7 @@ msgid "" "thread without blocking the event loop." msgstr "" -#: library/asyncio-task.rst:717 +#: library/asyncio-task.rst:722 msgid "" "Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " "to make IO-bound functions non-blocking. However, for extension modules that " @@ -803,18 +811,18 @@ msgid "" "``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -#: library/asyncio-task.rst:726 +#: library/asyncio-task.rst:731 msgid "Scheduling From Other Threads" msgstr "Planification depuis d'autres fils d'exécution" -#: library/asyncio-task.rst:730 +#: library/asyncio-task.rst:735 msgid "Submit a coroutine to the given event loop. Thread-safe." msgstr "" "Enregistre une coroutine dans la boucle d'exécution actuelle. Cette " "opération est compatible avec les programmes à multiples fils d'exécution " "(*thread-safe*)." -#: library/asyncio-task.rst:732 +#: library/asyncio-task.rst:737 msgid "" "Return a :class:`concurrent.futures.Future` to wait for the result from " "another OS thread." @@ -822,7 +830,7 @@ msgstr "" "Renvoie un :class:`concurrent.futures.Future` pour attendre le résultat d'un " "autre fil d'exécution du système d'exploitation." -#: library/asyncio-task.rst:735 +#: library/asyncio-task.rst:740 msgid "" "This function is meant to be called from a different OS thread than the one " "where the event loop is running. Example::" @@ -830,7 +838,7 @@ msgstr "" "Cette fonction est faite pour être appelée par un fil d'exécution distinct " "de celui dans laquelle la boucle d'événement s'exécute. Exemple ::" -#: library/asyncio-task.rst:747 +#: library/asyncio-task.rst:752 msgid "" "If an exception is raised in the coroutine, the returned Future will be " "notified. It can also be used to cancel the task in the event loop::" @@ -839,7 +847,7 @@ msgstr "" "averti. Elle peut également être utilisée pour annuler la tâche de la boucle " "d'événement ::" -#: library/asyncio-task.rst:761 +#: library/asyncio-task.rst:766 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -847,7 +855,7 @@ msgstr "" "Voir la section :ref:`exécution concurrente et multi-fils d'exécution " "` de la documentation." -#: library/asyncio-task.rst:764 +#: library/asyncio-task.rst:769 msgid "" "Unlike other asyncio functions this function requires the *loop* argument to " "be passed explicitly." @@ -855,11 +863,11 @@ msgstr "" "À la différence des autres fonctions d'*asyncio*, cette fonction requiert " "que *loop* soit passé de manière explicite." -#: library/asyncio-task.rst:771 +#: library/asyncio-task.rst:776 msgid "Introspection" msgstr "Introspection" -#: library/asyncio-task.rst:776 +#: library/asyncio-task.rst:781 msgid "" "Return the currently running :class:`Task` instance, or ``None`` if no task " "is running." @@ -867,7 +875,7 @@ msgstr "" "Renvoie l'instance de la :class:`Task` en cours d'exécution, ou ``None`` " "s'il n'y a pas de tâche en cours." -#: library/asyncio-task.rst:779 +#: library/asyncio-task.rst:784 msgid "" "If *loop* is ``None`` :func:`get_running_loop` is used to get the current " "loop." @@ -875,13 +883,13 @@ msgstr "" "Si *loop* vaut ``None``, :func:`get_running_loop` est appelée pour récupérer " "la boucle en cours d'exécution." -#: library/asyncio-task.rst:787 +#: library/asyncio-task.rst:792 msgid "Return a set of not yet finished :class:`Task` objects run by the loop." msgstr "" "Renvoie l'ensemble des :class:`Task` non terminés en cours d'exécution dans " "la boucle." -#: library/asyncio-task.rst:790 +#: library/asyncio-task.rst:795 msgid "" "If *loop* is ``None``, :func:`get_running_loop` is used for getting current " "loop." @@ -889,11 +897,11 @@ msgstr "" "Si *loop* vaut ``None``, :func:`get_running_loop` est appelée pour récupérer " "la boucle en cours d'exécution." -#: library/asyncio-task.rst:797 +#: library/asyncio-task.rst:802 msgid "Task Object" msgstr "Objets *Task*" -#: library/asyncio-task.rst:801 +#: library/asyncio-task.rst:806 msgid "" "A :class:`Future-like ` object that runs a Python :ref:`coroutine " "`. Not thread-safe." @@ -902,7 +910,7 @@ msgstr "" "`coroutine ` Python. Cet objet n'est pas utilisable dans des " "programmes à fils d'exécution multiples." -#: library/asyncio-task.rst:804 +#: library/asyncio-task.rst:809 msgid "" "Tasks are used to run coroutines in event loops. If a coroutine awaits on a " "Future, the Task suspends the execution of the coroutine and waits for the " @@ -914,7 +922,7 @@ msgstr "" "attend la fin de ce *futur*. Quand celui-ci est terminé, l'exécution de la " "coroutine encapsulée reprend." -#: library/asyncio-task.rst:810 +#: library/asyncio-task.rst:815 msgid "" "Event loops use cooperative scheduling: an event loop runs one Task at a " "time. While a Task awaits for the completion of a Future, the event loop " @@ -925,7 +933,7 @@ msgstr "" "futur, la boucle d'événement exécute d'autres tâches, des fonctions de " "rappel, ou effectue des opérations d'entrées-sorties." -#: library/asyncio-task.rst:815 +#: library/asyncio-task.rst:820 msgid "" "Use the high-level :func:`asyncio.create_task` function to create Tasks, or " "the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " @@ -936,7 +944,7 @@ msgstr "" "créer des tâches. Il est déconseillé d'instancier manuellement des objets " "*Task*." -#: library/asyncio-task.rst:820 +#: library/asyncio-task.rst:825 msgid "" "To cancel a running Task use the :meth:`cancel` method. Calling it will " "cause the Task to throw a :exc:`CancelledError` exception into the wrapped " @@ -948,7 +956,7 @@ msgstr "" "`CancelledError` dans la coroutine encapsulée. Si la coroutine attendait un " "*futur* au moment de l'annulation, celui-ci est annulé." -#: library/asyncio-task.rst:825 +#: library/asyncio-task.rst:830 msgid "" ":meth:`cancelled` can be used to check if the Task was cancelled. The method " "returns ``True`` if the wrapped coroutine did not suppress the :exc:" @@ -958,7 +966,7 @@ msgstr "" "Elle renvoie ``True`` si la coroutine encapsulée n'a pas ignoré l'exception :" "exc:`CancelledError` et a bien été annulée." -#: library/asyncio-task.rst:830 +#: library/asyncio-task.rst:835 msgid "" ":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" "meth:`Future.set_result` and :meth:`Future.set_exception`." @@ -966,7 +974,7 @@ msgstr "" ":class:`asyncio.Task` hérite de :class:`Future`, de toute son API, à " "l'exception de :meth:`Future.set_result` et de :meth:`Future.set_exception`." -#: library/asyncio-task.rst:834 +#: library/asyncio-task.rst:839 msgid "" "Tasks support the :mod:`contextvars` module. When a Task is created it " "copies the current context and later runs its coroutine in the copied " @@ -976,11 +984,11 @@ msgstr "" "tâche effectue une copie du contexte actuel et exécutera ses coroutines dans " "cette copie." -#: library/asyncio-task.rst:838 +#: library/asyncio-task.rst:843 msgid "Added support for the :mod:`contextvars` module." msgstr "Ajout du support du module :mod:`contextvars`." -#: library/asyncio-task.rst:844 +#: library/asyncio-task.rst:849 msgid "" "Deprecation warning is emitted if *loop* is not specified and there is no " "running event loop." @@ -988,11 +996,11 @@ msgstr "" "Un ``DeprecationWarning`` est levé si *loop* n'est pas spécifié et s'il n'y " "a pas de boucle d'évènements en cours d'exécution." -#: library/asyncio-task.rst:850 +#: library/asyncio-task.rst:855 msgid "Request the Task to be cancelled." msgstr "Demande l'annulation d'une tâche." -#: library/asyncio-task.rst:852 +#: library/asyncio-task.rst:857 msgid "" "This arranges for a :exc:`CancelledError` exception to be thrown into the " "wrapped coroutine on the next cycle of the event loop." @@ -1001,7 +1009,7 @@ msgstr "" "encapsulée. L'exception sera levée au prochain cycle de la boucle " "d'exécution." -#: library/asyncio-task.rst:855 +#: library/asyncio-task.rst:860 msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -1017,11 +1025,11 @@ msgstr "" "annulée, bien qu'ignorer totalement une annulation ne soit ni une pratique " "courante, ni encouragé." -#: library/asyncio-task.rst:863 +#: library/asyncio-task.rst:868 msgid "Added the *msg* parameter." msgstr "Ajout du paramètre *msg*." -#: library/asyncio-task.rst:868 +#: library/asyncio-task.rst:873 msgid "" "The following example illustrates how coroutines can intercept the " "cancellation request::" @@ -1029,11 +1037,11 @@ msgstr "" "L'exemple ci-dessous illustre comment une coroutine peut intercepter une " "requête d'annulation ::" -#: library/asyncio-task.rst:907 +#: library/asyncio-task.rst:912 msgid "Return ``True`` if the Task is *cancelled*." msgstr "Renvoie ``True`` si la tâche est *annulée*." -#: library/asyncio-task.rst:909 +#: library/asyncio-task.rst:914 msgid "" "The Task is *cancelled* when the cancellation was requested with :meth:" "`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " @@ -1043,11 +1051,11 @@ msgstr "" "et la coroutine encapsulée a propagé l'exception :exc:`CancelledError` qui a " "été levée en son sein." -#: library/asyncio-task.rst:915 +#: library/asyncio-task.rst:920 msgid "Return ``True`` if the Task is *done*." msgstr "Renvoie ``True`` si la tâche est *achevée*." -#: library/asyncio-task.rst:917 +#: library/asyncio-task.rst:922 msgid "" "A Task is *done* when the wrapped coroutine either returned a value, raised " "an exception, or the Task was cancelled." @@ -1055,11 +1063,11 @@ msgstr "" "Une tâche est dite *achevée* quand la coroutine encapsulée a soit renvoyé " "une valeur, soit levé une exception, ou que la tâche a été annulée." -#: library/asyncio-task.rst:922 +#: library/asyncio-task.rst:927 msgid "Return the result of the Task." msgstr "Renvoie le résultat de la tâche." -#: library/asyncio-task.rst:924 +#: library/asyncio-task.rst:929 msgid "" "If the Task is *done*, the result of the wrapped coroutine is returned (or " "if the coroutine raised an exception, that exception is re-raised.)" @@ -1068,7 +1076,7 @@ msgstr "" "renvoyé (sinon, dans le cas où la coroutine a levé une exception, cette " "exception est de nouveau levée)." -#: library/asyncio-task.rst:942 +#: library/asyncio-task.rst:947 msgid "" "If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " "exception." @@ -1076,7 +1084,7 @@ msgstr "" "Si la tâche a été *annulée*, cette méthode lève une exception :exc:" "`CancelledError`." -#: library/asyncio-task.rst:931 +#: library/asyncio-task.rst:936 msgid "" "If the Task's result isn't yet available, this method raises a :exc:" "`InvalidStateError` exception." @@ -1084,11 +1092,11 @@ msgstr "" "Si le résultat de la tâche n'est pas encore disponible, cette méthode lève " "une exception :exc:`InvalidStateError`." -#: library/asyncio-task.rst:936 +#: library/asyncio-task.rst:941 msgid "Return the exception of the Task." msgstr "Renvoie l'exception de la tâche." -#: library/asyncio-task.rst:938 +#: library/asyncio-task.rst:943 msgid "" "If the wrapped coroutine raised an exception that exception is returned. If " "the wrapped coroutine returned normally this method returns ``None``." @@ -1096,7 +1104,7 @@ msgstr "" "Si la coroutine encapsulée lève une exception, cette exception est renvoyée. " "Si la coroutine s'est exécutée normalement, cette méthode renvoie ``None``." -#: library/asyncio-task.rst:945 +#: library/asyncio-task.rst:950 msgid "" "If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " "exception." @@ -1104,30 +1112,30 @@ msgstr "" "Si la tâche n'est pas encore *achevée*, cette méthode lève une exception :" "exc:`InvalidStateError`." -#: library/asyncio-task.rst:950 +#: library/asyncio-task.rst:955 msgid "Add a callback to be run when the Task is *done*." msgstr "" "Ajoute une fonction de rappel qui sera exécutée quand la tâche sera " "*achevée*." -#: library/asyncio-task.rst:961 +#: library/asyncio-task.rst:966 msgid "This method should only be used in low-level callback-based code." msgstr "" "Cette méthode ne doit être utilisée que dans du code basé sur les fonctions " "de rappel de bas-niveau." -#: library/asyncio-task.rst:954 +#: library/asyncio-task.rst:959 msgid "" "See the documentation of :meth:`Future.add_done_callback` for more details." msgstr "" "Se référer à la documentation de :meth:`Future.add_done_callback` pour plus " "de détails." -#: library/asyncio-task.rst:959 +#: library/asyncio-task.rst:964 msgid "Remove *callback* from the callbacks list." msgstr "Retire *callback* de la liste de fonctions de rappel." -#: library/asyncio-task.rst:963 +#: library/asyncio-task.rst:968 msgid "" "See the documentation of :meth:`Future.remove_done_callback` for more " "details." @@ -1135,11 +1143,11 @@ msgstr "" "Se référer à la documentation de :meth:`Future.remove_done_callback` pour " "plus de détails." -#: library/asyncio-task.rst:968 +#: library/asyncio-task.rst:973 msgid "Return the list of stack frames for this Task." msgstr "Renvoie une liste représentant la pile d'appels de la tâche." -#: library/asyncio-task.rst:970 +#: library/asyncio-task.rst:975 msgid "" "If the wrapped coroutine is not done, this returns the stack where it is " "suspended. If the coroutine has completed successfully or was cancelled, " @@ -1152,15 +1160,15 @@ msgstr "" "renvoie une liste vide. Si la coroutine a été terminée par une exception, " "ceci renvoie la pile d'erreurs." -#: library/asyncio-task.rst:976 +#: library/asyncio-task.rst:981 msgid "The frames are always ordered from oldest to newest." msgstr "La pile est toujours affichée de l'appelant à l'appelé." -#: library/asyncio-task.rst:978 +#: library/asyncio-task.rst:983 msgid "Only one stack frame is returned for a suspended coroutine." msgstr "Une seule ligne est renvoyée si la coroutine est suspendue." -#: library/asyncio-task.rst:980 +#: library/asyncio-task.rst:985 msgid "" "The optional *limit* argument sets the maximum number of frames to return; " "by default all available frames are returned. The ordering of the returned " @@ -1174,11 +1182,11 @@ msgstr "" "renvoyés, si la pile est une pile d'erreurs, ce sont les appels les plus " "anciens qui le sont (dans un souci de cohérence avec le module *traceback*)." -#: library/asyncio-task.rst:989 +#: library/asyncio-task.rst:994 msgid "Print the stack or traceback for this Task." msgstr "Affiche la pile d'appels ou d'erreurs de la tâche." -#: library/asyncio-task.rst:991 +#: library/asyncio-task.rst:996 msgid "" "This produces output similar to that of the traceback module for the frames " "retrieved by :meth:`get_stack`." @@ -1186,27 +1194,28 @@ msgstr "" "Le format de sortie des appels produits par :meth:`get_stack` est similaire " "à celui du module *traceback*." -#: library/asyncio-task.rst:994 +#: library/asyncio-task.rst:999 msgid "The *limit* argument is passed to :meth:`get_stack` directly." msgstr "Le paramètre *limit* est directement passé à :meth:`get_stack`." -#: library/asyncio-task.rst:996 +#: library/asyncio-task.rst:1001 +#, fuzzy msgid "" "The *file* argument is an I/O stream to which the output is written; by " -"default output is written to :data:`sys.stderr`." +"default output is written to :data:`sys.stdout`." msgstr "" "Le paramètre *file* est un flux d'entrées-sorties sur lequel le résultat est " "écrit ; par défaut, :data:`sys.stderr`." -#: library/asyncio-task.rst:1001 +#: library/asyncio-task.rst:1006 msgid "Return the coroutine object wrapped by the :class:`Task`." msgstr "Renvoie l’objet *coroutine* encapsulé par la :class:`Task`." -#: library/asyncio-task.rst:1007 +#: library/asyncio-task.rst:1012 msgid "Return the name of the Task." msgstr "Renvoie le nom de la tâche." -#: library/asyncio-task.rst:1009 +#: library/asyncio-task.rst:1014 msgid "" "If no name has been explicitly assigned to the Task, the default asyncio " "Task implementation generates a default name during instantiation." @@ -1215,18 +1224,18 @@ msgstr "" "défaut d’une *Task* *asyncio* génère un nom par défaut durant " "l’instanciation." -#: library/asyncio-task.rst:1017 +#: library/asyncio-task.rst:1022 msgid "Set the name of the Task." msgstr "Définit le nom de la tâche." -#: library/asyncio-task.rst:1019 +#: library/asyncio-task.rst:1024 msgid "" "The *value* argument can be any object, which is then converted to a string." msgstr "" "L’argument *value* peut être n’importe quel objet qui sera ensuite converti " "en chaine de caractères." -#: library/asyncio-task.rst:1022 +#: library/asyncio-task.rst:1027 msgid "" "In the default Task implementation, the name will be visible in the :func:" "`repr` output of a task object." @@ -1234,11 +1243,11 @@ msgstr "" "Dans l’implémentation par défaut de *Task*, le nom sera visible dans le " "résultat de :func:`repr` d’un objet *Task*." -#: library/asyncio-task.rst:1031 +#: library/asyncio-task.rst:1036 msgid "Generator-based Coroutines" msgstr "Coroutines basées sur des générateurs" -#: library/asyncio-task.rst:1035 +#: library/asyncio-task.rst:1040 #, fuzzy msgid "" "Support for generator-based coroutines is **deprecated** and is removed in " @@ -1247,7 +1256,7 @@ msgstr "" "Les coroutines basées sur des générateurs sont **obsolètes** et il est prévu " "de les supprimer en Python 3.10." -#: library/asyncio-task.rst:1038 +#: library/asyncio-task.rst:1043 msgid "" "Generator-based coroutines predate async/await syntax. They are Python " "generators that use ``yield from`` expressions to await on Futures and other " @@ -1257,7 +1266,7 @@ msgstr "" "*async* / *await*. Il existe des générateurs *Python* qui utilisent les " "expressions ``yield from`` pour attendre des *futurs* et autres coroutines." -#: library/asyncio-task.rst:1042 +#: library/asyncio-task.rst:1047 msgid "" "Generator-based coroutines should be decorated with :func:`@asyncio." "coroutine `, although this is not enforced." @@ -1266,11 +1275,11 @@ msgstr "" "`@asyncio.coroutine `, même si ce n'est pas vérifié par " "l'interpréteur." -#: library/asyncio-task.rst:1049 +#: library/asyncio-task.rst:1054 msgid "Decorator to mark generator-based coroutines." msgstr "Décorateur pour coroutines basées sur des générateurs." -#: library/asyncio-task.rst:1051 +#: library/asyncio-task.rst:1056 msgid "" "This decorator enables legacy generator-based coroutines to be compatible " "with async/await code::" @@ -1278,22 +1287,22 @@ msgstr "" "Ce décorateur rend compatibles les coroutines basées sur des générateurs " "avec le code *async* / *await* ::" -#: library/asyncio-task.rst:1061 +#: library/asyncio-task.rst:1066 msgid "This decorator should not be used for :keyword:`async def` coroutines." msgstr "" "Ce décorateur ne doit pas être utilisé avec des coroutines :keyword:`async " "def`." # pas de majuscule car suit un deux-points -#: library/asyncio-task.rst:1066 +#: library/asyncio-task.rst:1071 msgid "Use :keyword:`async def` instead." msgstr "utilisez :keyword:`async def` à la place." -#: library/asyncio-task.rst:1070 +#: library/asyncio-task.rst:1075 msgid "Return ``True`` if *obj* is a :ref:`coroutine object `." msgstr "Renvoie ``True`` si *obj* est un :ref:`objet coroutine `." -#: library/asyncio-task.rst:1072 +#: library/asyncio-task.rst:1077 msgid "" "This method is different from :func:`inspect.iscoroutine` because it returns " "``True`` for generator-based coroutines." @@ -1301,12 +1310,12 @@ msgstr "" "Cette méthode est différente de :func:`inspect.iscoroutine` car elle renvoie " "``True`` pour des coroutines basées sur des générateurs." -#: library/asyncio-task.rst:1077 +#: library/asyncio-task.rst:1082 msgid "Return ``True`` if *func* is a :ref:`coroutine function `." msgstr "" "Renvoie ``True`` si *func* est une :ref:`fonction coroutine `." -#: library/asyncio-task.rst:1080 +#: library/asyncio-task.rst:1085 msgid "" "This method is different from :func:`inspect.iscoroutinefunction` because it " "returns ``True`` for generator-based coroutine functions decorated with :" diff --git a/library/asyncio.po b/library/asyncio.po index e5ab00772e..90e24a799b 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-05-24 21:49-0400\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -15,15 +15,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.3\n" -#: library/asyncio.rst:65 +#: library/asyncio.rst:76 msgid "High-level APIs" msgstr "Bibliothèques de haut-niveau" -#: library/asyncio.rst:76 +#: library/asyncio.rst:87 msgid "Low-level APIs" msgstr "Bibliothèques de bas-niveau" -#: library/asyncio.rst:86 +#: library/asyncio.rst:97 msgid "Guides and Tutorials" msgstr "Guides et tutoriels" @@ -131,11 +131,15 @@ msgstr "" ":ref:`lier ` des bibliothèques basées sur les fonctions de " "rappel et développer avec la syntaxe *async*/*await*." -#: library/asyncio.rst:64 +#: library/asyncio.rst:59 +msgid "You can experiment with an ``asyncio`` concurrent context in the REPL:" +msgstr "" + +#: library/asyncio.rst:75 msgid "Reference" msgstr "Sommaire" -#: library/asyncio.rst:95 +#: library/asyncio.rst:106 msgid "The source code for asyncio can be found in :source:`Lib/asyncio/`." msgstr "" "Le code source d'``asyncio`` est disponible dans :source:`Lib/asyncio/`." diff --git a/library/base64.po b/library/base64.po index 1525bb9d90..e6958e9577 100644 --- a/library/base64.po +++ b/library/base64.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:43+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -117,12 +117,13 @@ msgstr "" "utilisant l'algorithme base64 et renvoie les :class:`bytes` encodés." #: library/base64.rst:56 +#, fuzzy msgid "" -"Optional *altchars* must be a :term:`bytes-like object` of at least length 2 " -"(additional characters are ignored) which specifies an alternative alphabet " -"for the ``+`` and ``/`` characters. This allows an application to e.g. " -"generate URL or filesystem safe Base64 strings. The default is ``None``, " -"for which the standard Base64 alphabet is used." +"Optional *altchars* must be a :term:`bytes-like object` of length 2 which " +"specifies an alternative alphabet for the ``+`` and ``/`` characters. This " +"allows an application to e.g. generate URL or filesystem safe Base64 " +"strings. The default is ``None``, for which the standard Base64 alphabet is " +"used." msgstr "" "L'option *altchars* doit être un :term:`bytes-like object` de longueur au " "moins 2 (les caractères additionnels sont ignorés) qui spécifie un alphabet " @@ -131,7 +132,14 @@ msgstr "" "système de fichiers. La valeur par défaut est ``None``, auquel cas " "l'alphabet standard base64 est utilisé." -#: library/base64.rst:65 +#: library/base64.rst:61 +msgid "" +"May assert or raise a :exc:`ValueError` if the length of *altchars* is not " +"2. Raises a :exc:`TypeError` if *altchars* is not a :term:`bytes-like " +"object`." +msgstr "" + +#: library/base64.rst:67 msgid "" "Decode the Base64 encoded :term:`bytes-like object` or ASCII string *s* and " "return the decoded :class:`bytes`." @@ -140,24 +148,25 @@ msgstr "" "de caractères ASCII *s* encodée en base64 et renvoie les :class:`bytes` " "décodés." -#: library/base64.rst:68 +#: library/base64.rst:70 +#, fuzzy msgid "" "Optional *altchars* must be a :term:`bytes-like object` or ASCII string of " -"at least length 2 (additional characters are ignored) which specifies the " -"alternative alphabet used instead of the ``+`` and ``/`` characters." +"length 2 which specifies the alternative alphabet used instead of the ``+`` " +"and ``/`` characters." msgstr "" "L'option *altchars* doit être un :term:`bytes-like object` de longueur au " "moins égale à 2 (les caractères additionnels sont ignorés) qui spécifie un " "alphabet alternatif pour les délimiteurs ``+`` et ``/``." -#: library/base64.rst:72 +#: library/base64.rst:74 msgid "" "A :exc:`binascii.Error` exception is raised if *s* is incorrectly padded." msgstr "" "Une exception :exc:`binascii.Error` est levée si *s* n'est pas remplie à une " "longueur attendue." -#: library/base64.rst:75 +#: library/base64.rst:77 msgid "" "If *validate* is ``False`` (the default), characters that are neither in the " "normal base-64 alphabet nor the alternative alphabet are discarded prior to " @@ -170,7 +179,12 @@ msgstr "" "les caractères hors de l'alphabet de l'entrée produisent une :exc:`binascii." "Error`." -#: library/base64.rst:84 +#: library/base64.rst:83 +msgid "" +"May assert or raise a :exc:`ValueError` if the length of *altchars* is not 2." +msgstr "" + +#: library/base64.rst:87 msgid "" "Encode :term:`bytes-like object` *s* using the standard Base64 alphabet and " "return the encoded :class:`bytes`." @@ -178,7 +192,7 @@ msgstr "" "Encode un :term:`objet octet-compatible ` *s* en " "utilisant l'alphabet standard base64 et renvoie les :class:`bytes` encodés." -#: library/base64.rst:90 +#: library/base64.rst:93 msgid "" "Decode :term:`bytes-like object` or ASCII string *s* using the standard " "Base64 alphabet and return the decoded :class:`bytes`." @@ -187,7 +201,7 @@ msgstr "" "de caractères ASCII *s* utilisant l'alphabet base64 standard et renvoie les :" "class:`bytes` décodés." -#: library/base64.rst:96 +#: library/base64.rst:99 msgid "" "Encode :term:`bytes-like object` *s* using the URL- and filesystem-safe " "alphabet, which substitutes ``-`` instead of ``+`` and ``_`` instead of ``/" @@ -199,7 +213,7 @@ msgstr "" "``_`` à ``+`` et ``/`` dans l'alphabet standard base64 et renvoie les :class:" "`bytes` encodés." -#: library/base64.rst:105 +#: library/base64.rst:108 msgid "" "Decode :term:`bytes-like object` or ASCII string *s* using the URL- and " "filesystem-safe alphabet, which substitutes ``-`` instead of ``+`` and ``_`` " @@ -211,7 +225,7 @@ msgstr "" "de fichiers qui substitue ``-`` et ``_`` à ``+`` et ``/`` dans l'alphabet " "standard base64 et renvoie les :class:`bytes` décodés." -#: library/base64.rst:114 +#: library/base64.rst:117 msgid "" "Encode the :term:`bytes-like object` *s* using Base32 and return the " "encoded :class:`bytes`." @@ -219,7 +233,7 @@ msgstr "" "Encode un :term:`objet byte-compatible ` *s* en utilisant " "l'algorithme base32 et renvoie les :class:`bytes` encodés." -#: library/base64.rst:120 +#: library/base64.rst:123 msgid "" "Decode the Base32 encoded :term:`bytes-like object` or ASCII string *s* and " "return the decoded :class:`bytes`." @@ -228,7 +242,7 @@ msgstr "" "de caractères ASCII *s* encodé en base32 et renvoie les :class:`bytes` " "décodés." -#: library/base64.rst:171 +#: library/base64.rst:174 msgid "" "Optional *casefold* is a flag specifying whether a lowercase alphabet is " "acceptable as input. For security purposes, the default is ``False``." @@ -237,7 +251,7 @@ msgstr "" "en minuscules est acceptable comme entrée. Pour des raisons de sécurité, " "cette option est à ``False`` par défaut." -#: library/base64.rst:127 +#: library/base64.rst:130 #, fuzzy msgid "" ":rfc:`4648` allows for optional mapping of the digit 0 (zero) to the letter " @@ -256,7 +270,7 @@ msgstr "" "la lettre O). Pour des raisons de sécurité, le défaut est ``None``, de telle " "sorte que 0 et 1 ne sont pas autorisés dans l'entrée." -#: library/base64.rst:175 +#: library/base64.rst:178 msgid "" "A :exc:`binascii.Error` is raised if *s* is incorrectly padded or if there " "are non-alphabet characters present in the input." @@ -264,19 +278,19 @@ msgstr "" "Une exception :exc:`binascii.Error` est levée si *s* n'est pas remplie à une " "longueur attendue ou si elle contient des caractères hors de l'alphabet." -#: library/base64.rst:141 +#: library/base64.rst:144 msgid "" "Similar to :func:`b32encode` but uses the Extended Hex Alphabet, as defined " "in :rfc:`4648`." msgstr "" -#: library/base64.rst:149 +#: library/base64.rst:152 msgid "" "Similar to :func:`b32decode` but uses the Extended Hex Alphabet, as defined " "in :rfc:`4648`." msgstr "" -#: library/base64.rst:152 +#: library/base64.rst:155 msgid "" "This version does not allow the digit 0 (zero) to the letter O (oh) and " "digit 1 (one) to either the letter I (eye) or letter L (el) mappings, all " @@ -284,7 +298,7 @@ msgid "" "interchangeable." msgstr "" -#: library/base64.rst:162 +#: library/base64.rst:165 msgid "" "Encode the :term:`bytes-like object` *s* using Base16 and return the " "encoded :class:`bytes`." @@ -292,7 +306,7 @@ msgstr "" "Encode un :term:`objet byte-compatible ` *s* en utilisant " "l'algorithme base16 et renvoie les :class:`bytes` encodés." -#: library/base64.rst:168 +#: library/base64.rst:171 msgid "" "Decode the Base16 encoded :term:`bytes-like object` or ASCII string *s* and " "return the decoded :class:`bytes`." @@ -301,7 +315,7 @@ msgstr "" "de caractères ASCII *s* encodé en base16 et renvoie les :class:`bytes` " "décodés." -#: library/base64.rst:182 +#: library/base64.rst:185 msgid "" "Encode the :term:`bytes-like object` *b* using Ascii85 and return the " "encoded :class:`bytes`." @@ -309,7 +323,7 @@ msgstr "" "Encode un :term:`objet byte-compatible ` *s* en utilisant " "l'algorithme Ascii85 et renvoie les :class:`bytes` encodés." -#: library/base64.rst:185 +#: library/base64.rst:188 msgid "" "*foldspaces* is an optional flag that uses the special short sequence 'y' " "instead of 4 consecutive spaces (ASCII 0x20) as supported by 'btoa'. This " @@ -320,7 +334,7 @@ msgstr "" "*btoa*. Cette fonctionnalité n'est pas gérée par l'encodage « standard » " "Ascii85." -#: library/base64.rst:189 +#: library/base64.rst:192 msgid "" "*wrapcol* controls whether the output should have newline (``b'\\n'``) " "characters added to it. If this is non-zero, each output line will be at " @@ -330,7 +344,7 @@ msgstr "" "sortie. Chaque ligne de sortie contient au maximum *wrapcol* caractères si " "cette option diffère de zéro." -#: library/base64.rst:193 +#: library/base64.rst:196 msgid "" "*pad* controls whether the input is padded to a multiple of 4 before " "encoding. Note that the ``btoa`` implementation always pads." @@ -339,7 +353,7 @@ msgstr "" "l'entrée jusqu'à ce que sa longueur soit un multiple de 4 avant encodage. " "Notez que l'implémentation ``btoa`` effectue systématiquement ce remplissage." -#: library/base64.rst:196 +#: library/base64.rst:199 msgid "" "*adobe* controls whether the encoded byte sequence is framed with ``<~`` and " "``~>``, which is used by the Adobe implementation." @@ -347,7 +361,7 @@ msgstr "" "*adobe* contrôle si oui ou non la séquence encodée d'octets est encadrée par " "``<~`` et ``~>`` comme utilisé dans l'implémentation Adobe." -#: library/base64.rst:204 +#: library/base64.rst:207 msgid "" "Decode the Ascii85 encoded :term:`bytes-like object` or ASCII string *b* and " "return the decoded :class:`bytes`." @@ -356,7 +370,7 @@ msgstr "" "de caractères ASCII *s* encodé en Ascii85 et renvoie les :class:`bytes` " "décodés." -#: library/base64.rst:207 +#: library/base64.rst:210 msgid "" "*foldspaces* is a flag that specifies whether the 'y' short sequence should " "be accepted as shorthand for 4 consecutive spaces (ASCII 0x20). This feature " @@ -367,7 +381,7 @@ msgstr "" "*btoa*. Cette fonctionnalité n'est pas gérée par l'encodage « standard » " "Ascii85." -#: library/base64.rst:211 +#: library/base64.rst:214 msgid "" "*adobe* controls whether the input sequence is in Adobe Ascii85 format (i.e. " "is framed with <~ and ~>)." @@ -375,7 +389,7 @@ msgstr "" "*adobe* indique si la séquence d'entrée utilise le format Adobe Ascii85 " "(c'est-à-dire utilise l'encadrement par ``<~`` et ``~>``)." -#: library/base64.rst:214 +#: library/base64.rst:217 msgid "" "*ignorechars* should be a :term:`bytes-like object` or ASCII string " "containing characters to ignore from the input. This should only contain " @@ -387,7 +401,7 @@ msgstr "" "des caractères d'espacement et contient par défaut l'ensemble des caractères " "d'espacement de l'alphabet ASCII." -#: library/base64.rst:224 +#: library/base64.rst:227 msgid "" "Encode the :term:`bytes-like object` *b* using base85 (as used in e.g. git-" "style binary diffs) and return the encoded :class:`bytes`." @@ -396,7 +410,7 @@ msgstr "" "l'algorithme base85 (tel qu'utilisé par exemple par le programme *git-diff* " "sur des données binaires) et renvoie les :class:`bytes` encodés." -#: library/base64.rst:227 +#: library/base64.rst:230 msgid "" "If *pad* is true, the input is padded with ``b'\\0'`` so its length is a " "multiple of 4 bytes before encoding." @@ -405,7 +419,7 @@ msgstr "" "anglais) sont ajoutés à l'entrée jusqu'à ce que sa longueur soit un multiple " "de 4 octets avant encodage." -#: library/base64.rst:235 +#: library/base64.rst:238 msgid "" "Decode the base85-encoded :term:`bytes-like object` or ASCII string *b* and " "return the decoded :class:`bytes`. Padding is implicitly removed, if " @@ -416,11 +430,11 @@ msgstr "" "décodés. Les caractères de remplissage sont implicitement retirés si " "nécessaire." -#: library/base64.rst:242 +#: library/base64.rst:245 msgid "The legacy interface:" msgstr "L'interface historique :" -#: library/base64.rst:246 +#: library/base64.rst:249 msgid "" "Decode the contents of the binary *input* file and write the resulting " "binary data to the *output* file. *input* and *output* must be :term:`file " @@ -432,7 +446,7 @@ msgstr "" "term:`objets fichiers `. *input* est lu jusqu'à ce que ``input." "readline()`` renvoie un objet *bytes* vide." -#: library/base64.rst:254 +#: library/base64.rst:257 msgid "" "Decode the :term:`bytes-like object` *s*, which must contain one or more " "lines of base64 encoded data, and return the decoded :class:`bytes`." @@ -441,7 +455,7 @@ msgstr "" "contenir une ou plusieurs lignes de données encodées en base64 et renvoie " "les :class:`bytes` décodés." -#: library/base64.rst:262 +#: library/base64.rst:265 msgid "" "Encode the contents of the binary *input* file and write the resulting " "base64 encoded data to the *output* file. *input* and *output* must be :term:" @@ -458,7 +472,7 @@ msgstr "" "sortie et assure que celle-ci se termine par une nouvelle ligne, comme " "spécifié par la :rfc:`2045` (MIME)." -#: library/base64.rst:272 +#: library/base64.rst:275 msgid "" "Encode the :term:`bytes-like object` *s*, which can contain arbitrary binary " "data, and return :class:`bytes` containing the base64-encoded data, with " @@ -471,33 +485,33 @@ msgstr "" "(``b'\\n'``) est inséré tous les 76 octets de sortie et celle-ci se termine " "par une nouvelle ligne, comme spécifié par la :rfc:`2045` (MIME)." -#: library/base64.rst:280 +#: library/base64.rst:283 msgid "An example usage of the module:" msgstr "Un exemple d'utilisation du module :" -#: library/base64.rst:293 +#: library/base64.rst:296 msgid "Security Considerations" msgstr "Considérations de sécurité" -#: library/base64.rst:295 +#: library/base64.rst:298 msgid "" "A new security considerations section was added to :rfc:`4648` (section 12); " "it's recommended to review the security section for any code deployed to " "production." msgstr "" -#: library/base64.rst:301 +#: library/base64.rst:304 msgid "Module :mod:`binascii`" msgstr "Module :mod:`binascii`" -#: library/base64.rst:301 +#: library/base64.rst:304 msgid "" "Support module containing ASCII-to-binary and binary-to-ASCII conversions." msgstr "" "Module secondaire contenant les conversions ASCII vers binaire et binaire " "vers ASCII." -#: library/base64.rst:304 +#: library/base64.rst:307 msgid "" ":rfc:`1521` - MIME (Multipurpose Internet Mail Extensions) Part One: " "Mechanisms for Specifying and Describing the Format of Internet Message " @@ -507,7 +521,7 @@ msgstr "" "Mechanisms for Specifying and Describing the Format of Internet Message " "Bodies*" -#: library/base64.rst:304 +#: library/base64.rst:307 msgid "" "Section 5.2, \"Base64 Content-Transfer-Encoding,\" provides the definition " "of the base64 encoding." diff --git a/library/cmath.po b/library/cmath.po index 12718ea3fa..a8eb966801 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-05-28 20:19+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -39,23 +39,34 @@ msgstr "" #: library/cmath.rst:18 msgid "" -"On platforms with hardware and system-level support for signed zeros, " -"functions involving branch cuts are continuous on *both* sides of the branch " -"cut: the sign of the zero distinguishes one side of the branch cut from the " -"other. On platforms that do not support signed zeros the continuity is as " -"specified below." +"For functions involving branch cuts, we have the problem of deciding how to " +"define those functions on the cut itself. Following Kahan's \"Branch cuts " +"for complex elementary functions\" paper, as well as Annex G of C99 and " +"later C standards, we use the sign of zero to distinguish one side of the " +"branch cut from the other: for a branch cut along (a portion of) the real " +"axis we look at the sign of the imaginary part, while for a branch cut along " +"the imaginary axis we look at the sign of the real part." msgstr "" -"Sur les plate-formes avec un support système et matériel des zéros signés, " -"les fonctions incluant une coupure complexe sont continues *de chaque* côté " -"de la coupure : le signe du zéro distingue les deux extrémités de la " -"coupure. Sur les plate-formes ne supportant pas les zéros signés, la " -"continuité est spécifiée en-dessous." #: library/cmath.rst:26 +msgid "" +"For example, the :func:`cmath.sqrt` function has a branch cut along the " +"negative real axis. An argument of ``complex(-2.0, -0.0)`` is treated as " +"though it lies *below* the branch cut, and so gives a result on the negative " +"imaginary axis::" +msgstr "" + +#: library/cmath.rst:34 +msgid "" +"But an argument of ``complex(-2.0, 0.0)`` is treated as though it lies above " +"the branch cut::" +msgstr "" + +#: library/cmath.rst:42 msgid "Conversions to and from polar coordinates" msgstr "Conversion vers et à partir de coordonnées polaires" -#: library/cmath.rst:28 +#: library/cmath.rst:44 msgid "" "A Python complex number ``z`` is stored internally using *rectangular* or " "*Cartesian* coordinates. It is completely determined by its *real part* ``z." @@ -65,7 +76,7 @@ msgstr "" "*cartésiennes*. Il est entièrement défini par sa *partie réelle* ``z.real`` " "et sa *partie complexe* ``z.imag``. En d'autres termes ::" -#: library/cmath.rst:35 +#: library/cmath.rst:51 msgid "" "*Polar coordinates* give an alternative way to represent a complex number. " "In polar coordinates, a complex number *z* is defined by the modulus *r* and " @@ -82,7 +93,7 @@ msgstr "" "trigonométrique), mesuré en radians, à partir de l'axe X positif, et vers le " "segment de droite joignant *z* à l'origine." -#: library/cmath.rst:42 +#: library/cmath.rst:58 msgid "" "The following functions can be used to convert from the native rectangular " "coordinates to polar coordinates and back." @@ -91,15 +102,14 @@ msgstr "" "coordonnées rectangulaires natives vers les coordonnées polaires, et vice-" "versa." -#: library/cmath.rst:47 +#: library/cmath.rst:63 +#, fuzzy msgid "" -"Return the phase of *x* (also known as the *argument* of *x*), as a float. " +"Return the phase of *x* (also known as the *argument* of *x*), as a float. " "``phase(x)`` is equivalent to ``math.atan2(x.imag, x.real)``. The result " "lies in the range [-\\ *π*, *π*], and the branch cut for this operation lies " -"along the negative real axis, continuous from above. On systems with " -"support for signed zeros (which includes most systems in current use), this " -"means that the sign of the result is the same as the sign of ``x.imag``, " -"even when ``x.imag`` is zero::" +"along the negative real axis. The sign of the result is the same as the " +"sign of ``x.imag``, even when ``x.imag`` is zero::" msgstr "" "Renvoie l'argument de *x*, dans un nombre flottant. ``phase(x)`` est " "équivalent à ``math.atan2(x.imag, x.real)``. Le résultat se situe dans " @@ -109,7 +119,7 @@ msgstr "" "utilisés actuellement), cela signifie que le signe du résultat est le même " "que ``x.imag`` même quand ``x.imag`` vaut zéro ::" -#: library/cmath.rst:64 +#: library/cmath.rst:77 msgid "" "The modulus (absolute value) of a complex number *x* can be computed using " "the built-in :func:`abs` function. There is no separate :mod:`cmath` module " @@ -119,7 +129,7 @@ msgstr "" "utilisant la primitive :func:`abs`. Il n'y a pas de fonction spéciale du " "module :mod:`cmath` pour cette opération." -#: library/cmath.rst:71 +#: library/cmath.rst:84 msgid "" "Return the representation of *x* in polar coordinates. Returns a pair ``(r, " "phi)`` where *r* is the modulus of *x* and phi is the phase of *x*. " @@ -129,7 +139,7 @@ msgstr "" "``(r, phi)`` où *r* est le module de *x* et phi est l'argument de *x*. " "``polar(x)`` est équivalent à ``(abs(x), phase(x))``." -#: library/cmath.rst:79 +#: library/cmath.rst:92 msgid "" "Return the complex number *x* with polar coordinates *r* and *phi*. " "Equivalent to ``r * (math.cos(phi) + math.sin(phi)*1j)``." @@ -137,11 +147,11 @@ msgstr "" "Renvoie le nombre complexe *x* dont les coordonnées polaires sont *r* et " "*phi*. Équivalent à ``r * (math.cos(phi) + math.sin(phi)*1j)``." -#: library/cmath.rst:84 +#: library/cmath.rst:97 msgid "Power and logarithmic functions" msgstr "Fonctions logarithme et exponentielle" -#: library/cmath.rst:88 +#: library/cmath.rst:101 msgid "" "Return *e* raised to the power *x*, where *e* is the base of natural " "logarithms." @@ -149,18 +159,19 @@ msgstr "" "Renvoie *e* élevé à la puissance *x*, où *e* est la base des logarithmes " "naturels." -#: library/cmath.rst:94 +#: library/cmath.rst:107 +#, fuzzy msgid "" "Returns the logarithm of *x* to the given *base*. If the *base* is not " "specified, returns the natural logarithm of *x*. There is one branch cut, " -"from 0 along the negative real axis to -∞, continuous from above." +"from 0 along the negative real axis to -∞." msgstr "" "Renvoie le logarithme de *x* dans la *base* précisée. Si la *base* n'est pas " "spécifiée, le logarithme *naturel* (népérien) de *x* est renvoyé. Il y a une " "coupure, partant de 0 sur l'axe réel négatif et vers ``-∞``, continue par au-" "dessus." -#: library/cmath.rst:101 +#: library/cmath.rst:114 msgid "" "Return the base-10 logarithm of *x*. This has the same branch cut as :func:" "`log`." @@ -168,106 +179,108 @@ msgstr "" "Renvoie le logarithme en base 10 de *x*. Elle a la même coupure que :func:" "`log`." -#: library/cmath.rst:107 +#: library/cmath.rst:120 msgid "" "Return the square root of *x*. This has the same branch cut as :func:`log`." msgstr "" "Renvoie la racine carrée de *x*. Elle a la même coupure que :func:`log`." -#: library/cmath.rst:111 +#: library/cmath.rst:124 msgid "Trigonometric functions" msgstr "Fonctions trigonométriques" -#: library/cmath.rst:115 +#: library/cmath.rst:128 +#, fuzzy msgid "" "Return the arc cosine of *x*. There are two branch cuts: One extends right " -"from 1 along the real axis to ∞, continuous from below. The other extends " -"left from -1 along the real axis to -∞, continuous from above." +"from 1 along the real axis to ∞. The other extends left from -1 along the " +"real axis to -∞." msgstr "" "Renvoie l'arc cosinus de *x*. Il y a deux coupures : une allant de 1 sur " "l'axe réel vers ∞, continue par en-dessous ; l'autre allant de ``-1`` sur " "l'axe réel vers ``-∞``, continue par au-dessus." -#: library/cmath.rst:122 +#: library/cmath.rst:135 msgid "" "Return the arc sine of *x*. This has the same branch cuts as :func:`acos`." msgstr "" "Renvoie l'arc sinus de *x*. Elle a les mêmes coupures que :func:`acos`." -#: library/cmath.rst:127 +#: library/cmath.rst:140 +#, fuzzy msgid "" "Return the arc tangent of *x*. There are two branch cuts: One extends from " -"``1j`` along the imaginary axis to ``∞j``, continuous from the right. The " -"other extends from ``-1j`` along the imaginary axis to ``-∞j``, continuous " -"from the left." +"``1j`` along the imaginary axis to ``∞j``. The other extends from ``-1j`` " +"along the imaginary axis to ``-∞j``." msgstr "" "Renvoie la tangente de *x*. l y a deux coupures : une allant de ``1j`` sur " "l'axe imaginaire vers ``∞j``, continue par la droite ; l'autre allant de " "``-1j`` sur l'axe imaginaire vers ``-∞j``, continue par la gauche." -#: library/cmath.rst:135 +#: library/cmath.rst:147 msgid "Return the cosine of *x*." msgstr "Renvoie le cosinus de *x*." -#: library/cmath.rst:140 +#: library/cmath.rst:152 msgid "Return the sine of *x*." msgstr "Renvoie le sinus de *x*." -#: library/cmath.rst:145 +#: library/cmath.rst:157 msgid "Return the tangent of *x*." msgstr "Renvoie la tangente de *x*." -#: library/cmath.rst:149 +#: library/cmath.rst:161 msgid "Hyperbolic functions" msgstr "Fonctions hyperboliques" -#: library/cmath.rst:153 +#: library/cmath.rst:165 +#, fuzzy msgid "" "Return the inverse hyperbolic cosine of *x*. There is one branch cut, " -"extending left from 1 along the real axis to -∞, continuous from above." +"extending left from 1 along the real axis to -∞." msgstr "" "Renvoie l'arc cosinus hyperbolique de *x*. Il y a une coupure, allant de 1 " "sur l'axe réel vers ``-∞``, continue par au-dessus." -#: library/cmath.rst:159 +#: library/cmath.rst:171 +#, fuzzy msgid "" "Return the inverse hyperbolic sine of *x*. There are two branch cuts: One " -"extends from ``1j`` along the imaginary axis to ``∞j``, continuous from the " -"right. The other extends from ``-1j`` along the imaginary axis to ``-∞j``, " -"continuous from the left." +"extends from ``1j`` along the imaginary axis to ``∞j``. The other extends " +"from ``-1j`` along the imaginary axis to ``-∞j``." msgstr "" "Renvoie l'arc sinus hyperbolique de *x*. Il y a deux coupures : une allant " "de ``1j`` sur l'axe imaginaire vers ``∞j``, continue par la droite ; l'autre " "allant de ``-1j`` sur l'axe imaginaire vers ``∞j``, continue par la gauche." -#: library/cmath.rst:167 +#: library/cmath.rst:178 +#, fuzzy msgid "" "Return the inverse hyperbolic tangent of *x*. There are two branch cuts: One " -"extends from ``1`` along the real axis to ``∞``, continuous from below. The " -"other extends from ``-1`` along the real axis to ``-∞``, continuous from " -"above." +"extends from ``1`` along the real axis to ``∞``. The other extends from " +"``-1`` along the real axis to ``-∞``." msgstr "" "Renvoie l'arc tangente hyperbolique de *x*. Il y a deux coupures : une " "allant de ``1`` sur l'axe réel allant vers ``∞``, continue par en-dessous ; " "l'autre allant de ``-1`` sur l'axe réel vers ``-∞``, continue par au-dessus." -#: library/cmath.rst:175 +#: library/cmath.rst:185 msgid "Return the hyperbolic cosine of *x*." msgstr "Renvoie le cosinus hyperbolique de *x*." -#: library/cmath.rst:180 +#: library/cmath.rst:190 msgid "Return the hyperbolic sine of *x*." msgstr "Renvoie le sinus hyperbolique de *x*." -#: library/cmath.rst:185 +#: library/cmath.rst:195 msgid "Return the hyperbolic tangent of *x*." msgstr "Renvoie la tangente hyperbolique de *x*." -#: library/cmath.rst:189 +#: library/cmath.rst:199 msgid "Classification functions" msgstr "Fonctions de classifications" -#: library/cmath.rst:193 +#: library/cmath.rst:203 msgid "" "Return ``True`` if both the real and imaginary parts of *x* are finite, and " "``False`` otherwise." @@ -275,7 +288,7 @@ msgstr "" "Renvoie ``True`` si la partie réelle *et* la partie imaginaire de *x* sont " "finies, et ``False`` sinon." -#: library/cmath.rst:201 +#: library/cmath.rst:211 msgid "" "Return ``True`` if either the real or the imaginary part of *x* is an " "infinity, and ``False`` otherwise." @@ -283,7 +296,7 @@ msgstr "" "Renvoie ``True`` si soit la partie réelle *ou* la partie imaginaire de *x* " "est infinie, et ``False`` sinon." -#: library/cmath.rst:207 +#: library/cmath.rst:217 msgid "" "Return ``True`` if either the real or the imaginary part of *x* is a NaN, " "and ``False`` otherwise." @@ -291,7 +304,7 @@ msgstr "" "Renvoie ``True`` si soit la partie réelle *ou* la partie imaginaire de *x* " "est NaN, et ``False`` sinon." -#: library/cmath.rst:213 +#: library/cmath.rst:223 msgid "" "Return ``True`` if the values *a* and *b* are close to each other and " "``False`` otherwise." @@ -299,7 +312,7 @@ msgstr "" "Renvoie ``True`` si les valeurs *a* et *b* sont proches l'une de l'autre, et " "``False`` sinon." -#: library/cmath.rst:216 +#: library/cmath.rst:226 msgid "" "Whether or not two values are considered close is determined according to " "given absolute and relative tolerances." @@ -307,7 +320,7 @@ msgstr "" "Déterminer si deux valeurs sont proches se fait à l'aide des tolérances " "absolues et relatives données en paramètres." -#: library/cmath.rst:219 +#: library/cmath.rst:229 msgid "" "*rel_tol* is the relative tolerance -- it is the maximum allowed difference " "between *a* and *b*, relative to the larger absolute value of *a* or *b*. " @@ -322,7 +335,7 @@ msgstr "" "mêmes à partir de la 9\\ :sup:`e` décimale. *rel_tol* doit être supérieur à " "zéro." -#: library/cmath.rst:225 +#: library/cmath.rst:235 msgid "" "*abs_tol* is the minimum absolute tolerance -- useful for comparisons near " "zero. *abs_tol* must be at least zero." @@ -330,7 +343,7 @@ msgstr "" "*abs_tol* est la tolérance absolue minimale -- utile pour les comparaisons " "proches de zéro. *abs_tol* doit valoir au moins zéro." -#: library/cmath.rst:228 +#: library/cmath.rst:238 msgid "" "If no errors occur, the result will be: ``abs(a-b) <= max(rel_tol * " "max(abs(a), abs(b)), abs_tol)``." @@ -338,7 +351,7 @@ msgstr "" "Si aucune erreur n'est rencontrée, le résultat sera : ``abs(a-b) <= " "max(rel_tol * max(abs(a), abs(b)), abs_tol)``." -#: library/cmath.rst:231 +#: library/cmath.rst:241 msgid "" "The IEEE 754 special values of ``NaN``, ``inf``, and ``-inf`` will be " "handled according to IEEE rules. Specifically, ``NaN`` is not considered " @@ -351,32 +364,32 @@ msgstr "" "``NaN`` inclus. ``inf`` et ``-inf`` ne sont considérés proches que d'eux-" "mêmes." -#: library/cmath.rst:240 +#: library/cmath.rst:250 msgid ":pep:`485` -- A function for testing approximate equality" msgstr ":pep:`485` -- Une fonction pour tester des égalités approximées" -#: library/cmath.rst:244 +#: library/cmath.rst:254 msgid "Constants" msgstr "Constantes" -#: library/cmath.rst:248 +#: library/cmath.rst:258 msgid "The mathematical constant *π*, as a float." msgstr "La constante mathématique *π*, en tant que flottant." -#: library/cmath.rst:253 +#: library/cmath.rst:263 msgid "The mathematical constant *e*, as a float." msgstr "La constante mathématique *e*, en tant que flottant." -#: library/cmath.rst:258 +#: library/cmath.rst:268 msgid "The mathematical constant *τ*, as a float." msgstr "La constante mathématique *τ*, sous forme de flottant." -#: library/cmath.rst:265 +#: library/cmath.rst:275 msgid "Floating-point positive infinity. Equivalent to ``float('inf')``." msgstr "" "Nombre à virgule flottante positif infini. Équivaut à ``float('inf')``." -#: library/cmath.rst:272 +#: library/cmath.rst:282 msgid "" "Complex number with zero real part and positive infinity imaginary part. " "Equivalent to ``complex(0.0, float('inf'))``." @@ -384,7 +397,7 @@ msgstr "" "Nombre complexe dont la partie réelle vaut zéro et la partie imaginaire un " "infini positif. Équivalent à ``complex(0.0, float('inf'))``." -#: library/cmath.rst:280 +#: library/cmath.rst:290 msgid "" "A floating-point \"not a number\" (NaN) value. Equivalent to " "``float('nan')``." @@ -392,7 +405,7 @@ msgstr "" "Un nombre à virgule flottante *NaN* (*Not a number*). Équivalent à " "``float('nan')``." -#: library/cmath.rst:288 +#: library/cmath.rst:298 msgid "" "Complex number with zero real part and NaN imaginary part. Equivalent to " "``complex(0.0, float('nan'))``." @@ -400,7 +413,7 @@ msgstr "" "Nombre complexe dont la partie réelle vaut zéro et la partie imaginaire vaut " "un *NaN*. Équivalent à ``complex(0.0, float('nan'))``." -#: library/cmath.rst:296 +#: library/cmath.rst:306 msgid "" "Note that the selection of functions is similar, but not identical, to that " "in module :mod:`math`. The reason for having two modules is that some users " @@ -420,7 +433,7 @@ msgstr "" "toujours un nombre complexe, même si le résultat peut être exprimé à l'aide " "d'un nombre réel (en quel cas la partie imaginaire du complexe vaut zéro)." -#: library/cmath.rst:304 +#: library/cmath.rst:314 msgid "" "A note on branch cuts: They are curves along which the given function fails " "to be continuous. They are a necessary feature of many complex functions. " @@ -438,7 +451,7 @@ msgstr "" "plus d'informations. Pour des informations sur les choix des coupures à des " "fins numériques, voici une bonne référence :" -#: library/cmath.rst:314 +#: library/cmath.rst:324 msgid "" "Kahan, W: Branch cuts for complex elementary functions; or, Much ado about " "nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the " @@ -447,3 +460,16 @@ msgstr "" "Kahan, W: Branch cuts for complex elementary functions; or, Much ado about " "nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the " "art in numerical analysis. Clarendon Press (1987) pp165--211." + +#~ msgid "" +#~ "On platforms with hardware and system-level support for signed zeros, " +#~ "functions involving branch cuts are continuous on *both* sides of the " +#~ "branch cut: the sign of the zero distinguishes one side of the branch cut " +#~ "from the other. On platforms that do not support signed zeros the " +#~ "continuity is as specified below." +#~ msgstr "" +#~ "Sur les plate-formes avec un support système et matériel des zéros " +#~ "signés, les fonctions incluant une coupure complexe sont continues *de " +#~ "chaque* côté de la coupure : le signe du zéro distingue les deux " +#~ "extrémités de la coupure. Sur les plate-formes ne supportant pas les " +#~ "zéros signés, la continuité est spécifiée en-dessous." diff --git a/library/codecs.po b/library/codecs.po index 294f19575c..5714923a34 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:08+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -304,11 +304,12 @@ msgstr "" # Pas de majuscule en début car suit un deux-points. #: library/codecs.rst:192 +#, fuzzy msgid "" -"Underlying encoded files are always opened in binary mode. No automatic " -"conversion of ``'\\n'`` is done on reading and writing. The *mode* argument " -"may be any binary mode acceptable to the built-in :func:`open` function; the " -"``'b'`` is automatically added." +"If *encoding* is not ``None``, then the underlying encoded files are always " +"opened in binary mode. No automatic conversion of ``'\\n'`` is done on " +"reading and writing. The *mode* argument may be any binary mode acceptable " +"to the built-in :func:`open` function; the ``'b'`` is automatically added." msgstr "" "les fichiers encodés sous-jacents sont toujours ouverts en mode binaire. " "Aucune conversion automatique de ``'\\n'`` n'est effectuée à la lecture ou à " @@ -316,7 +317,7 @@ msgstr "" "acceptable pour la fonction native :func:`open` ; le ``'b'`` est " "automatiquement ajouté." -#: library/codecs.rst:197 +#: library/codecs.rst:198 msgid "" "*encoding* specifies the encoding which is to be used for the file. Any " "encoding that encodes to and decodes from bytes is allowed, and the data " @@ -327,7 +328,7 @@ msgstr "" "données pris en charge par les méthodes relatives aux fichiers dépendent du " "codec utilisé." -#: library/codecs.rst:201 +#: library/codecs.rst:202 msgid "" "*errors* may be given to define the error handling. It defaults to " "``'strict'`` which causes a :exc:`ValueError` to be raised in case an " @@ -337,7 +338,7 @@ msgstr "" "par défaut est ``'strict'``, ce qui lève une :exc:`ValueError` en cas " "d'erreur lors du codage." -#: library/codecs.rst:204 +#: library/codecs.rst:205 msgid "" "*buffering* has the same meaning as for the built-in :func:`open` function. " "It defaults to -1 which means that the default buffer size will be used." @@ -346,7 +347,7 @@ msgstr "" "`open`. Il vaut ``-1`` par défaut, ce qui signifie que la taille par défaut " "du tampon est utilisée." -#: library/codecs.rst:210 +#: library/codecs.rst:211 msgid "" "Return a :class:`StreamRecoder` instance, a wrapped version of *file* which " "provides transparent transcoding. The original file is closed when the " @@ -356,7 +357,7 @@ msgstr "" "qui fournit un transcodage transparent. Le fichier original est fermé quand " "la version encapsulée est fermée." -#: library/codecs.rst:214 +#: library/codecs.rst:215 msgid "" "Data written to the wrapped file is decoded according to the given " "*data_encoding* and then written to the original file as bytes using " @@ -369,13 +370,13 @@ msgstr "" "original sont décodés conformément à *file_encoding* et le résultat est " "encodé en utilisant *data_encoding*." -#: library/codecs.rst:220 +#: library/codecs.rst:221 msgid "If *file_encoding* is not given, it defaults to *data_encoding*." msgstr "" "Si *file_encoding* n'est pas spécifié, la valeur par défaut est " "*data_encoding*." -#: library/codecs.rst:222 +#: library/codecs.rst:223 msgid "" "*errors* may be given to define the error handling. It defaults to " "``'strict'``, which causes :exc:`ValueError` to be raised in case an " @@ -385,7 +386,7 @@ msgstr "" "par défaut est ``'strict'``, ce qui lève une :exc:`ValueError` en cas " "d'erreur lors du codage." -#: library/codecs.rst:229 +#: library/codecs.rst:230 msgid "" "Uses an incremental encoder to iteratively encode the input provided by " "*iterator*. This function is a :term:`generator`. The *errors* argument (as " @@ -397,7 +398,7 @@ msgstr "" "`. L'argument *errors* (ainsi que tout autre argument passé par " "son nom) est transmis à l'encodeur incrémental." -#: library/codecs.rst:234 +#: library/codecs.rst:235 msgid "" "This function requires that the codec accept text :class:`str` objects to " "encode. Therefore it does not support bytes-to-bytes encoders such as " @@ -407,7 +408,7 @@ msgstr "" "class:`str`) en entrée. Par conséquent, il ne prend pas en charge les " "encodeurs *bytes* vers *bytes* tels que ``base64_codec``." -#: library/codecs.rst:241 +#: library/codecs.rst:242 msgid "" "Uses an incremental decoder to iteratively decode the input provided by " "*iterator*. This function is a :term:`generator`. The *errors* argument (as " @@ -419,7 +420,7 @@ msgstr "" "*errors* (ainsi que tout autre argument passé par son nom) est transmis au " "décodeur incrémental." -#: library/codecs.rst:246 +#: library/codecs.rst:247 msgid "" "This function requires that the codec accept :class:`bytes` objects to " "decode. Therefore it does not support text-to-text encoders such as " @@ -431,7 +432,7 @@ msgstr "" "vers texte tels que ``rot_13``, bien que ``rot_13`` puisse être utilisé de " "manière équivalente avec :func:`iterencode`." -#: library/codecs.rst:252 +#: library/codecs.rst:253 msgid "" "The module also provides the following constants which are useful for " "reading and writing to platform dependent files:" @@ -439,7 +440,7 @@ msgstr "" "Le module fournit également les constantes suivantes qui sont utiles pour " "lire et écrire les fichiers dépendants de la plateforme :" -#: library/codecs.rst:267 +#: library/codecs.rst:268 msgid "" "These constants define various byte sequences, being Unicode byte order " "marks (BOMs) for several encodings. They are used in UTF-16 and UTF-32 data " @@ -460,11 +461,11 @@ msgstr "" "et :const:`BOM_BE` pour :const:`BOM_UTF16_BE`. Les autres sont les marques " "BOM dans les encodages UTF-8 et UTF-32." -#: library/codecs.rst:281 +#: library/codecs.rst:282 msgid "Codec Base Classes" msgstr "Classes de base de codecs" -#: library/codecs.rst:283 +#: library/codecs.rst:284 msgid "" "The :mod:`codecs` module defines a set of base classes which define the " "interfaces for working with codec objects, and can also be used as the basis " @@ -475,7 +476,7 @@ msgstr "" "peuvent également être utilisées comme base pour des implémentations de " "codecs personnalisés." -#: library/codecs.rst:287 +#: library/codecs.rst:288 msgid "" "Each codec has to define four interfaces to make it usable as codec in " "Python: stateless encoder, stateless decoder, stream reader and stream " @@ -490,11 +491,11 @@ msgstr "" "Les auteurs de codecs doivent également définir comment le codec gère les " "erreurs d'encodage et de décodage." -#: library/codecs.rst:298 +#: library/codecs.rst:299 msgid "Error Handlers" msgstr "Gestionnaires d'erreurs" -#: library/codecs.rst:300 +#: library/codecs.rst:301 #, fuzzy msgid "" "To simplify and standardize error handling, codecs may implement different " @@ -506,7 +507,7 @@ msgstr "" "les gestionnaires correspondants implémentés par tous les codecs Python " "standards :" -#: library/codecs.rst:320 +#: library/codecs.rst:321 #, fuzzy msgid "" "The following error handlers can be used with all Python :ref:`standard-" @@ -515,19 +516,19 @@ msgstr "" "Les gestionnaires d'erreurs suivants ne s'appliquent que pour les :term:" "`encodeurs de texte ` :" -#: library/codecs.rst:368 library/codecs.rst:387 +#: library/codecs.rst:369 library/codecs.rst:388 msgid "Value" msgstr "Valeur" -#: library/codecs.rst:368 library/codecs.rst:1320 library/codecs.rst:1442 +#: library/codecs.rst:369 library/codecs.rst:1321 library/codecs.rst:1443 msgid "Meaning" msgstr "Signification" -#: library/codecs.rst:328 +#: library/codecs.rst:329 msgid "``'strict'``" msgstr "``'strict'``" -#: library/codecs.rst:328 +#: library/codecs.rst:329 #, fuzzy msgid "" "Raise :exc:`UnicodeError` (or a subclass), this is the default. Implemented " @@ -536,11 +537,11 @@ msgstr "" "Lève :exc:`UnicodeError` (ou une sous-classe) ; c'est la valeur par défaut. " "Implémenté dans :func:`strict_errors`." -#: library/codecs.rst:332 +#: library/codecs.rst:333 msgid "``'ignore'``" msgstr "``'ignore'``" -#: library/codecs.rst:332 +#: library/codecs.rst:333 msgid "" "Ignore the malformed data and continue without further notice. Implemented " "in :func:`ignore_errors`." @@ -548,11 +549,11 @@ msgstr "" "Ignore les données incorrectement formatées et continue sans rien signaler. " "Implémenté dans :func:`ignore_errors`." -#: library/codecs.rst:336 +#: library/codecs.rst:337 msgid "``'replace'``" msgstr "``'replace'``" -#: library/codecs.rst:336 +#: library/codecs.rst:337 #, fuzzy msgid "" "Replace with a replacement marker. On encoding, use ``?`` (ASCII character). " @@ -563,11 +564,11 @@ msgstr "" "caractère de substitution officiel ``U+FFFD`` pour les codecs natifs lors du " "décodage et `'?'` lors de l'encodage. Implémenté dans :func:`replace_errors`." -#: library/codecs.rst:342 +#: library/codecs.rst:343 msgid "``'backslashreplace'``" msgstr "``'backslashreplace'``" -#: library/codecs.rst:342 +#: library/codecs.rst:343 msgid "" "Replace with backslashed escape sequences. On encoding, use hexadecimal form " "of Unicode code point with formats ``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. On " @@ -575,11 +576,11 @@ msgid "" "Implemented in :func:`backslashreplace_errors`." msgstr "" -#: library/codecs.rst:350 +#: library/codecs.rst:351 msgid "``'surrogateescape'``" msgstr "``'surrogateescape'``" -#: library/codecs.rst:350 +#: library/codecs.rst:351 msgid "" "On decoding, replace byte with individual surrogate code ranging from " "``U+DC80`` to ``U+DCFF``. This code will then be turned back into the same " @@ -591,7 +592,7 @@ msgstr "" "départ quand le gestionnaire d'erreurs ``'surrogateescape'`` est utilisé " "pour l'encodage des données (voir la :pep:`383` pour plus de détails)." -#: library/codecs.rst:364 +#: library/codecs.rst:365 #, fuzzy msgid "" "The following error handlers are only applicable to encoding (within :term:" @@ -600,11 +601,11 @@ msgstr "" "Les gestionnaires d'erreurs suivants ne s'appliquent que pour les :term:" "`encodeurs de texte ` :" -#: library/codecs.rst:370 +#: library/codecs.rst:371 msgid "``'xmlcharrefreplace'``" msgstr "``'xmlcharrefreplace'``" -#: library/codecs.rst:370 +#: library/codecs.rst:371 #, fuzzy msgid "" "Replace with XML/HTML numeric character reference, which is a decimal form " @@ -614,11 +615,11 @@ msgstr "" "Remplace avec la référence de caractère XML adaptée (uniquement pour " "l'encodage). Implémenté dans :func:`xmlcharrefreplace_errors`." -#: library/codecs.rst:375 +#: library/codecs.rst:376 msgid "``'namereplace'``" msgstr "``'namereplace'``" -#: library/codecs.rst:375 +#: library/codecs.rst:376 #, fuzzy msgid "" "Replace with ``\\N{...}`` escape sequences, what appears in the braces is " @@ -628,26 +629,26 @@ msgstr "" "Remplace avec des séquences échappées par ``\\N{...}`` (uniquement pour " "l'encodage). Implémenté dans :func:`namereplace_errors`." -#: library/codecs.rst:384 +#: library/codecs.rst:385 msgid "" "In addition, the following error handler is specific to the given codecs:" msgstr "" "En plus, le gestionnaire d'erreurs suivant est spécifique aux codecs " "suivants :" -#: library/codecs.rst:387 +#: library/codecs.rst:388 msgid "Codecs" msgstr "Codecs" -#: library/codecs.rst:389 +#: library/codecs.rst:390 msgid "``'surrogatepass'``" msgstr "``'surrogatepass'``" -#: library/codecs.rst:389 +#: library/codecs.rst:390 msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" msgstr "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" -#: library/codecs.rst:389 +#: library/codecs.rst:390 #, fuzzy msgid "" "Allow encoding and decoding surrogate code point (``U+D800`` - ``U+DFFF``) " @@ -658,13 +659,13 @@ msgstr "" "traitent normalement la présence d'un code de substitution comme une erreur." # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:396 +#: library/codecs.rst:397 msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers." msgstr "" "les gestionnaires d'erreurs ``'surrogateescape'`` et ``'surrogatepass'``." # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:399 +#: library/codecs.rst:400 #, fuzzy msgid "" "The ``'surrogatepass'`` error handler now works with utf-16\\* and utf-32\\* " @@ -674,12 +675,12 @@ msgstr "" "codecs utf-16\\* et utf-32\\*." # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:403 +#: library/codecs.rst:404 msgid "The ``'namereplace'`` error handler." msgstr "le gestionnaire d'erreurs ``'namereplace'``." # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:406 +#: library/codecs.rst:407 #, fuzzy msgid "" "The ``'backslashreplace'`` error handler now works with decoding and " @@ -688,7 +689,7 @@ msgstr "" "le gestionnaire d'erreurs ``'backslashreplace'`` fonctionne maintenant pour " "le décodage et la traduction." -#: library/codecs.rst:410 +#: library/codecs.rst:411 msgid "" "The set of allowed values can be extended by registering a new named error " "handler:" @@ -696,14 +697,14 @@ msgstr "" "L'ensemble des valeurs autorisées peut être étendu en enregistrant un " "nouveau gestionnaire d'erreurs nommé :" -#: library/codecs.rst:415 +#: library/codecs.rst:416 msgid "" "Register the error handling function *error_handler* under the name *name*. " "The *error_handler* argument will be called during encoding and decoding in " "case of an error, when *name* is specified as the errors parameter." msgstr "" -#: library/codecs.rst:419 +#: library/codecs.rst:420 msgid "" "For encoding, *error_handler* will be called with a :exc:" "`UnicodeEncodeError` instance, which contains information about the location " @@ -718,74 +719,74 @@ msgid "" "position is out of bound an :exc:`IndexError` will be raised." msgstr "" -#: library/codecs.rst:431 +#: library/codecs.rst:432 msgid "" "Decoding and translating works similarly, except :exc:`UnicodeDecodeError` " "or :exc:`UnicodeTranslateError` will be passed to the handler and that the " "replacement from the error handler will be put into the output directly." msgstr "" -#: library/codecs.rst:436 +#: library/codecs.rst:437 msgid "" "Previously registered error handlers (including the standard error handlers) " "can be looked up by name:" msgstr "" -#: library/codecs.rst:441 +#: library/codecs.rst:442 msgid "Return the error handler previously registered under the name *name*." msgstr "" -#: library/codecs.rst:443 +#: library/codecs.rst:444 msgid "Raises a :exc:`LookupError` in case the handler cannot be found." msgstr "" -#: library/codecs.rst:445 +#: library/codecs.rst:446 msgid "" "The following standard error handlers are also made available as module " "level functions:" msgstr "" # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:450 +#: library/codecs.rst:451 #, fuzzy msgid "Implements the ``'strict'`` error handling." msgstr "le gestionnaire d'erreurs ``'namereplace'``." -#: library/codecs.rst:452 +#: library/codecs.rst:453 msgid "Each encoding or decoding error raises a :exc:`UnicodeError`." msgstr "" # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:457 +#: library/codecs.rst:458 #, fuzzy msgid "Implements the ``'ignore'`` error handling." msgstr "le gestionnaire d'erreurs ``'namereplace'``." -#: library/codecs.rst:459 +#: library/codecs.rst:460 msgid "" "Malformed data is ignored; encoding or decoding is continued without further " "notice." msgstr "" # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:465 +#: library/codecs.rst:466 #, fuzzy msgid "Implements the ``'replace'`` error handling." msgstr "le gestionnaire d'erreurs ``'namereplace'``." -#: library/codecs.rst:467 +#: library/codecs.rst:468 msgid "" "Substitutes ``?`` (ASCII character) for encoding errors or ``�`` (U+FFFD, " "the official REPLACEMENT CHARACTER) for decoding errors." msgstr "" # pas de majuscule en début de phrase car suit un deux-points. -#: library/codecs.rst:473 +#: library/codecs.rst:474 #, fuzzy msgid "Implements the ``'backslashreplace'`` error handling." msgstr "le gestionnaire d'erreurs ``'namereplace'``." -#: library/codecs.rst:475 +#: library/codecs.rst:476 msgid "" "Malformed data is replaced by a backslashed escape sequence. On encoding, " "use the hexadecimal form of Unicode code point with formats ``\\xhh`` " @@ -793,30 +794,30 @@ msgid "" "value with format ``\\xhh``." msgstr "" -#: library/codecs.rst:480 +#: library/codecs.rst:481 msgid "Works with decoding and translating." msgstr "" -#: library/codecs.rst:486 +#: library/codecs.rst:487 msgid "" "Implements the ``'xmlcharrefreplace'`` error handling (for encoding within :" "term:`text encoding` only)." msgstr "" -#: library/codecs.rst:489 +#: library/codecs.rst:490 msgid "" "The unencodable character is replaced by an appropriate XML/HTML numeric " "character reference, which is a decimal form of Unicode code point with " "format ``&#num;`` ." msgstr "" -#: library/codecs.rst:496 +#: library/codecs.rst:497 msgid "" "Implements the ``'namereplace'`` error handling (for encoding within :term:" "`text encoding` only)." msgstr "" -#: library/codecs.rst:499 +#: library/codecs.rst:500 msgid "" "The unencodable character is replaced by a ``\\N{...}`` escape sequence. The " "set of characters that appear in the braces is the Name property from " @@ -824,17 +825,17 @@ msgid "" "will be converted to byte sequence ``\\N{LATIN SMALL LETTER SHARP S}`` ." msgstr "" -#: library/codecs.rst:510 +#: library/codecs.rst:511 msgid "Stateless Encoding and Decoding" msgstr "" -#: library/codecs.rst:512 +#: library/codecs.rst:513 msgid "" "The base :class:`Codec` class defines these methods which also define the " "function interfaces of the stateless encoder and decoder:" msgstr "" -#: library/codecs.rst:518 +#: library/codecs.rst:519 msgid "" "Encodes the object *input* and returns a tuple (output object, length " "consumed). For instance, :term:`text encoding` converts a string object to a " @@ -842,26 +843,26 @@ msgid "" "``iso-8859-1``)." msgstr "" -#: library/codecs.rst:545 +#: library/codecs.rst:546 msgid "" "The *errors* argument defines the error handling to apply. It defaults to " "``'strict'`` handling." msgstr "" -#: library/codecs.rst:526 +#: library/codecs.rst:527 msgid "" "The method may not store state in the :class:`Codec` instance. Use :class:" "`StreamWriter` for codecs which have to keep state in order to make encoding " "efficient." msgstr "" -#: library/codecs.rst:530 +#: library/codecs.rst:531 msgid "" "The encoder must be able to handle zero length input and return an empty " "object of the output object type in this situation." msgstr "" -#: library/codecs.rst:536 +#: library/codecs.rst:537 msgid "" "Decodes the object *input* and returns a tuple (output object, length " "consumed). For instance, for a :term:`text encoding`, decoding converts a " @@ -869,31 +870,31 @@ msgid "" "object." msgstr "" -#: library/codecs.rst:541 +#: library/codecs.rst:542 msgid "" "For text encodings and bytes-to-bytes codecs, *input* must be a bytes object " "or one which provides the read-only buffer interface -- for example, buffer " "objects and memory mapped files." msgstr "" -#: library/codecs.rst:548 +#: library/codecs.rst:549 msgid "" "The method may not store state in the :class:`Codec` instance. Use :class:" "`StreamReader` for codecs which have to keep state in order to make decoding " "efficient." msgstr "" -#: library/codecs.rst:552 +#: library/codecs.rst:553 msgid "" "The decoder must be able to handle zero length input and return an empty " "object of the output object type in this situation." msgstr "" -#: library/codecs.rst:557 +#: library/codecs.rst:558 msgid "Incremental Encoding and Decoding" msgstr "" -#: library/codecs.rst:559 +#: library/codecs.rst:560 msgid "" "The :class:`IncrementalEncoder` and :class:`IncrementalDecoder` classes " "provide the basic interface for incremental encoding and decoding. Encoding/" @@ -904,7 +905,7 @@ msgid "" "during method calls." msgstr "" -#: library/codecs.rst:567 +#: library/codecs.rst:568 msgid "" "The joined output of calls to the :meth:`~IncrementalEncoder.encode`/:meth:" "`~IncrementalDecoder.decode` method is the same as if all the single inputs " @@ -912,36 +913,36 @@ msgid "" "encoder/decoder." msgstr "" -#: library/codecs.rst:576 +#: library/codecs.rst:577 msgid "IncrementalEncoder Objects" msgstr "" -#: library/codecs.rst:578 +#: library/codecs.rst:579 msgid "" "The :class:`IncrementalEncoder` class is used for encoding an input in " "multiple steps. It defines the following methods which every incremental " "encoder must define in order to be compatible with the Python codec registry." msgstr "" -#: library/codecs.rst:585 +#: library/codecs.rst:586 msgid "Constructor for an :class:`IncrementalEncoder` instance." msgstr "" -#: library/codecs.rst:587 +#: library/codecs.rst:588 msgid "" "All incremental encoders must provide this constructor interface. They are " "free to add additional keyword arguments, but only the ones defined here are " "used by the Python codec registry." msgstr "" -#: library/codecs.rst:591 +#: library/codecs.rst:592 msgid "" "The :class:`IncrementalEncoder` may implement different error handling " "schemes by providing the *errors* keyword argument. See :ref:`error-" "handlers` for possible values." msgstr "" -#: library/codecs.rst:595 +#: library/codecs.rst:596 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " @@ -949,21 +950,21 @@ msgid "" "`IncrementalEncoder` object." msgstr "" -#: library/codecs.rst:603 +#: library/codecs.rst:604 msgid "" "Encodes *object* (taking the current state of the encoder into account) and " "returns the resulting encoded object. If this is the last call to :meth:" "`encode` *final* must be true (the default is false)." msgstr "" -#: library/codecs.rst:610 +#: library/codecs.rst:611 msgid "" "Reset the encoder to the initial state. The output is discarded: call ``." "encode(object, final=True)``, passing an empty byte or text string if " "necessary, to reset the encoder and to get the output." msgstr "" -#: library/codecs.rst:617 +#: library/codecs.rst:618 msgid "" "Return the current state of the encoder which must be an integer. The " "implementation should make sure that ``0`` is the most common state. (States " @@ -972,42 +973,42 @@ msgid "" "into an integer.)" msgstr "" -#: library/codecs.rst:626 +#: library/codecs.rst:627 msgid "" "Set the state of the encoder to *state*. *state* must be an encoder state " "returned by :meth:`getstate`." msgstr "" -#: library/codecs.rst:633 +#: library/codecs.rst:634 msgid "IncrementalDecoder Objects" msgstr "" -#: library/codecs.rst:635 +#: library/codecs.rst:636 msgid "" "The :class:`IncrementalDecoder` class is used for decoding an input in " "multiple steps. It defines the following methods which every incremental " "decoder must define in order to be compatible with the Python codec registry." msgstr "" -#: library/codecs.rst:642 +#: library/codecs.rst:643 msgid "Constructor for an :class:`IncrementalDecoder` instance." msgstr "" -#: library/codecs.rst:644 +#: library/codecs.rst:645 msgid "" "All incremental decoders must provide this constructor interface. They are " "free to add additional keyword arguments, but only the ones defined here are " "used by the Python codec registry." msgstr "" -#: library/codecs.rst:648 +#: library/codecs.rst:649 msgid "" "The :class:`IncrementalDecoder` may implement different error handling " "schemes by providing the *errors* keyword argument. See :ref:`error-" "handlers` for possible values." msgstr "" -#: library/codecs.rst:652 +#: library/codecs.rst:653 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " @@ -1015,7 +1016,7 @@ msgid "" "`IncrementalDecoder` object." msgstr "" -#: library/codecs.rst:660 +#: library/codecs.rst:661 msgid "" "Decodes *object* (taking the current state of the decoder into account) and " "returns the resulting decoded object. If this is the last call to :meth:" @@ -1026,11 +1027,11 @@ msgid "" "(which might raise an exception)." msgstr "" -#: library/codecs.rst:671 +#: library/codecs.rst:672 msgid "Reset the decoder to the initial state." msgstr "" -#: library/codecs.rst:676 +#: library/codecs.rst:677 msgid "" "Return the current state of the decoder. This must be a tuple with two " "items, the first must be the buffer containing the still undecoded input. " @@ -1045,59 +1046,59 @@ msgid "" "bytes of the resulting string into an integer.)" msgstr "" -#: library/codecs.rst:691 +#: library/codecs.rst:692 msgid "" "Set the state of the decoder to *state*. *state* must be a decoder state " "returned by :meth:`getstate`." msgstr "" -#: library/codecs.rst:696 +#: library/codecs.rst:697 msgid "Stream Encoding and Decoding" msgstr "" -#: library/codecs.rst:699 +#: library/codecs.rst:700 msgid "" "The :class:`StreamWriter` and :class:`StreamReader` classes provide generic " "working interfaces which can be used to implement new encoding submodules " "very easily. See :mod:`encodings.utf_8` for an example of how this is done." msgstr "" -#: library/codecs.rst:707 +#: library/codecs.rst:708 msgid "StreamWriter Objects" msgstr "" -#: library/codecs.rst:709 +#: library/codecs.rst:710 msgid "" "The :class:`StreamWriter` class is a subclass of :class:`Codec` and defines " "the following methods which every stream writer must define in order to be " "compatible with the Python codec registry." msgstr "" -#: library/codecs.rst:716 +#: library/codecs.rst:717 msgid "Constructor for a :class:`StreamWriter` instance." msgstr "" -#: library/codecs.rst:718 +#: library/codecs.rst:719 msgid "" "All stream writers must provide this constructor interface. They are free to " "add additional keyword arguments, but only the ones defined here are used by " "the Python codec registry." msgstr "" -#: library/codecs.rst:722 +#: library/codecs.rst:723 msgid "" "The *stream* argument must be a file-like object open for writing text or " "binary data, as appropriate for the specific codec." msgstr "" -#: library/codecs.rst:725 +#: library/codecs.rst:726 msgid "" "The :class:`StreamWriter` may implement different error handling schemes by " "providing the *errors* keyword argument. See :ref:`error-handlers` for the " "standard error handlers the underlying stream codec may support." msgstr "" -#: library/codecs.rst:729 +#: library/codecs.rst:730 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " @@ -1105,70 +1106,70 @@ msgid "" "object." msgstr "" -#: library/codecs.rst:735 +#: library/codecs.rst:736 msgid "Writes the object's contents encoded to the stream." msgstr "" -#: library/codecs.rst:740 +#: library/codecs.rst:741 msgid "" "Writes the concatenated iterable of strings to the stream (possibly by " "reusing the :meth:`write` method). Infinite or very large iterables are not " "supported. The standard bytes-to-bytes codecs do not support this method." msgstr "" -#: library/codecs.rst:843 +#: library/codecs.rst:844 msgid "Resets the codec buffers used for keeping internal state." msgstr "" -#: library/codecs.rst:750 +#: library/codecs.rst:751 msgid "" "Calling this method should ensure that the data on the output is put into a " "clean state that allows appending of new fresh data without having to rescan " "the whole stream to recover state." msgstr "" -#: library/codecs.rst:755 +#: library/codecs.rst:756 msgid "" "In addition to the above methods, the :class:`StreamWriter` must also " "inherit all other methods and attributes from the underlying stream." msgstr "" -#: library/codecs.rst:762 +#: library/codecs.rst:763 msgid "StreamReader Objects" msgstr "" -#: library/codecs.rst:764 +#: library/codecs.rst:765 msgid "" "The :class:`StreamReader` class is a subclass of :class:`Codec` and defines " "the following methods which every stream reader must define in order to be " "compatible with the Python codec registry." msgstr "" -#: library/codecs.rst:771 +#: library/codecs.rst:772 msgid "Constructor for a :class:`StreamReader` instance." msgstr "" -#: library/codecs.rst:773 +#: library/codecs.rst:774 msgid "" "All stream readers must provide this constructor interface. They are free to " "add additional keyword arguments, but only the ones defined here are used by " "the Python codec registry." msgstr "" -#: library/codecs.rst:777 +#: library/codecs.rst:778 msgid "" "The *stream* argument must be a file-like object open for reading text or " "binary data, as appropriate for the specific codec." msgstr "" -#: library/codecs.rst:780 +#: library/codecs.rst:781 msgid "" "The :class:`StreamReader` may implement different error handling schemes by " "providing the *errors* keyword argument. See :ref:`error-handlers` for the " "standard error handlers the underlying stream codec may support." msgstr "" -#: library/codecs.rst:784 +#: library/codecs.rst:785 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " @@ -1176,24 +1177,24 @@ msgid "" "object." msgstr "" -#: library/codecs.rst:788 +#: library/codecs.rst:789 msgid "" "The set of allowed values for the *errors* argument can be extended with :" "func:`register_error`." msgstr "" -#: library/codecs.rst:794 +#: library/codecs.rst:795 msgid "Decodes data from the stream and returns the resulting object." msgstr "" -#: library/codecs.rst:796 +#: library/codecs.rst:797 msgid "" "The *chars* argument indicates the number of decoded code points or bytes to " "return. The :func:`read` method will never return more data than requested, " "but it might return less, if there is not enough available." msgstr "" -#: library/codecs.rst:801 +#: library/codecs.rst:802 msgid "" "The *size* argument indicates the approximate maximum number of encoded " "bytes or code points to read for decoding. The decoder can modify this " @@ -1202,13 +1203,13 @@ msgid "" "huge files in one step." msgstr "" -#: library/codecs.rst:808 +#: library/codecs.rst:809 msgid "" "The *firstline* flag indicates that it would be sufficient to only return " "the first line, if there are decoding errors on later lines." msgstr "" -#: library/codecs.rst:812 +#: library/codecs.rst:813 msgid "" "The method should use a greedy read strategy meaning that it should read as " "much data as is allowed within the definition of the encoding and the given " @@ -1216,68 +1217,68 @@ msgid "" "the stream, these should be read too." msgstr "" -#: library/codecs.rst:820 +#: library/codecs.rst:821 msgid "Read one line from the input stream and return the decoded data." msgstr "" -#: library/codecs.rst:822 +#: library/codecs.rst:823 msgid "" "*size*, if given, is passed as size argument to the stream's :meth:`read` " "method." msgstr "" -#: library/codecs.rst:825 +#: library/codecs.rst:826 msgid "" "If *keepends* is false line-endings will be stripped from the lines returned." msgstr "" -#: library/codecs.rst:831 +#: library/codecs.rst:832 msgid "" "Read all lines available on the input stream and return them as a list of " "lines." msgstr "" -#: library/codecs.rst:834 +#: library/codecs.rst:835 msgid "" "Line-endings are implemented using the codec's :meth:`decode` method and are " "included in the list entries if *keepends* is true." msgstr "" -#: library/codecs.rst:837 +#: library/codecs.rst:838 msgid "" "*sizehint*, if given, is passed as the *size* argument to the stream's :meth:" "`read` method." msgstr "" -#: library/codecs.rst:845 +#: library/codecs.rst:846 msgid "" "Note that no stream repositioning should take place. This method is " "primarily intended to be able to recover from decoding errors." msgstr "" -#: library/codecs.rst:849 +#: library/codecs.rst:850 msgid "" "In addition to the above methods, the :class:`StreamReader` must also " "inherit all other methods and attributes from the underlying stream." msgstr "" -#: library/codecs.rst:855 +#: library/codecs.rst:856 msgid "StreamReaderWriter Objects" msgstr "" -#: library/codecs.rst:857 +#: library/codecs.rst:858 msgid "" "The :class:`StreamReaderWriter` is a convenience class that allows wrapping " "streams which work in both read and write modes." msgstr "" -#: library/codecs.rst:884 +#: library/codecs.rst:885 msgid "" "The design is such that one can use the factory functions returned by the :" "func:`lookup` function to construct the instance." msgstr "" -#: library/codecs.rst:866 +#: library/codecs.rst:867 msgid "" "Creates a :class:`StreamReaderWriter` instance. *stream* must be a file-like " "object. *Reader* and *Writer* must be factory functions or classes providing " @@ -1286,24 +1287,24 @@ msgid "" "writers." msgstr "" -#: library/codecs.rst:871 +#: library/codecs.rst:872 msgid "" ":class:`StreamReaderWriter` instances define the combined interfaces of :" "class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " "other methods and attributes from the underlying stream." msgstr "" -#: library/codecs.rst:879 +#: library/codecs.rst:880 msgid "StreamRecoder Objects" msgstr "" -#: library/codecs.rst:881 +#: library/codecs.rst:882 msgid "" "The :class:`StreamRecoder` translates data from one encoding to another, " "which is sometimes useful when dealing with different encoding environments." msgstr "" -#: library/codecs.rst:890 +#: library/codecs.rst:891 msgid "" "Creates a :class:`StreamRecoder` instance which implements a two-way " "conversion: *encode* and *decode* work on the frontend — the data visible to " @@ -1311,17 +1312,17 @@ msgid "" "work on the backend — the data in *stream*." msgstr "" -#: library/codecs.rst:895 +#: library/codecs.rst:896 msgid "" "You can use these objects to do transparent transcodings, e.g., from Latin-1 " "to UTF-8 and back." msgstr "" -#: library/codecs.rst:898 +#: library/codecs.rst:899 msgid "The *stream* argument must be a file-like object." msgstr "" -#: library/codecs.rst:900 +#: library/codecs.rst:901 msgid "" "The *encode* and *decode* arguments must adhere to the :class:`Codec` " "interface. *Reader* and *Writer* must be factory functions or classes " @@ -1329,24 +1330,24 @@ msgid "" "interface respectively." msgstr "" -#: library/codecs.rst:905 +#: library/codecs.rst:906 msgid "" "Error handling is done in the same way as defined for the stream readers and " "writers." msgstr "" -#: library/codecs.rst:909 +#: library/codecs.rst:910 msgid "" ":class:`StreamRecoder` instances define the combined interfaces of :class:" "`StreamReader` and :class:`StreamWriter` classes. They inherit all other " "methods and attributes from the underlying stream." msgstr "" -#: library/codecs.rst:917 +#: library/codecs.rst:918 msgid "Encodings and Unicode" msgstr "" -#: library/codecs.rst:919 +#: library/codecs.rst:920 msgid "" "Strings are stored internally as sequences of code points in range " "``U+0000``--``U+10FFFF``. (See :pep:`393` for more details about the " @@ -1358,7 +1359,7 @@ msgid "" "which are collectivity referred to as :term:`text encodings `." msgstr "" -#: library/codecs.rst:929 +#: library/codecs.rst:930 msgid "" "The simplest text encoding (called ``'latin-1'`` or ``'iso-8859-1'``) maps " "the code points 0--255 to the bytes ``0x0``--``0xff``, which means that a " @@ -1369,7 +1370,7 @@ msgid "" "position 3: ordinal not in range(256)``." msgstr "" -#: library/codecs.rst:937 +#: library/codecs.rst:938 msgid "" "There's another group of encodings (the so called charmap encodings) that " "choose a different subset of all Unicode code points and how these code " @@ -1379,7 +1380,7 @@ msgid "" "that shows you which character is mapped to which byte value." msgstr "" -#: library/codecs.rst:944 +#: library/codecs.rst:945 msgid "" "All of these encodings can only encode 256 of the 1114112 code points " "defined in Unicode. A simple and straightforward way that can store each " @@ -1409,7 +1410,7 @@ msgid "" "normal character that will be decoded like any other." msgstr "" -#: library/codecs.rst:970 +#: library/codecs.rst:971 msgid "" "There's another encoding that is able to encode the full range of Unicode " "characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no " @@ -1420,60 +1421,60 @@ msgid "" "which when concatenated give the Unicode character):" msgstr "" -#: library/codecs.rst:979 +#: library/codecs.rst:980 msgid "Range" msgstr "*Range*" -#: library/codecs.rst:979 +#: library/codecs.rst:980 #, fuzzy msgid "Encoding" msgstr "Encodages" -#: library/codecs.rst:981 +#: library/codecs.rst:982 msgid "``U-00000000`` ... ``U-0000007F``" msgstr "``U-00000000`` ... ``U-0000007F``" -#: library/codecs.rst:981 +#: library/codecs.rst:982 msgid "0xxxxxxx" msgstr "0xxxxxxx" -#: library/codecs.rst:983 +#: library/codecs.rst:984 msgid "``U-00000080`` ... ``U-000007FF``" msgstr "``U-00000080`` ... ``U-000007FF``" -#: library/codecs.rst:983 +#: library/codecs.rst:984 msgid "110xxxxx 10xxxxxx" msgstr "110xxxxx 10xxxxxx" -#: library/codecs.rst:985 +#: library/codecs.rst:986 msgid "``U-00000800`` ... ``U-0000FFFF``" msgstr "``U-00000800`` ... ``U-0000FFFF``" -#: library/codecs.rst:985 +#: library/codecs.rst:986 msgid "1110xxxx 10xxxxxx 10xxxxxx" msgstr "1110xxxx 10xxxxxx 10xxxxxx" -#: library/codecs.rst:987 +#: library/codecs.rst:988 msgid "``U-00010000`` ... ``U-0010FFFF``" msgstr "``U-00010000`` ... ``U-0010FFFF``" -#: library/codecs.rst:987 +#: library/codecs.rst:988 msgid "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" msgstr "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" -#: library/codecs.rst:990 +#: library/codecs.rst:991 msgid "" "The least significant bit of the Unicode character is the rightmost x bit." msgstr "" -#: library/codecs.rst:992 +#: library/codecs.rst:993 msgid "" "As UTF-8 is an 8-bit encoding no BOM is required and any ``U+FEFF`` " "character in the decoded string (even if it's the first character) is " "treated as a ``ZERO WIDTH NO-BREAK SPACE``." msgstr "" -#: library/codecs.rst:996 +#: library/codecs.rst:997 msgid "" "Without external information it's impossible to reliably determine which " "encoding was used for encoding a string. Each charmap encoding can decode " @@ -1499,7 +1500,7 @@ msgstr "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" msgid "INVERTED QUESTION MARK" msgstr "INVERTED QUESTION MARK" -#: library/codecs.rst:1012 +#: library/codecs.rst:1013 msgid "" "in iso-8859-1), this increases the probability that a ``utf-8-sig`` encoding " "can be correctly guessed from the byte sequence. So here the BOM is not used " @@ -1511,11 +1512,11 @@ msgid "" "the use of the BOM is discouraged and should generally be avoided." msgstr "" -#: library/codecs.rst:1025 +#: library/codecs.rst:1026 msgid "Standard Encodings" msgstr "" -#: library/codecs.rst:1027 +#: library/codecs.rst:1028 msgid "" "Python comes with a number of codecs built-in, either implemented as C " "functions or with dictionaries as mapping tables. The following table lists " @@ -1527,7 +1528,7 @@ msgid "" "alias for the ``'utf_8'`` codec." msgstr "" -#: library/codecs.rst:1037 +#: library/codecs.rst:1038 msgid "" "Some common encodings can bypass the codecs lookup machinery to improve " "performance. These optimization opportunities are only recognized by CPython " @@ -1537,11 +1538,11 @@ msgid "" "Using alternative aliases for these encodings may result in slower execution." msgstr "" -#: library/codecs.rst:1045 +#: library/codecs.rst:1046 msgid "Optimization opportunity recognized for us-ascii." msgstr "" -#: library/codecs.rst:1048 +#: library/codecs.rst:1049 msgid "" "Many of the character sets support the same languages. They vary in " "individual characters (e.g. whether the EURO SIGN is supported or not), and " @@ -1549,485 +1550,485 @@ msgid "" "languages in particular, the following variants typically exist:" msgstr "" -#: library/codecs.rst:1053 +#: library/codecs.rst:1054 msgid "an ISO 8859 codeset" msgstr "" -#: library/codecs.rst:1055 +#: library/codecs.rst:1056 msgid "" "a Microsoft Windows code page, which is typically derived from an 8859 " "codeset, but replaces control characters with additional graphic characters" msgstr "" -#: library/codecs.rst:1058 +#: library/codecs.rst:1059 msgid "an IBM EBCDIC code page" msgstr "" -#: library/codecs.rst:1060 +#: library/codecs.rst:1061 msgid "an IBM PC code page, which is ASCII compatible" msgstr "" -#: library/codecs.rst:1320 library/codecs.rst:1442 +#: library/codecs.rst:1321 library/codecs.rst:1443 msgid "Codec" msgstr "" -#: library/codecs.rst:1320 library/codecs.rst:1442 +#: library/codecs.rst:1321 library/codecs.rst:1443 msgid "Aliases" msgstr "" -#: library/codecs.rst:1065 +#: library/codecs.rst:1066 msgid "Languages" msgstr "" -#: library/codecs.rst:1067 +#: library/codecs.rst:1068 msgid "ascii" msgstr "*ascii*" -#: library/codecs.rst:1067 +#: library/codecs.rst:1068 msgid "646, us-ascii" msgstr "*646*, *us-ascii*" -#: library/codecs.rst:1073 library/codecs.rst:1081 +#: library/codecs.rst:1074 library/codecs.rst:1082 msgid "English" msgstr "Anglais" -#: library/codecs.rst:1069 +#: library/codecs.rst:1070 msgid "big5" msgstr "*big5*" -#: library/codecs.rst:1069 +#: library/codecs.rst:1070 msgid "big5-tw, csbig5" msgstr "*big5-tw*, *csbig5*" -#: library/codecs.rst:1071 library/codecs.rst:1129 +#: library/codecs.rst:1072 library/codecs.rst:1130 msgid "Traditional Chinese" msgstr "Chinois Traditionnel" -#: library/codecs.rst:1071 +#: library/codecs.rst:1072 msgid "big5hkscs" msgstr "*big5hkscs*" -#: library/codecs.rst:1071 +#: library/codecs.rst:1072 msgid "big5-hkscs, hkscs" msgstr "*big5-hkscs*, *hkscs*" -#: library/codecs.rst:1073 +#: library/codecs.rst:1074 msgid "cp037" msgstr "*cp037*" -#: library/codecs.rst:1073 +#: library/codecs.rst:1074 msgid "IBM037, IBM039" msgstr "*IBM037*, *IBM039*" -#: library/codecs.rst:1075 +#: library/codecs.rst:1076 msgid "cp273" msgstr "*cp273*" -#: library/codecs.rst:1075 +#: library/codecs.rst:1076 msgid "273, IBM273, csIBM273" msgstr "*273*, *IBM273*, *csIBM273*" -#: library/codecs.rst:1075 +#: library/codecs.rst:1076 msgid "German" msgstr "Allemand" -#: library/codecs.rst:1079 +#: library/codecs.rst:1080 msgid "cp424" msgstr "*cp424*" -#: library/codecs.rst:1079 +#: library/codecs.rst:1080 msgid "EBCDIC-CP-HE, IBM424" msgstr "*EBCDIC-CP-HE*, *IBM424*" -#: library/codecs.rst:1099 library/codecs.rst:1152 library/codecs.rst:1215 +#: library/codecs.rst:1100 library/codecs.rst:1153 library/codecs.rst:1216 msgid "Hebrew" msgstr "Hébreux" -#: library/codecs.rst:1081 +#: library/codecs.rst:1082 msgid "cp437" msgstr "*cp437*" -#: library/codecs.rst:1081 +#: library/codecs.rst:1082 msgid "437, IBM437" msgstr "*437*, *IBM437*" -#: library/codecs.rst:1083 +#: library/codecs.rst:1084 msgid "cp500" msgstr "*cp500*" -#: library/codecs.rst:1083 +#: library/codecs.rst:1084 msgid "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" msgstr "*EBCDIC-CP-BE*, *EBCDIC-CP-CH*, *IBM500*" -#: library/codecs.rst:1092 library/codecs.rst:1139 library/codecs.rst:1199 -#: library/codecs.rst:1255 +#: library/codecs.rst:1093 library/codecs.rst:1140 library/codecs.rst:1200 +#: library/codecs.rst:1256 msgid "Western Europe" msgstr "Europe de l'ouest" -#: library/codecs.rst:1086 +#: library/codecs.rst:1087 msgid "cp720" msgstr "*cp720*" -#: library/codecs.rst:1113 library/codecs.rst:1211 +#: library/codecs.rst:1114 library/codecs.rst:1212 msgid "Arabic" msgstr "Arabe" -#: library/codecs.rst:1088 +#: library/codecs.rst:1089 msgid "cp737" msgstr "*cp737*" -#: library/codecs.rst:1119 library/codecs.rst:1148 library/codecs.rst:1248 +#: library/codecs.rst:1120 library/codecs.rst:1149 library/codecs.rst:1249 msgid "Greek" msgstr "Grec" -#: library/codecs.rst:1090 +#: library/codecs.rst:1091 msgid "cp775" msgstr "*cp775*" -#: library/codecs.rst:1090 +#: library/codecs.rst:1091 msgid "IBM775" msgstr "*IBM775*" -#: library/codecs.rst:1156 library/codecs.rst:1223 +#: library/codecs.rst:1157 library/codecs.rst:1224 msgid "Baltic languages" msgstr "Langues Baltiques" -#: library/codecs.rst:1092 +#: library/codecs.rst:1093 msgid "cp850" msgstr "*cp850*" -#: library/codecs.rst:1092 +#: library/codecs.rst:1093 msgid "850, IBM850" msgstr "*850*, *IBM850*" -#: library/codecs.rst:1094 +#: library/codecs.rst:1095 msgid "cp852" msgstr "*cp852*" -#: library/codecs.rst:1094 +#: library/codecs.rst:1095 msgid "852, IBM852" msgstr "*852*, *IBM852*" -#: library/codecs.rst:1141 library/codecs.rst:1252 +#: library/codecs.rst:1142 library/codecs.rst:1253 msgid "Central and Eastern Europe" msgstr "Europe centrale et Europe de l'Est" -#: library/codecs.rst:1096 +#: library/codecs.rst:1097 msgid "cp855" msgstr "*cp855*" -#: library/codecs.rst:1096 +#: library/codecs.rst:1097 msgid "855, IBM855" msgstr "*855*, *IBM855*" -#: library/codecs.rst:1143 library/codecs.rst:1245 +#: library/codecs.rst:1144 library/codecs.rst:1246 msgid "Bulgarian, Byelorussian, Macedonian, Russian, Serbian" msgstr "Bulgare, Biélorusse, Macédonien, Russe, Serbe" -#: library/codecs.rst:1099 +#: library/codecs.rst:1100 msgid "cp856" msgstr "*cp856*" -#: library/codecs.rst:1101 +#: library/codecs.rst:1102 msgid "cp857" msgstr "*cp857*" -#: library/codecs.rst:1101 +#: library/codecs.rst:1102 msgid "857, IBM857" msgstr "*857*, *IBM857*" -#: library/codecs.rst:1133 library/codecs.rst:1217 library/codecs.rst:1257 +#: library/codecs.rst:1134 library/codecs.rst:1218 library/codecs.rst:1258 msgid "Turkish" msgstr "Turc" -#: library/codecs.rst:1103 +#: library/codecs.rst:1104 msgid "cp858" msgstr "*cp858*" -#: library/codecs.rst:1103 +#: library/codecs.rst:1104 msgid "858, IBM858" msgstr "*858*, *IBM858*" -#: library/codecs.rst:1105 +#: library/codecs.rst:1106 msgid "cp860" msgstr "*cp860*" -#: library/codecs.rst:1105 +#: library/codecs.rst:1106 msgid "860, IBM860" msgstr "*860*, *IBM860*" -#: library/codecs.rst:1105 +#: library/codecs.rst:1106 msgid "Portuguese" msgstr "Portugais" -#: library/codecs.rst:1107 +#: library/codecs.rst:1108 msgid "cp861" msgstr "*cp861*" -#: library/codecs.rst:1107 +#: library/codecs.rst:1108 msgid "861, CP-IS, IBM861" msgstr "*861*, *CP-IS*, *IBM861*" -#: library/codecs.rst:1250 +#: library/codecs.rst:1251 msgid "Icelandic" msgstr "Islandais" -#: library/codecs.rst:1109 +#: library/codecs.rst:1110 msgid "cp862" msgstr "*cp862*" -#: library/codecs.rst:1109 +#: library/codecs.rst:1110 msgid "862, IBM862" msgstr "*862*, *IBM862*" -#: library/codecs.rst:1111 +#: library/codecs.rst:1112 msgid "cp863" msgstr "*cp863*" -#: library/codecs.rst:1111 +#: library/codecs.rst:1112 msgid "863, IBM863" msgstr "*863*, *IBM863*" -#: library/codecs.rst:1111 +#: library/codecs.rst:1112 msgid "Canadian" msgstr "Canadien" -#: library/codecs.rst:1113 +#: library/codecs.rst:1114 msgid "cp864" msgstr "*cp864*" -#: library/codecs.rst:1113 +#: library/codecs.rst:1114 msgid "IBM864" msgstr "*IBM864*" -#: library/codecs.rst:1115 +#: library/codecs.rst:1116 msgid "cp865" msgstr "*cp865*" -#: library/codecs.rst:1115 +#: library/codecs.rst:1116 msgid "865, IBM865" msgstr "*865*, *IBM865*" -#: library/codecs.rst:1115 +#: library/codecs.rst:1116 msgid "Danish, Norwegian" msgstr "" -#: library/codecs.rst:1117 +#: library/codecs.rst:1118 msgid "cp866" msgstr "*cp866*" -#: library/codecs.rst:1117 +#: library/codecs.rst:1118 msgid "866, IBM866" msgstr "*866*, *IBM866*" -#: library/codecs.rst:1233 +#: library/codecs.rst:1234 msgid "Russian" msgstr "Russe" -#: library/codecs.rst:1119 +#: library/codecs.rst:1120 msgid "cp869" msgstr "*cp869*" -#: library/codecs.rst:1119 +#: library/codecs.rst:1120 msgid "869, CP-GR, IBM869" msgstr "*869*, *CP-GR*, *IBM869*" -#: library/codecs.rst:1121 +#: library/codecs.rst:1122 msgid "cp874" msgstr "*cp874*" -#: library/codecs.rst:1121 +#: library/codecs.rst:1122 msgid "Thai" msgstr "" -#: library/codecs.rst:1123 +#: library/codecs.rst:1124 msgid "cp875" msgstr "*cp875*" -#: library/codecs.rst:1125 +#: library/codecs.rst:1126 msgid "cp932" msgstr "*cp932*" -#: library/codecs.rst:1125 +#: library/codecs.rst:1126 msgid "932, ms932, mskanji, ms-kanji" msgstr "*932*, *ms932*, *mskanji*, *ms-kanji*" -#: library/codecs.rst:1160 library/codecs.rst:1164 library/codecs.rst:1184 -#: library/codecs.rst:1192 library/codecs.rst:1262 library/codecs.rst:1268 +#: library/codecs.rst:1161 library/codecs.rst:1165 library/codecs.rst:1185 +#: library/codecs.rst:1193 library/codecs.rst:1263 library/codecs.rst:1269 msgid "Japanese" msgstr "" -#: library/codecs.rst:1127 +#: library/codecs.rst:1128 msgid "cp949" msgstr "*cp949*" -#: library/codecs.rst:1127 +#: library/codecs.rst:1128 msgid "949, ms949, uhc" msgstr "*949*, *ms949*, *uhc*" -#: library/codecs.rst:1166 library/codecs.rst:1231 +#: library/codecs.rst:1167 library/codecs.rst:1232 msgid "Korean" msgstr "" -#: library/codecs.rst:1129 +#: library/codecs.rst:1130 msgid "cp950" msgstr "*cp950*" -#: library/codecs.rst:1129 +#: library/codecs.rst:1130 msgid "950, ms950" msgstr "*950*, *ms950*" -#: library/codecs.rst:1131 +#: library/codecs.rst:1132 msgid "cp1006" msgstr "*cp1006*" -#: library/codecs.rst:1131 +#: library/codecs.rst:1132 msgid "Urdu" msgstr "" -#: library/codecs.rst:1133 +#: library/codecs.rst:1134 msgid "cp1026" msgstr "*cp1026*" -#: library/codecs.rst:1133 +#: library/codecs.rst:1134 msgid "ibm1026" msgstr "*ibm1026*" -#: library/codecs.rst:1135 +#: library/codecs.rst:1136 msgid "cp1125" msgstr "*cp1125*" -#: library/codecs.rst:1135 +#: library/codecs.rst:1136 msgid "1125, ibm1125, cp866u, ruscii" msgstr "*1125*, *ibm1125*, *cp866u*, *ruscii*" -#: library/codecs.rst:1239 +#: library/codecs.rst:1240 msgid "Ukrainian" msgstr "" -#: library/codecs.rst:1139 +#: library/codecs.rst:1140 msgid "cp1140" msgstr "*cp1140*" -#: library/codecs.rst:1139 +#: library/codecs.rst:1140 msgid "ibm1140" msgstr "*ibm1140*" -#: library/codecs.rst:1141 +#: library/codecs.rst:1142 msgid "cp1250" msgstr "*cp1250*" -#: library/codecs.rst:1141 +#: library/codecs.rst:1142 msgid "windows-1250" msgstr "*windows-1250*" -#: library/codecs.rst:1143 +#: library/codecs.rst:1144 msgid "cp1251" msgstr "*cp1251*" -#: library/codecs.rst:1143 +#: library/codecs.rst:1144 msgid "windows-1251" msgstr "*windows-1251*" -#: library/codecs.rst:1146 +#: library/codecs.rst:1147 msgid "cp1252" msgstr "*cp1252*" -#: library/codecs.rst:1146 +#: library/codecs.rst:1147 msgid "windows-1252" msgstr "*windows-1252*" -#: library/codecs.rst:1148 +#: library/codecs.rst:1149 msgid "cp1253" msgstr "*cp1253*" -#: library/codecs.rst:1148 +#: library/codecs.rst:1149 msgid "windows-1253" msgstr "*windows-1253*" -#: library/codecs.rst:1150 +#: library/codecs.rst:1151 msgid "cp1254" msgstr "*cp1254*" -#: library/codecs.rst:1150 +#: library/codecs.rst:1151 msgid "windows-1254" msgstr "*windows-1254*" -#: library/codecs.rst:1152 +#: library/codecs.rst:1153 msgid "cp1255" msgstr "*cp1255*" -#: library/codecs.rst:1152 +#: library/codecs.rst:1153 msgid "windows-1255" msgstr "*windows-1255*" -#: library/codecs.rst:1154 +#: library/codecs.rst:1155 msgid "cp1256" msgstr "*cp1256*" -#: library/codecs.rst:1154 +#: library/codecs.rst:1155 msgid "windows-1256" msgstr "*windows-1256*" -#: library/codecs.rst:1156 +#: library/codecs.rst:1157 msgid "cp1257" msgstr "*cp1257*" -#: library/codecs.rst:1156 +#: library/codecs.rst:1157 msgid "windows-1257" msgstr "*windows-1257*" -#: library/codecs.rst:1158 +#: library/codecs.rst:1159 msgid "cp1258" msgstr "*cp1258*" -#: library/codecs.rst:1158 +#: library/codecs.rst:1159 msgid "windows-1258" msgstr "*windows-1258*" -#: library/codecs.rst:1158 +#: library/codecs.rst:1159 msgid "Vietnamese" msgstr "" -#: library/codecs.rst:1160 +#: library/codecs.rst:1161 msgid "euc_jp" msgstr "*euc_jp*" -#: library/codecs.rst:1160 +#: library/codecs.rst:1161 msgid "eucjp, ujis, u-jis" msgstr "*eucjp*, *ujis*, *u-jis*" -#: library/codecs.rst:1162 +#: library/codecs.rst:1163 msgid "euc_jis_2004" msgstr "*euc_jis_2004*" -#: library/codecs.rst:1162 +#: library/codecs.rst:1163 msgid "jisx0213, eucjis2004" msgstr "*jisx0213*, *eucjis2004*" -#: library/codecs.rst:1164 +#: library/codecs.rst:1165 msgid "euc_jisx0213" msgstr "*euc_jisx0213*" -#: library/codecs.rst:1164 +#: library/codecs.rst:1165 msgid "eucjisx0213" msgstr "*eucjisx0213*" -#: library/codecs.rst:1166 +#: library/codecs.rst:1167 msgid "euc_kr" msgstr "*euc_kr*" -#: library/codecs.rst:1166 +#: library/codecs.rst:1167 msgid "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" msgstr "" "*euckr*, *korean*, *ksc5601*, *ks_c-5601*, *ks_c-5601-1987*, *ksx1001*, " "*ks_x-1001*" -#: library/codecs.rst:1170 +#: library/codecs.rst:1171 msgid "gb2312" msgstr "*gb2312*" -#: library/codecs.rst:1170 +#: library/codecs.rst:1171 msgid "" "chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " "gb2312-80, iso-ir-58" @@ -2035,445 +2036,445 @@ msgstr "" "*chinese*, *csiso58gb231280*, *euc-cn*, *euccn*, *eucgb2312-cn*, " "*gb2312-1980*, *gb2312-80*, *iso-ir-58*" -#: library/codecs.rst:1179 +#: library/codecs.rst:1180 msgid "Simplified Chinese" msgstr "" -#: library/codecs.rst:1175 +#: library/codecs.rst:1176 msgid "gbk" msgstr "*gbk*" -#: library/codecs.rst:1175 +#: library/codecs.rst:1176 msgid "936, cp936, ms936" msgstr "*936*, *cp936*, *ms936*" -#: library/codecs.rst:1177 +#: library/codecs.rst:1178 msgid "Unified Chinese" msgstr "" -#: library/codecs.rst:1177 +#: library/codecs.rst:1178 msgid "gb18030" msgstr "*gb18030*" -#: library/codecs.rst:1177 +#: library/codecs.rst:1178 msgid "gb18030-2000" msgstr "*gb18030-2000*" -#: library/codecs.rst:1179 +#: library/codecs.rst:1180 msgid "hz" msgstr "*hz*" -#: library/codecs.rst:1179 +#: library/codecs.rst:1180 msgid "hzgb, hz-gb, hz-gb-2312" msgstr "*hzgb*, *hz-gb*, *hz-gb-2312*" -#: library/codecs.rst:1181 +#: library/codecs.rst:1182 msgid "iso2022_jp" msgstr "*iso2022_jp*" -#: library/codecs.rst:1181 +#: library/codecs.rst:1182 msgid "csiso2022jp, iso2022jp, iso-2022-jp" msgstr "*csiso2022jp*, *iso2022jp*, *iso-2022-jp*" -#: library/codecs.rst:1184 +#: library/codecs.rst:1185 msgid "iso2022_jp_1" msgstr "*iso2022_jp_1*" -#: library/codecs.rst:1184 +#: library/codecs.rst:1185 msgid "iso2022jp-1, iso-2022-jp-1" msgstr "*iso2022jp-1*, *iso-2022-jp-1*" -#: library/codecs.rst:1186 +#: library/codecs.rst:1187 msgid "iso2022_jp_2" msgstr "*iso2022_jp_2*" -#: library/codecs.rst:1186 +#: library/codecs.rst:1187 msgid "iso2022jp-2, iso-2022-jp-2" msgstr "*iso2022jp-2*, *iso-2022-jp-2*" -#: library/codecs.rst:1186 +#: library/codecs.rst:1187 msgid "Japanese, Korean, Simplified Chinese, Western Europe, Greek" msgstr "" -#: library/codecs.rst:1189 +#: library/codecs.rst:1190 msgid "iso2022_jp_2004" msgstr "*iso2022_jp_2004*" -#: library/codecs.rst:1189 +#: library/codecs.rst:1190 msgid "iso2022jp-2004, iso-2022-jp-2004" msgstr "*iso2022jp-2004*, *iso-2022-jp-2004*" -#: library/codecs.rst:1192 +#: library/codecs.rst:1193 msgid "iso2022_jp_3" msgstr "*iso2022_jp_3*" -#: library/codecs.rst:1192 +#: library/codecs.rst:1193 msgid "iso2022jp-3, iso-2022-jp-3" msgstr "*iso2022jp-3*, *iso-2022-jp-3*" -#: library/codecs.rst:1194 +#: library/codecs.rst:1195 msgid "iso2022_jp_ext" msgstr "*iso2022_jp_ext*" -#: library/codecs.rst:1194 +#: library/codecs.rst:1195 msgid "iso2022jp-ext, iso-2022-jp-ext" msgstr "*iso2022jp-ext*, *iso-2022-jp-ext*" -#: library/codecs.rst:1196 +#: library/codecs.rst:1197 msgid "iso2022_kr" msgstr "*iso2022_kr*" -#: library/codecs.rst:1196 +#: library/codecs.rst:1197 msgid "csiso2022kr, iso2022kr, iso-2022-kr" msgstr "*csiso2022kr*, *iso2022kr*, *iso-2022-kr*" -#: library/codecs.rst:1199 +#: library/codecs.rst:1200 msgid "latin_1" msgstr "*latin_1*" -#: library/codecs.rst:1199 +#: library/codecs.rst:1200 msgid "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" msgstr "*iso-8859-1*, *iso8859-1*, *8859*, *cp819*, *latin*, *latin1*, *L1*" -#: library/codecs.rst:1202 +#: library/codecs.rst:1203 msgid "iso8859_2" msgstr "*iso8859_2*" -#: library/codecs.rst:1202 +#: library/codecs.rst:1203 msgid "iso-8859-2, latin2, L2" msgstr "*iso-8859-2*, *latin2*, *L2*" -#: library/codecs.rst:1204 +#: library/codecs.rst:1205 msgid "iso8859_3" msgstr "*iso8859_3*" -#: library/codecs.rst:1204 +#: library/codecs.rst:1205 msgid "iso-8859-3, latin3, L3" msgstr "*iso-8859-3*, *latin3*, *L3*" -#: library/codecs.rst:1204 +#: library/codecs.rst:1205 msgid "Esperanto, Maltese" msgstr "" -#: library/codecs.rst:1206 +#: library/codecs.rst:1207 msgid "iso8859_4" msgstr "*iso8859_4*" -#: library/codecs.rst:1206 +#: library/codecs.rst:1207 msgid "iso-8859-4, latin4, L4" msgstr "*iso-8859-4*, *latin4*, *L4*" -#: library/codecs.rst:1208 +#: library/codecs.rst:1209 msgid "iso8859_5" msgstr "*iso8859_5*" -#: library/codecs.rst:1208 +#: library/codecs.rst:1209 msgid "iso-8859-5, cyrillic" msgstr "*iso-8859-5*, *cyrillic*" -#: library/codecs.rst:1211 +#: library/codecs.rst:1212 msgid "iso8859_6" msgstr "*iso8859_6*" -#: library/codecs.rst:1211 +#: library/codecs.rst:1212 msgid "iso-8859-6, arabic" msgstr "*iso-8859-6*, *arabic*" -#: library/codecs.rst:1213 +#: library/codecs.rst:1214 msgid "iso8859_7" msgstr "*iso8859_7*" -#: library/codecs.rst:1213 +#: library/codecs.rst:1214 msgid "iso-8859-7, greek, greek8" msgstr "*iso-8859-7*, *greek*, *greek8*" -#: library/codecs.rst:1215 +#: library/codecs.rst:1216 msgid "iso8859_8" msgstr "*iso8859_8*" -#: library/codecs.rst:1215 +#: library/codecs.rst:1216 msgid "iso-8859-8, hebrew" msgstr "*iso-8859-8*, *hebrew*" -#: library/codecs.rst:1217 +#: library/codecs.rst:1218 msgid "iso8859_9" msgstr "*iso8859_9*" -#: library/codecs.rst:1217 +#: library/codecs.rst:1218 msgid "iso-8859-9, latin5, L5" msgstr "*iso-8859-9*, *latin5*, *L5*" -#: library/codecs.rst:1219 +#: library/codecs.rst:1220 msgid "iso8859_10" msgstr "*iso8859_10*" -#: library/codecs.rst:1219 +#: library/codecs.rst:1220 msgid "iso-8859-10, latin6, L6" msgstr "*iso-8859-10*, *latin6*, *L6*" -#: library/codecs.rst:1219 +#: library/codecs.rst:1220 msgid "Nordic languages" msgstr "" -#: library/codecs.rst:1221 +#: library/codecs.rst:1222 msgid "iso8859_11" msgstr "*iso8859_11*" -#: library/codecs.rst:1221 +#: library/codecs.rst:1222 msgid "iso-8859-11, thai" msgstr "*iso-8859-11*, *thai*" -#: library/codecs.rst:1221 +#: library/codecs.rst:1222 msgid "Thai languages" msgstr "" -#: library/codecs.rst:1223 +#: library/codecs.rst:1224 msgid "iso8859_13" msgstr "*iso8859_13*" -#: library/codecs.rst:1223 +#: library/codecs.rst:1224 msgid "iso-8859-13, latin7, L7" msgstr "*iso-8859-13*, *latin7*, *L7*" -#: library/codecs.rst:1225 +#: library/codecs.rst:1226 msgid "iso8859_14" msgstr "*iso8859_14*" -#: library/codecs.rst:1225 +#: library/codecs.rst:1226 msgid "iso-8859-14, latin8, L8" msgstr "*iso-8859-14*, *latin8*, *L8*" -#: library/codecs.rst:1225 +#: library/codecs.rst:1226 msgid "Celtic languages" msgstr "" -#: library/codecs.rst:1227 +#: library/codecs.rst:1228 msgid "iso8859_15" msgstr "*iso8859_15*" -#: library/codecs.rst:1227 +#: library/codecs.rst:1228 msgid "iso-8859-15, latin9, L9" msgstr "*iso-8859-15*, *latin9*, *L9*" -#: library/codecs.rst:1229 +#: library/codecs.rst:1230 msgid "iso8859_16" msgstr "*iso8859_16*" -#: library/codecs.rst:1229 +#: library/codecs.rst:1230 msgid "iso-8859-16, latin10, L10" msgstr "*iso-8859-16*, *latin10*, *L10*" -#: library/codecs.rst:1229 +#: library/codecs.rst:1230 msgid "South-Eastern Europe" msgstr "" -#: library/codecs.rst:1231 +#: library/codecs.rst:1232 msgid "johab" msgstr "*johab*" -#: library/codecs.rst:1231 +#: library/codecs.rst:1232 msgid "cp1361, ms1361" msgstr "*cp1361*, *ms1361*" -#: library/codecs.rst:1233 +#: library/codecs.rst:1234 msgid "koi8_r" msgstr "*koi8_r*" -#: library/codecs.rst:1235 +#: library/codecs.rst:1236 msgid "koi8_t" msgstr "*koi8_t*" -#: library/codecs.rst:1235 +#: library/codecs.rst:1236 msgid "Tajik" msgstr "*Tajik*" -#: library/codecs.rst:1239 +#: library/codecs.rst:1240 msgid "koi8_u" msgstr "*koi8_u*" -#: library/codecs.rst:1241 +#: library/codecs.rst:1242 msgid "kz1048" msgstr "*kz1048*" -#: library/codecs.rst:1241 +#: library/codecs.rst:1242 msgid "kz_1048, strk1048_2002, rk1048" msgstr "*kz_1048*, *strk1048_2002*, *rk1048*" -#: library/codecs.rst:1259 +#: library/codecs.rst:1260 msgid "Kazakh" msgstr "" -#: library/codecs.rst:1245 +#: library/codecs.rst:1246 msgid "mac_cyrillic" msgstr "*mac_cyrillic*" -#: library/codecs.rst:1245 +#: library/codecs.rst:1246 msgid "maccyrillic" msgstr "*maccyrillic*" -#: library/codecs.rst:1248 +#: library/codecs.rst:1249 msgid "mac_greek" msgstr "*mac_greek*" -#: library/codecs.rst:1248 +#: library/codecs.rst:1249 msgid "macgreek" msgstr "*macgreek*" -#: library/codecs.rst:1250 +#: library/codecs.rst:1251 msgid "mac_iceland" msgstr "*mac_iceland*" -#: library/codecs.rst:1250 +#: library/codecs.rst:1251 msgid "maciceland" msgstr "*maciceland*" -#: library/codecs.rst:1252 +#: library/codecs.rst:1253 msgid "mac_latin2" msgstr "*mac_latin2*" -#: library/codecs.rst:1252 +#: library/codecs.rst:1253 #, fuzzy msgid "maclatin2, maccentraleurope, mac_centeuro" msgstr "*maclatin2*, *maccentraleurope*" -#: library/codecs.rst:1255 +#: library/codecs.rst:1256 msgid "mac_roman" msgstr "*mac_roman*" -#: library/codecs.rst:1255 +#: library/codecs.rst:1256 msgid "macroman, macintosh" msgstr "*macroman*, *macintosh*" -#: library/codecs.rst:1257 +#: library/codecs.rst:1258 msgid "mac_turkish" msgstr "*mac_turkish*" -#: library/codecs.rst:1257 +#: library/codecs.rst:1258 msgid "macturkish" msgstr "*macturkish*" -#: library/codecs.rst:1259 +#: library/codecs.rst:1260 msgid "ptcp154" msgstr "*ptcp154*" -#: library/codecs.rst:1259 +#: library/codecs.rst:1260 msgid "csptcp154, pt154, cp154, cyrillic-asian" msgstr "*csptcp154*, *pt154*, *cp154*, *cyrillic-asian*" -#: library/codecs.rst:1262 +#: library/codecs.rst:1263 msgid "shift_jis" msgstr "*shift_jis*" -#: library/codecs.rst:1262 +#: library/codecs.rst:1263 msgid "csshiftjis, shiftjis, sjis, s_jis" msgstr "*csshiftjis*, *shiftjis*, *sjis*, *s_jis*" -#: library/codecs.rst:1265 +#: library/codecs.rst:1266 msgid "shift_jis_2004" msgstr "*shift_jis_2004*" -#: library/codecs.rst:1265 +#: library/codecs.rst:1266 msgid "shiftjis2004, sjis_2004, sjis2004" msgstr "*shiftjis2004*, *sjis_2004*, *sjis2004*" -#: library/codecs.rst:1268 +#: library/codecs.rst:1269 msgid "shift_jisx0213" msgstr "*shift_jisx0213*" -#: library/codecs.rst:1268 +#: library/codecs.rst:1269 msgid "shiftjisx0213, sjisx0213, s_jisx0213" msgstr "*shiftjisx0213*, *sjisx0213*, *s_jisx0213*" -#: library/codecs.rst:1271 +#: library/codecs.rst:1272 msgid "utf_32" msgstr "*utf_32*" -#: library/codecs.rst:1271 +#: library/codecs.rst:1272 msgid "U32, utf32" msgstr "*U32*, *utf32*" -#: library/codecs.rst:1273 library/codecs.rst:1277 library/codecs.rst:1281 -#: library/codecs.rst:1285 library/codecs.rst:1287 +#: library/codecs.rst:1274 library/codecs.rst:1278 library/codecs.rst:1282 +#: library/codecs.rst:1286 library/codecs.rst:1288 msgid "all languages" msgstr "" -#: library/codecs.rst:1273 +#: library/codecs.rst:1274 msgid "utf_32_be" msgstr "*utf_32_be*" -#: library/codecs.rst:1273 +#: library/codecs.rst:1274 msgid "UTF-32BE" msgstr "*UTF-32BE*" -#: library/codecs.rst:1275 +#: library/codecs.rst:1276 msgid "utf_32_le" msgstr "*utf_32_le*" -#: library/codecs.rst:1275 +#: library/codecs.rst:1276 msgid "UTF-32LE" msgstr "*UTF-32LE*" -#: library/codecs.rst:1277 +#: library/codecs.rst:1278 msgid "utf_16" msgstr "*utf_16*" -#: library/codecs.rst:1277 +#: library/codecs.rst:1278 msgid "U16, utf16" msgstr "*U16*, *utf16*" -#: library/codecs.rst:1279 +#: library/codecs.rst:1280 msgid "utf_16_be" msgstr "*utf_16_be*" -#: library/codecs.rst:1279 +#: library/codecs.rst:1280 msgid "UTF-16BE" msgstr "*UTF-16BE*" -#: library/codecs.rst:1281 +#: library/codecs.rst:1282 msgid "utf_16_le" msgstr "*utf_16_le*" -#: library/codecs.rst:1281 +#: library/codecs.rst:1282 msgid "UTF-16LE" msgstr "*UTF-16LE*" -#: library/codecs.rst:1283 +#: library/codecs.rst:1284 msgid "utf_7" msgstr "*utf_7*" -#: library/codecs.rst:1283 +#: library/codecs.rst:1284 msgid "U7, unicode-1-1-utf-7" msgstr "*U7*, *unicode-1-1-utf-7*" -#: library/codecs.rst:1285 +#: library/codecs.rst:1286 msgid "utf_8" msgstr "*utf_8*" -#: library/codecs.rst:1285 +#: library/codecs.rst:1286 #, fuzzy msgid "U8, UTF, utf8, cp65001" msgstr "*U8*, *UTF*, *utf8*" -#: library/codecs.rst:1287 +#: library/codecs.rst:1288 msgid "utf_8_sig" msgstr "*utf_8_sig*" -#: library/codecs.rst:1290 +#: library/codecs.rst:1291 msgid "" "The utf-16\\* and utf-32\\* encoders no longer allow surrogate code points " "(``U+D800``--``U+DFFF``) to be encoded. The utf-32\\* decoders no longer " "decode byte sequences that correspond to surrogate code points." msgstr "" -#: library/codecs.rst:1296 +#: library/codecs.rst:1297 msgid "``cp65001`` is now an alias to ``utf_8``." msgstr "" -#: library/codecs.rst:1301 +#: library/codecs.rst:1302 msgid "Python Specific Encodings" msgstr "" -#: library/codecs.rst:1303 +#: library/codecs.rst:1304 msgid "" "A number of predefined codecs are specific to Python, so their codec names " "have no meaning outside Python. These are listed in the tables below based " @@ -2483,272 +2484,272 @@ msgid "" "asymmetric codecs, the stated meaning describes the encoding direction." msgstr "" -#: library/codecs.rst:1311 +#: library/codecs.rst:1312 msgid "Text Encodings" msgstr "" -#: library/codecs.rst:1313 +#: library/codecs.rst:1314 msgid "" "The following codecs provide :class:`str` to :class:`bytes` encoding and :" "term:`bytes-like object` to :class:`str` decoding, similar to the Unicode " "text encodings." msgstr "" -#: library/codecs.rst:1322 +#: library/codecs.rst:1323 msgid "idna" msgstr "idna" -#: library/codecs.rst:1322 +#: library/codecs.rst:1323 msgid "" "Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " "``errors='strict'`` is supported." msgstr "" -#: library/codecs.rst:1328 +#: library/codecs.rst:1329 msgid "mbcs" msgstr "mbcs" -#: library/codecs.rst:1328 +#: library/codecs.rst:1329 msgid "ansi, dbcs" msgstr "" -#: library/codecs.rst:1328 +#: library/codecs.rst:1329 msgid "" "Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." msgstr "" -#: library/codecs.rst:1332 +#: library/codecs.rst:1333 msgid "oem" msgstr "" -#: library/codecs.rst:1332 +#: library/codecs.rst:1333 msgid "" "Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." msgstr "" -#: library/codecs.rst:1338 +#: library/codecs.rst:1339 msgid "palmos" msgstr "palmos" -#: library/codecs.rst:1338 +#: library/codecs.rst:1339 msgid "Encoding of PalmOS 3.5." msgstr "" -#: library/codecs.rst:1340 +#: library/codecs.rst:1341 msgid "punycode" msgstr "punycode" -#: library/codecs.rst:1340 +#: library/codecs.rst:1341 msgid "Implement :rfc:`3492`. Stateful codecs are not supported." msgstr "" -#: library/codecs.rst:1344 +#: library/codecs.rst:1345 msgid "raw_unicode_escape" msgstr "raw_unicode_escape" -#: library/codecs.rst:1344 +#: library/codecs.rst:1345 msgid "" "Latin-1 encoding with ``\\uXXXX`` and ``\\UXXXXXXXX`` for other code points. " "Existing backslashes are not escaped in any way. It is used in the Python " "pickle protocol." msgstr "" -#: library/codecs.rst:1353 +#: library/codecs.rst:1354 msgid "undefined" msgstr "undefined" -#: library/codecs.rst:1353 +#: library/codecs.rst:1354 msgid "" "Raise an exception for all conversions, even empty strings. The error " "handler is ignored." msgstr "" -#: library/codecs.rst:1358 +#: library/codecs.rst:1359 msgid "unicode_escape" msgstr "unicode_escape" -#: library/codecs.rst:1358 +#: library/codecs.rst:1359 msgid "" "Encoding suitable as the contents of a Unicode literal in ASCII-encoded " "Python source code, except that quotes are not escaped. Decode from Latin-1 " "source code. Beware that Python source code actually uses UTF-8 by default." msgstr "" -#: library/codecs.rst:1370 +#: library/codecs.rst:1371 msgid "\"unicode_internal\" codec is removed." msgstr "" -#: library/codecs.rst:1377 +#: library/codecs.rst:1378 msgid "Binary Transforms" msgstr "" -#: library/codecs.rst:1379 +#: library/codecs.rst:1380 msgid "" "The following codecs provide binary transforms: :term:`bytes-like object` " "to :class:`bytes` mappings. They are not supported by :meth:`bytes.decode` " "(which only produces :class:`str` output)." msgstr "" -#: library/codecs.rst:1387 +#: library/codecs.rst:1388 msgid "Encoder / decoder" msgstr "" -#: library/codecs.rst:1389 +#: library/codecs.rst:1390 msgid "base64_codec [#b64]_" msgstr "base64_codec [#b64]_" -#: library/codecs.rst:1389 +#: library/codecs.rst:1390 msgid "base64, base_64" msgstr "base64, base_64" -#: library/codecs.rst:1389 +#: library/codecs.rst:1390 msgid "" "Convert the operand to multiline MIME base64 (the result always includes a " "trailing ``'\\n'``)." msgstr "" -#: library/codecs.rst:1394 +#: library/codecs.rst:1395 msgid "" "accepts any :term:`bytes-like object` as input for encoding and decoding" msgstr "" -#: library/codecs.rst:1389 +#: library/codecs.rst:1390 msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" msgstr "" -#: library/codecs.rst:1400 +#: library/codecs.rst:1401 msgid "bz2_codec" msgstr "bz2_codec" -#: library/codecs.rst:1400 +#: library/codecs.rst:1401 msgid "bz2" msgstr "bz2" -#: library/codecs.rst:1400 +#: library/codecs.rst:1401 msgid "Compress the operand using bz2." msgstr "" -#: library/codecs.rst:1400 +#: library/codecs.rst:1401 msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" msgstr "" -#: library/codecs.rst:1403 +#: library/codecs.rst:1404 msgid "hex_codec" msgstr "hex_codec" -#: library/codecs.rst:1403 +#: library/codecs.rst:1404 msgid "hex" msgstr "hex" -#: library/codecs.rst:1403 +#: library/codecs.rst:1404 msgid "" "Convert the operand to hexadecimal representation, with two digits per byte." msgstr "" -#: library/codecs.rst:1403 +#: library/codecs.rst:1404 msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" msgstr "" -#: library/codecs.rst:1408 +#: library/codecs.rst:1409 msgid "quopri_codec" msgstr "quopri_codec" -#: library/codecs.rst:1408 +#: library/codecs.rst:1409 msgid "quopri, quotedprintable, quoted_printable" msgstr "" -#: library/codecs.rst:1408 +#: library/codecs.rst:1409 msgid "Convert the operand to MIME quoted printable." msgstr "" -#: library/codecs.rst:1408 +#: library/codecs.rst:1409 msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" msgstr "" -#: library/codecs.rst:1412 +#: library/codecs.rst:1413 msgid "uu_codec" msgstr "uu_codec" -#: library/codecs.rst:1412 +#: library/codecs.rst:1413 msgid "uu" msgstr "uu" -#: library/codecs.rst:1412 +#: library/codecs.rst:1413 msgid "Convert the operand using uuencode." msgstr "" -#: library/codecs.rst:1412 +#: library/codecs.rst:1413 msgid ":meth:`uu.encode` / :meth:`uu.decode`" msgstr "" -#: library/codecs.rst:1415 +#: library/codecs.rst:1416 msgid "zlib_codec" msgstr "zlib_codec" -#: library/codecs.rst:1415 +#: library/codecs.rst:1416 msgid "zip, zlib" msgstr "zip, zlib" -#: library/codecs.rst:1415 +#: library/codecs.rst:1416 msgid "Compress the operand using gzip." msgstr "" -#: library/codecs.rst:1415 +#: library/codecs.rst:1416 msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" -#: library/codecs.rst:1419 +#: library/codecs.rst:1420 msgid "" "In addition to :term:`bytes-like objects `, " "``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " "decoding" msgstr "" -#: library/codecs.rst:1423 +#: library/codecs.rst:1424 msgid "Restoration of the binary transforms." msgstr "" -#: library/codecs.rst:1426 +#: library/codecs.rst:1427 msgid "Restoration of the aliases for the binary transforms." msgstr "" -#: library/codecs.rst:1433 +#: library/codecs.rst:1434 msgid "Text Transforms" msgstr "" -#: library/codecs.rst:1435 +#: library/codecs.rst:1436 msgid "" "The following codec provides a text transform: a :class:`str` to :class:" "`str` mapping. It is not supported by :meth:`str.encode` (which only " "produces :class:`bytes` output)." msgstr "" -#: library/codecs.rst:1444 +#: library/codecs.rst:1445 msgid "rot_13" msgstr "rot_13" -#: library/codecs.rst:1444 +#: library/codecs.rst:1445 msgid "rot13" msgstr "rot13" -#: library/codecs.rst:1444 +#: library/codecs.rst:1445 msgid "Return the Caesar-cypher encryption of the operand." msgstr "" -#: library/codecs.rst:1449 +#: library/codecs.rst:1450 msgid "Restoration of the ``rot_13`` text transform." msgstr "" -#: library/codecs.rst:1452 +#: library/codecs.rst:1453 msgid "Restoration of the ``rot13`` alias." msgstr "" -#: library/codecs.rst:1457 +#: library/codecs.rst:1458 msgid "" ":mod:`encodings.idna` --- Internationalized Domain Names in Applications" msgstr "" -#: library/codecs.rst:1463 +#: library/codecs.rst:1464 msgid "" "This module implements :rfc:`3490` (Internationalized Domain Names in " "Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " @@ -2756,13 +2757,13 @@ msgid "" "encoding and :mod:`stringprep`." msgstr "" -#: library/codecs.rst:1468 +#: library/codecs.rst:1469 msgid "" "If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the " "third-party `idna module `_." msgstr "" -#: library/codecs.rst:1471 +#: library/codecs.rst:1472 msgid "" "These RFCs together define a protocol to support non-ASCII characters in " "domain names. A domain name containing non-ASCII characters (such as ``www." @@ -2776,7 +2777,7 @@ msgid "" "presenting them to the user." msgstr "" -#: library/codecs.rst:1482 +#: library/codecs.rst:1483 msgid "" "Python supports this conversion in several ways: the ``idna`` codec " "performs conversion between Unicode and ACE, separating an input string into " @@ -2793,14 +2794,14 @@ msgid "" "sends that field at all)." msgstr "" -#: library/codecs.rst:1495 +#: library/codecs.rst:1496 msgid "" "When receiving host names from the wire (such as in reverse name lookup), no " "automatic conversion to Unicode is performed: applications wishing to " "present such host names to the user should decode them to Unicode." msgstr "" -#: library/codecs.rst:1499 +#: library/codecs.rst:1500 msgid "" "The module :mod:`encodings.idna` also implements the nameprep procedure, " "which performs certain normalizations on host names, to achieve case-" @@ -2808,49 +2809,49 @@ msgid "" "characters. The nameprep functions can be used directly if desired." msgstr "" -#: library/codecs.rst:1507 +#: library/codecs.rst:1508 msgid "" "Return the nameprepped version of *label*. The implementation currently " "assumes query strings, so ``AllowUnassigned`` is true." msgstr "" -#: library/codecs.rst:1513 +#: library/codecs.rst:1514 msgid "" "Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules`` " "is assumed to be false." msgstr "" -#: library/codecs.rst:1519 +#: library/codecs.rst:1520 msgid "Convert a label to Unicode, as specified in :rfc:`3490`." msgstr "" -#: library/codecs.rst:1523 +#: library/codecs.rst:1524 msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" msgstr "" -#: library/codecs.rst:1528 +#: library/codecs.rst:1529 msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "" -#: library/codecs.rst:1531 +#: library/codecs.rst:1532 msgid ":ref:`Availability `: Windows only." msgstr ":ref:`Disponibilité ` : Windows uniquement." -#: library/codecs.rst:1532 +#: library/codecs.rst:1533 msgid "Support any error handler." msgstr "" -#: library/codecs.rst:1535 +#: library/codecs.rst:1536 msgid "" "Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " "to encode, and ``'ignore'`` to decode." msgstr "" -#: library/codecs.rst:1541 +#: library/codecs.rst:1542 msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" msgstr "" -#: library/codecs.rst:1547 +#: library/codecs.rst:1548 msgid "" "This module implements a variant of the UTF-8 codec. On encoding, a UTF-8 " "encoded BOM will be prepended to the UTF-8 encoded bytes. For the stateful " diff --git a/library/collections.abc.po b/library/collections.abc.po index 1e3726605e..aed5a33488 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-03-21 16:06+0100\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" @@ -30,10 +30,11 @@ msgid "**Source code:** :source:`Lib/_collections_abc.py`" msgstr "**Code source :** :source:`Lib/_collections_abc.py`" #: library/collections.abc.rst:23 +#, fuzzy msgid "" "This module provides :term:`abstract base classes ` " "that can be used to test whether a class provides a particular interface; " -"for example, whether it is hashable or whether it is a mapping." +"for example, whether it is :term:`hashable` or whether it is a mapping." msgstr "" "Ce module fournit :term:`des classes de base abstraites ` qui peuvent être utilisées pour vérifier si une classe fournit une " @@ -726,12 +727,13 @@ msgstr "" "puis les autres opérations seront automatiquement adaptées." #: library/collections.abc.rst:407 +#, fuzzy msgid "" "The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash " "value for the set; however, :meth:`__hash__` is not defined because not all " -"sets are hashable or immutable. To add set hashability using mixins, " -"inherit from both :meth:`Set` and :meth:`Hashable`, then define ``__hash__ = " -"Set._hash``." +"sets are :term:`hashable` or immutable. To add set hashability using " +"mixins, inherit from both :meth:`Set` and :meth:`Hashable`, then define " +"``__hash__ = Set._hash``." msgstr "" "La classe *mixin* :class:`Set` apporte une méthode :meth:`_hash` pour " "calculer une valeur de hachage pour l'ensemble ; cependant :meth:`__hash__` " diff --git a/library/collections.po b/library/collections.po index 7e779f5bd6..a61db4f061 100644 --- a/library/collections.po +++ b/library/collections.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-11-06 20:46+0100\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -69,7 +69,8 @@ msgid ":class:`Counter`" msgstr ":class:`Counter`" #: library/collections.rst:28 -msgid "dict subclass for counting hashable objects" +#, fuzzy +msgid "dict subclass for counting :term:`hashable` objects" msgstr "sous-classe de ``dict`` pour compter des objets hachables" #: library/collections.rst:29 @@ -378,8 +379,9 @@ msgstr "" "dénombrements. Par exemple ::" #: library/collections.rst:244 +#, fuzzy msgid "" -"A :class:`Counter` is a :class:`dict` subclass for counting hashable " +"A :class:`Counter` is a :class:`dict` subclass for counting :term:`hashable` " "objects. It is a collection where elements are stored as dictionary keys and " "their counts are stored as dictionary values. Counts are allowed to be any " "integer value including zero or negative counts. The :class:`Counter` class " diff --git a/library/compileall.po b/library/compileall.po index 43e6639f28..d7f1389547 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:06+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -380,10 +380,11 @@ msgstr "" "sont invalidés lorsque l'interpréteur tente de les utiliser." #: library/compileall.rst:269 +#, fuzzy msgid "" "The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " "``-s``, ``-p`` and ``-e`` options described above. They may be specified as " -"``str``, ``bytes`` or :py:class:`os.PathLike`." +"``str`` or :py:class:`os.PathLike`." msgstr "" "Les arguments *stripdir*, *prependdir* et *limit_sl_dest* correspondent aux " "options ``-s``, ``-p`` et ``-e`` décrites plus haut. Ils peuvent être de " diff --git a/library/configparser.po b/library/configparser.po index 073bce87fb..997398bceb 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:35+0200\n" "Last-Translator: Dimitri Merejkowsky \n" "Language-Team: FRENCH \n" @@ -203,11 +203,12 @@ msgstr "" "d'une section en spécifiant une valeur de substitution :" #: library/configparser.rst:220 +#, fuzzy msgid "" "Please note that default values have precedence over fallback values. For " "instance, in our example the ``'CompressionLevel'`` key was specified only " "in the ``'DEFAULT'`` section. If we try to get it from the section " -"``'topsecret.server.com'``, we will always get the default, even if we " +"``'topsecret.server.example'``, we will always get the default, even if we " "specify a fallback:" msgstr "" "Notez que les valeurs par défaut sont prioritaires par rapport aux valeurs " diff --git a/library/contextvars.po b/library/contextvars.po index 6efd7a2c7d..49c1976c52 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-05-26 21:26-0400\n" "Last-Translator: Martin Chlumsky \n" "Language-Team: FRENCH \n" @@ -180,10 +180,11 @@ msgstr "" "créé le token." #: library/contextvars.rst:111 +#, fuzzy msgid "" "A read-only property. Set to the value the variable had before the :meth:" "`ContextVar.set` method call that created the token. It points to :attr:" -"`Token.MISSING` is the variable was not set before the call." +"`Token.MISSING` if the variable was not set before the call." msgstr "" "Propriété en lecture seule. Sa valeur est celle que la variable avait avant " "l'appel à la méthode :meth:`ContextVar.set` qui a créé le jeton. Elle pointe " @@ -233,6 +234,14 @@ msgstr "" "copy_context`." #: library/contextvars.rst:147 +msgid "" +"Every thread will have a different top-level :class:`~contextvars.Context` " +"object. This means that a :class:`ContextVar` object behaves in a similar " +"fashion to :func:`threading.local()` when values are assigned in different " +"threads." +msgstr "" + +#: library/contextvars.rst:152 msgid "Context implements the :class:`collections.abc.Mapping` interface." msgstr "*Context* implémente l'interface :class:`collections.abc.Mapping`." @@ -246,7 +255,7 @@ msgstr "*Context* implémente l'interface :class:`collections.abc.Mapping`." # lequel est appelée la méthode  »run*. Renvoie### # library/contextvars.po:238: warning: Mot inconnu : run => ###xte sur lequel # est appelée la méthode  »run*. Renvoie### -#: library/contextvars.rst:151 +#: library/contextvars.rst:156 msgid "" "Execute ``callable(*args, **kwargs)`` code in the context object the *run* " "method is called on. Return the result of the execution or propagate an " @@ -256,7 +265,7 @@ msgstr "" "l'objet. Renvoie le résultat de l'exécution ou propage une exception s'il y " "en a une qui s'est produite." -#: library/contextvars.rst:155 +#: library/contextvars.rst:160 msgid "" "Any changes to any context variables that *callable* makes will be contained " "in the context object::" @@ -264,7 +273,7 @@ msgstr "" "Tout changement apporté aux variables de contexte effectué par *callable* " "sera contenu dans l'objet de contexte ::" -#: library/contextvars.rst:184 +#: library/contextvars.rst:189 msgid "" "The method raises a :exc:`RuntimeError` when called on the same context " "object from more than one OS thread, or when called recursively." @@ -273,11 +282,11 @@ msgstr "" "objet de contexte depuis plus qu'un fil d'exécution ou quand elle est " "appelée récursivement." -#: library/contextvars.rst:190 +#: library/contextvars.rst:195 msgid "Return a shallow copy of the context object." msgstr "Renvoie une copie de surface de l'objet de contexte." -#: library/contextvars.rst:194 +#: library/contextvars.rst:199 msgid "" "Return ``True`` if the *context* has a value for *var* set; return ``False`` " "otherwise." @@ -285,7 +294,7 @@ msgstr "" "Renvoie ``True`` si le *context* a une valeur pour *var* ; sinon renvoie " "``False``." -#: library/contextvars.rst:199 +#: library/contextvars.rst:204 msgid "" "Return the value of the *var* :class:`ContextVar` variable. If the variable " "is not set in the context object, a :exc:`KeyError` is raised." @@ -293,7 +302,7 @@ msgstr "" "Renvoie la valeur de la variable :class:`ContextVar` *var*. Si la variable " "n'est pas définie dans l'objet de contexte, une :exc:`KeyError` est levée." -#: library/contextvars.rst:205 +#: library/contextvars.rst:210 msgid "" "Return the value for *var* if *var* has the value in the context object. " "Return *default* otherwise. If *default* is not given, return ``None``." @@ -301,26 +310,26 @@ msgstr "" "Renvoie la valeur de *var* si *var* possède une valeur dans l'objet de " "contexte. Renvoie *default* sinon (ou ``None`` si *default* n'est pas donné)." -#: library/contextvars.rst:211 +#: library/contextvars.rst:216 msgid "Return an iterator over the variables stored in the context object." msgstr "" "Renvoie un itérateur sur les variables stockées dans l'objet de contexte." -#: library/contextvars.rst:216 +#: library/contextvars.rst:221 msgid "Return the number of variables set in the context object." msgstr "Renvoie le nombre de variables définies dans l'objet de contexte." -#: library/contextvars.rst:220 +#: library/contextvars.rst:225 msgid "Return a list of all variables in the context object." msgstr "Renvoie une liste de toutes les variables dans l'objet de contexte." -#: library/contextvars.rst:224 +#: library/contextvars.rst:229 msgid "Return a list of all variables' values in the context object." msgstr "" "Renvoie une liste de toutes les valeurs des variables dans l'objet de " "contexte." -#: library/contextvars.rst:229 +#: library/contextvars.rst:234 msgid "" "Return a list of 2-tuples containing all variables and their values in the " "context object." @@ -328,11 +337,11 @@ msgstr "" "Renvoie une liste de paires contenant toutes les variables et leurs valeurs " "dans l'objet de contexte." -#: library/contextvars.rst:234 +#: library/contextvars.rst:239 msgid "asyncio support" msgstr "Gestion avec *asyncio*" -#: library/contextvars.rst:236 +#: library/contextvars.rst:241 msgid "" "Context variables are natively supported in :mod:`asyncio` and are ready to " "be used without any extra configuration. For example, here is a simple echo " diff --git a/library/ctypes.po b/library/ctypes.po index 1cef24dd19..b7b1972b00 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-11-09 08:06+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -19,7 +19,11 @@ msgstr "" msgid ":mod:`ctypes` --- A foreign function library for Python" msgstr ":mod:`ctypes` — Bibliothèque Python d'appels à des fonctions externes" -#: library/ctypes.rst:11 +#: library/ctypes.rst:9 +msgid "**Source code:** :source:`Lib/ctypes`" +msgstr "" + +#: library/ctypes.rst:13 msgid "" ":mod:`ctypes` is a foreign function library for Python. It provides C " "compatible data types, and allows calling functions in DLLs or shared " @@ -31,11 +35,11 @@ msgstr "" "partagées, rendant ainsi possible l'interfaçage de ces bibliothèques avec du " "pur code Python." -#: library/ctypes.rst:19 +#: library/ctypes.rst:21 msgid "ctypes tutorial" msgstr "Didacticiel de *ctypes*" -#: library/ctypes.rst:21 +#: library/ctypes.rst:23 msgid "" "Note: The code samples in this tutorial use :mod:`doctest` to make sure that " "they actually work. Since some code samples behave differently under Linux, " @@ -46,7 +50,7 @@ msgstr "" "exemples ont un comportement différent en Linux, Windows ou macOS, ils " "contiennent des directives *doctest* dans les commentaires." -#: library/ctypes.rst:25 +#: library/ctypes.rst:27 msgid "" "Note: Some code samples reference the ctypes :class:`c_int` type. On " "platforms where ``sizeof(long) == sizeof(int)`` it is an alias to :class:" @@ -59,11 +63,11 @@ msgstr "" "`c_long` s'affiche là où vous vous attendiez à :class:`c_int` — il s'agit " "bien du même type." -#: library/ctypes.rst:33 +#: library/ctypes.rst:35 msgid "Loading dynamic link libraries" msgstr "Chargement des DLL" -#: library/ctypes.rst:35 +#: library/ctypes.rst:37 msgid "" ":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* " "objects, for loading dynamic link libraries." @@ -71,7 +75,7 @@ msgstr "" ":mod:`ctypes` fournit l'objet *cdll* pour charger des bibliothèques à liens " "dynamiques (et les objets *windll* et *oledll* en Windows)." -#: library/ctypes.rst:38 +#: library/ctypes.rst:40 msgid "" "You load libraries by accessing them as attributes of these objects. *cdll* " "loads libraries which export functions using the standard ``cdecl`` calling " @@ -90,7 +94,7 @@ msgstr "" "est utilisé pour lever automatiquement une :class:`OSError` quand l'appel de " "la fonction échoue." -#: library/ctypes.rst:46 +#: library/ctypes.rst:48 msgid "" "Windows errors used to raise :exc:`WindowsError`, which is now an alias of :" "exc:`OSError`." @@ -98,7 +102,7 @@ msgstr "" "En Windows, les erreurs levaient auparavant une :exc:`WindowsError`, qui est " "maintenant un alias de :exc:`OSError`." -#: library/ctypes.rst:51 +#: library/ctypes.rst:53 msgid "" "Here are some examples for Windows. Note that ``msvcrt`` is the MS standard " "C library containing most standard C functions, and uses the cdecl calling " @@ -108,11 +112,11 @@ msgstr "" "de Microsoft qui contient la plupart des fonctions standards C. Elle suit la " "convention d'appel *cdecl* ::" -#: library/ctypes.rst:63 +#: library/ctypes.rst:65 msgid "Windows appends the usual ``.dll`` file suffix automatically." msgstr "Windows ajoute le suffixe habituel ``.dll`` automatiquement." -#: library/ctypes.rst:66 +#: library/ctypes.rst:68 msgid "" "Accessing the standard C library through ``cdll.msvcrt`` will use an " "outdated version of the library that may be incompatible with the one being " @@ -125,7 +129,7 @@ msgstr "" "fonctionnalité native de Python, ou bien importer et utiliser le module " "``msvcrt``." -#: library/ctypes.rst:71 +#: library/ctypes.rst:73 msgid "" "On Linux, it is required to specify the filename *including* the extension " "to load a library, so attribute access can not be used to load libraries. " @@ -139,15 +143,15 @@ msgstr "" "chargeurs de DLL, ou bien charger la bibliothèque en créant une instance de " "*CDLL* en appelant son constructeur ::" -#: library/ctypes.rst:89 +#: library/ctypes.rst:91 msgid "Accessing functions from loaded dlls" msgstr "Accès aux fonctions des DLL chargées" -#: library/ctypes.rst:91 +#: library/ctypes.rst:93 msgid "Functions are accessed as attributes of dll objects::" msgstr "Les fonctions sont alors des attributs des objets DLL ::" -#: library/ctypes.rst:106 +#: library/ctypes.rst:108 msgid "" "Note that win32 system dlls like ``kernel32`` and ``user32`` often export " "ANSI as well as UNICODE versions of a function. The UNICODE version is " @@ -165,7 +169,7 @@ msgstr "" "qui décide d'exporter l'une ou l'autre à travers ``GetModuleHandle``, selon " "qu'UNICODE est définie ou non) ::" -#: library/ctypes.rst:119 +#: library/ctypes.rst:121 msgid "" "*windll* does not try to select one of them by magic, you must access the " "version you need by specifying ``GetModuleHandleA`` or ``GetModuleHandleW`` " @@ -176,7 +180,7 @@ msgstr "" "les appelant ensuite avec des objets octets ou avec des chaînes de " "caractères, respectivement." -#: library/ctypes.rst:123 +#: library/ctypes.rst:125 msgid "" "Sometimes, dlls export functions with names which aren't valid Python " "identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to use :func:" @@ -186,7 +190,7 @@ msgstr "" "identifiants Python valides, comme ``\"??2@YAPAXI@Z\"``. Dans ce cas, il " "faut utiliser :func:`getattr` pour accéder à la fonction ::" -#: library/ctypes.rst:131 +#: library/ctypes.rst:133 msgid "" "On Windows, some dlls export functions not by name but by ordinal. These " "functions can be accessed by indexing the dll object with the ordinal " @@ -196,11 +200,11 @@ msgstr "" "plutôt qu'à travers un nom. On accède à une fonction en indiçant l'objet DLL " "avec son index ::" -#: library/ctypes.rst:148 +#: library/ctypes.rst:150 msgid "Calling functions" msgstr "Appel de fonctions" -#: library/ctypes.rst:150 +#: library/ctypes.rst:152 msgid "" "You can call these functions like any other Python callable. This example " "uses the ``time()`` function, which returns system time in seconds since the " @@ -212,7 +216,7 @@ msgstr "" "depuis l'*epoch* Unix, et la fonction ``GetModuleHandleA()``, qui renvoie un " "gestionnaire de module *win32*." -#: library/ctypes.rst:155 +#: library/ctypes.rst:157 msgid "" "This example calls both functions with a ``NULL`` pointer (``None`` should " "be used as the ``NULL`` pointer)::" @@ -220,7 +224,7 @@ msgstr "" "Cet exemple appelle les deux fonctions avec un pointeur ``NULL`` (on utilise " "``None`` pour passer un pointeur ``NULL``) ::" -#: library/ctypes.rst:164 +#: library/ctypes.rst:166 msgid "" ":exc:`ValueError` is raised when you call an ``stdcall`` function with the " "``cdecl`` calling convention, or vice versa::" @@ -228,7 +232,7 @@ msgstr "" "Une :exc:`ValueError` est levée quand on appelle une fonction ``stdcall`` " "avec la convention d'appel ``cdecl`` et vice-versa ::" -#: library/ctypes.rst:179 +#: library/ctypes.rst:181 msgid "" "To find out the correct calling convention you have to look into the C " "header file or the documentation for the function you want to call." @@ -236,7 +240,7 @@ msgstr "" "Pour déterminer la convention d'appel, il faut consulter l'en-tête C ou la " "documentation de la fonction à appeler." -#: library/ctypes.rst:182 +#: library/ctypes.rst:184 msgid "" "On Windows, :mod:`ctypes` uses win32 structured exception handling to " "prevent crashes from general protection faults when functions are called " @@ -248,7 +252,7 @@ msgstr "" "(*general protection faults*) du système, lorsque des fonctions sont " "appelées avec un nombre incorrect d'arguments ::" -#: library/ctypes.rst:192 +#: library/ctypes.rst:194 msgid "" "There are, however, enough ways to crash Python with :mod:`ctypes`, so you " "should be careful anyway. The :mod:`faulthandler` module can be helpful in " @@ -261,7 +265,7 @@ msgstr "" "erreurs de segmentation produites par des appels erronés à la bibliothèque " "C)." -#: library/ctypes.rst:197 +#: library/ctypes.rst:199 #, fuzzy msgid "" "``None``, integers, bytes objects and (unicode) strings are the only native " @@ -281,7 +285,7 @@ msgstr "" "type C :c:type:`int` par défaut de la plate-forme, un masque étant appliqué " "pour qu'ils tiennent dans le type C." -#: library/ctypes.rst:204 +#: library/ctypes.rst:206 msgid "" "Before we move on calling functions with other parameter types, we have to " "learn more about :mod:`ctypes` data types." @@ -290,250 +294,250 @@ msgstr "" "paramètres, apprenons-en un peu plus sur les types de données de :mod:" "`ctypes`." -#: library/ctypes.rst:2138 +#: library/ctypes.rst:2160 msgid "Fundamental data types" msgstr "Types de données de base" -#: library/ctypes.rst:213 +#: library/ctypes.rst:215 msgid ":mod:`ctypes` defines a number of primitive C compatible data types:" msgstr "" ":mod:`ctypes` définit plusieurs types de donnée de base compatibles avec le " "C :" -#: library/ctypes.rst:216 +#: library/ctypes.rst:218 msgid "ctypes type" msgstr "Types de *ctypes*" -#: library/ctypes.rst:216 +#: library/ctypes.rst:218 msgid "C type" msgstr "Type C" -#: library/ctypes.rst:216 +#: library/ctypes.rst:218 msgid "Python type" msgstr "Type Python" -#: library/ctypes.rst:218 +#: library/ctypes.rst:220 msgid ":class:`c_bool`" msgstr ":class:`c_bool`" -#: library/ctypes.rst:218 +#: library/ctypes.rst:220 #, fuzzy msgid ":c:expr:`_Bool`" msgstr ":c:type:`_Bool`" -#: library/ctypes.rst:218 +#: library/ctypes.rst:220 msgid "bool (1)" msgstr "*bool* (1)" -#: library/ctypes.rst:220 +#: library/ctypes.rst:222 msgid ":class:`c_char`" msgstr ":class:`c_char`" -#: library/ctypes.rst:224 +#: library/ctypes.rst:226 #, fuzzy msgid ":c:expr:`char`" msgstr ":c:type:`char`" -#: library/ctypes.rst:220 +#: library/ctypes.rst:222 msgid "1-character bytes object" msgstr "objet octet (*bytes*) de 1 caractère" -#: library/ctypes.rst:222 +#: library/ctypes.rst:224 msgid ":class:`c_wchar`" msgstr ":class:`c_wchar`" -#: library/ctypes.rst:222 +#: library/ctypes.rst:224 #, fuzzy msgid ":c:expr:`wchar_t`" msgstr ":c:type:`wchar_t`" -#: library/ctypes.rst:222 +#: library/ctypes.rst:224 msgid "1-character string" msgstr "chaîne de caractères (*string*) de longueur 1" -#: library/ctypes.rst:224 +#: library/ctypes.rst:226 msgid ":class:`c_byte`" msgstr ":class:`c_byte`" -#: library/ctypes.rst:226 library/ctypes.rst:230 library/ctypes.rst:234 -#: library/ctypes.rst:238 library/ctypes.rst:242 library/ctypes.rst:247 +#: library/ctypes.rst:228 library/ctypes.rst:232 library/ctypes.rst:236 +#: library/ctypes.rst:240 library/ctypes.rst:244 library/ctypes.rst:249 msgid "int" msgstr "*int*" -#: library/ctypes.rst:226 +#: library/ctypes.rst:228 msgid ":class:`c_ubyte`" msgstr ":class:`c_ubyte`" -#: library/ctypes.rst:226 +#: library/ctypes.rst:228 #, fuzzy msgid ":c:expr:`unsigned char`" msgstr ":c:type:`unsigned char`" -#: library/ctypes.rst:228 +#: library/ctypes.rst:230 msgid ":class:`c_short`" msgstr ":class:`c_short`" -#: library/ctypes.rst:228 +#: library/ctypes.rst:230 #, fuzzy msgid ":c:expr:`short`" msgstr ":c:type:`short`" -#: library/ctypes.rst:230 +#: library/ctypes.rst:232 msgid ":class:`c_ushort`" msgstr ":class:`c_ushort`" -#: library/ctypes.rst:230 +#: library/ctypes.rst:232 #, fuzzy msgid ":c:expr:`unsigned short`" msgstr ":c:type:`unsigned short`" -#: library/ctypes.rst:232 +#: library/ctypes.rst:234 msgid ":class:`c_int`" msgstr ":class:`c_int`" -#: library/ctypes.rst:232 +#: library/ctypes.rst:234 #, fuzzy msgid ":c:expr:`int`" msgstr ":c:type:`int`" -#: library/ctypes.rst:234 +#: library/ctypes.rst:236 msgid ":class:`c_uint`" msgstr ":class:`c_uint`" -#: library/ctypes.rst:234 +#: library/ctypes.rst:236 #, fuzzy msgid ":c:expr:`unsigned int`" msgstr ":c:type:`unsigned int`" -#: library/ctypes.rst:236 +#: library/ctypes.rst:238 msgid ":class:`c_long`" msgstr ":class:`c_long`" -#: library/ctypes.rst:236 +#: library/ctypes.rst:238 #, fuzzy msgid ":c:expr:`long`" msgstr ":c:type:`long`" -#: library/ctypes.rst:238 +#: library/ctypes.rst:240 msgid ":class:`c_ulong`" msgstr ":class:`c_ulong`" -#: library/ctypes.rst:238 +#: library/ctypes.rst:240 #, fuzzy msgid ":c:expr:`unsigned long`" msgstr ":c:type:`unsigned long`" -#: library/ctypes.rst:240 +#: library/ctypes.rst:242 msgid ":class:`c_longlong`" msgstr ":class:`c_longlong`" -#: library/ctypes.rst:240 +#: library/ctypes.rst:242 #, fuzzy msgid ":c:expr:`__int64` or :c:expr:`long long`" msgstr ":c:type:`__int64` ou :c:type:`long long`" -#: library/ctypes.rst:242 +#: library/ctypes.rst:244 msgid ":class:`c_ulonglong`" msgstr ":class:`c_ulonglong`" -#: library/ctypes.rst:242 +#: library/ctypes.rst:244 #, fuzzy msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" msgstr ":c:type:`unsigned __int64` ou :c:type:`unsigned long long`" -#: library/ctypes.rst:245 +#: library/ctypes.rst:247 msgid ":class:`c_size_t`" msgstr ":class:`c_size_t`" -#: library/ctypes.rst:245 +#: library/ctypes.rst:247 #, fuzzy msgid ":c:expr:`size_t`" msgstr ":c:type:`size_t`" -#: library/ctypes.rst:247 +#: library/ctypes.rst:249 msgid ":class:`c_ssize_t`" msgstr ":class:`c_ssize_t`" -#: library/ctypes.rst:247 +#: library/ctypes.rst:249 #, fuzzy msgid ":c:expr:`ssize_t` or :c:expr:`Py_ssize_t`" msgstr ":c:type:`ssize_t` ou :c:type:`Py_ssize_t`" -#: library/ctypes.rst:250 +#: library/ctypes.rst:252 msgid ":class:`c_float`" msgstr ":class:`c_float`" -#: library/ctypes.rst:250 +#: library/ctypes.rst:252 #, fuzzy msgid ":c:expr:`float`" msgstr ":c:type:`float`" -#: library/ctypes.rst:252 library/ctypes.rst:254 +#: library/ctypes.rst:254 library/ctypes.rst:256 msgid "float" msgstr "*float*" -#: library/ctypes.rst:252 +#: library/ctypes.rst:254 msgid ":class:`c_double`" msgstr ":class:`c_double`" -#: library/ctypes.rst:252 +#: library/ctypes.rst:254 #, fuzzy msgid ":c:expr:`double`" msgstr ":c:type:`double`" -#: library/ctypes.rst:254 +#: library/ctypes.rst:256 msgid ":class:`c_longdouble`" msgstr ":class:`c_longdouble`" -#: library/ctypes.rst:254 +#: library/ctypes.rst:256 #, fuzzy msgid ":c:expr:`long double`" msgstr ":c:type:`long double`" -#: library/ctypes.rst:256 +#: library/ctypes.rst:258 msgid ":class:`c_char_p`" msgstr ":class:`c_char_p`" -#: library/ctypes.rst:256 +#: library/ctypes.rst:258 #, fuzzy msgid ":c:expr:`char *` (NUL terminated)" msgstr ":c:type:`char *` (terminé par NUL)" -#: library/ctypes.rst:256 +#: library/ctypes.rst:258 msgid "bytes object or ``None``" msgstr "objet octet (*bytes*) ou ``None``" -#: library/ctypes.rst:258 +#: library/ctypes.rst:260 msgid ":class:`c_wchar_p`" msgstr ":class:`c_wchar_p`" -#: library/ctypes.rst:258 +#: library/ctypes.rst:260 #, fuzzy msgid ":c:expr:`wchar_t *` (NUL terminated)" msgstr ":c:type:`wchar_t *` (terminé par NUL)" -#: library/ctypes.rst:258 +#: library/ctypes.rst:260 msgid "string or ``None``" msgstr "chaîne de caractères (*string*) ou ``None``" -#: library/ctypes.rst:260 +#: library/ctypes.rst:262 msgid ":class:`c_void_p`" msgstr ":class:`c_void_p`" -#: library/ctypes.rst:260 +#: library/ctypes.rst:262 #, fuzzy msgid ":c:expr:`void *`" msgstr ":c:type:`void *`" -#: library/ctypes.rst:260 +#: library/ctypes.rst:262 msgid "int or ``None``" msgstr "*int* ou ``None``" -#: library/ctypes.rst:264 +#: library/ctypes.rst:266 msgid "The constructor accepts any object with a truth value." msgstr "Le constructeur accepte n'importe quel objet convertible en booléen." -#: library/ctypes.rst:266 +#: library/ctypes.rst:268 msgid "" "All these types can be created by calling them with an optional initializer " "of the correct type and value::" @@ -541,14 +545,14 @@ msgstr "" "Il est possible de créer chacun de ces types en les appelant avec une valeur " "d'initialisation du bon type et avec une valeur cohérente ::" -#: library/ctypes.rst:277 +#: library/ctypes.rst:279 msgid "" "Since these types are mutable, their value can also be changed afterwards::" msgstr "" "Ces types étant des muables, leur valeur peut aussi être modifiée après " "coup ::" -#: library/ctypes.rst:289 +#: library/ctypes.rst:291 msgid "" "Assigning a new value to instances of the pointer types :class:`c_char_p`, :" "class:`c_wchar_p`, and :class:`c_void_p` changes the *memory location* they " @@ -560,7 +564,7 @@ msgstr "" "mémoire* sur laquelle elle pointe, et non *le contenu* de ce bloc mémoire " "(c'est logique parce que les objets octets sont immuables en Python) ::" -#: library/ctypes.rst:309 +#: library/ctypes.rst:311 msgid "" "You should be careful, however, not to pass them to functions expecting " "pointers to mutable memory. If you need mutable memory blocks, ctypes has a :" @@ -576,7 +580,7 @@ msgstr "" "permet d'accéder à (ou de modifier) un bloc mémoire ; l'attribut ``value`` " "permet d'y accéder comme à une chaîne de caractères terminée par NUL ::" -#: library/ctypes.rst:333 +#: library/ctypes.rst:335 #, fuzzy msgid "" "The :func:`create_string_buffer` function replaces the :func:`c_buffer` " @@ -591,11 +595,11 @@ msgstr "" "bloc mémoire modifiable contenant des caractères Unicode du type C :c:type:" "`wchar_t`." -#: library/ctypes.rst:343 +#: library/ctypes.rst:345 msgid "Calling functions, continued" msgstr "Appel de fonctions, suite" -#: library/ctypes.rst:345 +#: library/ctypes.rst:347 msgid "" "Note that printf prints to the real standard output channel, *not* to :data:" "`sys.stdout`, so these examples will only work at the console prompt, not " @@ -605,7 +609,7 @@ msgstr "" "exemples suivants ne fonctionnent donc que dans une invite de commande et " "non depuis *IDLE* or *PythonWin* ::" -#: library/ctypes.rst:365 +#: library/ctypes.rst:367 msgid "" "As has been mentioned before, all Python types except integers, strings, and " "bytes objects have to be wrapped in their corresponding :mod:`ctypes` type, " @@ -616,11 +620,37 @@ msgstr "" "leur type :mod:`ctypes` correspondant pour pouvoir être convertis dans le " "type C requis ::" -#: library/ctypes.rst:378 +#: library/ctypes.rst:379 +#, fuzzy +msgid "Calling varadic functions" +msgstr "Appel de fonctions" + +#: library/ctypes.rst:381 +msgid "" +"On a lot of platforms calling variadic functions through ctypes is exactly " +"the same as calling functions with a fixed number of parameters. On some " +"platforms, and in particular ARM64 for Apple Platforms, the calling " +"convention for variadic functions is different than that for regular " +"functions." +msgstr "" + +#: library/ctypes.rst:386 +msgid "" +"On those platforms it is required to specify the *argtypes* attribute for " +"the regular, non-variadic, function arguments:" +msgstr "" + +#: library/ctypes.rst:393 +msgid "" +"Because specifying the attribute does inhibit portability it is advised to " +"always specify ``argtypes`` for all variadic functions." +msgstr "" + +#: library/ctypes.rst:400 msgid "Calling functions with your own custom data types" msgstr "Appel de fonctions avec des types de données personnalisés" -#: library/ctypes.rst:380 +#: library/ctypes.rst:402 msgid "" "You can also customize :mod:`ctypes` argument conversion to allow instances " "of your own classes be used as function arguments. :mod:`ctypes` looks for " @@ -633,7 +663,7 @@ msgstr "" "et le prend comme argument à la fonction. Bien entendu, cet attribut doit " "être un entier, une chaîne de caractères ou des octets ::" -#: library/ctypes.rst:395 +#: library/ctypes.rst:417 msgid "" "If you don't want to store the instance's data in the :attr:`_as_parameter_` " "instance variable, you could define a :class:`property` which makes the " @@ -643,11 +673,11 @@ msgstr "" "attr:`_as_parameter_` de l'instance, vous pouvez toujours définir une :class:" "`propriété ` qui rend cet attribut disponible sur demande." -#: library/ctypes.rst:403 +#: library/ctypes.rst:425 msgid "Specifying the required argument types (function prototypes)" msgstr "Définition du type des arguments nécessaires (prototypes de fonction)" -#: library/ctypes.rst:405 +#: library/ctypes.rst:427 msgid "" "It is possible to specify the required argument types of functions exported " "from DLLs by setting the :attr:`argtypes` attribute." @@ -655,7 +685,7 @@ msgstr "" "Il est possible de définir le type des arguments demandés par une fonction " "exportée depuis une DLL en définissant son attribut :attr:`argtypes`." -#: library/ctypes.rst:408 +#: library/ctypes.rst:430 msgid "" ":attr:`argtypes` must be a sequence of C data types (the ``printf`` function " "is probably not a good example here, because it takes a variable number and " @@ -668,7 +698,7 @@ msgstr "" "selon la chaîne de formatage ; cela dit, elle se révèle pratique pour tester " "cette fonctionnalité) ::" -#: library/ctypes.rst:419 +#: library/ctypes.rst:441 msgid "" "Specifying a format protects against incompatible argument types (just as a " "prototype for a C function), and tries to convert the arguments to valid " @@ -678,7 +708,7 @@ msgstr "" "(comme le fait le prototype d'une fonction C) et tente de convertir les " "arguments en des types valides ::" -#: library/ctypes.rst:431 +#: library/ctypes.rst:453 msgid "" "If you have defined your own classes which you pass to function calls, you " "have to implement a :meth:`from_param` class method for them to be able to " @@ -700,11 +730,11 @@ msgstr "" "convient que le résultat soit un entier, une chaîne, des octets, une " "instance :mod:`ctypes` ou un objet avec un attribut :attr:`_as_parameter_`." -#: library/ctypes.rst:445 +#: library/ctypes.rst:467 msgid "Return types" msgstr "Types de sortie" -#: library/ctypes.rst:447 +#: library/ctypes.rst:469 #, fuzzy msgid "" "By default functions are assumed to return the C :c:expr:`int` type. Other " @@ -715,7 +745,7 @@ msgstr "" "`int` C. Pour préciser un autre type de sortie, il faut définir l'attribut :" "attr:`restype` de l'objet encapsulant la fonction." -#: library/ctypes.rst:451 +#: library/ctypes.rst:473 msgid "" "Here is a more advanced example, it uses the ``strchr`` function, which " "expects a string pointer and a char, and returns a pointer to a string::" @@ -724,7 +754,7 @@ msgstr "" "prend en paramètres un pointeur vers une chaîne et un caractère. Elle " "renvoie un pointeur sur une chaîne de caractères ::" -#: library/ctypes.rst:464 +#: library/ctypes.rst:486 msgid "" "If you want to avoid the ``ord(\"x\")`` calls above, you can set the :attr:" "`argtypes` attribute, and the second argument will be converted from a " @@ -734,7 +764,7 @@ msgstr "" "l'attribut :attr:`argtypes` ; le second argument, un objet octet à un seul " "caractère, sera automatiquement converti en un caractère C ::" -#: library/ctypes.rst:482 +#: library/ctypes.rst:504 msgid "" "You can also use a callable Python object (a function or a class for " "example) as the :attr:`restype` attribute, if the foreign function returns " @@ -750,7 +780,7 @@ msgstr "" "pratique pour vérifier les codes d'erreurs des valeurs de retour et lever " "automatiquement des exceptions ::" -#: library/ctypes.rst:505 +#: library/ctypes.rst:527 msgid "" "``WinError`` is a function which will call Windows ``FormatMessage()`` api " "to get the string representation of an error code, and *returns* an " @@ -763,7 +793,7 @@ msgstr "" "code d'erreur. Si celui-ci n'est pas passé, elle appelle :func:" "`GetLastError` pour le récupérer." -#: library/ctypes.rst:510 +#: library/ctypes.rst:532 msgid "" "Please note that a much more powerful error checking mechanism is available " "through the :attr:`errcheck` attribute; see the reference manual for details." @@ -772,11 +802,11 @@ msgstr "" "efficacement les erreurs ; référez-vous au manuel de référence pour plus de " "précisions." -#: library/ctypes.rst:517 +#: library/ctypes.rst:539 msgid "Passing pointers (or: passing parameters by reference)" msgstr "Passage de pointeurs (passage de paramètres par référence)" -#: library/ctypes.rst:519 +#: library/ctypes.rst:541 msgid "" "Sometimes a C api function expects a *pointer* to a data type as parameter, " "probably to write into the corresponding location, or if the data is too " @@ -788,7 +818,7 @@ msgstr "" "correspondant ou si la donnée est trop grande pour pouvoir être passée par " "valeur. Ce mécanisme est appelé *passage de paramètres par référence*." -#: library/ctypes.rst:523 +#: library/ctypes.rst:545 msgid "" ":mod:`ctypes` exports the :func:`byref` function which is used to pass " "parameters by reference. The same effect can be achieved with the :func:" @@ -802,11 +832,11 @@ msgstr "" "pointeur. Ainsi, si vous n'avez pas besoin de cet objet dans votre code " "Python, utiliser :func:`byref` est plus performant ::" -#: library/ctypes.rst:545 +#: library/ctypes.rst:567 msgid "Structures and unions" msgstr "Structures et unions" -#: library/ctypes.rst:547 +#: library/ctypes.rst:569 msgid "" "Structures and unions must derive from the :class:`Structure` and :class:" "`Union` base classes which are defined in the :mod:`ctypes` module. Each " @@ -819,7 +849,7 @@ msgstr "" "être une liste de *paires*, contenant un *nom de champ* et un *type de " "champ*." -#: library/ctypes.rst:552 +#: library/ctypes.rst:574 msgid "" "The field type must be a :mod:`ctypes` type like :class:`c_int`, or any " "other derived :mod:`ctypes` type: structure, union, array, pointer." @@ -827,7 +857,7 @@ msgstr "" "Le type de champ doit être un type :mod:`ctypes` comme :class:`c_int` ou un " "type :mod:`ctypes` dérivé : structure, union, tableau ou pointeur." -#: library/ctypes.rst:555 +#: library/ctypes.rst:577 msgid "" "Here is a simple example of a POINT structure, which contains two integers " "named *x* and *y*, and also shows how to initialize a structure in the " @@ -837,7 +867,7 @@ msgstr "" "et *y* et qui montre également comment instancier une structure avec le " "constructeur ::" -#: library/ctypes.rst:575 +#: library/ctypes.rst:597 msgid "" "You can, however, build much more complicated structures. A structure can " "itself contain other structures by using a structure as a field type." @@ -846,7 +876,7 @@ msgstr "" "structure peut elle-même contenir d'autres structures en prenant une " "structure comme type de champ." -#: library/ctypes.rst:578 +#: library/ctypes.rst:600 msgid "" "Here is a RECT structure which contains two POINTs named *upperleft* and " "*lowerright*::" @@ -854,7 +884,7 @@ msgstr "" "Voici une structure RECT qui contient deux POINTs *upperleft* et " "*lowerright* ::" -#: library/ctypes.rst:592 +#: library/ctypes.rst:614 msgid "" "Nested structures can also be initialized in the constructor in several " "ways::" @@ -862,7 +892,7 @@ msgstr "" "Une structure encapsulée peut être instanciée par un constructeur de " "plusieurs façons ::" -#: library/ctypes.rst:597 +#: library/ctypes.rst:619 msgid "" "Field :term:`descriptor`\\s can be retrieved from the *class*, they are " "useful for debugging because they can provide useful information::" @@ -871,7 +901,7 @@ msgstr "" "champs depuis la *classe*. Ils sont importants pour déboguer car ils " "contiennent des informations utiles ::" -#: library/ctypes.rst:611 +#: library/ctypes.rst:633 msgid "" ":mod:`ctypes` does not support passing unions or structures with bit-fields " "to functions by value. While this may work on 32-bit x86, it's not " @@ -884,11 +914,11 @@ msgstr "" "par la bibliothèque en général. Les unions et les structures avec des champs " "de bits doivent toujours être passées par pointeur." -#: library/ctypes.rst:617 +#: library/ctypes.rst:639 msgid "Structure/union alignment and byte order" msgstr "Alignement et boutisme des structures et des unions" -#: library/ctypes.rst:619 +#: library/ctypes.rst:641 msgid "" "By default, Structure and Union fields are aligned in the same way the C " "compiler does it. It is possible to override this behavior by specifying a :" @@ -902,7 +932,7 @@ msgstr "" "sous-classe. Ce champ doit être un entier positif et vaut l'alignement " "maximal des champs. C'est ce que fait ``#pragma pack(n)`` pour MSVC." -#: library/ctypes.rst:625 +#: library/ctypes.rst:647 msgid "" ":mod:`ctypes` uses the native byte order for Structures and Unions. To " "build structures with non-native byte order, you can use one of the :class:" @@ -916,11 +946,11 @@ msgstr "" "`LittleEndianStructure`, :class:`BigEndianUnion` ou :class:" "`LittleEndianUnion`. Ces classes ne peuvent pas avoir de champ pointeur." -#: library/ctypes.rst:635 +#: library/ctypes.rst:657 msgid "Bit fields in structures and unions" msgstr "Champs de bits dans les structures et les unions" -#: library/ctypes.rst:637 +#: library/ctypes.rst:659 msgid "" "It is possible to create structures and unions containing bit fields. Bit " "fields are only possible for integer fields, the bit width is specified as " @@ -930,11 +960,11 @@ msgstr "" "de bits. Seuls les entiers peuvent être des champs de bits, le nombre de " "bits est défini dans le troisième champ du *n*-uplet :attr:`_fields_` ::" -#: library/ctypes.rst:655 +#: library/ctypes.rst:677 msgid "Arrays" msgstr "Tableaux" -#: library/ctypes.rst:657 +#: library/ctypes.rst:679 msgid "" "Arrays are sequences, containing a fixed number of instances of the same " "type." @@ -942,7 +972,7 @@ msgstr "" "Les tableaux sont des séquences qui contiennent un nombre fixe d'instances " "du même type." -#: library/ctypes.rst:659 +#: library/ctypes.rst:681 msgid "" "The recommended way to create array types is by multiplying a data type with " "a positive integer::" @@ -950,7 +980,7 @@ msgstr "" "La meilleure façon de créer des tableaux consiste à multiplier le type de " "donnée par un entier positif ::" -#: library/ctypes.rst:664 +#: library/ctypes.rst:686 msgid "" "Here is an example of a somewhat artificial data type, a structure " "containing 4 POINTs among other stuff::" @@ -958,11 +988,11 @@ msgstr "" "Voici un exemple — un peu artificiel — d'une structure contenant, entre " "autres, 4 POINTs ::" -#: library/ctypes.rst:680 +#: library/ctypes.rst:702 msgid "Instances are created in the usual way, by calling the class::" msgstr "Comme d'habitude, on crée les instances en appelant la classe ::" -#: library/ctypes.rst:686 +#: library/ctypes.rst:708 msgid "" "The above code print a series of ``0 0`` lines, because the array contents " "is initialized to zeros." @@ -970,15 +1000,15 @@ msgstr "" "Le code précédent affiche une suite de ``0 0`` car le contenu du tableau est " "initialisé avec des zéros." -#: library/ctypes.rst:689 +#: library/ctypes.rst:711 msgid "Initializers of the correct type can also be specified::" msgstr "Des valeurs d'initialisation du bon type peuvent être passées ::" -#: library/ctypes.rst:705 +#: library/ctypes.rst:727 msgid "Pointers" msgstr "Pointeurs" -#: library/ctypes.rst:707 +#: library/ctypes.rst:729 msgid "" "Pointer instances are created by calling the :func:`pointer` function on a :" "mod:`ctypes` type::" @@ -986,7 +1016,7 @@ msgstr "" "On crée une instance de pointeur en appelant la fonction :func:`pointer` sur " "un type :mod:`ctypes` ::" -#: library/ctypes.rst:715 +#: library/ctypes.rst:737 msgid "" "Pointer instances have a :attr:`~_Pointer.contents` attribute which returns " "the object to which the pointer points, the ``i`` object above::" @@ -994,7 +1024,7 @@ msgstr "" "Les instances de pointeurs ont un attribut :attr:`~_Pointer.contents` qui " "renvoie l'objet pointé (l'objet ``i`` ci-dessus) ::" -#: library/ctypes.rst:722 +#: library/ctypes.rst:744 msgid "" "Note that :mod:`ctypes` does not have OOR (original object return), it " "constructs a new, equivalent object each time you retrieve an attribute::" @@ -1002,7 +1032,7 @@ msgstr "" "Attention, :mod:`ctypes` ne fait pas de ROI (retour de l'objet initial). Il " "crée un nouvel objet à chaque fois qu'on accède à un attribut ::" -#: library/ctypes.rst:731 +#: library/ctypes.rst:753 msgid "" "Assigning another :class:`c_int` instance to the pointer's contents " "attribute would cause the pointer to point to the memory location where this " @@ -1012,15 +1042,15 @@ msgstr "" "pointeur fait pointer le pointeur vers l'adresse mémoire de cette nouvelle " "instance ::" -#: library/ctypes.rst:743 +#: library/ctypes.rst:765 msgid "Pointer instances can also be indexed with integers::" msgstr "Il est possible d'indexer les pointeurs par des entiers ::" -#: library/ctypes.rst:749 +#: library/ctypes.rst:771 msgid "Assigning to an integer index changes the pointed to value::" msgstr "Affecter à travers un indice change la valeur pointée ::" -#: library/ctypes.rst:758 +#: library/ctypes.rst:780 msgid "" "It is also possible to use indexes different from 0, but you must know what " "you're doing, just as in C: You can access or change arbitrary memory " @@ -1034,7 +1064,7 @@ msgstr "" "renvoyé par une fonction C, pointeur que vous *savez* pointer vers un " "tableau et non sur un seul élément." -#: library/ctypes.rst:764 +#: library/ctypes.rst:786 msgid "" "Behind the scenes, the :func:`pointer` function does more than simply create " "pointer instances, it has to create pointer *types* first. This is done with " @@ -1046,7 +1076,7 @@ msgstr "" "sur… ». Cela s'effectue avec la fonction :func:`POINTER`, qui prend en " "paramètre n'importe quel type :mod:`ctypes` et renvoie un nouveau type ::" -#: library/ctypes.rst:780 +#: library/ctypes.rst:802 msgid "" "Calling the pointer type without an argument creates a ``NULL`` pointer. " "``NULL`` pointers have a ``False`` boolean value::" @@ -1054,7 +1084,7 @@ msgstr "" "Appeler le pointeur sur type sans arguments crée un pointeur ``NULL``. Les " "pointeurs ``NULL`` s'évaluent à ``False`` ::" -#: library/ctypes.rst:788 +#: library/ctypes.rst:810 msgid "" ":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but " "dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" @@ -1063,11 +1093,11 @@ msgstr "" "déréférence un (mais déréférencer des pointeurs non ``NULL`` invalides fait " "planter Python) ::" -#: library/ctypes.rst:807 +#: library/ctypes.rst:829 msgid "Type conversions" msgstr "Conversions de type" -#: library/ctypes.rst:809 +#: library/ctypes.rst:831 msgid "" "Usually, ctypes does strict type checking. This means, if you have " "``POINTER(c_int)`` in the :attr:`argtypes` list of a function or as the type " @@ -1086,7 +1116,7 @@ msgstr "" "place de pointeurs, s'ils sont compatibles. Dans le cas de " "``POINTER(c_int)``, *ctypes* accepte des tableaux de *c_int* ::" -#: library/ctypes.rst:830 +#: library/ctypes.rst:852 msgid "" "In addition, if a function argument is explicitly declared to be a pointer " "type (such as ``POINTER(c_int)``) in :attr:`argtypes`, an object of the " @@ -1099,13 +1129,13 @@ msgstr "" "*ctypes* appelle alors automatiquement la fonction de conversion :func:" "`byref`." -#: library/ctypes.rst:835 +#: library/ctypes.rst:857 msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" msgstr "" "Pour mettre un champ de type *POINTER* à ``NULL``, il faut lui affecter " "``None`` ::" -#: library/ctypes.rst:842 +#: library/ctypes.rst:864 msgid "" "Sometimes you have instances of incompatible types. In C, you can cast one " "type into another type. :mod:`ctypes` provides a :func:`cast` function " @@ -1120,11 +1150,11 @@ msgstr "" "`c_int` comme valeur pour le champ ``values``, mais pas des instances " "d'autres types ::" -#: library/ctypes.rst:854 +#: library/ctypes.rst:876 msgid "For these cases, the :func:`cast` function is handy." msgstr "C'est là que la fonction :func:`cast` intervient." -#: library/ctypes.rst:856 +#: library/ctypes.rst:878 msgid "" "The :func:`cast` function can be used to cast a ctypes instance into a " "pointer to a different ctypes data type. :func:`cast` takes two parameters, " @@ -1139,7 +1169,7 @@ msgstr "" "du second argument, qui pointe sur le même bloc mémoire que le premier " "argument ::" -#: library/ctypes.rst:867 +#: library/ctypes.rst:889 msgid "" "So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " "the structure::" @@ -1147,11 +1177,11 @@ msgstr "" "Ainsi, la fonction :func:`cast` permet de remplir le champ ``values`` de la " "structure ``Bar`` ::" -#: library/ctypes.rst:880 +#: library/ctypes.rst:902 msgid "Incomplete Types" msgstr "Types incomplets" -#: library/ctypes.rst:882 +#: library/ctypes.rst:904 msgid "" "*Incomplete Types* are structures, unions or arrays whose members are not " "yet specified. In C, they are specified by forward declarations, which are " @@ -1161,14 +1191,14 @@ msgstr "" "membres ne sont pas encore définis. C'est l'équivalent d'une déclaration " "avancée en C, où la définition est fournie plus tard ::" -#: library/ctypes.rst:893 +#: library/ctypes.rst:915 msgid "" "The straightforward translation into ctypes code would be this, but it does " "not work::" msgstr "" "Une traduction naïve, mais invalide, en code *ctypes* ressemblerait à ça ::" -#: library/ctypes.rst:906 +#: library/ctypes.rst:928 msgid "" "because the new ``class cell`` is not available in the class statement " "itself. In :mod:`ctypes`, we can define the ``cell`` class and set the :attr:" @@ -1179,7 +1209,7 @@ msgstr "" "`ctypes`, on définit la classe ``cell`` et on définira les :attr:`_fields_` " "plus tard, après avoir défini la classe ::" -#: library/ctypes.rst:918 +#: library/ctypes.rst:940 msgid "" "Let's try it. We create two instances of ``cell``, and let them point to " "each other, and finally follow the pointer chain a few times::" @@ -1188,11 +1218,11 @@ msgstr "" "sur l'autre et enfin nous suivons quelques maillons de la chaîne de " "pointeurs ::" -#: library/ctypes.rst:939 +#: library/ctypes.rst:961 msgid "Callback functions" msgstr "Fonctions de rappel" -#: library/ctypes.rst:941 +#: library/ctypes.rst:963 msgid "" ":mod:`ctypes` allows creating C callable function pointers from Python " "callables. These are sometimes called *callback functions*." @@ -1200,7 +1230,7 @@ msgstr "" ":mod:`ctypes` permet de créer des pointeurs de fonctions appelables par des " "appelables Python. On les appelle parfois *fonctions de rappel*." -#: library/ctypes.rst:944 +#: library/ctypes.rst:966 msgid "" "First, you must create a class for the callback function. The class knows " "the calling convention, the return type, and the number and types of " @@ -1210,7 +1240,7 @@ msgstr "" "connaît la convention d'appel, le type de retour ainsi que le nombre et le " "type de paramètres que la fonction accepte." -#: library/ctypes.rst:948 +#: library/ctypes.rst:970 msgid "" "The :func:`CFUNCTYPE` factory function creates types for callback functions " "using the ``cdecl`` calling convention. On Windows, the :func:`WINFUNCTYPE` " @@ -1222,7 +1252,7 @@ msgstr "" "`WINFUNCTYPE` qui crée un type pour les fonctions de rappel qui suivent la " "convention d'appel ``stdcall``." -#: library/ctypes.rst:953 +#: library/ctypes.rst:975 msgid "" "Both of these factory functions are called with the result type as first " "argument, and the callback functions expected argument types as the " @@ -1231,7 +1261,7 @@ msgstr "" "Le premier paramètre de ces deux fonctions est le type de retour, et les " "suivants sont les types des arguments qu'attend la fonction de rappel." -#: library/ctypes.rst:957 +#: library/ctypes.rst:979 msgid "" "I will present an example here which uses the standard C library's :c:func:" "`qsort` function, that is used to sort items with the help of a callback " @@ -1242,7 +1272,7 @@ msgstr "" "l'emploi d'une fonction de rappel. Nous allons utiliser :c:func:`qsort` pour " "ordonner un tableau d'entiers ::" -#: library/ctypes.rst:967 +#: library/ctypes.rst:989 msgid "" ":func:`qsort` must be called with a pointer to the data to sort, the number " "of items in the data array, the size of one item, and a pointer to the " @@ -1258,7 +1288,7 @@ msgstr "" "négatif si le premier élément est plus petit que le second, zéro s'ils sont " "égaux et un entier positif sinon." -#: library/ctypes.rst:973 +#: library/ctypes.rst:995 msgid "" "So our callback function receives pointers to integers, and must return an " "integer. First we create the ``type`` for the callback function::" @@ -1266,7 +1296,7 @@ msgstr "" "Ainsi notre fonction de rappel reçoit des pointeurs vers des entiers et doit " "renvoyer un entier. Créons d'abord le ``type`` pour la fonction de rappel ::" -#: library/ctypes.rst:979 +#: library/ctypes.rst:1001 msgid "" "To get started, here is a simple callback that shows the values it gets " "passed::" @@ -1274,22 +1304,22 @@ msgstr "" "Pour commencer, voici une fonction de rappel simple qui affiche les valeurs " "qu'on lui passe ::" -#: library/ctypes.rst:989 +#: library/ctypes.rst:1011 msgid "The result::" msgstr "Résultat ::" -#: library/ctypes.rst:999 +#: library/ctypes.rst:1021 msgid "Now we can actually compare the two items and return a useful result::" msgstr "" "À présent, comparons pour de vrai les deux entiers et renvoyons un résultat " "utile ::" -#: library/ctypes.rst:1014 +#: library/ctypes.rst:1036 msgid "As we can easily check, our array is sorted now::" msgstr "" "Et comme il est facile de le voir, notre tableau est désormais classé ::" -#: library/ctypes.rst:1021 +#: library/ctypes.rst:1043 msgid "" "The function factories can be used as decorator factories, so we may as well " "write::" @@ -1297,7 +1327,7 @@ msgstr "" "Ces fonctions peuvent aussi être utilisées comme des décorateurs ; il est " "donc possible d'écrire ::" -#: library/ctypes.rst:1039 +#: library/ctypes.rst:1061 msgid "" "Make sure you keep references to :func:`CFUNCTYPE` objects as long as they " "are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " @@ -1308,7 +1338,7 @@ msgstr "" "tout seul et, si vous ne le faites pas, le ramasse-miette pourrait les " "libérer, ce qui fera planter votre programme quand un appel sera fait." -#: library/ctypes.rst:1043 +#: library/ctypes.rst:1065 msgid "" "Also, note that if the callback function is called in a thread created " "outside of Python's control (e.g. by the foreign code that calls the " @@ -1325,11 +1355,11 @@ msgstr "" "*pas* persistantes d'un appel à l'autre, même si les appels proviennent du " "même fil d'exécution C." -#: library/ctypes.rst:1053 +#: library/ctypes.rst:1075 msgid "Accessing values exported from dlls" msgstr "Accès aux variables exportées depuis une DLL" -#: library/ctypes.rst:1055 +#: library/ctypes.rst:1077 msgid "" "Some shared libraries not only export functions, they also export variables. " "An example in the Python library itself is the :c:data:`Py_OptimizeFlag`, an " @@ -1341,7 +1371,7 @@ msgstr "" "c:data:`Py_OptimizeFlag`, un entier valant 0, 1, ou 2 selon que l'option :" "option:`-O` ou :option:`-OO` soit donnée au démarrage." -#: library/ctypes.rst:1060 +#: library/ctypes.rst:1082 msgid "" ":mod:`ctypes` can access values like this with the :meth:`in_dll` class " "methods of the type. *pythonapi* is a predefined symbol giving access to " @@ -1351,7 +1381,7 @@ msgstr "" "meth:`in_dll` du type considéré. *pythonapi* est un symbole prédéfini qui " "donne accès à l'API C Python ::" -#: library/ctypes.rst:1069 +#: library/ctypes.rst:1091 msgid "" "If the interpreter would have been started with :option:`-O`, the sample " "would have printed ``c_long(1)``, or ``c_long(2)`` if :option:`-OO` would " @@ -1360,7 +1390,7 @@ msgstr "" "Si l'interpréteur est lancé avec :option:`-O`, l'exemple affiche " "``c_long(1)`` et ``c_long(2)`` avec :option:`-OO`." -#: library/ctypes.rst:1073 +#: library/ctypes.rst:1095 msgid "" "An extended example which also demonstrates the use of pointers accesses " "the :c:data:`PyImport_FrozenModules` pointer exported by Python." @@ -1368,11 +1398,11 @@ msgstr "" "Le pointeur :c:data:`PyImport_FrozenModules` exposé par Python est un autre " "exemple complet de l'utilisation de pointeurs." -#: library/ctypes.rst:1076 +#: library/ctypes.rst:1098 msgid "Quoting the docs for that value:" msgstr "Citons la documentation :" -#: library/ctypes.rst:1078 +#: library/ctypes.rst:1100 #, fuzzy msgid "" "This pointer is initialized to point to an array of :c:struct:`_frozen` " @@ -1387,7 +1417,7 @@ msgstr "" "tableau. Du code tiers peut jouer avec pour construire dynamiquement une " "collection de module figés." -#: library/ctypes.rst:1083 +#: library/ctypes.rst:1105 msgid "" "So manipulating this pointer could even prove useful. To restrict the " "example size, we show only how this table can be read with :mod:`ctypes`::" @@ -1396,7 +1426,7 @@ msgstr "" "taille de l'exemple, nous nous bornons à montrer comment lire ce tableau " "avec :mod:`ctypes` ::" -#: library/ctypes.rst:1095 +#: library/ctypes.rst:1117 #, fuzzy msgid "" "We have defined the :c:struct:`_frozen` data type, so we can get the pointer " @@ -1405,7 +1435,7 @@ msgstr "" "Le type de donnée :c:type:`struct _frozen` ayant été défini, nous pouvons " "récupérer le pointeur vers le tableau ::" -#: library/ctypes.rst:1102 +#: library/ctypes.rst:1124 msgid "" "Since ``table`` is a ``pointer`` to the array of ``struct_frozen`` records, " "we can iterate over it, but we just have to make sure that our loop " @@ -1419,7 +1449,7 @@ msgstr "" "ou tard, il planterait probablement avec une erreur de segmentation ou " "autre, donc mieux vaut sortir de la boucle quand on lit l'entrée ``NULL`` ::" -#: library/ctypes.rst:1120 +#: library/ctypes.rst:1142 msgid "" "The fact that standard Python has a frozen module and a frozen package " "(indicated by the negative ``size`` member) is not well known, it is only " @@ -1429,11 +1459,11 @@ msgstr "" "(indiqués par la valeur négative du membre *size*) est peu connu, cela ne " "sert qu'aux tests. Essayez avec ``import __hello__`` par exemple." -#: library/ctypes.rst:1128 +#: library/ctypes.rst:1150 msgid "Surprises" msgstr "Pièges" -#: library/ctypes.rst:1130 +#: library/ctypes.rst:1152 msgid "" "There are some edges in :mod:`ctypes` where you might expect something other " "than what actually happens." @@ -1441,11 +1471,11 @@ msgstr "" "Il y a quelques cas tordus dans :mod:`ctypes` où on peut s'attendre à un " "résultat différent de la réalité." -#: library/ctypes.rst:1133 +#: library/ctypes.rst:1155 msgid "Consider the following example::" msgstr "Examinons l'exemple suivant ::" -#: library/ctypes.rst:1153 +#: library/ctypes.rst:1175 msgid "" "Hm. We certainly expected the last statement to print ``3 4 1 2``. What " "happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" @@ -1454,7 +1484,7 @@ msgstr "" "``3 4 1 2``. Que s'est-il passé ? Les étapes de la ligne ``rc.a, rc.b = rc." "b, rc.a`` ci-dessus sont les suivantes ::" -#: library/ctypes.rst:1161 +#: library/ctypes.rst:1183 msgid "" "Note that ``temp0`` and ``temp1`` are objects still using the internal " "buffer of the ``rc`` object above. So executing ``rc.a = temp0`` copies the " @@ -1468,7 +1498,7 @@ msgstr "" "contenu de ``temp1``. Et donc, la dernière affectation, ``rc.b = temp1``, " "n'a pas l'effet escompté." -#: library/ctypes.rst:1167 +#: library/ctypes.rst:1189 msgid "" "Keep in mind that retrieving sub-objects from Structure, Unions, and Arrays " "doesn't *copy* the sub-object, instead it retrieves a wrapper object " @@ -1478,14 +1508,14 @@ msgstr "" "ou un *Array* ne copie *pas* le sous-objet, mais crée un objet interface qui " "accède au tampon sous-jacent de l'objet initial." -#: library/ctypes.rst:1171 +#: library/ctypes.rst:1193 msgid "" "Another example that may behave differently from what one would expect is " "this::" msgstr "" "Un autre exemple de comportement *a priori* inattendu est le suivant ::" -#: library/ctypes.rst:1183 +#: library/ctypes.rst:1205 msgid "" "Objects instantiated from :class:`c_char_p` can only have their value set to " "bytes or integers." @@ -1493,7 +1523,7 @@ msgstr "" "La valeur d'une instance de :class:`c_char_p` ne peut être initialisée " "qu'avec un octet ou un entier." -#: library/ctypes.rst:1186 +#: library/ctypes.rst:1208 msgid "" "Why is it printing ``False``? ctypes instances are objects containing a " "memory block plus some :term:`descriptor`\\s accessing the contents of the " @@ -1507,18 +1537,18 @@ msgstr "" "stocke pas l'objet même ; seuls ses ``contents`` le sont. Accéder au " "``contents`` crée un nouvel objet Python à chaque fois !" -#: library/ctypes.rst:1196 +#: library/ctypes.rst:1218 msgid "Variable-sized data types" msgstr "Types de données à taille flottante" -#: library/ctypes.rst:1198 +#: library/ctypes.rst:1220 msgid "" ":mod:`ctypes` provides some support for variable-sized arrays and structures." msgstr "" ":mod:`ctypes` assure la prise en charge des tableaux et des structures à " "taille flottante." -#: library/ctypes.rst:1200 +#: library/ctypes.rst:1222 msgid "" "The :func:`resize` function can be used to resize the memory buffer of an " "existing ctypes object. The function takes the object as first argument, " @@ -1533,7 +1563,7 @@ msgstr "" "unitaire du type considéré. Une :exc:`ValueError` est levée si c'est le " "cas ::" -#: library/ctypes.rst:1220 +#: library/ctypes.rst:1242 msgid "" "This is nice and fine, but how would one access the additional elements " "contained in this array? Since the type still only knows about 4 elements, " @@ -1543,7 +1573,7 @@ msgstr "" "tableau ? Vu que le type ne connaît que 4 éléments, on obtient une erreur si " "l'on accède aux suivants ::" -#: library/ctypes.rst:1232 +#: library/ctypes.rst:1254 msgid "" "Another way to use variable-sized data types with :mod:`ctypes` is to use " "the dynamic nature of Python, and (re-)define the data type after the " @@ -1554,15 +1584,15 @@ msgstr "" "dynamique de Python et de (re)définir le type de donnée une fois que la " "taille demandée est connue, au cas-par-cas." -#: library/ctypes.rst:1240 +#: library/ctypes.rst:1262 msgid "ctypes reference" msgstr "Référence du module" -#: library/ctypes.rst:1246 +#: library/ctypes.rst:1268 msgid "Finding shared libraries" msgstr "Recherche de bibliothèques partagées" -#: library/ctypes.rst:1248 +#: library/ctypes.rst:1270 msgid "" "When programming in a compiled language, shared libraries are accessed when " "compiling/linking a program, and when the program is run." @@ -1571,7 +1601,7 @@ msgstr "" "moment de la compilation, de l'édition de liens et pendant l'exécution du " "programme." -#: library/ctypes.rst:1251 +#: library/ctypes.rst:1273 msgid "" "The purpose of the :func:`find_library` function is to locate a library in a " "way similar to what the compiler or runtime loader does (on platforms with " @@ -1586,7 +1616,7 @@ msgstr "" "de la même façon qu'un programme qui s'exécute, et appellent directement le " "chargeur." -#: library/ctypes.rst:1257 +#: library/ctypes.rst:1279 msgid "" "The :mod:`ctypes.util` module provides a function which can help to " "determine the library to load." @@ -1594,7 +1624,7 @@ msgstr "" "Le module :mod:`ctypes.util` fournit une fonction pour déterminer quelle " "bibliothèque charger." -#: library/ctypes.rst:1265 +#: library/ctypes.rst:1287 msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like *lib*, suffix like ``.so``, ``.dylib`` or version " @@ -1607,11 +1637,11 @@ msgstr "" "de l'éditeur de lien :option:`!-l`). Si la fonction ne parvient pas à " "trouver de bibliothèque, elle renvoie ``None``." -#: library/ctypes.rst:1913 +#: library/ctypes.rst:1935 msgid "The exact functionality is system dependent." msgstr "Le mode opératoire exact dépend du système." -#: library/ctypes.rst:1272 +#: library/ctypes.rst:1294 msgid "" "On Linux, :func:`find_library` tries to run external programs (``/sbin/" "ldconfig``, ``gcc``, ``objdump`` and ``ld``) to find the library file. It " @@ -1621,7 +1651,7 @@ msgstr "" "(``/sbin/ldconfig``, ``gcc``, ``objdump`` et ``ld``) pour trouver la " "bibliothèque. Elle renvoie le nom de la bibliothèque sur le disque." -#: library/ctypes.rst:1276 +#: library/ctypes.rst:1298 msgid "" "On Linux, the value of the environment variable ``LD_LIBRARY_PATH`` is used " "when searching for libraries, if a library cannot be found by any other " @@ -1630,11 +1660,11 @@ msgstr "" "Sous Linux, si les autres moyens échouent, la fonction utilise la variable " "d'environnement ``LD_LIBRARY_PATH`` pour trouver la bibliothèque." -#: library/ctypes.rst:1280 +#: library/ctypes.rst:1302 msgid "Here are some examples::" msgstr "Voici quelques exemples :" -#: library/ctypes.rst:1291 +#: library/ctypes.rst:1313 msgid "" "On macOS, :func:`find_library` tries several predefined naming schemes and " "paths to locate the library, and returns a full pathname if successful::" @@ -1643,7 +1673,7 @@ msgstr "" "chemins prédéfinies pour trouver la bibliothèque et en renvoie le chemin " "complet si elle la trouve :" -#: library/ctypes.rst:1305 +#: library/ctypes.rst:1327 msgid "" "On Windows, :func:`find_library` searches along the system search path, and " "returns the full pathname, but since there is no predefined naming scheme a " @@ -1654,7 +1684,7 @@ msgstr "" "de convention de nommage, des appels comme ``find_library(\"c\")`` échouent " "et renvoient ``None``." -#: library/ctypes.rst:1309 +#: library/ctypes.rst:1331 msgid "" "If wrapping a shared library with :mod:`ctypes`, it *may* be better to " "determine the shared library name at development time, and hardcode that " @@ -1667,11 +1697,11 @@ msgstr "" "plutôt que d'utiliser :func:`find_library` pour la trouver lors de " "l'exécution." -#: library/ctypes.rst:1317 +#: library/ctypes.rst:1339 msgid "Loading shared libraries" msgstr "Chargement des bibliothèques partagées" -#: library/ctypes.rst:1319 +#: library/ctypes.rst:1341 msgid "" "There are several ways to load shared libraries into the Python process. " "One way is to instantiate one of the following classes:" @@ -1680,7 +1710,7 @@ msgstr "" "processus Python. L'un d'entre eux consiste à instancier une des classes " "suivantes :" -#: library/ctypes.rst:1325 +#: library/ctypes.rst:1347 #, fuzzy msgid "" "Instances of this class represent loaded shared libraries. Functions in " @@ -1691,7 +1721,7 @@ msgstr "" "chargée. Les fonctions de cette bibliothèque utilisent la convention d'appel " "C standard et doivent renvoyer un :c:type:`int`." -#: library/ctypes.rst:1329 +#: library/ctypes.rst:1351 msgid "" "On Windows creating a :class:`CDLL` instance may fail even if the DLL name " "exists. When a dependent DLL of the loaded DLL is not found, a :exc:" @@ -1711,7 +1741,7 @@ msgstr "" "résoudre, il faut lister toutes les dépendances de la DLL et trouver celle " "qui manque en utilisant des outils de débogage et de traçage Windows." -#: library/ctypes.rst:1341 +#: library/ctypes.rst:1363 msgid "" "`Microsoft DUMPBIN tool `_ -- A tool to find DLL dependents." @@ -1719,7 +1749,7 @@ msgstr "" "`DUMPBIN `_ — un " "utilitaire Microsoft pour lister les dépendances d'une DLL." -#: library/ctypes.rst:1347 +#: library/ctypes.rst:1369 msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " @@ -1736,11 +1766,11 @@ msgstr "" "s'il a réussi, ainsi qu'un code d'erreur supplémentaire. Si la valeur de " "retour signale un échec, une :class:`OSError` est levée automatiquement." -#: library/ctypes.rst:1354 +#: library/ctypes.rst:1376 msgid ":exc:`WindowsError` used to be raised." msgstr ":exc:`WindowsError` était levée auparavant." -#: library/ctypes.rst:1360 +#: library/ctypes.rst:1382 #, fuzzy msgid "" "Windows only: Instances of this class represent loaded shared libraries, " @@ -1752,7 +1782,7 @@ msgstr "" "utilisent la convention d'appel *stdcall* et doivent renvoyer par défaut un :" "c:type:`int`." -#: library/ctypes.rst:1364 +#: library/ctypes.rst:1386 msgid "" "The Python :term:`global interpreter lock` is released before calling any " "function exported by these libraries, and reacquired afterwards." @@ -1761,7 +1791,7 @@ msgstr "" "est relâché avant chaque appel d'une fonction exposée par ces bibliothèques " "et ré-activé après." -#: library/ctypes.rst:1370 +#: library/ctypes.rst:1392 msgid "" "Instances of this class behave like :class:`CDLL` instances, except that the " "Python GIL is *not* released during the function call, and after the " @@ -1773,12 +1803,12 @@ msgstr "" "drapeau d'erreur Python est vérifié. Si celui-ci est activé, une exception " "Python est levée." -#: library/ctypes.rst:1375 +#: library/ctypes.rst:1397 msgid "Thus, this is only useful to call Python C api functions directly." msgstr "" "Donc, cette classe ne sert qu'à appeler les fonctions de l'API C de Python." -#: library/ctypes.rst:1377 +#: library/ctypes.rst:1399 msgid "" "All these classes can be instantiated by calling them with at least one " "argument, the pathname of the shared library. If you have an existing " @@ -1794,7 +1824,7 @@ msgstr "" "forme sous-jacente permettent de charger la bibliothèque dans le processus, " "et d'en obtenir un lien." -#: library/ctypes.rst:1384 +#: library/ctypes.rst:1406 msgid "" "The *mode* parameter can be used to specify how the library is loaded. For " "details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " @@ -1806,7 +1836,7 @@ msgstr "" "manuel. En Windows, *mode* est ignoré. Sur les systèmes POSIX, RTLD_NOW y " "est toujours ajouté. Ceci n'est pas configurable." -#: library/ctypes.rst:1389 +#: library/ctypes.rst:1411 msgid "" "The *use_errno* parameter, when set to true, enables a ctypes mechanism that " "allows accessing the system :data:`errno` error number in a safe way. :mod:" @@ -1823,7 +1853,7 @@ msgstr "" "la fonction est échangée avec la copie privée de *ctypes*. La même chose se " "produit juste après l'appel de la fonction." -#: library/ctypes.rst:1396 +#: library/ctypes.rst:1418 msgid "" "The function :func:`ctypes.get_errno` returns the value of the ctypes " "private copy, and the function :func:`ctypes.set_errno` changes the ctypes " @@ -1833,7 +1863,7 @@ msgstr "" "*ctypes*. La fonction :func:`ctypes.set_errno` affecte une nouvelle valeur à " "la copie privée et renvoie l'ancienne valeur." -#: library/ctypes.rst:1400 +#: library/ctypes.rst:1422 msgid "" "The *use_last_error* parameter, when set to true, enables the same mechanism " "for the Windows error code which is managed by the :func:`GetLastError` and :" @@ -1847,7 +1877,7 @@ msgstr "" "get_last_error` et :func:`ctypes.set_last_error` servent à obtenir et " "modifier la copie privée *ctypes* de ce code d'erreur." -#: library/ctypes.rst:1406 +#: library/ctypes.rst:1428 msgid "" "The *winmode* parameter is used on Windows to specify how the library is " "loaded (since *mode* is ignored). It takes any value that is valid for the " @@ -1864,11 +1894,11 @@ msgstr "" "le chemin complet à la DLL reste le moyen le plus sûr de s'assurer que la " "bonne bibliothèque et les bonnes dépendances sont chargées." -#: library/ctypes.rst:1413 +#: library/ctypes.rst:1435 msgid "Added *winmode* parameter." msgstr "Ajout du paramètre *winmode*." -#: library/ctypes.rst:1420 +#: library/ctypes.rst:1442 msgid "" "Flag to use as *mode* parameter. On platforms where this flag is not " "available, it is defined as the integer zero." @@ -1876,7 +1906,7 @@ msgstr "" "Valeur possible pour le paramètre *mode*. Vaut zéro sur les plates-formes où " "ce drapeau n'est pas disponible." -#: library/ctypes.rst:1427 +#: library/ctypes.rst:1449 msgid "" "Flag to use as *mode* parameter. On platforms where this is not available, " "it is the same as *RTLD_GLOBAL*." @@ -1884,7 +1914,7 @@ msgstr "" "Valeur possible pour le paramètre *mode*. Vaut *RTLD_GLOBAL* sur les plates-" "formes où ce drapeau n'est pas disponible." -#: library/ctypes.rst:1434 +#: library/ctypes.rst:1456 msgid "" "The default mode which is used to load shared libraries. On OSX 10.3, this " "is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." @@ -1893,7 +1923,7 @@ msgstr "" "*RTLD_GLOBAL* sur OSX 10.3 et *RTLD_LOCAL* sur les autres systèmes " "d'exploitation." -#: library/ctypes.rst:1437 +#: library/ctypes.rst:1459 msgid "" "Instances of these classes have no public methods. Functions exported by " "the shared library can be accessed as attributes or by index. Please note " @@ -1907,7 +1937,7 @@ msgstr "" "accès consécutifs renvoient à chaque fois le même objet. Accéder à une " "fonction par indice renvoie cependant chaque fois un nouvel objet :" -#: library/ctypes.rst:1450 +#: library/ctypes.rst:1472 msgid "" "The following public attributes are available, their name starts with an " "underscore to not clash with exported function names:" @@ -1915,15 +1945,15 @@ msgstr "" "Les attributs publics suivants sont disponibles, leur nom commence par un " "tiret bas pour éviter les conflits avec les noms des fonctions exportées :" -#: library/ctypes.rst:1456 +#: library/ctypes.rst:1478 msgid "The system handle used to access the library." msgstr "Le lien système d'accès à la bibliothèque." -#: library/ctypes.rst:1461 +#: library/ctypes.rst:1483 msgid "The name of the library passed in the constructor." msgstr "Nom de la bibliothèque donné au constructeur." -#: library/ctypes.rst:1463 +#: library/ctypes.rst:1485 msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -1935,7 +1965,7 @@ msgstr "" "meth:`LoadLibrary`, soit en récupérant la bibliothèque comme attribut de " "l'instance du chargeur." -#: library/ctypes.rst:1471 +#: library/ctypes.rst:1493 msgid "" "Class which loads shared libraries. *dlltype* should be one of the :class:" "`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." @@ -1943,7 +1973,7 @@ msgstr "" "Classe pour charger une bibliothèque partagée. *dlltype* doit être de type :" "class:`CDLL`, :class:`PyDLL`, :class:`WinDLL` ou :class:`OleDLL`." -#: library/ctypes.rst:1474 +#: library/ctypes.rst:1496 msgid "" ":meth:`__getattr__` has special behavior: It allows loading a shared library " "by accessing it as attribute of a library loader instance. The result is " @@ -1954,7 +1984,7 @@ msgstr "" "en cache, donc des accès consécutifs renvoient la même bibliothèque à chaque " "fois." -#: library/ctypes.rst:1480 +#: library/ctypes.rst:1502 msgid "" "Load a shared library into the process and return it. This method always " "returns a new instance of the library." @@ -1962,33 +1992,33 @@ msgstr "" "Charge une bibliothèque partagée dans le processus et la renvoie. Cette " "méthode renvoie toujours une nouvelle instance de la bibliothèque." -#: library/ctypes.rst:1484 +#: library/ctypes.rst:1506 msgid "These prefabricated library loaders are available:" msgstr "Plusieurs chargeurs sont fournis :" -#: library/ctypes.rst:1489 +#: library/ctypes.rst:1511 msgid "Creates :class:`CDLL` instances." msgstr "Pour créer des instances de :class:`CDLL`." -#: library/ctypes.rst:1495 +#: library/ctypes.rst:1517 msgid "Windows only: Creates :class:`WinDLL` instances." msgstr "Pour créer des instances de :class:`WinDLL` (uniquement en Windows)." -#: library/ctypes.rst:1501 +#: library/ctypes.rst:1523 msgid "Windows only: Creates :class:`OleDLL` instances." msgstr "Pour créer des instances de :class:`OleDLL` (uniquement en Windows)." -#: library/ctypes.rst:1507 +#: library/ctypes.rst:1529 msgid "Creates :class:`PyDLL` instances." msgstr "Pour créer des instances de :class:`PyDLL`." -#: library/ctypes.rst:1510 +#: library/ctypes.rst:1532 msgid "" "For accessing the C Python api directly, a ready-to-use Python shared " "library object is available:" msgstr "Il existe un moyen rapide d'accéder directement à l'API C Python :" -#: library/ctypes.rst:1516 +#: library/ctypes.rst:1538 #, fuzzy msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " @@ -2002,7 +2032,7 @@ msgstr "" "donc définir vous-même le bon attribut :attr:`restype` pour pouvoir les " "utiliser." -#: library/ctypes.rst:1521 +#: library/ctypes.rst:1543 msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlopen`` with argument " "``name``." @@ -2010,7 +2040,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``ctypes.dlopen``, avec en " "argument ``name``." -#: library/ctypes.rst:1523 +#: library/ctypes.rst:1545 msgid "" "Loading a library through any of these objects raises an :ref:`auditing " "event ` ``ctypes.dlopen`` with string argument ``name``, the name " @@ -2020,7 +2050,7 @@ msgstr "" "``name``, le nom de la bibliothèque (une chaîne de caractères), lève un :ref:" "`évènement d'audit ` ``ctypes.dlopen``." -#: library/ctypes.rst:1527 +#: library/ctypes.rst:1549 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym`` with arguments " @@ -2030,7 +2060,7 @@ msgstr "" "``name``, le nom de la bibliothèque (une chaîne de caractères), lève un :ref:" "`évènement d'audit ` ``ctypes.dlopen``." -#: library/ctypes.rst:1529 +#: library/ctypes.rst:1551 msgid "" "Accessing a function on a loaded library raises an auditing event ``ctypes." "dlsym`` with arguments ``library`` (the library object) and ``name`` (the " @@ -2040,7 +2070,7 @@ msgstr "" "dlsym`` avec ``library`` (l'objet bibliothèque) et ``name`` (le nom du " "symbole — une chaîne de caractères ou un entier) comme arguments." -#: library/ctypes.rst:1533 +#: library/ctypes.rst:1555 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym/handle`` with " @@ -2050,7 +2080,7 @@ msgstr "" "``name``, le nom de la bibliothèque (une chaîne de caractères), lève un :ref:" "`évènement d'audit ` ``ctypes.dlopen``." -#: library/ctypes.rst:1535 +#: library/ctypes.rst:1557 msgid "" "In cases when only the library handle is available rather than the object, " "accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " @@ -2060,11 +2090,11 @@ msgstr "" "à une fonction lève l'évènement d'audit ``ctypes.dlsym/handle`` avec " "``handle`` (le lien vers la bibliothèque) et ``name`` comme arguments." -#: library/ctypes.rst:1542 +#: library/ctypes.rst:1564 msgid "Foreign functions" msgstr "Fonctions externes" -#: library/ctypes.rst:1544 +#: library/ctypes.rst:1566 msgid "" "As explained in the previous section, foreign functions can be accessed as " "attributes of loaded shared libraries. The function objects created in this " @@ -2079,11 +2109,11 @@ msgstr "" "renvoie le type par défaut du chargeur de la bibliothèque. Ce sont des " "instances de la classe privée :" -#: library/ctypes.rst:1553 +#: library/ctypes.rst:1575 msgid "Base class for C callable foreign functions." msgstr "Classe de base pour les fonctions externes C." -#: library/ctypes.rst:1555 +#: library/ctypes.rst:1577 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." @@ -2091,7 +2121,7 @@ msgstr "" "Une instance de fonction externe est également un type de donnée compatible " "avec le C ; elle représente un pointeur vers une fonction." -#: library/ctypes.rst:1558 +#: library/ctypes.rst:1580 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." @@ -2099,7 +2129,7 @@ msgstr "" "Son comportement peut-être personnalisé en réaffectant les attributs " "spécifiques de l'objet représentant la fonction externe." -#: library/ctypes.rst:1563 +#: library/ctypes.rst:1585 #, fuzzy msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " @@ -2109,7 +2139,7 @@ msgstr "" "*ctypes*. Dans le cas où la fonction ne renvoie rien (:c:type:`void`), " "utilisez ``None``." -#: library/ctypes.rst:1566 +#: library/ctypes.rst:1588 #, fuzzy msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " @@ -2128,7 +2158,7 @@ msgstr "" "affecter un type *ctypes* à :attr:`restype` et à affecter un appelable à " "l'attribut :attr:`errcheck`." -#: library/ctypes.rst:1575 +#: library/ctypes.rst:1597 msgid "" "Assign a tuple of ctypes types to specify the argument types that the " "function accepts. Functions using the ``stdcall`` calling convention can " @@ -2142,7 +2172,7 @@ msgstr "" "la taille du *n*-uplet mais les fonctions qui utilisent la convention " "d'appel C acceptent aussi des arguments additionnels non-définis." -#: library/ctypes.rst:1581 +#: library/ctypes.rst:1603 msgid "" "When a foreign function is called, each actual argument is passed to the :" "meth:`from_param` class method of the items in the :attr:`argtypes` tuple, " @@ -2159,7 +2189,7 @@ msgstr "" "passée en argument en un objet chaîne d'octets selon les règles de " "conversion *ctypes*." -#: library/ctypes.rst:1588 +#: library/ctypes.rst:1610 msgid "" "New: It is now possible to put items in argtypes which are not ctypes types, " "but each item must have a :meth:`from_param` method which returns a value " @@ -2173,7 +2203,7 @@ msgstr "" "de créer des adaptateurs qui convertissent des objets arbitraires en des " "paramètres de fonction." -#: library/ctypes.rst:1595 +#: library/ctypes.rst:1617 msgid "" "Assign a Python function or another callable to this attribute. The callable " "will be called with three or more arguments:" @@ -2181,7 +2211,7 @@ msgstr "" "Définit une fonction Python ou tout autre appelable qui sera appelé avec " "trois arguments ou plus :" -#: library/ctypes.rst:1602 +#: library/ctypes.rst:1624 msgid "" "*result* is what the foreign function returns, as specified by the :attr:" "`restype` attribute." @@ -2189,7 +2219,7 @@ msgstr "" "*result* est la valeur de retour de la fonction externe, comme défini par " "l'attribut :attr:`restype`." -#: library/ctypes.rst:1605 +#: library/ctypes.rst:1627 msgid "" "*func* is the foreign function object itself, this allows reusing the same " "callable object to check or post process the results of several functions." @@ -2199,7 +2229,7 @@ msgstr "" "plusieurs fonctions ou de faire des actions supplémentaires après leur " "exécution." -#: library/ctypes.rst:1609 +#: library/ctypes.rst:1631 msgid "" "*arguments* is a tuple containing the parameters originally passed to the " "function call, this allows specializing the behavior on the arguments used." @@ -2208,7 +2238,7 @@ msgstr "" "la fonction, ceci permet de spécialiser le comportement des arguments " "utilisés." -#: library/ctypes.rst:1613 +#: library/ctypes.rst:1635 msgid "" "The object that this function returns will be returned from the foreign " "function call, but it can also check the result value and raise an exception " @@ -2218,7 +2248,7 @@ msgstr "" "fonction externe, mais il peut aussi vérifier la valeur du résultat et lever " "une exception si l'appel a échoué." -#: library/ctypes.rst:1620 +#: library/ctypes.rst:1642 msgid "" "This exception is raised when a foreign function call cannot convert one of " "the passed arguments." @@ -2226,13 +2256,13 @@ msgstr "" "Exception levée quand un appel à la fonction externe ne peut pas convertir " "un des arguments qu'elle a reçus." -#: library/ctypes.rst:1624 +#: library/ctypes.rst:1646 msgid "" "Raises an :ref:`auditing event ` ``ctypes.seh_exception`` with " "argument ``code``." msgstr "" -#: library/ctypes.rst:1626 +#: library/ctypes.rst:1648 msgid "" "On Windows, when a foreign function call raises a system exception (for " "example, due to an access violation), it will be captured and replaced with " @@ -2247,7 +2277,7 @@ msgstr "" "permet à un point d'entrée (*hook* en anglais) d'audit de remplacer " "l'exception par une des siennes." -#: library/ctypes.rst:1632 +#: library/ctypes.rst:1654 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``ctypes.call_function`` with " @@ -2257,7 +2287,7 @@ msgstr "" "évènements d'audit ``ctypes.call_function`` avec ``function pointer`` et " "``arguments`` comme arguments." -#: library/ctypes.rst:1634 +#: library/ctypes.rst:1656 msgid "" "Some ways to invoke foreign function calls may raise an auditing event " "``ctypes.call_function`` with arguments ``function pointer`` and " @@ -2267,11 +2297,11 @@ msgstr "" "évènements d'audit ``ctypes.call_function`` avec ``function pointer`` et " "``arguments`` comme arguments." -#: library/ctypes.rst:1640 +#: library/ctypes.rst:1662 msgid "Function prototypes" msgstr "Prototypes de fonction" -#: library/ctypes.rst:1642 +#: library/ctypes.rst:1664 msgid "" "Foreign functions can also be created by instantiating function prototypes. " "Function prototypes are similar to function prototypes in C; they describe a " @@ -2291,7 +2321,7 @@ msgstr "" "``@décorateur``. Ceci est illustré dans la section :ref:`ctypes-callback-" "functions`." -#: library/ctypes.rst:1653 +#: library/ctypes.rst:1675 msgid "" "The returned function prototype creates functions that use the standard C " "calling convention. The function will release the GIL during the call. If " @@ -2305,7 +2335,7 @@ msgstr "" "système :data:`errno` est échangée avec la vraie valeur de :data:`errno` " "avant et après l'appel ; *use_last_error* a le même effet sous Windows." -#: library/ctypes.rst:1663 +#: library/ctypes.rst:1685 #, fuzzy msgid "" "Windows only: The returned function prototype creates functions that use the " @@ -2318,7 +2348,7 @@ msgstr "" "fonctions libèreront le GIL lors de leur exécution. *use_errno* et " "*use_last_error* ont la même signification que ci-dessus." -#: library/ctypes.rst:1671 +#: library/ctypes.rst:1693 msgid "" "The returned function prototype creates functions that use the Python " "calling convention. The function will *not* release the GIL during the call." @@ -2327,7 +2357,7 @@ msgstr "" "convention d'appel Python. Les fonctions ne libèreront *pas* le GIL lors de " "leur exécution." -#: library/ctypes.rst:1674 +#: library/ctypes.rst:1696 msgid "" "Function prototypes created by these factory functions can be instantiated " "in different ways, depending on the type and number of the parameters in the " @@ -2336,20 +2366,20 @@ msgstr "" "Il y a plusieurs façons d'instancier les prototypes de fonction créés par " "ces fabriques, selon le type et le nombre de paramètres de l'appel :" -#: library/ctypes.rst:1682 +#: library/ctypes.rst:1704 msgid "" "Returns a foreign function at the specified address which must be an integer." msgstr "" "Renvoie une fonction externe sur l'adresse donnée sous la forme d'un entier." -#: library/ctypes.rst:1689 +#: library/ctypes.rst:1711 msgid "" "Create a C callable function (a callback function) from a Python *callable*." msgstr "" "Crée une fonction appelable depuis du code C (une fonction de rappel) d'un " "appelable Python donné en paramètre." -#: library/ctypes.rst:1696 +#: library/ctypes.rst:1718 msgid "" "Returns a foreign function exported by a shared library. *func_spec* must be " "a 2-tuple ``(name_or_ordinal, library)``. The first item is the name of the " @@ -2362,7 +2392,7 @@ msgstr "" "indice (dans la table des symboles) à passer comme un entier. Le second " "élément est l'instance de la bibliothèque partagée." -#: library/ctypes.rst:1706 +#: library/ctypes.rst:1728 msgid "" "Returns a foreign function that will call a COM method. *vtbl_index* is the " "index into the virtual function table, a small non-negative integer. *name* " @@ -2375,7 +2405,7 @@ msgstr "" "l'identificateur de plateforme, qui est utilisé dans la remontée d'erreurs " "étendue." -#: library/ctypes.rst:1711 +#: library/ctypes.rst:1733 msgid "" "COM methods use a special calling convention: They require a pointer to the " "COM interface as first argument, in addition to those parameters that are " @@ -2385,7 +2415,7 @@ msgstr "" "de passer un pointeur vers l'interface COM en premier argument, en sus des " "arguments passés dans le *n*-uplet :attr:`argtypes`." -#: library/ctypes.rst:1715 +#: library/ctypes.rst:1737 msgid "" "The optional *paramflags* parameter creates foreign function wrappers with " "much more functionality than the features described above." @@ -2394,11 +2424,11 @@ msgstr "" "avec des fonctionnalités supplémentaires par rapport à celles décrites ci-" "dessus." -#: library/ctypes.rst:1718 +#: library/ctypes.rst:1740 msgid "*paramflags* must be a tuple of the same length as :attr:`argtypes`." msgstr "*paramflags* est un *n*-uplet de la même taille que :attr:`argtypes`." -#: library/ctypes.rst:1720 +#: library/ctypes.rst:1742 msgid "" "Each item in this tuple contains further information about a parameter, it " "must be a tuple containing one, two, or three items." @@ -2407,7 +2437,7 @@ msgstr "" "le paramètre correspondant. Ce doit être aussi un *n*-uplet, avec un, deux " "ou trois éléments." -#: library/ctypes.rst:1723 +#: library/ctypes.rst:1745 msgid "" "The first item is an integer containing a combination of direction flags for " "the parameter:" @@ -2415,31 +2445,31 @@ msgstr "" "Le premier élément est un entier qui contient une combinaison de drapeaux " "qui précisent le sens des paramètres (entrée ou sortie) :" -#: library/ctypes.rst:1727 +#: library/ctypes.rst:1749 msgid "1" msgstr "1" -#: library/ctypes.rst:1727 +#: library/ctypes.rst:1749 msgid "Specifies an input parameter to the function." msgstr "Paramètre d'entrée." -#: library/ctypes.rst:1730 +#: library/ctypes.rst:1752 msgid "2" msgstr "2" -#: library/ctypes.rst:1730 +#: library/ctypes.rst:1752 msgid "Output parameter. The foreign function fills in a value." msgstr "Paramètre de sortie. La fonction externe va modifier cette valeur." -#: library/ctypes.rst:1733 +#: library/ctypes.rst:1755 msgid "4" msgstr "4" -#: library/ctypes.rst:1733 +#: library/ctypes.rst:1755 msgid "Input parameter which defaults to the integer zero." msgstr "Paramètre d'entrée, valant 0 par défaut." -#: library/ctypes.rst:1735 +#: library/ctypes.rst:1757 msgid "" "The optional second item is the parameter name as string. If this is " "specified, the foreign function can be called with named parameters." @@ -2448,12 +2478,12 @@ msgstr "" "nom du paramètre. Si cet élément est donné, la fonction externe pourra être " "appelée avec des paramètres nommés." -#: library/ctypes.rst:1738 +#: library/ctypes.rst:1760 msgid "The optional third item is the default value for this parameter." msgstr "" "Le troisième élément (optionnel) est la valeur par défaut du paramètre." -#: library/ctypes.rst:1740 +#: library/ctypes.rst:1762 msgid "" "This example demonstrates how to wrap the Windows ``MessageBoxW`` function " "so that it supports default parameters and named arguments. The C " @@ -2464,17 +2494,17 @@ msgstr "" "et des arguments nommés. Sa déclaration C dans le fichier d'en-tête des " "fenêtres est ::" -#: library/ctypes.rst:1774 +#: library/ctypes.rst:1796 msgid "Here is the wrapping with :mod:`ctypes`::" msgstr "L'encapsulation :mod:`ctypes` correspondante est alors ::" -#: library/ctypes.rst:1759 +#: library/ctypes.rst:1781 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "" "La fonction ``MessageBox`` peut désormais être appelée des manières " "suivantes ::" -#: library/ctypes.rst:1765 +#: library/ctypes.rst:1787 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -2485,7 +2515,7 @@ msgstr "" "``GetWindowRect`` donne les dimensions d'une fenêtre en les copiant dans une " "structure ``RECT`` que l'appelant doit fournir. Sa déclaration en C est ::" -#: library/ctypes.rst:1783 +#: library/ctypes.rst:1805 msgid "" "Functions with output parameters will automatically return the output " "parameter value if there is a single one, or a tuple containing the output " @@ -2498,7 +2528,7 @@ msgstr "" "fonction *GetWindowRect* renvoie donc une instance de *RECT* quand elle est " "appelée." -#: library/ctypes.rst:1788 +#: library/ctypes.rst:1810 msgid "" "Output parameters can be combined with the :attr:`errcheck` protocol to do " "further output processing and error checking. The win32 ``GetWindowRect`` " @@ -2512,7 +2542,7 @@ msgstr "" "pour indiquer le succès ou l'échec de l'exécution, donc cette fonction peut " "vérifier le résultat et lever une exception quand l'appel à l'API a échoué ::" -#: library/ctypes.rst:1801 +#: library/ctypes.rst:1823 msgid "" "If the :attr:`errcheck` function returns the argument tuple it receives " "unchanged, :mod:`ctypes` continues the normal processing it does on the " @@ -2527,46 +2557,46 @@ msgstr "" "correspondants et les renvoyer en retour. Dans ce cas, l'exécution " "habituelle n'a plus lieu ::" -#: library/ctypes.rst:1820 +#: library/ctypes.rst:1842 msgid "Utility functions" msgstr "Fonctions utilitaires" -#: library/ctypes.rst:1824 +#: library/ctypes.rst:1846 msgid "" "Returns the address of the memory buffer as integer. *obj* must be an " "instance of a ctypes type." msgstr "" -#: library/ctypes.rst:1827 +#: library/ctypes.rst:1849 msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." msgstr "" -#: library/ctypes.rst:1832 +#: library/ctypes.rst:1854 msgid "" "Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " "ctypes type or instance." msgstr "" -#: library/ctypes.rst:1838 +#: library/ctypes.rst:1860 msgid "" "Returns a light-weight pointer to *obj*, which must be an instance of a " "ctypes type. *offset* defaults to zero, and must be an integer that will be " "added to the internal pointer value." msgstr "" -#: library/ctypes.rst:1842 +#: library/ctypes.rst:1864 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "" -#: library/ctypes.rst:1846 +#: library/ctypes.rst:1868 msgid "" "The returned object can only be used as a foreign function call parameter. " "It behaves similar to ``pointer(obj)``, but the construction is a lot faster." msgstr "" -#: library/ctypes.rst:1852 +#: library/ctypes.rst:1874 msgid "" "This function is similar to the cast operator in C. It returns a new " "instance of *type* which points to the same memory block as *obj*. *type* " @@ -2574,19 +2604,19 @@ msgid "" "as a pointer." msgstr "" -#: library/ctypes.rst:1860 +#: library/ctypes.rst:1882 msgid "" "This function creates a mutable character buffer. The returned object is a " "ctypes array of :class:`c_char`." msgstr "" -#: library/ctypes.rst:1863 +#: library/ctypes.rst:1885 msgid "" "*init_or_size* must be an integer which specifies the size of the array, or " "a bytes object which will be used to initialize the array items." msgstr "" -#: library/ctypes.rst:1866 +#: library/ctypes.rst:1888 msgid "" "If a bytes object is specified as first argument, the buffer is made one " "item larger than its length so that the last element in the array is a NUL " @@ -2595,25 +2625,25 @@ msgid "" "not be used." msgstr "" -#: library/ctypes.rst:1871 +#: library/ctypes.rst:1893 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: library/ctypes.rst:1876 +#: library/ctypes.rst:1898 msgid "" "This function creates a mutable unicode character buffer. The returned " "object is a ctypes array of :class:`c_wchar`." msgstr "" -#: library/ctypes.rst:1879 +#: library/ctypes.rst:1901 msgid "" "*init_or_size* must be an integer which specifies the size of the array, or " "a string which will be used to initialize the array items." msgstr "" -#: library/ctypes.rst:1882 +#: library/ctypes.rst:1904 msgid "" "If a string is specified as first argument, the buffer is made one item " "larger than the length of the string so that the last element in the array " @@ -2622,27 +2652,27 @@ msgid "" "should not be used." msgstr "" -#: library/ctypes.rst:1888 +#: library/ctypes.rst:1910 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." msgstr "" -#: library/ctypes.rst:1893 +#: library/ctypes.rst:1915 msgid "" "Windows only: This function is a hook which allows implementing in-process " "COM servers with ctypes. It is called from the DllCanUnloadNow function " "that the _ctypes extension dll exports." msgstr "" -#: library/ctypes.rst:1900 +#: library/ctypes.rst:1922 msgid "" "Windows only: This function is a hook which allows implementing in-process " "COM servers with ctypes. It is called from the DllGetClassObject function " "that the ``_ctypes`` extension dll exports." msgstr "" -#: library/ctypes.rst:1908 +#: library/ctypes.rst:1930 msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " @@ -2650,92 +2680,92 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: library/ctypes.rst:1919 +#: library/ctypes.rst:1941 msgid "" "Windows only: return the filename of the VC runtime library used by Python, " "and by the extension modules. If the name of the library cannot be " "determined, ``None`` is returned." msgstr "" -#: library/ctypes.rst:1923 +#: library/ctypes.rst:1945 msgid "" "If you need to free memory, for example, allocated by an extension module " "with a call to the ``free(void *)``, it is important that you use the " "function in the same library that allocated the memory." msgstr "" -#: library/ctypes.rst:1930 +#: library/ctypes.rst:1952 msgid "" "Windows only: Returns a textual description of the error code *code*. If no " "error code is specified, the last error code is used by calling the Windows " "api function GetLastError." msgstr "" -#: library/ctypes.rst:1937 +#: library/ctypes.rst:1959 msgid "" "Windows only: Returns the last error code set by Windows in the calling " "thread. This function calls the Windows ``GetLastError()`` function " "directly, it does not return the ctypes-private copy of the error code." msgstr "" -#: library/ctypes.rst:1943 +#: library/ctypes.rst:1965 msgid "" "Returns the current value of the ctypes-private copy of the system :data:" "`errno` variable in the calling thread." msgstr "" -#: library/ctypes.rst:1946 +#: library/ctypes.rst:1968 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." msgstr "" -#: library/ctypes.rst:1950 +#: library/ctypes.rst:1972 msgid "" "Windows only: returns the current value of the ctypes-private copy of the " "system :data:`LastError` variable in the calling thread." msgstr "" -#: library/ctypes.rst:1953 +#: library/ctypes.rst:1975 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." msgstr "" -#: library/ctypes.rst:1957 +#: library/ctypes.rst:1979 msgid "" "Same as the standard C memmove library function: copies *count* bytes from " "*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " "can be converted to pointers." msgstr "" -#: library/ctypes.rst:1964 +#: library/ctypes.rst:1986 msgid "" "Same as the standard C memset library function: fills the memory block at " "address *dst* with *count* bytes of value *c*. *dst* must be an integer " "specifying an address, or a ctypes instance." msgstr "" -#: library/ctypes.rst:1971 +#: library/ctypes.rst:1993 msgid "" "This factory function creates and returns a new ctypes pointer type. Pointer " "types are cached and reused internally, so calling this function repeatedly " "is cheap. *type* must be a ctypes type." msgstr "" -#: library/ctypes.rst:1978 +#: library/ctypes.rst:2000 msgid "" "This function creates a new pointer instance, pointing to *obj*. The " "returned object is of the type ``POINTER(type(obj))``." msgstr "" -#: library/ctypes.rst:1981 +#: library/ctypes.rst:2003 msgid "" "Note: If you just want to pass a pointer to an object to a foreign function " "call, you should use ``byref(obj)`` which is much faster." msgstr "" -#: library/ctypes.rst:1987 +#: library/ctypes.rst:2009 msgid "" "This function resizes the internal memory buffer of *obj*, which must be an " "instance of a ctypes type. It is not possible to make the buffer smaller " @@ -2743,51 +2773,51 @@ msgid "" "but it is possible to enlarge the buffer." msgstr "" -#: library/ctypes.rst:1995 +#: library/ctypes.rst:2017 msgid "" "Set the current value of the ctypes-private copy of the system :data:`errno` " "variable in the calling thread to *value* and return the previous value." msgstr "" -#: library/ctypes.rst:1998 +#: library/ctypes.rst:2020 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." msgstr "" -#: library/ctypes.rst:2003 +#: library/ctypes.rst:2025 msgid "" "Windows only: set the current value of the ctypes-private copy of the " "system :data:`LastError` variable in the calling thread to *value* and " "return the previous value." msgstr "" -#: library/ctypes.rst:2007 +#: library/ctypes.rst:2029 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." msgstr "" -#: library/ctypes.rst:2012 +#: library/ctypes.rst:2034 msgid "" "Returns the size in bytes of a ctypes type or instance memory buffer. Does " "the same as the C ``sizeof`` operator." msgstr "" -#: library/ctypes.rst:2018 +#: library/ctypes.rst:2040 msgid "" "This function returns the C string starting at memory address *address* as a " "bytes object. If size is specified, it is used as size, otherwise the string " "is assumed to be zero-terminated." msgstr "" -#: library/ctypes.rst:2022 +#: library/ctypes.rst:2044 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``address``, ``size``." msgstr "" -#: library/ctypes.rst:2027 +#: library/ctypes.rst:2049 msgid "" "Windows only: this function is probably the worst-named thing in ctypes. It " "creates an instance of OSError. If *code* is not specified, " @@ -2796,11 +2826,11 @@ msgid "" "error." msgstr "" -#: library/ctypes.rst:2033 +#: library/ctypes.rst:2055 msgid "An instance of :exc:`WindowsError` used to be created." msgstr "" -#: library/ctypes.rst:2039 +#: library/ctypes.rst:2061 msgid "" "This function returns the wide character string starting at memory address " "*address* as a string. If *size* is specified, it is used as the number of " @@ -2808,17 +2838,17 @@ msgid "" "terminated." msgstr "" -#: library/ctypes.rst:2044 +#: library/ctypes.rst:2066 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``address``, ``size``." msgstr "" -#: library/ctypes.rst:2050 +#: library/ctypes.rst:2072 msgid "Data types" msgstr "Types de données" -#: library/ctypes.rst:2055 +#: library/ctypes.rst:2077 msgid "" "This non-public class is the common base class of all ctypes data types. " "Among other things, all ctypes type instances contain a memory block that " @@ -2828,13 +2858,13 @@ msgid "" "alive in case the memory block contains pointers." msgstr "" -#: library/ctypes.rst:2062 +#: library/ctypes.rst:2084 msgid "" "Common methods of ctypes data types, these are all class methods (to be " "exact, they are methods of the :term:`metaclass`):" msgstr "" -#: library/ctypes.rst:2067 +#: library/ctypes.rst:2089 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " @@ -2843,13 +2873,13 @@ msgid "" "exc:`ValueError` is raised." msgstr "" -#: library/ctypes.rst:2083 +#: library/ctypes.rst:2105 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." msgstr "" -#: library/ctypes.rst:2077 +#: library/ctypes.rst:2099 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -2857,25 +2887,25 @@ msgid "" "If the source buffer is not large enough a :exc:`ValueError` is raised." msgstr "" -#: library/ctypes.rst:2087 +#: library/ctypes.rst:2109 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." msgstr "" -#: library/ctypes.rst:2090 +#: library/ctypes.rst:2112 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata`` with argument " "``address``." msgstr "" -#: library/ctypes.rst:2092 +#: library/ctypes.rst:2114 msgid "" "This method, and others that indirectly call this method, raises an :ref:" "`auditing event ` ``ctypes.cdata`` with argument ``address``." msgstr "" -#: library/ctypes.rst:2098 +#: library/ctypes.rst:2120 msgid "" "This method adapts *obj* to a ctypes type. It is called with the actual " "object used in a foreign function call when the type is present in the " @@ -2883,25 +2913,25 @@ msgid "" "be used as a function call parameter." msgstr "" -#: library/ctypes.rst:2103 +#: library/ctypes.rst:2125 msgid "" "All ctypes data types have a default implementation of this classmethod that " "normally returns *obj* if that is an instance of the type. Some types " "accept other objects as well." msgstr "" -#: library/ctypes.rst:2109 +#: library/ctypes.rst:2131 msgid "" "This method returns a ctypes type instance exported by a shared library. " "*name* is the name of the symbol that exports the data, *library* is the " "loaded shared library." msgstr "" -#: library/ctypes.rst:2113 +#: library/ctypes.rst:2135 msgid "Common instance variables of ctypes data types:" msgstr "" -#: library/ctypes.rst:2117 +#: library/ctypes.rst:2139 msgid "" "Sometimes ctypes data instances do not own the memory block they contain, " "instead they share part of the memory block of a base object. The :attr:" @@ -2909,13 +2939,13 @@ msgid "" "block." msgstr "" -#: library/ctypes.rst:2124 +#: library/ctypes.rst:2146 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." msgstr "" -#: library/ctypes.rst:2129 +#: library/ctypes.rst:2151 msgid "" "This member is either ``None`` or a dictionary containing Python objects " "that need to be kept alive so that the memory block contents is kept valid. " @@ -2923,7 +2953,7 @@ msgid "" "dictionary." msgstr "" -#: library/ctypes.rst:2142 +#: library/ctypes.rst:2164 msgid "" "This non-public class is the base class of all fundamental ctypes data " "types. It is mentioned here because it contains the common attributes of the " @@ -2932,11 +2962,11 @@ msgid "" "types that are not and do not contain pointers can now be pickled." msgstr "" -#: library/ctypes.rst:2148 +#: library/ctypes.rst:2170 msgid "Instances have a single attribute:" msgstr "" -#: library/ctypes.rst:2152 +#: library/ctypes.rst:2174 msgid "" "This attribute contains the actual value of the instance. For integer and " "pointer types, it is an integer, for character types, it is a single " @@ -2944,7 +2974,7 @@ msgid "" "bytes object or string." msgstr "" -#: library/ctypes.rst:2157 +#: library/ctypes.rst:2179 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`ctypes` does *not* implement " @@ -2952,7 +2982,7 @@ msgid "" "true for all other ctypes object instances." msgstr "" -#: library/ctypes.rst:2163 +#: library/ctypes.rst:2185 msgid "" "Fundamental data types, when returned as foreign function call results, or, " "for example, by retrieving structure field members or array items, are " @@ -2961,7 +2991,7 @@ msgid "" "receive a Python bytes object, *not* a :class:`c_char_p` instance." msgstr "" -#: library/ctypes.rst:2171 +#: library/ctypes.rst:2193 msgid "" "Subclasses of fundamental data types do *not* inherit this behavior. So, if " "a foreign functions :attr:`restype` is a subclass of :class:`c_void_p`, you " @@ -2969,25 +2999,25 @@ msgid "" "you can get the value of the pointer by accessing the ``value`` attribute." msgstr "" -#: library/ctypes.rst:2176 +#: library/ctypes.rst:2198 msgid "These are the fundamental ctypes data types:" msgstr "" -#: library/ctypes.rst:2180 +#: library/ctypes.rst:2202 msgid "" "Represents the C :c:expr:`signed char` datatype, and interprets the value as " "small integer. The constructor accepts an optional integer initializer; no " "overflow checking is done." msgstr "" -#: library/ctypes.rst:2187 +#: library/ctypes.rst:2209 msgid "" "Represents the C :c:expr:`char` datatype, and interprets the value as a " "single character. The constructor accepts an optional string initializer, " "the length of the string must be exactly one character." msgstr "" -#: library/ctypes.rst:2194 +#: library/ctypes.rst:2216 msgid "" "Represents the C :c:expr:`char *` datatype when it points to a zero-" "terminated string. For a general character pointer that may also point to " @@ -2995,178 +3025,178 @@ msgid "" "integer address, or a bytes object." msgstr "" -#: library/ctypes.rst:2202 +#: library/ctypes.rst:2224 msgid "" "Represents the C :c:expr:`double` datatype. The constructor accepts an " "optional float initializer." msgstr "" -#: library/ctypes.rst:2208 +#: library/ctypes.rst:2230 msgid "" "Represents the C :c:expr:`long double` datatype. The constructor accepts an " "optional float initializer. On platforms where ``sizeof(long double) == " "sizeof(double)`` it is an alias to :class:`c_double`." msgstr "" -#: library/ctypes.rst:2214 +#: library/ctypes.rst:2236 msgid "" "Represents the C :c:expr:`float` datatype. The constructor accepts an " "optional float initializer." msgstr "" -#: library/ctypes.rst:2220 +#: library/ctypes.rst:2242 msgid "" "Represents the C :c:expr:`signed int` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done. On platforms " "where ``sizeof(int) == sizeof(long)`` it is an alias to :class:`c_long`." msgstr "" -#: library/ctypes.rst:2227 +#: library/ctypes.rst:2249 msgid "" "Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :" "class:`c_byte`." msgstr "" -#: library/ctypes.rst:2233 +#: library/ctypes.rst:2255 msgid "" "Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_short`." msgstr "" -#: library/ctypes.rst:2239 +#: library/ctypes.rst:2261 msgid "" "Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_int`." msgstr "" -#: library/ctypes.rst:2245 +#: library/ctypes.rst:2267 msgid "" "Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_longlong`." msgstr "" -#: library/ctypes.rst:2251 +#: library/ctypes.rst:2273 msgid "" "Represents the C :c:expr:`signed long` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done." msgstr "" -#: library/ctypes.rst:2257 +#: library/ctypes.rst:2279 msgid "" "Represents the C :c:expr:`signed long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." msgstr "" -#: library/ctypes.rst:2263 +#: library/ctypes.rst:2285 msgid "" "Represents the C :c:expr:`signed short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: library/ctypes.rst:2269 +#: library/ctypes.rst:2291 msgid "Represents the C :c:type:`size_t` datatype." msgstr "" -#: library/ctypes.rst:2274 +#: library/ctypes.rst:2296 msgid "Represents the C :c:type:`ssize_t` datatype." msgstr "" -#: library/ctypes.rst:2281 +#: library/ctypes.rst:2303 msgid "" "Represents the C :c:expr:`unsigned char` datatype, it interprets the value " "as small integer. The constructor accepts an optional integer initializer; " "no overflow checking is done." msgstr "" -#: library/ctypes.rst:2288 +#: library/ctypes.rst:2310 msgid "" "Represents the C :c:expr:`unsigned int` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done. On platforms " "where ``sizeof(int) == sizeof(long)`` it is an alias for :class:`c_ulong`." msgstr "" -#: library/ctypes.rst:2295 +#: library/ctypes.rst:2317 msgid "" "Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ubyte`." msgstr "" -#: library/ctypes.rst:2301 +#: library/ctypes.rst:2323 msgid "" "Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ushort`." msgstr "" -#: library/ctypes.rst:2307 +#: library/ctypes.rst:2329 msgid "" "Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_uint`." msgstr "" -#: library/ctypes.rst:2313 +#: library/ctypes.rst:2335 msgid "" "Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ulonglong`." msgstr "" -#: library/ctypes.rst:2319 +#: library/ctypes.rst:2341 msgid "" "Represents the C :c:expr:`unsigned long` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: library/ctypes.rst:2325 +#: library/ctypes.rst:2347 msgid "" "Represents the C :c:expr:`unsigned long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." msgstr "" -#: library/ctypes.rst:2331 +#: library/ctypes.rst:2353 msgid "" "Represents the C :c:expr:`unsigned short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: library/ctypes.rst:2337 +#: library/ctypes.rst:2359 msgid "" "Represents the C :c:expr:`void *` type. The value is represented as " "integer. The constructor accepts an optional integer initializer." msgstr "" -#: library/ctypes.rst:2343 +#: library/ctypes.rst:2365 msgid "" "Represents the C :c:expr:`wchar_t` datatype, and interprets the value as a " "single character unicode string. The constructor accepts an optional string " "initializer, the length of the string must be exactly one character." msgstr "" -#: library/ctypes.rst:2350 +#: library/ctypes.rst:2372 msgid "" "Represents the C :c:expr:`wchar_t *` datatype, which must be a pointer to a " "zero-terminated wide character string. The constructor accepts an integer " "address, or a string." msgstr "" -#: library/ctypes.rst:2357 +#: library/ctypes.rst:2379 msgid "" "Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` " "from C99). Its value can be ``True`` or ``False``, and the constructor " "accepts any object that has a truth value." msgstr "" -#: library/ctypes.rst:2364 +#: library/ctypes.rst:2386 msgid "" "Windows only: Represents a :c:type:`HRESULT` value, which contains success " "or error information for a function or method call." msgstr "" -#: library/ctypes.rst:2370 +#: library/ctypes.rst:2392 msgid "" "Represents the C :c:expr:`PyObject *` datatype. Calling this without an " "argument creates a ``NULL`` :c:expr:`PyObject *` pointer." msgstr "" -#: library/ctypes.rst:2373 +#: library/ctypes.rst:2395 msgid "" "The :mod:`ctypes.wintypes` module provides quite some other Windows specific " "data types, for example :c:type:`HWND`, :c:type:`WPARAM`, or :c:type:" @@ -3174,33 +3204,33 @@ msgid "" "also defined." msgstr "" -#: library/ctypes.rst:2381 +#: library/ctypes.rst:2403 msgid "Structured data types" msgstr "Types de données dérivés de Structure" -#: library/ctypes.rst:2386 +#: library/ctypes.rst:2408 msgid "Abstract base class for unions in native byte order." msgstr "" -#: library/ctypes.rst:2391 +#: library/ctypes.rst:2413 msgid "Abstract base class for structures in *big endian* byte order." msgstr "" -#: library/ctypes.rst:2396 +#: library/ctypes.rst:2418 msgid "Abstract base class for structures in *little endian* byte order." msgstr "" -#: library/ctypes.rst:2398 +#: library/ctypes.rst:2420 msgid "" "Structures with non-native byte order cannot contain pointer type fields, or " "any other data types containing pointer type fields." msgstr "" -#: library/ctypes.rst:2404 +#: library/ctypes.rst:2426 msgid "Abstract base class for structures in *native* byte order." msgstr "" -#: library/ctypes.rst:2406 +#: library/ctypes.rst:2428 msgid "" "Concrete structure and union types must be created by subclassing one of " "these types, and at least define a :attr:`_fields_` class variable. :mod:" @@ -3208,34 +3238,34 @@ msgid "" "the fields by direct attribute accesses. These are the" msgstr "" -#: library/ctypes.rst:2414 +#: library/ctypes.rst:2436 msgid "" "A sequence defining the structure fields. The items must be 2-tuples or 3-" "tuples. The first item is the name of the field, the second item specifies " "the type of the field; it can be any ctypes data type." msgstr "" -#: library/ctypes.rst:2418 +#: library/ctypes.rst:2440 msgid "" "For integer type fields like :class:`c_int`, a third optional item can be " "given. It must be a small positive integer defining the bit width of the " "field." msgstr "" -#: library/ctypes.rst:2422 +#: library/ctypes.rst:2444 msgid "" "Field names must be unique within one structure or union. This is not " "checked, only one field can be accessed when names are repeated." msgstr "" -#: library/ctypes.rst:2425 +#: library/ctypes.rst:2447 msgid "" "It is possible to define the :attr:`_fields_` class variable *after* the " "class statement that defines the Structure subclass, this allows creating " "data types that directly or indirectly reference themselves::" msgstr "" -#: library/ctypes.rst:2435 +#: library/ctypes.rst:2457 msgid "" "The :attr:`_fields_` class variable must, however, be defined before the " "type is first used (an instance is created, :func:`sizeof` is called on it, " @@ -3243,28 +3273,28 @@ msgid "" "raise an AttributeError." msgstr "" -#: library/ctypes.rst:2440 +#: library/ctypes.rst:2462 msgid "" "It is possible to define sub-subclasses of structure types, they inherit the " "fields of the base class plus the :attr:`_fields_` defined in the sub-" "subclass, if any." msgstr "" -#: library/ctypes.rst:2447 +#: library/ctypes.rst:2469 msgid "" "An optional small integer that allows overriding the alignment of structure " "fields in the instance. :attr:`_pack_` must already be defined when :attr:" "`_fields_` is assigned, otherwise it will have no effect." msgstr "" -#: library/ctypes.rst:2454 +#: library/ctypes.rst:2476 msgid "" "An optional sequence that lists the names of unnamed (anonymous) fields. :" "attr:`_anonymous_` must be already defined when :attr:`_fields_` is " "assigned, otherwise it will have no effect." msgstr "" -#: library/ctypes.rst:2458 +#: library/ctypes.rst:2480 msgid "" "The fields listed in this variable must be structure or union type fields. :" "mod:`ctypes` will create descriptors in the structure type that allows " @@ -3272,11 +3302,11 @@ msgid "" "structure or union field." msgstr "" -#: library/ctypes.rst:2463 +#: library/ctypes.rst:2485 msgid "Here is an example type (Windows)::" msgstr "" -#: library/ctypes.rst:2476 +#: library/ctypes.rst:2498 msgid "" "The ``TYPEDESC`` structure describes a COM data type, the ``vt`` field " "specifies which one of the union fields is valid. Since the ``u`` field is " @@ -3286,7 +3316,7 @@ msgid "" "temporary union instance::" msgstr "" -#: library/ctypes.rst:2488 +#: library/ctypes.rst:2510 msgid "" "It is possible to define sub-subclasses of structures, they inherit the " "fields of the base class. If the subclass definition has a separate :attr:" @@ -3294,7 +3324,7 @@ msgid "" "of the base class." msgstr "" -#: library/ctypes.rst:2493 +#: library/ctypes.rst:2515 msgid "" "Structure and union constructors accept both positional and keyword " "arguments. Positional arguments are used to initialize member fields in the " @@ -3304,15 +3334,15 @@ msgid "" "names not present in :attr:`_fields_`." msgstr "" -#: library/ctypes.rst:2504 +#: library/ctypes.rst:2526 msgid "Arrays and pointers" msgstr "Tableaux et pointeurs" -#: library/ctypes.rst:2508 +#: library/ctypes.rst:2530 msgid "Abstract base class for arrays." msgstr "Classe de base abstraite pour les *arrays*." -#: library/ctypes.rst:2510 +#: library/ctypes.rst:2532 msgid "" "The recommended way to create concrete array types is by multiplying any :" "mod:`ctypes` data type with a non-negative integer. Alternatively, you can " @@ -3322,34 +3352,34 @@ msgid "" "an :class:`Array`." msgstr "" -#: library/ctypes.rst:2520 +#: library/ctypes.rst:2542 msgid "" "A positive integer specifying the number of elements in the array. Out-of-" "range subscripts result in an :exc:`IndexError`. Will be returned by :func:" "`len`." msgstr "" -#: library/ctypes.rst:2527 +#: library/ctypes.rst:2549 msgid "Specifies the type of each element in the array." msgstr "Spécifie le type de chaque élément de l'*array*." -#: library/ctypes.rst:2530 +#: library/ctypes.rst:2552 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." msgstr "" -#: library/ctypes.rst:2536 +#: library/ctypes.rst:2558 msgid "Private, abstract base class for pointers." msgstr "" -#: library/ctypes.rst:2538 +#: library/ctypes.rst:2560 msgid "" "Concrete pointer types are created by calling :func:`POINTER` with the type " "that will be pointed to; this is done automatically by :func:`pointer`." msgstr "" -#: library/ctypes.rst:2542 +#: library/ctypes.rst:2564 msgid "" "If a pointer points to an array, its elements can be read and written using " "standard subscript and slice accesses. Pointer objects have no size, so :" @@ -3358,11 +3388,11 @@ msgid "" "probably crash with an access violation (if you're lucky)." msgstr "" -#: library/ctypes.rst:2552 +#: library/ctypes.rst:2574 msgid "Specifies the type pointed to." msgstr "" -#: library/ctypes.rst:2556 +#: library/ctypes.rst:2578 msgid "" "Returns the object to which to pointer points. Assigning to this attribute " "changes the pointer to point to the assigned object." diff --git a/library/curses.ascii.po b/library/curses.ascii.po index 959ec2f3cb..50fa3ed644 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -18,435 +18,439 @@ msgstr "" msgid ":mod:`curses.ascii` --- Utilities for ASCII characters" msgstr "" -#: library/curses.ascii.rst:12 +#: library/curses.ascii.rst:10 +msgid "**Source code:** :source:`Lib/curses/ascii.py`" +msgstr "" + +#: library/curses.ascii.rst:14 msgid "" "The :mod:`curses.ascii` module supplies name constants for ASCII characters " "and functions to test membership in various ASCII character classes. The " "constants supplied are names for control characters as follows:" msgstr "" -#: library/curses.ascii.rst:17 +#: library/curses.ascii.rst:19 msgid "Name" msgstr "Nom" -#: library/curses.ascii.rst:17 +#: library/curses.ascii.rst:19 msgid "Meaning" msgstr "Signification" -#: library/curses.ascii.rst:19 +#: library/curses.ascii.rst:21 msgid ":const:`NUL`" msgstr ":const:`NUL`" -#: library/curses.ascii.rst:21 +#: library/curses.ascii.rst:23 msgid ":const:`SOH`" msgstr ":const:`SOH`" -#: library/curses.ascii.rst:21 +#: library/curses.ascii.rst:23 msgid "Start of heading, console interrupt" msgstr "" -#: library/curses.ascii.rst:23 +#: library/curses.ascii.rst:25 msgid ":const:`STX`" msgstr ":const:`STX`" -#: library/curses.ascii.rst:23 +#: library/curses.ascii.rst:25 msgid "Start of text" msgstr "" -#: library/curses.ascii.rst:25 +#: library/curses.ascii.rst:27 msgid ":const:`ETX`" msgstr ":const:`ETX`" -#: library/curses.ascii.rst:25 +#: library/curses.ascii.rst:27 msgid "End of text" msgstr "" -#: library/curses.ascii.rst:27 +#: library/curses.ascii.rst:29 msgid ":const:`EOT`" msgstr ":const:`EOT`" -#: library/curses.ascii.rst:27 +#: library/curses.ascii.rst:29 msgid "End of transmission" msgstr "" -#: library/curses.ascii.rst:29 +#: library/curses.ascii.rst:31 msgid ":const:`ENQ`" msgstr ":const:`ENQ`" -#: library/curses.ascii.rst:29 +#: library/curses.ascii.rst:31 msgid "Enquiry, goes with :const:`ACK` flow control" msgstr "" -#: library/curses.ascii.rst:31 +#: library/curses.ascii.rst:33 msgid ":const:`ACK`" msgstr ":const:`ACK`" -#: library/curses.ascii.rst:31 +#: library/curses.ascii.rst:33 #, fuzzy msgid "Acknowledgement" msgstr "Remerciements" -#: library/curses.ascii.rst:33 +#: library/curses.ascii.rst:35 msgid ":const:`BEL`" msgstr ":const:`BEL`" -#: library/curses.ascii.rst:33 +#: library/curses.ascii.rst:35 msgid "Bell" msgstr "" -#: library/curses.ascii.rst:35 +#: library/curses.ascii.rst:37 msgid ":const:`BS`" msgstr ":const:`BS`" -#: library/curses.ascii.rst:35 +#: library/curses.ascii.rst:37 msgid "Backspace" msgstr "" -#: library/curses.ascii.rst:37 +#: library/curses.ascii.rst:39 msgid ":const:`TAB`" msgstr ":const:`TAB`" -#: library/curses.ascii.rst:37 +#: library/curses.ascii.rst:39 msgid "Tab" msgstr "" -#: library/curses.ascii.rst:39 +#: library/curses.ascii.rst:41 msgid ":const:`HT`" msgstr ":const:`HT`" -#: library/curses.ascii.rst:39 +#: library/curses.ascii.rst:41 msgid "Alias for :const:`TAB`: \"Horizontal tab\"" msgstr "" -#: library/curses.ascii.rst:41 +#: library/curses.ascii.rst:43 msgid ":const:`LF`" msgstr ":const:`LF`" -#: library/curses.ascii.rst:41 +#: library/curses.ascii.rst:43 msgid "Line feed" msgstr "" -#: library/curses.ascii.rst:43 +#: library/curses.ascii.rst:45 msgid ":const:`NL`" msgstr ":const:`NL`" -#: library/curses.ascii.rst:43 +#: library/curses.ascii.rst:45 msgid "Alias for :const:`LF`: \"New line\"" msgstr "" -#: library/curses.ascii.rst:45 +#: library/curses.ascii.rst:47 msgid ":const:`VT`" msgstr ":const:`VT`" -#: library/curses.ascii.rst:45 +#: library/curses.ascii.rst:47 msgid "Vertical tab" msgstr "" -#: library/curses.ascii.rst:47 +#: library/curses.ascii.rst:49 msgid ":const:`FF`" msgstr ":const:`FF`" -#: library/curses.ascii.rst:47 +#: library/curses.ascii.rst:49 msgid "Form feed" msgstr "" -#: library/curses.ascii.rst:49 +#: library/curses.ascii.rst:51 msgid ":const:`CR`" msgstr ":const:`CR`" -#: library/curses.ascii.rst:49 +#: library/curses.ascii.rst:51 msgid "Carriage return" msgstr "Retour chariot" -#: library/curses.ascii.rst:51 +#: library/curses.ascii.rst:53 msgid ":const:`SO`" msgstr ":const:`SO`" -#: library/curses.ascii.rst:51 +#: library/curses.ascii.rst:53 msgid "Shift-out, begin alternate character set" msgstr "" -#: library/curses.ascii.rst:53 +#: library/curses.ascii.rst:55 msgid ":const:`SI`" msgstr ":const:`SI`" -#: library/curses.ascii.rst:53 +#: library/curses.ascii.rst:55 msgid "Shift-in, resume default character set" msgstr "" -#: library/curses.ascii.rst:55 +#: library/curses.ascii.rst:57 msgid ":const:`DLE`" msgstr ":const:`DLE`" -#: library/curses.ascii.rst:55 +#: library/curses.ascii.rst:57 msgid "Data-link escape" msgstr "" -#: library/curses.ascii.rst:57 +#: library/curses.ascii.rst:59 msgid ":const:`DC1`" msgstr ":const:`DC1`" -#: library/curses.ascii.rst:57 +#: library/curses.ascii.rst:59 msgid "XON, for flow control" msgstr "" -#: library/curses.ascii.rst:59 +#: library/curses.ascii.rst:61 msgid ":const:`DC2`" msgstr ":const:`DC2`" -#: library/curses.ascii.rst:59 +#: library/curses.ascii.rst:61 msgid "Device control 2, block-mode flow control" msgstr "" -#: library/curses.ascii.rst:61 +#: library/curses.ascii.rst:63 msgid ":const:`DC3`" msgstr ":const:`DC3`" -#: library/curses.ascii.rst:61 +#: library/curses.ascii.rst:63 msgid "XOFF, for flow control" msgstr "" -#: library/curses.ascii.rst:63 +#: library/curses.ascii.rst:65 msgid ":const:`DC4`" msgstr ":const:`DC4`" -#: library/curses.ascii.rst:63 +#: library/curses.ascii.rst:65 msgid "Device control 4" msgstr "" -#: library/curses.ascii.rst:65 +#: library/curses.ascii.rst:67 msgid ":const:`NAK`" msgstr ":const:`NAK`" -#: library/curses.ascii.rst:65 +#: library/curses.ascii.rst:67 msgid "Negative acknowledgement" msgstr "" -#: library/curses.ascii.rst:67 +#: library/curses.ascii.rst:69 msgid ":const:`SYN`" msgstr ":const:`SYN`" -#: library/curses.ascii.rst:67 +#: library/curses.ascii.rst:69 msgid "Synchronous idle" msgstr "" -#: library/curses.ascii.rst:69 +#: library/curses.ascii.rst:71 msgid ":const:`ETB`" msgstr ":const:`ETB`" -#: library/curses.ascii.rst:69 +#: library/curses.ascii.rst:71 msgid "End transmission block" msgstr "" -#: library/curses.ascii.rst:71 +#: library/curses.ascii.rst:73 msgid ":const:`CAN`" msgstr ":const:`CAN`" -#: library/curses.ascii.rst:71 +#: library/curses.ascii.rst:73 msgid "Cancel" msgstr "" -#: library/curses.ascii.rst:73 +#: library/curses.ascii.rst:75 msgid ":const:`EM`" msgstr ":const:`EM`" -#: library/curses.ascii.rst:73 +#: library/curses.ascii.rst:75 msgid "End of medium" msgstr "" -#: library/curses.ascii.rst:75 +#: library/curses.ascii.rst:77 msgid ":const:`SUB`" msgstr ":const:`SUB`" -#: library/curses.ascii.rst:75 +#: library/curses.ascii.rst:77 msgid "Substitute" msgstr "" -#: library/curses.ascii.rst:77 +#: library/curses.ascii.rst:79 msgid ":const:`ESC`" msgstr ":const:`ESC`" -#: library/curses.ascii.rst:77 +#: library/curses.ascii.rst:79 msgid "Escape" msgstr "" -#: library/curses.ascii.rst:79 +#: library/curses.ascii.rst:81 msgid ":const:`FS`" msgstr ":const:`FS`" -#: library/curses.ascii.rst:79 +#: library/curses.ascii.rst:81 msgid "File separator" msgstr "Séparateur de fichiers" -#: library/curses.ascii.rst:81 +#: library/curses.ascii.rst:83 msgid ":const:`GS`" msgstr ":const:`GS`" -#: library/curses.ascii.rst:81 +#: library/curses.ascii.rst:83 msgid "Group separator" msgstr "Séparateur de groupe" -#: library/curses.ascii.rst:83 +#: library/curses.ascii.rst:85 msgid ":const:`RS`" msgstr ":const:`RS`" -#: library/curses.ascii.rst:83 +#: library/curses.ascii.rst:85 msgid "Record separator, block-mode terminator" msgstr "" -#: library/curses.ascii.rst:85 +#: library/curses.ascii.rst:87 msgid ":const:`US`" msgstr ":const:`US`" -#: library/curses.ascii.rst:85 +#: library/curses.ascii.rst:87 msgid "Unit separator" msgstr "" -#: library/curses.ascii.rst:87 +#: library/curses.ascii.rst:89 msgid ":const:`SP`" msgstr ":const:`SP`" -#: library/curses.ascii.rst:87 +#: library/curses.ascii.rst:89 msgid "Space" msgstr "" -#: library/curses.ascii.rst:89 +#: library/curses.ascii.rst:91 msgid ":const:`DEL`" msgstr ":const:`DEL`" -#: library/curses.ascii.rst:89 +#: library/curses.ascii.rst:91 msgid "Delete" msgstr "" -#: library/curses.ascii.rst:92 +#: library/curses.ascii.rst:94 msgid "" "Note that many of these have little practical significance in modern usage. " "The mnemonics derive from teleprinter conventions that predate digital " "computers." msgstr "" -#: library/curses.ascii.rst:95 +#: library/curses.ascii.rst:97 msgid "" "The module supplies the following functions, patterned on those in the " "standard C library:" msgstr "" -#: library/curses.ascii.rst:101 +#: library/curses.ascii.rst:103 msgid "" "Checks for an ASCII alphanumeric character; it is equivalent to ``isalpha(c) " "or isdigit(c)``." msgstr "" -#: library/curses.ascii.rst:107 +#: library/curses.ascii.rst:109 msgid "" "Checks for an ASCII alphabetic character; it is equivalent to ``isupper(c) " "or islower(c)``." msgstr "" -#: library/curses.ascii.rst:113 +#: library/curses.ascii.rst:115 msgid "Checks for a character value that fits in the 7-bit ASCII set." msgstr "" -#: library/curses.ascii.rst:118 +#: library/curses.ascii.rst:120 msgid "Checks for an ASCII whitespace character; space or horizontal tab." msgstr "" -#: library/curses.ascii.rst:123 +#: library/curses.ascii.rst:125 msgid "" "Checks for an ASCII control character (in the range 0x00 to 0x1f or 0x7f)." msgstr "" -#: library/curses.ascii.rst:128 +#: library/curses.ascii.rst:130 msgid "" "Checks for an ASCII decimal digit, ``'0'`` through ``'9'``. This is " "equivalent to ``c in string.digits``." msgstr "" -#: library/curses.ascii.rst:134 +#: library/curses.ascii.rst:136 msgid "Checks for ASCII any printable character except space." msgstr "" -#: library/curses.ascii.rst:139 +#: library/curses.ascii.rst:141 msgid "Checks for an ASCII lower-case character." msgstr "" -#: library/curses.ascii.rst:144 +#: library/curses.ascii.rst:146 msgid "Checks for any ASCII printable character including space." msgstr "" -#: library/curses.ascii.rst:149 +#: library/curses.ascii.rst:151 msgid "" "Checks for any printable ASCII character which is not a space or an " "alphanumeric character." msgstr "" -#: library/curses.ascii.rst:155 +#: library/curses.ascii.rst:157 msgid "" "Checks for ASCII white-space characters; space, line feed, carriage return, " "form feed, horizontal tab, vertical tab." msgstr "" -#: library/curses.ascii.rst:161 +#: library/curses.ascii.rst:163 msgid "Checks for an ASCII uppercase letter." msgstr "" -#: library/curses.ascii.rst:166 +#: library/curses.ascii.rst:168 msgid "" "Checks for an ASCII hexadecimal digit. This is equivalent to ``c in string." "hexdigits``." msgstr "" -#: library/curses.ascii.rst:172 +#: library/curses.ascii.rst:174 msgid "Checks for an ASCII control character (ordinal values 0 to 31)." msgstr "" -#: library/curses.ascii.rst:177 +#: library/curses.ascii.rst:179 msgid "Checks for a non-ASCII character (ordinal values 0x80 and above)." msgstr "" -#: library/curses.ascii.rst:179 +#: library/curses.ascii.rst:181 msgid "" "These functions accept either integers or single-character strings; when the " "argument is a string, it is first converted using the built-in function :" "func:`ord`." msgstr "" -#: library/curses.ascii.rst:182 +#: library/curses.ascii.rst:184 msgid "" "Note that all these functions check ordinal bit values derived from the " "character of the string you pass in; they do not actually know anything " "about the host machine's character encoding." msgstr "" -#: library/curses.ascii.rst:186 +#: library/curses.ascii.rst:188 msgid "" "The following two functions take either a single-character string or integer " "byte value; they return a value of the same type." msgstr "" -#: library/curses.ascii.rst:192 +#: library/curses.ascii.rst:194 msgid "Return the ASCII value corresponding to the low 7 bits of *c*." msgstr "" -#: library/curses.ascii.rst:197 +#: library/curses.ascii.rst:199 msgid "" "Return the control character corresponding to the given character (the " "character bit value is bitwise-anded with 0x1f)." msgstr "" -#: library/curses.ascii.rst:203 +#: library/curses.ascii.rst:205 msgid "" "Return the 8-bit character corresponding to the given ASCII character (the " "character bit value is bitwise-ored with 0x80)." msgstr "" -#: library/curses.ascii.rst:206 +#: library/curses.ascii.rst:208 msgid "" "The following function takes either a single-character string or integer " "value; it returns a string." msgstr "" -#: library/curses.ascii.rst:216 +#: library/curses.ascii.rst:218 msgid "" "Return a string representation of the ASCII character *c*. If *c* is " "printable, this string is the character itself. If the character is a " @@ -457,7 +461,7 @@ msgid "" "``'!'`` prepended to the result." msgstr "" -#: library/curses.ascii.rst:226 +#: library/curses.ascii.rst:228 msgid "" "A 33-element string array that contains the ASCII mnemonics for the thirty-" "two ASCII control characters from 0 (NUL) to 0x1f (US), in order, plus the " diff --git a/library/curses.po b/library/curses.po index 30305922fa..d24ce982f5 100644 --- a/library/curses.po +++ b/library/curses.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-07-04 11:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -19,13 +19,17 @@ msgstr "" msgid ":mod:`curses` --- Terminal handling for character-cell displays" msgstr "" -#: library/curses.rst:14 +#: library/curses.rst:12 +msgid "**Source code:** :source:`Lib/curses`" +msgstr "" + +#: library/curses.rst:16 msgid "" "The :mod:`curses` module provides an interface to the curses library, the de-" "facto standard for portable advanced terminal handling." msgstr "" -#: library/curses.rst:17 +#: library/curses.rst:19 msgid "" "While curses is most widely used in the Unix environment, versions are " "available for Windows, DOS, and possibly other systems as well. This " @@ -33,19 +37,19 @@ msgid "" "curses library hosted on Linux and the BSD variants of Unix." msgstr "" -#: library/curses.rst:24 +#: library/curses.rst:26 msgid "" "Whenever the documentation mentions a *character* it can be specified as an " "integer, a one-character Unicode string or a one-byte byte string." msgstr "" -#: library/curses.rst:27 +#: library/curses.rst:29 msgid "" "Whenever the documentation mentions a *character string* it can be specified " "as a Unicode string or a byte string." msgstr "" -#: library/curses.rst:32 +#: library/curses.rst:34 msgid "" "Since version 5.4, the ncurses library decides how to interpret non-ASCII " "data using the ``nl_langinfo`` function. That means that you have to call :" @@ -54,79 +58,79 @@ msgid "" "default encoding::" msgstr "" -#: library/curses.rst:42 +#: library/curses.rst:44 msgid "Then use *code* as the encoding for :meth:`str.encode` calls." msgstr "" -#: library/curses.rst:47 +#: library/curses.rst:49 msgid "Module :mod:`curses.ascii`" msgstr "Module :mod:`curses.ascii`" -#: library/curses.rst:47 +#: library/curses.rst:49 msgid "" "Utilities for working with ASCII characters, regardless of your locale " "settings." msgstr "" -#: library/curses.rst:50 +#: library/curses.rst:52 msgid "Module :mod:`curses.panel`" msgstr "Module :mod:`curses.panel`" -#: library/curses.rst:50 +#: library/curses.rst:52 msgid "A panel stack extension that adds depth to curses windows." msgstr "" -#: library/curses.rst:53 +#: library/curses.rst:55 msgid "Module :mod:`curses.textpad`" msgstr "Module :mod:`curses.textpad`" -#: library/curses.rst:53 +#: library/curses.rst:55 msgid "" "Editable text widget for curses supporting :program:`Emacs`\\ -like " "bindings." msgstr "" -#: library/curses.rst:57 +#: library/curses.rst:59 msgid ":ref:`curses-howto`" msgstr ":ref:`curses-howto`" -#: library/curses.rst:56 +#: library/curses.rst:58 msgid "" "Tutorial material on using curses with Python, by Andrew Kuchling and Eric " "Raymond." msgstr "" -#: library/curses.rst:59 +#: library/curses.rst:61 msgid "" "The :source:`Tools/demo/` directory in the Python source distribution " "contains some example programs using the curses bindings provided by this " "module." msgstr "" -#: library/curses.rst:66 +#: library/curses.rst:68 msgid "Functions" msgstr "Fonctions" -#: library/curses.rst:68 +#: library/curses.rst:70 msgid "The module :mod:`curses` defines the following exception:" msgstr "" -#: library/curses.rst:73 +#: library/curses.rst:75 msgid "Exception raised when a curses library function returns an error." msgstr "" -#: library/curses.rst:77 +#: library/curses.rst:79 msgid "" "Whenever *x* or *y* arguments to a function or a method are optional, they " "default to the current cursor location. Whenever *attr* is optional, it " "defaults to :const:`A_NORMAL`." msgstr "" -#: library/curses.rst:81 +#: library/curses.rst:83 msgid "The module :mod:`curses` defines the following functions:" msgstr "" -#: library/curses.rst:86 +#: library/curses.rst:88 msgid "" "Return the output speed of the terminal in bits per second. On software " "terminal emulators it will have a fixed high value. Included for historical " @@ -134,17 +138,17 @@ msgid "" "and occasionally to change interfaces depending on the line speed." msgstr "" -#: library/curses.rst:94 +#: library/curses.rst:96 msgid "Emit a short attention sound." msgstr "" -#: library/curses.rst:99 +#: library/curses.rst:101 msgid "" "Return ``True`` or ``False``, depending on whether the programmer can change " "the colors displayed by the terminal." msgstr "" -#: library/curses.rst:105 +#: library/curses.rst:107 msgid "" "Enter cbreak mode. In cbreak mode (sometimes called \"rare\" mode) normal " "tty line buffering is turned off and characters are available to be read one " @@ -154,7 +158,7 @@ msgid "" "terminal in cbreak mode." msgstr "" -#: library/curses.rst:114 +#: library/curses.rst:116 msgid "" "Return the intensity of the red, green, and blue (RGB) components in the " "color *color_number*, which must be between ``0`` and ``COLORS - 1``. " @@ -163,7 +167,7 @@ msgid "" "component)." msgstr "" -#: library/curses.rst:122 +#: library/curses.rst:124 msgid "" "Return the attribute value for displaying text in the specified color pair. " "Only the first 256 color pairs are supported. This attribute value can be " @@ -171,7 +175,7 @@ msgid "" "`A_\\*` attributes. :func:`pair_number` is the counterpart to this function." msgstr "" -#: library/curses.rst:131 +#: library/curses.rst:133 msgid "" "Set the cursor state. *visibility* can be set to ``0``, ``1``, or ``2``, " "for invisible, normal, or very visible. If the terminal supports the " @@ -180,7 +184,7 @@ msgid "" "and the \"very visible\" mode is a block cursor." msgstr "" -#: library/curses.rst:140 +#: library/curses.rst:142 msgid "" "Save the current terminal mode as the \"program\" mode, the mode when the " "running program is using curses. (Its counterpart is the \"shell\" mode, " @@ -188,7 +192,7 @@ msgid "" "`reset_prog_mode` will restore this mode." msgstr "" -#: library/curses.rst:148 +#: library/curses.rst:150 msgid "" "Save the current terminal mode as the \"shell\" mode, the mode when the " "running program is not using curses. (Its counterpart is the \"program\" " @@ -196,11 +200,11 @@ msgid "" "func:`reset_shell_mode` will restore this mode." msgstr "" -#: library/curses.rst:156 +#: library/curses.rst:158 msgid "Insert an *ms* millisecond pause in output." msgstr "" -#: library/curses.rst:161 +#: library/curses.rst:163 msgid "" "Update the physical screen. The curses library keeps two data structures, " "one representing the current physical screen contents and a virtual screen " @@ -208,7 +212,7 @@ msgid "" "the physical screen to match the virtual screen." msgstr "" -#: library/curses.rst:166 +#: library/curses.rst:168 msgid "" "The virtual screen may be updated by a :meth:`~window.noutrefresh` call " "after write operations such as :meth:`~window.addstr` have been performed on " @@ -219,24 +223,24 @@ msgid "" "func:`!doupdate`." msgstr "" -#: library/curses.rst:176 +#: library/curses.rst:178 msgid "" "Enter echo mode. In echo mode, each character input is echoed to the screen " "as it is entered." msgstr "" -#: library/curses.rst:182 +#: library/curses.rst:184 msgid "De-initialize the library, and return terminal to normal status." msgstr "" -#: library/curses.rst:187 +#: library/curses.rst:189 msgid "" "Return the user's current erase character as a one-byte bytes object. Under " "Unix operating systems this is a property of the controlling tty of the " "curses program, and is not set by the curses library itself." msgstr "" -#: library/curses.rst:194 +#: library/curses.rst:196 msgid "" "The :func:`.filter` routine, if used, must be called before :func:`initscr` " "is called. The effect is that, during those calls, :envvar:`LINES` is set " @@ -247,20 +251,20 @@ msgid "" "time line editing without touching the rest of the screen." msgstr "" -#: library/curses.rst:204 +#: library/curses.rst:206 msgid "" "Flash the screen. That is, change it to reverse-video and then change it " "back in a short interval. Some people prefer such as 'visible bell' to the " "audible attention signal produced by :func:`beep`." msgstr "" -#: library/curses.rst:211 +#: library/curses.rst:213 msgid "" "Flush all input buffers. This throws away any typeahead that has been " "typed by the user and has not yet been processed by the program." msgstr "" -#: library/curses.rst:217 +#: library/curses.rst:219 msgid "" "After :meth:`~window.getch` returns :const:`KEY_MOUSE` to signal a mouse " "event, this method should be called to retrieve the queued mouse event, " @@ -275,51 +279,51 @@ msgid "" "const:`BUTTON_ALT`." msgstr "" -#: library/curses.rst:228 +#: library/curses.rst:230 msgid "" "The ``BUTTON5_*`` constants are now exposed if they are provided by the " "underlying curses library." msgstr "" -#: library/curses.rst:235 +#: library/curses.rst:237 msgid "" "Return the current coordinates of the virtual screen cursor as a tuple ``(y, " "x)``. If :meth:`leaveok ` is currently ``True``, then " "return ``(-1, -1)``." msgstr "" -#: library/curses.rst:241 +#: library/curses.rst:243 msgid "" "Read window related data stored in the file by an earlier :func:`putwin` " "call. The routine then creates and initializes a new window using that data, " "returning the new window object." msgstr "" -#: library/curses.rst:248 +#: library/curses.rst:250 msgid "" "Return ``True`` if the terminal can display colors; otherwise, return " "``False``." msgstr "" -#: library/curses.rst:252 +#: library/curses.rst:254 msgid "" "Return ``True`` if the module supports extended colors; otherwise, return " "``False``. Extended color support allows more than 256 color pairs for " "terminals that support more than 16 colors (e.g. xterm-256color)." msgstr "" -#: library/curses.rst:256 +#: library/curses.rst:258 msgid "Extended color support requires ncurses version 6.1 or later." msgstr "" -#: library/curses.rst:262 +#: library/curses.rst:264 msgid "" "Return ``True`` if the terminal has insert- and delete-character " "capabilities. This function is included for historical reasons only, as all " "modern software terminal emulators have such capabilities." msgstr "" -#: library/curses.rst:269 +#: library/curses.rst:271 msgid "" "Return ``True`` if the terminal has insert- and delete-line capabilities, or " "can simulate them using scrolling regions. This function is included for " @@ -327,13 +331,13 @@ msgid "" "capabilities." msgstr "" -#: library/curses.rst:277 +#: library/curses.rst:279 msgid "" "Take a key value *ch*, and return ``True`` if the current terminal type " "recognizes a key with that value." msgstr "" -#: library/curses.rst:283 +#: library/curses.rst:285 msgid "" "Used for half-delay mode, which is similar to cbreak mode in that characters " "typed by the user are immediately available to the program. However, after " @@ -342,7 +346,7 @@ msgid "" "``255``. Use :func:`nocbreak` to leave half-delay mode." msgstr "" -#: library/curses.rst:292 +#: library/curses.rst:294 msgid "" "Change the definition of a color, taking the number of the color to be " "changed followed by three RGB values (for the amounts of red, green, and " @@ -354,7 +358,7 @@ msgid "" "``True``." msgstr "" -#: library/curses.rst:303 +#: library/curses.rst:305 msgid "" "Change the definition of a color-pair. It takes three arguments: the number " "of the color-pair to be changed, the foreground color number, and the " @@ -367,31 +371,31 @@ msgid "" "definition." msgstr "" -#: library/curses.rst:316 +#: library/curses.rst:318 msgid "" "Initialize the library. Return a :ref:`window ` " "object which represents the whole screen." msgstr "" -#: library/curses.rst:321 +#: library/curses.rst:323 msgid "" "If there is an error opening the terminal, the underlying curses library may " "cause the interpreter to exit." msgstr "" -#: library/curses.rst:327 +#: library/curses.rst:329 msgid "" "Return ``True`` if :func:`resize_term` would modify the window structure, " "``False`` otherwise." msgstr "" -#: library/curses.rst:333 +#: library/curses.rst:335 msgid "" "Return ``True`` if :func:`endwin` has been called (that is, the curses " "library has been deinitialized)." msgstr "" -#: library/curses.rst:339 +#: library/curses.rst:341 msgid "" "Return the name of the key numbered *k* as a bytes object. The name of a " "key generating printable ASCII character is the key's character. The name " @@ -402,27 +406,27 @@ msgid "" "character." msgstr "" -#: library/curses.rst:349 +#: library/curses.rst:351 msgid "" "Return the user's current line kill character as a one-byte bytes object. " "Under Unix operating systems this is a property of the controlling tty of " "the curses program, and is not set by the curses library itself." msgstr "" -#: library/curses.rst:356 +#: library/curses.rst:358 msgid "" "Return a bytes object containing the terminfo long name field describing the " "current terminal. The maximum length of a verbose description is 128 " "characters. It is defined only after the call to :func:`initscr`." msgstr "" -#: library/curses.rst:363 +#: library/curses.rst:365 msgid "" "If *flag* is ``True``, allow 8-bit characters to be input. If *flag* is " "``False``, allow only 7-bit chars." msgstr "" -#: library/curses.rst:369 +#: library/curses.rst:371 msgid "" "Set the maximum time in milliseconds that can elapse between press and " "release events in order for them to be recognized as a click, and return the " @@ -430,7 +434,7 @@ msgid "" "second." msgstr "" -#: library/curses.rst:376 +#: library/curses.rst:378 msgid "" "Set the mouse events to be reported, and return a tuple ``(availmask, " "oldmask)``. *availmask* indicates which of the specified mouse events can " @@ -439,17 +443,17 @@ msgid "" "never called, no mouse events are ever reported." msgstr "" -#: library/curses.rst:385 +#: library/curses.rst:387 msgid "Sleep for *ms* milliseconds." msgstr "" -#: library/curses.rst:390 +#: library/curses.rst:392 msgid "" "Create and return a pointer to a new pad data structure with the given " "number of lines and columns. Return a pad as a window object." msgstr "" -#: library/curses.rst:393 +#: library/curses.rst:395 msgid "" "A pad is like a window, except that it is not restricted by the screen size, " "and is not necessarily associated with a particular part of the screen. " @@ -465,35 +469,35 @@ msgid "" "to be displayed." msgstr "" -#: library/curses.rst:409 +#: library/curses.rst:411 msgid "" "Return a new :ref:`window `, whose left-upper corner " "is at ``(begin_y, begin_x)``, and whose height/width is *nlines*/*ncols*." msgstr "" -#: library/curses.rst:412 +#: library/curses.rst:414 msgid "" "By default, the window will extend from the specified position to the lower " "right corner of the screen." msgstr "" -#: library/curses.rst:418 +#: library/curses.rst:420 msgid "" "Enter newline mode. This mode translates the return key into newline on " "input, and translates newline into return and line-feed on output. Newline " "mode is initially on." msgstr "" -#: library/curses.rst:425 +#: library/curses.rst:427 msgid "" "Leave cbreak mode. Return to normal \"cooked\" mode with line buffering." msgstr "" -#: library/curses.rst:430 +#: library/curses.rst:432 msgid "Leave echo mode. Echoing of input characters is turned off." msgstr "" -#: library/curses.rst:435 +#: library/curses.rst:437 msgid "" "Leave newline mode. Disable translation of return into newline on input, " "and disable low-level translation of newline into newline/return on output " @@ -503,7 +507,7 @@ msgid "" "also, it will be able to detect the return key on input." msgstr "" -#: library/curses.rst:445 +#: library/curses.rst:447 msgid "" "When the :func:`!noqiflush` routine is used, normal flush of input and " "output queues associated with the ``INTR``, ``QUIT`` and ``SUSP`` characters " @@ -512,63 +516,63 @@ msgid "" "occurred, after the handler exits." msgstr "" -#: library/curses.rst:453 +#: library/curses.rst:455 msgid "Leave raw mode. Return to normal \"cooked\" mode with line buffering." msgstr "" -#: library/curses.rst:458 +#: library/curses.rst:460 msgid "" "Return a tuple ``(fg, bg)`` containing the colors for the requested color " "pair. The value of *pair_number* must be between ``0`` and ``COLOR_PAIRS - " "1``." msgstr "" -#: library/curses.rst:464 +#: library/curses.rst:466 msgid "" "Return the number of the color-pair set by the attribute value *attr*. :func:" "`color_pair` is the counterpart to this function." msgstr "" -#: library/curses.rst:470 +#: library/curses.rst:472 msgid "" "Equivalent to ``tputs(str, 1, putchar)``; emit the value of a specified " "terminfo capability for the current terminal. Note that the output of :func:" "`putp` always goes to standard output." msgstr "" -#: library/curses.rst:477 +#: library/curses.rst:479 msgid "" "If *flag* is ``False``, the effect is the same as calling :func:`noqiflush`. " "If *flag* is ``True``, or no argument is provided, the queues will be " "flushed when these control characters are read." msgstr "" -#: library/curses.rst:484 +#: library/curses.rst:486 msgid "" "Enter raw mode. In raw mode, normal line buffering and processing of " "interrupt, quit, suspend, and flow control keys are turned off; characters " "are presented to curses input functions one by one." msgstr "" -#: library/curses.rst:491 +#: library/curses.rst:493 msgid "" "Restore the terminal to \"program\" mode, as previously saved by :func:" "`def_prog_mode`." msgstr "" -#: library/curses.rst:497 +#: library/curses.rst:499 msgid "" "Restore the terminal to \"shell\" mode, as previously saved by :func:" "`def_shell_mode`." msgstr "" -#: library/curses.rst:503 +#: library/curses.rst:505 msgid "" "Restore the state of the terminal modes to what it was at the last call to :" "func:`savetty`." msgstr "" -#: library/curses.rst:509 +#: library/curses.rst:511 msgid "" "Backend function used by :func:`resizeterm`, performing most of the work; " "when resizing the windows, :func:`resize_term` blank-fills the areas that " @@ -578,47 +582,47 @@ msgid "" "to resize these without additional interaction with the application." msgstr "" -#: library/curses.rst:519 +#: library/curses.rst:521 msgid "" "Resize the standard and current windows to the specified dimensions, and " "adjusts other bookkeeping data used by the curses library that record the " "window dimensions (in particular the SIGWINCH handler)." msgstr "" -#: library/curses.rst:526 +#: library/curses.rst:528 msgid "" "Save the current state of the terminal modes in a buffer, usable by :func:" "`resetty`." msgstr "" -#: library/curses.rst:531 +#: library/curses.rst:533 msgid "Retrieves the value set by :func:`set_escdelay`." msgstr "" -#: library/curses.rst:537 +#: library/curses.rst:539 msgid "" "Sets the number of milliseconds to wait after reading an escape character, " "to distinguish between an individual escape character entered on the " "keyboard from escape sequences sent by cursor and function keys." msgstr "" -#: library/curses.rst:545 +#: library/curses.rst:547 msgid "Retrieves the value set by :func:`set_tabsize`." msgstr "" -#: library/curses.rst:551 +#: library/curses.rst:553 msgid "" "Sets the number of columns used by the curses library when converting a tab " "character to spaces as it adds the tab to a window." msgstr "" -#: library/curses.rst:558 +#: library/curses.rst:560 msgid "" "Set the virtual screen cursor to *y*, *x*. If *y* and *x* are both ``-1``, " "then :meth:`leaveok ` is set ``True``." msgstr "" -#: library/curses.rst:564 +#: library/curses.rst:566 msgid "" "Initialize the terminal. *term* is a string giving the terminal name, or " "``None``; if omitted or ``None``, the value of the :envvar:`TERM` " @@ -627,14 +631,14 @@ msgid "" "descriptor for ``sys.stdout`` will be used." msgstr "" -#: library/curses.rst:573 +#: library/curses.rst:575 msgid "" "Must be called if the programmer wants to use colors, and before any other " "color manipulation routine is called. It is good practice to call this " "routine right after :func:`initscr`." msgstr "" -#: library/curses.rst:577 +#: library/curses.rst:579 msgid "" ":func:`start_color` initializes eight basic colors (black, red, green, " "yellow, blue, magenta, cyan, and white), and two global variables in the :" @@ -644,20 +648,20 @@ msgid "" "terminal was just turned on." msgstr "" -#: library/curses.rst:586 +#: library/curses.rst:588 msgid "" "Return a logical OR of all video attributes supported by the terminal. This " "information is useful when a curses program needs complete control over the " "appearance of the screen." msgstr "" -#: library/curses.rst:593 +#: library/curses.rst:595 msgid "" "Return the value of the environment variable :envvar:`TERM`, as a bytes " "object, truncated to 14 characters." msgstr "" -#: library/curses.rst:599 +#: library/curses.rst:601 msgid "" "Return the value of the Boolean capability corresponding to the terminfo " "capability name *capname* as an integer. Return the value ``-1`` if " @@ -665,7 +669,7 @@ msgid "" "from the terminal description." msgstr "" -#: library/curses.rst:607 +#: library/curses.rst:609 msgid "" "Return the value of the numeric capability corresponding to the terminfo " "capability name *capname* as an integer. Return the value ``-2`` if " @@ -673,7 +677,7 @@ msgid "" "from the terminal description." msgstr "" -#: library/curses.rst:615 +#: library/curses.rst:617 msgid "" "Return the value of the string capability corresponding to the terminfo " "capability name *capname* as a bytes object. Return ``None`` if *capname* " @@ -681,7 +685,7 @@ msgid "" "terminal description." msgstr "" -#: library/curses.rst:623 +#: library/curses.rst:625 msgid "" "Instantiate the bytes object *str* with the supplied parameters, where *str* " "should be a parameterized string obtained from the terminfo database. E.g. " @@ -689,13 +693,13 @@ msgid "" "exact result depending on terminal type." msgstr "" -#: library/curses.rst:631 +#: library/curses.rst:633 msgid "" "Specify that the file descriptor *fd* be used for typeahead checking. If " "*fd* is ``-1``, then no typeahead checking is done." msgstr "" -#: library/curses.rst:634 +#: library/curses.rst:636 msgid "" "The curses library does \"line-breakout optimization\" by looking for " "typeahead periodically while updating the screen. If input is found, and it " @@ -705,7 +709,7 @@ msgid "" "typeahead checking." msgstr "" -#: library/curses.rst:643 +#: library/curses.rst:645 msgid "" "Return a bytes object which is a printable representation of the character " "*ch*. Control characters are represented as a caret followed by the " @@ -713,35 +717,35 @@ msgid "" "are." msgstr "" -#: library/curses.rst:650 +#: library/curses.rst:652 msgid "Push *ch* so the next :meth:`~window.getch` will return it." msgstr "" -#: library/curses.rst:654 +#: library/curses.rst:656 msgid "Only one *ch* can be pushed before :meth:`!getch` is called." msgstr "" -#: library/curses.rst:659 +#: library/curses.rst:661 msgid "" "Update :envvar:`LINES` and :envvar:`COLS`. Useful for detecting manual " "screen resize." msgstr "" -#: library/curses.rst:666 +#: library/curses.rst:668 msgid "Push *ch* so the next :meth:`~window.get_wch` will return it." msgstr "" -#: library/curses.rst:670 +#: library/curses.rst:672 msgid "Only one *ch* can be pushed before :meth:`!get_wch` is called." msgstr "" -#: library/curses.rst:677 +#: library/curses.rst:679 msgid "" "Push a :const:`KEY_MOUSE` event onto the input queue, associating the given " "state data with it." msgstr "" -#: library/curses.rst:683 +#: library/curses.rst:685 msgid "" "If used, this function should be called before :func:`initscr` or newterm " "are called. When *flag* is ``False``, the values of lines and columns " @@ -751,7 +755,7 @@ msgid "" "to use the window size if :envvar:`LINES` and :envvar:`COLUMNS` are not set)." msgstr "" -#: library/curses.rst:693 +#: library/curses.rst:695 msgid "" "Allow use of default values for colors on terminals supporting this feature. " "Use this to support transparency in your application. The default color is " @@ -760,7 +764,7 @@ msgid "" "*x* to a red foreground color on the default background." msgstr "" -#: library/curses.rst:702 +#: library/curses.rst:704 msgid "" "Initialize curses and call another callable object, *func*, which should be " "the rest of your curses-using application. If the application raises an " @@ -774,50 +778,50 @@ msgid "" "echo, and disables the terminal keypad." msgstr "" -#: library/curses.rst:716 +#: library/curses.rst:718 msgid "Window Objects" msgstr "" -#: library/curses.rst:718 +#: library/curses.rst:720 msgid "" "Window objects, as returned by :func:`initscr` and :func:`newwin` above, " "have the following methods and attributes:" msgstr "" -#: library/curses.rst:725 +#: library/curses.rst:727 msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any " "character previously painted at that location. By default, the character " "position and attributes are the current settings for the window object." msgstr "" -#: library/curses.rst:731 +#: library/curses.rst:733 msgid "" "Writing outside the window, subwindow, or pad raises a :exc:`curses.error`. " "Attempting to write to the lower right corner of a window, subwindow, or pad " "will cause an exception to be raised after the character is printed." msgstr "" -#: library/curses.rst:739 +#: library/curses.rst:741 msgid "" "Paint at most *n* characters of the character string *str* at ``(y, x)`` " "with attributes *attr*, overwriting anything previously on the display." msgstr "" -#: library/curses.rst:747 +#: library/curses.rst:749 msgid "" "Paint the character string *str* at ``(y, x)`` with attributes *attr*, " "overwriting anything previously on the display." msgstr "" -#: library/curses.rst:752 +#: library/curses.rst:754 msgid "" "Writing outside the window, subwindow, or pad raises :exc:`curses.error`. " "Attempting to write to the lower right corner of a window, subwindow, or pad " "will cause an exception to be raised after the string is printed." msgstr "" -#: library/curses.rst:756 +#: library/curses.rst:758 msgid "" "A `bug in ncurses `_, the backend for " "this Python module, can cause SegFaults when resizing windows. This is fixed " @@ -827,44 +831,44 @@ msgid "" "line." msgstr "" -#: library/curses.rst:766 +#: library/curses.rst:768 msgid "" "Remove attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -#: library/curses.rst:772 +#: library/curses.rst:774 msgid "" "Add attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -#: library/curses.rst:778 +#: library/curses.rst:780 msgid "" "Set the \"background\" set of attributes to *attr*. This set is initially " "``0`` (no attributes)." msgstr "" -#: library/curses.rst:784 +#: library/curses.rst:786 msgid "" "Set the background property of the window to the character *ch*, with " "attributes *attr*. The change is then applied to every character position " "in that window:" msgstr "" -#: library/curses.rst:788 +#: library/curses.rst:790 msgid "" "The attribute of every character in the window is changed to the new " "background attribute." msgstr "" -#: library/curses.rst:791 +#: library/curses.rst:793 msgid "" "Wherever the former background character appears, it is changed to the new " "background character." msgstr "" -#: library/curses.rst:797 +#: library/curses.rst:799 msgid "" "Set the window's background. A window's background consists of a character " "and any combination of attributes. The attribute part of the background is " @@ -875,128 +879,128 @@ msgid "" "delete line/character operations." msgstr "" -#: library/curses.rst:807 +#: library/curses.rst:809 msgid "" "Draw a border around the edges of the window. Each parameter specifies the " "character to use for a specific part of the border; see the table below for " "more details." msgstr "" -#: library/curses.rst:813 +#: library/curses.rst:815 msgid "" "A ``0`` value for any parameter will cause the default character to be used " "for that parameter. Keyword parameters can *not* be used. The defaults are " "listed in this table:" msgstr "" -#: library/curses.rst:818 +#: library/curses.rst:820 msgid "Parameter" msgstr "Paramètre" -#: library/curses.rst:818 +#: library/curses.rst:820 msgid "Description" msgstr "Description" -#: library/curses.rst:818 +#: library/curses.rst:820 msgid "Default value" msgstr "Valeur par défaut" -#: library/curses.rst:820 +#: library/curses.rst:822 msgid "*ls*" msgstr "*ls*" -#: library/curses.rst:820 +#: library/curses.rst:822 msgid "Left side" msgstr "" -#: library/curses.rst:822 +#: library/curses.rst:824 msgid ":const:`ACS_VLINE`" msgstr ":const:`ACS_VLINE`" -#: library/curses.rst:822 +#: library/curses.rst:824 msgid "*rs*" msgstr "*rs*" -#: library/curses.rst:822 +#: library/curses.rst:824 msgid "Right side" msgstr "" -#: library/curses.rst:824 +#: library/curses.rst:826 msgid "*ts*" msgstr "*ts*" -#: library/curses.rst:824 +#: library/curses.rst:826 msgid "Top" msgstr "" -#: library/curses.rst:826 +#: library/curses.rst:828 msgid ":const:`ACS_HLINE`" msgstr ":const:`ACS_HLINE`" -#: library/curses.rst:826 +#: library/curses.rst:828 msgid "*bs*" msgstr "*bs*" -#: library/curses.rst:826 +#: library/curses.rst:828 msgid "Bottom" msgstr "" -#: library/curses.rst:828 +#: library/curses.rst:830 msgid "*tl*" msgstr "*tl*" -#: library/curses.rst:828 +#: library/curses.rst:830 msgid "Upper-left corner" msgstr "" -#: library/curses.rst:828 +#: library/curses.rst:830 msgid ":const:`ACS_ULCORNER`" msgstr ":const:`ACS_ULCORNER`" -#: library/curses.rst:830 +#: library/curses.rst:832 msgid "*tr*" msgstr "" -#: library/curses.rst:830 +#: library/curses.rst:832 msgid "Upper-right corner" msgstr "" -#: library/curses.rst:830 +#: library/curses.rst:832 msgid ":const:`ACS_URCORNER`" msgstr ":const:`ACS_URCORNER`" -#: library/curses.rst:832 +#: library/curses.rst:834 msgid "*bl*" msgstr "" -#: library/curses.rst:832 +#: library/curses.rst:834 msgid "Bottom-left corner" msgstr "" -#: library/curses.rst:832 +#: library/curses.rst:834 msgid ":const:`ACS_LLCORNER`" msgstr ":const:`ACS_LLCORNER`" -#: library/curses.rst:834 +#: library/curses.rst:836 msgid "*br*" msgstr "" -#: library/curses.rst:834 +#: library/curses.rst:836 msgid "Bottom-right corner" msgstr "" -#: library/curses.rst:834 +#: library/curses.rst:836 msgid ":const:`ACS_LRCORNER`" msgstr ":const:`ACS_LRCORNER`" -#: library/curses.rst:840 +#: library/curses.rst:842 msgid "" "Similar to :meth:`border`, but both *ls* and *rs* are *vertch* and both *ts* " "and *bs* are *horch*. The default corner characters are always used by this " "function." msgstr "" -#: library/curses.rst:849 +#: library/curses.rst:851 msgid "" "Set the attributes of *num* characters at the current cursor position, or at " "position ``(y, x)`` if supplied. If *num* is not given or is ``-1``, the " @@ -1006,45 +1010,45 @@ msgid "" "be redisplayed by the next window refresh." msgstr "" -#: library/curses.rst:859 +#: library/curses.rst:861 msgid "" "Like :meth:`erase`, but also cause the whole window to be repainted upon " "next call to :meth:`refresh`." msgstr "" -#: library/curses.rst:865 +#: library/curses.rst:867 msgid "" "If *flag* is ``True``, the next call to :meth:`refresh` will clear the " "window completely." msgstr "" -#: library/curses.rst:871 +#: library/curses.rst:873 msgid "" "Erase from cursor to the end of the window: all lines below the cursor are " "deleted, and then the equivalent of :meth:`clrtoeol` is performed." msgstr "" -#: library/curses.rst:877 +#: library/curses.rst:879 msgid "Erase from cursor to the end of the line." msgstr "" -#: library/curses.rst:882 +#: library/curses.rst:884 msgid "" "Update the current cursor position of all the ancestors of the window to " "reflect the current cursor position of the window." msgstr "" -#: library/curses.rst:888 +#: library/curses.rst:890 msgid "Delete any character at ``(y, x)``." msgstr "" -#: library/curses.rst:893 +#: library/curses.rst:895 msgid "" "Delete the line under the cursor. All following lines are moved up by one " "line." msgstr "" -#: library/curses.rst:899 +#: library/curses.rst:901 msgid "" "An abbreviation for \"derive window\", :meth:`derwin` is the same as " "calling :meth:`subwin`, except that *begin_y* and *begin_x* are relative to " @@ -1052,13 +1056,13 @@ msgid "" "a window object for the derived window." msgstr "" -#: library/curses.rst:907 +#: library/curses.rst:909 msgid "" "Add character *ch* with attribute *attr*, and immediately call :meth:" "`refresh` on the window." msgstr "" -#: library/curses.rst:913 +#: library/curses.rst:915 msgid "" "Test whether the given pair of screen-relative character-cell coordinates " "are enclosed by the given window, returning ``True`` or ``False``. It is " @@ -1066,11 +1070,11 @@ msgid "" "location of a mouse event." msgstr "" -#: library/curses.rst:918 +#: library/curses.rst:920 msgid "Previously it returned ``1`` or ``0`` instead of ``True`` or ``False``." msgstr "" -#: library/curses.rst:924 +#: library/curses.rst:926 msgid "" "Encoding used to encode method arguments (Unicode strings and characters). " "The encoding attribute is inherited from the parent window when a subwindow " @@ -1078,19 +1082,19 @@ msgid "" "encoding is used (see :func:`locale.getpreferredencoding`)." msgstr "" -#: library/curses.rst:934 +#: library/curses.rst:936 msgid "Clear the window." msgstr "" -#: library/curses.rst:939 +#: library/curses.rst:941 msgid "Return a tuple ``(y, x)`` of co-ordinates of upper-left corner." msgstr "" -#: library/curses.rst:944 +#: library/curses.rst:946 msgid "Return the given window's current background character/attribute pair." msgstr "" -#: library/curses.rst:949 +#: library/curses.rst:951 msgid "" "Get a character. Note that the integer returned does *not* have to be in " "ASCII range: function keys, keypad keys and so on are represented by numbers " @@ -1098,14 +1102,14 @@ msgid "" "otherwise wait until a key is pressed." msgstr "" -#: library/curses.rst:957 +#: library/curses.rst:959 msgid "" "Get a wide character. Return a character for most keys, or an integer for " "function keys, keypad keys, and other special keys. In no-delay mode, raise " "an exception if there is no input." msgstr "" -#: library/curses.rst:966 +#: library/curses.rst:968 msgid "" "Get a character, returning a string instead of an integer, as :meth:`getch` " "does. Function keys, keypad keys and other special keys return a multibyte " @@ -1113,35 +1117,35 @@ msgid "" "there is no input." msgstr "" -#: library/curses.rst:974 +#: library/curses.rst:976 msgid "Return a tuple ``(y, x)`` of the height and width of the window." msgstr "" -#: library/curses.rst:979 +#: library/curses.rst:981 msgid "" "Return the beginning coordinates of this window relative to its parent " "window as a tuple ``(y, x)``. Return ``(-1, -1)`` if this window has no " "parent." msgstr "" -#: library/curses.rst:989 +#: library/curses.rst:991 msgid "" "Read a bytes object from the user, with primitive line editing capacity." msgstr "" -#: library/curses.rst:994 +#: library/curses.rst:996 msgid "" "Return a tuple ``(y, x)`` of current cursor position relative to the " "window's upper-left corner." msgstr "" -#: library/curses.rst:1001 +#: library/curses.rst:1003 msgid "" "Display a horizontal line starting at ``(y, x)`` with length *n* consisting " "of the character *ch*." msgstr "" -#: library/curses.rst:1007 +#: library/curses.rst:1009 msgid "" "If *flag* is ``False``, curses no longer considers using the hardware insert/" "delete character feature of the terminal; if *flag* is ``True``, use of " @@ -1149,13 +1153,13 @@ msgid "" "initialized, use of character insert/delete is enabled by default." msgstr "" -#: library/curses.rst:1015 +#: library/curses.rst:1017 msgid "" "If *flag* is ``True``, :mod:`curses` will try and use hardware line editing " "facilities. Otherwise, line insertion/deletion are disabled." msgstr "" -#: library/curses.rst:1021 +#: library/curses.rst:1023 msgid "" "If *flag* is ``True``, any change in the window image automatically causes " "the window to be refreshed; you no longer have to call :meth:`refresh` " @@ -1163,19 +1167,19 @@ msgid "" "calls to wrefresh. This option is disabled by default." msgstr "" -#: library/curses.rst:1029 +#: library/curses.rst:1031 msgid "" "Return the character at the given position in the window. The bottom 8 bits " "are the character proper, and upper bits are the attributes." msgstr "" -#: library/curses.rst:1036 +#: library/curses.rst:1038 msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, moving the line " "from position *x* right by one character." msgstr "" -#: library/curses.rst:1042 +#: library/curses.rst:1044 msgid "" "Insert *nlines* lines into the specified window above the current line. The " "*nlines* bottom lines are lost. For negative *nlines*, delete *nlines* " @@ -1184,13 +1188,13 @@ msgid "" "remains the same." msgstr "" -#: library/curses.rst:1051 +#: library/curses.rst:1053 msgid "" "Insert a blank line under the cursor. All following lines are moved down by " "one line." msgstr "" -#: library/curses.rst:1058 +#: library/curses.rst:1060 msgid "" "Insert a character string (as many characters as will fit on the line) " "before the character under the cursor, up to *n* characters. If *n* is " @@ -1200,7 +1204,7 @@ msgid "" "if specified)." msgstr "" -#: library/curses.rst:1068 +#: library/curses.rst:1070 msgid "" "Insert a character string (as many characters as will fit on the line) " "before the character under the cursor. All characters to the right of the " @@ -1209,7 +1213,7 @@ msgid "" "specified)." msgstr "" -#: library/curses.rst:1077 +#: library/curses.rst:1079 msgid "" "Return a bytes object of characters, extracted from the window starting at " "the current cursor position, or at *y*, *x* if specified. Attributes are " @@ -1217,76 +1221,76 @@ msgid "" "string at most *n* characters long (exclusive of the trailing NUL)." msgstr "" -#: library/curses.rst:1085 +#: library/curses.rst:1087 msgid "" "Return ``True`` if the specified line was modified since the last call to :" "meth:`refresh`; otherwise return ``False``. Raise a :exc:`curses.error` " "exception if *line* is not valid for the given window." msgstr "" -#: library/curses.rst:1092 +#: library/curses.rst:1094 msgid "" "Return ``True`` if the specified window was modified since the last call to :" "meth:`refresh`; otherwise return ``False``." msgstr "" -#: library/curses.rst:1098 +#: library/curses.rst:1100 msgid "" "If *flag* is ``True``, escape sequences generated by some keys (keypad, " "function keys) will be interpreted by :mod:`curses`. If *flag* is ``False``, " "escape sequences will be left as is in the input stream." msgstr "" -#: library/curses.rst:1105 +#: library/curses.rst:1107 msgid "" "If *flag* is ``True``, cursor is left where it is on update, instead of " "being at \"cursor position.\" This reduces cursor movement where possible. " "If possible the cursor will be made invisible." msgstr "" -#: library/curses.rst:1109 +#: library/curses.rst:1111 msgid "" "If *flag* is ``False``, cursor will always be at \"cursor position\" after " "an update." msgstr "" -#: library/curses.rst:1114 +#: library/curses.rst:1116 msgid "Move cursor to ``(new_y, new_x)``." msgstr "" -#: library/curses.rst:1119 +#: library/curses.rst:1121 msgid "" "Move the window inside its parent window. The screen-relative parameters of " "the window are not changed. This routine is used to display different parts " "of the parent window at the same physical position on the screen." msgstr "" -#: library/curses.rst:1126 +#: library/curses.rst:1128 msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." msgstr "" -#: library/curses.rst:1131 +#: library/curses.rst:1133 msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." msgstr "" -#: library/curses.rst:1136 +#: library/curses.rst:1138 msgid "If *flag* is ``True``, escape sequences will not be timed out." msgstr "" -#: library/curses.rst:1138 +#: library/curses.rst:1140 msgid "" "If *flag* is ``False``, after a few milliseconds, an escape sequence will " "not be interpreted, and will be left in the input stream as is." msgstr "" -#: library/curses.rst:1144 +#: library/curses.rst:1146 msgid "" "Mark for refresh but wait. This function updates the data structure " "representing the desired state of the window, but does not force an update " "of the physical screen. To accomplish that, call :func:`doupdate`." msgstr "" -#: library/curses.rst:1151 +#: library/curses.rst:1153 msgid "" "Overlay the window on top of *destwin*. The windows need not be the same " "size, only the overlapping region is copied. This copy is non-destructive, " @@ -1294,7 +1298,7 @@ msgid "" "contents of *destwin*." msgstr "" -#: library/curses.rst:1156 +#: library/curses.rst:1158 msgid "" "To get fine-grained control over the copied region, the second form of :meth:" "`overlay` can be used. *sminrow* and *smincol* are the upper-left " @@ -1302,7 +1306,7 @@ msgid "" "in the destination window." msgstr "" -#: library/curses.rst:1164 +#: library/curses.rst:1166 msgid "" "Overwrite the window on top of *destwin*. The windows need not be the same " "size, in which case only the overlapping region is copied. This copy is " @@ -1310,7 +1314,7 @@ msgid "" "the old contents of *destwin*." msgstr "" -#: library/curses.rst:1169 +#: library/curses.rst:1171 msgid "" "To get fine-grained control over the copied region, the second form of :meth:" "`overwrite` can be used. *sminrow* and *smincol* are the upper-left " @@ -1318,31 +1322,31 @@ msgid "" "the destination window." msgstr "" -#: library/curses.rst:1177 +#: library/curses.rst:1179 msgid "" "Write all data associated with the window into the provided file object. " "This information can be later retrieved using the :func:`getwin` function." msgstr "" -#: library/curses.rst:1183 +#: library/curses.rst:1185 msgid "" "Indicate that the *num* screen lines, starting at line *beg*, are corrupted " "and should be completely redrawn on the next :meth:`refresh` call." msgstr "" -#: library/curses.rst:1189 +#: library/curses.rst:1191 msgid "" "Touch the entire window, causing it to be completely redrawn on the next :" "meth:`refresh` call." msgstr "" -#: library/curses.rst:1195 +#: library/curses.rst:1197 msgid "" "Update the display immediately (sync actual screen with previous drawing/" "deleting methods)." msgstr "" -#: library/curses.rst:1198 +#: library/curses.rst:1200 msgid "" "The 6 optional arguments can only be specified when the window is a pad " "created with :func:`newpad`. The additional parameters are needed to " @@ -1357,7 +1361,7 @@ msgid "" "*smincol* are treated as if they were zero." msgstr "" -#: library/curses.rst:1212 +#: library/curses.rst:1214 msgid "" "Reallocate storage for a curses window to adjust its dimensions to the " "specified values. If either dimension is larger than the current values, " @@ -1365,11 +1369,11 @@ msgid "" "rendition (as set by :meth:`bkgdset`) merged into them." msgstr "" -#: library/curses.rst:1220 +#: library/curses.rst:1222 msgid "Scroll the screen or scrolling region upward by *lines* lines." msgstr "" -#: library/curses.rst:1225 +#: library/curses.rst:1227 msgid "" "Control what happens when the cursor of a window is moved off the edge of " "the window or scrolling region, either as a result of a newline action on " @@ -1379,54 +1383,54 @@ msgid "" "scrolling effect on the terminal, it is also necessary to call :meth:`idlok`." msgstr "" -#: library/curses.rst:1235 +#: library/curses.rst:1237 msgid "" "Set the scrolling region from line *top* to line *bottom*. All scrolling " "actions will take place in this region." msgstr "" -#: library/curses.rst:1241 +#: library/curses.rst:1243 msgid "" "Turn off the standout attribute. On some terminals this has the side effect " "of turning off all attributes." msgstr "" -#: library/curses.rst:1247 +#: library/curses.rst:1249 msgid "Turn on attribute *A_STANDOUT*." msgstr "" -#: library/curses.rst:1260 +#: library/curses.rst:1262 msgid "" "Return a sub-window, whose upper-left corner is at ``(begin_y, begin_x)``, " "and whose width/height is *ncols*/*nlines*." msgstr "" -#: library/curses.rst:1263 +#: library/curses.rst:1265 msgid "" "By default, the sub-window will extend from the specified position to the " "lower right corner of the window." msgstr "" -#: library/curses.rst:1269 +#: library/curses.rst:1271 msgid "" "Touch each location in the window that has been touched in any of its " "ancestor windows. This routine is called by :meth:`refresh`, so it should " "almost never be necessary to call it manually." msgstr "" -#: library/curses.rst:1276 +#: library/curses.rst:1278 msgid "" "If *flag* is ``True``, then :meth:`syncup` is called automatically whenever " "there is a change in the window." msgstr "" -#: library/curses.rst:1282 +#: library/curses.rst:1284 msgid "" "Touch all locations in ancestors of the window that have been changed in " "the window." msgstr "" -#: library/curses.rst:1288 +#: library/curses.rst:1290 msgid "" "Set blocking or non-blocking read behavior for the window. If *delay* is " "negative, blocking read is used (which will wait indefinitely for input). " @@ -1436,7 +1440,7 @@ msgid "" "still no input at the end of that time." msgstr "" -#: library/curses.rst:1298 +#: library/curses.rst:1300 msgid "" "Pretend *count* lines have been changed, starting with line *start*. If " "*changed* is supplied, it specifies whether the affected lines are marked as " @@ -1444,51 +1448,51 @@ msgid "" "``=False``)." msgstr "" -#: library/curses.rst:1305 +#: library/curses.rst:1307 msgid "" "Pretend the whole window has been changed, for purposes of drawing " "optimizations." msgstr "" -#: library/curses.rst:1311 +#: library/curses.rst:1313 msgid "" "Mark all lines in the window as unchanged since the last call to :meth:" "`refresh`." msgstr "" -#: library/curses.rst:1318 +#: library/curses.rst:1320 msgid "" "Display a vertical line starting at ``(y, x)`` with length *n* consisting of " -"the character *ch*." +"the character *ch* with attributes *attr*." msgstr "" -#: library/curses.rst:1323 +#: library/curses.rst:1325 msgid "Constants" msgstr "Constantes" -#: library/curses.rst:1325 +#: library/curses.rst:1327 msgid "The :mod:`curses` module defines the following data members:" msgstr "" -#: library/curses.rst:1330 +#: library/curses.rst:1332 msgid "" "Some curses routines that return an integer, such as :meth:`~window." "getch`, return :const:`ERR` upon failure." msgstr "" -#: library/curses.rst:1336 +#: library/curses.rst:1338 msgid "" "Some curses routines that return an integer, such as :func:`napms`, " "return :const:`OK` upon success." msgstr "" -#: library/curses.rst:1342 +#: library/curses.rst:1344 msgid "" "A bytes object representing the current version of the module. Also " "available as :const:`__version__`." msgstr "" -#: library/curses.rst:1348 +#: library/curses.rst:1350 msgid "" "A named tuple containing the three components of the ncurses library " "version: *major*, *minor*, and *patch*. All values are integers. The " @@ -1496,965 +1500,965 @@ msgid "" "is equivalent to ``curses.ncurses_version.major`` and so on." msgstr "" -#: library/curses.rst:1353 +#: library/curses.rst:1355 msgid "Availability: if the ncurses library is used." msgstr "" -#: library/curses.rst:1358 +#: library/curses.rst:1360 msgid "" "Some constants are available to specify character cell attributes. The exact " "constants available are system dependent." msgstr "" -#: library/curses.rst:1362 +#: library/curses.rst:1364 msgid "Attribute" msgstr "Attribut" -#: library/curses.rst:1410 library/curses.rst:1654 +#: library/curses.rst:1412 library/curses.rst:1656 msgid "Meaning" msgstr "Signification" -#: library/curses.rst:1364 +#: library/curses.rst:1366 msgid "``A_ALTCHARSET``" msgstr "``A_ALTCHARSET``" -#: library/curses.rst:1364 +#: library/curses.rst:1366 msgid "Alternate character set mode" msgstr "" -#: library/curses.rst:1366 +#: library/curses.rst:1368 msgid "``A_BLINK``" msgstr "``A_BLINK``" -#: library/curses.rst:1366 +#: library/curses.rst:1368 msgid "Blink mode" msgstr "" -#: library/curses.rst:1368 +#: library/curses.rst:1370 msgid "``A_BOLD``" msgstr "``A_BOLD``" -#: library/curses.rst:1368 +#: library/curses.rst:1370 msgid "Bold mode" msgstr "" -#: library/curses.rst:1370 +#: library/curses.rst:1372 msgid "``A_DIM``" msgstr "``A_DIM``" -#: library/curses.rst:1370 +#: library/curses.rst:1372 msgid "Dim mode" msgstr "" -#: library/curses.rst:1372 +#: library/curses.rst:1374 msgid "``A_INVIS``" msgstr "``A_INVIS``" -#: library/curses.rst:1372 +#: library/curses.rst:1374 msgid "Invisible or blank mode" msgstr "" -#: library/curses.rst:1374 +#: library/curses.rst:1376 msgid "``A_ITALIC``" msgstr "``A_ITALIC``" -#: library/curses.rst:1374 +#: library/curses.rst:1376 msgid "Italic mode" msgstr "" -#: library/curses.rst:1376 +#: library/curses.rst:1378 msgid "``A_NORMAL``" msgstr "``A_NORMAL``" -#: library/curses.rst:1376 +#: library/curses.rst:1378 msgid "Normal attribute" msgstr "Attribut normal" -#: library/curses.rst:1378 +#: library/curses.rst:1380 msgid "``A_PROTECT``" msgstr "``A_PROTECT``" -#: library/curses.rst:1378 +#: library/curses.rst:1380 msgid "Protected mode" msgstr "" -#: library/curses.rst:1380 +#: library/curses.rst:1382 msgid "``A_REVERSE``" msgstr "``A_REVERSE``" -#: library/curses.rst:1380 +#: library/curses.rst:1382 msgid "Reverse background and foreground colors" msgstr "" -#: library/curses.rst:1383 +#: library/curses.rst:1385 msgid "``A_STANDOUT``" msgstr "``A_STANDOUT``" -#: library/curses.rst:1383 +#: library/curses.rst:1385 msgid "Standout mode" msgstr "" -#: library/curses.rst:1385 +#: library/curses.rst:1387 msgid "``A_UNDERLINE``" msgstr "``A_UNDERLINE``" -#: library/curses.rst:1385 +#: library/curses.rst:1387 msgid "Underline mode" msgstr "" -#: library/curses.rst:1387 +#: library/curses.rst:1389 msgid "``A_HORIZONTAL``" msgstr "``A_HORIZONTAL``" -#: library/curses.rst:1387 +#: library/curses.rst:1389 msgid "Horizontal highlight" msgstr "" -#: library/curses.rst:1389 +#: library/curses.rst:1391 msgid "``A_LEFT``" msgstr "``A_LEFT``" -#: library/curses.rst:1389 +#: library/curses.rst:1391 msgid "Left highlight" msgstr "" -#: library/curses.rst:1391 +#: library/curses.rst:1393 msgid "``A_LOW``" msgstr "``A_LOW``" -#: library/curses.rst:1391 +#: library/curses.rst:1393 msgid "Low highlight" msgstr "" -#: library/curses.rst:1393 +#: library/curses.rst:1395 msgid "``A_RIGHT``" msgstr "``A_RIGHT``" -#: library/curses.rst:1393 +#: library/curses.rst:1395 msgid "Right highlight" msgstr "" -#: library/curses.rst:1395 +#: library/curses.rst:1397 msgid "``A_TOP``" msgstr "``A_TOP``" -#: library/curses.rst:1395 +#: library/curses.rst:1397 msgid "Top highlight" msgstr "" -#: library/curses.rst:1397 +#: library/curses.rst:1399 msgid "``A_VERTICAL``" msgstr "``A_VERTICAL``" -#: library/curses.rst:1397 +#: library/curses.rst:1399 msgid "Vertical highlight" msgstr "" -#: library/curses.rst:1415 +#: library/curses.rst:1417 msgid "``A_CHARTEXT``" msgstr "``A_CHARTEXT``" -#: library/curses.rst:1415 +#: library/curses.rst:1417 msgid "Bit-mask to extract a character" msgstr "" -#: library/curses.rst:1403 +#: library/curses.rst:1405 msgid "``A_ITALIC`` was added." msgstr "" -#: library/curses.rst:1406 +#: library/curses.rst:1408 msgid "" "Several constants are available to extract corresponding attributes returned " "by some methods." msgstr "" -#: library/curses.rst:1410 +#: library/curses.rst:1412 msgid "Bit-mask" msgstr "" -#: library/curses.rst:1412 +#: library/curses.rst:1414 msgid "``A_ATTRIBUTES``" msgstr "``A_ATTRIBUTES``" -#: library/curses.rst:1412 +#: library/curses.rst:1414 msgid "Bit-mask to extract attributes" msgstr "" -#: library/curses.rst:1418 +#: library/curses.rst:1420 msgid "``A_COLOR``" msgstr "``A_COLOR``" -#: library/curses.rst:1418 +#: library/curses.rst:1420 msgid "Bit-mask to extract color-pair field information" msgstr "" -#: library/curses.rst:1422 +#: library/curses.rst:1424 msgid "" "Keys are referred to by integer constants with names starting with " "``KEY_``. The exact keycaps available are system dependent." msgstr "" -#: library/curses.rst:1428 +#: library/curses.rst:1430 msgid "Key constant" msgstr "" -#: library/curses.rst:1428 +#: library/curses.rst:1430 msgid "Key" msgstr "Clé" -#: library/curses.rst:1430 +#: library/curses.rst:1432 msgid "``KEY_MIN``" msgstr "``KEY_MIN``" -#: library/curses.rst:1430 +#: library/curses.rst:1432 msgid "Minimum key value" msgstr "" -#: library/curses.rst:1432 +#: library/curses.rst:1434 msgid "``KEY_BREAK``" msgstr "``KEY_BREAK``" -#: library/curses.rst:1432 +#: library/curses.rst:1434 msgid "Break key (unreliable)" msgstr "" -#: library/curses.rst:1434 +#: library/curses.rst:1436 msgid "``KEY_DOWN``" msgstr "``KEY_DOWN``" -#: library/curses.rst:1434 +#: library/curses.rst:1436 msgid "Down-arrow" msgstr "" -#: library/curses.rst:1436 +#: library/curses.rst:1438 msgid "``KEY_UP``" msgstr "``KEY_UP``" -#: library/curses.rst:1436 +#: library/curses.rst:1438 msgid "Up-arrow" msgstr "" -#: library/curses.rst:1438 +#: library/curses.rst:1440 msgid "``KEY_LEFT``" msgstr "``KEY_LEFT``" -#: library/curses.rst:1438 +#: library/curses.rst:1440 msgid "Left-arrow" msgstr "" -#: library/curses.rst:1440 +#: library/curses.rst:1442 msgid "``KEY_RIGHT``" msgstr "``KEY_RIGHT``" -#: library/curses.rst:1440 +#: library/curses.rst:1442 msgid "Right-arrow" msgstr "" -#: library/curses.rst:1442 +#: library/curses.rst:1444 msgid "``KEY_HOME``" msgstr "``KEY_HOME``" -#: library/curses.rst:1442 +#: library/curses.rst:1444 msgid "Home key (upward+left arrow)" msgstr "" -#: library/curses.rst:1444 +#: library/curses.rst:1446 msgid "``KEY_BACKSPACE``" msgstr "``KEY_BACKSPACE``" -#: library/curses.rst:1444 +#: library/curses.rst:1446 msgid "Backspace (unreliable)" msgstr "" -#: library/curses.rst:1446 +#: library/curses.rst:1448 msgid "``KEY_F0``" msgstr "``KEY_F0``" -#: library/curses.rst:1446 +#: library/curses.rst:1448 msgid "Function keys. Up to 64 function keys are supported." msgstr "" -#: library/curses.rst:1449 +#: library/curses.rst:1451 msgid "``KEY_Fn``" msgstr "``KEY_Fn``" -#: library/curses.rst:1449 +#: library/curses.rst:1451 msgid "Value of function key *n*" msgstr "" -#: library/curses.rst:1451 +#: library/curses.rst:1453 msgid "``KEY_DL``" msgstr "``KEY_DL``" -#: library/curses.rst:1451 +#: library/curses.rst:1453 msgid "Delete line" msgstr "" -#: library/curses.rst:1453 +#: library/curses.rst:1455 msgid "``KEY_IL``" msgstr "``KEY_IL``" -#: library/curses.rst:1453 +#: library/curses.rst:1455 msgid "Insert line" msgstr "" -#: library/curses.rst:1455 +#: library/curses.rst:1457 msgid "``KEY_DC``" msgstr "``KEY_DC``" -#: library/curses.rst:1455 +#: library/curses.rst:1457 msgid "Delete character" msgstr "" -#: library/curses.rst:1457 +#: library/curses.rst:1459 msgid "``KEY_IC``" msgstr "``KEY_IC``" -#: library/curses.rst:1457 +#: library/curses.rst:1459 msgid "Insert char or enter insert mode" msgstr "" -#: library/curses.rst:1459 +#: library/curses.rst:1461 msgid "``KEY_EIC``" msgstr "``KEY_EIC``" -#: library/curses.rst:1459 +#: library/curses.rst:1461 msgid "Exit insert char mode" msgstr "" -#: library/curses.rst:1461 +#: library/curses.rst:1463 msgid "``KEY_CLEAR``" msgstr "``KEY_CLEAR``" -#: library/curses.rst:1461 +#: library/curses.rst:1463 msgid "Clear screen" msgstr "" -#: library/curses.rst:1463 +#: library/curses.rst:1465 msgid "``KEY_EOS``" msgstr "``KEY_EOS``" -#: library/curses.rst:1463 +#: library/curses.rst:1465 msgid "Clear to end of screen" msgstr "" -#: library/curses.rst:1465 +#: library/curses.rst:1467 msgid "``KEY_EOL``" msgstr "``KEY_EOL``" -#: library/curses.rst:1465 +#: library/curses.rst:1467 msgid "Clear to end of line" msgstr "" -#: library/curses.rst:1467 +#: library/curses.rst:1469 msgid "``KEY_SF``" msgstr "``KEY_SF``" -#: library/curses.rst:1467 +#: library/curses.rst:1469 msgid "Scroll 1 line forward" msgstr "" -#: library/curses.rst:1469 +#: library/curses.rst:1471 msgid "``KEY_SR``" msgstr "``KEY_SR``" -#: library/curses.rst:1469 +#: library/curses.rst:1471 msgid "Scroll 1 line backward (reverse)" msgstr "" -#: library/curses.rst:1471 +#: library/curses.rst:1473 msgid "``KEY_NPAGE``" msgstr "``KEY_NPAGE``" -#: library/curses.rst:1471 +#: library/curses.rst:1473 msgid "Next page" msgstr "" -#: library/curses.rst:1473 +#: library/curses.rst:1475 msgid "``KEY_PPAGE``" msgstr "``KEY_PPAGE``" -#: library/curses.rst:1473 +#: library/curses.rst:1475 msgid "Previous page" msgstr "" -#: library/curses.rst:1475 +#: library/curses.rst:1477 msgid "``KEY_STAB``" msgstr "``KEY_STAB``" -#: library/curses.rst:1475 +#: library/curses.rst:1477 msgid "Set tab" msgstr "" -#: library/curses.rst:1477 +#: library/curses.rst:1479 msgid "``KEY_CTAB``" msgstr "``KEY_CTAB``" -#: library/curses.rst:1477 +#: library/curses.rst:1479 msgid "Clear tab" msgstr "" -#: library/curses.rst:1479 +#: library/curses.rst:1481 msgid "``KEY_CATAB``" msgstr "``KEY_CATAB``" -#: library/curses.rst:1479 +#: library/curses.rst:1481 msgid "Clear all tabs" msgstr "" -#: library/curses.rst:1481 +#: library/curses.rst:1483 msgid "``KEY_ENTER``" msgstr "``KEY_ENTER``" -#: library/curses.rst:1481 +#: library/curses.rst:1483 msgid "Enter or send (unreliable)" msgstr "" -#: library/curses.rst:1483 +#: library/curses.rst:1485 msgid "``KEY_SRESET``" msgstr "``KEY_SRESET``" -#: library/curses.rst:1483 +#: library/curses.rst:1485 msgid "Soft (partial) reset (unreliable)" msgstr "" -#: library/curses.rst:1485 +#: library/curses.rst:1487 msgid "``KEY_RESET``" msgstr "``KEY_RESET``" -#: library/curses.rst:1485 +#: library/curses.rst:1487 msgid "Reset or hard reset (unreliable)" msgstr "" -#: library/curses.rst:1487 +#: library/curses.rst:1489 msgid "``KEY_PRINT``" msgstr "``KEY_PRINT``" -#: library/curses.rst:1487 +#: library/curses.rst:1489 msgid "Print" msgstr "" -#: library/curses.rst:1489 +#: library/curses.rst:1491 msgid "``KEY_LL``" msgstr "``KEY_LL``" -#: library/curses.rst:1489 +#: library/curses.rst:1491 msgid "Home down or bottom (lower left)" msgstr "" -#: library/curses.rst:1491 +#: library/curses.rst:1493 msgid "``KEY_A1``" msgstr "``KEY_A1``" -#: library/curses.rst:1491 +#: library/curses.rst:1493 msgid "Upper left of keypad" msgstr "" -#: library/curses.rst:1493 +#: library/curses.rst:1495 msgid "``KEY_A3``" msgstr "``KEY_A3``" -#: library/curses.rst:1493 +#: library/curses.rst:1495 msgid "Upper right of keypad" msgstr "" -#: library/curses.rst:1495 +#: library/curses.rst:1497 msgid "``KEY_B2``" msgstr "``KEY_B2``" -#: library/curses.rst:1495 +#: library/curses.rst:1497 msgid "Center of keypad" msgstr "" -#: library/curses.rst:1497 +#: library/curses.rst:1499 msgid "``KEY_C1``" msgstr "``KEY_C1``" -#: library/curses.rst:1497 +#: library/curses.rst:1499 msgid "Lower left of keypad" msgstr "" -#: library/curses.rst:1499 +#: library/curses.rst:1501 msgid "``KEY_C3``" msgstr "``KEY_C3``" -#: library/curses.rst:1499 +#: library/curses.rst:1501 msgid "Lower right of keypad" msgstr "" -#: library/curses.rst:1501 +#: library/curses.rst:1503 msgid "``KEY_BTAB``" msgstr "``KEY_BTAB``" -#: library/curses.rst:1501 +#: library/curses.rst:1503 msgid "Back tab" msgstr "" -#: library/curses.rst:1503 +#: library/curses.rst:1505 msgid "``KEY_BEG``" msgstr "``KEY_BEG``" -#: library/curses.rst:1503 +#: library/curses.rst:1505 msgid "Beg (beginning)" msgstr "" -#: library/curses.rst:1505 +#: library/curses.rst:1507 msgid "``KEY_CANCEL``" msgstr "``KEY_CANCEL``" -#: library/curses.rst:1505 +#: library/curses.rst:1507 msgid "Cancel" msgstr "" -#: library/curses.rst:1507 +#: library/curses.rst:1509 msgid "``KEY_CLOSE``" msgstr "``KEY_CLOSE``" -#: library/curses.rst:1507 +#: library/curses.rst:1509 msgid "Close" msgstr "*Close*" -#: library/curses.rst:1509 +#: library/curses.rst:1511 msgid "``KEY_COMMAND``" msgstr "``KEY_COMMAND``" -#: library/curses.rst:1509 +#: library/curses.rst:1511 msgid "Cmd (command)" msgstr "" -#: library/curses.rst:1511 +#: library/curses.rst:1513 msgid "``KEY_COPY``" msgstr "``KEY_COPY``" -#: library/curses.rst:1511 +#: library/curses.rst:1513 msgid "Copy" msgstr "*Copy*" -#: library/curses.rst:1513 +#: library/curses.rst:1515 msgid "``KEY_CREATE``" msgstr "``KEY_CREATE``" -#: library/curses.rst:1513 +#: library/curses.rst:1515 msgid "Create" msgstr "" -#: library/curses.rst:1515 +#: library/curses.rst:1517 msgid "``KEY_END``" msgstr "``KEY_END``" -#: library/curses.rst:1515 +#: library/curses.rst:1517 msgid "End" msgstr "" -#: library/curses.rst:1517 +#: library/curses.rst:1519 msgid "``KEY_EXIT``" msgstr "``KEY_EXIT``" -#: library/curses.rst:1517 +#: library/curses.rst:1519 msgid "Exit" msgstr "*Exit*" -#: library/curses.rst:1519 +#: library/curses.rst:1521 msgid "``KEY_FIND``" msgstr "``KEY_FIND``" -#: library/curses.rst:1519 +#: library/curses.rst:1521 msgid "Find" msgstr "" -#: library/curses.rst:1521 +#: library/curses.rst:1523 msgid "``KEY_HELP``" msgstr "``KEY_HELP``" -#: library/curses.rst:1521 +#: library/curses.rst:1523 msgid "Help" msgstr "" -#: library/curses.rst:1523 +#: library/curses.rst:1525 msgid "``KEY_MARK``" msgstr "``KEY_MARK``" -#: library/curses.rst:1523 +#: library/curses.rst:1525 msgid "Mark" msgstr "" -#: library/curses.rst:1525 +#: library/curses.rst:1527 msgid "``KEY_MESSAGE``" msgstr "``KEY_MESSAGE``" -#: library/curses.rst:1525 +#: library/curses.rst:1527 msgid "Message" msgstr "" -#: library/curses.rst:1527 +#: library/curses.rst:1529 msgid "``KEY_MOVE``" msgstr "``KEY_MOVE``" -#: library/curses.rst:1527 +#: library/curses.rst:1529 msgid "Move" msgstr "" -#: library/curses.rst:1529 +#: library/curses.rst:1531 msgid "``KEY_NEXT``" msgstr "``KEY_NEXT``" -#: library/curses.rst:1529 +#: library/curses.rst:1531 msgid "Next" msgstr "" -#: library/curses.rst:1531 +#: library/curses.rst:1533 msgid "``KEY_OPEN``" msgstr "``KEY_OPEN``" -#: library/curses.rst:1531 +#: library/curses.rst:1533 msgid "Open" msgstr "" -#: library/curses.rst:1533 +#: library/curses.rst:1535 msgid "``KEY_OPTIONS``" msgstr "``KEY_OPTIONS``" -#: library/curses.rst:1533 +#: library/curses.rst:1535 msgid "Options" msgstr "Options" -#: library/curses.rst:1535 +#: library/curses.rst:1537 msgid "``KEY_PREVIOUS``" msgstr "``KEY_PREVIOUS``" -#: library/curses.rst:1535 +#: library/curses.rst:1537 msgid "Prev (previous)" msgstr "" -#: library/curses.rst:1537 +#: library/curses.rst:1539 msgid "``KEY_REDO``" msgstr "``KEY_REDO``" -#: library/curses.rst:1537 +#: library/curses.rst:1539 msgid "Redo" msgstr "*Redo*" -#: library/curses.rst:1539 +#: library/curses.rst:1541 msgid "``KEY_REFERENCE``" msgstr "``KEY_REFERENCE``" -#: library/curses.rst:1539 +#: library/curses.rst:1541 msgid "Ref (reference)" msgstr "" -#: library/curses.rst:1541 +#: library/curses.rst:1543 msgid "``KEY_REFRESH``" msgstr "``KEY_REFRESH``" -#: library/curses.rst:1541 +#: library/curses.rst:1543 msgid "Refresh" msgstr "" -#: library/curses.rst:1543 +#: library/curses.rst:1545 msgid "``KEY_REPLACE``" msgstr "``KEY_REPLACE``" -#: library/curses.rst:1543 +#: library/curses.rst:1545 msgid "Replace" msgstr "" -#: library/curses.rst:1545 +#: library/curses.rst:1547 msgid "``KEY_RESTART``" msgstr "``KEY_RESTART``" -#: library/curses.rst:1545 +#: library/curses.rst:1547 msgid "Restart" msgstr "" -#: library/curses.rst:1547 +#: library/curses.rst:1549 msgid "``KEY_RESUME``" msgstr "``KEY_RESUME``" -#: library/curses.rst:1547 +#: library/curses.rst:1549 msgid "Resume" msgstr "" -#: library/curses.rst:1549 +#: library/curses.rst:1551 msgid "``KEY_SAVE``" msgstr "``KEY_SAVE``" -#: library/curses.rst:1549 +#: library/curses.rst:1551 msgid "Save" msgstr "*Save*" -#: library/curses.rst:1551 +#: library/curses.rst:1553 msgid "``KEY_SBEG``" msgstr "``KEY_SBEG``" -#: library/curses.rst:1551 +#: library/curses.rst:1553 msgid "Shifted Beg (beginning)" msgstr "" -#: library/curses.rst:1553 +#: library/curses.rst:1555 msgid "``KEY_SCANCEL``" msgstr "``KEY_SCANCEL``" -#: library/curses.rst:1553 +#: library/curses.rst:1555 msgid "Shifted Cancel" msgstr "" -#: library/curses.rst:1555 +#: library/curses.rst:1557 msgid "``KEY_SCOMMAND``" msgstr "``KEY_SCOMMAND``" -#: library/curses.rst:1555 +#: library/curses.rst:1557 msgid "Shifted Command" msgstr "" -#: library/curses.rst:1557 +#: library/curses.rst:1559 msgid "``KEY_SCOPY``" msgstr "``KEY_SCOPY``" -#: library/curses.rst:1557 +#: library/curses.rst:1559 msgid "Shifted Copy" msgstr "" -#: library/curses.rst:1559 +#: library/curses.rst:1561 msgid "``KEY_SCREATE``" msgstr "``KEY_SCREATE``" -#: library/curses.rst:1559 +#: library/curses.rst:1561 msgid "Shifted Create" msgstr "" -#: library/curses.rst:1561 +#: library/curses.rst:1563 msgid "``KEY_SDC``" msgstr "``KEY_SDC``" -#: library/curses.rst:1561 +#: library/curses.rst:1563 msgid "Shifted Delete char" msgstr "" -#: library/curses.rst:1563 +#: library/curses.rst:1565 msgid "``KEY_SDL``" msgstr "``KEY_SDL``" -#: library/curses.rst:1563 +#: library/curses.rst:1565 msgid "Shifted Delete line" msgstr "" -#: library/curses.rst:1565 +#: library/curses.rst:1567 msgid "``KEY_SELECT``" msgstr "``KEY_SELECT``" -#: library/curses.rst:1565 +#: library/curses.rst:1567 msgid "Select" msgstr "" -#: library/curses.rst:1567 +#: library/curses.rst:1569 msgid "``KEY_SEND``" msgstr "``KEY_SEND``" -#: library/curses.rst:1567 +#: library/curses.rst:1569 msgid "Shifted End" msgstr "" -#: library/curses.rst:1569 +#: library/curses.rst:1571 msgid "``KEY_SEOL``" msgstr "``KEY_SEOL``" -#: library/curses.rst:1569 +#: library/curses.rst:1571 msgid "Shifted Clear line" msgstr "" -#: library/curses.rst:1571 +#: library/curses.rst:1573 msgid "``KEY_SEXIT``" msgstr "``KEY_SEXIT``" -#: library/curses.rst:1571 +#: library/curses.rst:1573 msgid "Shifted Exit" msgstr "" -#: library/curses.rst:1573 +#: library/curses.rst:1575 msgid "``KEY_SFIND``" msgstr "``KEY_SFIND``" -#: library/curses.rst:1573 +#: library/curses.rst:1575 msgid "Shifted Find" msgstr "" -#: library/curses.rst:1575 +#: library/curses.rst:1577 msgid "``KEY_SHELP``" msgstr "``KEY_SHELP``" -#: library/curses.rst:1575 +#: library/curses.rst:1577 msgid "Shifted Help" msgstr "" -#: library/curses.rst:1577 +#: library/curses.rst:1579 msgid "``KEY_SHOME``" msgstr "``KEY_SHOME``" -#: library/curses.rst:1577 +#: library/curses.rst:1579 msgid "Shifted Home" msgstr "" -#: library/curses.rst:1579 +#: library/curses.rst:1581 msgid "``KEY_SIC``" msgstr "``KEY_SIC``" -#: library/curses.rst:1579 +#: library/curses.rst:1581 msgid "Shifted Input" msgstr "" -#: library/curses.rst:1581 +#: library/curses.rst:1583 msgid "``KEY_SLEFT``" msgstr "``KEY_SLEFT``" -#: library/curses.rst:1581 +#: library/curses.rst:1583 msgid "Shifted Left arrow" msgstr "" -#: library/curses.rst:1583 +#: library/curses.rst:1585 msgid "``KEY_SMESSAGE``" msgstr "``KEY_SMESSAGE``" -#: library/curses.rst:1583 +#: library/curses.rst:1585 msgid "Shifted Message" msgstr "" -#: library/curses.rst:1585 +#: library/curses.rst:1587 msgid "``KEY_SMOVE``" msgstr "``KEY_SMOVE``" -#: library/curses.rst:1585 +#: library/curses.rst:1587 msgid "Shifted Move" msgstr "" -#: library/curses.rst:1587 +#: library/curses.rst:1589 msgid "``KEY_SNEXT``" msgstr "``KEY_SNEXT``" -#: library/curses.rst:1587 +#: library/curses.rst:1589 msgid "Shifted Next" msgstr "" -#: library/curses.rst:1589 +#: library/curses.rst:1591 msgid "``KEY_SOPTIONS``" msgstr "``KEY_SOPTIONS``" -#: library/curses.rst:1589 +#: library/curses.rst:1591 msgid "Shifted Options" msgstr "" -#: library/curses.rst:1591 +#: library/curses.rst:1593 msgid "``KEY_SPREVIOUS``" msgstr "``KEY_SPREVIOUS``" -#: library/curses.rst:1591 +#: library/curses.rst:1593 msgid "Shifted Prev" msgstr "" -#: library/curses.rst:1593 +#: library/curses.rst:1595 msgid "``KEY_SPRINT``" msgstr "``KEY_SPRINT``" -#: library/curses.rst:1593 +#: library/curses.rst:1595 msgid "Shifted Print" msgstr "" -#: library/curses.rst:1595 +#: library/curses.rst:1597 msgid "``KEY_SREDO``" msgstr "``KEY_SREDO``" -#: library/curses.rst:1595 +#: library/curses.rst:1597 msgid "Shifted Redo" msgstr "" -#: library/curses.rst:1597 +#: library/curses.rst:1599 msgid "``KEY_SREPLACE``" msgstr "``KEY_SREPLACE``" -#: library/curses.rst:1597 +#: library/curses.rst:1599 msgid "Shifted Replace" msgstr "" -#: library/curses.rst:1599 +#: library/curses.rst:1601 msgid "``KEY_SRIGHT``" msgstr "``KEY_SRIGHT``" -#: library/curses.rst:1599 +#: library/curses.rst:1601 msgid "Shifted Right arrow" msgstr "" -#: library/curses.rst:1601 +#: library/curses.rst:1603 msgid "``KEY_SRSUME``" msgstr "``KEY_SRSUME``" -#: library/curses.rst:1601 +#: library/curses.rst:1603 msgid "Shifted Resume" msgstr "" -#: library/curses.rst:1603 +#: library/curses.rst:1605 msgid "``KEY_SSAVE``" msgstr "``KEY_SSAVE``" -#: library/curses.rst:1603 +#: library/curses.rst:1605 msgid "Shifted Save" msgstr "" -#: library/curses.rst:1605 +#: library/curses.rst:1607 msgid "``KEY_SSUSPEND``" msgstr "``KEY_SSUSPEND``" -#: library/curses.rst:1605 +#: library/curses.rst:1607 msgid "Shifted Suspend" msgstr "" -#: library/curses.rst:1607 +#: library/curses.rst:1609 msgid "``KEY_SUNDO``" msgstr "``KEY_SUNDO``" -#: library/curses.rst:1607 +#: library/curses.rst:1609 msgid "Shifted Undo" msgstr "" -#: library/curses.rst:1609 +#: library/curses.rst:1611 msgid "``KEY_SUSPEND``" msgstr "``KEY_SUSPEND``" -#: library/curses.rst:1609 +#: library/curses.rst:1611 msgid "Suspend" msgstr "" -#: library/curses.rst:1611 +#: library/curses.rst:1613 msgid "``KEY_UNDO``" msgstr "``KEY_UNDO``" -#: library/curses.rst:1611 +#: library/curses.rst:1613 msgid "Undo" msgstr "*Undo*" -#: library/curses.rst:1613 +#: library/curses.rst:1615 msgid "``KEY_MOUSE``" msgstr "``KEY_MOUSE``" -#: library/curses.rst:1613 +#: library/curses.rst:1615 msgid "Mouse event has occurred" msgstr "" -#: library/curses.rst:1615 +#: library/curses.rst:1617 msgid "``KEY_RESIZE``" msgstr "``KEY_RESIZE``" -#: library/curses.rst:1615 +#: library/curses.rst:1617 msgid "Terminal resize event" msgstr "" -#: library/curses.rst:1617 +#: library/curses.rst:1619 msgid "``KEY_MAX``" msgstr "``KEY_MAX``" -#: library/curses.rst:1617 +#: library/curses.rst:1619 msgid "Maximum key value" msgstr "" -#: library/curses.rst:1620 +#: library/curses.rst:1622 msgid "" "On VT100s and their software emulations, such as X terminal emulators, there " "are normally at least four function keys (:const:`KEY_F1`, :const:`KEY_F2`, :" @@ -2465,63 +2469,63 @@ msgid "" "function keys); also, the following keypad mappings are standard:" msgstr "" -#: library/curses.rst:1629 +#: library/curses.rst:1631 msgid "Keycap" msgstr "" -#: library/curses.rst:1746 library/curses.rst:1870 +#: library/curses.rst:1748 library/curses.rst:1872 msgid "Constant" msgstr "Constante" -#: library/curses.rst:1631 +#: library/curses.rst:1633 msgid ":kbd:`Insert`" msgstr ":kbd:`Insert`" -#: library/curses.rst:1631 +#: library/curses.rst:1633 msgid "KEY_IC" msgstr "" -#: library/curses.rst:1633 +#: library/curses.rst:1635 msgid ":kbd:`Delete`" msgstr ":kbd:`Delete`" -#: library/curses.rst:1633 +#: library/curses.rst:1635 msgid "KEY_DC" msgstr "" -#: library/curses.rst:1635 +#: library/curses.rst:1637 msgid ":kbd:`Home`" msgstr ":kbd:`Home`" -#: library/curses.rst:1635 +#: library/curses.rst:1637 msgid "KEY_HOME" msgstr "KEY_HOME" -#: library/curses.rst:1637 +#: library/curses.rst:1639 msgid ":kbd:`End`" msgstr ":kbd:`End`" -#: library/curses.rst:1637 +#: library/curses.rst:1639 msgid "KEY_END" msgstr "KEY_END" -#: library/curses.rst:1639 +#: library/curses.rst:1641 msgid ":kbd:`Page Up`" msgstr ":kbd:`Page Up`" -#: library/curses.rst:1639 +#: library/curses.rst:1641 msgid "KEY_PPAGE" msgstr "KEY_PPAGE" -#: library/curses.rst:1641 +#: library/curses.rst:1643 msgid ":kbd:`Page Down`" msgstr ":kbd:`Page Down`" -#: library/curses.rst:1641 +#: library/curses.rst:1643 msgid "KEY_NPAGE" msgstr "KEY_NPAGE" -#: library/curses.rst:1644 +#: library/curses.rst:1646 msgid "" "The following table lists characters from the alternate character set. These " "are inherited from the VT100 terminal, and will generally be available on " @@ -2529,435 +2533,435 @@ msgid "" "available, curses falls back on a crude printable ASCII approximation." msgstr "" -#: library/curses.rst:1651 +#: library/curses.rst:1653 msgid "These are available only after :func:`initscr` has been called." msgstr "" -#: library/curses.rst:1654 +#: library/curses.rst:1656 msgid "ACS code" msgstr "" -#: library/curses.rst:1656 +#: library/curses.rst:1658 msgid "``ACS_BBSS``" msgstr "``ACS_BBSS``" -#: library/curses.rst:1656 +#: library/curses.rst:1658 msgid "alternate name for upper right corner" msgstr "" -#: library/curses.rst:1658 +#: library/curses.rst:1660 msgid "``ACS_BLOCK``" msgstr "``ACS_BLOCK``" -#: library/curses.rst:1658 +#: library/curses.rst:1660 msgid "solid square block" msgstr "" -#: library/curses.rst:1660 +#: library/curses.rst:1662 msgid "``ACS_BOARD``" msgstr "``ACS_BOARD``" -#: library/curses.rst:1660 +#: library/curses.rst:1662 msgid "board of squares" msgstr "" -#: library/curses.rst:1662 +#: library/curses.rst:1664 msgid "``ACS_BSBS``" msgstr "``ACS_BSBS``" -#: library/curses.rst:1662 +#: library/curses.rst:1664 msgid "alternate name for horizontal line" msgstr "" -#: library/curses.rst:1664 +#: library/curses.rst:1666 msgid "``ACS_BSSB``" msgstr "``ACS_BSSB``" -#: library/curses.rst:1664 +#: library/curses.rst:1666 msgid "alternate name for upper left corner" msgstr "" -#: library/curses.rst:1666 +#: library/curses.rst:1668 msgid "``ACS_BSSS``" msgstr "``ACS_BSSS``" -#: library/curses.rst:1666 +#: library/curses.rst:1668 msgid "alternate name for top tee" msgstr "" -#: library/curses.rst:1668 +#: library/curses.rst:1670 msgid "``ACS_BTEE``" msgstr "``ACS_BTEE``" -#: library/curses.rst:1668 +#: library/curses.rst:1670 msgid "bottom tee" msgstr "" -#: library/curses.rst:1670 +#: library/curses.rst:1672 msgid "``ACS_BULLET``" msgstr "``ACS_BULLET``" -#: library/curses.rst:1670 +#: library/curses.rst:1672 msgid "bullet" msgstr "" -#: library/curses.rst:1672 +#: library/curses.rst:1674 msgid "``ACS_CKBOARD``" msgstr "``ACS_CKBOARD``" -#: library/curses.rst:1672 +#: library/curses.rst:1674 msgid "checker board (stipple)" msgstr "" -#: library/curses.rst:1674 +#: library/curses.rst:1676 msgid "``ACS_DARROW``" msgstr "``ACS_DARROW``" -#: library/curses.rst:1674 +#: library/curses.rst:1676 msgid "arrow pointing down" msgstr "" -#: library/curses.rst:1676 +#: library/curses.rst:1678 msgid "``ACS_DEGREE``" msgstr "``ACS_DEGREE``" -#: library/curses.rst:1676 +#: library/curses.rst:1678 msgid "degree symbol" msgstr "" -#: library/curses.rst:1678 +#: library/curses.rst:1680 msgid "``ACS_DIAMOND``" msgstr "``ACS_DIAMOND``" -#: library/curses.rst:1678 +#: library/curses.rst:1680 msgid "diamond" msgstr "" -#: library/curses.rst:1680 +#: library/curses.rst:1682 msgid "``ACS_GEQUAL``" msgstr "``ACS_GEQUAL``" -#: library/curses.rst:1680 +#: library/curses.rst:1682 msgid "greater-than-or-equal-to" msgstr "" -#: library/curses.rst:1682 +#: library/curses.rst:1684 msgid "``ACS_HLINE``" msgstr "``ACS_HLINE``" -#: library/curses.rst:1682 +#: library/curses.rst:1684 msgid "horizontal line" msgstr "" -#: library/curses.rst:1684 +#: library/curses.rst:1686 msgid "``ACS_LANTERN``" msgstr "``ACS_LANTERN``" -#: library/curses.rst:1684 +#: library/curses.rst:1686 msgid "lantern symbol" msgstr "" -#: library/curses.rst:1686 +#: library/curses.rst:1688 msgid "``ACS_LARROW``" msgstr "``ACS_LARROW``" -#: library/curses.rst:1686 +#: library/curses.rst:1688 msgid "left arrow" msgstr "" -#: library/curses.rst:1688 +#: library/curses.rst:1690 msgid "``ACS_LEQUAL``" msgstr "``ACS_LEQUAL``" -#: library/curses.rst:1688 +#: library/curses.rst:1690 msgid "less-than-or-equal-to" msgstr "" -#: library/curses.rst:1690 +#: library/curses.rst:1692 msgid "``ACS_LLCORNER``" msgstr "``ACS_LLCORNER``" -#: library/curses.rst:1690 +#: library/curses.rst:1692 msgid "lower left-hand corner" msgstr "" -#: library/curses.rst:1692 +#: library/curses.rst:1694 msgid "``ACS_LRCORNER``" msgstr "``ACS_LRCORNER``" -#: library/curses.rst:1692 +#: library/curses.rst:1694 msgid "lower right-hand corner" msgstr "" -#: library/curses.rst:1694 +#: library/curses.rst:1696 msgid "``ACS_LTEE``" msgstr "``ACS_LTEE``" -#: library/curses.rst:1694 +#: library/curses.rst:1696 msgid "left tee" msgstr "" -#: library/curses.rst:1696 +#: library/curses.rst:1698 msgid "``ACS_NEQUAL``" msgstr "``ACS_NEQUAL``" -#: library/curses.rst:1696 +#: library/curses.rst:1698 msgid "not-equal sign" msgstr "" -#: library/curses.rst:1698 +#: library/curses.rst:1700 msgid "``ACS_PI``" msgstr "``ACS_PI``" -#: library/curses.rst:1698 +#: library/curses.rst:1700 msgid "letter pi" msgstr "" -#: library/curses.rst:1700 +#: library/curses.rst:1702 msgid "``ACS_PLMINUS``" msgstr "``ACS_PLMINUS``" -#: library/curses.rst:1700 +#: library/curses.rst:1702 msgid "plus-or-minus sign" msgstr "" -#: library/curses.rst:1702 +#: library/curses.rst:1704 msgid "``ACS_PLUS``" msgstr "``ACS_PLUS``" -#: library/curses.rst:1702 +#: library/curses.rst:1704 msgid "big plus sign" msgstr "" -#: library/curses.rst:1704 +#: library/curses.rst:1706 msgid "``ACS_RARROW``" msgstr "``ACS_RARROW``" -#: library/curses.rst:1704 +#: library/curses.rst:1706 msgid "right arrow" msgstr "" -#: library/curses.rst:1706 +#: library/curses.rst:1708 msgid "``ACS_RTEE``" msgstr "``ACS_RTEE``" -#: library/curses.rst:1706 +#: library/curses.rst:1708 msgid "right tee" msgstr "" -#: library/curses.rst:1708 +#: library/curses.rst:1710 msgid "``ACS_S1``" msgstr "``ACS_S1``" -#: library/curses.rst:1708 +#: library/curses.rst:1710 msgid "scan line 1" msgstr "" -#: library/curses.rst:1710 +#: library/curses.rst:1712 msgid "``ACS_S3``" msgstr "``ACS_S3``" -#: library/curses.rst:1710 +#: library/curses.rst:1712 msgid "scan line 3" msgstr "" -#: library/curses.rst:1712 +#: library/curses.rst:1714 msgid "``ACS_S7``" msgstr "``ACS_S7``" -#: library/curses.rst:1712 +#: library/curses.rst:1714 msgid "scan line 7" msgstr "" -#: library/curses.rst:1714 +#: library/curses.rst:1716 msgid "``ACS_S9``" msgstr "``ACS_S9``" -#: library/curses.rst:1714 +#: library/curses.rst:1716 msgid "scan line 9" msgstr "" -#: library/curses.rst:1716 +#: library/curses.rst:1718 msgid "``ACS_SBBS``" msgstr "``ACS_SBBS``" -#: library/curses.rst:1716 +#: library/curses.rst:1718 msgid "alternate name for lower right corner" msgstr "" -#: library/curses.rst:1718 +#: library/curses.rst:1720 msgid "``ACS_SBSB``" msgstr "``ACS_SBSB``" -#: library/curses.rst:1718 +#: library/curses.rst:1720 msgid "alternate name for vertical line" msgstr "" -#: library/curses.rst:1720 +#: library/curses.rst:1722 msgid "``ACS_SBSS``" msgstr "``ACS_SBSS``" -#: library/curses.rst:1720 +#: library/curses.rst:1722 msgid "alternate name for right tee" msgstr "" -#: library/curses.rst:1722 +#: library/curses.rst:1724 msgid "``ACS_SSBB``" msgstr "``ACS_SSBB``" -#: library/curses.rst:1722 +#: library/curses.rst:1724 msgid "alternate name for lower left corner" msgstr "" -#: library/curses.rst:1724 +#: library/curses.rst:1726 msgid "``ACS_SSBS``" msgstr "``ACS_SSBS``" -#: library/curses.rst:1724 +#: library/curses.rst:1726 msgid "alternate name for bottom tee" msgstr "" -#: library/curses.rst:1726 +#: library/curses.rst:1728 msgid "``ACS_SSSB``" msgstr "``ACS_SSSB``" -#: library/curses.rst:1726 +#: library/curses.rst:1728 msgid "alternate name for left tee" msgstr "" -#: library/curses.rst:1728 +#: library/curses.rst:1730 msgid "``ACS_SSSS``" msgstr "``ACS_SSSS``" -#: library/curses.rst:1728 +#: library/curses.rst:1730 msgid "alternate name for crossover or big plus" msgstr "" -#: library/curses.rst:1730 +#: library/curses.rst:1732 msgid "``ACS_STERLING``" msgstr "``ACS_STERLING``" -#: library/curses.rst:1730 +#: library/curses.rst:1732 msgid "pound sterling" msgstr "" -#: library/curses.rst:1732 +#: library/curses.rst:1734 msgid "``ACS_TTEE``" msgstr "``ACS_TTEE``" -#: library/curses.rst:1732 +#: library/curses.rst:1734 msgid "top tee" msgstr "" -#: library/curses.rst:1734 +#: library/curses.rst:1736 msgid "``ACS_UARROW``" msgstr "``ACS_UARROW``" -#: library/curses.rst:1734 +#: library/curses.rst:1736 msgid "up arrow" msgstr "" -#: library/curses.rst:1736 +#: library/curses.rst:1738 msgid "``ACS_ULCORNER``" msgstr "``ACS_ULCORNER``" -#: library/curses.rst:1736 +#: library/curses.rst:1738 msgid "upper left corner" msgstr "" -#: library/curses.rst:1738 +#: library/curses.rst:1740 msgid "``ACS_URCORNER``" msgstr "``ACS_URCORNER``" -#: library/curses.rst:1738 +#: library/curses.rst:1740 msgid "upper right corner" msgstr "" -#: library/curses.rst:1740 +#: library/curses.rst:1742 msgid "``ACS_VLINE``" msgstr "``ACS_VLINE``" -#: library/curses.rst:1740 +#: library/curses.rst:1742 msgid "vertical line" msgstr "" -#: library/curses.rst:1743 +#: library/curses.rst:1745 msgid "The following table lists the predefined colors:" msgstr "" -#: library/curses.rst:1746 +#: library/curses.rst:1748 msgid "Color" msgstr "" -#: library/curses.rst:1748 +#: library/curses.rst:1750 msgid "``COLOR_BLACK``" msgstr "``COLOR_BLACK``" -#: library/curses.rst:1748 +#: library/curses.rst:1750 msgid "Black" msgstr "" -#: library/curses.rst:1750 +#: library/curses.rst:1752 msgid "``COLOR_BLUE``" msgstr "``COLOR_BLUE``" -#: library/curses.rst:1750 +#: library/curses.rst:1752 msgid "Blue" msgstr "" -#: library/curses.rst:1752 +#: library/curses.rst:1754 msgid "``COLOR_CYAN``" msgstr "``COLOR_CYAN``" -#: library/curses.rst:1752 +#: library/curses.rst:1754 msgid "Cyan (light greenish blue)" msgstr "" -#: library/curses.rst:1754 +#: library/curses.rst:1756 msgid "``COLOR_GREEN``" msgstr "``COLOR_GREEN``" -#: library/curses.rst:1754 +#: library/curses.rst:1756 msgid "Green" msgstr "" -#: library/curses.rst:1756 +#: library/curses.rst:1758 msgid "``COLOR_MAGENTA``" msgstr "``COLOR_MAGENTA``" -#: library/curses.rst:1756 +#: library/curses.rst:1758 msgid "Magenta (purplish red)" msgstr "" -#: library/curses.rst:1758 +#: library/curses.rst:1760 msgid "``COLOR_RED``" msgstr "``COLOR_RED``" -#: library/curses.rst:1758 +#: library/curses.rst:1760 msgid "Red" msgstr "" -#: library/curses.rst:1760 +#: library/curses.rst:1762 msgid "``COLOR_WHITE``" msgstr "``COLOR_WHITE``" -#: library/curses.rst:1760 +#: library/curses.rst:1762 msgid "White" msgstr "" -#: library/curses.rst:1762 +#: library/curses.rst:1764 msgid "``COLOR_YELLOW``" msgstr "``COLOR_YELLOW``" -#: library/curses.rst:1762 +#: library/curses.rst:1764 msgid "Yellow" msgstr "" -#: library/curses.rst:1767 +#: library/curses.rst:1769 msgid ":mod:`curses.textpad` --- Text input widget for curses programs" msgstr "" -#: library/curses.rst:1775 +#: library/curses.rst:1777 msgid "" "The :mod:`curses.textpad` module provides a :class:`Textbox` class that " "handles elementary text editing in a curses window, supporting a set of " @@ -2967,11 +2971,11 @@ msgid "" "purposes." msgstr "" -#: library/curses.rst:1781 +#: library/curses.rst:1783 msgid "The module :mod:`curses.textpad` defines the following function:" msgstr "" -#: library/curses.rst:1786 +#: library/curses.rst:1788 msgid "" "Draw a rectangle. The first argument must be a window object; the remaining " "arguments are coordinates relative to that window. The second and third " @@ -2983,15 +2987,15 @@ msgid "" "will be drawn with ASCII dashes, vertical bars, and plus signs." msgstr "" -#: library/curses.rst:1799 +#: library/curses.rst:1801 msgid "Textbox objects" msgstr "" -#: library/curses.rst:1801 +#: library/curses.rst:1803 msgid "You can instantiate a :class:`Textbox` object as follows:" msgstr "" -#: library/curses.rst:1806 +#: library/curses.rst:1808 msgid "" "Return a textbox widget object. The *win* argument should be a curses :ref:" "`window ` object in which the textbox is to be " @@ -3000,13 +3004,13 @@ msgid "" "instance's :attr:`stripspaces` flag is initially on." msgstr "" -#: library/curses.rst:1812 +#: library/curses.rst:1814 #, fuzzy msgid ":class:`Textbox` objects have the following methods:" msgstr "" "Les objets de la classe :class:`TestLoader` ont les attributs suivants :" -#: library/curses.rst:1817 +#: library/curses.rst:1819 msgid "" "This is the entry point you will normally use. It accepts editing " "keystrokes until one of the termination keystrokes is entered. If " @@ -3017,167 +3021,167 @@ msgid "" "`stripspaces` attribute." msgstr "" -#: library/curses.rst:1828 +#: library/curses.rst:1830 msgid "" "Process a single command keystroke. Here are the supported special " "keystrokes:" msgstr "" -#: library/curses.rst:1870 +#: library/curses.rst:1872 msgid "Keystroke" msgstr "" -#: library/curses.rst:1832 +#: library/curses.rst:1834 msgid "Action" msgstr "Action" -#: library/curses.rst:1834 +#: library/curses.rst:1836 msgid ":kbd:`Control-A`" msgstr ":kbd:`Control-A`" -#: library/curses.rst:1834 +#: library/curses.rst:1836 msgid "Go to left edge of window." msgstr "" -#: library/curses.rst:1872 +#: library/curses.rst:1874 msgid ":kbd:`Control-B`" msgstr ":kbd:`Control-B`" -#: library/curses.rst:1836 +#: library/curses.rst:1838 msgid "Cursor left, wrapping to previous line if appropriate." msgstr "" -#: library/curses.rst:1839 +#: library/curses.rst:1841 msgid ":kbd:`Control-D`" msgstr ":kbd:`Control-D`" -#: library/curses.rst:1839 +#: library/curses.rst:1841 msgid "Delete character under cursor." msgstr "" -#: library/curses.rst:1841 +#: library/curses.rst:1843 msgid ":kbd:`Control-E`" msgstr ":kbd:`Control-E`" -#: library/curses.rst:1841 +#: library/curses.rst:1843 msgid "Go to right edge (stripspaces off) or end of line (stripspaces on)." msgstr "" -#: library/curses.rst:1874 +#: library/curses.rst:1876 msgid ":kbd:`Control-F`" msgstr ":kbd:`Control-F`" -#: library/curses.rst:1844 +#: library/curses.rst:1846 msgid "Cursor right, wrapping to next line when appropriate." msgstr "" -#: library/curses.rst:1847 +#: library/curses.rst:1849 msgid ":kbd:`Control-G`" msgstr ":kbd:`Control-G`" -#: library/curses.rst:1847 +#: library/curses.rst:1849 msgid "Terminate, returning the window contents." msgstr "" -#: library/curses.rst:1849 +#: library/curses.rst:1851 msgid ":kbd:`Control-H`" msgstr ":kbd:`Control-H`" -#: library/curses.rst:1849 +#: library/curses.rst:1851 msgid "Delete character backward." msgstr "" -#: library/curses.rst:1851 +#: library/curses.rst:1853 msgid ":kbd:`Control-J`" msgstr ":kbd:`Control-J`" -#: library/curses.rst:1851 +#: library/curses.rst:1853 msgid "Terminate if the window is 1 line, otherwise insert newline." msgstr "" -#: library/curses.rst:1854 +#: library/curses.rst:1856 msgid ":kbd:`Control-K`" msgstr ":kbd:`Control-K`" -#: library/curses.rst:1854 +#: library/curses.rst:1856 msgid "If line is blank, delete it, otherwise clear to end of line." msgstr "" -#: library/curses.rst:1857 +#: library/curses.rst:1859 msgid ":kbd:`Control-L`" msgstr ":kbd:`Control-L`" -#: library/curses.rst:1857 +#: library/curses.rst:1859 msgid "Refresh screen." msgstr "" -#: library/curses.rst:1878 +#: library/curses.rst:1880 msgid ":kbd:`Control-N`" msgstr ":kbd:`Control-N`" -#: library/curses.rst:1859 +#: library/curses.rst:1861 msgid "Cursor down; move down one line." msgstr "" -#: library/curses.rst:1861 +#: library/curses.rst:1863 msgid ":kbd:`Control-O`" msgstr ":kbd:`Control-O`" -#: library/curses.rst:1861 +#: library/curses.rst:1863 msgid "Insert a blank line at cursor location." msgstr "" -#: library/curses.rst:1876 +#: library/curses.rst:1878 msgid ":kbd:`Control-P`" msgstr ":kbd:`Control-P`" -#: library/curses.rst:1863 +#: library/curses.rst:1865 msgid "Cursor up; move up one line." msgstr "" -#: library/curses.rst:1866 +#: library/curses.rst:1868 msgid "" "Move operations do nothing if the cursor is at an edge where the movement is " "not possible. The following synonyms are supported where possible:" msgstr "" -#: library/curses.rst:1872 +#: library/curses.rst:1874 msgid ":const:`KEY_LEFT`" msgstr ":const:`KEY_LEFT`" -#: library/curses.rst:1874 +#: library/curses.rst:1876 msgid ":const:`KEY_RIGHT`" msgstr ":const:`KEY_RIGHT`" -#: library/curses.rst:1876 +#: library/curses.rst:1878 msgid ":const:`KEY_UP`" msgstr ":const:`KEY_UP`" -#: library/curses.rst:1878 +#: library/curses.rst:1880 msgid ":const:`KEY_DOWN`" msgstr ":const:`KEY_DOWN`" -#: library/curses.rst:1880 +#: library/curses.rst:1882 msgid ":const:`KEY_BACKSPACE`" msgstr ":const:`KEY_BACKSPACE`" -#: library/curses.rst:1880 +#: library/curses.rst:1882 msgid ":kbd:`Control-h`" msgstr ":kbd:`Control-h`" -#: library/curses.rst:1883 +#: library/curses.rst:1885 msgid "" "All other keystrokes are treated as a command to insert the given character " "and move right (with line wrapping)." msgstr "" -#: library/curses.rst:1889 +#: library/curses.rst:1891 msgid "" "Return the window contents as a string; whether blanks in the window are " "included is affected by the :attr:`stripspaces` member." msgstr "" -#: library/curses.rst:1895 +#: library/curses.rst:1897 msgid "" "This attribute is a flag which controls the interpretation of blanks in the " "window. When it is on, trailing blanks on each line are ignored; any cursor " diff --git a/library/dataclasses.po b/library/dataclasses.po index 7d52d78ff1..ee7df24fc3 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-10-28 11:44+0200\n" "Last-Translator: David GIRAUD \n" "Language-Team: FRENCH \n" @@ -115,24 +115,24 @@ msgstr "" "sa signature). Ainsi, les trois usages suivants de :func:`dataclass` sont " "équivalents ::" -#: library/dataclasses.rst:86 +#: library/dataclasses.rst:87 msgid "The parameters to :func:`dataclass` are:" msgstr "Les paramètres de :func:`dataclass` sont les suivants :" -#: library/dataclasses.rst:88 +#: library/dataclasses.rst:89 msgid "" "``init``: If true (the default), a :meth:`__init__` method will be generated." msgstr "" "*init* : si vrai (par défaut), une méthode :meth:`__init__` est générée." -#: library/dataclasses.rst:91 +#: library/dataclasses.rst:92 msgid "" "If the class already defines :meth:`__init__`, this parameter is ignored." msgstr "" "Si la classe définit déjà une méthode :meth:`__init__`, ce paramètre est " "ignoré." -#: library/dataclasses.rst:94 +#: library/dataclasses.rst:95 msgid "" "``repr``: If true (the default), a :meth:`__repr__` method will be " "generated. The generated repr string will have the class name and the name " @@ -148,14 +148,14 @@ msgstr "" "sont ignorés. Par exemple : ``InventoryItem(name='widget', unit_price=3.0, " "quantity_on_hand=10)``." -#: library/dataclasses.rst:101 +#: library/dataclasses.rst:102 msgid "" "If the class already defines :meth:`__repr__`, this parameter is ignored." msgstr "" "Si la classe définit déjà une méthode :meth:`__repr__`, ce paramètre est " "ignoré." -#: library/dataclasses.rst:104 +#: library/dataclasses.rst:105 msgid "" "``eq``: If true (the default), an :meth:`__eq__` method will be generated. " "This method compares the class as if it were a tuple of its fields, in " @@ -166,13 +166,13 @@ msgstr "" "des *n*-uplet de leurs champs, pris dans l’ordre. Les deux instances dans la " "comparaison doivent être de même type." -#: library/dataclasses.rst:109 +#: library/dataclasses.rst:110 msgid "If the class already defines :meth:`__eq__`, this parameter is ignored." msgstr "" "Si la classe définit déjà une méthode :meth:`__eq__`, ce paramètre est " "ignoré." -#: library/dataclasses.rst:112 +#: library/dataclasses.rst:113 msgid "" "``order``: If true (the default is ``False``), :meth:`__lt__`, :meth:" "`__le__`, :meth:`__gt__`, and :meth:`__ge__` methods will be generated. " @@ -187,7 +187,7 @@ msgstr "" "comparaison doivent être de même type. Si ``order`` est vrai mais que " "``eq`` est faux, une :exc:`ValueError` est levée." -#: library/dataclasses.rst:119 +#: library/dataclasses.rst:120 msgid "" "If the class already defines any of :meth:`__lt__`, :meth:`__le__`, :meth:" "`__gt__`, or :meth:`__ge__`, then :exc:`TypeError` is raised." @@ -196,7 +196,7 @@ msgstr "" "`__le__`, :meth:`__gt__`, ou :meth:`__ge__`, alors une :exc:`TypeError` est " "levée." -#: library/dataclasses.rst:123 +#: library/dataclasses.rst:124 msgid "" "``unsafe_hash``: If ``False`` (the default), a :meth:`__hash__` method is " "generated according to how ``eq`` and ``frozen`` are set." @@ -204,7 +204,7 @@ msgstr "" "*unsafe_hash* : si ``False`` (par défaut), une méthode :meth:`__hash__` est " "générée et son comportement dépend des valeurs de *eq* et *frozen*." -#: library/dataclasses.rst:126 +#: library/dataclasses.rst:127 msgid "" ":meth:`__hash__` is used by built-in :meth:`hash()`, and when objects are " "added to hashed collections such as dictionaries and sets. Having a :meth:" @@ -221,7 +221,7 @@ msgstr "" "et du comportement de la méthode :meth:`__eq__`, et des valeurs des options " "*eq* et *frozen* dans l’appel au décorateur :func:`dataclass`." -#: library/dataclasses.rst:133 +#: library/dataclasses.rst:134 msgid "" "By default, :func:`dataclass` will not implicitly add a :meth:`__hash__` " "method unless it is safe to do so. Neither will it add or change an " @@ -236,7 +236,7 @@ msgstr "" "signification particulière, comme précisé dans la documentation de :meth:" "`__hash__`." -#: library/dataclasses.rst:139 +#: library/dataclasses.rst:140 msgid "" "If :meth:`__hash__` is not explicitly defined, or if it is set to ``None``, " "then :func:`dataclass` *may* add an implicit :meth:`__hash__` method. " @@ -254,7 +254,7 @@ msgstr "" "s'agit là d'un cas particulier qui doit être considéré avec la plus grande " "prudence." -#: library/dataclasses.rst:146 +#: library/dataclasses.rst:147 msgid "" "Here are the rules governing implicit creation of a :meth:`__hash__` " "method. Note that you cannot both have an explicit :meth:`__hash__` method " @@ -266,7 +266,7 @@ msgstr "" "méthode :meth:`__hash__` explicite dans votre classe de données et définir " "``unsafe_hash=True`` ; cela lèvera une :exc:`TypeError`." -#: library/dataclasses.rst:151 +#: library/dataclasses.rst:152 msgid "" "If ``eq`` and ``frozen`` are both true, by default :func:`dataclass` will " "generate a :meth:`__hash__` method for you. If ``eq`` is true and " @@ -285,7 +285,7 @@ msgstr "" "parente sera utilisée (si la classe parente est :class:`object`, le " "comportement est un hachage basé sur les id)." -#: library/dataclasses.rst:159 +#: library/dataclasses.rst:160 msgid "" "``frozen``: If true (the default is ``False``), assigning to fields will " "generate an exception. This emulates read-only frozen instances. If :meth:" @@ -298,7 +298,7 @@ msgstr "" "sur la classe, alors une :exc:`TypeError` est levée. Voir la discussion ci-" "dessous." -#: library/dataclasses.rst:164 +#: library/dataclasses.rst:165 msgid "" "``match_args``: If true (the default is ``True``), the ``__match_args__`` " "tuple will be created from the list of parameters to the generated :meth:" @@ -312,7 +312,7 @@ msgstr "" "générée, voir ci-dessus). Si faux ou si ``__match_args__`` est déjà défini " "dans la classe alors ``__match_args__`` n'est pas créé." -#: library/dataclasses.rst:173 +#: library/dataclasses.rst:174 msgid "" "``kw_only``: If true (the default value is ``False``), then all fields will " "be marked as keyword-only. If a field is marked as keyword-only, then the " @@ -331,7 +331,7 @@ msgstr "" "glossaire pour plus d'informations. Voir également la section :const:" "`KW_ONLY`." -#: library/dataclasses.rst:184 +#: library/dataclasses.rst:185 msgid "" "``slots``: If true (the default is ``False``), :attr:`__slots__` attribute " "will be generated and new class will be returned instead of the original " @@ -343,7 +343,7 @@ msgstr "" "celle d'origine. Si :attr:`__slots__` est déjà défini dans la classe alors " "une :exc:`TypeError` est levée." -#: library/dataclasses.rst:191 +#: library/dataclasses.rst:192 msgid "" "``field``\\s may optionally specify a default value, using normal Python " "syntax::" @@ -351,7 +351,7 @@ msgstr "" "Les champs peuvent éventuellement préciser une valeur par défaut, en " "utilisant la syntaxe Python normale ::" -#: library/dataclasses.rst:199 +#: library/dataclasses.rst:200 msgid "" "In this example, both ``a`` and ``b`` will be included in the added :meth:" "`__init__` method, which will be defined as::" @@ -359,7 +359,7 @@ msgstr "" "Dans cet exemple, ``a`` et ``b`` sont tous deux inclus dans la signature de " "la méthode générée :meth:`__init__`, qui est définie comme suit ::" -#: library/dataclasses.rst:204 +#: library/dataclasses.rst:205 msgid "" ":exc:`TypeError` will be raised if a field without a default value follows a " "field with a default value. This is true whether this occurs in a single " @@ -369,7 +369,7 @@ msgstr "" "après un champ avec une valeur par défaut. C’est le cas que ce soit dans " "une seule classe ou si c’est le résultat d’un héritage de classes." -#: library/dataclasses.rst:210 +#: library/dataclasses.rst:211 msgid "" "For common and simple use cases, no other functionality is required. There " "are, however, some dataclass features that require additional per-field " @@ -383,7 +383,7 @@ msgstr "" "remplir ces métadonnées, il suffit de mettre un appel à la fonction :func:" "`field` à la place de la valeur par défaut, comme dans cet exemple :" -#: library/dataclasses.rst:223 +#: library/dataclasses.rst:224 msgid "" "As shown above, the :const:`MISSING` value is a sentinel object used to " "detect if some parameters are provided by the user. This sentinel is used " @@ -397,11 +397,11 @@ msgstr "" "`MISSING` est interne au module et ne doit pas être utilisée dans vos " "programmes." -#: library/dataclasses.rst:228 +#: library/dataclasses.rst:229 msgid "The parameters to :func:`field` are:" msgstr "Les paramètres de :func:`field` sont :" -#: library/dataclasses.rst:230 +#: library/dataclasses.rst:231 msgid "" "``default``: If provided, this will be the default value for this field. " "This is needed because the :meth:`field` call itself replaces the normal " @@ -411,7 +411,7 @@ msgstr "" "L'appel à :meth:`field` est mis à la place normale de la valeur par défaut, " "d'où la nécessité de ce paramètre." -#: library/dataclasses.rst:234 +#: library/dataclasses.rst:235 msgid "" "``default_factory``: If provided, it must be a zero-argument callable that " "will be called when a default value is needed for this field. Among other " @@ -425,7 +425,7 @@ msgstr "" "les valeurs par défaut sont muables. Une erreur se produit si *default* et " "*default_factory* sont donnés tous les deux." -#: library/dataclasses.rst:240 +#: library/dataclasses.rst:241 msgid "" "``init``: If true (the default), this field is included as a parameter to " "the generated :meth:`__init__` method." @@ -433,7 +433,7 @@ msgstr "" "*init* : si vrai (par défaut), la méthode :meth:`__init__` générée possède " "un paramètre correspondant à ce champ." -#: library/dataclasses.rst:243 +#: library/dataclasses.rst:244 msgid "" "``repr``: If true (the default), this field is included in the string " "returned by the generated :meth:`__repr__` method." @@ -441,7 +441,7 @@ msgstr "" "*repr* : si vrai (par défaut), le champ est inclus dans les chaînes " "construites par la méthode :meth:`__repr__` générée." -#: library/dataclasses.rst:246 +#: library/dataclasses.rst:247 msgid "" "``hash``: This can be a bool or ``None``. If true, this field is included " "in the generated :meth:`__hash__` method. If ``None`` (the default), use " @@ -456,7 +456,7 @@ msgstr "" "hachage les champs employés pour les comparaisons. Il est déconseillé de " "mettre ce paramètre à autre chose que ``None``." -#: library/dataclasses.rst:253 +#: library/dataclasses.rst:254 msgid "" "One possible reason to set ``hash=False`` but ``compare=True`` would be if a " "field is expensive to compute a hash value for, that field is needed for " @@ -471,7 +471,7 @@ msgstr "" "moment, on peut alors se passer du champ dans le hachage tout en le faisant " "participer aux comparaisons." -#: library/dataclasses.rst:259 +#: library/dataclasses.rst:260 msgid "" "``compare``: If true (the default), this field is included in the generated " "equality and comparison methods (:meth:`__eq__`, :meth:`__gt__`, et al.)." @@ -480,7 +480,7 @@ msgstr "" "comparaisons d'égalité et d'inégalité dans les méthodes générées :meth:" "`__eq__`, :meth:`__gt__`, etc." -#: library/dataclasses.rst:263 +#: library/dataclasses.rst:264 msgid "" "``metadata``: This can be a mapping or None. None is treated as an empty " "dict. This value is wrapped in :func:`~types.MappingProxyType` to make it " @@ -494,7 +494,7 @@ msgstr "" "tableau associatif devient accessible sur l'objet :class:`Field`, sous la " "forme d'un :func:`~types.MappingProxyType` afin qu'il soit en lecture seule." -#: library/dataclasses.rst:271 +#: library/dataclasses.rst:272 msgid "" "``kw_only``: If true, this field will be marked as keyword-only. This is " "used when the generated :meth:`__init__` method's parameters are computed." @@ -503,7 +503,7 @@ msgstr "" "est utilisé lors du traitement des paramètres de la méthode :meth:`__init__` " "générée." -#: library/dataclasses.rst:277 +#: library/dataclasses.rst:278 msgid "" "If the default value of a field is specified by a call to :func:`field()`, " "then the class attribute for this field will be replaced by the specified " @@ -521,7 +521,7 @@ msgstr "" "des champs exactement comme si elles avaient été définies directement. Par " "exemple :" -#: library/dataclasses.rst:293 +#: library/dataclasses.rst:294 msgid "" "The class attribute ``C.z`` will be ``10``, the class attribute ``C.t`` will " "be ``20``, and the class attributes ``C.x`` and ``C.y`` will not be set." @@ -530,7 +530,7 @@ msgstr "" "l'attribut ``C.t`` vaut ``20``, alors que les attributs ``C.x`` et ``C.y`` " "n'existent pas." -#: library/dataclasses.rst:299 +#: library/dataclasses.rst:300 msgid "" ":class:`Field` objects describe each defined field. These objects are " "created internally, and are returned by the :func:`fields` module-level " @@ -543,15 +543,15 @@ msgstr "" "instancier un objet :class:`Field` eux-mêmes. Les attributs documentés sont " "les suivants :" -#: library/dataclasses.rst:304 +#: library/dataclasses.rst:305 msgid "``name``: The name of the field." msgstr "*name* : le nom du champ ;" -#: library/dataclasses.rst:306 +#: library/dataclasses.rst:307 msgid "``type``: The type of the field." msgstr "*type* : le type associé au champ par l'annotation ;" -#: library/dataclasses.rst:308 +#: library/dataclasses.rst:309 msgid "" "``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, " "``metadata``, and ``kw_only`` have the identical meaning and values as they " @@ -561,7 +561,7 @@ msgstr "" "et *kw_only* qui correspondent aux paramètres de :func:`field` et en " "prennent les valeurs." -#: library/dataclasses.rst:312 +#: library/dataclasses.rst:313 msgid "" "Other attributes may exist, but they are private and must not be inspected " "or relied on." @@ -569,7 +569,7 @@ msgstr "" "D'autres attributs peuvent exister, mais ils sont privés et ne sont pas " "censés être inspectés. Le code ne doit jamais reposer sur eux." -#: library/dataclasses.rst:317 +#: library/dataclasses.rst:318 msgid "" "Returns a tuple of :class:`Field` objects that define the fields for this " "dataclass. Accepts either a dataclass, or an instance of a dataclass. " @@ -582,7 +582,7 @@ msgstr "" "telle classe ; si ce n'est pas le cas, une exception :exc:`TypeError` est " "levée." -#: library/dataclasses.rst:324 +#: library/dataclasses.rst:325 msgid "" "Converts the dataclass ``obj`` to a dict (by using the factory function " "``dict_factory``). Each dataclass is converted to a dict of its fields, as " @@ -595,19 +595,19 @@ msgstr "" "données sont parcourus récursivement. Les autres objets sont copiés avec :" "func:`copy.deepcopy`." -#: library/dataclasses.rst:330 +#: library/dataclasses.rst:331 msgid "Example of using :func:`asdict` on nested dataclasses::" msgstr "" "Exemple d'utilisation de :func:`asdict` sur des classes de données " "imbriquées ::" -#: library/dataclasses.rst:367 +#: library/dataclasses.rst:368 msgid "To create a shallow copy, the following workaround may be used::" msgstr "" "Pour créer une copie superficielle, la solution de contournement suivante " "peut être utilisée ::" -#: library/dataclasses.rst:351 +#: library/dataclasses.rst:352 msgid "" ":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " "instance." @@ -615,7 +615,7 @@ msgstr "" ":func:`asdict` lève :exc:`TypeError` si ``obj`` n'est pas une instance d'une " "classe de données." -#: library/dataclasses.rst:356 +#: library/dataclasses.rst:357 msgid "" "Converts the dataclass ``obj`` to a tuple (by using the factory function " "``tuple_factory``). Each dataclass is converted to a tuple of its field " @@ -628,11 +628,11 @@ msgstr "" "récursivement sur les dictionnaires, listes et *n*-uplets. Les autres objets " "sont copiés avec :func:`copy.deepcopy`." -#: library/dataclasses.rst:362 +#: library/dataclasses.rst:363 msgid "Continuing from the previous example::" msgstr "Pour continuer l'exemple précédent :" -#: library/dataclasses.rst:371 +#: library/dataclasses.rst:372 msgid "" ":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " "instance." @@ -640,7 +640,7 @@ msgstr "" ":func:`astuple` lève :exc:`TypeError` si ``obj`` n'est pas une instance " "d'une classe de données." -#: library/dataclasses.rst:376 +#: library/dataclasses.rst:377 msgid "" "Creates a new dataclass with name ``cls_name``, fields as defined in " "``fields``, base classes as given in ``bases``, and initialized with a " @@ -661,7 +661,7 @@ msgstr "" "*march_args*, *kw_only* et *slots*, sont les mêmes que dans :func:" "`dataclass`." -#: library/dataclasses.rst:386 +#: library/dataclasses.rst:387 msgid "" "This function is not strictly required, because any Python mechanism for " "creating a new class with ``__annotations__`` can then apply the :func:" @@ -673,11 +673,11 @@ msgstr "" "``__annotation__`` et de lui appliquer la fonction :func:`dataclass`, qui la " "convertit en une classe de données. Par exemple, ceci :" -#: library/dataclasses.rst:398 +#: library/dataclasses.rst:399 msgid "Is equivalent to::" msgstr "est équivalent à ::" -#: library/dataclasses.rst:411 +#: library/dataclasses.rst:412 msgid "" "Creates a new object of the same type as ``obj``, replacing fields with " "values from ``changes``. If ``obj`` is not a Data Class, raises :exc:" @@ -689,7 +689,7 @@ msgstr "" "données, :exc:`TypeError` est levée. Si une clé dans ``changes`` ne " "correspond à aucun champ de l'instance, :exc:`TypeError` est levée." -#: library/dataclasses.rst:416 +#: library/dataclasses.rst:417 msgid "" "The newly returned object is created by calling the :meth:`__init__` method " "of the dataclass. This ensures that :meth:`__post_init__`, if present, is " @@ -699,7 +699,7 @@ msgstr "" "classe de données, ce qui garantit que :meth:`__post_init__` est appelée (si " "elle existe)." -#: library/dataclasses.rst:420 +#: library/dataclasses.rst:421 msgid "" "Init-only variables without default values, if any exist, must be specified " "on the call to :func:`replace` so that they can be passed to :meth:" @@ -709,7 +709,7 @@ msgstr "" "il faut l'inclure dans l'appel à :func:`replace` afin qu'il soit passé à :" "meth:`__init__` et :meth:`__post_init__`." -#: library/dataclasses.rst:424 +#: library/dataclasses.rst:425 msgid "" "It is an error for ``changes`` to contain any fields that are defined as " "having ``init=False``. A :exc:`ValueError` will be raised in this case." @@ -717,7 +717,7 @@ msgstr "" "Si une clé de *changes* correspond à un champ défini avec ``init=False``, :" "exc:`ValueError` est levée." -#: library/dataclasses.rst:428 +#: library/dataclasses.rst:429 msgid "" "Be forewarned about how ``init=False`` fields work during a call to :func:" "`replace`. They are not copied from the source object, but rather are " @@ -735,7 +735,7 @@ msgstr "" "instances par des constructeurs de classe alternatifs, ou bien une méthode " "personnalisée ``replace()`` (ou un nom similaire)." -#: library/dataclasses.rst:439 +#: library/dataclasses.rst:440 msgid "" "Return ``True`` if its parameter is a dataclass or an instance of one, " "otherwise return ``False``." @@ -743,7 +743,7 @@ msgstr "" "Renvoie ``True`` si l'argument est soit une classe de données, soit une " "instance d'une telle classe. Sinon, renvoie ``False``." -#: library/dataclasses.rst:442 +#: library/dataclasses.rst:443 msgid "" "If you need to know if a class is an instance of a dataclass (and not a " "dataclass itself), then add a further check for ``not isinstance(obj, " @@ -753,13 +753,13 @@ msgstr "" "non pas lui-même une classe de données, ajoutez le test ``not " "isinstance(obj, type)`` ::" -#: library/dataclasses.rst:451 +#: library/dataclasses.rst:452 msgid "A sentinel value signifying a missing default or default_factory." msgstr "" "Une valeur sentinelle pour dénoter l'absence de *default* ou " "*default_factory*." -#: library/dataclasses.rst:455 +#: library/dataclasses.rst:456 msgid "" "A sentinel value used as a type annotation. Any fields after a pseudo-field " "with the type of :const:`KW_ONLY` are marked as keyword-only fields. Note " @@ -778,14 +778,14 @@ msgstr "" "exclusivement nommés doivent être spécifiés par leur nom lors de " "l'instanciation de la classe." -#: library/dataclasses.rst:464 +#: library/dataclasses.rst:465 msgid "" "In this example, the fields ``y`` and ``z`` will be marked as keyword-only " "fields::" msgstr "" "Dans cette exemple ``y`` et ``z`` sont marqués comme exclusivement nommés ::" -#: library/dataclasses.rst:475 +#: library/dataclasses.rst:476 msgid "" "In a single dataclass, it is an error to specify more than one field whose " "type is :const:`KW_ONLY`." @@ -793,7 +793,7 @@ msgstr "" "Une erreur est levée s'il y a plus d'un champ de type :const:`KW_ONLY` dans " "une unique classe de données." -#: library/dataclasses.rst:482 +#: library/dataclasses.rst:483 msgid "" "Raised when an implicitly defined :meth:`__setattr__` or :meth:`__delattr__` " "is called on a dataclass which was defined with ``frozen=True``. It is a " @@ -803,11 +803,11 @@ msgstr "" "`__setattr__` ou :meth:`__delattr__` définie implicitement est appelée dans " "une classe de données définie avec ``frozen=True``." -#: library/dataclasses.rst:487 +#: library/dataclasses.rst:488 msgid "Post-init processing" msgstr "Post-initialisation" -#: library/dataclasses.rst:489 +#: library/dataclasses.rst:490 msgid "" "The generated :meth:`__init__` code will call a method named :meth:" "`__post_init__`, if :meth:`__post_init__` is defined on the class. It will " @@ -824,7 +824,7 @@ msgstr "" "qu'elles ont été fournies à :meth:`__init__`. Si la classe est créée avec " "``init=False``, :meth:`__post_init__` n'est jamais appelée automatiquement." -#: library/dataclasses.rst:497 +#: library/dataclasses.rst:498 msgid "" "Among other uses, this allows for initializing field values that depend on " "one or more other fields. For example::" @@ -832,7 +832,7 @@ msgstr "" "Cette méthode permet, entre autres, d'initialiser des champs qui dépendent " "d'autres champs. Par exemple :" -#: library/dataclasses.rst:509 +#: library/dataclasses.rst:510 msgid "" "The :meth:`__init__` method generated by :func:`dataclass` does not call " "base class :meth:`__init__` methods. If the base class has an :meth:" @@ -844,7 +844,7 @@ msgstr "" "`dataclass`. S'il faut appeler ces méthodes :meth:`__init__`, il est courant " "de le faire dans :meth:`__post_init__` :" -#: library/dataclasses.rst:526 +#: library/dataclasses.rst:527 msgid "" "Note, however, that in general the dataclass-generated :meth:`__init__` " "methods don't need to be called, since the derived dataclass will take care " @@ -855,7 +855,7 @@ msgstr "" "classe de données, car la classe fille initialise elle-même les champs " "apportés par toute classe mère qui est aussi une classe de données." -#: library/dataclasses.rst:530 +#: library/dataclasses.rst:531 msgid "" "See the section below on init-only variables for ways to pass parameters to :" "meth:`__post_init__`. Also see the warning about how :func:`replace` " @@ -866,14 +866,15 @@ msgstr "" "l'avertissement sur le traitement par :func:`replace` des champs définis " "avec ``init=False``." -#: library/dataclasses.rst:535 +#: library/dataclasses.rst:536 msgid "Class variables" msgstr "Variables de classe" -#: library/dataclasses.rst:537 +#: library/dataclasses.rst:538 +#, fuzzy msgid "" -"One of two places where :func:`dataclass` actually inspects the type of a " -"field is to determine if a field is a class variable as defined in :pep:" +"One of the few places where :func:`dataclass` actually inspects the type of " +"a field is to determine if a field is a class variable as defined in :pep:" "`526`. It does this by checking if the type of the field is ``typing." "ClassVar``. If a field is a ``ClassVar``, it is excluded from consideration " "as a field and is ignored by the dataclass mechanisms. Such ``ClassVar`` " @@ -886,13 +887,14 @@ msgstr "" "complètement ignorés du point de vue des classes de données. Ils " "n'apparaissent pas dans le résultat de :func:`fields`." -#: library/dataclasses.rst:546 +#: library/dataclasses.rst:547 msgid "Init-only variables" msgstr "Variables d'initialisation" -#: library/dataclasses.rst:548 +#: library/dataclasses.rst:549 +#, fuzzy msgid "" -"The other place where :func:`dataclass` inspects a type annotation is to " +"Another place where :func:`dataclass` inspects a type annotation is to " "determine if a field is an init-only variable. It does this by seeing if " "the type of a field is of type ``dataclasses.InitVar``. If a field is an " "``InitVar``, it is considered a pseudo-field called an init-only field. As " @@ -909,7 +911,7 @@ msgstr "" "Leurs valeurs sont passées à :meth:`__post_init__`, si cette méthode existe. " "C'est la seule manière dont elles sont utilisées." -#: library/dataclasses.rst:558 +#: library/dataclasses.rst:559 msgid "" "For example, suppose a field will be initialized from a database, if a value " "is not provided when creating the class::" @@ -917,7 +919,7 @@ msgstr "" "On peut par exemple imaginer un champ initialisé à partir d'une base de " "données s'il n'a pas reçu de valeur explicite :" -#: library/dataclasses.rst:573 +#: library/dataclasses.rst:574 msgid "" "In this case, :func:`fields` will return :class:`Field` objects for ``i`` " "and ``j``, but not for ``database``." @@ -925,11 +927,11 @@ msgstr "" "Ici, :func:`fields` renvoie des objets :class:`Field` correspondant à ``i`` " "et à ``j``, mais pas à ``database``." -#: library/dataclasses.rst:577 +#: library/dataclasses.rst:578 msgid "Frozen instances" msgstr "Instances figées" -#: library/dataclasses.rst:579 +#: library/dataclasses.rst:580 msgid "" "It is not possible to create truly immutable Python objects. However, by " "passing ``frozen=True`` to the :meth:`dataclass` decorator you can emulate " @@ -943,7 +945,7 @@ msgstr "" "lui fait générer des méthodes :meth:`__setattr__` et :meth:`__delattr__`. " "Celles-ci lèvent systématiquement l'exception :exc:`FrozenInstanceError`." -#: library/dataclasses.rst:585 +#: library/dataclasses.rst:586 msgid "" "There is a tiny performance penalty when using ``frozen=True``: :meth:" "`__init__` cannot use simple assignment to initialize fields, and must use :" @@ -953,11 +955,11 @@ msgstr "" "`__init__` doit passer par :meth:`object.__setattr__` au lieu de simples " "affectations pour initialiser les champs." -#: library/dataclasses.rst:590 +#: library/dataclasses.rst:591 msgid "Inheritance" msgstr "Héritage" -#: library/dataclasses.rst:592 +#: library/dataclasses.rst:593 msgid "" "When the dataclass is being created by the :meth:`dataclass` decorator, it " "looks through all of the class's base classes in reverse MRO (that is, " @@ -977,7 +979,7 @@ msgstr "" "tableau associatif. Puisqu'il est ordonné, les champs des classes filles " "écrasent ceux des classes mères. Voici un exemple :" -#: library/dataclasses.rst:612 +#: library/dataclasses.rst:613 msgid "" "The final list of fields is, in order, ``x``, ``y``, ``z``. The final type " "of ``x`` is ``int``, as specified in class ``C``." @@ -985,16 +987,16 @@ msgstr "" "La liste finale des champs contient, dans l'ordre, ``x``, ``y``, ``z``. Le " "type de ``x`` est ``int``, comme déclaré dans ``C``." -#: library/dataclasses.rst:615 +#: library/dataclasses.rst:616 msgid "The generated :meth:`__init__` method for ``C`` will look like::" msgstr "La méthode :meth:`__init__` générée pour ``C`` ressemble à :" -#: library/dataclasses.rst:620 +#: library/dataclasses.rst:621 msgid "Re-ordering of keyword-only parameters in :meth:`__init__`" msgstr "" "Réarrangement des paramètres exclusivement nommés dans :meth:`__init__`" -#: library/dataclasses.rst:622 +#: library/dataclasses.rst:623 msgid "" "After the parameters needed for :meth:`__init__` are computed, any keyword-" "only parameters are moved to come after all regular (non-keyword-only) " @@ -1007,7 +1009,7 @@ msgstr "" "les paramètres exclusivement nommés sont implémentés en Python : ils sont " "après les paramètres non exclusivement nommés." -#: library/dataclasses.rst:628 +#: library/dataclasses.rst:629 msgid "" "In this example, ``Base.y``, ``Base.w``, and ``D.t`` are keyword-only " "fields, and ``Base.x`` and ``D.z`` are regular fields::" @@ -1016,11 +1018,11 @@ msgstr "" "exclusivement nommés alors que ``Base.x`` et ``D.z`` sont des champs " "normaux ::" -#: library/dataclasses.rst:643 +#: library/dataclasses.rst:644 msgid "The generated :meth:`__init__` method for ``D`` will look like::" msgstr "La méthode :meth:`__init__` générée pour ``D`` ressemble à ::" -#: library/dataclasses.rst:647 +#: library/dataclasses.rst:648 msgid "" "Note that the parameters have been re-ordered from how they appear in the " "list of fields: parameters derived from regular fields are followed by " @@ -1030,7 +1032,7 @@ msgstr "" "la liste des champs : les paramètres provenant des attributs normaux sont " "suivis par les paramètres qui proviennent des attributs exclusivement nommés." -#: library/dataclasses.rst:651 +#: library/dataclasses.rst:652 msgid "" "The relative ordering of keyword-only parameters is maintained in the re-" "ordered :meth:`__init__` parameter list." @@ -1038,11 +1040,11 @@ msgstr "" "L'ordre relatif des paramètres exclusivement nommés est conservé par le " "réarrangement des paramètres d'\\ :meth:`__init__`." -#: library/dataclasses.rst:656 +#: library/dataclasses.rst:657 msgid "Default factory functions" msgstr "Fabriques de valeurs par défaut" -#: library/dataclasses.rst:658 +#: library/dataclasses.rst:659 msgid "" "If a :func:`field` specifies a ``default_factory``, it is called with zero " "arguments when a default value for the field is needed. For example, to " @@ -1052,7 +1054,7 @@ msgstr "" "qui est appelée sans argument pour fournir des valeurs par défaut. Par " "exemple, voici comment donner la valeur par défaut d'une liste vide :" -#: library/dataclasses.rst:664 +#: library/dataclasses.rst:665 msgid "" "If a field is excluded from :meth:`__init__` (using ``init=False``) and the " "field also specifies ``default_factory``, then the default factory function " @@ -1064,11 +1066,11 @@ msgstr "" "chaque nouvelle instance, puisque c'est le seul moyen d'obtenir une valeur à " "laquelle initialiser le champ." -#: library/dataclasses.rst:671 +#: library/dataclasses.rst:672 msgid "Mutable default values" msgstr "Valeurs par défaut muables" -#: library/dataclasses.rst:673 +#: library/dataclasses.rst:674 msgid "" "Python stores default member variable values in class attributes. Consider " "this example, not using dataclasses::" @@ -1076,7 +1078,7 @@ msgstr "" "En Python, les valeurs par défaut des attributs sont stockées dans des " "attributs de la classe. Observez cet exemple, sans classe de données :" -#: library/dataclasses.rst:688 +#: library/dataclasses.rst:689 msgid "" "Note that the two instances of class ``C`` share the same class variable " "``x``, as expected." @@ -1084,15 +1086,15 @@ msgstr "" "Comme attendu, les deux instances de ``C`` partagent le même objet pour " "l'attribut ``x``." -#: library/dataclasses.rst:691 +#: library/dataclasses.rst:692 msgid "Using dataclasses, *if* this code was valid::" msgstr "Avec les classes de données, si ce code était valide :" -#: library/dataclasses.rst:699 +#: library/dataclasses.rst:700 msgid "it would generate code similar to::" msgstr "il générerait un code équivalent à :" -#: library/dataclasses.rst:710 +#: library/dataclasses.rst:711 msgid "" "This has the same issue as the original example using class ``C``. That is, " "two instances of class ``D`` that do not specify a value for ``x`` when " @@ -1114,7 +1116,7 @@ msgstr "" "``set`` est détectée. Cette solution n'est pas parfaite, mais permet " "d'éviter la majorité des erreurs." -#: library/dataclasses.rst:721 +#: library/dataclasses.rst:722 msgid "" "Using default factory functions is a way to create new instances of mutable " "types as default values for fields::" @@ -1122,31 +1124,31 @@ msgstr "" "Pour qu'un champ d'un type muable soit par défaut initialisé à un nouvel " "objet pour chaque instance, utilisez une fonction de fabrique :" -#: library/dataclasses.rst:731 +#: library/dataclasses.rst:732 msgid "Descriptor-typed fields" msgstr "" -#: library/dataclasses.rst:733 +#: library/dataclasses.rst:734 msgid "" "Fields that are assigned :ref:`descriptor objects ` as their " "default value have the following special behaviors:" msgstr "" -#: library/dataclasses.rst:736 +#: library/dataclasses.rst:737 msgid "" "The value for the field passed to the dataclass's ``__init__`` method is " "passed to the descriptor's ``__set__`` method rather than overwriting the " "descriptor object." msgstr "" -#: library/dataclasses.rst:739 +#: library/dataclasses.rst:740 msgid "" "Similarly, when getting or setting the field, the descriptor's ``__get__`` " "or ``__set__`` method is called rather than returning or overwriting the " "descriptor object." msgstr "" -#: library/dataclasses.rst:742 +#: library/dataclasses.rst:743 msgid "" "To determine whether a field contains a default value, ``dataclasses`` will " "call the descriptor's ``__get__`` method using its class access form (i.e. " @@ -1156,7 +1158,7 @@ msgid "" "default value will be provided for the field." msgstr "" -#: library/dataclasses.rst:777 +#: library/dataclasses.rst:778 msgid "" "Note that if a field is annotated with a descriptor type, but is not " "assigned a descriptor object as its default value, the field will act like a " diff --git a/library/datetime.po b/library/datetime.po index 22ddbe679b..1dcdba29b1 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-18 17:37+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" @@ -266,9 +266,10 @@ msgstr "" "`timezone` partagent les caractéristiques suivantes :" #: library/datetime.rst:157 +#, fuzzy msgid "" -"Objects of these types are hashable, meaning that they can be used as " -"dictionary keys." +"Objects of these types are :term:`hashable`, meaning that they can be used " +"as dictionary keys." msgstr "" "Les objets de ces types sont hachables, ce qui signifie qu'ils peuvent être " "utilisés comme clés de dictionnaire." @@ -2109,11 +2110,12 @@ msgstr "" "et que l'ajustement UTC fait déborder la limite de l'année." #: library/datetime.rst:1343 +#, fuzzy msgid "" "Because naive ``datetime`` objects are treated by many ``datetime`` methods " "as local times, it is preferred to use aware datetimes to represent times in " -"UTC; as a result, using ``utcfromtimetuple`` may give misleading results. If " -"you have a naive ``datetime`` representing UTC, use ``datetime." +"UTC; as a result, using :meth:`datetime.utctimetuple` may give misleading " +"results. If you have a naive ``datetime`` representing UTC, use ``datetime." "replace(tzinfo=timezone.utc)`` to make it aware, at which point you can use :" "meth:`.datetime.timetuple`." msgstr "" @@ -4114,9 +4116,10 @@ msgstr "" "``%Y`` ne sont pas interchangeables." #: library/datetime.rst:2572 +#, fuzzy msgid "" "When used with the :meth:`strptime` method, the leading zero is optional " -"for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%J``, ``%U``, " +"for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%j``, ``%U``, " "``%W``, and ``%V``. Format ``%y`` does require a leading zero." msgstr "" "Quand cette directive est utilisée avec la méthode :meth:`strptime`, le zéro " diff --git a/library/decimal.po b/library/decimal.po index b06a909bab..b668163885 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:52+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -49,11 +49,12 @@ msgstr "" "l'arithmétique décimale." #: library/decimal.rst:42 +#, fuzzy msgid "" -"Decimal numbers can be represented exactly. In contrast, numbers like :" -"const:`1.1` and :const:`2.2` do not have exact representations in binary " -"floating point. End users typically would not expect ``1.1 + 2.2`` to " -"display as :const:`3.3000000000000003` as it does with binary floating point." +"Decimal numbers can be represented exactly. In contrast, numbers like " +"``1.1`` and ``2.2`` do not have exact representations in binary floating " +"point. End users typically would not expect ``1.1 + 2.2`` to display as " +"``3.3000000000000003`` as it does with binary floating point." msgstr "" "Les nombres décimaux peuvent être représentés exactement en base décimale " "flottante. En revanche, des nombres tels que :const:`1.1` ou :const:`1.2` " @@ -63,11 +64,12 @@ msgstr "" "virgule flottante." #: library/decimal.rst:47 +#, fuzzy msgid "" "The exactness carries over into arithmetic. In decimal floating point, " "``0.1 + 0.1 + 0.1 - 0.3`` is exactly equal to zero. In binary floating " -"point, the result is :const:`5.5511151231257827e-017`. While near to zero, " -"the differences prevent reliable equality testing and differences can " +"point, the result is ``5.5511151231257827e-017``. While near to zero, the " +"differences prevent reliable equality testing and differences can " "accumulate. For this reason, decimal is preferred in accounting applications " "which have strict equality invariants." msgstr "" @@ -80,13 +82,14 @@ msgstr "" "applications comptables ayant des contraintes strictes de fiabilité." #: library/decimal.rst:54 +#, fuzzy msgid "" "The decimal module incorporates a notion of significant places so that " -"``1.30 + 1.20`` is :const:`2.50`. The trailing zero is kept to indicate " +"``1.30 + 1.20`` is ``2.50``. The trailing zero is kept to indicate " "significance. This is the customary presentation for monetary applications. " "For multiplication, the \"schoolbook\" approach uses all the figures in the " -"multiplicands. For instance, ``1.3 * 1.2`` gives :const:`1.56` while ``1.30 " -"* 1.20`` gives :const:`1.5600`." +"multiplicands. For instance, ``1.3 * 1.2`` gives ``1.56`` while ``1.30 * " +"1.20`` gives ``1.5600``." msgstr "" "Le module ``decimal`` incorpore la notion de chiffres significatifs, tels " "que ``1.30 + 1.20`` est égal à :const:`2.50`. Le dernier zéro n'est conservé " @@ -145,12 +148,13 @@ msgstr "" "contexte arithmétique et les signaux." #: library/decimal.rst:88 +#, fuzzy msgid "" "A decimal number is immutable. It has a sign, coefficient digits, and an " "exponent. To preserve significance, the coefficient digits do not truncate " -"trailing zeros. Decimals also include special values such as :const:" -"`Infinity`, :const:`-Infinity`, and :const:`NaN`. The standard also " -"differentiates :const:`-0` from :const:`+0`." +"trailing zeros. Decimals also include special values such as ``Infinity``, " +"``-Infinity``, and ``NaN``. The standard also differentiates ``-0`` from " +"``+0``." msgstr "" "Un ``Decimal`` est immuable. Il a un signe, un coefficient, et un exposant. " "Pour préserver le nombre de chiffres significatifs, les zéros en fin de " @@ -230,12 +234,13 @@ msgstr "" "gestion des signaux ::" #: library/decimal.rst:139 +#, fuzzy msgid "" "Decimal instances can be constructed from integers, strings, floats, or " "tuples. Construction from an integer or a float performs an exact conversion " "of the value of that integer or float. Decimal numbers include special " -"values such as :const:`NaN` which stands for \"Not a number\", positive and " -"negative :const:`Infinity`, and :const:`-0`::" +"values such as ``NaN`` which stands for \"Not a number\", positive and " +"negative ``Infinity``, and ``-0``::" msgstr "" "Les instances de ``Decimal`` peuvent être construites avec des ``int``, des " "``str``, des ``floats`` ou des ``tuples``. La construction depuis un entier " @@ -287,10 +292,11 @@ msgstr "" "instances de ``Decimal`` :" #: library/decimal.rst:253 +#, fuzzy msgid "" -"The :meth:`quantize` method rounds a number to a fixed exponent. This " -"method is useful for monetary applications that often round results to a " -"fixed number of places:" +"The :meth:`~Decimal.quantize` method rounds a number to a fixed exponent. " +"This method is useful for monetary applications that often round results to " +"a fixed number of places:" msgstr "" "La méthode :meth:`quantize` arrondit un nombre à un exposant fixe. Cette " "méthode est utile pour des applications monétaires qui arrondissent souvent " @@ -329,11 +335,12 @@ msgstr "" "sont activés dans cet objet." #: library/decimal.rst:299 +#, fuzzy msgid "" "Contexts also have signal flags for monitoring exceptional conditions " "encountered during computations. The flags remain set until explicitly " "cleared, so it is best to clear the flags before each set of monitored " -"computations by using the :meth:`clear_flags` method. ::" +"computations by using the :meth:`~Context.clear_flags` method. ::" msgstr "" "Les objets ``Context`` ont aussi des options pour détecter des opérations " "illégales lors des calculs. Ces options restent activées jusqu'à ce qu'elles " @@ -342,10 +349,11 @@ msgstr "" "meth:`clear_flags`. ::" #: library/decimal.rst:312 +#, fuzzy msgid "" -"The *flags* entry shows that the rational approximation to :const:`Pi` was " -"rounded (digits beyond the context precision were thrown away) and that the " -"result is inexact (some of the discarded digits were non-zero)." +"The *flags* entry shows that the rational approximation to pi was rounded " +"(digits beyond the context precision were thrown away) and that the result " +"is inexact (some of the discarded digits were non-zero)." msgstr "" "Les options montrent que l'approximation de :const:`Pi` par une fraction a " "été arrondie (les chiffres au delà de la précision spécifiée par l'objet " @@ -353,9 +361,10 @@ msgstr "" "chiffres tronqués étaient différents de zéro)." #: library/decimal.rst:316 +#, fuzzy msgid "" -"Individual traps are set using the dictionary in the :attr:`traps` field of " -"a context:" +"Individual traps are set using the dictionary in the :attr:`~Context.traps` " +"attribute of a context:" msgstr "" "L'activation des pièges se fait en utilisant un dictionnaire dans " "l'attribut :attr:`traps` de l'objet Context :" @@ -410,11 +419,12 @@ msgstr "" "pleine largeur ``'\\uff10'`` jusqu'à ``'\\uff19'``." #: library/decimal.rst:371 +#, fuzzy msgid "" -"If *value* is a :class:`tuple`, it should have three components, a sign (:" -"const:`0` for positive or :const:`1` for negative), a :class:`tuple` of " -"digits, and an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), " -"-3))`` returns ``Decimal('1.414')``." +"If *value* is a :class:`tuple`, it should have three components, a sign " +"(``0`` for positive or ``1`` for negative), a :class:`tuple` of digits, and " +"an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), -3))`` returns " +"``Decimal('1.414')``." msgstr "" "Si *value* est un :class:`tuple`, il doit avoir 3 éléments, le signe (:const:" "`0` pour positif ou :const:`1` pour négatif), un :class:`tuple` de chiffres, " @@ -448,11 +458,12 @@ msgstr "" "même si la précision du contexte est de 3." #: library/decimal.rst:387 +#, fuzzy msgid "" "The purpose of the *context* argument is determining what to do if *value* " "is a malformed string. If the context traps :const:`InvalidOperation`, an " "exception is raised; otherwise, the constructor returns a new Decimal with " -"the value of :const:`NaN`." +"the value of ``NaN``." msgstr "" "L'objectif de l'argument *context* est de déterminer ce que Python doit " "faire si *value* est une chaîne avec un mauvais format. Si l'option :const:" @@ -838,7 +849,7 @@ msgstr "" #: library/decimal.rst:703 msgid "" "Like ``max(self, other)`` except that the context rounding rule is applied " -"before returning and that :const:`NaN` values are either signaled or ignored " +"before returning and that ``NaN`` values are either signaled or ignored " "(depending on the context and whether they are signaling or quiet)." msgstr "" @@ -851,7 +862,7 @@ msgstr "" #: library/decimal.rst:715 msgid "" "Like ``min(self, other)`` except that the context rounding rule is applied " -"before returning and that :const:`NaN` values are either signaled or ignored " +"before returning and that ``NaN`` values are either signaled or ignored " "(depending on the context and whether they are signaling or quiet)." msgstr "" @@ -886,11 +897,10 @@ msgstr "" #: library/decimal.rst:746 msgid "" "Normalize the number by stripping the rightmost trailing zeros and " -"converting any result equal to :const:`Decimal('0')` to :const:" -"`Decimal('0e0')`. Used for producing canonical values for attributes of an " -"equivalence class. For example, ``Decimal('32.100')`` and " -"``Decimal('0.321000e+2')`` both normalize to the equivalent value " -"``Decimal('32.1')``." +"converting any result equal to ``Decimal('0')`` to ``Decimal('0e0')``. Used " +"for producing canonical values for attributes of an equivalence class. For " +"example, ``Decimal('32.100')`` and ``Decimal('0.321000e+2')`` both normalize " +"to the equivalent value ``Decimal('32.1')``." msgstr "" #: library/decimal.rst:755 @@ -984,7 +994,7 @@ msgstr "" #: library/decimal.rst:792 msgid "" "An error is returned whenever the resulting exponent is greater than :attr:" -"`Emax` or less than :attr:`Etiny`." +"`~Context.Emax` or less than :meth:`~Context.Etiny`." msgstr "" #: library/decimal.rst:797 @@ -1020,8 +1030,8 @@ msgstr "" #: library/decimal.rst:832 msgid "" -"Test whether self and other have the same exponent or whether both are :" -"const:`NaN`." +"Test whether self and other have the same exponent or whether both are " +"``NaN``." msgstr "" #: library/decimal.rst:841 @@ -1090,10 +1100,11 @@ msgstr "" #: library/decimal.rst:895 msgid "" -"The :meth:`logical_and`, :meth:`logical_invert`, :meth:`logical_or`, and :" -"meth:`logical_xor` methods expect their arguments to be *logical operands*. " -"A *logical operand* is a :class:`Decimal` instance whose exponent and sign " -"are both zero, and whose digits are all either :const:`0` or :const:`1`." +"The :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, :meth:" +"`~Decimal.logical_or`, and :meth:`~Decimal.logical_xor` methods expect their " +"arguments to be *logical operands*. A *logical operand* is a :class:" +"`Decimal` instance whose exponent and sign are both zero, and whose digits " +"are all either ``0`` or ``1``." msgstr "" #: library/decimal.rst:907 @@ -1173,9 +1184,9 @@ msgstr "" #: library/decimal.rst:968 msgid "" "Because the traps are disabled, this context is useful for applications that " -"prefer to have result value of :const:`NaN` or :const:`Infinity` instead of " -"raising exceptions. This allows an application to complete a run in the " -"presence of conditions that would otherwise halt the program." +"prefer to have result value of ``NaN`` or ``Infinity`` instead of raising " +"exceptions. This allows an application to complete a run in the presence of " +"conditions that would otherwise halt the program." msgstr "" #: library/decimal.rst:976 @@ -1202,9 +1213,9 @@ msgstr "" #: library/decimal.rst:988 msgid "" -"The default values are :attr:`prec`\\ =\\ :const:`28`, :attr:`rounding`\\ " -"=\\ :const:`ROUND_HALF_EVEN`, and enabled traps for :class:`Overflow`, :" -"class:`InvalidOperation`, and :class:`DivisionByZero`." +"The default values are :attr:`Context.prec`\\ =\\ ``28``, :attr:`Context." +"rounding`\\ =\\ :const:`ROUND_HALF_EVEN`, and enabled traps for :class:" +"`Overflow`, :class:`InvalidOperation`, and :class:`DivisionByZero`." msgstr "" #: library/decimal.rst:993 @@ -1222,8 +1233,8 @@ msgstr "" #: library/decimal.rst:1003 msgid "" -"*prec* is an integer in the range [:const:`1`, :const:`MAX_PREC`] that sets " -"the precision for arithmetic operations in the context." +"*prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets the " +"precision for arithmetic operations in the context." msgstr "" #: library/decimal.rst:1006 @@ -1241,35 +1252,35 @@ msgstr "" #: library/decimal.rst:1012 msgid "" "The *Emin* and *Emax* fields are integers specifying the outer limits " -"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, :" -"const:`0`], *Emax* in the range [:const:`0`, :const:`MAX_EMAX`]." +"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, " +"``0``], *Emax* in the range [``0``, :const:`MAX_EMAX`]." msgstr "" #: library/decimal.rst:1016 msgid "" -"The *capitals* field is either :const:`0` or :const:`1` (the default). If " -"set to :const:`1`, exponents are printed with a capital :const:`E`; " -"otherwise, a lowercase :const:`e` is used: :const:`Decimal('6.02e+23')`." +"The *capitals* field is either ``0`` or ``1`` (the default). If set to " +"``1``, exponents are printed with a capital ``E``; otherwise, a lowercase " +"``e`` is used: ``Decimal('6.02e+23')``." msgstr "" #: library/decimal.rst:1020 msgid "" -"The *clamp* field is either :const:`0` (the default) or :const:`1`. If set " -"to :const:`1`, the exponent ``e`` of a :class:`Decimal` instance " -"representable in this context is strictly limited to the range ``Emin - prec " -"+ 1 <= e <= Emax - prec + 1``. If *clamp* is :const:`0` then a weaker " -"condition holds: the adjusted exponent of the :class:`Decimal` instance is " -"at most ``Emax``. When *clamp* is :const:`1`, a large normal number will, " -"where possible, have its exponent reduced and a corresponding number of " -"zeros added to its coefficient, in order to fit the exponent constraints; " -"this preserves the value of the number but loses information about " -"significant trailing zeros. For example::" +"The *clamp* field is either ``0`` (the default) or ``1``. If set to ``1``, " +"the exponent ``e`` of a :class:`Decimal` instance representable in this " +"context is strictly limited to the range ``Emin - prec + 1 <= e <= Emax - " +"prec + 1``. If *clamp* is ``0`` then a weaker condition holds: the adjusted " +"exponent of the :class:`Decimal` instance is at most :attr:`~Context.Emax`. " +"When *clamp* is ``1``, a large normal number will, where possible, have its " +"exponent reduced and a corresponding number of zeros added to its " +"coefficient, in order to fit the exponent constraints; this preserves the " +"value of the number but loses information about significant trailing zeros. " +"For example::" msgstr "" #: library/decimal.rst:1035 msgid "" -"A *clamp* value of :const:`1` allows compatibility with the fixed-width " -"decimal interchange formats specified in IEEE 754." +"A *clamp* value of ``1`` allows compatibility with the fixed-width decimal " +"interchange formats specified in IEEE 754." msgstr "" #: library/decimal.rst:1038 @@ -1277,20 +1288,20 @@ msgid "" "The :class:`Context` class defines several general purpose methods as well " "as a large number of methods for doing arithmetic directly in a given " "context. In addition, for each of the :class:`Decimal` methods described " -"above (with the exception of the :meth:`adjusted` and :meth:`as_tuple` " -"methods) there is a corresponding :class:`Context` method. For example, for " -"a :class:`Context` instance ``C`` and :class:`Decimal` instance ``x``, ``C." -"exp(x)`` is equivalent to ``x.exp(context=C)``. Each :class:`Context` " -"method accepts a Python integer (an instance of :class:`int`) anywhere that " -"a Decimal instance is accepted." +"above (with the exception of the :meth:`~Decimal.adjusted` and :meth:" +"`~Decimal.as_tuple` methods) there is a corresponding :class:`Context` " +"method. For example, for a :class:`Context` instance ``C`` and :class:" +"`Decimal` instance ``x``, ``C.exp(x)`` is equivalent to ``x." +"exp(context=C)``. Each :class:`Context` method accepts a Python integer (an " +"instance of :class:`int`) anywhere that a Decimal instance is accepted." msgstr "" #: library/decimal.rst:1051 -msgid "Resets all of the flags to :const:`0`." +msgid "Resets all of the flags to ``0``." msgstr "" #: library/decimal.rst:1055 -msgid "Resets all of the traps to :const:`0`." +msgid "Resets all of the traps to ``0``." msgstr "" #: library/decimal.rst:1061 @@ -1670,27 +1681,33 @@ msgid "64-bit" msgstr "64-bit" #: library/decimal.rst:1472 -msgid ":const:`425000000`" +#, fuzzy +msgid "``425000000``" msgstr ":const:`425000000`" #: library/decimal.rst:1472 -msgid ":const:`999999999999999999`" +#, fuzzy +msgid "``999999999999999999``" msgstr ":const:`999999999999999999`" #: library/decimal.rst:1474 -msgid ":const:`-425000000`" +#, fuzzy +msgid "``-425000000``" msgstr ":const:`-425000000`" #: library/decimal.rst:1474 -msgid ":const:`-999999999999999999`" +#, fuzzy +msgid "``-999999999999999999``" msgstr ":const:`-999999999999999999`" #: library/decimal.rst:1476 -msgid ":const:`-849999999`" +#, fuzzy +msgid "``-849999999``" msgstr ":const:`-849999999`" #: library/decimal.rst:1476 -msgid ":const:`-1999999999999999997`" +#, fuzzy +msgid "``-1999999999999999997``" msgstr ":const:`-1999999999999999997`" #: library/decimal.rst:1482 @@ -1718,7 +1735,7 @@ msgid "Rounding modes" msgstr "Modes d'arrondi" #: library/decimal.rst:1501 -msgid "Round towards :const:`Infinity`." +msgid "Round towards ``Infinity``." msgstr "" #: library/decimal.rst:1505 @@ -1726,7 +1743,7 @@ msgid "Round towards zero." msgstr "" #: library/decimal.rst:1509 -msgid "Round towards :const:`-Infinity`." +msgid "Round towards ``-Infinity``." msgstr "" #: library/decimal.rst:1513 @@ -1784,8 +1801,8 @@ msgstr "" #: library/decimal.rst:1556 msgid "" "Typically, clamping occurs when an exponent falls outside the context's :" -"attr:`Emin` and :attr:`Emax` limits. If possible, the exponent is reduced " -"to fit by adding zeros to the coefficient." +"attr:`~Context.Emin` and :attr:`~Context.Emax` limits. If possible, the " +"exponent is reduced to fit by adding zeros to the coefficient." msgstr "" #: library/decimal.rst:1563 @@ -1799,9 +1816,8 @@ msgstr "" #: library/decimal.rst:1570 msgid "" "Can occur with division, modulo division, or when raising a number to a " -"negative power. If this signal is not trapped, returns :const:`Infinity` " -"or :const:`-Infinity` with the sign determined by the inputs to the " -"calculation." +"negative power. If this signal is not trapped, returns ``Infinity`` or ``-" +"Infinity`` with the sign determined by the inputs to the calculation." msgstr "" #: library/decimal.rst:1577 @@ -1822,7 +1838,7 @@ msgstr "" #: library/decimal.rst:1588 msgid "" "Indicates that an operation was requested that does not make sense. If not " -"trapped, returns :const:`NaN`. Possible causes include::" +"trapped, returns ``NaN``. Possible causes include::" msgstr "" #: library/decimal.rst:1604 @@ -1831,10 +1847,10 @@ msgstr "Débordement numérique." #: library/decimal.rst:1606 msgid "" -"Indicates the exponent is larger than :attr:`Emax` after rounding has " -"occurred. If not trapped, the result depends on the rounding mode, either " -"pulling inward to the largest representable finite number or rounding " -"outward to :const:`Infinity`. In either case, :class:`Inexact` and :class:" +"Indicates the exponent is larger than :attr:`Context.Emax` after rounding " +"has occurred. If not trapped, the result depends on the rounding mode, " +"either pulling inward to the largest representable finite number or rounding " +"outward to ``Infinity``. In either case, :class:`Inexact` and :class:" "`Rounded` are also signaled." msgstr "" @@ -1845,13 +1861,12 @@ msgstr "" #: library/decimal.rst:1617 msgid "" "Signaled whenever rounding discards digits; even if those digits are zero " -"(such as rounding :const:`5.00` to :const:`5.0`). If not trapped, returns " -"the result unchanged. This signal is used to detect loss of significant " -"digits." +"(such as rounding ``5.00`` to ``5.0``). If not trapped, returns the result " +"unchanged. This signal is used to detect loss of significant digits." msgstr "" #: library/decimal.rst:1625 -msgid "Exponent was lower than :attr:`Emin` prior to rounding." +msgid "Exponent was lower than :attr:`~Context.Emin` prior to rounding." msgstr "" #: library/decimal.rst:1627 @@ -1907,9 +1922,9 @@ msgstr "" #: library/decimal.rst:1682 msgid "" "The use of decimal floating point eliminates decimal representation error " -"(making it possible to represent :const:`0.1` exactly); however, some " -"operations can still incur round-off error when non-zero digits exceed the " -"fixed precision." +"(making it possible to represent ``0.1`` exactly); however, some operations " +"can still incur round-off error when non-zero digits exceed the fixed " +"precision." msgstr "" #: library/decimal.rst:1686 @@ -1934,8 +1949,8 @@ msgstr "" #: library/decimal.rst:1732 msgid "" "The number system for the :mod:`decimal` module provides special values " -"including :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:" -"`Infinity`, and two zeros, :const:`+0` and :const:`-0`." +"including ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, and two zeros, " +"``+0`` and ``-0``." msgstr "" #: library/decimal.rst:1736 @@ -1956,37 +1971,37 @@ msgstr "" #: library/decimal.rst:1745 msgid "" -"Some operations are indeterminate and return :const:`NaN`, or if the :exc:" +"Some operations are indeterminate and return ``NaN``, or if the :exc:" "`InvalidOperation` signal is trapped, raise an exception. For example, " -"``0/0`` returns :const:`NaN` which means \"not a number\". This variety of :" -"const:`NaN` is quiet and, once created, will flow through other computations " -"always resulting in another :const:`NaN`. This behavior can be useful for a " +"``0/0`` returns ``NaN`` which means \"not a number\". This variety of " +"``NaN`` is quiet and, once created, will flow through other computations " +"always resulting in another ``NaN``. This behavior can be useful for a " "series of computations that occasionally have missing inputs --- it allows " "the calculation to proceed while flagging specific results as invalid." msgstr "" #: library/decimal.rst:1753 msgid "" -"A variant is :const:`sNaN` which signals rather than remaining quiet after " -"every operation. This is a useful return value when an invalid result needs " -"to interrupt a calculation for special handling." +"A variant is ``sNaN`` which signals rather than remaining quiet after every " +"operation. This is a useful return value when an invalid result needs to " +"interrupt a calculation for special handling." msgstr "" #: library/decimal.rst:1757 msgid "" "The behavior of Python's comparison operators can be a little surprising " -"where a :const:`NaN` is involved. A test for equality where one of the " -"operands is a quiet or signaling :const:`NaN` always returns :const:`False` " -"(even when doing ``Decimal('NaN')==Decimal('NaN')``), while a test for " -"inequality always returns :const:`True`. An attempt to compare two Decimals " -"using any of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise the :" -"exc:`InvalidOperation` signal if either operand is a :const:`NaN`, and " -"return :const:`False` if this signal is not trapped. Note that the General " -"Decimal Arithmetic specification does not specify the behavior of direct " -"comparisons; these rules for comparisons involving a :const:`NaN` were taken " -"from the IEEE 854 standard (see Table 3 in section 5.7). To ensure strict " -"standards-compliance, use the :meth:`compare` and :meth:`compare-signal` " -"methods instead." +"where a ``NaN`` is involved. A test for equality where one of the operands " +"is a quiet or signaling ``NaN`` always returns :const:`False` (even when " +"doing ``Decimal('NaN')==Decimal('NaN')``), while a test for inequality " +"always returns :const:`True`. An attempt to compare two Decimals using any " +"of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise the :exc:" +"`InvalidOperation` signal if either operand is a ``NaN``, and return :const:" +"`False` if this signal is not trapped. Note that the General Decimal " +"Arithmetic specification does not specify the behavior of direct " +"comparisons; these rules for comparisons involving a ``NaN`` were taken from " +"the IEEE 854 standard (see Table 3 in section 5.7). To ensure strict " +"standards-compliance, use the :meth:`~Decimal.compare` and :meth:`~Decimal." +"compare_signal` methods instead." msgstr "" #: library/decimal.rst:1770 @@ -2076,8 +2091,9 @@ msgstr "" #: library/decimal.rst:2000 msgid "" -"A. The :meth:`quantize` method rounds to a fixed number of decimal places. " -"If the :const:`Inexact` trap is set, it is also useful for validation:" +"A. The :meth:`~Decimal.quantize` method rounds to a fixed number of decimal " +"places. If the :const:`Inexact` trap is set, it is also useful for " +"validation:" msgstr "" #: library/decimal.rst:2018 @@ -2089,11 +2105,12 @@ msgstr "" "cet invariant dans l'application ?" #: library/decimal.rst:2021 +#, fuzzy msgid "" "A. Some operations like addition, subtraction, and multiplication by an " "integer will automatically preserve fixed point. Others operations, like " "division and non-integer multiplication, will change the number of decimal " -"places and need to be followed-up with a :meth:`quantize` step:" +"places and need to be followed-up with a :meth:`~Decimal.quantize` step:" msgstr "" "R. Certaines opérations comme l'addition, la soustraction et la " "multiplication par un entier préservent automatiquement la virgule fixe. " @@ -2102,9 +2119,10 @@ msgstr "" "étape :meth:`quantize` :" #: library/decimal.rst:2039 +#, fuzzy msgid "" "In developing fixed-point applications, it is convenient to define functions " -"to handle the :meth:`quantize` step:" +"to handle the :meth:`~Decimal.quantize` step:" msgstr "" "Lors du développement d'applications en virgule fixe, il est pratique de " "définir des fonctions pour gérer cette étape de quantification par :meth:" @@ -2112,16 +2130,16 @@ msgstr "" #: library/decimal.rst:2052 msgid "" -"Q. There are many ways to express the same value. The numbers :const:" -"`200`, :const:`200.000`, :const:`2E2`, and :const:`.02E+4` all have the same " -"value at various precisions. Is there a way to transform them to a single " -"recognizable canonical value?" +"Q. There are many ways to express the same value. The numbers ``200``, " +"``200.000``, ``2E2``, and ``.02E+4`` all have the same value at various " +"precisions. Is there a way to transform them to a single recognizable " +"canonical value?" msgstr "" #: library/decimal.rst:2057 msgid "" -"A. The :meth:`normalize` method maps all equivalent values to a single " -"representative:" +"A. The :meth:`~Decimal.normalize` method maps all equivalent values to a " +"single representative:" msgstr "" #: library/decimal.rst:2064 @@ -2133,8 +2151,8 @@ msgstr "" #: library/decimal.rst:2067 msgid "" "A. For some values, exponential notation is the only way to express the " -"number of significant places in the coefficient. For example, expressing :" -"const:`5.0E+3` as :const:`5000` keeps the value constant but cannot show the " +"number of significant places in the coefficient. For example, expressing " +"``5.0E+3`` as ``5000`` keeps the value constant but cannot show the " "original's two-place significance." msgstr "" @@ -2218,15 +2236,15 @@ msgstr "" #: library/decimal.rst:2145 msgid "" "The context must be adapted for exact arbitrary precision arithmetic. :attr:" -"`Emin` and :attr:`Emax` should always be set to the maximum values, :attr:" -"`clamp` should always be 0 (the default). Setting :attr:`prec` requires " -"some care." +"`~Context.Emin` and :attr:`~Context.Emax` should always be set to the " +"maximum values, :attr:`~Context.clamp` should always be 0 (the default). " +"Setting :attr:`~Context.prec` requires some care." msgstr "" #: library/decimal.rst:2149 msgid "" "The easiest approach for trying out bignum arithmetic is to use the maximum " -"value for :attr:`prec` as well [#]_::" +"value for :attr:`~Context.prec` as well [#]_::" msgstr "" #: library/decimal.rst:2158 @@ -2238,9 +2256,9 @@ msgstr "" #: library/decimal.rst:2166 msgid "" "On systems with overallocation (e.g. Linux), a more sophisticated approach " -"is to adjust :attr:`prec` to the amount of available RAM. Suppose that you " -"have 8GB of RAM and expect 10 simultaneous operands using a maximum of 500MB " -"each::" +"is to adjust :attr:`~Context.prec` to the amount of available RAM. Suppose " +"that you have 8GB of RAM and expect 10 simultaneous operands using a maximum " +"of 500MB each::" msgstr "" #: library/decimal.rst:2190 diff --git a/library/email.mime.po b/library/email.mime.po index 57d779010e..db0e1404c7 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -158,9 +158,9 @@ msgstr "Module : :mod:`email.mime.application`" msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEApplication` class is used to represent MIME message objects of major " -"type :mimetype:`application`. *_data* is a string containing the raw byte " -"data. Optional *_subtype* specifies the MIME subtype and defaults to :" -"mimetype:`octet-stream`." +"type :mimetype:`application`. *_data* contains the bytes for the raw " +"application data. Optional *_subtype* specifies the MIME subtype and " +"defaults to :mimetype:`octet-stream`." msgstr "" #: library/email.mime.rst:121 @@ -187,7 +187,7 @@ msgstr "Module : :mod:`email.mime.audio`" msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEAudio` class is used to create MIME message objects of major type :" -"mimetype:`audio`. *_audiodata* is a string containing the raw audio data. " +"mimetype:`audio`. *_audiodata* contains the bytes for the raw audio data. " "If this data can be decoded by the standard Python module :mod:`sndhdr`, " "then the subtype will be automatically included in the :mailheader:`Content-" "Type` header. Otherwise you can explicitly specify the audio subtype via the " @@ -215,7 +215,7 @@ msgstr "Module : :mod:`email.mime.image`" msgid "" "A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" "`MIMEImage` class is used to create MIME message objects of major type :" -"mimetype:`image`. *_imagedata* is a string containing the raw image data. " +"mimetype:`image`. *_imagedata* contains the bytes for the raw image data. " "If this data can be decoded by the standard Python module :mod:`imghdr`, " "then the subtype will be automatically included in the :mailheader:`Content-" "Type` header. Otherwise you can explicitly specify the image subtype via the " diff --git a/library/ensurepip.po b/library/ensurepip.po index 154944c75b..8a9fa271d5 100644 --- a/library/ensurepip.po +++ b/library/ensurepip.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-10-17 12:41+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -19,7 +19,11 @@ msgstr "" msgid ":mod:`ensurepip` --- Bootstrapping the ``pip`` installer" msgstr ":mod:`ensurepip` — Amorçage de l'installateur ``pip``" -#: library/ensurepip.rst:12 +#: library/ensurepip.rst:10 +msgid "**Source code:** :source:`Lib/ensurepip`" +msgstr "" + +#: library/ensurepip.rst:14 msgid "" "The :mod:`ensurepip` package provides support for bootstrapping the ``pip`` " "installer into an existing Python installation or virtual environment. This " @@ -35,7 +39,7 @@ msgstr "" "``pip`` dans les mises à jour de maintenance de l'interpréteur CPython comme " "dans les nouvelles versions principales." -#: library/ensurepip.rst:19 +#: library/ensurepip.rst:21 msgid "" "In most cases, end users of Python shouldn't need to invoke this module " "directly (as ``pip`` should be bootstrapped by default), but it may be " @@ -48,7 +52,7 @@ msgstr "" "au moment de l'installation de Python (ou en créant un environnement " "virtuel), ou bien si ``pip`` a été désinstallé par l'utilisateur." -#: library/ensurepip.rst:27 +#: library/ensurepip.rst:29 msgid "" "This module *does not* access the internet. All of the components needed to " "bootstrap ``pip`` are included as internal parts of the package." @@ -56,40 +60,40 @@ msgstr "" "Ce module n'accède *pas* au réseau. Tout ce qu'il faut pour amorcer ``pip`` " "est compris dans le paquet." -#: library/ensurepip.rst:34 +#: library/ensurepip.rst:36 msgid ":ref:`installing-index`" msgstr ":ref:`installing-index`" -#: library/ensurepip.rst:34 +#: library/ensurepip.rst:36 msgid "The end user guide for installing Python packages" msgstr "Guide de l'utilisateur final pour installer des paquets Python" -#: library/ensurepip.rst:36 +#: library/ensurepip.rst:38 msgid ":pep:`453`: Explicit bootstrapping of pip in Python installations" msgstr "" ":pep:`453` : Amorçage explicite de pip dans les installations de Python" -#: library/ensurepip.rst:37 +#: library/ensurepip.rst:39 msgid "The original rationale and specification for this module." msgstr "" "Les motivations pour l'ajout de ce module et sa spécification d'origine" -#: library/ensurepip.rst:41 +#: library/ensurepip.rst:43 msgid "Command line interface" msgstr "Interface en ligne de commande" -#: library/ensurepip.rst:43 +#: library/ensurepip.rst:45 msgid "" "The command line interface is invoked using the interpreter's ``-m`` switch." msgstr "" "On fait appel à l'interface en ligne de commande à l'aide de l'option ``-m`` " "de l'interpréteur." -#: library/ensurepip.rst:45 +#: library/ensurepip.rst:47 msgid "The simplest possible invocation is::" msgstr "L'invocation la plus simple est ::" -#: library/ensurepip.rst:49 +#: library/ensurepip.rst:51 msgid "" "This invocation will install ``pip`` if it is not already installed, but " "otherwise does nothing. To ensure the installed version of ``pip`` is at " @@ -101,7 +105,7 @@ msgstr "" "récente que celle embarquée dans ``ensurepip``, passer l'option ``--" "upgrade`` ::" -#: library/ensurepip.rst:56 +#: library/ensurepip.rst:58 msgid "" "By default, ``pip`` is installed into the current virtual environment (if " "one is active) or into the system site packages (if there is no active " @@ -112,7 +116,7 @@ msgstr "" "en a un, ou bien dans le dossier ``site-packages`` du système. L'emplacement " "d'installation se règle à travers deux options :" -#: library/ensurepip.rst:61 +#: library/ensurepip.rst:63 msgid "" "``--root ``: Installs ``pip`` relative to the given root directory " "rather than the root of the currently active virtual environment (if any) or " @@ -122,7 +126,7 @@ msgstr "" "*dossier* au lieu de la racine de l'environnement virtuel ou la racine par " "défaut de l'installation de Python." -#: library/ensurepip.rst:64 +#: library/ensurepip.rst:66 msgid "" "``--user``: Installs ``pip`` into the user site packages directory rather " "than globally for the current Python installation (this option is not " @@ -132,7 +136,7 @@ msgstr "" "l'utilisateur au lieu du dossier global de l'installation de Python. Cette " "option n'est pas valide dans un environnement virtuel." -#: library/ensurepip.rst:68 +#: library/ensurepip.rst:70 msgid "" "By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y " "stands for the version of Python used to invoke ``ensurepip``). The scripts " @@ -142,7 +146,7 @@ msgstr "" "version de Python avec laquelle ``ensurepip`` est utilisé). Cela se contrôle " "par deux options supplémentaires :" -#: library/ensurepip.rst:73 +#: library/ensurepip.rst:75 msgid "" "``--altinstall``: if an alternate installation is requested, the ``pipX`` " "script will *not* be installed." @@ -150,7 +154,7 @@ msgstr "" "``--altinstall`` : dans ce mode d'« installation parallèle », seule la " "commande ``pipX.Y`` est ajoutée, et pas la commande ``pipX``." -#: library/ensurepip.rst:76 +#: library/ensurepip.rst:78 msgid "" "``--default-pip``: if a \"default pip\" installation is requested, the " "``pip`` script will be installed in addition to the two regular scripts." @@ -158,22 +162,22 @@ msgstr "" "``--default-pip`` : ce mode d'« installation de la version par défaut » crée " "la commande ``pip`` en plus de ``pipX`` et ``pipX.Y``." -#: library/ensurepip.rst:79 +#: library/ensurepip.rst:81 msgid "" "Providing both of the script selection options will trigger an exception." msgstr "Combiner ces deux options conduit à une exception." -#: library/ensurepip.rst:83 +#: library/ensurepip.rst:85 msgid "Module API" msgstr "API du module" -#: library/ensurepip.rst:85 +#: library/ensurepip.rst:87 msgid ":mod:`ensurepip` exposes two functions for programmatic use:" msgstr "" "Le module :mod:`ensurepip` définit deux fonctions pour utilisation dans les " "programmes :" -#: library/ensurepip.rst:89 +#: library/ensurepip.rst:91 msgid "" "Returns a string specifying the available version of pip that will be " "installed when bootstrapping an environment." @@ -181,12 +185,12 @@ msgstr "" "Renvoie, sous forme de chaîne, la version de ``pip`` qui serait installée " "par ``ensurepip``." -#: library/ensurepip.rst:96 +#: library/ensurepip.rst:98 msgid "Bootstraps ``pip`` into the current or designated environment." msgstr "" "Amorce ``pip`` dans l'environnement courant ou un environnement spécifique." -#: library/ensurepip.rst:98 +#: library/ensurepip.rst:100 msgid "" "*root* specifies an alternative root directory to install relative to. If " "*root* is ``None``, then installation uses the default install location for " @@ -196,7 +200,7 @@ msgstr "" "*root* vaut ``None`` (la valeur par défaut), l'installation se fait dans la " "racine par défaut pour l'environnement courant." -#: library/ensurepip.rst:102 +#: library/ensurepip.rst:104 msgid "" "*upgrade* indicates whether or not to upgrade an existing installation of an " "earlier version of ``pip`` to the available version." @@ -205,7 +209,7 @@ msgstr "" "version plus ancienne de ``pip`` déjà installée vers la version embarquée " "dans ``ensurepip``." -#: library/ensurepip.rst:105 +#: library/ensurepip.rst:107 msgid "" "*user* indicates whether to use the user scheme rather than installing " "globally." @@ -214,7 +218,7 @@ msgstr "" "disponible pour cet utilisateur uniquement, et non pour tous les " "utilisateurs de l'installation de Python." -#: library/ensurepip.rst:108 +#: library/ensurepip.rst:110 msgid "" "By default, the scripts ``pipX`` and ``pipX.Y`` will be installed (where X.Y " "stands for the current version of Python)." @@ -222,11 +226,11 @@ msgstr "" "Par défaut, les commandes créées sont ``pipX`` et ``pipX.Y`` (où X.Y est la " "version de Python)." -#: library/ensurepip.rst:111 +#: library/ensurepip.rst:113 msgid "If *altinstall* is set, then ``pipX`` will *not* be installed." msgstr "Si *altinstall* vaut vrai, ``pipX`` n'est pas créée." -#: library/ensurepip.rst:113 +#: library/ensurepip.rst:115 msgid "" "If *default_pip* is set, then ``pip`` will be installed in addition to the " "two regular scripts." @@ -234,14 +238,14 @@ msgstr "" "Si *default_pip* vaut vrai, la commande ``pip`` est créée en plus des deux " "autres." -#: library/ensurepip.rst:116 +#: library/ensurepip.rst:118 msgid "" "Setting both *altinstall* and *default_pip* will trigger :exc:`ValueError`." msgstr "" "Le fait de combiner *altinstall* et *default_pip* lève l'exception :exc:" "`ValueError`." -#: library/ensurepip.rst:119 +#: library/ensurepip.rst:121 msgid "" "*verbosity* controls the level of output to :data:`sys.stdout` from the " "bootstrapping operation." @@ -249,7 +253,7 @@ msgstr "" "*verbosity* règle le niveau de verbosité des messages émis sur :data:`sys." "stdout` pendant l'amorçage." -#: library/ensurepip.rst:122 +#: library/ensurepip.rst:124 msgid "" "Raises an :ref:`auditing event ` ``ensurepip.bootstrap`` with " "argument ``root``." @@ -257,7 +261,7 @@ msgstr "" "Cette fonction lève un :ref:`événement d'audit ` ``ensurepip." "bootstrap`` avec l'argument ``root``." -#: library/ensurepip.rst:126 +#: library/ensurepip.rst:128 msgid "" "The bootstrapping process has side effects on both ``sys.path`` and ``os." "environ``. Invoking the command line interface in a subprocess instead " @@ -267,7 +271,7 @@ msgstr "" "environ``. Pour les éviter, on peut appeler l'interface en ligne de commande " "dans un sous-processus." -#: library/ensurepip.rst:132 +#: library/ensurepip.rst:134 msgid "" "The bootstrapping process may install additional modules required by " "``pip``, but other software should not assume those dependencies will always " diff --git a/library/faulthandler.po b/library/faulthandler.po index cff5446cb0..7b1a7538e2 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -88,25 +88,48 @@ msgid "" "enable` at Python startup." msgstr "" -#: library/faulthandler.rst:48 -msgid "Dumping the traceback" +#: library/faulthandler.rst:49 +msgid "Module :mod:`pdb`" +msgstr "" + +#: library/faulthandler.rst:49 +msgid "Interactive source code debugger for Python programs." +msgstr "" + +#: library/faulthandler.rst:51 +msgid "Module :mod:`traceback`" msgstr "" #: library/faulthandler.rst:52 msgid "" +"Standard interface to extract, format and print stack traces of Python " +"programs." +msgstr "" + +#: library/faulthandler.rst:55 +msgid "Dumping the traceback" +msgstr "" + +#: library/faulthandler.rst:59 +msgid "" "Dump the tracebacks of all threads into *file*. If *all_threads* is " "``False``, dump only the current thread." msgstr "" -#: library/faulthandler.rst:73 library/faulthandler.rst:137 +#: library/faulthandler.rst:62 +msgid "" +":func:`traceback.print_tb`, which can be used to print a traceback object." +msgstr "" + +#: library/faulthandler.rst:82 library/faulthandler.rst:146 msgid "Added support for passing file descriptor to this function." msgstr "" -#: library/faulthandler.rst:60 +#: library/faulthandler.rst:69 msgid "Fault handler state" msgstr "" -#: library/faulthandler.rst:64 +#: library/faulthandler.rst:73 msgid "" "Enable the fault handler: install handlers for the :const:`SIGSEGV`, :const:" "`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` and :const:`SIGILL` signals to " @@ -114,37 +137,37 @@ msgid "" "for every running thread. Otherwise, dump only the current thread." msgstr "" -#: library/faulthandler.rst:70 +#: library/faulthandler.rst:79 msgid "" "The *file* must be kept open until the fault handler is disabled: see :ref:" "`issue with file descriptors `." msgstr "" -#: library/faulthandler.rst:76 +#: library/faulthandler.rst:85 msgid "On Windows, a handler for Windows exception is also installed." msgstr "" -#: library/faulthandler.rst:79 +#: library/faulthandler.rst:88 msgid "" "The dump now mentions if a garbage collector collection is running if " "*all_threads* is true." msgstr "" -#: library/faulthandler.rst:85 +#: library/faulthandler.rst:94 msgid "" "Disable the fault handler: uninstall the signal handlers installed by :func:" "`enable`." msgstr "" -#: library/faulthandler.rst:90 +#: library/faulthandler.rst:99 msgid "Check if the fault handler is enabled." msgstr "" -#: library/faulthandler.rst:94 +#: library/faulthandler.rst:103 msgid "Dumping the tracebacks after a timeout" msgstr "" -#: library/faulthandler.rst:98 +#: library/faulthandler.rst:107 msgid "" "Dump the tracebacks of all threads, after a timeout of *timeout* seconds, or " "every *timeout* seconds if *repeat* is ``True``. If *exit* is ``True``, " @@ -155,58 +178,58 @@ msgid "" "a sub-second resolution." msgstr "" -#: library/faulthandler.rst:106 +#: library/faulthandler.rst:115 msgid "" "The *file* must be kept open until the traceback is dumped or :func:" "`cancel_dump_traceback_later` is called: see :ref:`issue with file " "descriptors `." msgstr "" -#: library/faulthandler.rst:110 +#: library/faulthandler.rst:119 msgid "This function is implemented using a watchdog thread." msgstr "" -#: library/faulthandler.rst:112 +#: library/faulthandler.rst:121 msgid "This function is now always available." msgstr "" -#: library/faulthandler.rst:120 +#: library/faulthandler.rst:129 msgid "Cancel the last call to :func:`dump_traceback_later`." msgstr "" -#: library/faulthandler.rst:124 +#: library/faulthandler.rst:133 msgid "Dumping the traceback on a user signal" msgstr "" -#: library/faulthandler.rst:128 +#: library/faulthandler.rst:137 msgid "" "Register a user signal: install a handler for the *signum* signal to dump " "the traceback of all threads, or of the current thread if *all_threads* is " "``False``, into *file*. Call the previous handler if chain is ``True``." msgstr "" -#: library/faulthandler.rst:132 +#: library/faulthandler.rst:141 msgid "" "The *file* must be kept open until the signal is unregistered by :func:" "`unregister`: see :ref:`issue with file descriptors `." msgstr "" -#: library/faulthandler.rst:146 +#: library/faulthandler.rst:155 msgid "Not available on Windows." msgstr "" -#: library/faulthandler.rst:142 +#: library/faulthandler.rst:151 msgid "" "Unregister a user signal: uninstall the handler of the *signum* signal " "installed by :func:`register`. Return ``True`` if the signal was registered, " "``False`` otherwise." msgstr "" -#: library/faulthandler.rst:152 +#: library/faulthandler.rst:161 msgid "Issue with file descriptors" msgstr "" -#: library/faulthandler.rst:154 +#: library/faulthandler.rst:163 msgid "" ":func:`enable`, :func:`dump_traceback_later` and :func:`register` keep the " "file descriptor of their *file* argument. If the file is closed and its file " @@ -215,11 +238,11 @@ msgid "" "Call these functions again each time that the file is replaced." msgstr "" -#: library/faulthandler.rst:162 +#: library/faulthandler.rst:171 msgid "Example" msgstr "Exemple" -#: library/faulthandler.rst:164 +#: library/faulthandler.rst:173 msgid "" "Example of a segmentation fault on Linux with and without enabling the fault " "handler:" diff --git a/library/fractions.po b/library/fractions.po index abe825534f..73f51a3e97 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:57+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" @@ -89,12 +89,13 @@ msgstr "" "des espaces en début ou en fin de chaîne. Voici quelques exemples ::" #: library/fractions.rst:77 +#, fuzzy msgid "" "The :class:`Fraction` class inherits from the abstract base class :class:" "`numbers.Rational`, and implements all of the methods and operations from " -"that class. :class:`Fraction` instances are hashable, and should be treated " -"as immutable. In addition, :class:`Fraction` has the following properties " -"and methods:" +"that class. :class:`Fraction` instances are :term:`hashable`, and should be " +"treated as immutable. In addition, :class:`Fraction` has the following " +"properties and methods:" msgstr "" "La classe :class:`Fraction` hérite de la classe abstraite :class:`numbers." "Rational`, et implémente toutes les méthodes et opérations de cette classe. " diff --git a/library/functions.po b/library/functions.po index e5a2f5328c..bf9dc89260 100644 --- a/library/functions.po +++ b/library/functions.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-01-27 22:46+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -495,7 +495,7 @@ msgstr "" "Vous pouvez contrôler l'affichage du préfixe ``\"0b\"`` à l'aide d'un des " "moyens suivants." -#: library/functions.rst:808 library/functions.rst:1112 +#: library/functions.rst:811 library/functions.rst:1119 msgid "See also :func:`format` for more information." msgstr "Voir aussi :func:`format` pour plus d'informations." @@ -517,7 +517,7 @@ msgstr "" "ses seules instances sont ``False`` et ``True`` (voir :ref:`bltin-boolean-" "values`)." -#: library/functions.rst:675 library/functions.rst:892 +#: library/functions.rst:678 library/functions.rst:899 msgid "*x* is now a positional-only parameter." msgstr "*x* est désormais un argument exclusivement optionnel." @@ -980,7 +980,7 @@ msgstr "" msgid "The complex type is described in :ref:`typesnumeric`." msgstr "Le type complexe est décrit dans :ref:`typesnumeric`." -#: library/functions.rst:672 library/functions.rst:889 +#: library/functions.rst:675 library/functions.rst:896 msgid "Grouping digits with underscores as in code literals is allowed." msgstr "" "les chiffres peuvent être groupés avec des tirets bas comme dans les " @@ -1393,8 +1393,8 @@ msgid "" "sign may be ``'+'`` or ``'-'``; a ``'+'`` sign has no effect on the value " "produced. The argument may also be a string representing a NaN (not-a-" "number), or positive or negative infinity. More precisely, the input must " -"conform to the following grammar after leading and trailing whitespace " -"characters are removed:" +"conform to the ``floatvalue`` production rule in the following grammar, " +"after leading and trailing whitespace characters are removed:" msgstr "" "Si l'argument est une chaîne, elle doit contenir un nombre décimal, " "éventuellement précédé d'un signe, et pouvant être entouré d'espaces. Le " @@ -1405,20 +1405,20 @@ msgstr "" "conformer à la grammaire suivante, après que les espaces en début et fin de " "chaîne aient été retirées :" -#: library/functions.rst:641 +#: library/functions.rst:644 #, fuzzy msgid "" -"Here ``floatnumber`` is the form of a Python floating-point literal, " -"described in :ref:`floating`. Case is not significant, so, for example, " -"\"inf\", \"Inf\", \"INFINITY\", and \"iNfINity\" are all acceptable " -"spellings for positive infinity." +"Here ``digit`` is a Unicode decimal digit (character in the Unicode general " +"category ``Nd``). Case is not significant, so, for example, \"inf\", " +"\"Inf\", \"INFINITY\", and \"iNfINity\" are all acceptable spellings for " +"positive infinity." msgstr "" "Ici ``floatnumber`` est un nombre a virgule flottante littéral Python, " "décrit dans :ref:`floating`. La casse n'y est pas significative, donc, par " "exemple, ``\"inf\"``, ``\" Inf\"``, ``\"INFINITY\"``, et ``\" iNfiNity\"`` " "sont tous des orthographes valides pour un infini positif." -#: library/functions.rst:646 +#: library/functions.rst:649 msgid "" "Otherwise, if the argument is an integer or a floating point number, a " "floating point number with the same value (within Python's floating point " @@ -1431,7 +1431,7 @@ msgstr "" "dehors de l'intervalle d'un nombre a virgule flottante pour Python, :exc:" "`OverflowError` est levée." -#: library/functions.rst:651 +#: library/functions.rst:654 msgid "" "For a general Python object ``x``, ``float(x)`` delegates to ``x." "__float__()``. If ``__float__()`` is not defined then it falls back to :" @@ -1441,23 +1441,23 @@ msgstr "" "__float__()``. Si ``__float__()`` n'est pas défini alors il est délégué à :" "meth:`__index__`." -#: library/functions.rst:655 +#: library/functions.rst:658 msgid "If no argument is given, ``0.0`` is returned." msgstr "Sans argument, ``0.0`` est renvoyé." -#: library/functions.rst:657 +#: library/functions.rst:660 msgid "Examples::" msgstr "Exemples ::" -#: library/functions.rst:670 +#: library/functions.rst:673 msgid "The float type is described in :ref:`typesnumeric`." msgstr "Le type *float* est décrit dans :ref:`typesnumeric`." -#: library/functions.rst:678 +#: library/functions.rst:681 msgid "Falls back to :meth:`__index__` if :meth:`__float__` is not defined." msgstr "revient à :meth:`__index__` si :meth:`__float__` n'est pas définie." -#: library/functions.rst:688 +#: library/functions.rst:691 msgid "" "Convert a *value* to a \"formatted\" representation, as controlled by " "*format_spec*. The interpretation of *format_spec* will depend on the type " @@ -1469,7 +1469,7 @@ msgstr "" "valeur. Cependant, il existe une syntaxe standard utilisée par la plupart " "des types natifs : :ref:`formatspec`." -#: library/functions.rst:693 +#: library/functions.rst:696 msgid "" "The default *format_spec* is an empty string which usually gives the same " "effect as calling :func:`str(value) `." @@ -1477,7 +1477,7 @@ msgstr "" "Par défaut, *format_spec* est une chaîne vide. Dans ce cas, appeler cette " "fonction a généralement le même effet qu'appeler :func:`str(value) `." -#: library/functions.rst:696 +#: library/functions.rst:699 msgid "" "A call to ``format(value, format_spec)`` is translated to ``type(value)." "__format__(value, format_spec)`` which bypasses the instance dictionary when " @@ -1493,7 +1493,7 @@ msgstr "" "mod:`object` et que *format_spec* n'est pas vide, ou si *format_spec* ou le " "résultat ne sont pas des chaînes de caractères." -#: library/functions.rst:703 +#: library/functions.rst:706 msgid "" "``object().__format__(format_spec)`` raises :exc:`TypeError` if " "*format_spec* is not an empty string." @@ -1501,7 +1501,7 @@ msgstr "" "``object().__format__(format_spec)`` lève :exc:`TypeError` si *format_spec* " "n'est pas une chaîne vide." -#: library/functions.rst:712 +#: library/functions.rst:715 msgid "" "Return a new :class:`frozenset` object, optionally with elements taken from " "*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` and :" @@ -1511,7 +1511,7 @@ msgstr "" "tirés d'*iterable*. ``frozenset`` est une classe native. Voir :class:" "`frozenset` et :ref:`types-set` pour la documentation sur cette classe." -#: library/functions.rst:716 +#: library/functions.rst:719 msgid "" "For other containers see the built-in :class:`set`, :class:`list`, :class:" "`tuple`, and :class:`dict` classes, as well as the :mod:`collections` module." @@ -1520,7 +1520,7 @@ msgstr "" "`list`, :class:`tuple`, et :class:`dict`, ainsi que le module :mod:" "`collections`." -#: library/functions.rst:723 +#: library/functions.rst:726 msgid "" "Return the value of the named attribute of *object*. *name* must be a " "string. If the string is the name of one of the object's attributes, the " @@ -1537,7 +1537,7 @@ msgstr "" "`AttributeError` est levée. *name* n'a pas besoin d'être un identifiant " "Python (voir :func:`setattr`)." -#: library/functions.rst:732 +#: library/functions.rst:735 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " @@ -1549,7 +1549,7 @@ msgstr "" "manuellement le nom d'un attribut privé (attributs avec deux traits de " "soulignement en tête) afin de le récupérer avec :func:`getattr`." -#: library/functions.rst:740 +#: library/functions.rst:743 msgid "" "Return the dictionary implementing the current module namespace. For code " "within functions, this is set when the function is defined and remains the " @@ -1559,7 +1559,7 @@ msgstr "" "Pour le code dans les fonctions, il est défini lorsque la fonction est " "définie et reste le même quel que soit le moment où la fonction est appelée." -#: library/functions.rst:747 +#: library/functions.rst:750 msgid "" "The arguments are an object and a string. The result is ``True`` if the " "string is the name of one of the object's attributes, ``False`` if not. " @@ -1571,7 +1571,7 @@ msgstr "" "``False`` (l'implémentation appelle ``getattr(object, name)`` et regarde si " "une exception :exc:`AttributeError` a été levée)." -#: library/functions.rst:755 +#: library/functions.rst:758 msgid "" "Return the hash value of the object (if it has one). Hash values are " "integers. They are used to quickly compare dictionary keys during a " @@ -1584,7 +1584,7 @@ msgstr "" "ont la même valeur de hachage (même si leurs types sont différents, comme " "pour ``1`` et ``1.0``)." -#: library/functions.rst:762 +#: library/functions.rst:765 msgid "" "For objects with custom :meth:`__hash__` methods, note that :func:`hash` " "truncates the return value based on the bit width of the host machine. See :" @@ -1594,7 +1594,7 @@ msgstr "" "func:`hash` tronque la valeur donnée en fonction du nombre de bits de la " "machine hôte. Voir :meth:`__hash__` pour plus d'information." -#: library/functions.rst:768 +#: library/functions.rst:771 msgid "" "Invoke the built-in help system. (This function is intended for interactive " "use.) If no argument is given, the interactive help system starts on the " @@ -1611,7 +1611,7 @@ msgstr "" "la console. Si l'argument est d'un autre type, une page d'aide sur cet objet " "est générée." -#: library/functions.rst:775 +#: library/functions.rst:778 #, fuzzy msgid "" "Note that if a slash(/) appears in the parameter list of a function when " @@ -1625,14 +1625,14 @@ msgstr "" "plus d'informations, voir :ref:`La FAQ sur les arguments positionnels `." -#: library/functions.rst:780 +#: library/functions.rst:783 msgid "" "This function is added to the built-in namespace by the :mod:`site` module." msgstr "" "Cette fonction est ajoutée à l'espace de nommage natif par le module :mod:" "`site`." -#: library/functions.rst:782 +#: library/functions.rst:785 msgid "" "Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " "for callables are now more comprehensive and consistent." @@ -1640,7 +1640,7 @@ msgstr "" "les changements aux modules :mod:`pydoc` et :mod:`inspect` rendent les " "signatures des appelables plus compréhensibles et cohérentes." -#: library/functions.rst:789 +#: library/functions.rst:792 msgid "" "Convert an integer number to a lowercase hexadecimal string prefixed with " "\"0x\". If *x* is not a Python :class:`int` object, it has to define an :" @@ -1650,7 +1650,7 @@ msgstr "" "pas un :class:`int`, il doit définir une méthode :meth:`__index__` qui " "renvoie un entier. Quelques exemples :" -#: library/functions.rst:798 +#: library/functions.rst:801 msgid "" "If you want to convert an integer number to an uppercase or lower " "hexadecimal string with prefix or not, you can use either of the following " @@ -1660,7 +1660,7 @@ msgstr "" "majuscule ou non, préfixée ou non, vous pouvez utiliser l'une des méthodes " "suivantes :" -#: library/functions.rst:810 +#: library/functions.rst:813 msgid "" "See also :func:`int` for converting a hexadecimal string to an integer using " "a base of 16." @@ -1668,7 +1668,7 @@ msgstr "" "Voir aussi :func:`int` pour convertir une chaîne hexadécimale en un entier " "(en affectant 16 à l'argument *base*)." -#: library/functions.rst:815 +#: library/functions.rst:818 msgid "" "To obtain a hexadecimal string representation for a float, use the :meth:" "`float.hex` method." @@ -1676,7 +1676,7 @@ msgstr "" "Pour obtenir une représentation hexadécimale sous forme de chaîne d'un " "nombre à virgule flottante, utilisez la méthode :meth:`float.hex`." -#: library/functions.rst:821 +#: library/functions.rst:824 msgid "" "Return the \"identity\" of an object. This is an integer which is " "guaranteed to be unique and constant for this object during its lifetime. " @@ -1687,11 +1687,11 @@ msgstr "" "constant pour cet objet durant sa durée de vie. Deux objets dont les durées " "de vie ne se chevauchent pas peuvent partager le même :func:`id`." -#: library/functions.rst:826 +#: library/functions.rst:829 msgid "This is the address of the object in memory." msgstr "c'est l'adresse de l'objet en mémoire." -#: library/functions.rst:828 +#: library/functions.rst:831 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``builtins.id`` with argument " @@ -1700,7 +1700,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``builtins.id`` avec l'argument " "``id``." -#: library/functions.rst:833 +#: library/functions.rst:836 msgid "" "If the *prompt* argument is present, it is written to standard output " "without a trailing newline. The function then reads a line from input, " @@ -1712,7 +1712,7 @@ msgstr "" "standard et la convertit en chaîne (supprimant le retour à la ligne final) " "quelle renvoie. Lorsque EOF est lu, :exc:`EOFError` est levée. Exemple ::" -#: library/functions.rst:843 +#: library/functions.rst:846 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -1720,7 +1720,7 @@ msgstr "" "Si le module :mod:`readline` est chargé, :func:`input` l'utilisera pour " "fournir des fonctionnalités d'édition et d'historique élaborées." -#: library/functions.rst:846 +#: library/functions.rst:849 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt``." @@ -1728,7 +1728,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``builtins.input`` avec " "l'argument ``prompt``." -#: library/functions.rst:848 +#: library/functions.rst:851 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -1736,7 +1736,7 @@ msgstr "" "Lève un :ref:`auditing event ` ``builtins.input`` avec l'argument " "``prompt`` avant de lire l'entrée." -#: library/functions.rst:851 +#: library/functions.rst:854 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "argument ``result``." @@ -1744,7 +1744,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``builtins.input/result`` avec " "l'argument ``result``." -#: library/functions.rst:853 +#: library/functions.rst:856 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "the result after successfully reading input." @@ -1752,7 +1752,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``builtins.input/result`` avec " "le résultat après avoir lu avec succès l'entrée." -#: library/functions.rst:860 +#: library/functions.rst:863 msgid "" "Return an integer object constructed from a number or string *x*, or return " "``0`` if no arguments are given. If *x* defines :meth:`__int__`, ``int(x)`` " @@ -1767,20 +1767,28 @@ msgstr "" "``int(x)`` renvoie ``x.__trunc__()``. Les nombres à virgule flottante sont " "tronqués vers zéro." -#: library/functions.rst:867 +#: library/functions.rst:870 msgid "" "If *x* is not a number or if *base* is given, then *x* must be a string, :" -"class:`bytes`, or :class:`bytearray` instance representing an :ref:`integer " -"literal ` in radix *base*. Optionally, the literal can be " -"preceded by ``+`` or ``-`` (with no space in between) and surrounded by " -"whitespace. A base-n literal consists of the digits 0 to n-1, with ``a`` to " -"``z`` (or ``A`` to ``Z``) having values 10 to 35. The default *base* is 10. " -"The allowed values are 0 and 2--36. Base-2, -8, and -16 literals can be " -"optionally prefixed with ``0b``/``0B``, ``0o``/``0O``, or ``0x``/``0X``, as " -"with integer literals in code. Base 0 means to interpret exactly as a code " -"literal, so that the actual base is 2, 8, 10, or 16, and so that " -"``int('010', 0)`` is not legal, while ``int('010')`` is, as well as " -"``int('010', 8)``." +"class:`bytes`, or :class:`bytearray` instance representing an integer in " +"radix *base*. Optionally, the string can be preceded by ``+`` or ``-`` " +"(with no space in between), have leading zeros, be surrounded by whitespace, " +"and have single underscores interspersed between digits." +msgstr "" + +#: library/functions.rst:876 +#, fuzzy +msgid "" +"A base-n integer string contains digits, each representing a value from 0 to " +"n-1. The values 0--9 can be represented by any Unicode decimal digit. The " +"values 10--35 can be represented by ``a`` to ``z`` (or ``A`` to ``Z``). The " +"default *base* is 10. The allowed bases are 0 and 2--36. Base-2, -8, and -16 " +"strings can be optionally prefixed with ``0b``/``0B``, ``0o``/``0O``, or " +"``0x``/``0X``, as with integer literals in code. For base 0, the string is " +"interpreted in a similar way to an :ref:`integer literal in code " +"`, in that the actual base is 2, 8, 10, or 16 as determined by the " +"prefix. Base 0 also disallows leading zeros: ``int('010', 0)`` is not legal, " +"while ``int('010')`` and ``int('010', 8)`` are." msgstr "" "Si *x* n'est pas un nombre ou si *base* est fourni, alors *x* doit être une " "chaîne, un :class:`bytes`, ou un :class:`bytearray` représentant un :ref:" @@ -1796,11 +1804,11 @@ msgstr "" "0)`` n'est pas légal, alors que ``int('010')`` l'est tout comme ``int('010', " "8)``." -#: library/functions.rst:880 +#: library/functions.rst:887 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "Le type des entiers est décrit dans :ref:`typesnumeric`." -#: library/functions.rst:882 +#: library/functions.rst:889 msgid "" "If *base* is not an instance of :class:`int` and the *base* object has a :" "meth:`base.__index__ ` method, that method is called to " @@ -1813,11 +1821,11 @@ msgstr "" "meth:`base.__int__ ` au lieu de :meth:`base.__index__ " "`." -#: library/functions.rst:895 +#: library/functions.rst:902 msgid "Falls back to :meth:`__index__` if :meth:`__int__` is not defined." msgstr "Revient à :meth:`__index__` si :meth:`__int__` n'est pas définie." -#: library/functions.rst:898 +#: library/functions.rst:905 msgid "" ":class:`int` string inputs and string representations can be limited to help " "avoid denial of service attacks. A :exc:`ValueError` is raised when the " @@ -1827,7 +1835,7 @@ msgid "" "documentation." msgstr "" -#: library/functions.rst:909 +#: library/functions.rst:916 #, fuzzy msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " @@ -1848,11 +1856,11 @@ msgstr "" "un *n*-uplet de types (et récursivement), une exception :exc:`TypeError` est " "levée." -#: library/functions.rst:933 +#: library/functions.rst:940 msgid "*classinfo* can be a :ref:`types-union`." msgstr "" -#: library/functions.rst:925 +#: library/functions.rst:932 #, fuzzy msgid "" "Return ``True`` if *class* is a subclass (direct, indirect, or :term:" @@ -1868,7 +1876,7 @@ msgstr "" "classes, dans ce cas la vérification sera faite pour chaque classe de " "*classinfo*. Dans tous les autres cas, :exc:`TypeError` est levée." -#: library/functions.rst:939 +#: library/functions.rst:946 #, fuzzy msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " @@ -1894,11 +1902,11 @@ msgstr "" "de :meth:`~iterator.__next__`. Si la valeur reçue est égale à *sentinel* :" "exc:`StopIteration` est levée, sinon la valeur est renvoyée." -#: library/functions.rst:952 +#: library/functions.rst:959 msgid "See also :ref:`typeiter`." msgstr "Voir aussi :ref:`typeiter`." -#: library/functions.rst:954 +#: library/functions.rst:961 msgid "" "One useful application of the second form of :func:`iter` is to build a " "block-reader. For example, reading fixed-width blocks from a binary database " @@ -1908,7 +1916,7 @@ msgstr "" "construire un lecteur par blocs. Par exemple, lire des blocs de taille fixe " "d'une base de donnée binaire jusqu'à ce que la fin soit atteinte ::" -#: library/functions.rst:966 +#: library/functions.rst:973 msgid "" "Return the length (the number of items) of an object. The argument may be a " "sequence (such as a string, bytes, tuple, list, or range) or a collection " @@ -1919,13 +1927,13 @@ msgstr "" "liste ou un intervalle) ou une collection (telle qu'un dictionnaire, un " "ensemble ou un ensemble figé)." -#: library/functions.rst:972 +#: library/functions.rst:979 msgid "" "``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." "maxsize`, such as :class:`range(2 ** 100) `." msgstr "" -#: library/functions.rst:980 +#: library/functions.rst:987 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -1934,7 +1942,7 @@ msgstr "" "type séquentiel muable, comme décrit dans :ref:`typesseq-list` et :ref:" "`typesseq`." -#: library/functions.rst:986 +#: library/functions.rst:993 msgid "" "Update and return a dictionary representing the current local symbol table. " "Free variables are returned by :func:`locals` when it is called in function " @@ -1947,7 +1955,7 @@ msgstr "" "corps d'une classe. Notez qu’au niveau d’un module, :func:`locals` et :func:" "`globals` sont le même dictionnaire." -#: library/functions.rst:992 +#: library/functions.rst:999 msgid "" "The contents of this dictionary should not be modified; changes may not " "affect the values of local and free variables used by the interpreter." @@ -1956,7 +1964,7 @@ msgstr "" "n'affectent pas les valeurs des variables locales ou libres utilisées par " "l'interpréteur." -#: library/functions.rst:997 +#: library/functions.rst:1004 msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterable* arguments are passed, " @@ -1973,7 +1981,7 @@ msgstr "" "où les arguments sont déjà rangés sous forme de *n*-uplets, voir :func:" "`itertools.starmap`." -#: library/functions.rst:1008 +#: library/functions.rst:1015 msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." @@ -1981,7 +1989,7 @@ msgstr "" "Renvoie le plus grand élément d'un itérable, ou l'argument le plus grand " "parmi au moins deux arguments." -#: library/functions.rst:1011 +#: library/functions.rst:1018 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " @@ -1992,7 +2000,7 @@ msgstr "" "deux arguments positionnels sont fournis, l'argument le plus grand sera " "renvoyé." -#: library/functions.rst:1053 +#: library/functions.rst:1060 msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " "a one-argument ordering function like that used for :meth:`list.sort`. The " @@ -2006,7 +2014,7 @@ msgstr "" "fourni est vide. Si l'itérable est vide et que *default* n'est pas fourni, :" "exc:`ValueError` est levée." -#: library/functions.rst:1022 +#: library/functions.rst:1029 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2018,15 +2026,15 @@ msgstr "" "stabilité lors du tri, tels que ``sorted(iterable, key=keyfunc, reverse=True)" "[0]`` et ``heapq.nlargest(1, iterable, key=keyfunc)``." -#: library/functions.rst:1064 +#: library/functions.rst:1071 msgid "The *default* keyword-only argument." msgstr "L'argument nommé (et seulement donné par son nom) *default*." -#: library/functions.rst:1067 +#: library/functions.rst:1074 msgid "The *key* can be ``None``." msgstr "l'argument *key* peut être ``None``." -#: library/functions.rst:1038 +#: library/functions.rst:1045 msgid "" "Return a \"memory view\" object created from the given argument. See :ref:" "`typememoryview` for more information." @@ -2034,7 +2042,7 @@ msgstr "" "Renvoie une « vue mémoire » (*memory view*) créée depuis l'argument. Voir :" "ref:`typememoryview` pour plus d'informations." -#: library/functions.rst:1045 +#: library/functions.rst:1052 msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." @@ -2042,7 +2050,7 @@ msgstr "" "Renvoie le plus petit élément d'un itérable ou le plus petit d'au moins deux " "arguments." -#: library/functions.rst:1048 +#: library/functions.rst:1055 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The smallest item in the iterable is returned. If two or more positional " @@ -2052,7 +2060,7 @@ msgstr "" "plus petit élément de l'itérable est renvoyé. Si au moins deux arguments " "positionnels sont fournis, le plus petit argument positionnel est renvoyé." -#: library/functions.rst:1059 +#: library/functions.rst:1066 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2064,7 +2072,7 @@ msgstr "" "du tri, tels que ``sorted(iterable, key=keyfunc)[0]`` et ``heapq." "nsmallest(1, iterable, key=keyfunc)``." -#: library/functions.rst:1073 +#: library/functions.rst:1080 #, fuzzy msgid "" "Retrieve the next item from the :term:`iterator` by calling its :meth:" @@ -2075,7 +2083,7 @@ msgstr "" "__next__`. Si *default* est fourni, il sera renvoyé si l'itérateur est " "épuisé, sinon :exc:`StopIteration` est levée." -#: library/functions.rst:1080 +#: library/functions.rst:1087 #, fuzzy msgid "" "Return a new featureless object. :class:`object` is a base for all classes. " @@ -2086,7 +2094,7 @@ msgstr "" "classes. C'est elle qui porte les méthodes communes à toutes les instances " "de classes en Python. Cette fonction n'accepte aucun argument." -#: library/functions.rst:1086 +#: library/functions.rst:1093 msgid "" ":class:`object` does *not* have a :attr:`~object.__dict__`, so you can't " "assign arbitrary attributes to an instance of the :class:`object` class." @@ -2095,7 +2103,7 @@ msgstr "" "pouvez donc pas assigner d'attributs arbitraires à une instance d':class:" "`object`." -#: library/functions.rst:1092 +#: library/functions.rst:1099 msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " "result is a valid Python expression. If *x* is not a Python :class:`int` " @@ -2107,7 +2115,7 @@ msgstr "" "objet :class:`int`, il doit définir une méthode :meth:`__index__` qui donne " "un entier, par exemple :" -#: library/functions.rst:1102 +#: library/functions.rst:1109 #, fuzzy msgid "" "If you want to convert an integer number to an octal string either with the " @@ -2116,7 +2124,7 @@ msgstr "" "Si vous voulez convertir un nombre entier en chaîne octale, avec ou sans le " "préfixe ``0o``, vous pouvez utiliser l'une des méthodes suivantes." -#: library/functions.rst:1119 +#: library/functions.rst:1126 msgid "" "Open *file* and return a corresponding :term:`file object`. If the file " "cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " @@ -2126,7 +2134,7 @@ msgstr "" "Si le fichier ne peut pas être ouvert, une :exc:`OSError` est levée. Voir :" "ref:`tut-files` pour plus d'exemple d'utilisation de cette fonction." -#: library/functions.rst:1123 +#: library/functions.rst:1130 #, fuzzy msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " @@ -2141,7 +2149,7 @@ msgstr "" "descripteur de fichier est donné, il sera fermé en même temps que l'objet " "d'entrée-sortie renvoyé, sauf si *closefd* est mis à ``False``)." -#: library/functions.rst:1129 +#: library/functions.rst:1136 #, fuzzy msgid "" "*mode* is an optional string that specifies the mode in which the file is " @@ -2169,72 +2177,72 @@ msgstr "" "mode binaire sans préciser *encoding* non spécifié). Les modes disponibles " "sont :" -#: library/functions.rst:1146 +#: library/functions.rst:1153 msgid "Character" msgstr "Caractère" -#: library/functions.rst:1146 +#: library/functions.rst:1153 msgid "Meaning" msgstr "Signification" -#: library/functions.rst:1148 +#: library/functions.rst:1155 msgid "``'r'``" msgstr "``'r'``" -#: library/functions.rst:1148 +#: library/functions.rst:1155 msgid "open for reading (default)" msgstr "ouvre en lecture (par défaut)" -#: library/functions.rst:1149 +#: library/functions.rst:1156 msgid "``'w'``" msgstr "``'w'``" -#: library/functions.rst:1149 +#: library/functions.rst:1156 msgid "open for writing, truncating the file first" msgstr "ouvre en écriture, en effaçant le contenu du fichier" -#: library/functions.rst:1150 +#: library/functions.rst:1157 msgid "``'x'``" msgstr "``'x'``" -#: library/functions.rst:1150 +#: library/functions.rst:1157 msgid "open for exclusive creation, failing if the file already exists" msgstr "ouvre pour une création exclusive, échouant si le fichier existe déjà" -#: library/functions.rst:1151 +#: library/functions.rst:1158 msgid "``'a'``" msgstr "``'a'``" -#: library/functions.rst:1151 +#: library/functions.rst:1158 #, fuzzy msgid "open for writing, appending to the end of file if it exists" msgstr "ouvre en écriture, ajoutant à la fin du fichier s'il existe" -#: library/functions.rst:1152 +#: library/functions.rst:1159 msgid "``'b'``" msgstr "``'b'``" -#: library/functions.rst:1152 +#: library/functions.rst:1159 msgid "binary mode" msgstr "mode binaire" -#: library/functions.rst:1153 +#: library/functions.rst:1160 msgid "``'t'``" msgstr "``'t'``" -#: library/functions.rst:1153 +#: library/functions.rst:1160 msgid "text mode (default)" msgstr "mode texte (par défaut)" -#: library/functions.rst:1154 +#: library/functions.rst:1161 msgid "``'+'``" msgstr "``'+'``" -#: library/functions.rst:1154 +#: library/functions.rst:1161 msgid "open for updating (reading and writing)" msgstr "ouvre en modification (lecture et écriture)" -#: library/functions.rst:1157 +#: library/functions.rst:1164 #, fuzzy msgid "" "The default mode is ``'r'`` (open for reading text, a synonym of ``'rt'``). " @@ -2245,7 +2253,7 @@ msgstr "" "``'rt'``). Les modes ``'w+'`` et ``'w+b'`` ouvrent et vident le fichier. Les " "modes ``'r+'`` et ``'r+b'`` ouvrent le fichier sans le vider." -#: library/functions.rst:1161 +#: library/functions.rst:1168 msgid "" "As mentioned in the :ref:`io-overview`, Python distinguishes between binary " "and text I/O. Files opened in binary mode (including ``'b'`` in the *mode* " @@ -2263,7 +2271,7 @@ msgstr "" "octets ayant été décodés au préalable en utilisant un encodage déduit de " "l'environnement ou *encoding* s'il est donné." -#: library/functions.rst:1169 +#: library/functions.rst:1176 #, fuzzy msgid "" "There is an additional mode character permitted, ``'U'``, which no longer " @@ -2279,7 +2287,7 @@ msgstr "" "documentation du paramètre :ref:`newline ` pour plus " "de détails." -#: library/functions.rst:1177 +#: library/functions.rst:1184 msgid "" "Python doesn't depend on the underlying operating system's notion of text " "files; all the processing is done by Python itself, and is therefore " @@ -2289,7 +2297,7 @@ msgstr "" "jacent. Tout le traitement est effectué par Python lui-même, et est ainsi " "indépendant de la plate-forme." -#: library/functions.rst:1181 +#: library/functions.rst:1188 #, fuzzy msgid "" "*buffering* is an optional integer used to set the buffering policy. Pass 0 " @@ -2309,7 +2317,7 @@ msgstr "" "en octets d'un tampon de taille fixe. Sans l'argument *buffering*, les " "comportements par défaut sont les suivants :" -#: library/functions.rst:1191 +#: library/functions.rst:1198 msgid "" "Binary files are buffered in fixed-size chunks; the size of the buffer is " "chosen using a heuristic trying to determine the underlying device's \"block " @@ -2322,7 +2330,7 @@ msgstr "" "DEFAULT_BUFFER_SIZE`. Sur de nombreux systèmes, le tampon sera de 4096 ou " "8192 octets." -#: library/functions.rst:1196 +#: library/functions.rst:1203 msgid "" "\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " "returns ``True``) use line buffering. Other text files use the policy " @@ -2332,7 +2340,7 @@ msgstr "" "isatty` renvoie ``True``) utilisent un tampon par lignes. Les autres " "fichiers texte sont traités comme les fichiers binaires." -#: library/functions.rst:1200 +#: library/functions.rst:1207 msgid "" "*encoding* is the name of the encoding used to decode or encode the file. " "This should only be used in text mode. The default encoding is platform " @@ -2347,7 +2355,7 @@ msgstr "" "par Python peut être utilisé. Voir :mod:`codecs` pour une liste des " "encodages pris en charge." -#: library/functions.rst:1207 +#: library/functions.rst:1214 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled—this cannot be used in binary mode. A variety of " @@ -2362,7 +2370,7 @@ msgstr "" "d'erreur enregistré avec :func:`codecs.register_error` est aussi un argument " "valide. Les noms standards sont :" -#: library/functions.rst:1215 +#: library/functions.rst:1222 msgid "" "``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " "error. The default value of ``None`` has the same effect." @@ -2370,7 +2378,7 @@ msgstr "" "``'strict'`` pour lever une :exc:`ValueError` si une erreur d'encodage est " "rencontrée. La valeur par défaut, ``None``, a le même effet." -#: library/functions.rst:1219 +#: library/functions.rst:1226 msgid "" "``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " "data loss." @@ -2378,7 +2386,7 @@ msgstr "" "``'ignore'`` ignore les erreurs. Notez qu'ignorer les erreurs d'encodage " "peut mener à des pertes de données." -#: library/functions.rst:1222 +#: library/functions.rst:1229 msgid "" "``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " "where there is malformed data." @@ -2386,7 +2394,7 @@ msgstr "" "``'replace'`` insère un marqueur de substitution (tel que ``'?'``) en place " "des données mal formées." -#: library/functions.rst:1225 +#: library/functions.rst:1232 #, fuzzy msgid "" "``'surrogateescape'`` will represent any incorrect bytes as low surrogate " @@ -2402,7 +2410,7 @@ msgstr "" "l'écriture de la donnée. C'est utile pour traiter des fichiers d'un encodage " "inconnu." -#: library/functions.rst:1232 +#: library/functions.rst:1239 msgid "" "``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " "not supported by the encoding are replaced with the appropriate XML " @@ -2412,7 +2420,7 @@ msgstr "" "fichier. Les caractères non gérés par l'encodage sont remplacés par une " "entité XML de la forme ``&#nnn;``." -#: library/functions.rst:1236 +#: library/functions.rst:1243 msgid "" "``'backslashreplace'`` replaces malformed data by Python's backslashed " "escape sequences." @@ -2420,7 +2428,7 @@ msgstr "" "``'backslashreplace'`` remplace les données mal formées par des séquences " "d'échappement Python (utilisant des barres obliques inverses)." -#: library/functions.rst:1239 +#: library/functions.rst:1246 msgid "" "``'namereplace'`` (also only supported when writing) replaces unsupported " "characters with ``\\N{...}`` escape sequences." @@ -2428,7 +2436,7 @@ msgstr "" "``'namereplace'`` (aussi supporté lors de l'écriture) remplace les " "caractères non gérés par des séquences d'échappement ``\\N{...}``." -#: library/functions.rst:1247 +#: library/functions.rst:1254 #, fuzzy msgid "" "*newline* determines how to parse newline characters from the stream. It can " @@ -2440,7 +2448,7 @@ msgstr "" "``None``, ``''``, ``'\\n'``, ``'\\r'``, et ``'\\r\\n'``. Il fonctionne comme " "suit :" -#: library/functions.rst:1251 +#: library/functions.rst:1258 msgid "" "When reading input from the stream, if *newline* is ``None``, universal " "newlines mode is enabled. Lines in the input can end in ``'\\n'``, " @@ -2458,7 +2466,7 @@ msgstr "" "valeur autorisée, les lignes sont seulement terminées par la chaîne donnée, " "qui est rendue telle quelle." -#: library/functions.rst:1259 +#: library/functions.rst:1266 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " "characters written are translated to the system default line separator, :" @@ -2472,7 +2480,7 @@ msgstr "" "*newline* est un autre caractère valide, chaque ``'\\n'`` sera remplacé par " "la chaîne donnée." -#: library/functions.rst:1265 +#: library/functions.rst:1272 #, fuzzy msgid "" "If *closefd* is ``False`` and a file descriptor rather than a filename was " @@ -2485,7 +2493,7 @@ msgstr "" "le fichier sera fermé. Si un nom de fichier est donné, *closefd* doit rester " "``True`` (la valeur par défaut) sans quoi une erreur est levée." -#: library/functions.rst:1270 +#: library/functions.rst:1277 msgid "" "A custom opener can be used by passing a callable as *opener*. The " "underlying file descriptor for the file object is then obtained by calling " @@ -2499,13 +2507,13 @@ msgstr "" "descripteur de fichier ouvert (fournir :mod:`os.open` en tant qu'*opener* " "aura le même effet que donner ``None``)." -#: library/functions.rst:1276 +#: library/functions.rst:1283 msgid "The newly created file is :ref:`non-inheritable `." msgstr "" "Il n'est :ref:`pas possible d'hériter du fichier ` " "nouvellement créé." -#: library/functions.rst:1278 +#: library/functions.rst:1285 msgid "" "The following example uses the :ref:`dir_fd ` parameter of the :func:" "`os.open` function to open a file relative to a given directory::" @@ -2513,7 +2521,7 @@ msgstr "" "L'exemple suivant utilise le paramètre :ref:`dir_fd ` de la " "fonction :func:`os.open` pour ouvrir un fichier relatif au dossier courant ::" -#: library/functions.rst:1291 +#: library/functions.rst:1298 msgid "" "The type of :term:`file object` returned by the :func:`open` function " "depends on the mode. When :func:`open` is used to open a file in a text " @@ -2539,7 +2547,7 @@ msgstr "" "BufferedRandom`. Lorsque le tampon est désactivé, le flux brut, une classe " "fille de :class:`io.RawIOBase`, :class:`io.FileIO` est renvoyée." -#: library/functions.rst:1312 +#: library/functions.rst:1319 #, fuzzy msgid "" "See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " @@ -2550,7 +2558,7 @@ msgstr "" "`fileinput`, :mod:`io` (où :func:`open` est déclarée), :mod:`os`, :mod:`os." "path`, :mod:`tmpfile`, et :mod:`shutil`." -#: library/functions.rst:1316 +#: library/functions.rst:1323 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``file``, " "``mode``, ``flags``." @@ -2558,7 +2566,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``open`` avec les arguments " "``file``, ``mode`` et ``flags``." -#: library/functions.rst:1318 +#: library/functions.rst:1325 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -2566,21 +2574,21 @@ msgstr "" "Les arguments ``mode`` et ``flags`` peuvent avoir été modifiés ou déduits de " "l'appel original." -#: library/functions.rst:1324 +#: library/functions.rst:1331 msgid "The *opener* parameter was added." msgstr "ajout du paramètre *opener*." -#: library/functions.rst:1325 +#: library/functions.rst:1332 msgid "The ``'x'`` mode was added." msgstr "ajout du mode ``'x'``." -#: library/functions.rst:1326 +#: library/functions.rst:1333 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" ":exc:`IOError` était normalement levée, elle est maintenant un alias de :exc:" "`OSError`." -#: library/functions.rst:1327 +#: library/functions.rst:1334 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -2588,15 +2596,15 @@ msgstr "" ":exc:`FileExistsError` est maintenant levée si le fichier ouvert en mode " "création exclusive (``'x'``) existe déjà." -#: library/functions.rst:1333 +#: library/functions.rst:1340 msgid "The file is now non-inheritable." msgstr "Il n'est plus possible d'hériter de *file*." -#: library/functions.rst:1337 +#: library/functions.rst:1344 msgid "The ``'U'`` mode." msgstr "Le mode ``'U'``." -#: library/functions.rst:1342 +#: library/functions.rst:1349 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -2606,15 +2614,15 @@ msgstr "" "aucune exception, la fonction réessaye l'appel système au lieu de lever une :" "exc:`InterruptedError` (voir la :pep:`475` pour la justification)." -#: library/functions.rst:1345 +#: library/functions.rst:1352 msgid "The ``'namereplace'`` error handler was added." msgstr "ajout du gestionnaire d'erreurs ``'namereplace'``." -#: library/functions.rst:1350 +#: library/functions.rst:1357 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "prise en charge des objets implémentant :class:`os.PathLike`." -#: library/functions.rst:1351 +#: library/functions.rst:1358 msgid "" "On Windows, opening a console buffer may return a subclass of :class:`io." "RawIOBase` other than :class:`io.FileIO`." @@ -2622,7 +2630,7 @@ msgstr "" "Sous Windows, ouvrir un *buffer* du terminal peut renvoyer une sous-classe " "de :class:`io.RawIOBase` autre que :class:`io.FileIO`." -#: library/functions.rst:1356 +#: library/functions.rst:1363 msgid "" "Given a string representing one Unicode character, return an integer " "representing the Unicode code point of that character. For example, " @@ -2634,7 +2642,7 @@ msgstr "" "entier ``97`` et ``ord('€')`` (symbole euro) renvoie ``8364``. Il s'agit de " "l'inverse de :func:`chr`." -#: library/functions.rst:1364 +#: library/functions.rst:1371 msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " "power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " @@ -2646,7 +2654,7 @@ msgstr "" "``pow(base, exp) % mod``). La forme à deux arguments ``pow(base, exp)`` est " "équivalente à l'opérateur puissance : ``base**exp``." -#: library/functions.rst:1369 +#: library/functions.rst:1376 #, fuzzy msgid "" "The arguments must have numeric types. With mixed operand types, the " @@ -2667,7 +2675,7 @@ msgstr "" "convertis en ``float``, et le résultat sera un ``float`` aussi. Par exemple, " "``10**2`` donne ``100``, alors que ``10**-2`` donne ``0.01``." -#: library/functions.rst:1379 +#: library/functions.rst:1386 msgid "" "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " "also be of integer type and *mod* must be nonzero. If *mod* is present and " @@ -2681,11 +2689,11 @@ msgstr "" "être premiers entre eux. Dans ce cas, ``pow(inv_base, -exp, mod)`` est " "renvoyé, où *inv_base* est un inverse de *base* modulo *mod*." -#: library/functions.rst:1385 +#: library/functions.rst:1392 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" msgstr "Voici un exemple de calcul d'un inverse de ``38`` modulo ``97`` ::" -#: library/functions.rst:1392 +#: library/functions.rst:1399 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -2694,14 +2702,14 @@ msgstr "" "permet maintenant au deuxième argument d'être négatif, permettant le calcul " "des inverses modulaires." -#: library/functions.rst:1397 +#: library/functions.rst:1404 msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" "Autorise les arguments par mots-clés. Auparavant, seuls les arguments " "positionnels étaient autorisés." -#: library/functions.rst:1404 +#: library/functions.rst:1411 #, fuzzy msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " @@ -2712,7 +2720,7 @@ msgstr "" "*end*. Les arguments *sep*, *end*, *file*, et *flush*, s'ils sont présents, " "doivent être nommés." -#: library/functions.rst:1408 +#: library/functions.rst:1415 msgid "" "All non-keyword arguments are converted to strings like :func:`str` does and " "written to the stream, separated by *sep* and followed by *end*. Both *sep* " @@ -2726,7 +2734,7 @@ msgstr "" "les valeurs par défaut. Si aucun *objects* n'est donné :func:`print` écris " "seulement *end*." -#: library/functions.rst:1414 +#: library/functions.rst:1421 msgid "" "The *file* argument must be an object with a ``write(string)`` method; if it " "is not present or ``None``, :data:`sys.stdout` will be used. Since printed " @@ -2739,7 +2747,7 @@ msgstr "" "peut pas être utilisé avec des fichiers ouverts en mode binaire. Pour ceux-" "ci utilisez plutôt ``file.write(...)``." -#: library/functions.rst:1419 +#: library/functions.rst:1426 #, fuzzy msgid "" "Whether the output is buffered is usually determined by *file*, but if the " @@ -2748,15 +2756,15 @@ msgstr "" "Que la sortie utilise un *buffer* ou non est souvent décidé par *file*, mais " "si l'argument *flush* est vrai, le tampon du flux est vidé explicitement." -#: library/functions.rst:1422 +#: library/functions.rst:1429 msgid "Added the *flush* keyword argument." msgstr "ajout de l'argument nommé *flush*." -#: library/functions.rst:1428 +#: library/functions.rst:1435 msgid "Return a property attribute." msgstr "Renvoie un attribut propriété." -#: library/functions.rst:1430 +#: library/functions.rst:1437 msgid "" "*fget* is a function for getting an attribute value. *fset* is a function " "for setting an attribute value. *fdel* is a function for deleting an " @@ -2767,11 +2775,11 @@ msgstr "" "supprimer la valeur d'un attribut, et *doc* créé une *docstring* pour " "l'attribut." -#: library/functions.rst:1434 +#: library/functions.rst:1441 msgid "A typical use is to define a managed attribute ``x``::" msgstr "Une utilisation courante : définir un attribut managé ``x`` ::" -#: library/functions.rst:1451 +#: library/functions.rst:1458 #, fuzzy msgid "" "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " @@ -2781,7 +2789,7 @@ msgstr "" "anglais), ``c.x = value`` invoque le mutateur (*setter*), et ``del x`` le " "destructeur (*deleter*)." -#: library/functions.rst:1454 +#: library/functions.rst:1461 msgid "" "If given, *doc* will be the docstring of the property attribute. Otherwise, " "the property will copy *fget*'s docstring (if it exists). This makes it " @@ -2793,7 +2801,7 @@ msgstr "" "création de propriétés en lecture seule en utilisant simplement :func:" "`property` comme un :term:`décorateur ` ::" -#: library/functions.rst:1467 +#: library/functions.rst:1474 msgid "" "The ``@property`` decorator turns the :meth:`voltage` method into a " "\"getter\" for a read-only attribute with the same name, and it sets the " @@ -2803,7 +2811,7 @@ msgstr "" "*getter* d'un attribut du même nom, et donne *\"Get the current voltage\"* " "comme *docstring* de *voltage*." -#: library/functions.rst:1471 +#: library/functions.rst:1478 msgid "" "A property object has :attr:`~property.getter`, :attr:`~property.setter`, " "and :attr:`~property.deleter` methods usable as decorators that create a " @@ -2815,7 +2823,7 @@ msgstr "" "une copie de la propriété avec les accesseurs correspondants définis par la " "fonction de décoration. C'est plus clair avec un exemple ::" -#: library/functions.rst:1493 +#: library/functions.rst:1500 msgid "" "This code is exactly equivalent to the first example. Be sure to give the " "additional functions the same name as the original property (``x`` in this " @@ -2825,7 +2833,7 @@ msgstr "" "donner aux fonctions additionnelles le même nom que la propriété (``x`` dans " "ce cas)." -#: library/functions.rst:1497 +#: library/functions.rst:1504 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -2833,11 +2841,11 @@ msgstr "" "L'objet propriété renvoyé à aussi les attributs ``fget``, ``fset`` et " "``fdel`` correspondants aux arguments du constructeur." -#: library/functions.rst:1500 +#: library/functions.rst:1507 msgid "The docstrings of property objects are now writeable." msgstr "Les *docstrings* des objets propriété peuvent maintenant être écrits." -#: library/functions.rst:1509 +#: library/functions.rst:1516 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -2846,7 +2854,7 @@ msgstr "" "type de séquence immuable, comme décrit dans :ref:`typesseq-range` et :ref:" "`typesseq`." -#: library/functions.rst:1515 +#: library/functions.rst:1522 #, fuzzy msgid "" "Return a string containing a printable representation of an object. For " @@ -2867,7 +2875,7 @@ msgstr "" "l'adresse de l'objet. Une classe peut contrôler ce que cette fonction " "renvoie pour ses instances en définissant une méthode :meth:`__repr__`." -#: library/functions.rst:1528 +#: library/functions.rst:1535 msgid "" "Return a reverse :term:`iterator`. *seq* must be an object which has a :" "meth:`__reversed__` method or supports the sequence protocol (the :meth:" @@ -2879,7 +2887,7 @@ msgstr "" "séquence (la méthode :meth:`__len__` et la méthode :meth:`__getitem__` avec " "des arguments entiers commençant à zéro)." -#: library/functions.rst:1536 +#: library/functions.rst:1543 msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " "*ndigits* is omitted or is ``None``, it returns the nearest integer to its " @@ -2889,7 +2897,7 @@ msgstr "" "virgule. Si *ndigits* est omis (ou est ``None``), l'entier le plus proche " "est renvoyé." -#: library/functions.rst:1540 +#: library/functions.rst:1547 #, fuzzy msgid "" "For the built-in types supporting :func:`round`, values are rounded to the " @@ -2908,7 +2916,7 @@ msgstr "" "zéro, ou négatif). La valeur renvoyée est un entier si *ndigits* n'est pas " "donné, (ou est ``None``). Sinon elle est du même type que *number*." -#: library/functions.rst:1549 +#: library/functions.rst:1556 msgid "" "For a general Python object ``number``, ``round`` delegates to ``number." "__round__``." @@ -2916,7 +2924,7 @@ msgstr "" "Pour tout autre objet Python ``number``, ``round`` délègue à ``number." "__round__``." -#: library/functions.rst:1554 +#: library/functions.rst:1561 msgid "" "The behavior of :func:`round` for floats can be surprising: for example, " "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " @@ -2930,7 +2938,7 @@ msgstr "" "fractions de décimaux ne peuvent pas être représentés exactement en nombre a " "virgule flottante. Voir :ref:`tut-fp-issues` pour plus d'information." -#: library/functions.rst:1565 +#: library/functions.rst:1572 msgid "" "Return a new :class:`set` object, optionally with elements taken from " "*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-" @@ -2940,7 +2948,7 @@ msgstr "" "d'*iterable*. ``set`` est une classe native. Voir :class:`set` et :ref:" "`types-set` pour la documentation de cette classe." -#: library/functions.rst:1569 +#: library/functions.rst:1576 msgid "" "For other containers see the built-in :class:`frozenset`, :class:`list`, :" "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " @@ -2949,7 +2957,7 @@ msgstr "" "D'autres conteneurs existent, comme : :class:`frozenset`, :class:`list`, :" "class:`tuple`, et :class:`dict`, ainsi que le module :mod:`collections`." -#: library/functions.rst:1576 +#: library/functions.rst:1583 #, fuzzy msgid "" "This is the counterpart of :func:`getattr`. The arguments are an object, a " @@ -2964,7 +2972,7 @@ msgstr "" "si l'objet l'autorise. Par exemple, ``setattr(x, 'foobar', 123)`` équivaut à " "``x.foobar = 123``." -#: library/functions.rst:1582 +#: library/functions.rst:1589 msgid "" "*name* need not be a Python identifier as defined in :ref:`identifiers` " "unless the object chooses to enforce that, for example in a custom :meth:" @@ -2973,14 +2981,14 @@ msgid "" "notation, but is accessible through :func:`getattr` etc.." msgstr "" -#: library/functions.rst:1590 +#: library/functions.rst:1597 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " "with two leading underscores) name in order to set it with :func:`setattr`." msgstr "" -#: library/functions.rst:1599 +#: library/functions.rst:1606 #, fuzzy msgid "" "Return a :term:`slice` object representing the set of indices specified by " @@ -3005,16 +3013,16 @@ msgstr "" "Voir :func:`itertools.islice` pour une version alternative renvoyant un " "itérateur." -#: library/functions.rst:1612 +#: library/functions.rst:1619 msgid "Return a new sorted list from the items in *iterable*." msgstr "Renvoie une nouvelle liste triée depuis les éléments d'*iterable*." -#: library/functions.rst:1614 +#: library/functions.rst:1621 msgid "" "Has two optional arguments which must be specified as keyword arguments." msgstr "A deux arguments optionnels qui doivent être nommés." -#: library/functions.rst:1616 +#: library/functions.rst:1623 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each element in *iterable* (for example, ``key=str." @@ -3025,7 +3033,7 @@ msgstr "" "lower``). La valeur par défaut est ``None`` (compare les éléments " "directement)." -#: library/functions.rst:1620 +#: library/functions.rst:1627 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -3033,7 +3041,7 @@ msgstr "" "*reverse*, une valeur booléenne. Si elle est ``True``, la liste d'éléments " "est triée comme si toutes les comparaisons étaient inversées." -#: library/functions.rst:1623 +#: library/functions.rst:1630 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -3041,7 +3049,7 @@ msgstr "" "Utilisez :func:`functools.cmp_to_key` pour convertir l'ancienne notation " "*cmp* en une fonction *key*." -#: library/functions.rst:1626 +#: library/functions.rst:1633 msgid "" "The built-in :func:`sorted` function is guaranteed to be stable. A sort is " "stable if it guarantees not to change the relative order of elements that " @@ -3053,7 +3061,7 @@ msgstr "" "eux. C'est utile pour trier en plusieurs passes (par exemple par département " "puis par salaire)." -#: library/functions.rst:1631 +#: library/functions.rst:1638 msgid "" "The sort algorithm uses only ``<`` comparisons between items. While " "defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " @@ -3065,17 +3073,17 @@ msgid "" "method." msgstr "" -#: library/functions.rst:1640 +#: library/functions.rst:1647 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Pour des exemples de tris et un bref tutoriel, consultez :ref:`sortinghowto`." -#: library/functions.rst:1644 +#: library/functions.rst:1651 msgid "Transform a method into a static method." msgstr "Transforme une méthode en méthode statique." -#: library/functions.rst:1646 +#: library/functions.rst:1653 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -3083,7 +3091,7 @@ msgstr "" "Une méthode statique ne reçoit pas de premier argument implicitement. Voilà " "comment déclarer une méthode statique ::" -#: library/functions.rst:1653 +#: library/functions.rst:1660 msgid "" "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" "`function` for details." @@ -3091,7 +3099,7 @@ msgstr "" "La forme ``@staticmethod`` est un :term:`décorateur ` de " "fonction. Consultez :ref:`function` pour plus de détails." -#: library/functions.rst:1656 +#: library/functions.rst:1663 #, fuzzy msgid "" "A static method can be called either on the class (such as ``C.f()``) or on " @@ -3102,7 +3110,7 @@ msgstr "" "f()``) comme sur une instance (par exemple, ``C().f()``). De plus, elles " "peuvent être appelées comme des fonctions régulières (comme ``f()``)." -#: library/functions.rst:1660 +#: library/functions.rst:1667 #, fuzzy msgid "" "Static methods in Python are similar to those found in Java or C++. Also, " @@ -3113,7 +3121,7 @@ msgstr "" "ou en C++. Consultez :func:`classmethod` pour une variante utile pour créer " "des constructeurs alternatifs." -#: library/functions.rst:1664 +#: library/functions.rst:1671 msgid "" "Like all decorators, it is also possible to call ``staticmethod`` as a " "regular function and do something with its result. This is needed in some " @@ -3127,26 +3135,26 @@ msgstr "" "depuis le corps d'une classe, et souhaiteriez éviter sa transformation en " "méthode d'instance. Pour ces cas, faites comme suit ::" -#: library/functions.rst:1676 +#: library/functions.rst:1683 msgid "For more information on static methods, see :ref:`types`." msgstr "" "Pour plus d'informations sur les méthodes statiques, consultez :ref:`types`." -#: library/functions.rst:1678 +#: library/functions.rst:1685 msgid "" "Static methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a " "new ``__wrapped__`` attribute, and are now callable as regular functions." msgstr "" -#: library/functions.rst:1693 +#: library/functions.rst:1700 msgid "" "Return a :class:`str` version of *object*. See :func:`str` for details." msgstr "" "Renvoie une version d'*object* sous forme de :class:`str`. Voir :func:`str` " "pour plus de détails." -#: library/functions.rst:1695 +#: library/functions.rst:1702 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -3154,7 +3162,7 @@ msgstr "" "``str`` est la :term:`classe ` native des chaînes de caractères. Pour " "des informations générales à propos des chaînes, consultez :ref:`textseq`." -#: library/functions.rst:1701 +#: library/functions.rst:1708 msgid "" "Sums *start* and the items of an *iterable* from left to right and returns " "the total. The *iterable*'s items are normally numbers, and the start value " @@ -3164,7 +3172,7 @@ msgstr "" "donne le total. Les éléments de l'*iterable* sont normalement des nombres, " "et la valeur de *start* ne peut pas être une chaîne de caractères." -#: library/functions.rst:1705 +#: library/functions.rst:1712 msgid "" "For some use cases, there are good alternatives to :func:`sum`. The " "preferred, fast way to concatenate a sequence of strings is by calling ``''." @@ -3178,11 +3186,11 @@ msgstr "" "meilleure précision, voir :func:`math.fsum`. Pour concaténer une série " "d'itérables, utilisez plutôt :func:`itertools.chain`." -#: library/functions.rst:1711 +#: library/functions.rst:1718 msgid "The *start* parameter can be specified as a keyword argument." msgstr "le paramètre *start* peut être passé comme un argument nommé." -#: library/functions.rst:1716 +#: library/functions.rst:1723 msgid "" "Return a proxy object that delegates method calls to a parent or sibling " "class of *type*. This is useful for accessing inherited methods that have " @@ -3192,7 +3200,7 @@ msgstr "" "de méthode à une classe parente ou sœur de *type*. C'est utile pour accéder " "aux méthodes héritées qui ont été remplacées dans une classe." -#: library/functions.rst:1720 +#: library/functions.rst:1727 msgid "" "The *object-or-type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -3201,7 +3209,7 @@ msgstr "" "` est utilisé pour la recherche. La recherche " "commence à partir de la classe qui suit immédiatement le *type*." -#: library/functions.rst:1724 +#: library/functions.rst:1731 msgid "" "For example, if :attr:`~class.__mro__` of *object-or-type* is ``D -> B -> C -" "> A -> object`` and the value of *type* is ``B``, then :func:`super` " @@ -3211,7 +3219,7 @@ msgstr "" "-> A -> object`` et la valeur de *type* est ``B``, alors :func:`super` " "recherche ``C -> A -> object``." -#: library/functions.rst:1728 +#: library/functions.rst:1735 msgid "" "The :attr:`~class.__mro__` attribute of the *object-or-type* lists the " "method resolution search order used by both :func:`getattr` and :func:" @@ -3223,7 +3231,7 @@ msgstr "" "`super`. L'attribut est dynamique et peut changer lorsque la hiérarchie " "d'héritage est modifiée." -#: library/functions.rst:1733 +#: library/functions.rst:1740 msgid "" "If the second argument is omitted, the super object returned is unbound. If " "the second argument is an object, ``isinstance(obj, type)`` must be true. " @@ -3235,7 +3243,7 @@ msgstr "" "le second argument est un type, ``issubclass(type2, type)`` doit être vrai " "(c'est utile pour les méthodes de classe)." -#: library/functions.rst:1738 +#: library/functions.rst:1745 msgid "" "There are two typical use cases for *super*. In a class hierarchy with " "single inheritance, *super* can be used to refer to parent classes without " @@ -3248,7 +3256,7 @@ msgstr "" "maintenable. Cet usage se rapproche de l'usage de *super* dans d'autres " "langages de programmation." -#: library/functions.rst:1743 +#: library/functions.rst:1750 #, fuzzy msgid "" "The second use case is to support cooperative multiple inheritance in a " @@ -3272,12 +3280,12 @@ msgstr "" "dans la hiérarchie, et parce que l'ordre peut inclure des classes sœurs " "inconnues avant l'exécution)." -#: library/functions.rst:1753 +#: library/functions.rst:1760 msgid "For both use cases, a typical superclass call looks like this::" msgstr "" "Dans tous les cas, un appel typique à une classe parente ressemble à ::" -#: library/functions.rst:1760 +#: library/functions.rst:1767 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -3287,7 +3295,7 @@ msgstr "" "la recherche d'attributs. Un cas d'utilisation possible est l'appel d'un :" "term:`descripteur ` d'une classe parente ou sœur." -#: library/functions.rst:1764 +#: library/functions.rst:1771 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " @@ -3304,7 +3312,7 @@ msgstr "" "n'est pas défini pour les recherches implicites via des instructions ou des " "opérateurs tels que ``super()[name]``." -#: library/functions.rst:1771 +#: library/functions.rst:1778 msgid "" "Also note that, aside from the zero argument form, :func:`super` is not " "limited to use inside methods. The two argument form specifies the " @@ -3321,7 +3329,7 @@ msgstr "" "propos de la classe en cours de définition, ainsi qu'accéder à l'instance " "courante pour les méthodes ordinaires." -#: library/functions.rst:1778 +#: library/functions.rst:1785 msgid "" "For practical suggestions on how to design cooperative classes using :func:" "`super`, see `guide to using super() `_." -#: library/functions.rst:1787 +#: library/functions.rst:1794 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -3339,7 +3347,7 @@ msgstr "" "Plutôt qu'être une fonction, :class:`tuple` est en fait un type de séquence " "immuable, comme documenté dans :ref:`typesseq-tuple` et :ref:`typesseq`." -#: library/functions.rst:1796 +#: library/functions.rst:1803 msgid "" "With one argument, return the type of an *object*. The return value is a " "type object and generally the same object as returned by :attr:`object." @@ -3349,7 +3357,7 @@ msgstr "" "objet type et généralement la même que la valeur de l'attribut :attr:`object." "__class__ `." -#: library/functions.rst:1800 +#: library/functions.rst:1807 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -3357,7 +3365,7 @@ msgstr "" "La fonction native :func:`isinstance` est recommandée pour tester le type " "d'un objet, car elle prend en compte l'héritage." -#: library/functions.rst:1804 +#: library/functions.rst:1811 #, fuzzy msgid "" "With three arguments, return a new type object. This is essentially a " @@ -3381,11 +3389,11 @@ msgstr "" "`~object.__dict__`. Par exemple, les deux instructions suivantes créent deux " "instances identiques de :class:`type` :" -#: library/functions.rst:1819 +#: library/functions.rst:1826 msgid "See also :ref:`bltin-type-objects`." msgstr "Voir aussi :ref:`bltin-type-objects`." -#: library/functions.rst:1821 +#: library/functions.rst:1828 msgid "" "Keyword arguments provided to the three argument form are passed to the " "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " @@ -3393,12 +3401,12 @@ msgid "" "would." msgstr "" -#: library/functions.rst:1826 +#: library/functions.rst:1833 #, fuzzy msgid "See also :ref:`class-customization`." msgstr "Voir aussi :ref:`class-customization`." -#: library/functions.rst:1828 +#: library/functions.rst:1835 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." @@ -3407,7 +3415,7 @@ msgstr "" "ne doivent plus utiliser la forme à un argument pour récupérer le type d'un " "objet." -#: library/functions.rst:1834 +#: library/functions.rst:1841 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`~object.__dict__` attribute." @@ -3416,7 +3424,7 @@ msgstr "" "instance ou de n'importe quel objet avec un attribut :attr:`~object." "__dict__`." -#: library/functions.rst:1837 +#: library/functions.rst:1844 msgid "" "Objects such as modules and instances have an updateable :attr:`~object." "__dict__` attribute; however, other objects may have write restrictions on " @@ -3429,7 +3437,7 @@ msgstr "" "exemple, les classes utilisent un :class:`types.MappingProxyType` pour " "éviter les modifications directes du dictionnaire)." -#: library/functions.rst:1842 +#: library/functions.rst:1849 msgid "" "Without an argument, :func:`vars` acts like :func:`locals`. Note, the " "locals dictionary is only useful for reads since updates to the locals " @@ -3439,45 +3447,45 @@ msgstr "" "dictionnaire des variables locales n'est utile qu'en lecture, car ses " "écritures sont ignorées." -#: library/functions.rst:1846 +#: library/functions.rst:1853 msgid "" "A :exc:`TypeError` exception is raised if an object is specified but it " "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " "defines the :attr:`~object.__slots__` attribute)." msgstr "" -#: library/functions.rst:1852 +#: library/functions.rst:1859 msgid "" "Iterate over several iterables in parallel, producing tuples with an item " "from each one." msgstr "" -#: library/functions.rst:1855 +#: library/functions.rst:1862 #, fuzzy msgid "Example::" msgstr "Exemple ::" -#: library/functions.rst:1864 +#: library/functions.rst:1871 msgid "" "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " "tuple contains the *i*-th element from each of the argument iterables." msgstr "" -#: library/functions.rst:1867 +#: library/functions.rst:1874 msgid "" "Another way to think of :func:`zip` is that it turns rows into columns, and " "columns into rows. This is similar to `transposing a matrix `_." msgstr "" -#: library/functions.rst:1871 +#: library/functions.rst:1878 msgid "" ":func:`zip` is lazy: The elements won't be processed until the iterable is " "iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:" "`list`." msgstr "" -#: library/functions.rst:1875 +#: library/functions.rst:1882 msgid "" "One thing to consider is that the iterables passed to :func:`zip` could have " "different lengths; sometimes by design, and sometimes because of a bug in " @@ -3485,51 +3493,51 @@ msgid "" "approaches to dealing with this issue:" msgstr "" -#: library/functions.rst:1880 +#: library/functions.rst:1887 msgid "" "By default, :func:`zip` stops when the shortest iterable is exhausted. It " "will ignore the remaining items in the longer iterables, cutting off the " "result to the length of the shortest iterable::" msgstr "" -#: library/functions.rst:1887 +#: library/functions.rst:1894 msgid "" ":func:`zip` is often used in cases where the iterables are assumed to be of " "equal length. In such cases, it's recommended to use the ``strict=True`` " "option. Its output is the same as regular :func:`zip`::" msgstr "" -#: library/functions.rst:1894 +#: library/functions.rst:1901 msgid "" -"Unlike the default behavior, it checks that the lengths of iterables are " -"identical, raising a :exc:`ValueError` if they aren't:" +"Unlike the default behavior, it raises a :exc:`ValueError` if one iterable " +"is exhausted before the others:" msgstr "" -#: library/functions.rst:1902 +#: library/functions.rst:1919 msgid "" "Without the ``strict=True`` argument, any bug that results in iterables of " "different lengths will be silenced, possibly manifesting as a hard-to-find " "bug in another part of the program." msgstr "" -#: library/functions.rst:1906 +#: library/functions.rst:1923 msgid "" "Shorter iterables can be padded with a constant value to make all the " "iterables have the same length. This is done by :func:`itertools." "zip_longest`." msgstr "" -#: library/functions.rst:1910 +#: library/functions.rst:1927 msgid "" "Edge cases: With a single iterable argument, :func:`zip` returns an iterator " "of 1-tuples. With no arguments, it returns an empty iterator." msgstr "" -#: library/functions.rst:1913 +#: library/functions.rst:1930 msgid "Tips and tricks:" msgstr "" -#: library/functions.rst:1915 +#: library/functions.rst:1932 #, fuzzy msgid "" "The left-to-right evaluation order of the iterables is guaranteed. This " @@ -3545,7 +3553,7 @@ msgstr "" "``n`` appels à l'itérateur. Cela a pour effet de diviser la séquence en " "morceaux de taille *n*." -#: library/functions.rst:1921 +#: library/functions.rst:1938 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -3553,12 +3561,12 @@ msgstr "" ":func:`zip` peut être utilisée conjointement avec l'opérateur ``*`` pour " "dézipper une liste ::" -#: library/functions.rst:1932 +#: library/functions.rst:1949 #, fuzzy msgid "Added the ``strict`` argument." msgstr "ajout de l'argument ``strict``." -#: library/functions.rst:1944 +#: library/functions.rst:1961 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -3566,7 +3574,7 @@ msgstr "" "C'est une fonction avancée qui n'est pas fréquemment nécessaire, " "contrairement à :func:`importlib.import_module`." -#: library/functions.rst:1947 +#: library/functions.rst:1964 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -3586,7 +3594,7 @@ msgstr "" "à trouver l'implémentation par défaut. L'usage direct de :func:`__import__` " "est aussi déconseillé en faveur de :func:`importlib.import_module`." -#: library/functions.rst:1956 +#: library/functions.rst:1973 #, fuzzy msgid "" "The function imports the module *name*, potentially using the given " @@ -3603,7 +3611,7 @@ msgstr "" "l'argument *locals* et n'utilise *globals* que pour déterminer le contexte " "du paquet de l'instruction :keyword:`import`." -#: library/functions.rst:1963 +#: library/functions.rst:1980 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -3616,7 +3624,7 @@ msgstr "" "positive indique le nombre de dossiers parents relativement au dossier du " "module appelant :func:`__import__` (voir la :pep:`328`)." -#: library/functions.rst:1969 +#: library/functions.rst:1986 msgid "" "When the *name* variable is of the form ``package.module``, normally, the " "top-level package (the name up till the first dot) is returned, *not* the " @@ -3628,7 +3636,7 @@ msgstr "" "et *pas* le module nommé par *name*. Cependant, lorsqu'un argument " "*fromlist* est fourni, le module nommé par *name* est renvoyé." -#: library/functions.rst:1974 +#: library/functions.rst:1991 msgid "" "For example, the statement ``import spam`` results in bytecode resembling " "the following code::" @@ -3636,11 +3644,11 @@ msgstr "" "Par exemple, l'instruction ``import spam`` renvoie un code intermédiaire " "(*bytecode* en anglais) ressemblant au code suivant ::" -#: library/functions.rst:1979 +#: library/functions.rst:1996 msgid "The statement ``import spam.ham`` results in this call::" msgstr "L'instruction ``import spam.ham`` appelle ::" -#: library/functions.rst:1983 +#: library/functions.rst:2000 msgid "" "Note how :func:`__import__` returns the toplevel module here because this is " "the object that is bound to a name by the :keyword:`import` statement." @@ -3648,7 +3656,7 @@ msgstr "" "Notez comment :func:`__import__` renvoie ici le module de plus haut niveau " "parce que c'est l'objet lié à un nom par l'instruction :keyword:`import`." -#: library/functions.rst:1986 +#: library/functions.rst:2003 msgid "" "On the other hand, the statement ``from spam.ham import eggs, sausage as " "saus`` results in ::" @@ -3656,7 +3664,7 @@ msgstr "" "En revanche, l'instruction ``from spam.ham import eggs, sausage as saus`` " "donne ::" -#: library/functions.rst:1993 +#: library/functions.rst:2010 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -3665,7 +3673,7 @@ msgstr "" "Ici le module ``spam.ham`` est renvoyé par :func:`__import__`. De cet objet, " "les noms à importer sont récupérés et assignés à leurs noms respectifs." -#: library/functions.rst:1997 +#: library/functions.rst:2014 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -3673,7 +3681,7 @@ msgstr "" "Si vous voulez simplement importer un module (potentiellement dans un " "paquet) par son nom, utilisez :func:`importlib.import_module`." -#: library/functions.rst:2000 +#: library/functions.rst:2017 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -3681,7 +3689,7 @@ msgstr "" "les valeurs négatives pour *level* ne sont plus prises en charge (et sa " "valeur par défaut est 0)." -#: library/functions.rst:2004 +#: library/functions.rst:2021 msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." @@ -3689,11 +3697,11 @@ msgstr "" "Quand les options :option:`-E` ou :option:`-I` sont précisées dans la ligne " "de commande, la variable d'environnement :envvar:`PYTHONCASEOK` est ignorée." -#: library/functions.rst:2009 +#: library/functions.rst:2026 msgid "Footnotes" msgstr "Notes" -#: library/functions.rst:2010 +#: library/functions.rst:2027 msgid "" "Note that the parser only accepts the Unix-style end of line convention. If " "you are reading the code from a file, make sure to use newline conversion " diff --git a/library/functools.po b/library/functools.po index b8b2ab47c6..b9be2a7398 100644 --- a/library/functools.po +++ b/library/functools.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:58+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -173,9 +173,10 @@ msgstr "" "arguments." #: library/functools.rst:143 +#, fuzzy msgid "" "Since a dictionary is used to cache results, the positional and keyword " -"arguments to the function must be hashable." +"arguments to the function must be :term:`hashable`." msgstr "" "Comme un dictionnaire est utilisé pour mettre en cache les résultats, les " "arguments positionnels et nommés de la fonction doivent être hachables." diff --git a/library/graphlib.po b/library/graphlib.po index be33335b85..2b29ebb658 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -25,7 +25,10 @@ msgid "**Source code:** :source:`Lib/graphlib.py`" msgstr "**Code source:** :source:`Lib/graphlib.py`" #: library/graphlib.rst:20 -msgid "Provides functionality to topologically sort a graph of hashable nodes." +#, fuzzy +msgid "" +"Provides functionality to topologically sort a graph of :term:`hashable` " +"nodes." msgstr "" "Fournit les fonctionnalités pour trier topologiquement un graphe de nœuds " "hachables." @@ -118,9 +121,10 @@ msgstr "" "parallèle des nœuds quand ils deviennent disponibles. Par exemple ::" #: library/graphlib.rst:87 +#, fuzzy msgid "" "Add a new node and its predecessors to the graph. Both the *node* and all " -"elements in *predecessors* must be hashable." +"elements in *predecessors* must be :term:`hashable`." msgstr "" "Ajoute un nouveau nœud et son prédécesseur dans le graphe. Le *node* ainsi " "que tous les éléments dans *predecessors* doivent être hachables." diff --git a/library/hashlib.po b/library/hashlib.po index 2b5c46801d..25a1f4229a 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:55+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -666,10 +666,6 @@ msgstr "" "*last_node*: booléen indiquant si le nœud traité est le dernier (``False`` " "pour le mode séquentiel)." -#: library/hashlib.rst:None -msgid "Explanation of tree mode parameters." -msgstr "" - #: library/hashlib.rst:399 msgid "" "See section 2.10 in `BLAKE2 specification \n" "Language-Team: FRENCH \n" @@ -679,3 +679,16 @@ msgid "" "requests, this makes it possible for files outside of the specified " "directory to be served." msgstr "" + +#: library/http.server.rst:503 +msgid "" +"Earlier versions of Python did not scrub control characters from the log " +"messages emitted to stderr from ``python -m http.server`` or the default :" +"class:`BaseHTTPRequestHandler` ``.log_message`` implementation. This could " +"allow remote clients connecting to your server to send nefarious control " +"codes to your terminal." +msgstr "" + +#: library/http.server.rst:509 +msgid "Control characters are scrubbed in stderr logs." +msgstr "" diff --git a/library/importlib.po b/library/importlib.po index 13266548e9..dca9aa8b67 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-07-04 11:26+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -429,8 +429,8 @@ msgid "" "Can use :meth:`find_spec` to provide functionality." msgstr "" -#: library/importlib.rst:360 library/importlib.rst:1192 -#: library/importlib.rst:1249 +#: library/importlib.rst:360 library/importlib.rst:1195 +#: library/importlib.rst:1252 msgid "Use :meth:`find_spec` instead." msgstr "utilisez plutôt :meth:`find_spec`." @@ -508,7 +508,7 @@ msgid "" "definition for a loader." msgstr "" -#: library/importlib.rst:913 +#: library/importlib.rst:916 msgid "" "Loaders that wish to support resource reading should implement a " "``get_resource_reader(fullname)`` method as specified by :class:`importlib." @@ -900,7 +900,7 @@ msgstr "" msgid "Use :meth:`Loader.exec_module` instead." msgstr "" -#: library/importlib.rst:1394 +#: library/importlib.rst:1397 msgid "Returns :attr:`path`." msgstr "" @@ -1028,79 +1028,85 @@ msgstr "" #: library/importlib.rst:812 msgid "" -"An object with a subset of pathlib.Path methods suitable for traversing " -"directories and opening files." +"An object with a subset of :class:`pathlib.Path` methods suitable for " +"traversing directories and opening files." msgstr "" -#: library/importlib.rst:819 +#: library/importlib.rst:815 +msgid "" +"For a representation of the object on the file-system, use :meth:`importlib." +"resources.as_file`." +msgstr "" + +#: library/importlib.rst:822 msgid "The base name of this object without any parent references." msgstr "" -#: library/importlib.rst:823 +#: library/importlib.rst:826 msgid "Yield Traversable objects in self." msgstr "" -#: library/importlib.rst:827 +#: library/importlib.rst:830 msgid "Return True if self is a directory." msgstr "" -#: library/importlib.rst:831 +#: library/importlib.rst:834 msgid "Return True if self is a file." msgstr "" -#: library/importlib.rst:839 +#: library/importlib.rst:842 msgid "Return Traversable child in self." msgstr "" -#: library/importlib.rst:843 +#: library/importlib.rst:846 msgid "" "*mode* may be 'r' or 'rb' to open as text or binary. Return a handle " "suitable for reading (same as :attr:`pathlib.Path.open`)." msgstr "" -#: library/importlib.rst:846 +#: library/importlib.rst:849 msgid "" "When opening as text, accepts encoding parameters such as those accepted by :" "attr:`io.TextIOWrapper`." msgstr "" -#: library/importlib.rst:851 +#: library/importlib.rst:854 msgid "Read contents of self as bytes." msgstr "" -#: library/importlib.rst:855 +#: library/importlib.rst:858 msgid "Read contents of self as text." msgstr "" -#: library/importlib.rst:873 +#: library/importlib.rst:876 msgid "" "Note: In Python 3.11 and later, this class is found in ``importlib.resources." "abc``." msgstr "" -#: library/importlib.rst:862 +#: library/importlib.rst:865 msgid "" "An abstract base class for resource readers capable of serving the ``files`` " "interface. Subclasses ResourceReader and provides concrete implementations " "of the ResourceReader's abstract methods. Therefore, any loader supplying " -"TraversableReader also supplies ResourceReader." +"TraversableResources also supplies ResourceReader." msgstr "" -#: library/importlib.rst:868 +#: library/importlib.rst:871 msgid "" "Loaders that wish to support resource reading are expected to implement this " "interface." msgstr "" -#: library/importlib.rst:877 +#: library/importlib.rst:880 msgid ":mod:`importlib.resources` -- Resources" msgstr "" -#: library/importlib.rst:882 +#: library/importlib.rst:885 msgid "**Source code:** :source:`Lib/importlib/resources.py`" msgstr "" -#: library/importlib.rst:888 +#: library/importlib.rst:891 msgid "" "This module leverages Python's import system to provide access to " "*resources* within *packages*. If you can import a package, you can access " @@ -1108,7 +1114,7 @@ msgid "" "binary or text mode." msgstr "" -#: library/importlib.rst:893 +#: library/importlib.rst:896 msgid "" "Resources are roughly akin to files inside directories, though it's " "important to keep in mind that this is just a metaphor. Resources and " @@ -1116,7 +1122,7 @@ msgid "" "file system." msgstr "" -#: library/importlib.rst:899 +#: library/importlib.rst:902 msgid "" "This module provides functionality similar to `pkg_resources `_ `Basic Resource " @@ -1126,7 +1132,7 @@ msgid "" "consistent semantics." msgstr "" -#: library/importlib.rst:907 +#: library/importlib.rst:910 msgid "" "The standalone backport of this module provides more information on `using " "importlib.resources `_." msgstr "" -#: library/importlib.rst:917 +#: library/importlib.rst:920 msgid "The following types are defined." msgstr "" -#: library/importlib.rst:921 +#: library/importlib.rst:924 msgid "" "The ``Package`` type is defined as ``Union[str, ModuleType]``. This means " "that where the function describes accepting a ``Package``, you can pass in " @@ -1146,17 +1152,17 @@ msgid "" "``__spec__.submodule_search_locations`` that is not ``None``." msgstr "" -#: library/importlib.rst:928 +#: library/importlib.rst:931 msgid "" "This type describes the resource names passed into the various functions in " "this package. This is defined as ``Union[str, os.PathLike]``." msgstr "" -#: library/importlib.rst:932 +#: library/importlib.rst:935 msgid "The following functions are available." msgstr "" -#: library/importlib.rst:937 +#: library/importlib.rst:940 msgid "" "Returns an :class:`importlib.abc.Traversable` object representing the " "resource container for the package (think directory) and its resources " @@ -1164,13 +1170,13 @@ msgid "" "subdirectories)." msgstr "" -#: library/importlib.rst:1043 +#: library/importlib.rst:1046 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements." msgstr "" -#: library/importlib.rst:949 +#: library/importlib.rst:952 msgid "" "Given a :class:`importlib.abc.Traversable` object representing a file, " "typically from :func:`importlib.resources.files`, return a context manager " @@ -1178,23 +1184,23 @@ msgid "" "class:`pathlib.Path` object." msgstr "" -#: library/importlib.rst:954 +#: library/importlib.rst:957 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource was extracted from e.g. a zip file." msgstr "" -#: library/importlib.rst:957 +#: library/importlib.rst:960 msgid "" "Use ``as_file`` when the Traversable methods (``read_text``, etc) are " "insufficient and an actual file on the file system is required." msgstr "" -#: library/importlib.rst:965 +#: library/importlib.rst:968 msgid "Open for binary reading the *resource* within *package*." msgstr "" -#: library/importlib.rst:967 +#: library/importlib.rst:970 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1203,13 +1209,13 @@ msgid "" "BinaryIO`` instance, a binary I/O stream open for reading." msgstr "" -#: library/importlib.rst:976 +#: library/importlib.rst:979 msgid "" "Open for text reading the *resource* within *package*. By default, the " "resource is opened for reading as UTF-8." msgstr "" -#: library/importlib.rst:979 +#: library/importlib.rst:982 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1218,18 +1224,18 @@ msgid "" "same meaning as with built-in :func:`open`." msgstr "" -#: library/importlib.rst:985 +#: library/importlib.rst:988 msgid "" "This function returns a ``typing.TextIO`` instance, a text I/O stream open " "for reading." msgstr "" -#: library/importlib.rst:991 +#: library/importlib.rst:994 msgid "" "Read and return the contents of the *resource* within *package* as ``bytes``." msgstr "" -#: library/importlib.rst:994 +#: library/importlib.rst:997 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1238,13 +1244,13 @@ msgid "" "contents of the resource as :class:`bytes`." msgstr "" -#: library/importlib.rst:1003 +#: library/importlib.rst:1006 msgid "" "Read and return the contents of *resource* within *package* as a ``str``. By " "default, the contents are read as strict UTF-8." msgstr "" -#: library/importlib.rst:1006 +#: library/importlib.rst:1009 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1254,20 +1260,20 @@ msgid "" "contents of the resource as :class:`str`." msgstr "" -#: library/importlib.rst:1016 +#: library/importlib.rst:1019 msgid "" "Return the path to the *resource* as an actual file system path. This " "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" -#: library/importlib.rst:1020 +#: library/importlib.rst:1023 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource needs to be extracted from e.g. a zip file." msgstr "" -#: library/importlib.rst:1023 +#: library/importlib.rst:1026 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements. *resource* is the name of the resource to open " @@ -1275,7 +1281,7 @@ msgid "" "resources (i.e. it cannot be a directory)." msgstr "" -#: library/importlib.rst:1031 +#: library/importlib.rst:1034 msgid "" "Return ``True`` if there is a resource named *name* in the package, " "otherwise ``False``. Remember that directories are *not* resources! " @@ -1283,66 +1289,66 @@ msgid "" "``Package`` requirements." msgstr "" -#: library/importlib.rst:1039 +#: library/importlib.rst:1042 msgid "" "Return an iterable over the named items within the package. The iterable " "returns :class:`str` resources (e.g. files) and non-resources (e.g. " "directories). The iterable does not recurse into subdirectories." msgstr "" -#: library/importlib.rst:1048 +#: library/importlib.rst:1051 msgid ":mod:`importlib.machinery` -- Importers and path hooks" msgstr "" -#: library/importlib.rst:1053 +#: library/importlib.rst:1056 msgid "**Source code:** :source:`Lib/importlib/machinery.py`" msgstr "" -#: library/importlib.rst:1057 +#: library/importlib.rst:1060 msgid "" "This module contains the various objects that help :keyword:`import` find " "and load modules." msgstr "" -#: library/importlib.rst:1062 +#: library/importlib.rst:1065 msgid "" "A list of strings representing the recognized file suffixes for source " "modules." msgstr "" -#: library/importlib.rst:1069 +#: library/importlib.rst:1072 msgid "" "A list of strings representing the file suffixes for non-optimized bytecode " "modules." msgstr "" -#: library/importlib.rst:1084 +#: library/importlib.rst:1087 msgid "Use :attr:`BYTECODE_SUFFIXES` instead." msgstr "" -#: library/importlib.rst:1079 +#: library/importlib.rst:1082 msgid "" "A list of strings representing the file suffixes for optimized bytecode " "modules." msgstr "" -#: library/importlib.rst:1089 +#: library/importlib.rst:1092 msgid "" "A list of strings representing the recognized file suffixes for bytecode " "modules (including the leading dot)." msgstr "" -#: library/importlib.rst:1094 +#: library/importlib.rst:1097 msgid "The value is no longer dependent on ``__debug__``." msgstr "" -#: library/importlib.rst:1099 +#: library/importlib.rst:1102 msgid "" "A list of strings representing the recognized file suffixes for extension " "modules." msgstr "" -#: library/importlib.rst:1106 +#: library/importlib.rst:1109 msgid "" "Returns a combined list of strings representing all file suffixes for " "modules recognized by the standard import machinery. This is a helper for " @@ -1351,56 +1357,56 @@ msgid "" "`inspect.getmodulename`)." msgstr "" -#: library/importlib.rst:1117 +#: library/importlib.rst:1120 msgid "" "An :term:`importer` for built-in modules. All known built-in modules are " "listed in :data:`sys.builtin_module_names`. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: library/importlib.rst:1136 library/importlib.rst:1164 +#: library/importlib.rst:1139 library/importlib.rst:1167 msgid "" "Only class methods are defined by this class to alleviate the need for " "instantiation." msgstr "" -#: library/importlib.rst:1125 +#: library/importlib.rst:1128 msgid "" "As part of :pep:`489`, the builtin importer now implements :meth:`Loader." "create_module` and :meth:`Loader.exec_module`" msgstr "" -#: library/importlib.rst:1132 +#: library/importlib.rst:1135 msgid "" "An :term:`importer` for frozen modules. This class implements the :class:" "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" -#: library/importlib.rst:1139 +#: library/importlib.rst:1142 msgid "" "Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." msgstr "" -#: library/importlib.rst:1146 +#: library/importlib.rst:1149 msgid "" ":term:`Finder ` for modules declared in the Windows registry. This " "class implements the :class:`importlib.abc.MetaPathFinder` ABC." msgstr "" -#: library/importlib.rst:1154 +#: library/importlib.rst:1157 msgid "" "Use :mod:`site` configuration instead. Future versions of Python may not " "enable this finder by default." msgstr "" -#: library/importlib.rst:1161 +#: library/importlib.rst:1164 msgid "" "A :term:`Finder ` for :data:`sys.path` and package ``__path__`` " "attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " "ABC." msgstr "" -#: library/importlib.rst:1169 +#: library/importlib.rst:1172 msgid "" "Class method that attempts to find a :term:`spec ` for the " "module specified by *fullname* on :data:`sys.path` or, if defined, on " @@ -1414,47 +1420,47 @@ msgid "" "cache and returned." msgstr "" -#: library/importlib.rst:1183 +#: library/importlib.rst:1186 msgid "" "If the current working directory -- represented by an empty string -- is no " "longer valid then ``None`` is returned but no value is cached in :data:`sys." "path_importer_cache`." msgstr "" -#: library/importlib.rst:1190 +#: library/importlib.rst:1193 msgid "A legacy wrapper around :meth:`find_spec`." msgstr "" -#: library/importlib.rst:1197 +#: library/importlib.rst:1200 msgid "" "Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders " "stored in :data:`sys.path_importer_cache` that define the method. Otherwise " "entries in :data:`sys.path_importer_cache` set to ``None`` are deleted." msgstr "" -#: library/importlib.rst:1202 +#: library/importlib.rst:1205 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." msgstr "" -#: library/importlib.rst:1205 +#: library/importlib.rst:1208 msgid "" "Calls objects in :data:`sys.path_hooks` with the current working directory " "for ``''`` (i.e. the empty string)." msgstr "" -#: library/importlib.rst:1212 +#: library/importlib.rst:1215 msgid "" "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " "caches results from the file system." msgstr "" -#: library/importlib.rst:1215 +#: library/importlib.rst:1218 msgid "" "The *path* argument is the directory for which the finder is in charge of " "searching." msgstr "" -#: library/importlib.rst:1218 +#: library/importlib.rst:1221 msgid "" "The *loader_details* argument is a variable number of 2-item tuples each " "containing a loader and a sequence of file suffixes the loader recognizes. " @@ -1462,7 +1468,7 @@ msgid "" "module's name and the path to the file found." msgstr "" -#: library/importlib.rst:1223 +#: library/importlib.rst:1226 msgid "" "The finder will cache the directory contents as necessary, making stat calls " "for each module search to verify the cache is not outdated. Because cache " @@ -1475,152 +1481,152 @@ msgid "" "to call :func:`importlib.invalidate_caches`." msgstr "" -#: library/importlib.rst:1237 +#: library/importlib.rst:1240 msgid "The path the finder will search in." msgstr "" -#: library/importlib.rst:1241 +#: library/importlib.rst:1244 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." msgstr "" -#: library/importlib.rst:1247 +#: library/importlib.rst:1250 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." msgstr "" -#: library/importlib.rst:1254 +#: library/importlib.rst:1257 msgid "Clear out the internal cache." msgstr "" -#: library/importlib.rst:1258 +#: library/importlib.rst:1261 msgid "" "A class method which returns a closure for use on :attr:`sys.path_hooks`. An " "instance of :class:`FileFinder` is returned by the closure using the path " "argument given to the closure directly and *loader_details* indirectly." msgstr "" -#: library/importlib.rst:1263 +#: library/importlib.rst:1266 msgid "" "If the argument to the closure is not an existing directory, :exc:" "`ImportError` is raised." msgstr "" -#: library/importlib.rst:1269 +#: library/importlib.rst:1272 msgid "" "A concrete implementation of :class:`importlib.abc.SourceLoader` by " "subclassing :class:`importlib.abc.FileLoader` and providing some concrete " "implementations of other methods." msgstr "" -#: library/importlib.rst:1277 +#: library/importlib.rst:1280 msgid "The name of the module that this loader will handle." msgstr "" -#: library/importlib.rst:1281 +#: library/importlib.rst:1284 msgid "The path to the source file." msgstr "" -#: library/importlib.rst:1285 +#: library/importlib.rst:1288 msgid "Return ``True`` if :attr:`path` appears to be for a package." msgstr "" -#: library/importlib.rst:1289 +#: library/importlib.rst:1292 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" -#: library/importlib.rst:1293 +#: library/importlib.rst:1296 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." msgstr "" -#: library/importlib.rst:1340 +#: library/importlib.rst:1343 msgid "" "Concrete implementation of :meth:`importlib.abc.Loader.load_module` where " "specifying the name of the module to load is optional." msgstr "" -#: library/importlib.rst:1345 +#: library/importlib.rst:1348 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." msgstr "" -#: library/importlib.rst:1307 +#: library/importlib.rst:1310 msgid "" "A concrete implementation of :class:`importlib.abc.FileLoader` which can " "import bytecode files (i.e. no source code files exist)." msgstr "" -#: library/importlib.rst:1310 +#: library/importlib.rst:1313 msgid "" "Please note that direct use of bytecode files (and thus not source code " "files) inhibits your modules from being usable by all Python implementations " "or new versions of Python which change the bytecode format." msgstr "" -#: library/importlib.rst:1319 +#: library/importlib.rst:1322 msgid "The name of the module the loader will handle." msgstr "" -#: library/importlib.rst:1323 +#: library/importlib.rst:1326 msgid "The path to the bytecode file." msgstr "" -#: library/importlib.rst:1327 +#: library/importlib.rst:1330 msgid "Determines if the module is a package based on :attr:`path`." msgstr "" -#: library/importlib.rst:1331 +#: library/importlib.rst:1334 msgid "Returns the code object for :attr:`name` created from :attr:`path`." msgstr "" -#: library/importlib.rst:1335 +#: library/importlib.rst:1338 msgid "" "Returns ``None`` as bytecode files have no source when this loader is used." msgstr "" -#: library/importlib.rst:1350 +#: library/importlib.rst:1353 msgid "" "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " "extension modules." msgstr "" -#: library/importlib.rst:1353 +#: library/importlib.rst:1356 msgid "" "The *fullname* argument specifies the name of the module the loader is to " "support. The *path* argument is the path to the extension module's file." msgstr "" -#: library/importlib.rst:1360 +#: library/importlib.rst:1363 msgid "Name of the module the loader supports." msgstr "" -#: library/importlib.rst:1364 +#: library/importlib.rst:1367 msgid "Path to the extension module." msgstr "" -#: library/importlib.rst:1368 +#: library/importlib.rst:1371 msgid "" "Creates the module object from the given specification in accordance with :" "pep:`489`." msgstr "" -#: library/importlib.rst:1375 +#: library/importlib.rst:1378 msgid "Initializes the given module object in accordance with :pep:`489`." msgstr "" -#: library/importlib.rst:1381 +#: library/importlib.rst:1384 msgid "" "Returns ``True`` if the file path points to a package's ``__init__`` module " "based on :attr:`EXTENSION_SUFFIXES`." msgstr "" -#: library/importlib.rst:1386 +#: library/importlib.rst:1389 msgid "Returns ``None`` as extension modules lack a code object." msgstr "" -#: library/importlib.rst:1390 +#: library/importlib.rst:1393 msgid "Returns ``None`` as extension modules do not have source code." msgstr "" -#: library/importlib.rst:1401 +#: library/importlib.rst:1404 msgid "" "A specification for a module's import-system-related state. This is " "typically exposed as the module's ``__spec__`` attribute. In the " @@ -1633,29 +1639,29 @@ msgid "" "``__spec__.submodule_search_locations``." msgstr "" -#: library/importlib.rst:1415 +#: library/importlib.rst:1418 msgid "(``__name__``)" msgstr "" -#: library/importlib.rst:1417 +#: library/importlib.rst:1420 msgid "A string for the fully qualified name of the module." msgstr "" -#: library/importlib.rst:1421 +#: library/importlib.rst:1424 msgid "(``__loader__``)" msgstr "" -#: library/importlib.rst:1423 +#: library/importlib.rst:1426 msgid "" "The :term:`Loader ` that should be used when loading the module. :" "term:`Finders ` should always set this." msgstr "" -#: library/importlib.rst:1428 +#: library/importlib.rst:1431 msgid "(``__file__``)" msgstr "" -#: library/importlib.rst:1430 +#: library/importlib.rst:1433 msgid "" "Name of the place from which the module is loaded, e.g. \"builtin\" for " "built-in modules and the filename for modules loaded from source. Normally " @@ -1663,67 +1669,67 @@ msgid "" "indicates it is unspecified (e.g. for namespace packages)." msgstr "" -#: library/importlib.rst:1437 +#: library/importlib.rst:1440 msgid "(``__path__``)" msgstr "" -#: library/importlib.rst:1439 +#: library/importlib.rst:1442 msgid "" "List of strings for where to find submodules, if a package (``None`` " "otherwise)." msgstr "" -#: library/importlib.rst:1444 +#: library/importlib.rst:1447 msgid "" "Container of extra module-specific data for use during loading (or ``None``)." msgstr "" -#: library/importlib.rst:1449 +#: library/importlib.rst:1452 msgid "(``__cached__``)" msgstr "" -#: library/importlib.rst:1451 +#: library/importlib.rst:1454 msgid "String for where the compiled module should be stored (or ``None``)." msgstr "" -#: library/importlib.rst:1455 +#: library/importlib.rst:1458 msgid "(``__package__``)" msgstr "" -#: library/importlib.rst:1457 +#: library/importlib.rst:1460 msgid "" "(Read-only) The fully qualified name of the package under which the module " "should be loaded as a submodule (or the empty string for top-level modules). " "For packages, it is the same as :attr:`__name__`." msgstr "" -#: library/importlib.rst:1463 +#: library/importlib.rst:1466 msgid "" "Boolean indicating whether or not the module's \"origin\" attribute refers " "to a loadable location." msgstr "" -#: library/importlib.rst:1467 +#: library/importlib.rst:1470 msgid ":mod:`importlib.util` -- Utility code for importers" msgstr "" -#: library/importlib.rst:1473 +#: library/importlib.rst:1476 msgid "**Source code:** :source:`Lib/importlib/util.py`" msgstr "" -#: library/importlib.rst:1477 +#: library/importlib.rst:1480 msgid "" "This module contains the various objects that help in the construction of " "an :term:`importer`." msgstr "" -#: library/importlib.rst:1482 +#: library/importlib.rst:1485 msgid "" "The bytes which represent the bytecode version number. If you need help with " "loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`." msgstr "" -#: library/importlib.rst:1489 +#: library/importlib.rst:1492 msgid "" "Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated " "with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the " @@ -1733,7 +1739,7 @@ msgid "" "`NotImplementedError` will be raised)." msgstr "" -#: library/importlib.rst:1496 +#: library/importlib.rst:1499 msgid "" "The *optimization* parameter is used to specify the optimization level of " "the bytecode file. An empty string represents no optimization, so ``/foo/bar/" @@ -1746,7 +1752,7 @@ msgid "" "be alphanumeric, else :exc:`ValueError` is raised." msgstr "" -#: library/importlib.rst:1506 +#: library/importlib.rst:1509 msgid "" "The *debug_override* parameter is deprecated and can be used to override the " "system's value for ``__debug__``. A ``True`` value is the equivalent of " @@ -1755,17 +1761,17 @@ msgid "" "are not ``None`` then :exc:`TypeError` is raised." msgstr "" -#: library/importlib.rst:1514 +#: library/importlib.rst:1517 msgid "" "The *optimization* parameter was added and the *debug_override* parameter " "was deprecated." msgstr "" -#: library/importlib.rst:1534 library/importlib.rst:1683 +#: library/importlib.rst:1537 library/importlib.rst:1686 msgid "Accepts a :term:`path-like object`." msgstr "Accepte un :term:`path-like object`." -#: library/importlib.rst:1524 +#: library/importlib.rst:1527 msgid "" "Given the *path* to a :pep:`3147` file name, return the associated source " "code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." @@ -1775,25 +1781,25 @@ msgid "" "cache_tag` is not defined, :exc:`NotImplementedError` is raised." msgstr "" -#: library/importlib.rst:1539 +#: library/importlib.rst:1542 msgid "" "Decode the given bytes representing source code and return it as a string " "with universal newlines (as required by :meth:`importlib.abc.InspectLoader." "get_source`)." msgstr "" -#: library/importlib.rst:1547 +#: library/importlib.rst:1550 msgid "Resolve a relative module name to an absolute one." msgstr "" -#: library/importlib.rst:1549 +#: library/importlib.rst:1552 msgid "" "If **name** has no leading dots, then **name** is simply returned. This " "allows for usage such as ``importlib.util.resolve_name('sys', __spec__." "parent)`` without doing a check to see if the **package** argument is needed." msgstr "" -#: library/importlib.rst:1554 +#: library/importlib.rst:1557 msgid "" ":exc:`ImportError` is raised if **name** is a relative module name but " "**package** is a false value (e.g. ``None`` or the empty string). :exc:" @@ -1801,13 +1807,13 @@ msgid "" "package (e.g. requesting ``..bacon`` from within the ``spam`` package)." msgstr "" -#: library/importlib.rst:1561 +#: library/importlib.rst:1564 msgid "" "To improve consistency with import statements, raise :exc:`ImportError` " "instead of :exc:`ValueError` for invalid relative import attempts." msgstr "" -#: library/importlib.rst:1568 +#: library/importlib.rst:1571 msgid "" "Find the :term:`spec ` for a module, optionally relative to the " "specified **package** name. If the module is in :attr:`sys.modules`, then " @@ -1817,30 +1823,30 @@ msgid "" "if no spec is found." msgstr "" -#: library/importlib.rst:1575 +#: library/importlib.rst:1578 msgid "" "If **name** is for a submodule (contains a dot), the parent module is " "automatically imported." msgstr "" -#: library/importlib.rst:1578 +#: library/importlib.rst:1581 msgid "**name** and **package** work the same as for :func:`import_module`." msgstr "" -#: library/importlib.rst:1582 +#: library/importlib.rst:1585 msgid "" "Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if " "**package** is in fact not a package (i.e. lacks a :attr:`__path__` " "attribute)." msgstr "" -#: library/importlib.rst:1589 +#: library/importlib.rst:1592 msgid "" "Create a new module based on **spec** and :meth:`spec.loader.create_module " "`." msgstr "" -#: library/importlib.rst:1592 +#: library/importlib.rst:1595 msgid "" "If :meth:`spec.loader.create_module ` " "does not return ``None``, then any pre-existing attributes will not be " @@ -1848,14 +1854,14 @@ msgid "" "accessing **spec** or setting an attribute on the module." msgstr "" -#: library/importlib.rst:1597 +#: library/importlib.rst:1600 msgid "" "This function is preferred over using :class:`types.ModuleType` to create a " "new module as **spec** is used to set as many import-controlled attributes " "on the module as possible." msgstr "" -#: library/importlib.rst:1605 +#: library/importlib.rst:1608 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle " "selecting the proper module object to load with. The decorated method is " @@ -1865,7 +1871,7 @@ msgid "" "work on static methods because of the assumption of two arguments." msgstr "" -#: library/importlib.rst:1614 +#: library/importlib.rst:1617 msgid "" "The decorated method will take in the **name** of the module to be loaded as " "expected for a :term:`loader`. If the module is not found in :data:`sys." @@ -1875,7 +1881,7 @@ msgid "" "available). These attributes are set unconditionally to support reloading." msgstr "" -#: library/importlib.rst:1622 +#: library/importlib.rst:1625 msgid "" "If an exception is raised by the decorated method and a module was added to :" "data:`sys.modules`, then the module will be removed to prevent a partially " @@ -1883,25 +1889,25 @@ msgid "" "was already in :data:`sys.modules` then it is left alone." msgstr "" -#: library/importlib.rst:1627 +#: library/importlib.rst:1630 msgid "" ":attr:`__loader__` and :attr:`__package__` are automatically set (when " "possible)." msgstr "" -#: library/importlib.rst:1631 +#: library/importlib.rst:1634 msgid "" "Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally " "to support reloading." msgstr "" -#: library/importlib.rst:1635 +#: library/importlib.rst:1638 msgid "" "The import machinery now directly performs all the functionality provided by " "this function." msgstr "" -#: library/importlib.rst:1641 +#: library/importlib.rst:1644 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" "attr:`__loader__` attribute on the returned module. If the attribute is " @@ -1910,23 +1916,23 @@ msgid "" "`__loader__` should be set to." msgstr "" -#: library/importlib.rst:1648 +#: library/importlib.rst:1651 msgid "" "Set ``__loader__`` if set to ``None``, as if the attribute does not exist." msgstr "" -#: library/importlib.rst:1661 +#: library/importlib.rst:1664 msgid "The import machinery takes care of this automatically." msgstr "" -#: library/importlib.rst:1657 +#: library/importlib.rst:1660 msgid "" "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" "attr:`__package__` attribute on the returned module. If :attr:`__package__` " "is set and has a value other than ``None`` it will not be changed." msgstr "" -#: library/importlib.rst:1666 +#: library/importlib.rst:1669 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on a loader. The parameters have the same meaning as they do " @@ -1935,7 +1941,7 @@ msgid "" "spec." msgstr "" -#: library/importlib.rst:1676 +#: library/importlib.rst:1679 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on the path to a file. Missing information will be filled in " @@ -1943,20 +1949,20 @@ msgid "" "module will be file-based." msgstr "" -#: library/importlib.rst:1688 +#: library/importlib.rst:1691 msgid "" "Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file " "embeds the :func:`source_hash` of the corresponding source file's contents " "in its header." msgstr "" -#: library/importlib.rst:1696 +#: library/importlib.rst:1699 msgid "" "A class which postpones the execution of the loader of a module until the " "module has an attribute accessed." msgstr "" -#: library/importlib.rst:1699 +#: library/importlib.rst:1702 msgid "" "This class **only** works with loaders that define :meth:`~importlib.abc." "Loader.exec_module` as control over what module type is used for the module " @@ -1969,7 +1975,7 @@ msgid "" "raised if such a substitution is detected." msgstr "" -#: library/importlib.rst:1710 +#: library/importlib.rst:1713 msgid "" "For projects where startup time is critical, this class allows for " "potentially minimizing the cost of loading a module if it is never used. For " @@ -1978,72 +1984,72 @@ msgid "" "postponed and thus occurring out of context." msgstr "" -#: library/importlib.rst:1718 +#: library/importlib.rst:1721 msgid "" "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" "class:`importlib.machinery.ExtensionFileLoader`." msgstr "" -#: library/importlib.rst:1725 +#: library/importlib.rst:1728 msgid "" -"A static method which returns a callable that creates a lazy loader. This is " +"A class method which returns a callable that creates a lazy loader. This is " "meant to be used in situations where the loader is passed by class instead " "of by instance. ::" msgstr "" -#: library/importlib.rst:1738 +#: library/importlib.rst:1741 msgid "Examples" msgstr "Exemples" -#: library/importlib.rst:1741 +#: library/importlib.rst:1744 msgid "Importing programmatically" msgstr "" -#: library/importlib.rst:1743 +#: library/importlib.rst:1746 msgid "" "To programmatically import a module, use :func:`importlib.import_module`. ::" msgstr "" -#: library/importlib.rst:1752 +#: library/importlib.rst:1755 msgid "Checking if a module can be imported" msgstr "" -#: library/importlib.rst:1754 +#: library/importlib.rst:1757 msgid "" "If you need to find out if a module can be imported without actually doing " "the import, then you should use :func:`importlib.util.find_spec`." msgstr "" -#: library/importlib.rst:1757 +#: library/importlib.rst:1760 msgid "" "Note that if ``name`` is a submodule (contains a dot), :func:`importlib.util." "find_spec` will import the parent module. ::" msgstr "" -#: library/importlib.rst:1780 +#: library/importlib.rst:1783 msgid "Importing a source file directly" msgstr "" -#: library/importlib.rst:1782 +#: library/importlib.rst:1785 msgid "" "To import a Python source file directly, use the following recipe (Python " "3.5 and newer only)::" msgstr "" -#: library/importlib.rst:1800 +#: library/importlib.rst:1803 msgid "Implementing lazy imports" msgstr "" -#: library/importlib.rst:1802 +#: library/importlib.rst:1805 msgid "The example below shows how to implement lazy imports::" msgstr "" -#: library/importlib.rst:1824 +#: library/importlib.rst:1827 msgid "Setting up an importer" msgstr "" -#: library/importlib.rst:1826 +#: library/importlib.rst:1829 msgid "" "For deep customizations of import, you typically want to implement an :term:" "`importer`. This means managing both the :term:`finder` and :term:`loader` " @@ -2057,11 +2063,11 @@ msgid "" "for the appropriate classes defined within this package)::" msgstr "" -#: library/importlib.rst:1858 +#: library/importlib.rst:1861 msgid "Approximating :func:`importlib.import_module`" msgstr "" -#: library/importlib.rst:1860 +#: library/importlib.rst:1863 msgid "" "Import itself is implemented in Python code, making it possible to expose " "most of the import machinery through importlib. The following helps " diff --git a/library/inspect.po b/library/inspect.po index fa2dfdde48..cdb6e37063 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-09-23 16:27+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -1074,7 +1074,8 @@ msgstr "" "pour en faire une copie modifiée." #: library/inspect.rst:643 -msgid "Signature objects are picklable and hashable." +#, fuzzy +msgid "Signature objects are picklable and :term:`hashable`." msgstr "" "les objets Signature sont *pickable* (sérialisables avec Pickle) et " "hachables." @@ -1095,7 +1096,7 @@ msgstr "" "class:`Parameter`. Les paramètres apparaissent dans l'ordre strict de leur " "définition, incluant les paramètres exclusivement nommés." -#: library/inspect.rst:1000 +#: library/inspect.rst:1001 msgid "" "Python only explicitly guaranteed that it preserved the declaration order of " "keyword-only parameters as of version 3.7, although in practice this order " @@ -1175,7 +1176,8 @@ msgstr "" "pour créer une copie modifiée." #: library/inspect.rst:721 -msgid "Parameter objects are picklable and hashable." +#, fuzzy +msgid "Parameter objects are picklable and :term:`hashable`." msgstr "" "les objets *Parameters* sont *pickable* (sérialisables avec Pickle) et " "hachable." @@ -1229,27 +1231,29 @@ msgstr "" "attribut est défini à :attr:`Parameter.empty`." #: library/inspect.rst:756 +#, fuzzy msgid "" -"Describes how argument values are bound to the parameter. Possible values " -"(accessible via :class:`Parameter`, like ``Parameter.KEYWORD_ONLY``):" +"Describes how argument values are bound to the parameter. The possible " +"values are accessible via :class:`Parameter` (like ``Parameter." +"KEYWORD_ONLY``), and support comparison and ordering, in the following order:" msgstr "" "Décrit comment les valeurs d'argument sont liées au paramètre. Les valeurs " "possibles (accessibles par :class:`Parameter`, tel que ``Parameter." "KEYWORD_ONLY``) :" -#: library/inspect.rst:762 +#: library/inspect.rst:763 msgid "Name" msgstr "Nom" -#: library/inspect.rst:762 +#: library/inspect.rst:763 msgid "Meaning" msgstr "Signification" -#: library/inspect.rst:764 +#: library/inspect.rst:765 msgid "*POSITIONAL_ONLY*" msgstr "*POSITIONAL_ONLY*" -#: library/inspect.rst:764 +#: library/inspect.rst:765 msgid "" "Value must be supplied as a positional argument. Positional only parameters " "are those which appear before a ``/`` entry (if present) in a Python " @@ -1259,11 +1263,11 @@ msgstr "" "exclusivement positionnels sont ceux qui apparaissent avant une entrée ``/`` " "(si présente) dans une définition de fonction Python." -#: library/inspect.rst:769 +#: library/inspect.rst:770 msgid "*POSITIONAL_OR_KEYWORD*" msgstr "*POSITIONAL_OR_KEYWORD*" -#: library/inspect.rst:769 +#: library/inspect.rst:770 msgid "" "Value may be supplied as either a keyword or positional argument (this is " "the standard binding behaviour for functions implemented in Python.)" @@ -1272,11 +1276,11 @@ msgstr "" "l'affectation de variable standard pour les fonctions implémentées en " "Python)." -#: library/inspect.rst:774 +#: library/inspect.rst:775 msgid "*VAR_POSITIONAL*" msgstr "*VAR_POSITIONAL*" -#: library/inspect.rst:774 +#: library/inspect.rst:775 msgid "" "A tuple of positional arguments that aren't bound to any other parameter. " "This corresponds to a ``*args`` parameter in a Python function definition." @@ -1285,11 +1289,11 @@ msgstr "" "paramètre. Cela correspond à un paramètre ``*args`` dans une définition de " "fonction Python." -#: library/inspect.rst:779 +#: library/inspect.rst:780 msgid "*KEYWORD_ONLY*" msgstr "*KEYWORD_ONLY*" -#: library/inspect.rst:779 +#: library/inspect.rst:780 msgid "" "Value must be supplied as a keyword argument. Keyword only parameters are " "those which appear after a ``*`` or ``*args`` entry in a Python function " @@ -1299,11 +1303,11 @@ msgstr "" "nommés sont ceux qui apparaissent après un ``*`` ou ``*args`` dans une " "définition de fonction Python." -#: library/inspect.rst:784 +#: library/inspect.rst:785 msgid "*VAR_KEYWORD*" msgstr "*VAR_KEYWORD*" -#: library/inspect.rst:784 +#: library/inspect.rst:785 msgid "" "A dict of keyword arguments that aren't bound to any other parameter. This " "corresponds to a ``**kwargs`` parameter in a Python function definition." @@ -1312,21 +1316,21 @@ msgstr "" "Cela correspond à une expression ``**kwargs`` dans une définition de " "fonction Python." -#: library/inspect.rst:790 +#: library/inspect.rst:791 msgid "Example: print all keyword-only arguments without default values::" msgstr "" "Exemple : afficher tous les arguments exclusivement nommés sans valeur par " "défaut :" -#: library/inspect.rst:804 +#: library/inspect.rst:805 msgid "Describes a enum value of Parameter.kind." msgstr "Décrit une énumération de valeurs de ``Parameter.kind``." -#: library/inspect.rst:808 +#: library/inspect.rst:809 msgid "Example: print all descriptions of arguments::" msgstr "Exemple : afficher toutes les descriptions d'arguments ::" -#: library/inspect.rst:823 +#: library/inspect.rst:824 msgid "" "Create a new Parameter instance based on the instance replaced was invoked " "on. To override a :class:`Parameter` attribute, pass the corresponding " @@ -1339,7 +1343,7 @@ msgstr "" "par défaut et/ou les annotations de retour de la copie du Parameter, lui " "passer :attr:`Parameter.empty`." -#: library/inspect.rst:841 +#: library/inspect.rst:842 msgid "" "In Python 3.3 Parameter objects were allowed to have ``name`` set to " "``None`` if their ``kind`` was set to ``POSITIONAL_ONLY``. This is no longer " @@ -1348,7 +1352,7 @@ msgstr "" "en Python 3.3, un objet Parameter pouvait avoir ``name`` à ``None`` si son " "attribut ``kind`` valait ``POSITIONAL_ONLY``. Cela n'est plus possible." -#: library/inspect.rst:848 +#: library/inspect.rst:849 msgid "" "Result of a :meth:`Signature.bind` or :meth:`Signature.bind_partial` call. " "Holds the mapping of arguments to the function's parameters." @@ -1357,7 +1361,7 @@ msgstr "" "bind_partial`. Contient la correspondance entre les arguments et les " "paramètres de la fonction." -#: library/inspect.rst:853 +#: library/inspect.rst:854 msgid "" "A mutable mapping of parameters' names to arguments' values. Contains only " "explicitly bound arguments. Changes in :attr:`arguments` will reflect in :" @@ -1368,7 +1372,7 @@ msgstr "" "changements dans :attr:`arguments` sont reflétés dans :attr:`args` et :attr:" "`kwargs`." -#: library/inspect.rst:857 +#: library/inspect.rst:858 msgid "" "Should be used in conjunction with :attr:`Signature.parameters` for any " "argument processing purposes." @@ -1376,7 +1380,7 @@ msgstr "" "Doit être utilisé en combinaison avec :attr:`Signature.parameters` pour le " "traitement d'arguments." -#: library/inspect.rst:862 +#: library/inspect.rst:863 msgid "" "Arguments for which :meth:`Signature.bind` or :meth:`Signature.bind_partial` " "relied on a default value are skipped. However, if needed, use :meth:" @@ -1386,7 +1390,7 @@ msgstr "" "bind_partial` supposent une valeur par défaut sont ignorés. Au besoin, " "utiliser :meth:`BoundArguments.apply_defaults` pour les inclure." -#: library/inspect.rst:867 +#: library/inspect.rst:868 msgid "" ":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" "class:`collections.OrderedDict`." @@ -1394,7 +1398,7 @@ msgstr "" ":attr:`arguments` est maintenant de type :class:`dict`. Anciennement, il " "était de type :class:`collections.OrderedDict`." -#: library/inspect.rst:873 +#: library/inspect.rst:874 msgid "" "A tuple of positional arguments values. Dynamically computed from the :attr:" "`arguments` attribute." @@ -1402,7 +1406,7 @@ msgstr "" "Un *n*-uplets des valeurs d'arguments positionnels. Évalué dynamiquement à " "partir de l'attribut :attr:`arguments`." -#: library/inspect.rst:878 +#: library/inspect.rst:879 msgid "" "A dict of keyword arguments values. Dynamically computed from the :attr:" "`arguments` attribute." @@ -1410,29 +1414,29 @@ msgstr "" "Un dictionnaire des valeurs des arguments nommés. Évalué dynamiquement à " "partir de l'attribut :attr:`arguments`." -#: library/inspect.rst:883 +#: library/inspect.rst:884 msgid "A reference to the parent :class:`Signature` object." msgstr "Une référence à l'objet :class:`Signature` de la classe parente." -#: library/inspect.rst:887 +#: library/inspect.rst:888 msgid "Set default values for missing arguments." msgstr "Assigne les valeurs par défaut pour les arguments manquants." -#: library/inspect.rst:889 +#: library/inspect.rst:890 msgid "" "For variable-positional arguments (``*args``) the default is an empty tuple." msgstr "" "Pour les arguments positionnels variables (``*args``) la valeur par défaut " "est un *n*-uplet vide." -#: library/inspect.rst:892 +#: library/inspect.rst:893 msgid "" "For variable-keyword arguments (``**kwargs``) the default is an empty dict." msgstr "" "Pour les arguments nommés variables (``**kwargs``) la valeur par défaut est " "un dictionnaire vide." -#: library/inspect.rst:905 +#: library/inspect.rst:906 msgid "" "The :attr:`args` and :attr:`kwargs` properties can be used to invoke " "functions::" @@ -1440,19 +1444,19 @@ msgstr "" "Les propriétés :attr:`args` et :attr:`kwargs` peuvent être utilisées pour " "l'appel de fonctions ::" -#: library/inspect.rst:918 +#: library/inspect.rst:919 msgid ":pep:`362` - Function Signature Object." msgstr ":pep:`362` — *Function Signature Object*." -#: library/inspect.rst:919 +#: library/inspect.rst:920 msgid "The detailed specification, implementation details and examples." msgstr "La spécification détaillée, détails d'implémentation et exemples." -#: library/inspect.rst:925 +#: library/inspect.rst:926 msgid "Classes and functions" msgstr "Classes et fonctions" -#: library/inspect.rst:929 +#: library/inspect.rst:930 msgid "" "Arrange the given list of classes into a hierarchy of nested lists. Where a " "nested list appears, it contains classes derived from the class whose entry " @@ -1471,7 +1475,7 @@ msgstr "" "Autrement, les classes utilisant l'héritage multiple et ses descendantes " "apparaissent plusieurs fois." -#: library/inspect.rst:940 +#: library/inspect.rst:941 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` ``ArgSpec(args, varargs, keywords, defaults)`` is returned. " @@ -1482,21 +1486,21 @@ msgid "" "in *args*." msgstr "" -#: library/inspect.rst:948 +#: library/inspect.rst:949 msgid "" "Use :func:`getfullargspec` for an updated API that is usually a drop-in " "replacement, but also correctly handles function annotations and keyword-" "only parameters." msgstr "" -#: library/inspect.rst:953 +#: library/inspect.rst:954 msgid "" "Alternatively, use :func:`signature` and :ref:`Signature Object `, which provide a more structured introspection API for " "callables." msgstr "" -#: library/inspect.rst:960 +#: library/inspect.rst:961 msgid "" "Get the names and default values of a Python function's parameters. A :term:" "`named tuple` is returned:" @@ -1504,7 +1508,7 @@ msgstr "" "Obtenir les noms et les valeurs par défaut des paramètres de fonction " "Python. Un :term:`n-uplet nommé ` est renvoyé :" -#: library/inspect.rst:963 +#: library/inspect.rst:964 msgid "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" @@ -1512,7 +1516,7 @@ msgstr "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" -#: library/inspect.rst:966 +#: library/inspect.rst:967 msgid "" "*args* is a list of the positional parameter names. *varargs* is the name of " "the ``*`` parameter or ``None`` if arbitrary positional arguments are not " @@ -1540,7 +1544,7 @@ msgstr "" "annotations. La clef spéciale ``\"return\"`` est utilisée pour obtenir la " "valeur de retour de l'annotation la fonction (si elle existe)." -#: library/inspect.rst:981 +#: library/inspect.rst:982 msgid "" "Note that :func:`signature` and :ref:`Signature Object ` provide the recommended API for callable introspection, and support " @@ -1556,7 +1560,7 @@ msgstr "" "modules d'extension. Cette fonction et maintenue principalement pour " "maintenir la compatibilité avec l'API du module ``inspect`` de Python 2." -#: library/inspect.rst:988 +#: library/inspect.rst:989 msgid "" "This function is now based on :func:`signature`, but still ignores " "``__wrapped__`` attributes and includes the already bound first parameter in " @@ -1566,7 +1570,7 @@ msgstr "" "toujours les attributs ``_wrapped_`` et inclue le premier paramètre (déjà " "lié) dans la signature des méthodes liées." -#: library/inspect.rst:993 +#: library/inspect.rst:994 msgid "" "This method was previously documented as deprecated in favour of :func:" "`signature` in Python 3.5, but that decision has been reversed in order to " @@ -1578,7 +1582,7 @@ msgstr "" "introduire une interface standard clairement supportée pour du code unifié " "Python 2/3 migrant pour se départir de l'API :func:`getargspec`." -#: library/inspect.rst:1008 +#: library/inspect.rst:1009 msgid "" "Get information about arguments passed into a particular frame. A :term:" "`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is returned. " @@ -1592,40 +1596,40 @@ msgstr "" "*keywords* sont les noms des arguments ``*`` et ``**`` ou ``None``. *locals* " "est le dictionnaire des variables locales du cadre courant." -#: library/inspect.rst:1052 +#: library/inspect.rst:1053 msgid "This function was inadvertently marked as deprecated in Python 3.5." msgstr "Cette fonction fût dépréciée par inadvertance en Python 3.5." -#: library/inspect.rst:1020 +#: library/inspect.rst:1021 msgid "" "Format a pretty argument spec from the values returned by :func:" "`getfullargspec`." msgstr "" -#: library/inspect.rst:1023 +#: library/inspect.rst:1024 msgid "" "The first seven arguments are (``args``, ``varargs``, ``varkw``, " "``defaults``, ``kwonlyargs``, ``kwonlydefaults``, ``annotations``)." msgstr "" -#: library/inspect.rst:1026 +#: library/inspect.rst:1027 msgid "" "The other six arguments are functions that are called to turn argument " "names, ``*`` argument name, ``**`` argument name, default values, return " "annotation and individual annotations into strings, respectively." msgstr "" -#: library/inspect.rst:1030 +#: library/inspect.rst:1031 msgid "For example:" msgstr "Par exemple :" -#: library/inspect.rst:1039 +#: library/inspect.rst:1040 msgid "" "Use :func:`signature` and :ref:`Signature Object `, which provide a better introspecting API for callables." msgstr "" -#: library/inspect.rst:1047 +#: library/inspect.rst:1048 msgid "" "Format a pretty argument spec from the four values returned by :func:" "`getargvalues`. The format\\* arguments are the corresponding optional " @@ -1635,7 +1639,7 @@ msgstr "" "arguments format\\* sont des fonctions de formatage optionnelles qui sont " "appelées pour convertir les noms et valeurs en chaînes de caractères." -#: library/inspect.rst:1057 +#: library/inspect.rst:1058 msgid "" "Return a tuple of class cls's base classes, including cls, in method " "resolution order. No class appears more than once in this tuple. Note that " @@ -1649,7 +1653,7 @@ msgstr "" "utilisation très particulière de la métaclasse définie par l'usager, *cls* " "sera toujours le premier élément du tuple." -#: library/inspect.rst:1065 +#: library/inspect.rst:1066 msgid "" "Bind the *args* and *kwds* to the argument names of the Python function or " "method *func*, as if it was called with them. For bound methods, bind also " @@ -1671,12 +1675,12 @@ msgstr "" "exception en raison de signature incompatible, une exception du même type et " "de message identique ou similaire est levée. Par exemple ::" -#: library/inspect.rst:1088 +#: library/inspect.rst:1089 msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." msgstr "" "utilisez plutôt :meth:`Signature.bind` et :meth:`Signature.bind_partial`." -#: library/inspect.rst:1094 +#: library/inspect.rst:1095 msgid "" "Get the mapping of external name references in a Python function or method " "*func* to their current values. A :term:`named tuple` " @@ -1696,14 +1700,14 @@ msgstr "" "ensemble de noms référencés dans la fonction ne trouvant aucune résolution " "dans les valeurs globales du module courant ni à travers le lexique natif." -#: library/inspect.rst:1103 +#: library/inspect.rst:1104 msgid "" ":exc:`TypeError` is raised if *func* is not a Python function or method." msgstr "" ":exc:`TypeError` est levée si *func* n'est ni une fonction ni une méthode " "Python." -#: library/inspect.rst:1110 +#: library/inspect.rst:1111 msgid "" "Get the object wrapped by *func*. It follows the chain of :attr:" "`__wrapped__` attributes returning the last object in the chain." @@ -1711,7 +1715,7 @@ msgstr "" "Obtenir l'objet englobé par *func*. Suit une chaîne d'attributs de :attr:" "`__wrapped__`, renvoyant le dernier objet de la chaîne." -#: library/inspect.rst:1113 +#: library/inspect.rst:1114 msgid "" "*stop* is an optional callback accepting an object in the wrapper chain as " "its sole argument that allows the unwrapping to be terminated early if the " @@ -1728,68 +1732,68 @@ msgstr "" "utilise ceci pour arrêter le déballage si un objet dans la chaîne définit un " "attribut ``__signature__``." -#: library/inspect.rst:1120 +#: library/inspect.rst:1121 msgid ":exc:`ValueError` is raised if a cycle is encountered." msgstr ":exc:`ValueError` est levée si un cycle est rencontré." -#: library/inspect.rst:1127 +#: library/inspect.rst:1128 msgid "Compute the annotations dict for an object." msgstr "" -#: library/inspect.rst:1129 +#: library/inspect.rst:1130 msgid "" "``obj`` may be a callable, class, or module. Passing in an object of any " "other type raises :exc:`TypeError`." msgstr "" -#: library/inspect.rst:1132 +#: library/inspect.rst:1133 msgid "" "Returns a dict. ``get_annotations()`` returns a new dict every time it's " "called; calling it twice on the same object will return two different but " "equivalent dicts." msgstr "" -#: library/inspect.rst:1136 +#: library/inspect.rst:1137 msgid "This function handles several details for you:" msgstr "" -#: library/inspect.rst:1138 +#: library/inspect.rst:1139 msgid "" "If ``eval_str`` is true, values of type ``str`` will be un-stringized using :" "func:`eval()`. This is intended for use with stringized annotations (``from " "__future__ import annotations``)." msgstr "" -#: library/inspect.rst:1142 +#: library/inspect.rst:1143 msgid "" "If ``obj`` doesn't have an annotations dict, returns an empty dict. " "(Functions and methods always have an annotations dict; classes, modules, " "and other types of callables may not.)" msgstr "" -#: library/inspect.rst:1146 +#: library/inspect.rst:1147 msgid "" "Ignores inherited annotations on classes. If a class doesn't have its own " "annotations dict, returns an empty dict." msgstr "" -#: library/inspect.rst:1148 +#: library/inspect.rst:1149 msgid "" "All accesses to object members and dict values are done using ``getattr()`` " "and ``dict.get()`` for safety." msgstr "" -#: library/inspect.rst:1150 +#: library/inspect.rst:1151 msgid "Always, always, always returns a freshly created dict." msgstr "" -#: library/inspect.rst:1152 +#: library/inspect.rst:1153 msgid "" "``eval_str`` controls whether or not values of type ``str`` are replaced " "with the result of calling :func:`eval()` on those values:" msgstr "" -#: library/inspect.rst:1155 +#: library/inspect.rst:1156 msgid "" "If eval_str is true, :func:`eval()` is called on values of type ``str``. " "(Note that ``get_annotations`` doesn't catch exceptions; if :func:`eval()` " @@ -1797,12 +1801,12 @@ msgid "" "call.)" msgstr "" -#: library/inspect.rst:1159 +#: library/inspect.rst:1160 msgid "" "If eval_str is false (the default), values of type ``str`` are unchanged." msgstr "" -#: library/inspect.rst:1161 +#: library/inspect.rst:1162 msgid "" "``globals`` and ``locals`` are passed in to :func:`eval()`; see the " "documentation for :func:`eval()` for more information. If ``globals`` or " @@ -1810,35 +1814,35 @@ msgid "" "specific default, contingent on ``type(obj)``:" msgstr "" -#: library/inspect.rst:1166 +#: library/inspect.rst:1167 msgid "If ``obj`` is a module, ``globals`` defaults to ``obj.__dict__``." msgstr "" -#: library/inspect.rst:1167 +#: library/inspect.rst:1168 msgid "" "If ``obj`` is a class, ``globals`` defaults to ``sys.modules[obj.__module__]." "__dict__`` and ``locals`` defaults to the ``obj`` class namespace." msgstr "" -#: library/inspect.rst:1170 +#: library/inspect.rst:1171 msgid "" "If ``obj`` is a callable, ``globals`` defaults to ``obj.__globals__``, " "although if ``obj`` is a wrapped function (using ``functools." "update_wrapper()``) it is first unwrapped." msgstr "" -#: library/inspect.rst:1174 +#: library/inspect.rst:1175 msgid "" "Calling ``get_annotations`` is best practice for accessing the annotations " "dict of any object. See :ref:`annotations-howto` for more information on " "annotations best practices." msgstr "" -#: library/inspect.rst:1184 +#: library/inspect.rst:1185 msgid "The interpreter stack" msgstr "La pile d'interpréteur" -#: library/inspect.rst:1186 +#: library/inspect.rst:1187 msgid "" "When the following functions return \"frame records,\" each record is a :" "term:`named tuple` ``FrameInfo(frame, filename, lineno, function, " @@ -1848,11 +1852,11 @@ msgid "" "list." msgstr "" -#: library/inspect.rst:1194 +#: library/inspect.rst:1195 msgid "Return a named tuple instead of a tuple." msgstr "" -#: library/inspect.rst:1199 +#: library/inspect.rst:1200 msgid "" "Keeping references to frame objects, as found in the first element of the " "frame records these functions return, can cause your program to create " @@ -1873,7 +1877,7 @@ msgstr "" "pour éviter la destruction reportée des objets et l'augmentation résultante " "de l'utilisation de la mémoire." -#: library/inspect.rst:1207 +#: library/inspect.rst:1208 msgid "" "Though the cycle detector will catch these, destruction of the frames (and " "local variables) can be made deterministic by removing the cycle in a :" @@ -1886,7 +1890,7 @@ msgstr "" "détecteur de cycle a été désactivé lors de la compilation du code Python ou " "en utilisant :func:`gc.disable`. Par exemple ::" -#: library/inspect.rst:1219 +#: library/inspect.rst:1220 msgid "" "If you want to keep the frame around (for example to print a traceback " "later), you can also break reference cycles by using the :meth:`frame.clear` " @@ -1896,7 +1900,7 @@ msgstr "" "plus tard), vous pouvez briser ces cycles de référence en utilisant la " "méthode :meth:`frame.clear`." -#: library/inspect.rst:1223 +#: library/inspect.rst:1224 msgid "" "The optional *context* argument supported by most of these functions " "specifies the number of lines of context to return, which are centered " @@ -1906,13 +1910,13 @@ msgstr "" "spécifie le nombre de lignes de contexte à renvoyer, qui sera centré autour " "de la ligne courante." -#: library/inspect.rst:1230 +#: library/inspect.rst:1231 msgid "" "Get information about a frame or traceback object. A :term:`named tuple` " "``Traceback(filename, lineno, function, code_context, index)`` is returned." msgstr "" -#: library/inspect.rst:1236 +#: library/inspect.rst:1237 msgid "" "Get a list of frame records for a frame and all outer frames. These frames " "represent the calls that lead to the creation of *frame*. The first entry in " @@ -1920,7 +1924,7 @@ msgid "" "outermost call on *frame*'s stack." msgstr "" -#: library/inspect.rst:1254 library/inspect.rst:1291 +#: library/inspect.rst:1255 library/inspect.rst:1292 msgid "" "A list of :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` is returned." @@ -1928,7 +1932,7 @@ msgstr "" "une liste de :term:`n-uplet nommé ` ``FrameInfo(frame, " "filename, lineno, function, code_context, index)`` est renvoyée." -#: library/inspect.rst:1249 +#: library/inspect.rst:1250 msgid "" "Get a list of frame records for a traceback's frame and all inner frames. " "These frames represent calls made as a consequence of *frame*. The first " @@ -1936,11 +1940,11 @@ msgid "" "the exception was raised." msgstr "" -#: library/inspect.rst:1262 +#: library/inspect.rst:1263 msgid "Return the frame object for the caller's stack frame." msgstr "Renvoie l'objet cadre de la pile pour le cadre de l’appelant." -#: library/inspect.rst:1266 +#: library/inspect.rst:1267 msgid "" "This function relies on Python stack frame support in the interpreter, which " "isn't guaranteed to exist in all implementations of Python. If running in " @@ -1952,14 +1956,14 @@ msgstr "" "implémentations Python. Si le code s'exécute dans une implémentation Python " "n'implémentant pas la pile de cadres, cette fonction renvoie ``None``." -#: library/inspect.rst:1274 +#: library/inspect.rst:1275 msgid "" "Return a list of frame records for the caller's stack. The first entry in " "the returned list represents the caller; the last entry represents the " "outermost call on the stack." msgstr "" -#: library/inspect.rst:1286 +#: library/inspect.rst:1287 msgid "" "Return a list of frame records for the stack between the current frame and " "the frame in which an exception currently being handled was raised in. The " @@ -1967,11 +1971,11 @@ msgid "" "where the exception was raised." msgstr "" -#: library/inspect.rst:1298 +#: library/inspect.rst:1299 msgid "Fetching attributes statically" msgstr "Recherche dynamique d'attributs" -#: library/inspect.rst:1300 +#: library/inspect.rst:1301 msgid "" "Both :func:`getattr` and :func:`hasattr` can trigger code execution when " "fetching or checking for the existence of attributes. Descriptors, like " @@ -1983,7 +1987,7 @@ msgstr "" "descripteurs, comme les propriétés, seront invoqués et :meth:`__getattr__` " "et :meth:`__getattribute__` peuvent être appelés." -#: library/inspect.rst:1305 +#: library/inspect.rst:1306 msgid "" "For cases where you want passive introspection, like documentation tools, " "this can be inconvenient. :func:`getattr_static` has the same signature as :" @@ -1994,7 +1998,7 @@ msgstr "" "la même signature que :func:`getattr`, mais évite l'exécution de code lors " "de la recherche d'attributs." -#: library/inspect.rst:1311 +#: library/inspect.rst:1312 msgid "" "Retrieve attributes without triggering dynamic lookup via the descriptor " "protocol, :meth:`__getattr__` or :meth:`__getattribute__`." @@ -2002,7 +2006,7 @@ msgstr "" "Retrouve des attributs sans lancer une recherche dynamique via le protocole " "descripteur, :meth:`__getattr__` ou :meth:`__getattribute__`." -#: library/inspect.rst:1314 +#: library/inspect.rst:1315 msgid "" "Note: this function may not be able to retrieve all attributes that getattr " "can fetch (like dynamically created attributes) and may find attributes that " @@ -2015,7 +2019,7 @@ msgstr "" "descripteurs qui lèvent un *AttributeError*). Elle peut aussi donner des " "objets descripteurs, plutôt que des membres d'instance." -#: library/inspect.rst:1320 +#: library/inspect.rst:1321 msgid "" "If the instance :attr:`~object.__dict__` is shadowed by another member (for " "example a property) then this function will be unable to find instance " @@ -2025,7 +2029,7 @@ msgstr "" "membre (par exemple une propriété), cette fonction ne pourra pas retrouver " "les membres de l'instance." -#: library/inspect.rst:1326 +#: library/inspect.rst:1327 msgid "" ":func:`getattr_static` does not resolve descriptors, for example slot " "descriptors or getset descriptors on objects implemented in C. The " @@ -2035,7 +2039,7 @@ msgstr "" "descriptors* ou les descripteurs *getset* des objets implémentés en C. Le " "descripteur de l'objet est renvoyé plutôt que l'attribut sous-jacent." -#: library/inspect.rst:1330 +#: library/inspect.rst:1331 msgid "" "You can handle these with code like the following. Note that for arbitrary " "getset descriptors invoking these may trigger code execution::" @@ -2044,11 +2048,11 @@ msgstr "" "descripteurs arbitraires *getset* les invoquant, de l'exécution de code " "pourrait être lancée :" -#: library/inspect.rst:1356 +#: library/inspect.rst:1357 msgid "Current State of Generators and Coroutines" msgstr "État courant de Générateurs et Coroutines" -#: library/inspect.rst:1358 +#: library/inspect.rst:1359 msgid "" "When implementing coroutine schedulers and for other advanced uses of " "generators, it is useful to determine whether a generator is currently " @@ -2062,31 +2066,31 @@ msgstr "" "continuation, ou s'il a déjà terminé. :func:`getgeneratorstate` permet " "d'aisément déterminer l'état courant d'un générateur." -#: library/inspect.rst:1366 +#: library/inspect.rst:1367 msgid "Get current state of a generator-iterator." msgstr "Donne l'état courant d'un générateur-itérateur." -#: library/inspect.rst:1387 +#: library/inspect.rst:1388 msgid "Possible states are:" msgstr "Les états possibles :" -#: library/inspect.rst:1369 +#: library/inspect.rst:1370 msgid "GEN_CREATED: Waiting to start execution." msgstr "GEN_CREATED : En attente de démarrage d'exécution." -#: library/inspect.rst:1370 +#: library/inspect.rst:1371 msgid "GEN_RUNNING: Currently being executed by the interpreter." msgstr "GEN_RUNNING : En cours d'exécution par l'interpréteur." -#: library/inspect.rst:1371 +#: library/inspect.rst:1372 msgid "GEN_SUSPENDED: Currently suspended at a yield expression." msgstr "GEN_SUSPENDED : Présentement suspendu à une expression *yield*." -#: library/inspect.rst:1372 +#: library/inspect.rst:1373 msgid "GEN_CLOSED: Execution has completed." msgstr "GEN_CLOSED : L'exécution est complétée." -#: library/inspect.rst:1378 +#: library/inspect.rst:1379 msgid "" "Get current state of a coroutine object. The function is intended to be " "used with coroutine objects created by :keyword:`async def` functions, but " @@ -2098,23 +2102,23 @@ msgstr "" "n'importe quel objet semblable à une coroutine qui définisse des attributs " "``cr_running`` ``cr_frame``." -#: library/inspect.rst:1384 +#: library/inspect.rst:1385 msgid "CORO_CREATED: Waiting to start execution." msgstr "CORO_CREATED : En attente de démarrage d'exécution." -#: library/inspect.rst:1385 +#: library/inspect.rst:1386 msgid "CORO_RUNNING: Currently being executed by the interpreter." msgstr "CORO_RUNNING : En cours d'exécution par l'interpréteur." -#: library/inspect.rst:1386 +#: library/inspect.rst:1387 msgid "CORO_SUSPENDED: Currently suspended at an await expression." msgstr "CORO_SUSPENDED : Suspendu à une expression *await*." -#: library/inspect.rst:1387 +#: library/inspect.rst:1388 msgid "CORO_CLOSED: Execution has completed." msgstr "CORO_CLOSED : Exécution complétée." -#: library/inspect.rst:1391 +#: library/inspect.rst:1392 msgid "" "The current internal state of the generator can also be queried. This is " "mostly useful for testing purposes, to ensure that internal state is being " @@ -2124,7 +2128,7 @@ msgstr "" "pour des tests, afin d'assurer que l'état interne est mise à jour tel que " "prévu :" -#: library/inspect.rst:1397 +#: library/inspect.rst:1398 msgid "" "Get the mapping of live local variables in *generator* to their current " "values. A dictionary is returned that maps from variable names to values. " @@ -2137,7 +2141,7 @@ msgstr "" "func:`locals` dans le corps du générateur et les mêmes restrictions " "s'appliquent." -#: library/inspect.rst:1402 +#: library/inspect.rst:1403 msgid "" "If *generator* is a :term:`generator` with no currently associated frame, " "then an empty dictionary is returned. :exc:`TypeError` is raised if " @@ -2147,7 +2151,7 @@ msgstr "" "associé, alors un dictionnaire vide est renvoyé. :exc:`TypeError` est levé " "sir *generator* n'est pas un objet générateur Python." -#: library/inspect.rst:1408 +#: library/inspect.rst:1409 msgid "" "This function relies on the generator exposing a Python stack frame for " "introspection, which isn't guaranteed to be the case in all implementations " @@ -2159,7 +2163,7 @@ msgstr "" "implémentations Python. Dans un tel cas, cette fonction renvoie toujours un " "dictionnaire vide." -#: library/inspect.rst:1417 +#: library/inspect.rst:1418 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for coroutine objects created by :keyword:`async def` functions." @@ -2168,11 +2172,11 @@ msgstr "" "fonctionne pour des objets coroutines créés avec des fonctions :keyword:" "`async def`." -#: library/inspect.rst:1426 +#: library/inspect.rst:1427 msgid "Code Objects Bit Flags" msgstr "Bit d'option des objets code" -#: library/inspect.rst:1428 +#: library/inspect.rst:1429 msgid "" "Python code objects have a ``co_flags`` attribute, which is a bitmap of the " "following flags:" @@ -2180,11 +2184,11 @@ msgstr "" "Les objets de code Python ont un attribut ``co_flags``, ce qui est un " "*bitmap* des valeurs suivantes :" -#: library/inspect.rst:1433 +#: library/inspect.rst:1434 msgid "The code object is optimized, using fast locals." msgstr "L'objet code est optimisé, utilisant des variables locales rapides." -#: library/inspect.rst:1437 +#: library/inspect.rst:1438 msgid "" "If set, a new dict will be created for the frame's ``f_locals`` when the " "code object is executed." @@ -2192,23 +2196,23 @@ msgstr "" "Si défini, un nouveau dictionnaire sera créé pour le ``f_locals`` du cadre " "courant lorsque l'objet code est exécuté." -#: library/inspect.rst:1442 +#: library/inspect.rst:1443 msgid "The code object has a variable positional parameter (``*args``-like)." msgstr "" "L'objet code possède un paramètre de variable positionnel (``*args`` ou " "semblable)." -#: library/inspect.rst:1446 +#: library/inspect.rst:1447 msgid "The code object has a variable keyword parameter (``**kwargs``-like)." msgstr "" "L'objet code possède une paramètre par mot-clé variable (``**kwargs`` ou " "semblable)." -#: library/inspect.rst:1450 +#: library/inspect.rst:1451 msgid "The flag is set when the code object is a nested function." msgstr "L'option est définie lorsque le code est une fonction imbriquée." -#: library/inspect.rst:1454 +#: library/inspect.rst:1455 msgid "" "The flag is set when the code object is a generator function, i.e. a " "generator object is returned when the code object is executed." @@ -2217,11 +2221,11 @@ msgstr "" "c'est-à-dire qu'un objet générateur est renvoyé lorsque le code objet est " "exécuté." -#: library/inspect.rst:1459 +#: library/inspect.rst:1460 msgid "The flag is set if there are no free or cell variables." msgstr "" -#: library/inspect.rst:1463 +#: library/inspect.rst:1464 msgid "" "The flag is set when the code object is a coroutine function. When the code " "object is executed it returns a coroutine object. See :pep:`492` for more " @@ -2231,7 +2235,7 @@ msgstr "" "que le code objet est exécuté, il renvoie un objet coroutine. Voir :pep:" "`492` pour plus de détails." -#: library/inspect.rst:1471 +#: library/inspect.rst:1472 msgid "" "The flag is used to transform generators into generator-based coroutines. " "Generator objects with this flag can be used in ``await`` expression, and " @@ -2242,7 +2246,7 @@ msgstr "" "utilisés dans une expression ``await`` et un objet coroutine ``yield from``. " "Voir :pep:`492` pour plus de détails." -#: library/inspect.rst:1480 +#: library/inspect.rst:1481 msgid "" "The flag is set when the code object is an asynchronous generator function. " "When the code object is executed it returns an asynchronous generator " @@ -2252,7 +2256,7 @@ msgstr "" "asynchrone. Lorsque l'objet code est exécuté, il renvoie un objet générateur " "asynchrone. Voir :pep:`525` pour les détails." -#: library/inspect.rst:1487 +#: library/inspect.rst:1488 msgid "" "The flags are specific to CPython, and may not be defined in other Python " "implementations. Furthermore, the flags are an implementation detail, and " @@ -2265,11 +2269,11 @@ msgstr "" "versions ultérieures. Il est recommandé d'utiliser les APIs publiques de :" "mod:`inspect` pour tous les besoins d'introspection." -#: library/inspect.rst:1497 +#: library/inspect.rst:1498 msgid "Command Line Interface" msgstr "Interface en ligne de commande" -#: library/inspect.rst:1499 +#: library/inspect.rst:1500 msgid "" "The :mod:`inspect` module also provides a basic introspection capability " "from the command line." @@ -2277,7 +2281,7 @@ msgstr "" "Le module :mod:`inspect` fournit également des capacités d'introspection de " "base en ligne de commande." -#: library/inspect.rst:1504 +#: library/inspect.rst:1505 msgid "" "By default, accepts the name of a module and prints the source of that " "module. A class or function within the module can be printed instead by " @@ -2287,7 +2291,7 @@ msgstr "" "Une classe ou fonction à l'intérieur du module peut également être affichée " "en ajoutant un \":\" et le nom qualifié de l'objet désiré." -#: library/inspect.rst:1510 +#: library/inspect.rst:1511 msgid "" "Print information about the specified object rather than the source code" msgstr "" diff --git a/library/locale.po b/library/locale.po index 16ea5424a4..9bb47584e3 100644 --- a/library/locale.po +++ b/library/locale.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-05-19 08:26+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -362,14 +362,15 @@ msgstr "Rien n'est spécifié dans ces paramètres régionaux." #: library/locale.rst:150 msgid "" -"The function sets temporarily the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " +"The function temporarily sets the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " "locale or the ``LC_MONETARY`` locale if locales are different and numeric or " "monetary strings are non-ASCII. This temporary change affects other threads." msgstr "" #: library/locale.rst:154 +#, fuzzy msgid "" -"The function now sets temporarily the ``LC_CTYPE`` locale to the " +"The function now temporarily sets the ``LC_CTYPE`` locale to the " "``LC_NUMERIC`` locale in some cases." msgstr "" "La fonction définit maintenant la valeur du paramètre ``LC_CTYPE`` à celle " @@ -488,14 +489,6 @@ msgstr "" #: library/locale.rst:232 msgid "" -"The expression is in the syntax suitable for the :c:func:`regex` function " -"from the C library, which might differ from the syntax used in :mod:`re`." -msgstr "" -"L'expression est dans une syntaxe adaptée à la fonction :c:func:`regex` de " -"la bibliothèque C, qui peut différer de la syntaxe utilisée par :mod:`re`." - -#: library/locale.rst:237 -msgid "" "Get a regular expression that can be used with the regex(3) function to " "recognize a negative response to a yes/no question." msgstr "" @@ -503,7 +496,17 @@ msgstr "" "*regex(3)* pour reconnaître une réponse négative à une question fermée " "(oui / non)." -#: library/locale.rst:242 +#: library/locale.rst:237 +#, fuzzy +msgid "" +"The regular expressions for :const:`YESEXPR` and :const:`NOEXPR` use syntax " +"suitable for the :c:func:`regex` function from the C library, which might " +"differ from the syntax used in :mod:`re`." +msgstr "" +"L'expression est dans une syntaxe adaptée à la fonction :c:func:`regex` de " +"la bibliothèque C, qui peut différer de la syntaxe utilisée par :mod:`re`." + +#: library/locale.rst:244 msgid "" "Get the currency symbol, preceded by \"-\" if the symbol should appear " "before the value, \"+\" if the symbol should appear after the value, or \"." @@ -513,13 +516,13 @@ msgstr "" "apparaître avant la valeur, « + » s'il doit apparaître après la valeur, ou " "« . » s'il doit remplacer le caractère de séparation *radix*." -#: library/locale.rst:248 +#: library/locale.rst:250 msgid "Get a string that represents the era used in the current locale." msgstr "" "Récupère une chaîne qui représente l'ère utilisée pour le paramètre régional " "actuel." -#: library/locale.rst:250 +#: library/locale.rst:252 msgid "" "Most locales do not define this value. An example of a locale which does " "define this value is the Japanese one. In Japan, the traditional " @@ -531,7 +534,7 @@ msgstr "" "la représentation traditionnelle des dates comprend le nom de l'ère " "correspondant au règne de l'empereur de l'époque." -#: library/locale.rst:255 +#: library/locale.rst:257 msgid "" "Normally it should not be necessary to use this value directly. Specifying " "the ``E`` modifier in their format strings causes the :func:`time.strftime` " @@ -545,7 +548,7 @@ msgstr "" "strftime`. Le format de la chaîne renvoyée n'est pas spécifié, et vous ne " "devez donc pas supposer en avoir connaissance sur des systèmes différents." -#: library/locale.rst:263 +#: library/locale.rst:265 msgid "" "Get a format string for :func:`time.strftime` to represent date and time in " "a locale-specific era-based way." @@ -553,7 +556,7 @@ msgstr "" "Récupère la chaîne de format pour :func:`time.strftime` afin de représenter " "la date et l'heure pour un paramètre régional spécifique basée sur une ère." -#: library/locale.rst:268 +#: library/locale.rst:270 msgid "" "Get a format string for :func:`time.strftime` to represent a date in a " "locale-specific era-based way." @@ -561,7 +564,7 @@ msgstr "" "Récupère la chaîne de format pour :func:`time.strftime` afin de représenter " "une date pour un paramètre régional spécifique basée sur une ère." -#: library/locale.rst:273 +#: library/locale.rst:275 msgid "" "Get a format string for :func:`time.strftime` to represent a time in a " "locale-specific era-based way." @@ -569,7 +572,7 @@ msgstr "" "Récupère la chaîne de format pour :func:`time.strftime` afin de représenter " "une heure pour un paramètre régional spécifique basée sur une ère." -#: library/locale.rst:278 +#: library/locale.rst:280 msgid "" "Get a representation of up to 100 values used to represent the values 0 to " "99." @@ -577,7 +580,7 @@ msgstr "" "Récupère une représentation de 100 valeurs maximum utilisées pour " "représenter les valeurs de 0 à 99." -#: library/locale.rst:284 +#: library/locale.rst:286 msgid "" "Tries to determine the default locale settings and returns them as a tuple " "of the form ``(language code, encoding)``." @@ -585,7 +588,7 @@ msgstr "" "Tente de déterminer les paramètres régionaux par défaut, puis les renvoie " "sous la forme d'un n-uplet ``(code de la langue, encodage)``." -#: library/locale.rst:287 +#: library/locale.rst:289 msgid "" "According to POSIX, a program which has not called ``setlocale(LC_ALL, '')`` " "runs using the portable ``'C'`` locale. Calling ``setlocale(LC_ALL, '')`` " @@ -600,7 +603,7 @@ msgstr "" "interférer avec les paramètres régionaux actuels, nous émulons donc le " "comportement décrit ci-dessus." -#: library/locale.rst:293 +#: library/locale.rst:295 msgid "" "To maintain compatibility with other platforms, not only the :envvar:`LANG` " "variable is tested, but a list of variables given as envvars parameter. The " @@ -618,7 +621,7 @@ msgstr "" "contient ``'LC_ALL'``, ``'LC_CTYPE'``, ``'LANG'`` et ``'LANGUAGE'``, dans " "cet ordre." -#: library/locale.rst:311 +#: library/locale.rst:313 msgid "" "Except for the code ``'C'``, the language code corresponds to :rfc:`1766`. " "*language code* and *encoding* may be ``None`` if their values cannot be " @@ -628,7 +631,7 @@ msgstr "" "`1766`. Le *code de la langue* et l'*encodage* peuvent valoir ``None`` si " "leur valeur ne peut être déterminée." -#: library/locale.rst:307 +#: library/locale.rst:309 msgid "" "Returns the current setting for the given locale category as sequence " "containing *language code*, *encoding*. *category* may be one of the :const:" @@ -640,7 +643,7 @@ msgstr "" "`LC_\\*` à l'exception de :const:`LC_ALL`. La valeur par défaut est :const:" "`LC_CTYPE`." -#: library/locale.rst:318 +#: library/locale.rst:320 #, fuzzy msgid "" "Return the :term:`locale encoding` used for text data, according to user " @@ -654,7 +657,7 @@ msgstr "" "interfaces de programmation sur certains systèmes. Cette fonction ne renvoie " "donc qu'une supposition." -#: library/locale.rst:323 +#: library/locale.rst:325 msgid "" "On some systems, it is necessary to invoke :func:`setlocale` to obtain the " "user preferences, so this function is not thread-safe. If invoking setlocale " @@ -666,7 +669,7 @@ msgstr "" "multiples. Si l'appel de ``setlocale`` n'est pas nécessaire ou souhaité, " "*do_setlocale* doit être réglé à ``False``." -#: library/locale.rst:327 +#: library/locale.rst:329 #, fuzzy msgid "" "On Android or if the :ref:`Python UTF-8 Mode ` is enabled, always " @@ -677,13 +680,13 @@ msgstr "" "renvoie toujours ``'UTF-8'``, la locale et l'argument *do_setlocale* sont " "ignorés." -#: library/locale.rst:331 +#: library/locale.rst:333 msgid "" "The :ref:`Python preinitialization ` configures the LC_CTYPE " "locale. See also the :term:`filesystem encoding and error handler`." msgstr "" -#: library/locale.rst:334 +#: library/locale.rst:336 #, fuzzy msgid "" "The function now always returns ``UTF-8`` on Android or if the :ref:`Python " @@ -692,7 +695,7 @@ msgstr "" "La fonction renvoie maintenant toujours ``UTF-8`` sur Android ou si le mode " "UTF-8 est activé." -#: library/locale.rst:341 +#: library/locale.rst:343 msgid "" "Returns a normalized locale code for the given locale name. The returned " "locale code is formatted for use with :func:`setlocale`. If normalization " @@ -702,7 +705,7 @@ msgstr "" "renvoyé est structuré de façon à être utilisé avec :func:`setlocale`. Si la " "normalisation échoue, le nom d'origine est renvoyé inchangé." -#: library/locale.rst:345 +#: library/locale.rst:347 msgid "" "If the given encoding is not known, the function defaults to the default " "encoding for the locale code just like :func:`setlocale`." @@ -710,13 +713,13 @@ msgstr "" "Si l'encodage donné n'est pas connu, la fonction utilise l'encodage par " "défaut pour le code du paramètre régional, tout comme :func:`setlocale`." -#: library/locale.rst:351 +#: library/locale.rst:353 msgid "Sets the locale for *category* to the default setting." msgstr "" "Définit le paramètre régional de la catégorie *category* au réglage par " "défaut." -#: library/locale.rst:353 +#: library/locale.rst:355 msgid "" "The default setting is determined by calling :func:`getdefaultlocale`. " "*category* defaults to :const:`LC_ALL`." @@ -724,7 +727,7 @@ msgstr "" "Le réglage par défaut est déterminé en appelant :func:`getdefaultlocale`. La " "catégorie *category* vaut par défaut :const:`LC_ALL`." -#: library/locale.rst:359 +#: library/locale.rst:361 msgid "" "Compares two strings according to the current :const:`LC_COLLATE` setting. " "As any other compare function, returns a negative, or a positive value, or " @@ -736,7 +739,7 @@ msgstr "" "négative, positive, ou ``0``, selon si *string1* est lexicographiquement " "inférieure, supérieure, ou égale à *string2*." -#: library/locale.rst:367 +#: library/locale.rst:369 msgid "" "Transforms a string to one that can be used in locale-aware comparisons. " "For example, ``strxfrm(s1) < strxfrm(s2)`` is equivalent to ``strcoll(s1, " @@ -749,19 +752,20 @@ msgstr "" "Cette fonction peut être utilisée lorsque la même chaîne est comparée de " "façon répétitive, par exemple lors de l'assemblage d'une séquence de chaînes." -#: library/locale.rst:376 +#: library/locale.rst:378 +#, fuzzy msgid "" "Formats a number *val* according to the current :const:`LC_NUMERIC` setting. " "The format follows the conventions of the ``%`` operator. For floating " "point values, the decimal point is modified if appropriate. If *grouping* " -"is true, also takes the grouping into account." +"is ``True``, also takes the grouping into account." msgstr "" "Structure un nombre *val* en fonction du paramètre :const:`LC_NUMERIC` " "actuel. Le format suit les conventions de l'opérateur ``%``. Pour les " "valeurs à virgule flottante, le point décimal est modifié si nécessaire. Si " "*grouping* est vrai, le regroupement est également pris en compte." -#: library/locale.rst:381 +#: library/locale.rst:383 msgid "" "If *monetary* is true, the conversion uses monetary thousands separator and " "grouping strings." @@ -769,7 +773,7 @@ msgstr "" "Si *monetary* est vrai, la conversion utilise un séparateur des milliers " "monétaire et des chaînes de regroupement." -#: library/locale.rst:384 +#: library/locale.rst:386 msgid "" "Processes formatting specifiers as in ``format % val``, but takes the " "current locale settings into account." @@ -777,26 +781,26 @@ msgstr "" "Traite les marqueurs de structure en ``format % val``, mais en prenant en " "compte les paramètres régionaux actuels." -#: library/locale.rst:387 +#: library/locale.rst:389 msgid "The *monetary* keyword parameter was added." msgstr "" -#: library/locale.rst:393 +#: library/locale.rst:395 msgid "" "Please note that this function works like :meth:`format_string` but will " "only work for exactly one ``%char`` specifier. For example, ``'%f'`` and " "``'%.0f'`` are both valid specifiers, but ``'%f KiB'`` is not." msgstr "" -#: library/locale.rst:397 +#: library/locale.rst:399 msgid "For whole format strings, use :func:`format_string`." msgstr "" -#: library/locale.rst:399 +#: library/locale.rst:401 msgid "Use :meth:`format_string` instead." msgstr "" -#: library/locale.rst:405 +#: library/locale.rst:407 msgid "" "Formats a number *val* according to the current :const:`LC_MONETARY` " "settings." @@ -804,12 +808,13 @@ msgstr "" "Structure un nombre *val* en fonction du paramètre :const:`LC_MONETARY` " "actuel." -#: library/locale.rst:407 +#: library/locale.rst:409 +#, fuzzy msgid "" "The returned string includes the currency symbol if *symbol* is true, which " -"is the default. If *grouping* is true (which is not the default), grouping " -"is done with the value. If *international* is true (which is not the " -"default), the international currency symbol is used." +"is the default. If *grouping* is ``True`` (which is not the default), " +"grouping is done with the value. If *international* is ``True`` (which is " +"not the default), the international currency symbol is used." msgstr "" "La chaîne renvoyée inclut le symbole monétaire si *symbol* est vrai, ce qui " "est le cas par défaut. Si *grouping* est vrai (ce qui n'est pas le cas par " @@ -817,15 +822,16 @@ msgstr "" "vrai (ce qui n'est pas le cas par défaut), le symbole de la devise " "internationale est utilisé." -#: library/locale.rst:412 +#: library/locale.rst:416 +#, fuzzy msgid "" -"Note that this function will not work with the 'C' locale, so you have to " -"set a locale via :func:`setlocale` first." +"This function will not work with the 'C' locale, so you have to set a locale " +"via :func:`setlocale` first." msgstr "" "Notez que cette fonction ne fonctionnera pas avec le paramètre régional 'C', " "vous devez donc d'abord en définir un via :func:`setlocale`." -#: library/locale.rst:418 +#: library/locale.rst:422 msgid "" "Formats a floating point number using the same format as the built-in " "function ``str(float)``, but takes the decimal point into account." @@ -833,7 +839,7 @@ msgstr "" "Structure un nombre flottant en utilisant le même format que la fonction " "native ``str(float)``, mais en prenant en compte le point décimal." -#: library/locale.rst:424 +#: library/locale.rst:428 msgid "" "Converts a string into a normalized number string, following the :const:" "`LC_NUMERIC` settings." @@ -841,7 +847,7 @@ msgstr "" "Convertit une chaîne de caractères en une chaîne de nombres normalisés, en " "suivant les réglages :const:`LC_NUMERIC`." -#: library/locale.rst:432 +#: library/locale.rst:436 #, fuzzy msgid "" "Converts a normalized number string into a formatted string following the :" @@ -850,7 +856,7 @@ msgstr "" "Convertit une chaîne de caractères en une chaîne de nombres normalisés, en " "suivant les réglages :const:`LC_NUMERIC`." -#: library/locale.rst:440 +#: library/locale.rst:444 #, fuzzy msgid "" "Converts a string to a number, following the :const:`LC_NUMERIC` settings, " @@ -859,7 +865,7 @@ msgstr "" "Convertit une chaîne de caractères en un entier, en suivant les réglages :" "const:`LC_NUMERIC`." -#: library/locale.rst:446 +#: library/locale.rst:450 msgid "" "Converts a string to an integer, following the :const:`LC_NUMERIC` " "conventions." @@ -867,7 +873,7 @@ msgstr "" "Convertit une chaîne de caractères en un entier, en suivant les réglages :" "const:`LC_NUMERIC`." -#: library/locale.rst:453 +#: library/locale.rst:457 msgid "" "Locale category for the character type functions. Depending on the settings " "of this category, the functions of module :mod:`string` dealing with case " @@ -877,7 +883,7 @@ msgstr "" "Suivant les réglages de la catégorie, les fonctions du module :mod:`string` " "gérant la casse peuvent changer leur comportement." -#: library/locale.rst:460 +#: library/locale.rst:464 msgid "" "Locale category for sorting strings. The functions :func:`strcoll` and :" "func:`strxfrm` of the :mod:`locale` module are affected." @@ -886,7 +892,7 @@ msgstr "" "fonctions :func:`strcoll` et :func:`strxfrm` du module :mod:`locale` sont " "concernées." -#: library/locale.rst:466 +#: library/locale.rst:470 msgid "" "Locale category for the formatting of time. The function :func:`time." "strftime` follows these conventions." @@ -894,7 +900,7 @@ msgstr "" "Catégorie de paramètre régional pour la mise en forme de la date et de " "l'heure. La fonction :func:`time.strftime` suit ces conventions." -#: library/locale.rst:472 +#: library/locale.rst:476 msgid "" "Locale category for formatting of monetary values. The available options " "are available from the :func:`localeconv` function." @@ -903,7 +909,7 @@ msgstr "" "monétaires. Les options disponibles sont accessibles à partir de la " "fonction :func:`localeconv`." -#: library/locale.rst:478 +#: library/locale.rst:482 msgid "" "Locale category for message display. Python currently does not support " "application specific locale-aware messages. Messages displayed by the " @@ -916,7 +922,13 @@ msgstr "" "d'exploitation, comme ceux renvoyés par :func:`os.strerror` peuvent être " "affectés par cette catégorie." -#: library/locale.rst:486 +#: library/locale.rst:487 +msgid "" +"This value may not be available on operating systems not conforming to the " +"POSIX standard, most notably Windows." +msgstr "" + +#: library/locale.rst:493 msgid "" "Locale category for formatting numbers. The functions :func:`.format`, :" "func:`atoi`, :func:`atof` and :func:`.str` of the :mod:`locale` module are " @@ -928,7 +940,7 @@ msgstr "" "module :mod:`locale` sont affectées par cette catégorie. Toutes les autres " "opérations de mise en forme des nombres ne sont pas affectées." -#: library/locale.rst:494 +#: library/locale.rst:501 msgid "" "Combination of all locale settings. If this flag is used when the locale is " "changed, setting the locale for all categories is attempted. If that fails " @@ -945,7 +957,7 @@ msgstr "" "indiquant le réglage pour toutes les catégories est renvoyée. Cette chaîne " "peut alors être utilisée plus tard pour restaurer les paramètres d'origine." -#: library/locale.rst:503 +#: library/locale.rst:510 msgid "" "This is a symbolic constant used for different values returned by :func:" "`localeconv`." @@ -953,15 +965,15 @@ msgstr "" "Ceci est une constante symbolique utilisée pour différentes valeurs " "renvoyées par :func:`localeconv`." -#: library/locale.rst:507 +#: library/locale.rst:514 msgid "Example::" msgstr "Exemple ::" -#: library/locale.rst:520 +#: library/locale.rst:527 msgid "Background, details, hints, tips and caveats" msgstr "Contexte, détails, conseils, astuces et mises en garde" -#: library/locale.rst:522 +#: library/locale.rst:529 #, fuzzy msgid "" "The C standard defines the locale as a program-wide property that may be " @@ -975,7 +987,7 @@ msgstr "" "fréquents de paramètres régionaux peuvent causer des *core dumps*. Cela " "rend l'utilisation correcte de ces paramètres quelque peu pénible." -#: library/locale.rst:527 +#: library/locale.rst:534 msgid "" "Initially, when a program is started, the locale is the ``C`` locale, no " "matter what the user's preferred locale is. There is one exception: the :" @@ -992,7 +1004,7 @@ msgstr "" "veut utiliser les réglages de l'utilisateur pour les autres catégories, en " "appelant ``setlocale(LC_ALL, '')``." -#: library/locale.rst:534 +#: library/locale.rst:541 msgid "" "It is generally a bad idea to call :func:`setlocale` in some library " "routine, since as a side effect it affects the entire program. Saving and " @@ -1005,7 +1017,7 @@ msgstr "" "mauvais : c'est coûteux et cela affecte d'autres fils d'exécutions qui " "s'exécutent avant que les paramètres n'aient été restaurés." -#: library/locale.rst:539 +#: library/locale.rst:546 msgid "" "If, when coding a module for general use, you need a locale independent " "version of an operation that is affected by the locale (such as certain " @@ -1024,7 +1036,7 @@ msgstr "" "dernier recours que vous devez documenter que votre module n'est pas " "compatible avec les réglages du paramètre régional ``C``." -#: library/locale.rst:546 +#: library/locale.rst:553 msgid "" "The only way to perform numeric operations according to the locale is to use " "the special functions defined by this module: :func:`atof`, :func:`atoi`, :" @@ -1034,7 +1046,7 @@ msgstr "" "paramètres régionaux est d'utiliser les fonctions spéciales définies par ce " "module : :func:`atof`, :func:`atoi`, :func:`.format`, :func:`.str`." -#: library/locale.rst:550 +#: library/locale.rst:557 msgid "" "There is no way to perform case conversions and character classifications " "according to the locale. For (Unicode) text strings these are done " @@ -1053,11 +1065,11 @@ msgstr "" "dire les octets non ASCII) ne sont jamais convertis ou considérés comme " "faisant partie d'une classe de caractères comme une lettre ou une espace." -#: library/locale.rst:561 +#: library/locale.rst:568 msgid "For extension writers and programs that embed Python" msgstr "Pour les auteurs d'extensions et les programmes qui intègrent Python" -#: library/locale.rst:563 +#: library/locale.rst:570 msgid "" "Extension modules should never call :func:`setlocale`, except to find out " "what the current locale is. But since the return value can only be used " @@ -1069,7 +1081,7 @@ msgstr "" "ne peut être utilisée que pour le restaurer, ce n'est pas très utile (sauf " "peut-être pour savoir si le paramètre régional est défini à ``C`` ou non)." -#: library/locale.rst:568 +#: library/locale.rst:575 msgid "" "When Python code uses the :mod:`locale` module to change the locale, this " "also affects the embedding application. If the embedding application " @@ -1086,11 +1098,11 @@ msgstr "" "s'assurer que le module :mod:`_locale` n'est pas accessible en tant que " "bibliothèque partagée." -#: library/locale.rst:579 +#: library/locale.rst:586 msgid "Access to message catalogs" msgstr "Accéder aux catalogues de messages" -#: library/locale.rst:587 +#: library/locale.rst:594 msgid "" "The locale module exposes the C library's gettext interface on systems that " "provide this interface. It consists of the functions :func:`!gettext`, :" @@ -1107,7 +1119,7 @@ msgstr "" "similaires aux fonctions du module :mod:`gettext`, mais utilisent le format " "binaire de la bibliothèque C pour les catalogues de messages." -#: library/locale.rst:594 +#: library/locale.rst:601 msgid "" "Python applications should normally find no need to invoke these functions, " "and should use :mod:`gettext` instead. A known exception to this rule are " diff --git a/library/logging.config.po b/library/logging.config.po index 9daab7893c..874159ab5f 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -655,13 +655,21 @@ msgstr "" #: library/logging.config.rst:522 msgid "" +"The values for keys such as ``bar``, ``spam`` and ``answer`` in the above " +"example should not be configuration dictionaries or references such as " +"``cfg://foo`` or ``ext://bar``, because they will not be processed by the " +"configuration machinery, but passed to the callable as-is." +msgstr "" + +#: library/logging.config.rst:527 +msgid "" "The key ``'()'`` has been used as the special key because it is not a valid " "keyword parameter name, and so will not clash with the names of the keyword " "arguments used in the call. The ``'()'`` also serves as a mnemonic that the " "corresponding value is a callable." msgstr "" -#: library/logging.config.rst:527 +#: library/logging.config.rst:532 msgid "" "You can also specify a special key ``'.'`` whose value is a dictionary is a " "mapping of attribute names to values. If found, the specified attributes " @@ -669,17 +677,50 @@ msgid "" "following configuration::" msgstr "" -#: library/logging.config.rst:543 +#: library/logging.config.rst:548 msgid "" "the returned formatter will have attribute ``foo`` set to ``'bar'`` and " "attribute ``baz`` set to ``'bozz'``." msgstr "" -#: library/logging.config.rst:550 +#: library/logging.config.rst:551 +msgid "" +"The values for attributes such as ``foo`` and ``baz`` in the above example " +"should not be configuration dictionaries or references such as ``cfg://foo`` " +"or ``ext://bar``, because they will not be processed by the configuration " +"machinery, but set as attribute values as-is." +msgstr "" + +#: library/logging.config.rst:560 +msgid "Handler configuration order" +msgstr "" + +#: library/logging.config.rst:562 +msgid "" +"Handlers are configured in alphabetical order of their keys, and a " +"configured handler replaces the configuration dictionary in (a working copy " +"of) the ``handlers`` dictionary in the schema. If you use a construct such " +"as ``cfg://handlers.foo``, then initially ``handlers['foo']`` points to the " +"configuration dictionary for the handler named ``foo``, and later (once that " +"handler has been configured) it points to the configured handler instance. " +"Thus, ``cfg://handlers.foo`` could resolve to either a dictionary or a " +"handler instance. In general, it is wise to name handlers in a way such that " +"dependent handlers are configured _after_ any handlers they depend on; that " +"allows something like ``cfg://handlers.foo`` to be used in configuring a " +"handler that depends on handler ``foo``. If that dependent handler were " +"named ``bar``, problems would result, because the configuration of ``bar`` " +"would be attempted before that of ``foo``, and ``foo`` would not yet have " +"been configured. However, if the dependent handler were named ``foobar``, it " +"would be configured after ``foo``, with the result that ``cfg://handlers." +"foo`` would resolve to configured handler ``foo``, and not its configuration " +"dictionary." +msgstr "" + +#: library/logging.config.rst:583 msgid "Access to external objects" msgstr "" -#: library/logging.config.rst:552 +#: library/logging.config.rst:585 msgid "" "There are times where a configuration needs to refer to objects external to " "the configuration, for example ``sys.stderr``. If the configuration dict is " @@ -694,7 +735,7 @@ msgid "" "import mechanisms." msgstr "" -#: library/logging.config.rst:565 +#: library/logging.config.rst:598 msgid "" "The handling of such prefixes is done in a way analogous to protocol " "handling: there is a generic mechanism to look for prefixes which match the " @@ -704,11 +745,11 @@ msgid "" "prefix is not recognised, then the string value will be left as-is." msgstr "" -#: library/logging.config.rst:577 +#: library/logging.config.rst:610 msgid "Access to internal objects" msgstr "" -#: library/logging.config.rst:579 +#: library/logging.config.rst:612 msgid "" "As well as external objects, there is sometimes also a need to refer to " "objects in the configuration. This will be done implicitly by the " @@ -719,7 +760,7 @@ msgid "" "and resolve to the appropriate destination object." msgstr "" -#: library/logging.config.rst:587 +#: library/logging.config.rst:620 msgid "" "However, a more generic mechanism is needed for user-defined objects which " "are not known to the :mod:`logging` module. For example, consider :class:" @@ -733,7 +774,7 @@ msgid "" "resolution system allows the user to specify:" msgstr "" -#: library/logging.config.rst:609 +#: library/logging.config.rst:642 msgid "" "The literal string ``'cfg://handlers.file'`` will be resolved in an " "analogous way to strings with the ``ext://`` prefix, but looking in the " @@ -742,7 +783,7 @@ msgid "" "format``. Thus, given the following snippet:" msgstr "" -#: library/logging.config.rst:627 +#: library/logging.config.rst:660 msgid "" "in the configuration, the string ``'cfg://handlers'`` would resolve to the " "dict with key ``handlers``, the string ``'cfg://handlers.email`` would " @@ -758,7 +799,7 @@ msgid "" "to the string value if needed." msgstr "" -#: library/logging.config.rst:641 +#: library/logging.config.rst:674 msgid "" "Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to " "``config_dict['handlers']['myhandler']['mykey']['123']``. If the string is " @@ -768,11 +809,11 @@ msgid "" "['mykey']['123']`` if that fails." msgstr "" -#: library/logging.config.rst:653 +#: library/logging.config.rst:686 msgid "Import resolution and custom importers" msgstr "" -#: library/logging.config.rst:655 +#: library/logging.config.rst:688 msgid "" "Import resolution, by default, uses the builtin :func:`__import__` function " "to do its importing. You may want to replace this with your own importing " @@ -784,17 +825,17 @@ msgid "" "instance level, you need to wrap it with :func:`staticmethod`. For example::" msgstr "" -#: library/logging.config.rst:670 +#: library/logging.config.rst:703 msgid "" "You don't need to wrap with :func:`staticmethod` if you're setting the " "import callable on a configurator *instance*." msgstr "" -#: library/logging.config.rst:677 +#: library/logging.config.rst:710 msgid "Configuration file format" msgstr "" -#: library/logging.config.rst:679 +#: library/logging.config.rst:712 msgid "" "The configuration file format understood by :func:`fileConfig` is based on :" "mod:`configparser` functionality. The file must contain sections called " @@ -811,7 +852,7 @@ msgid "" "specified in a section called ``[logger_root]``." msgstr "" -#: library/logging.config.rst:694 +#: library/logging.config.rst:727 msgid "" "The :func:`fileConfig` API is older than the :func:`dictConfig` API and does " "not provide functionality to cover certain aspects of logging. For example, " @@ -824,17 +865,17 @@ msgid "" "when it's convenient to do so." msgstr "" -#: library/logging.config.rst:704 +#: library/logging.config.rst:737 msgid "Examples of these sections in the file are given below." msgstr "" -#: library/logging.config.rst:717 +#: library/logging.config.rst:750 msgid "" "The root logger must specify a level and a list of handlers. An example of a " "root logger section is given below." msgstr "" -#: library/logging.config.rst:726 +#: library/logging.config.rst:759 msgid "" "The ``level`` entry can be one of ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` " "or ``NOTSET``. For the root logger only, ``NOTSET`` means that all messages " @@ -842,7 +883,7 @@ msgid "" "``logging`` package's namespace." msgstr "" -#: library/logging.config.rst:731 +#: library/logging.config.rst:764 msgid "" "The ``handlers`` entry is a comma-separated list of handler names, which " "must appear in the ``[handlers]`` section. These names must appear in the " @@ -850,13 +891,13 @@ msgid "" "file." msgstr "" -#: library/logging.config.rst:736 +#: library/logging.config.rst:769 msgid "" "For loggers other than the root logger, some additional information is " "required. This is illustrated by the following example." msgstr "" -#: library/logging.config.rst:747 +#: library/logging.config.rst:780 msgid "" "The ``level`` and ``handlers`` entries are interpreted as for the root " "logger, except that if a non-root logger's level is specified as ``NOTSET``, " @@ -869,20 +910,20 @@ msgid "" "application to get the logger." msgstr "" -#: library/logging.config.rst:756 +#: library/logging.config.rst:789 msgid "" "Sections which specify handler configuration are exemplified by the " "following." msgstr "" -#: library/logging.config.rst:766 +#: library/logging.config.rst:799 msgid "" "The ``class`` entry indicates the handler's class (as determined by :func:" "`eval` in the ``logging`` package's namespace). The ``level`` is interpreted " "as for loggers, and ``NOTSET`` is taken to mean 'log everything'." msgstr "" -#: library/logging.config.rst:770 +#: library/logging.config.rst:803 msgid "" "The ``formatter`` entry indicates the key name of the formatter for this " "handler. If blank, a default formatter (``logging._defaultFormatter``) is " @@ -890,7 +931,7 @@ msgid "" "and have a corresponding section in the configuration file." msgstr "" -#: library/logging.config.rst:775 +#: library/logging.config.rst:808 msgid "" "The ``args`` entry, when :func:`eval`\\ uated in the context of the " "``logging`` package's namespace, is the list of arguments to the constructor " @@ -899,26 +940,26 @@ msgid "" "provided, it defaults to ``()``." msgstr "" -#: library/logging.config.rst:781 +#: library/logging.config.rst:814 msgid "" "The optional ``kwargs`` entry, when :func:`eval`\\ uated in the context of " "the ``logging`` package's namespace, is the keyword argument dict to the " "constructor for the handler class. If not provided, it defaults to ``{}``." msgstr "" -#: library/logging.config.rst:838 +#: library/logging.config.rst:871 msgid "" "Sections which specify formatter configuration are typified by the following." msgstr "" -#: library/logging.config.rst:849 +#: library/logging.config.rst:882 msgid "" "The arguments for the formatter configuration are the same as the keys in " "the dictionary schema :ref:`formatters section `." msgstr "" -#: library/logging.config.rst:855 +#: library/logging.config.rst:888 msgid "" "Due to the use of :func:`eval` as described above, there are potential " "security risks which result from using the :func:`listen` to send and " @@ -927,18 +968,18 @@ msgid "" "`listen` documentation for more information." msgstr "" -#: library/logging.config.rst:864 +#: library/logging.config.rst:897 msgid "Module :mod:`logging`" msgstr "Module :mod:`logging`" -#: library/logging.config.rst:864 +#: library/logging.config.rst:897 msgid "API reference for the logging module." msgstr "Référence d'API pour le module de journalisation." -#: library/logging.config.rst:866 +#: library/logging.config.rst:899 msgid "Module :mod:`logging.handlers`" msgstr "Module :mod:`logging.handlers`" -#: library/logging.config.rst:867 +#: library/logging.config.rst:900 msgid "Useful handlers included with the logging module." msgstr "Gestionnaires utiles inclus avec le module de journalisation." diff --git a/library/operator.po b/library/operator.po index 8c011cfa7e..77fa285d85 100644 --- a/library/operator.po +++ b/library/operator.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-12-11 22:46+0100\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -319,10 +319,11 @@ msgstr "" "Avec ``g = itemgetter(2, 5, 3)``, ``g(r)`` renvoie ``(r[2], r[5], r[3])``." #: library/operator.rst:318 +#, fuzzy msgid "" "The items can be any type accepted by the operand's :meth:`__getitem__` " -"method. Dictionaries accept any hashable value. Lists, tuples, and strings " -"accept an index or a slice:" +"method. Dictionaries accept any :term:`hashable` value. Lists, tuples, and " +"strings accept an index or a slice:" msgstr "" "Les *items* en entrée peuvent être de n'importe quel type tant que celui-ci " "est géré par la méthode :meth:`__getitem__` de l'opérande. Les dictionnaires " diff --git a/library/optparse.po b/library/optparse.po index c83c73d2d6..f2fc3d8730 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-07-03 10:48+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -521,7 +521,7 @@ msgid "``\"store_const\"``" msgstr "``\"store_const\"``" #: library/optparse.rst:928 -msgid "store a constant value" +msgid "store a constant value, pre-set via :attr:`Option.const`" msgstr "" #: library/optparse.rst:937 @@ -1120,7 +1120,7 @@ msgid "``\"append_const\"``" msgstr "``\"append_const\"``" #: library/optparse.rst:940 -msgid "append a constant value to a list" +msgid "append a constant value to a list, pre-set via :attr:`Option.const`" msgstr "" #: library/optparse.rst:1226 diff --git a/library/os.path.po b/library/os.path.po index c54c554551..3be218a73b 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-12-16 17:24+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -108,9 +108,9 @@ msgstr "" #: library/os.path.rst:76 library/os.path.rst:125 library/os.path.rst:151 #: library/os.path.rst:197 library/os.path.rst:226 library/os.path.rst:245 -#: library/os.path.rst:265 library/os.path.rst:294 library/os.path.rst:344 -#: library/os.path.rst:389 library/os.path.rst:420 library/os.path.rst:452 -#: library/os.path.rst:508 +#: library/os.path.rst:265 library/os.path.rst:294 library/os.path.rst:345 +#: library/os.path.rst:390 library/os.path.rst:421 library/os.path.rst:453 +#: library/os.path.rst:509 msgid "Accepts a :term:`path-like object`." msgstr "Accepte un :term:`path-like object`." @@ -136,7 +136,7 @@ msgid "" "empty. Unlike :func:`commonprefix`, this returns a valid path." msgstr "" -#: library/os.path.rst:388 library/os.path.rst:416 library/os.path.rst:432 +#: library/os.path.rst:389 library/os.path.rst:417 library/os.path.rst:433 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." @@ -310,37 +310,38 @@ msgstr "" #: library/os.path.rst:300 msgid "" -"Join one or more path components intelligently. The return value is the " -"concatenation of *path* and any members of *\\*paths* with exactly one " -"directory separator following each non-empty part except the last, meaning " -"that the result will only end in a separator if the last part is empty. If " -"a component is an absolute path, all previous components are thrown away and " -"joining continues from the absolute path component." +"Join one or more path segments intelligently. The return value is the " +"concatenation of *path* and all members of *\\*paths*, with exactly one " +"directory separator following each non-empty part, except the last. That is, " +"the result will only end in a separator if the last part is either empty or " +"ends in a separator. If a segment is an absolute path (which on Windows " +"requires both a drive and a root), then all previous segments are ignored " +"and joining continues from the absolute path segment." msgstr "" -#: library/os.path.rst:307 +#: library/os.path.rst:308 msgid "" -"On Windows, the drive letter is not reset when an absolute path component (e." -"g., ``r'\\foo'``) is encountered. If a component contains a drive letter, " -"all previous components are thrown away and the drive letter is reset. Note " -"that since there is a current directory for each drive, ``os.path.join(\"c:" -"\", \"foo\")`` represents a path relative to the current directory on drive :" -"file:`C:` (:file:`c:foo`), not :file:`c:\\\\foo`." +"On Windows, the drive is not reset when a rooted path segment (e.g., " +"``r'\\foo'``) is encountered. If a segment is on a different drive or is an " +"absolute path, all previous segments are ignored and the drive is reset. " +"Note that since there is a current directory for each drive, ``os.path." +"join(\"c:\", \"foo\")`` represents a path relative to the current directory " +"on drive :file:`C:` (:file:`c:foo`), not :file:`c:\\\\foo`." msgstr "" -#: library/os.path.rst:314 +#: library/os.path.rst:315 #, fuzzy msgid "Accepts a :term:`path-like object` for *path* and *paths*." msgstr "Accepte un :term:`path-like object` pour *path* et *attribute*." -#: library/os.path.rst:320 +#: library/os.path.rst:321 msgid "" "Normalize the case of a pathname. On Windows, convert all characters in the " "pathname to lowercase, and also convert forward slashes to backward slashes. " "On other operating systems, return the path unchanged." msgstr "" -#: library/os.path.rst:330 +#: library/os.path.rst:331 msgid "" "Normalize a pathname by collapsing redundant separators and up-level " "references so that ``A//B``, ``A/B/``, ``A/./B`` and ``A/foo/../B`` all " @@ -349,7 +350,7 @@ msgid "" "backward slashes. To normalize case, use :func:`normcase`." msgstr "" -#: library/os.path.rst:337 +#: library/os.path.rst:338 msgid "" "On POSIX systems, in accordance with `IEEE Std 1003.1 2013 Edition; 4.13 " "Pathname Resolution \n" "Language-Team: FRENCH \n" @@ -343,23 +343,23 @@ msgstr "" "Renvoie l'identifiant de fichier correspondant au terminal contrôlant le " "processus." -#: library/os.rst:340 library/os.rst:358 library/os.rst:377 library/os.rst:420 -#: library/os.rst:468 library/os.rst:488 library/os.rst:508 library/os.rst:548 -#: library/os.rst:565 library/os.rst:585 library/os.rst:611 library/os.rst:628 -#: library/os.rst:643 library/os.rst:659 library/os.rst:876 library/os.rst:907 -#: library/os.rst:965 library/os.rst:998 library/os.rst:1193 -#: library/os.rst:1221 library/os.rst:1405 library/os.rst:1437 -#: library/os.rst:1497 library/os.rst:1514 library/os.rst:1798 -#: library/os.rst:1881 library/os.rst:1921 library/os.rst:1949 -#: library/os.rst:2160 library/os.rst:2215 library/os.rst:3046 -#: library/os.rst:3672 library/os.rst:3687 library/os.rst:3701 -#: library/os.rst:3715 library/os.rst:3730 library/os.rst:3745 -#: library/os.rst:3761 library/os.rst:3777 library/os.rst:3791 -#: library/os.rst:3867 library/os.rst:3895 library/os.rst:4059 -#: library/os.rst:4312 library/os.rst:4343 library/os.rst:4413 -#: library/os.rst:4465 library/os.rst:4495 library/os.rst:4518 -#: library/os.rst:4534 library/os.rst:4552 library/os.rst:4707 -#: library/os.rst:4737 library/os.rst:4756 +#: library/os.rst:345 library/os.rst:363 library/os.rst:382 library/os.rst:425 +#: library/os.rst:473 library/os.rst:493 library/os.rst:513 library/os.rst:553 +#: library/os.rst:570 library/os.rst:590 library/os.rst:616 library/os.rst:633 +#: library/os.rst:648 library/os.rst:664 library/os.rst:881 library/os.rst:912 +#: library/os.rst:970 library/os.rst:1003 library/os.rst:1198 +#: library/os.rst:1226 library/os.rst:1410 library/os.rst:1442 +#: library/os.rst:1502 library/os.rst:1519 library/os.rst:1803 +#: library/os.rst:1886 library/os.rst:1926 library/os.rst:1954 +#: library/os.rst:2165 library/os.rst:2220 library/os.rst:3053 +#: library/os.rst:3679 library/os.rst:3694 library/os.rst:3708 +#: library/os.rst:3722 library/os.rst:3737 library/os.rst:3752 +#: library/os.rst:3768 library/os.rst:3784 library/os.rst:3798 +#: library/os.rst:3874 library/os.rst:3902 library/os.rst:4066 +#: library/os.rst:4319 library/os.rst:4350 library/os.rst:4420 +#: library/os.rst:4472 library/os.rst:4502 library/os.rst:4525 +#: library/os.rst:4541 library/os.rst:4559 library/os.rst:4714 +#: library/os.rst:4744 library/os.rst:4763 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." @@ -411,7 +411,14 @@ msgstr "" "getfilesystemencoding` et le gestionnaire d'erreurs ``surrogateescape``. " "Utilisez :data:`environb` si vous désirez utiliser un encodage différent." -#: library/os.rst:193 +#: library/os.rst:191 +msgid "" +"On Windows, the keys are converted to uppercase. This also applies when " +"getting, setting, or deleting an item. For example, ``environ['monty'] = " +"'python'`` maps the key ``'MONTY'`` to the value ``'python'``." +msgstr "" + +#: library/os.rst:198 #, fuzzy msgid "" "Calling :func:`putenv` directly does not change :data:`os.environ`, so it's " @@ -420,7 +427,7 @@ msgstr "" "Appeler :func:`putenv` ne change pas directement ``os.environ``, donc il est " "préférable de modifier ``os.environ``." -#: library/os.rst:198 +#: library/os.rst:203 #, fuzzy msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " @@ -430,7 +437,7 @@ msgstr "" "assignations sur ``environ`` peut causer des fuites de mémoire. Referez-vous " "à la documentation système de :func:`putenv`." -#: library/os.rst:202 +#: library/os.rst:207 #, fuzzy msgid "" "You can delete items in this mapping to unset environment variables. :func:" @@ -443,14 +450,14 @@ msgstr "" "automatiquement quand un élément est supprimé de ``os.environ``, ou quand " "l'une des méthodes :meth:`pop` ou :meth:`clear` est appelée." -#: library/os.rst:223 +#: library/os.rst:228 msgid "" "Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators." msgstr "" "Mis à jour pour gérer les opérateurs *merge* (``|``) et *update* (``|=``) " "de :pep:`584`." -#: library/os.rst:213 +#: library/os.rst:218 #, fuzzy msgid "" "Bytes version of :data:`environ`: a :term:`mapping` object where both keys " @@ -463,7 +470,7 @@ msgstr "" "`environ` et :data:`environb` sont synchronisés (modifier :data:`environ` " "modifie :data:`environb`, et vice-versa)." -#: library/os.rst:218 +#: library/os.rst:223 msgid "" ":data:`environb` is only available if :data:`supports_bytes_environ` is " "``True``." @@ -471,11 +478,11 @@ msgstr "" ":data:`environb` n'est disponible que si :data:`supports_bytes_environ` vaut " "``True``." -#: library/os.rst:232 +#: library/os.rst:237 msgid "These functions are described in :ref:`os-file-dir`." msgstr "Ces fonctions sont décrites dans le chapitre :ref:`os-file-dir`." -#: library/os.rst:237 +#: library/os.rst:242 #, fuzzy msgid "" "Encode :term:`path-like ` *filename* to the :term:" @@ -486,11 +493,11 @@ msgstr "" "``'surrogateescape'``, ou ``'strict'`` sous Windows ; renvoie un objet :" "class:`bytes` inchangé." -#: library/os.rst:241 +#: library/os.rst:246 msgid ":func:`fsdecode` is the reverse function." msgstr ":func:`fsdecode` est la fonction inverse." -#: library/os.rst:260 +#: library/os.rst:265 msgid "" "Support added to accept objects implementing the :class:`os.PathLike` " "interface." @@ -498,7 +505,7 @@ msgstr "" "Ajout de la prise en charge des objets implémentant l'interface :class:`os." "PathLike`." -#: library/os.rst:252 +#: library/os.rst:257 #, fuzzy msgid "" "Decode the :term:`path-like ` *filename* from the :term:" @@ -509,16 +516,16 @@ msgstr "" "``'surrogateescape'``, ou ``'strict'`` sous Windows ; renvoie un objet :" "class:`str` inchangé." -#: library/os.rst:256 +#: library/os.rst:261 msgid ":func:`fsencode` is the reverse function." msgstr ":func:`fsencode` est la fonction inverse." -#: library/os.rst:267 +#: library/os.rst:272 msgid "Return the file system representation of the path." msgstr "" "Renvoie une représentation du chemin utilisable par le système de fichiers." -#: library/os.rst:269 +#: library/os.rst:274 msgid "" "If :class:`str` or :class:`bytes` is passed in, it is returned unchanged. " "Otherwise :meth:`~os.PathLike.__fspath__` is called and its value is " @@ -530,7 +537,7 @@ msgstr "" "valeur renvoyée tant qu'elle est un objet :class:`str` ou :class:`bytes`. " "Dans tous les autres cas, une :exc:`TypeError` est levée." -#: library/os.rst:279 +#: library/os.rst:284 msgid "" "An :term:`abstract base class` for objects representing a file system path, " "e.g. :class:`pathlib.PurePath`." @@ -539,12 +546,12 @@ msgstr "" "représentant un chemin du système de fichiers, comme :class:`pathlib." "PurePath`." -#: library/os.rst:286 +#: library/os.rst:291 msgid "Return the file system path representation of the object." msgstr "" "Renvoie une représentation de l'objet utilisable par le système de fichiers." -#: library/os.rst:288 +#: library/os.rst:293 msgid "" "The method should only return a :class:`str` or :class:`bytes` object, with " "the preference being for :class:`str`." @@ -552,7 +559,7 @@ msgstr "" "La méthode ne devrait renvoyer que des objets :class:`str` ou :class:" "`bytes`, avec une préférence pour les :class:`str`." -#: library/os.rst:294 +#: library/os.rst:299 msgid "" "Return the value of the environment variable *key* as a string if it exists, " "or *default* if it doesn't. *key* is a string. Note that since :func:" @@ -561,7 +568,7 @@ msgid "" "changes." msgstr "" -#: library/os.rst:300 +#: library/os.rst:305 msgid "" "On Unix, keys and values are decoded with :func:`sys.getfilesystemencoding` " "and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would " @@ -571,12 +578,12 @@ msgstr "" "getfilesystemencoding` et le gestionnaire d'erreurs ``surrogateescape``. " "Utilisez :func:`os.getenvb` si vous voulez utiliser un encodage différent." -#: library/os.rst:304 +#: library/os.rst:309 msgid ":ref:`Availability `: most flavors of Unix, Windows." msgstr "" ":ref:`Disponibilité ` : la plupart des dérivés d'Unix, Windows." -#: library/os.rst:309 +#: library/os.rst:314 msgid "" "Return the value of the environment variable *key* as bytes if it exists, or " "*default* if it doesn't. *key* must be bytes. Note that since :func:" @@ -585,7 +592,7 @@ msgid "" "environment changes." msgstr "" -#: library/os.rst:316 +#: library/os.rst:321 msgid "" ":func:`getenvb` is only available if :data:`supports_bytes_environ` is " "``True``." @@ -593,11 +600,11 @@ msgstr "" ":func:`getenvb` n'est disponible que si :data:`supports_bytes_environ` vaut " "``True``." -#: library/os.rst:320 +#: library/os.rst:325 msgid ":ref:`Availability `: most flavors of Unix." msgstr ":ref:`Disponibilité ` : la plupart des dérivés Unix." -#: library/os.rst:326 +#: library/os.rst:331 msgid "" "Returns the list of directories that will be searched for a named " "executable, similar to a shell, when launching a process. *env*, when " @@ -610,7 +617,7 @@ msgstr "" "rechercher le PATH. Par défaut quand *env* est ``None``, :data:`environ` est " "utilisé." -#: library/os.rst:337 +#: library/os.rst:342 msgid "" "Return the effective group id of the current process. This corresponds to " "the \"set id\" bit on the file being executed in the current process." @@ -618,15 +625,15 @@ msgstr "" "Renvoie l'identifiant du groupe effectif du processus actuel. Ça correspond " "au bit \"*set id*\" du fichier qui s'exécute dans le processus actuel." -#: library/os.rst:347 +#: library/os.rst:352 msgid "Return the current process's effective user id." msgstr "Renvoie l'identifiant de l'utilisateur effectif du processus actuel." -#: library/os.rst:356 +#: library/os.rst:361 msgid "Return the real group id of the current process." msgstr "Renvoie l'identifiant de groupe réel du processus actuel." -#: library/os.rst:363 +#: library/os.rst:368 msgid "" "Return list of group ids that *user* belongs to. If *group* is not in the " "list, it is included; typically, *group* is specified as the group ID field " @@ -636,14 +643,14 @@ msgstr "" "*group* n'est pas dans la liste, il y est inclus. Typiquement, *group* vaut " "le *group ID* de l'enregistrement *passwd* de *user*." -#: library/os.rst:374 +#: library/os.rst:379 msgid "" "Return list of supplemental group ids associated with the current process." msgstr "" "Renvoie une liste d'identifiants de groupes additionnels associés au " "processus actuel." -#: library/os.rst:380 +#: library/os.rst:385 #, fuzzy msgid "" "On macOS, :func:`getgroups` behavior differs somewhat from other Unix " @@ -675,7 +682,7 @@ msgstr "" "valeur de la cible de déploiement, :const:`MACOSX_DEPLOYMENT_TARGET`, peut " "être obtenue par la fonction :func:`sysconfig.get_config_var`." -#: library/os.rst:397 +#: library/os.rst:402 msgid "" "Return the name of the user logged in on the controlling terminal of the " "process. For most purposes, it is more useful to use :func:`getpass." @@ -690,13 +697,13 @@ msgstr "" "l'utilisateur, et se replie finalement sur ``pwd.getpwduid(os.getuid())[0]`` " "pour avoir le nom lié à l'identifiant de l'utilisateur courant." -#: library/os.rst:439 library/os.rst:952 library/os.rst:1576 -#: library/os.rst:2238 library/os.rst:3060 library/os.rst:4144 -#: library/os.rst:4249 library/os.rst:4273 +#: library/os.rst:444 library/os.rst:957 library/os.rst:1581 +#: library/os.rst:2243 library/os.rst:3067 library/os.rst:4151 +#: library/os.rst:4256 library/os.rst:4280 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilité ` : Unix, Windows." -#: library/os.rst:409 +#: library/os.rst:414 msgid "" "Return the process group id of the process with process id *pid*. If *pid* " "is 0, the process group id of the current process is returned." @@ -705,15 +712,15 @@ msgstr "" "*pid* vaut 0, l'identifiant de groupe de processus du processus actuel est " "renvoyé." -#: library/os.rst:418 +#: library/os.rst:423 msgid "Return the id of the current process group." msgstr "Renvoie l'identifiant du groupe de processus actuel." -#: library/os.rst:427 +#: library/os.rst:432 msgid "Return the current process id." msgstr "Renvoie l'identifiant du processus actuel." -#: library/os.rst:434 +#: library/os.rst:439 msgid "" "Return the parent's process id. When the parent process has exited, on Unix " "the id returned is the one of the init process (1), on Windows it is still " @@ -724,11 +731,11 @@ msgstr "" "Windows, c'est toujours le même id, qui peut déjà avoir été réutilisé par un " "autre processus." -#: library/os.rst:440 +#: library/os.rst:445 msgid "Added support for Windows." msgstr "Prise en charge sur Windows." -#: library/os.rst:448 +#: library/os.rst:453 msgid "" "Get program scheduling priority. The value *which* is one of :const:" "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " @@ -747,13 +754,13 @@ msgstr "" "processus appelant, le groupe de processus du processus appelant, ou " "l'identifiant d'utilisateur réel du processus appelant." -#: library/os.rst:465 +#: library/os.rst:470 msgid "" "Parameters for the :func:`getpriority` and :func:`setpriority` functions." msgstr "" "Paramètres pour les fonctions :func:`getpriority` et :func:`setpriority`." -#: library/os.rst:474 +#: library/os.rst:479 msgid "" "Return a tuple (ruid, euid, suid) denoting the current process's real, " "effective, and saved user ids." @@ -761,7 +768,7 @@ msgstr "" "Renvoie un triplet (*ruid*, *euid*, *suid*) dénotant les identifiants de " "l'utilisateur réel, effectif et sauvé du processus actuel." -#: library/os.rst:484 +#: library/os.rst:489 msgid "" "Return a tuple (rgid, egid, sgid) denoting the current process's real, " "effective, and saved group ids." @@ -769,11 +776,11 @@ msgstr "" "Renvoie un triplet (*rgid*, *egid*, *sgid*) dénotant les identifiants des " "groupes de processus réel effectif, et sauvé du processus actuel." -#: library/os.rst:496 +#: library/os.rst:501 msgid "Return the current process's real user id." msgstr "Renvoie l'identifiant réel du processus actuel." -#: library/os.rst:503 +#: library/os.rst:508 msgid "" "Call the system initgroups() to initialize the group access list with all of " "the groups of which the specified username is a member, plus the specified " @@ -783,7 +790,7 @@ msgstr "" "groupes d'accès des groupes dont *username* est membre, plus le groupe " "spécifié par *gid*." -#: library/os.rst:516 +#: library/os.rst:521 msgid "" "Set the environment variable named *key* to the string *value*. Such " "changes to the environment affect subprocesses started with :func:`os." @@ -793,7 +800,7 @@ msgstr "" "De tels changements à l'environnement affectent les sous-processus lancés " "par :func:`os.system`, :func:`popen` ou :func:`fork` et :func:`execv`." -#: library/os.rst:520 +#: library/os.rst:525 #, fuzzy msgid "" "Assignments to items in :data:`os.environ` are automatically translated into " @@ -808,7 +815,7 @@ msgstr "" "à :func:`putenv` ne mettent pas ``os.environ`` à jour. Il est donc " "préférable d'assigner les éléments de ``os.environ``." -#: library/os.rst:528 +#: library/os.rst:533 msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " "cause memory leaks. Refer to the system documentation for :c:func:`putenv`." @@ -817,7 +824,7 @@ msgstr "" "assignations sur ``environ`` peut causer des fuites de mémoire. Referez-vous " "à la documentation système de :c:func:`putenv`." -#: library/os.rst:531 +#: library/os.rst:536 msgid "" "Raises an :ref:`auditing event ` ``os.putenv`` with arguments " "``key``, ``value``." @@ -825,25 +832,25 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.putenv`` avec les arguments " "``key``, ``value``." -#: library/os.rst:533 +#: library/os.rst:538 #, fuzzy msgid "The function is now always available." msgstr "Cette fonction est maintenant toujours disponible." -#: library/os.rst:539 +#: library/os.rst:544 msgid "Set the current process's effective group id." msgstr "" "Définit l'identifiant du groupe de processus effectif du processus actuel." -#: library/os.rst:546 +#: library/os.rst:551 msgid "Set the current process's effective user id." msgstr "Définit l'identifiant de l'utilisateur effectif du processus actuel." -#: library/os.rst:553 +#: library/os.rst:558 msgid "Set the current process' group id." msgstr "Définit l'identifiant du groupe de processus actuel." -#: library/os.rst:560 +#: library/os.rst:565 msgid "" "Set the list of supplemental group ids associated with the current process " "to *groups*. *groups* must be a sequence, and each element must be an " @@ -855,7 +862,7 @@ msgstr "" "nombre entier identifiant un groupe. Cette opération est typiquement " "disponible uniquement pour le super utilisateur." -#: library/os.rst:566 +#: library/os.rst:571 #, fuzzy msgid "" "On macOS, the length of *groups* may not exceed the system-defined maximum " @@ -869,7 +876,7 @@ msgstr "" "renvoie pas la même liste de groupes que celle définie par l'appel à " "*setgroups*." -#: library/os.rst:573 +#: library/os.rst:578 msgid "" "Call the system call :c:func:`setpgrp` or ``setpgrp(0, 0)`` depending on " "which version is implemented (if any). See the Unix manual for the " @@ -879,7 +886,7 @@ msgstr "" "version implémentée (s'il y en a une). Voir le manuel Unix pour la " "sémantique de l'opération." -#: library/os.rst:581 +#: library/os.rst:586 msgid "" "Call the system call :c:func:`setpgid` to set the process group id of the " "process with id *pid* to the process group with id *pgrp*. See the Unix " @@ -890,7 +897,7 @@ msgstr "" "groupe de processus d'identifiant *pgrp*. Voir le manuel Unix pour la " "sémantique." -#: library/os.rst:592 +#: library/os.rst:597 msgid "" "Set program scheduling priority. The value *which* is one of :const:" "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " @@ -913,29 +920,29 @@ msgstr "" "entre ``-20`` et ``19``. La priorité par défaut est 0 ; les priorités plus " "faibles amènent à un ordonnancement plus favorable." -#: library/os.rst:609 +#: library/os.rst:614 msgid "Set the current process's real and effective group ids." msgstr "" "Définit l'identifiant des groupes réel et effectif du processus actuel." -#: library/os.rst:616 +#: library/os.rst:621 msgid "Set the current process's real, effective, and saved group ids." msgstr "" "Définit l'identifiant des groupes réel, effectif et sauvé du processus " "actuel." -#: library/os.rst:625 +#: library/os.rst:630 msgid "Set the current process's real, effective, and saved user ids." msgstr "" "Définit l'identifiant des utilisateurs réel, effectif et sauvé du processus " "actuel." -#: library/os.rst:634 +#: library/os.rst:639 msgid "Set the current process's real and effective user ids." msgstr "" "Définit l'identifiant des utilisateurs réel et effectif du processus actuel." -#: library/os.rst:641 +#: library/os.rst:646 msgid "" "Call the system call :c:func:`getsid`. See the Unix manual for the " "semantics." @@ -943,7 +950,7 @@ msgstr "" "Produit l'appel système :c:func:`getsid`. Voir le manuel Unix pour la " "sémantique." -#: library/os.rst:648 +#: library/os.rst:653 msgid "" "Call the system call :c:func:`setsid`. See the Unix manual for the " "semantics." @@ -951,11 +958,11 @@ msgstr "" "Produit l'appel système :c:func:`setsid`. Voir le manuel Unix pour la " "sémantique." -#: library/os.rst:657 +#: library/os.rst:662 msgid "Set the current process's user id." msgstr "Définit l'identifiant de l'utilisateur du processus actuel." -#: library/os.rst:665 +#: library/os.rst:670 msgid "" "Return the error message corresponding to the error code in *code*. On " "platforms where :c:func:`strerror` returns ``NULL`` when given an unknown " @@ -965,7 +972,7 @@ msgstr "" "plate-formes où :c:func:`strerror` renvoie ``NULL`` quand un numéro d'erreur " "inconnu est donné, une :exc:`ValueError` est levée." -#: library/os.rst:672 +#: library/os.rst:677 msgid "" "``True`` if the native OS type of the environment is bytes (eg. ``False`` on " "Windows)." @@ -973,11 +980,11 @@ msgstr "" "``True`` si le type natif de l'environnement du système d'exploitation est " "*bytes* (par exemple : ``False`` sur Windows)." -#: library/os.rst:680 +#: library/os.rst:685 msgid "Set the current numeric umask and return the previous umask." msgstr "Définit le *umask* actuel et renvoie la valeur précédente." -#: library/os.rst:689 +#: library/os.rst:694 msgid "" "Returns information identifying the current operating system. The return " "value is an object with five attributes:" @@ -985,29 +992,29 @@ msgstr "" "Renvoie des informations identifiant le système d'exploitation actuel. La " "valeur de retour est un objet à cinq attributs :" -#: library/os.rst:692 +#: library/os.rst:697 msgid ":attr:`sysname` - operating system name" msgstr ":attr:`sysname` — nom du système d'exploitation" -#: library/os.rst:693 +#: library/os.rst:698 msgid ":attr:`nodename` - name of machine on network (implementation-defined)" msgstr "" ":attr:`nodename` — nom de la machine sur le réseau (dépendant de " "l'implémentation)" -#: library/os.rst:694 +#: library/os.rst:699 msgid ":attr:`release` - operating system release" msgstr ":attr:`release` — *release* du système d'exploitation" -#: library/os.rst:695 +#: library/os.rst:700 msgid ":attr:`version` - operating system version" msgstr ":attr:`version` — version du système d'exploitation" -#: library/os.rst:696 +#: library/os.rst:701 msgid ":attr:`machine` - hardware identifier" msgstr ":attr:`machine` — identifiant du matériel" -#: library/os.rst:698 +#: library/os.rst:703 msgid "" "For backwards compatibility, this object is also iterable, behaving like a " "five-tuple containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :" @@ -1017,7 +1024,7 @@ msgstr "" "comme un quintuplet contenant :attr:`sysname`, :attr:`nodename`, :attr:" "`release`, :attr:`version`, et :attr:`machine` dans cet ordre." -#: library/os.rst:703 +#: library/os.rst:708 msgid "" "Some systems truncate :attr:`nodename` to 8 characters or to the leading " "component; a better way to get the hostname is :func:`socket.gethostname` " @@ -1028,11 +1035,11 @@ msgstr "" "func:`socket.gethostname` ou encore ``socket.gethostbyaddr(socket." "gethostname())``." -#: library/os.rst:709 +#: library/os.rst:714 msgid ":ref:`Availability `: recent flavors of Unix." msgstr ":ref:`Disponibilité ` : dérivés récents de Unix." -#: library/os.rst:4274 +#: library/os.rst:4281 msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." @@ -1040,7 +1047,7 @@ msgstr "" "Type de retour changé d'un quintuplet en un objet compatible avec le type " "*n*-uplet, avec des attributs nommés." -#: library/os.rst:719 +#: library/os.rst:724 msgid "" "Unset (delete) the environment variable named *key*. Such changes to the " "environment affect subprocesses started with :func:`os.system`, :func:" @@ -1050,7 +1057,7 @@ msgstr "" "l'environnement affectent les sous-processus lancés avec :func:`os.system`, :" "func:`popen` ou :func:`fork` et :func:`execv`." -#: library/os.rst:723 +#: library/os.rst:728 #, fuzzy msgid "" "Deletion of items in :data:`os.environ` is automatically translated into a " @@ -1063,7 +1070,7 @@ msgstr "" "func:`unsetenv` ne mettent pas ``os.environ`` à jour. Donc il est préférable " "de supprimer les éléments de ``os.environ``." -#: library/os.rst:728 +#: library/os.rst:733 msgid "" "Raises an :ref:`auditing event ` ``os.unsetenv`` with argument " "``key``." @@ -1071,18 +1078,18 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.unsetenv`` avec l’argument " "``key``." -#: library/os.rst:730 +#: library/os.rst:735 #, fuzzy msgid "The function is now always available and is also available on Windows." msgstr "" "Cette fonction est maintenant toujours disponible et est également " "disponible sur Windows." -#: library/os.rst:737 +#: library/os.rst:742 msgid "File Object Creation" msgstr "Création de fichiers objets" -#: library/os.rst:739 +#: library/os.rst:744 #, fuzzy msgid "" "These functions create new :term:`file objects `. (See also :" @@ -1091,7 +1098,7 @@ msgstr "" "Cette fonction crée de nouveaux :term:`fichiers objets `. (Voir " "aussi :func:`~os.open` pour ouvrir des descripteurs de fichiers.)" -#: library/os.rst:745 +#: library/os.rst:750 msgid "" "Return an open file object connected to the file descriptor *fd*. This is " "an alias of the :func:`open` built-in function and accepts the same " @@ -1103,18 +1110,18 @@ msgstr "" "La seule différence est que le premier argument de :func:`fdopen` doit " "toujours être un entier." -#: library/os.rst:754 +#: library/os.rst:759 msgid "File Descriptor Operations" msgstr "Opérations sur les descripteurs de fichiers" -#: library/os.rst:756 +#: library/os.rst:761 msgid "" "These functions operate on I/O streams referenced using file descriptors." msgstr "" "Ces fonctions opèrent sur des flux d'entrées/sorties référencés par des " "descripteurs de fichiers." -#: library/os.rst:758 +#: library/os.rst:763 msgid "" "File descriptors are small integers corresponding to a file that has been " "opened by the current process. For example, standard input is usually file " @@ -1132,7 +1139,7 @@ msgstr "" "connecteurs (*socket* en anglais) et les tubes (*pipe* en anglais) sont " "également référencés par des descripteurs." -#: library/os.rst:765 +#: library/os.rst:770 msgid "" "The :meth:`~io.IOBase.fileno` method can be used to obtain the file " "descriptor associated with a :term:`file object` when required. Note that " @@ -1145,11 +1152,11 @@ msgstr "" "fichier objet, ignorant donc des aspects tels que la mise en tampon interne " "des données." -#: library/os.rst:773 +#: library/os.rst:778 msgid "Close file descriptor *fd*." msgstr "Ferme le descripteur de fichier *fd*." -#: library/os.rst:777 +#: library/os.rst:782 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To close a " @@ -1162,7 +1169,7 @@ msgstr "" "la primitive :func:`open`, :func:`popen` ou :func:`fdopen`, il faut utiliser " "sa méthode :meth:`~io.IOBase.close`." -#: library/os.rst:785 +#: library/os.rst:790 msgid "" "Close all file descriptors from *fd_low* (inclusive) to *fd_high* " "(exclusive), ignoring errors. Equivalent to (but much faster than)::" @@ -1171,7 +1178,7 @@ msgstr "" "*fd_high* (exclus), en ignorant les erreurs. Équivalent (mais beaucoup plus " "rapide) à ::" -#: library/os.rst:797 +#: library/os.rst:802 msgid "" "Copy *count* bytes from file descriptor *src*, starting from offset " "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " @@ -1188,7 +1195,7 @@ msgstr "" "une :exc:`OSError` est levée avec :attr:`~OSError.errno` défini à :data:" "`errno.EXDEV`." -#: library/os.rst:1452 +#: library/os.rst:1457 msgid "" "This copy is done without the additional cost of transferring data from the " "kernel to user space and then back into the kernel. Additionally, some " @@ -1201,7 +1208,7 @@ msgstr "" "optimisations supplémentaires. Cette copie est faite comme si les deux " "fichiers étaient ouverts en mode binaire." -#: library/os.rst:809 +#: library/os.rst:814 msgid "" "The return value is the amount of bytes copied. This could be less than the " "amount requested." @@ -1209,13 +1216,13 @@ msgstr "" "La valeur de retour est le nombre d'octets copiés. Cela peut être moins que " "le nombre demandé." -#: library/os.rst:813 +#: library/os.rst:818 msgid "" ":ref:`Availability `: Linux kernel >= 4.5 or glibc >= 2.27." msgstr "" ":ref:`Disponibilité `: noyaux Linux >= 4.5 ou glibc >= 2.27." -#: library/os.rst:819 +#: library/os.rst:824 msgid "" "Return a string describing the encoding of the device associated with *fd* " "if it is connected to a terminal; else return :const:`None`." @@ -1223,17 +1230,17 @@ msgstr "" "Renvoie une chaîne de caractères décrivant l'encodage du périphérique " "associé à *fd* s'il est connecté à un terminal, sinon renvoie :const:`None`." -#: library/os.rst:822 +#: library/os.rst:827 msgid "" "On Unix, if the :ref:`Python UTF-8 Mode ` is enabled, return " "``'UTF-8'`` rather than the device encoding." msgstr "" -#: library/os.rst:825 +#: library/os.rst:830 msgid "On Unix, the function now implements the Python UTF-8 Mode." msgstr "" -#: library/os.rst:831 +#: library/os.rst:836 msgid "" "Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:" "`non-inheritable `." @@ -1241,7 +1248,7 @@ msgstr "" "Renvoie une copie du descripteur de fichier *fd*. Le nouveau descripteur de " "fichier est :ref:`non-héritable `." -#: library/os.rst:834 +#: library/os.rst:839 msgid "" "On Windows, when duplicating a standard stream (0: stdin, 1: stdout, 2: " "stderr), the new file descriptor is :ref:`inheritable `." @@ -1250,11 +1257,11 @@ msgstr "" "2 : *stderr*), le nouveau descripteur de fichier est :ref:`héritable " "`." -#: library/os.rst:1040 +#: library/os.rst:1045 msgid "The new file descriptor is now non-inheritable." msgstr "Le nouveau descripteur de fichier est maintenant non-héritable." -#: library/os.rst:844 +#: library/os.rst:849 msgid "" "Duplicate file descriptor *fd* to *fd2*, closing the latter first if " "necessary. Return *fd2*. The new file descriptor is :ref:`inheritable " @@ -1266,16 +1273,16 @@ msgstr "" "ref:`héritable ` par défaut, ou non-héritable si " "*inheritable* vaut ``False``." -#: library/os.rst:849 +#: library/os.rst:854 msgid "Add the optional *inheritable* parameter." msgstr "Ajout du paramètre optionnel *inheritable*." -#: library/os.rst:852 +#: library/os.rst:857 msgid "Return *fd2* on success. Previously, ``None`` was always returned." msgstr "" "Renvoie *fd2* en cas de succès. Auparavant, ``None`` était toujours renvoyé." -#: library/os.rst:858 +#: library/os.rst:863 msgid "" "Change the mode of the file given by *fd* to the numeric *mode*. See the " "docs for :func:`chmod` for possible values of *mode*. As of Python 3.3, " @@ -1285,7 +1292,7 @@ msgstr "" "la documentation de :func:`chmod` pour les valeurs possibles de *mode*. " "Depuis Python 3.3, c'est équivalent à ``os.chmod(fd, mode)``." -#: library/os.rst:1842 library/os.rst:1933 +#: library/os.rst:1847 library/os.rst:1938 msgid "" "Raises an :ref:`auditing event ` ``os.chmod`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -1293,7 +1300,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.chmod`` avec les arguments " "``path``, ``mode``, ``dir_fd``." -#: library/os.rst:869 +#: library/os.rst:874 msgid "" "Change the owner and group id of the file given by *fd* to the numeric *uid* " "and *gid*. To leave one of the ids unchanged, set it to -1. See :func:" @@ -1304,7 +1311,7 @@ msgstr "" "inchangés, mettez-le à ``-1``. Voir :func:`chown`. Depuis Python 3.3, c'est " "équivalent à ``os.chown(fd, uid, gid)``." -#: library/os.rst:1864 library/os.rst:1946 +#: library/os.rst:1869 library/os.rst:1951 msgid "" "Raises an :ref:`auditing event ` ``os.chown`` with arguments " "``path``, ``uid``, ``gid``, ``dir_fd``." @@ -1312,7 +1319,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.chown`` avec les arguments " "``path``, ``uid``, ``gid``, ``dir_fd``." -#: library/os.rst:881 +#: library/os.rst:886 msgid "" "Force write of file with filedescriptor *fd* to disk. Does not force update " "of metadata." @@ -1320,11 +1327,11 @@ msgstr "" "Force l'écriture du fichier ayant le descripteur *fd* sur le disque. Ne " "force pas la mise à jour des méta-données." -#: library/os.rst:887 +#: library/os.rst:892 msgid "This function is not available on MacOS." msgstr "Cette fonction n'est pas disponible sur MacOS." -#: library/os.rst:892 +#: library/os.rst:897 msgid "" "Return system configuration information relevant to an open file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -1344,7 +1351,7 @@ msgstr "" "sont pas inclues dans ce *mapping*, passer un entier pour *name* est " "également accepté." -#: library/os.rst:2195 +#: library/os.rst:2200 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " @@ -1356,11 +1363,11 @@ msgstr "" "par le système hôte, même si elle est incluse dans ``pathconf_names``, une :" "exc:`OSError` est levée avec :const:`errno.EINVAL` pour code d'erreur." -#: library/os.rst:905 +#: library/os.rst:910 msgid "As of Python 3.3, this is equivalent to ``os.pathconf(fd, name)``." msgstr "Depuis Python 3.3, c'est équivalent à ``os.pathconf(fd, name)``." -#: library/os.rst:912 +#: library/os.rst:917 msgid "" "Get the status of the file descriptor *fd*. Return a :class:`stat_result` " "object." @@ -1368,15 +1375,15 @@ msgstr "" "Récupère le statut du descripteur de fichier *fd*. Renvoie un objet :class:" "`stat_result`." -#: library/os.rst:915 +#: library/os.rst:920 msgid "As of Python 3.3, this is equivalent to ``os.stat(fd)``." msgstr "Depuis Python 3.3, c'est équivalent à ``os.stat(fd)``." -#: library/os.rst:2030 +#: library/os.rst:2035 msgid "The :func:`.stat` function." msgstr "La fonction :func:`.stat`." -#: library/os.rst:924 +#: library/os.rst:929 msgid "" "Return information about the filesystem containing the file associated with " "file descriptor *fd*, like :func:`statvfs`. As of Python 3.3, this is " @@ -1386,7 +1393,7 @@ msgstr "" "associé au descripteur *fd*, comme :func:`statvfs`. Depuis Python 3.3, c'est " "équivalent à ``os.statvfs(fd)``." -#: library/os.rst:933 +#: library/os.rst:938 msgid "" "Force write of file with filedescriptor *fd* to disk. On Unix, this calls " "the native :c:func:`fsync` function; on Windows, the MS :c:func:`_commit` " @@ -1396,7 +1403,7 @@ msgstr "" "Unix, cet appel appel la fonction native :c:func:`fsync`, sur Windows, la " "fonction MS :c:func:`_commit`." -#: library/os.rst:936 +#: library/os.rst:941 msgid "" "If you're starting with a buffered Python :term:`file object` *f*, first do " "``f.flush()``, and then do ``os.fsync(f.fileno())``, to ensure that all " @@ -1407,7 +1414,7 @@ msgstr "" "fileno())`` pour être sûr que tous les tampons internes associés à *f* " "soient écrits sur le disque." -#: library/os.rst:945 +#: library/os.rst:950 msgid "" "Truncate the file corresponding to file descriptor *fd*, so that it is at " "most *length* bytes in size. As of Python 3.3, this is equivalent to ``os." @@ -1417,7 +1424,7 @@ msgstr "" "long de *length* *bytes*. Depuis Python 3.3, c'est équivalent à ``os." "truncate(fd, length)``." -#: library/os.rst:949 +#: library/os.rst:954 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``fd``, ``length``." @@ -1425,11 +1432,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.truncate`` avec les " "arguments ``fd``, ``length``." -#: library/os.rst:3063 +#: library/os.rst:3070 msgid "Added support for Windows" msgstr "Prise en charge de Windows" -#: library/os.rst:959 +#: library/os.rst:964 msgid "" "Get the blocking mode of the file descriptor: ``False`` if the :data:" "`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." @@ -1438,12 +1445,12 @@ msgstr "" "l'indicateur :data:`O_NONBLOCK` est mis, et ``True`` si l'indicateur est " "effacé." -#: library/os.rst:962 +#: library/os.rst:967 msgid "See also :func:`set_blocking` and :meth:`socket.socket.setblocking`." msgstr "" "Voir également :func:`set_blocking` et :meth:`socket.socket.setblocking`." -#: library/os.rst:971 +#: library/os.rst:976 msgid "" "Return ``True`` if the file descriptor *fd* is open and connected to a tty(-" "like) device, else ``False``." @@ -1451,7 +1458,7 @@ msgstr "" "Renvoie ``True`` si le descripteur de fichier *fd* est ouvert et connecté à " "un périphérique TTY (ou compatible), sinon ``False``." -#: library/os.rst:977 +#: library/os.rst:982 msgid "" "Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an " "open file descriptor. *cmd* specifies the command to use - one of :data:" @@ -1464,7 +1471,7 @@ msgstr "" "`F_TLOCK`, :data:`F_ULOCK`, ou :data:`F_TEST`). *len* spécifie la section du " "fichier à verrouiller." -#: library/os.rst:983 +#: library/os.rst:988 msgid "" "Raises an :ref:`auditing event ` ``os.lockf`` with arguments " "``fd``, ``cmd``, ``len``." @@ -1472,11 +1479,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.lockf`` avec les arguments " "``fd``, ``cmd``, ``len``." -#: library/os.rst:995 +#: library/os.rst:1000 msgid "Flags that specify what action :func:`lockf` will take." msgstr "Indicateurs spécifiant quelle action :func:`lockf` va prendre." -#: library/os.rst:1004 +#: library/os.rst:1009 msgid "" "Set the current position of file descriptor *fd* to position *pos*, modified " "by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the " @@ -1492,7 +1499,7 @@ msgstr "" "la placer par rapport à la fin du fichier. Renvoie la nouvelle position du " "curseur en bytes, à partir du début." -#: library/os.rst:1015 +#: library/os.rst:1020 msgid "" "Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, " "respectively." @@ -1500,7 +1507,7 @@ msgstr "" "Paramètres de la fonction :func:`lseek`. Leur valeur est respectivement 0, " "1, et 2." -#: library/os.rst:1018 +#: library/os.rst:1023 msgid "" "Some operating systems could support additional values, like :data:`os." "SEEK_HOLE` or :data:`os.SEEK_DATA`." @@ -1508,7 +1515,7 @@ msgstr "" "Certains systèmes d'exploitation pourraient gérer des valeurs additionnelles " "telles que :data:`os.SEEK_HOLE` ou :data:`os.SEEK_DATA`." -#: library/os.rst:1025 +#: library/os.rst:1030 msgid "" "Open the file *path* and set various flags according to *flags* and possibly " "its mode according to *mode*. When computing *mode*, the current umask " @@ -1521,7 +1528,7 @@ msgstr "" "fichier nouvellement ouvert. Le nouveau descripteur de fichier est :ref:`non-" "héritable `." -#: library/os.rst:1030 +#: library/os.rst:1035 msgid "" "For a description of the flag and mode values, see the C run-time " "documentation; flag constants (like :const:`O_RDONLY` and :const:`O_WRONLY`) " @@ -1534,7 +1541,7 @@ msgstr "" "module :mod:`os`. En particulier, sur Windows, ajouter :const:`O_BINARY` est " "nécessaire pour ouvrir des fichiers en binaire." -#: library/os.rst:1035 +#: library/os.rst:1040 msgid "" "This function can support :ref:`paths relative to directory descriptors " "` with the *dir_fd* parameter." @@ -1542,7 +1549,7 @@ msgstr "" "Cette fonction prend en charge des :ref:`chemins relatifs à des descripteurs " "de répertoires ` avec le paramètre *dir_fd*." -#: library/os.rst:1038 +#: library/os.rst:1043 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -1550,7 +1557,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``open`` avec les arguments " "``path``, ``mode``, ``flags``." -#: library/os.rst:1045 +#: library/os.rst:1050 msgid "" "This function is intended for low-level I/O. For normal usage, use the " "built-in function :func:`open`, which returns a :term:`file object` with :" @@ -1563,11 +1570,11 @@ msgstr "" "Pour envelopper un descripteur de fichier dans un fichier objet, utilisez :" "func:`fdopen`." -#: library/os.rst:2071 library/os.rst:2161 library/os.rst:2273 +#: library/os.rst:2076 library/os.rst:2166 library/os.rst:2278 msgid "The *dir_fd* argument." msgstr "L'argument *dir_fd*." -#: library/os.rst:1372 library/os.rst:4395 +#: library/os.rst:1377 library/os.rst:4402 msgid "" "If the system call is interrupted and the signal handler does not raise an " "exception, the function now retries the system call instead of raising an :" @@ -1577,15 +1584,15 @@ msgstr "" "aucune exception, la fonction réessaye l'appel système au lieu de lever une :" "exc:`InterruptedError` (voir la :pep:`475` à propos du raisonnement)." -#: library/os.rst:1739 library/os.rst:1802 library/os.rst:1882 -#: library/os.rst:1937 library/os.rst:2009 library/os.rst:2074 -#: library/os.rst:2142 library/os.rst:2205 library/os.rst:2295 -#: library/os.rst:2654 library/os.rst:3066 library/os.rst:3122 -#: library/os.rst:3282 library/os.rst:3644 library/os.rst:4132 +#: library/os.rst:1744 library/os.rst:1807 library/os.rst:1887 +#: library/os.rst:1942 library/os.rst:2014 library/os.rst:2079 +#: library/os.rst:2147 library/os.rst:2210 library/os.rst:2300 +#: library/os.rst:2661 library/os.rst:3073 library/os.rst:3129 +#: library/os.rst:3289 library/os.rst:3651 library/os.rst:4139 msgid "Accepts a :term:`path-like object`." msgstr "Accepte un :term:`path-like object`." -#: library/os.rst:1061 +#: library/os.rst:1066 msgid "" "The following constants are options for the *flags* parameter to the :func:" "`~os.open` function. They can be combined using the bitwise OR operator ``|" @@ -1601,34 +1608,34 @@ msgstr "" "consultez la page de manuel Unix :manpage:`open(2)` ou la `MSDN `_ sur Windows." -#: library/os.rst:1076 +#: library/os.rst:1081 msgid "The above constants are available on Unix and Windows." msgstr "Les constantes ci-dessus sont disponibles sur Unix et Windows." -#: library/os.rst:1087 +#: library/os.rst:1092 msgid "The above constants are only available on Unix." msgstr "Les constantes ci-dessus sont uniquement disponibles sur Unix." -#: library/os.rst:1089 +#: library/os.rst:1094 msgid "Add :data:`O_CLOEXEC` constant." msgstr "Ajout de la constante :data:`O_CLOCEXEC`." -#: library/os.rst:1100 +#: library/os.rst:1105 msgid "The above constants are only available on Windows." msgstr "Les constantes ci-dessus sont uniquement disponibles sur Windows." -#: library/os.rst:1107 +#: library/os.rst:1112 #, fuzzy msgid "The above constants are only available on macOS." msgstr "Les constantes ci-dessus sont uniquement disponibles sur Unix." -#: library/os.rst:1109 +#: library/os.rst:1114 msgid "" "Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` and :data:" "`O_NOFOLLOW_ANY` constants." msgstr "" -#: library/os.rst:1123 +#: library/os.rst:1128 msgid "" "The above constants are extensions and not present if they are not defined " "by the C library." @@ -1636,7 +1643,7 @@ msgstr "" "Les constantes ci-dessus sont des extensions et ne sont pas présentes si " "elles ne sont pas définies par la bibliothèque C." -#: library/os.rst:1126 +#: library/os.rst:1131 msgid "" "Add :data:`O_PATH` on systems that support it. Add :data:`O_TMPFILE`, only " "available on Linux Kernel 3.11 or newer." @@ -1644,7 +1651,7 @@ msgstr "" "Ajout de :data:`O_PATH` sur les systèmes qui le gèrent. Ajout de :data:" "`O_TMPFILE`, uniquement disponible sur Linux Kernel 3.11 ou plus récent." -#: library/os.rst:1136 +#: library/os.rst:1141 msgid "" "Open a new pseudo-terminal pair. Return a pair of file descriptors " "``(master, slave)`` for the pty and the tty, respectively. The new file " @@ -1657,15 +1664,15 @@ msgstr "" "`. Pour une approche (légèrement) plus portable, utilisez le " "module :mod:`pty`." -#: library/os.rst:1168 library/os.rst:3829 +#: library/os.rst:1173 library/os.rst:3836 msgid ":ref:`Availability `: some flavors of Unix." msgstr ":ref:`Disponibilité ` : certains dérivés Unix." -#: library/os.rst:1155 +#: library/os.rst:1160 msgid "The new file descriptors are now non-inheritable." msgstr "Les nouveaux descripteurs de fichiers sont maintenant non-héritables." -#: library/os.rst:1149 +#: library/os.rst:1154 msgid "" "Create a pipe. Return a pair of file descriptors ``(r, w)`` usable for " "reading and writing, respectively. The new file descriptor is :ref:`non-" @@ -1675,7 +1682,7 @@ msgstr "" "``(r, w)`` utilisables respectivement pour lire et pour écrire. Les nouveaux " "descripteurs de fichiers sont :ref:`non-héritables `." -#: library/os.rst:1161 +#: library/os.rst:1166 msgid "" "Create a pipe with *flags* set atomically. *flags* can be constructed by " "ORing together one or more of these values: :data:`O_NONBLOCK`, :data:" @@ -1687,7 +1694,7 @@ msgstr "" "`O_NONBLOCK`, :data:`O_CLOEXEC`. Renvoie une paire de descripteurs de " "fichiers ``(r, w)`` utilisables respectivement pour lire et pour écrire." -#: library/os.rst:1174 +#: library/os.rst:1179 msgid "" "Ensures that enough disk space is allocated for the file specified by *fd* " "starting from *offset* and continuing for *len* bytes." @@ -1695,7 +1702,7 @@ msgstr "" "Assure que suffisamment d'espace sur le disque est alloué pour le fichier " "spécifié par *fd* partant de *offset* et continuant sur *len* bytes." -#: library/os.rst:1184 +#: library/os.rst:1189 msgid "" "Announces an intention to access data in a specific pattern thus allowing " "the kernel to make optimizations. The advice applies to the region of the " @@ -1713,7 +1720,7 @@ msgstr "" "`POSIX_FADV_RANDOM`, :data:`POSIX_FADV_NOREUSE`, :data:" "`POSIX_FADV_WILLNEED`, ou :data:`POSIX_FADV_DONTNEED`." -#: library/os.rst:1204 +#: library/os.rst:1209 msgid "" "Flags that can be used in *advice* in :func:`posix_fadvise` that specify the " "access pattern that is likely to be used." @@ -1722,7 +1729,7 @@ msgstr "" "`posix_fadvise` et qui spécifient le motif d'accès qui est censé être " "utilisé." -#: library/os.rst:1214 +#: library/os.rst:1219 msgid "" "Read at most *n* bytes from file descriptor *fd* at a position of *offset*, " "leaving the file offset unchanged." @@ -1730,7 +1737,7 @@ msgstr "" "Lit au maximum *n* octets depuis le descripteur de fichier *fd* à la " "position *offset* sans modifier cette position." -#: library/os.rst:1361 +#: library/os.rst:1366 msgid "" "Return a bytestring containing the bytes read. If the end of the file " "referred to by *fd* has been reached, an empty bytes object is returned." @@ -1738,7 +1745,7 @@ msgstr "" "Renvoie une chaîne d'octets contenant les octets lus, ou une chaîne d'octets " "vide si la fin du fichier pointé par *fd* est atteinte." -#: library/os.rst:1227 +#: library/os.rst:1232 msgid "" "Read from a file descriptor *fd* at a position of *offset* into mutable :" "term:`bytes-like objects ` *buffers*, leaving the file " @@ -1750,7 +1757,7 @@ msgstr "" "modifier la position dans le fichier. Les données sont transférées dans " "chaque tampon, jusqu'à ce qu'il soit plein, tour à tour." -#: library/os.rst:1302 +#: library/os.rst:1307 msgid "" "The flags argument contains a bitwise OR of zero or more of the following " "flags:" @@ -1758,15 +1765,15 @@ msgstr "" "L'argument *flags* contient un OU logique bit-à-bit de zéro ou plusieurs des " "indicateurs suivants :" -#: library/os.rst:1235 +#: library/os.rst:1240 msgid ":data:`RWF_HIPRI`" msgstr ":data:`RWF_HIPRI`" -#: library/os.rst:1236 +#: library/os.rst:1241 msgid ":data:`RWF_NOWAIT`" msgstr ":data:`RWF_NOWAIT`" -#: library/os.rst:1481 +#: library/os.rst:1486 msgid "" "Return the total number of bytes actually read which can be less than the " "total capacity of all the objects." @@ -1774,7 +1781,7 @@ msgstr "" "Renvoie le nombre total d'octets réellement lus, qui peut être inférieur à " "la capacité totale de tous les objets." -#: library/os.rst:1311 library/os.rst:1546 +#: library/os.rst:1316 library/os.rst:1551 msgid "" "The operating system may set a limit (:func:`sysconf` value " "``'SC_IOV_MAX'``) on the number of buffers that can be used." @@ -1782,11 +1789,11 @@ msgstr "" "Le système d'exploitation peut définir une limite (valeur :func:`sysconf` " "``'SC_IOV_MAX'``) sur le nombre de mémoires tampons pouvant être utilisées." -#: library/os.rst:1244 +#: library/os.rst:1249 msgid "Combine the functionality of :func:`os.readv` and :func:`os.pread`." msgstr "Combine les fonctionnalités de :func:`os.readv` et :func:`os.pread`." -#: library/os.rst:1249 +#: library/os.rst:1254 #, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " @@ -1797,7 +1804,7 @@ msgstr "" "6.0 et plus récent, OpenBSD 2.7 et plus récent, AIX 7.1 et plus récent. " "L'utilisation de *flags* requiert Linux 4.6 ou plus récent." -#: library/os.rst:1255 +#: library/os.rst:1260 msgid "" "Do not wait for data which is not immediately available. If this flag is " "specified, the system call will return instantly if it would have to read " @@ -1807,7 +1814,7 @@ msgstr "" "Si cette option est spécifiée, l'appel système retourne instantanément s'il " "doit lire les données du stockage sous-jacent ou attendre un verrou." -#: library/os.rst:1259 +#: library/os.rst:1264 msgid "" "If some data was successfully read, it will return the number of bytes read. " "If no bytes were read, it will return ``-1`` and set errno to :data:`errno." @@ -1817,11 +1824,11 @@ msgstr "" "renvoyé. Si aucun octet n'a été lu, renvoie ``-1`` et affecte à *errno* la " "valeur :data:`errno.EAGAIN`." -#: library/os.rst:1264 +#: library/os.rst:1269 msgid ":ref:`Availability `: Linux 4.14 and newer." msgstr ":ref:`Disponibilité ` : Linux 4.14 et ultérieures." -#: library/os.rst:1270 +#: library/os.rst:1275 msgid "" "High priority read/write. Allows block-based filesystems to use polling of " "the device, which provides lower latency, but may use additional resources." @@ -1830,7 +1837,7 @@ msgstr "" "bloc d'utiliser le *polling* du périphérique, qui fournit une latence " "inférieure, mais peut utiliser des ressources supplémentaires." -#: library/os.rst:1274 +#: library/os.rst:1279 msgid "" "Currently, on Linux, this feature is usable only on a file descriptor opened " "using the :data:`O_DIRECT` flag." @@ -1838,11 +1845,11 @@ msgstr "" "Actuellement, sous Linux, cette fonctionnalité est utilisable uniquement sur " "un descripteur de fichier ouvert à l'aide de l'option :data:`O_DIRECT`." -#: library/os.rst:1278 +#: library/os.rst:1283 msgid ":ref:`Availability `: Linux 4.6 and newer." msgstr ":ref:`Disponibilité ` : Linux 4.6 et ultérieures." -#: library/os.rst:1284 +#: library/os.rst:1289 msgid "" "Write the bytestring in *str* to file descriptor *fd* at position of " "*offset*, leaving the file offset unchanged." @@ -1850,11 +1857,11 @@ msgstr "" "Écrit la chaîne d'octets de *str* dans le descripteur de fichier *fd* à la " "position *offset* en laissant la position dans le fichier inchangée." -#: library/os.rst:1521 +#: library/os.rst:1526 msgid "Return the number of bytes actually written." msgstr "Renvoie le nombre d'octets effectivement écrits." -#: library/os.rst:1296 +#: library/os.rst:1301 msgid "" "Write the *buffers* contents to file descriptor *fd* at a offset *offset*, " "leaving the file offset unchanged. *buffers* must be a sequence of :term:" @@ -1868,29 +1875,29 @@ msgstr "" "object>`. Les tampons sont traités dans l'ordre du tableau. Le contenu " "entier du premier tampon est écrit avant le traitement du second, etc." -#: library/os.rst:1305 +#: library/os.rst:1310 msgid ":data:`RWF_DSYNC`" msgstr ":data:`RWF_DSYNC`" -#: library/os.rst:1306 +#: library/os.rst:1311 msgid ":data:`RWF_SYNC`" msgstr ":data:`RWF_SYNC`" -#: library/os.rst:1307 +#: library/os.rst:1312 #, fuzzy msgid ":data:`RWF_APPEND`" msgstr ":data:`stat.UF_APPEND`" -#: library/os.rst:1309 +#: library/os.rst:1314 msgid "Return the total number of bytes actually written." msgstr "Renvoie le nombre total d'octets effectivement écrits." -#: library/os.rst:1314 +#: library/os.rst:1319 msgid "Combine the functionality of :func:`os.writev` and :func:`os.pwrite`." msgstr "" "Combine les fonctionnalités de :func:`os. writev` et :func:`os. pwrite`." -#: library/os.rst:1319 +#: library/os.rst:1324 #, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 and newer, FreeBSD 6.0 and " @@ -1901,7 +1908,7 @@ msgstr "" "6.0 et plus récent, OpenBSD 2.7 et plus récent, AIX 7.1 et plus récent. " "L'utilisation de *flags* requiert Linux 4.7 ou plus récent." -#: library/os.rst:1325 +#: library/os.rst:1330 #, fuzzy msgid "" "Provide a per-write equivalent of the :data:`O_DSYNC` :func:`os.open` flag. " @@ -1911,11 +1918,11 @@ msgstr "" "``open(2)``. L' effet de cette option s'applique uniquement à la plage de " "données écrite par l'appel système." -#: library/os.rst:1339 +#: library/os.rst:1344 msgid ":ref:`Availability `: Linux 4.7 and newer." msgstr ":ref:`Disponibilité ` : Linux 4.7 et ultérieures." -#: library/os.rst:1335 +#: library/os.rst:1340 #, fuzzy msgid "" "Provide a per-write equivalent of the :data:`O_SYNC` :func:`os.open` flag. " @@ -1925,7 +1932,7 @@ msgstr "" "``open(2)``. L'effet de cette option s'applique uniquement à la plage de " "données écrite par l'appel système." -#: library/os.rst:1345 +#: library/os.rst:1350 msgid "" "Provide a per-write equivalent of the :data:`O_APPEND` :func:`os.open` flag. " "This flag is meaningful only for :func:`os.pwritev`, and its effect applies " @@ -1935,16 +1942,16 @@ msgid "" "*offset* is updated." msgstr "" -#: library/os.rst:1353 +#: library/os.rst:1358 #, fuzzy msgid ":ref:`Availability `: Linux 4.16 and newer." msgstr ":ref:`Disponibilité ` : Linux 4.6 et ultérieures." -#: library/os.rst:1359 +#: library/os.rst:1364 msgid "Read at most *n* bytes from file descriptor *fd*." msgstr "Lit au maximum *n* octets du descripteur de fichier *fd*." -#: library/os.rst:1366 +#: library/os.rst:1371 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To read a \"file " @@ -1958,7 +1965,7 @@ msgstr "" "func:`popen` ou :func:`fdopen`, ou par :data:`stdin`, utilisez sa méthode :" "meth:`~file.read` ou :meth:`~file.readline`." -#: library/os.rst:1381 +#: library/os.rst:1386 #, fuzzy msgid "" "Copy *count* bytes from file descriptor *in_fd* to file descriptor *out_fd* " @@ -1969,7 +1976,7 @@ msgstr "" "descripteur de fichier *out_fd* en démarrant à *offset*. Renvoie le nombre " "d'octets envoyés. Quand *EOF* est atteint, renvoie ``0``." -#: library/os.rst:1385 +#: library/os.rst:1390 msgid "" "The first function notation is supported by all platforms that define :func:" "`sendfile`." @@ -1977,7 +1984,7 @@ msgstr "" "La première notation de fonction est prise en charge par toutes les plate-" "formes qui définissent :func:`sendfile`." -#: library/os.rst:1388 +#: library/os.rst:1393 #, fuzzy msgid "" "On Linux, if *offset* is given as ``None``, the bytes are read from the " @@ -1986,7 +1993,7 @@ msgstr "" "Sur Linux, si *offset* est ``None``, les octets sont lus depuis la position " "actuelle de *in_fd* et la position de *in_fd* est mise à jour." -#: library/os.rst:1391 +#: library/os.rst:1396 #, fuzzy msgid "" "The second case may be used on macOS and FreeBSD where *headers* and " @@ -1999,7 +2006,7 @@ msgstr "" "et après que les données de *in_fd* ne soient écrites. Renvoie la même chose " "que le premier cas." -#: library/os.rst:1395 +#: library/os.rst:1400 #, fuzzy msgid "" "On macOS and FreeBSD, a value of ``0`` for *count* specifies to send until " @@ -2008,7 +2015,7 @@ msgstr "" "Sur Mac OS X et FreeBSD, une valeur de ``0`` pour *count* spécifie d'envoyer " "le contenu de *in_fd* jusqu'à la fin." -#: library/os.rst:1398 +#: library/os.rst:1403 #, fuzzy msgid "" "All platforms support sockets as *out_fd* file descriptor, and some " @@ -2018,7 +2025,7 @@ msgstr "" "fichier *out_fd*, et certaines plate-formes autorisent d'autres types (par " "exemple, un fichier normal ou un tube) également." -#: library/os.rst:1401 +#: library/os.rst:1406 msgid "" "Cross-platform applications should not use *headers*, *trailers* and *flags* " "arguments." @@ -2026,7 +2033,7 @@ msgstr "" "Les applications multiplateformes ne devraient pas utiliser les arguments " "*headers*, *trailers*, et *flags*." -#: library/os.rst:1408 +#: library/os.rst:1413 msgid "" "For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket." "sendfile`." @@ -2034,11 +2041,11 @@ msgstr "" "Pour une interface de plus haut niveau de :func:`sendfile`, voir :meth:" "`socket.socket.setfile`." -#: library/os.rst:1413 +#: library/os.rst:1418 msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*." msgstr "Les paramètres *out* et *in* ont été renommés *out_fd* et *in_fd*." -#: library/os.rst:1419 +#: library/os.rst:1424 msgid "" "Set the blocking mode of the specified file descriptor. Set the :data:" "`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise." @@ -2047,18 +2054,18 @@ msgstr "" "l'indicateur :data:`O_NONBLOCK` si *blocking* vaut ``False``, efface " "l'indicateur sinon." -#: library/os.rst:1422 +#: library/os.rst:1427 msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`." msgstr "Voir aussi :func:`get_blocking` et :meth:`socket;socket.setblocking`." -#: library/os.rst:1433 +#: library/os.rst:1438 msgid "" "Parameters to the :func:`sendfile` function, if the implementation supports " "them." msgstr "" "Paramètres de la fonction :func:`sendfile`, si l'implémentation les gère." -#: library/os.rst:1443 +#: library/os.rst:1448 msgid "" "Transfer *count* bytes from file descriptor *src*, starting from offset " "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " @@ -2070,7 +2077,7 @@ msgid "" "`~OSError.errno` set to :data:`errno.EXDEV`." msgstr "" -#: library/os.rst:1457 +#: library/os.rst:1462 msgid "" "Upon successful completion, returns the number of bytes spliced to or from " "the pipe. A return value of 0 means end of input. If *src* refers to a pipe, " @@ -2079,14 +2086,14 @@ msgid "" "the pipe." msgstr "" -#: library/os.rst:1464 +#: library/os.rst:1469 #, fuzzy msgid "" ":ref:`Availability `: Linux kernel >= 2.6.17 and glibc >= 2.5" msgstr "" ":ref:`Disponibilité `: noyaux Linux >= 4.5 ou glibc >= 2.27." -#: library/os.rst:1476 +#: library/os.rst:1481 msgid "" "Read from a file descriptor *fd* into a number of mutable :term:`bytes-like " "objects ` *buffers*. Transfer data into each buffer until " @@ -2097,7 +2104,7 @@ msgstr "" "bytes-compatibles ` muables : *buffers*. Les données sont " "transférées dans chaque tampon, jusqu'à ce qu'il soit plein, tour à tour." -#: library/os.rst:1494 +#: library/os.rst:1499 msgid "" "Return the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`)." @@ -2105,7 +2112,7 @@ msgstr "" "Renvoie le groupe de processus associé au terminal donné par *fd* (un " "descripteur de fichier ouvert comme renvoyé par :func:`os.open`)." -#: library/os.rst:1502 +#: library/os.rst:1507 msgid "" "Set the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`) to *pg*." @@ -2113,7 +2120,7 @@ msgstr "" "Place *pg* dans le groupe de processus associé au terminal donné par *fd* " "(un descripteur de fichier ouvert comme renvoyé par :func:`os.open`)." -#: library/os.rst:1510 +#: library/os.rst:1515 msgid "" "Return a string which specifies the terminal device associated with file " "descriptor *fd*. If *fd* is not associated with a terminal device, an " @@ -2123,11 +2130,11 @@ msgstr "" "au descripteur de fichier *fd*. Si *fd* n'est pas associé à un périphérique " "terminal, une exception est levée." -#: library/os.rst:1519 +#: library/os.rst:1524 msgid "Write the bytestring in *str* to file descriptor *fd*." msgstr "Écrit la chaîne d'octets de *str* vers le descripteur de fichier *fd*." -#: library/os.rst:1525 +#: library/os.rst:1530 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To write a " @@ -2141,7 +2148,7 @@ msgstr "" "func:`open`, :func:`popen`, ou par :func:`fdopen`, ou par :data:`sys.stdout` " "ou :data:`sys.stderr`, utilisez sa méthode :meth:`~file.write`." -#: library/os.rst:1539 +#: library/os.rst:1544 msgid "" "Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a " "sequence of :term:`bytes-like objects `. Buffers are " @@ -2153,15 +2160,15 @@ msgstr "" "object>`. Les tampons sont traités dans l'ordre du tableau. Le contenu " "entier du premier tampon est écrit avant le traitement du second, etc." -#: library/os.rst:1544 +#: library/os.rst:1549 msgid "Returns the total number of bytes actually written." msgstr "Renvoie le nombre total d'octets effectivement écrits." -#: library/os.rst:1557 +#: library/os.rst:1562 msgid "Querying the size of a terminal" msgstr "Demander la taille d'un terminal" -#: library/os.rst:1563 +#: library/os.rst:1568 msgid "" "Return the size of the terminal window as ``(columns, lines)``, tuple of " "type :class:`terminal_size`." @@ -2169,7 +2176,7 @@ msgstr "" "Renvoie la taille du terminal comme un couple ``(columns, lines)`` de type :" "class:`terminal_size`." -#: library/os.rst:1566 +#: library/os.rst:1571 msgid "" "The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) " "specifies which file descriptor should be queried." @@ -2178,7 +2185,7 @@ msgstr "" "standard) spécifie le descripteur de fichier auquel la requête doit être " "envoyée." -#: library/os.rst:1569 +#: library/os.rst:1574 msgid "" "If the file descriptor is not connected to a terminal, an :exc:`OSError` is " "raised." @@ -2186,7 +2193,7 @@ msgstr "" "Si le descripteur de fichier n'est pas connecté à un terminal, une :exc:" "`OSError` est levée." -#: library/os.rst:1572 +#: library/os.rst:1577 msgid "" ":func:`shutil.get_terminal_size` is the high-level function which should " "normally be used, ``os.get_terminal_size`` is the low-level implementation." @@ -2195,7 +2202,7 @@ msgstr "" "normalement être utilisée, ``os.get_terminal_size`` en est l'implémentation " "bas-niveau." -#: library/os.rst:1580 +#: library/os.rst:1585 msgid "" "A subclass of tuple, holding ``(columns, lines)`` of the terminal window " "size." @@ -2203,19 +2210,19 @@ msgstr "" "Une sous-classe de *tuple*, contenant ``(columns, lines)``, la taille du " "terminal." -#: library/os.rst:1584 +#: library/os.rst:1589 msgid "Width of the terminal window in characters." msgstr "Longueur du terminal en caractères." -#: library/os.rst:1588 +#: library/os.rst:1593 msgid "Height of the terminal window in characters." msgstr "Hauteur du terminal en caractères." -#: library/os.rst:1594 +#: library/os.rst:1599 msgid "Inheritance of File Descriptors" msgstr "Héritage de descripteurs de fichiers" -#: library/os.rst:1598 +#: library/os.rst:1603 msgid "" "A file descriptor has an \"inheritable\" flag which indicates if the file " "descriptor can be inherited by child processes. Since Python 3.4, file " @@ -2225,7 +2232,7 @@ msgstr "" "par les processus-fils. Depuis Python 3.4, les descripteurs de fichiers " "créés par Python ne sont pas héritable par défaut." -#: library/os.rst:1602 +#: library/os.rst:1607 msgid "" "On UNIX, non-inheritable file descriptors are closed in child processes at " "the execution of a new program, other file descriptors are inherited." @@ -2233,7 +2240,7 @@ msgstr "" "Sur UNIX, les descripteurs de fichiers non-héritables sont fermés dans les " "processus-fils à l'exécution, les autres descripteurs sont hérités." -#: library/os.rst:1605 +#: library/os.rst:1610 msgid "" "On Windows, non-inheritable handles and file descriptors are closed in child " "processes, except for standard streams (file descriptors 0, 1 and 2: stdin, " @@ -2252,35 +2259,35 @@ msgstr "" "standards) sont fermés, et les identificateurs héritables sont hérités " "seulement si le paramètre *close_fds* vaut ``False``." -#: library/os.rst:1615 +#: library/os.rst:1620 msgid "" "Get the \"inheritable\" flag of the specified file descriptor (a boolean)." msgstr "" "Récupère le marqueur « héritable » (booléen) du descripteur de fichier " "spécifié." -#: library/os.rst:1619 +#: library/os.rst:1624 msgid "Set the \"inheritable\" flag of the specified file descriptor." msgstr "Définit le marqueur « héritable » du descripteur de fichier spécifié." -#: library/os.rst:1623 +#: library/os.rst:1628 msgid "Get the \"inheritable\" flag of the specified handle (a boolean)." msgstr "" "Récupère le marqueur « héritable » (booléen) de l'identificateur spécifié." -#: library/os.rst:1631 library/os.rst:4167 library/os.rst:4213 +#: library/os.rst:1636 library/os.rst:4174 library/os.rst:4220 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/os.rst:1629 +#: library/os.rst:1634 msgid "Set the \"inheritable\" flag of the specified handle." msgstr "Définit le marqueur « héritable » de l'identificateur spécifié." -#: library/os.rst:1637 +#: library/os.rst:1642 msgid "Files and Directories" msgstr "Fichiers et répertoires" -#: library/os.rst:1639 +#: library/os.rst:1644 msgid "" "On some Unix platforms, many of these functions support one or more of these " "features:" @@ -2288,7 +2295,7 @@ msgstr "" "Sur certaines plate-formes Unix, beaucoup de ces fonctions gèrent une ou " "plusieurs des fonctionnalités suivantes :" -#: library/os.rst:1644 +#: library/os.rst:1649 #, fuzzy msgid "" "**specifying a file descriptor:** Normally the *path* argument provided to " @@ -2307,7 +2314,7 @@ msgstr "" "POSIX, Python appelle la version ``f`` de la fonction ­— par exemple, " "``fchdir`` au lieu de ``chdir``)." -#: library/os.rst:1652 +#: library/os.rst:1657 #, fuzzy msgid "" "You can check whether or not *path* can be specified as a file descriptor " @@ -2320,7 +2327,7 @@ msgstr "" "data:`os.supports_fd`. Si c'est indisponible, l'utiliser lèvera une :exc:" "`NotImplementedError`." -#: library/os.rst:1657 +#: library/os.rst:1662 #, fuzzy msgid "" "If the function also supports *dir_fd* or *follow_symlinks* arguments, it's " @@ -2330,7 +2337,7 @@ msgstr "" "spécifier l'un de ces arguments est une erreur quand *path* est donné en " "tant que descripteur de fichier." -#: library/os.rst:1662 +#: library/os.rst:1667 #, fuzzy msgid "" "**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it " @@ -2349,7 +2356,7 @@ msgstr "" "``at`` et potentiellement préfixée avec ``f`` ­— par exemple ``faccessat`` au " "lieu de ``access``)." -#: library/os.rst:1669 +#: library/os.rst:1674 #, fuzzy msgid "" "You can check whether or not *dir_fd* is supported for a particular function " @@ -2360,7 +2367,7 @@ msgstr "" "plate-forme en utilisant :data:`os.supports_dir_fd`. Si c'est indisponible, " "l'utiliser lève une :exc:`NotImplementedError`." -#: library/os.rst:1675 +#: library/os.rst:1680 #, fuzzy msgid "" "**not following symlinks:** If *follow_symlinks* is ``False``, and the last " @@ -2375,7 +2382,7 @@ msgstr "" "pointé par le lien. (Pour les systèmes POSIX, Python appellera la version " "``l...`` de la fonction.)" -#: library/os.rst:1681 +#: library/os.rst:1686 #, fuzzy msgid "" "You can check whether or not *follow_symlinks* is supported for a particular " @@ -2386,7 +2393,7 @@ msgstr "" "utilisant :data:`os.supports_follow_symlinks`. Si c'est indisponible, " "l'utiliser lèvera une :exc:`NotImplementedError`." -#: library/os.rst:1689 +#: library/os.rst:1694 msgid "" "Use the real uid/gid to test for access to *path*. Note that most " "operations will use the effective uid/gid, therefore this routine can be " @@ -2408,7 +2415,7 @@ msgstr "" "pas. Voir la page de manuel Unix :manpage:`access(2)` pour plus " "d'informations." -#: library/os.rst:1698 +#: library/os.rst:1703 msgid "" "This function can support specifying :ref:`paths relative to directory " "descriptors ` and :ref:`not following symlinks `." @@ -2417,7 +2424,7 @@ msgstr "" "des descripteurs de fichiers ` et :ref:`le suivi des liens " "symboliques `." -#: library/os.rst:1701 +#: library/os.rst:1706 msgid "" "If *effective_ids* is ``True``, :func:`access` will perform its access " "checks using the effective uid/gid instead of the real uid/gid. " @@ -2432,7 +2439,7 @@ msgstr "" "supports_effective_ids`. S'il est indisponible, l'utiliser lèvera une :exc:" "`NotImplementedError`." -#: library/os.rst:1709 +#: library/os.rst:1714 msgid "" "Using :func:`access` to check if a user is authorized to e.g. open a file " "before actually doing so using :func:`open` creates a security hole, because " @@ -2447,11 +2454,11 @@ msgstr "" "pour le manipuler. Il est préférable d'utiliser les techniques :term:`EAFP`. " "Par exemple ::" -#: library/os.rst:1720 +#: library/os.rst:1725 msgid "is better written as::" msgstr "est mieux écrit comme suit ::" -#: library/os.rst:1732 +#: library/os.rst:1737 msgid "" "I/O operations may fail even when :func:`access` indicates that they would " "succeed, particularly for operations on network filesystems which may have " @@ -2462,11 +2469,11 @@ msgstr "" "les systèmes de fichiers réseaux qui peuvent avoir une sémantique de " "permissions au-delà du modèle de bits de permission usuel POSIX." -#: library/os.rst:1736 +#: library/os.rst:1741 msgid "Added the *dir_fd*, *effective_ids*, and *follow_symlinks* parameters." msgstr "Paramètres *dir_fd*, *effective_ids*, et *follow_symlinks* ajoutés." -#: library/os.rst:1748 +#: library/os.rst:1753 msgid "" "Values to pass as the *mode* parameter of :func:`access` to test the " "existence, readability, writability and executability of *path*, " @@ -2475,11 +2482,11 @@ msgstr "" "Valeurs à passer au paramètre *mode* de :func:`access` pour tester " "respectivement l'existence, les droits de lecture, d'écriture et d'exécution." -#: library/os.rst:1757 +#: library/os.rst:1762 msgid "Change the current working directory to *path*." msgstr "Change le répertoire de travail actuel par *path*." -#: library/os.rst:1759 +#: library/os.rst:1764 msgid "" "This function can support :ref:`specifying a file descriptor `. " "The descriptor must refer to an opened directory, not an open file." @@ -2488,7 +2495,7 @@ msgstr "" "fichier `. Le descripteur doit référencer un répertoire ouvert, pas " "un fichier ouvert." -#: library/os.rst:1762 +#: library/os.rst:1767 msgid "" "This function can raise :exc:`OSError` and subclasses such as :exc:" "`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`." @@ -2496,7 +2503,7 @@ msgstr "" "Cette fonction peut lever :exc:`OSError` et des sous-classes telles que :exc:" "`FileNotFoundError`, :exc:`PermissionError` et :exc:`NotADirectoryError`." -#: library/os.rst:1892 +#: library/os.rst:1897 msgid "" "Raises an :ref:`auditing event ` ``os.chdir`` with argument " "``path``." @@ -2504,14 +2511,14 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.chdir`` avec l'argument " "``path``." -#: library/os.rst:1767 +#: library/os.rst:1772 msgid "" "Added support for specifying *path* as a file descriptor on some platforms." msgstr "" "Prise en charge de la spécification de *path* par un descripteur de fichier " "sur certaines plate-formes." -#: library/os.rst:1777 +#: library/os.rst:1782 msgid "" "Set the flags of *path* to the numeric *flags*. *flags* may take a " "combination (bitwise OR) of the following values (as defined in the :mod:" @@ -2521,62 +2528,62 @@ msgstr "" "peut prendre une combinaison (OU bit-à-bit) des valeurs suivantes (comme " "défini dans le module :mod:`stat`) :" -#: library/os.rst:1780 +#: library/os.rst:1785 msgid ":data:`stat.UF_NODUMP`" msgstr ":data:`stat.UF_NODUMP`" -#: library/os.rst:1781 +#: library/os.rst:1786 msgid ":data:`stat.UF_IMMUTABLE`" msgstr ":data:`stat.UF_IMMUTABLE`" -#: library/os.rst:1782 +#: library/os.rst:1787 msgid ":data:`stat.UF_APPEND`" msgstr ":data:`stat.UF_APPEND`" -#: library/os.rst:1783 +#: library/os.rst:1788 msgid ":data:`stat.UF_OPAQUE`" msgstr ":data:`stat.UF_OPAQUE`" -#: library/os.rst:1784 +#: library/os.rst:1789 msgid ":data:`stat.UF_NOUNLINK`" msgstr ":data:`stat.UF_NOUNLINK`" -#: library/os.rst:1785 +#: library/os.rst:1790 msgid ":data:`stat.UF_COMPRESSED`" msgstr ":data:`stat.UF_COMPRESSED`" -#: library/os.rst:1786 +#: library/os.rst:1791 msgid ":data:`stat.UF_HIDDEN`" msgstr ":data:`stat.UF_HIDDEN`" -#: library/os.rst:1787 +#: library/os.rst:1792 msgid ":data:`stat.SF_ARCHIVED`" msgstr ":data:`stat.SF_ARCHIVED`" -#: library/os.rst:1788 +#: library/os.rst:1793 msgid ":data:`stat.SF_IMMUTABLE`" msgstr ":data:`stat.SF_IMMUTABLE`" -#: library/os.rst:1789 +#: library/os.rst:1794 msgid ":data:`stat.SF_APPEND`" msgstr ":data:`stat.SF_APPEND`" -#: library/os.rst:1790 +#: library/os.rst:1795 msgid ":data:`stat.SF_NOUNLINK`" msgstr ":data:`stat.SF_NOUNLINK`" -#: library/os.rst:1791 +#: library/os.rst:1796 msgid ":data:`stat.SF_SNAPSHOT`" msgstr ":data:`stat.SF_SNAPSHOT`" -#: library/os.rst:1793 +#: library/os.rst:1798 msgid "" "This function can support :ref:`not following symlinks `." msgstr "" "Cette fonction prend en charge :ref:`le suivi des liens symboliques " "`." -#: library/os.rst:1918 +#: library/os.rst:1923 msgid "" "Raises an :ref:`auditing event ` ``os.chflags`` with arguments " "``path``, ``flags``." @@ -2584,11 +2591,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.chflags`` avec les " "arguments ``path``, ``flags``." -#: library/os.rst:1799 +#: library/os.rst:1804 msgid "The *follow_symlinks* argument." msgstr "L'argument *follow_symlinks*." -#: library/os.rst:1808 +#: library/os.rst:1813 msgid "" "Change the mode of *path* to the numeric *mode*. *mode* may take one of the " "following values (as defined in the :mod:`stat` module) or bitwise ORed " @@ -2598,83 +2605,83 @@ msgstr "" "une des valeurs suivantes (comme défini dans le module :mod:`stat`) ou une " "combinaison (OU bit-à-bit) de ces valeurs :" -#: library/os.rst:1812 +#: library/os.rst:1817 msgid ":data:`stat.S_ISUID`" msgstr ":data:`stat.S_ISUID`" -#: library/os.rst:1813 +#: library/os.rst:1818 msgid ":data:`stat.S_ISGID`" msgstr ":data:`stat.S_ISGID`" -#: library/os.rst:1814 +#: library/os.rst:1819 msgid ":data:`stat.S_ENFMT`" msgstr ":data:`stat.S_ENFMT`" -#: library/os.rst:1815 +#: library/os.rst:1820 msgid ":data:`stat.S_ISVTX`" msgstr ":data:`stat.S_ISVTX`" -#: library/os.rst:1816 +#: library/os.rst:1821 msgid ":data:`stat.S_IREAD`" msgstr ":data:`stat.S_IREAD`" -#: library/os.rst:1817 +#: library/os.rst:1822 msgid ":data:`stat.S_IWRITE`" msgstr ":data:`stat.S_IWRITE`" -#: library/os.rst:1818 +#: library/os.rst:1823 msgid ":data:`stat.S_IEXEC`" msgstr ":data:`stat.S_IEXEC`" -#: library/os.rst:1819 +#: library/os.rst:1824 msgid ":data:`stat.S_IRWXU`" msgstr ":data:`stat.S_IRWXU`" -#: library/os.rst:1820 +#: library/os.rst:1825 msgid ":data:`stat.S_IRUSR`" msgstr ":data:`stat.S_IRUSR`" -#: library/os.rst:1821 +#: library/os.rst:1826 msgid ":data:`stat.S_IWUSR`" msgstr ":data:`stat.S_IWUSR`" -#: library/os.rst:1822 +#: library/os.rst:1827 msgid ":data:`stat.S_IXUSR`" msgstr ":data:`stat.S_IXUSR`" -#: library/os.rst:1823 +#: library/os.rst:1828 msgid ":data:`stat.S_IRWXG`" msgstr ":data:`stat.S_IRWXG`" -#: library/os.rst:1824 +#: library/os.rst:1829 msgid ":data:`stat.S_IRGRP`" msgstr ":data:`stat.S_IRGRP`" -#: library/os.rst:1825 +#: library/os.rst:1830 msgid ":data:`stat.S_IWGRP`" msgstr ":data:`stat.S_IWGRP`" -#: library/os.rst:1826 +#: library/os.rst:1831 msgid ":data:`stat.S_IXGRP`" msgstr ":data:`stat.S_IXGRP`" -#: library/os.rst:1827 +#: library/os.rst:1832 msgid ":data:`stat.S_IRWXO`" msgstr ":data:`stat.S_IRWXO`" -#: library/os.rst:1828 +#: library/os.rst:1833 msgid ":data:`stat.S_IROTH`" msgstr ":data:`stat.S_IROTH`" -#: library/os.rst:1829 +#: library/os.rst:1834 msgid ":data:`stat.S_IWOTH`" msgstr ":data:`stat.S_IWOTH`" -#: library/os.rst:1830 +#: library/os.rst:1835 msgid ":data:`stat.S_IXOTH`" msgstr ":data:`stat.S_IXOTH`" -#: library/os.rst:1857 library/os.rst:3112 +#: library/os.rst:1862 library/os.rst:3119 msgid "" "This function can support :ref:`specifying a file descriptor `, :" "ref:`paths relative to directory descriptors ` and :ref:`not " @@ -2685,7 +2692,7 @@ msgstr "" "répertoires `, et :ref:`le non-suivi des liens symboliques " "`." -#: library/os.rst:1838 +#: library/os.rst:1843 msgid "" "Although Windows supports :func:`chmod`, you can only set the file's read-" "only flag with it (via the ``stat.S_IWRITE`` and ``stat.S_IREAD`` constants " @@ -2696,7 +2703,7 @@ msgstr "" "et ``stat.S_IREAD`` ou une constante entière correspondante). Tous les " "autres bits sont ignorés." -#: library/os.rst:1868 +#: library/os.rst:1873 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd* and *follow_symlinks* arguments." @@ -2704,7 +2711,7 @@ msgstr "" "Prise en charge de la spécification de *path* par un répertoire ouvert et " "des arguments *dir_fd* et *follow_symlinks* ajoutés." -#: library/os.rst:1854 +#: library/os.rst:1859 msgid "" "Change the owner and group id of *path* to the numeric *uid* and *gid*. To " "leave one of the ids unchanged, set it to -1." @@ -2713,7 +2720,7 @@ msgstr "" "numériques *uid* et *gid*. Pour laisser l'un de ces identifiants inchangé, " "le définir à ``-1``." -#: library/os.rst:1861 +#: library/os.rst:1866 msgid "" "See :func:`shutil.chown` for a higher-level function that accepts names in " "addition to numeric ids." @@ -2721,15 +2728,15 @@ msgstr "" "Voir :func:`shutil.chown` pour une fonction de plus haut-niveau qui accepte " "des noms en plus des identifiants numériques." -#: library/os.rst:1872 +#: library/os.rst:1877 msgid "Supports a :term:`path-like object`." msgstr "Accepte un :term:`path-like object`." -#: library/os.rst:1878 +#: library/os.rst:1883 msgid "Change the root directory of the current process to *path*." msgstr "Change le répertoire racine du processus actuel par *path*." -#: library/os.rst:1888 +#: library/os.rst:1893 msgid "" "Change the current working directory to the directory represented by the " "file descriptor *fd*. The descriptor must refer to an opened directory, not " @@ -2740,18 +2747,18 @@ msgstr "" "ouvert, pas un fichier ouvert. Depuis Python 3.3, c'est équivalent à ``os." "chdir(fd)``." -#: library/os.rst:1899 +#: library/os.rst:1904 msgid "Return a string representing the current working directory." msgstr "" "Renvoie une chaîne de caractères représentant le répertoire de travail " "actuel." -#: library/os.rst:1904 +#: library/os.rst:1909 msgid "Return a bytestring representing the current working directory." msgstr "" "Renvoie une chaîne de *bytes* représentant le répertoire de travail actuel." -#: library/os.rst:1906 +#: library/os.rst:1911 msgid "" "The function now uses the UTF-8 encoding on Windows, rather than the ANSI " "code page: see :pep:`529` for the rationale. The function is no longer " @@ -2761,7 +2768,7 @@ msgstr "" "*page de code* ANSI : la :pep:`529` explique la raison. Cette fonction n'est " "plus obsolète sur Windows." -#: library/os.rst:1914 +#: library/os.rst:1919 msgid "" "Set the flags of *path* to the numeric *flags*, like :func:`chflags`, but do " "not follow symbolic links. As of Python 3.3, this is equivalent to ``os." @@ -2771,7 +2778,7 @@ msgstr "" "`chflags`, mais ne suit pas les liens symboliques. Depuis Python 3.3, c'est " "équivalent à ``os.chflags(path, flags, follow_symlinks=False)``." -#: library/os.rst:1928 +#: library/os.rst:1933 msgid "" "Change the mode of *path* to the numeric *mode*. If path is a symlink, this " "affects the symlink rather than the target. See the docs for :func:`chmod` " @@ -2784,7 +2791,7 @@ msgstr "" "Depuis Python 3.3, c'est équivalent à ``os.chmod(path, mode, " "follow_symlinks=False)``." -#: library/os.rst:1942 +#: library/os.rst:1947 msgid "" "Change the owner and group id of *path* to the numeric *uid* and *gid*. " "This function will not follow symbolic links. As of Python 3.3, this is " @@ -2794,11 +2801,11 @@ msgstr "" "*gid*. Cette fonction ne suivra pas les liens symboliques. Depuis Python " "3.3, c'est équivalent à ``os.chown(path, uid, gid, follow_symlinks=False)``." -#: library/os.rst:1956 +#: library/os.rst:1961 msgid "Create a hard link pointing to *src* named *dst*." msgstr "Crée un lien matériel appelé *dst* pointant sur *src*." -#: library/os.rst:1958 +#: library/os.rst:1963 msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " "supply :ref:`paths relative to directory descriptors `, and :ref:" @@ -2809,7 +2816,7 @@ msgstr "" "répertoires `, et :ref:`le non-suivi des liens symboliques " "`." -#: library/os.rst:1962 +#: library/os.rst:1967 msgid "" "Raises an :ref:`auditing event ` ``os.link`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." @@ -2817,19 +2824,19 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.link`` avec les arguments " "``src``, ``dst``, ``src_dir_ds``, ``dst_dir_fd``." -#: library/os.rst:1966 +#: library/os.rst:1971 msgid "Added Windows support." msgstr "Prise en charge de Windows." -#: library/os.rst:1969 +#: library/os.rst:1974 msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* arguments." msgstr "Arguments *src_dir_fd*, *dst_dir_fd*, et *follow_symlinks* ajoutés." -#: library/os.rst:2325 library/os.rst:3034 +#: library/os.rst:2332 library/os.rst:3041 msgid "Accepts a :term:`path-like object` for *src* and *dst*." msgstr "Accepte un :term:`path-like object` pour *src* et *dst*." -#: library/os.rst:1978 +#: library/os.rst:1983 #, fuzzy msgid "" "Return a list containing the names of the entries in the directory given by " @@ -2845,7 +2852,7 @@ msgstr "" "l'appel de cette fonction, le fait que le nom de ce fichier sera inclus ou " "non n'est pas spécifié." -#: library/os.rst:1984 +#: library/os.rst:1989 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the " @@ -2857,7 +2864,7 @@ msgstr "" "`PathLike`), les noms de fichiers renvoyés seront aussi de type ``bytes`` ; " "dans toutes les autres circonstances, ils seront de type ``str``." -#: library/os.rst:2410 +#: library/os.rst:2417 msgid "" "This function can also support :ref:`specifying a file descriptor " "`; the file descriptor must refer to a directory." @@ -2865,7 +2872,7 @@ msgstr "" "Cette fonction peut également gérer :ref:`la spécification de descripteurs " "de fichiers`. Le descripteur doit référencer un répertoire." -#: library/os.rst:1992 +#: library/os.rst:1997 msgid "" "Raises an :ref:`auditing event ` ``os.listdir`` with argument " "``path``." @@ -2873,13 +2880,13 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.listdir`` avec l'argument " "``path``." -#: library/os.rst:1995 +#: library/os.rst:2000 msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`." msgstr "" "Pour encoder des noms de fichiers de type ``str`` en ``bytes``, utilisez la " "fonction :func:`~os.encode`." -#: library/os.rst:1999 +#: library/os.rst:2004 msgid "" "The :func:`scandir` function returns directory entries along with file " "attribute information, giving better performance for many common use cases." @@ -2888,17 +2895,17 @@ msgstr "" "leurs attributs , offrant une meilleure performance pour beaucoup de cas " "utilisés fréquemment." -#: library/os.rst:2003 +#: library/os.rst:2008 msgid "The *path* parameter became optional." msgstr "Le paramètre *path* est devenu optionnel." -#: library/os.rst:2896 +#: library/os.rst:2903 msgid "Added support for specifying *path* as an open file descriptor." msgstr "" "Ajout de la possibilité de spécifier *path* comme descripteur de fichier " "ouvert." -#: library/os.rst:2015 +#: library/os.rst:2020 msgid "" "Perform the equivalent of an :c:func:`lstat` system call on the given path. " "Similar to :func:`~os.stat`, but does not follow symbolic links. Return a :" @@ -2908,7 +2915,7 @@ msgstr "" "donné. Similaire à :func:`~os.stat` mais ne suit pas les liens symboliques. " "Renvoie un objet de type :class:`stat_result`." -#: library/os.rst:2019 +#: library/os.rst:2024 msgid "" "On platforms that do not support symbolic links, this is an alias for :func:" "`~os.stat`." @@ -2916,7 +2923,7 @@ msgstr "" "Sur les plate-formes qui ne gérant pas les liens symboliques, c'est un alias " "pour :func:`~os.stat`." -#: library/os.rst:2022 +#: library/os.rst:2027 msgid "" "As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." @@ -2924,7 +2931,7 @@ msgstr "" "Depuis Python 3.3, c'est équivalent à ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." -#: library/os.rst:2063 library/os.rst:2156 library/os.rst:2230 +#: library/os.rst:2068 library/os.rst:2161 library/os.rst:2235 msgid "" "This function can also support :ref:`paths relative to directory descriptors " "`." @@ -2932,15 +2939,15 @@ msgstr "" "Cette fonction peut également gérer :ref:`des chemins relatifs à des " "descripteurs de répertoires `." -#: library/os.rst:2239 library/os.rst:3027 +#: library/os.rst:2244 library/os.rst:3034 msgid "Added support for Windows 6.0 (Vista) symbolic links." msgstr "Prise en charge des les liens symboliques sur Windows 6.0 (Vista)." -#: library/os.rst:2035 +#: library/os.rst:2040 msgid "Added the *dir_fd* parameter." msgstr "Paramètre *dir_fd* ajouté." -#: library/os.rst:2041 +#: library/os.rst:2046 msgid "" "On Windows, now opens reparse points that represent another path (name " "surrogates), including symbolic links and directory junctions. Other kinds " @@ -2948,12 +2955,12 @@ msgid "" "stat`." msgstr "" -#: library/os.rst:2050 +#: library/os.rst:2055 msgid "Create a directory named *path* with numeric mode *mode*." msgstr "" "Crée un répertoire appelé *path* avec pour mode, la valeur numérique *mode*." -#: library/os.rst:2052 +#: library/os.rst:2057 #, fuzzy msgid "" "If the directory already exists, :exc:`FileExistsError` is raised. If a " @@ -2964,7 +2971,7 @@ msgstr "" "`IsADirectoryError` est levée. Utilisez :func:`rmdir` pour supprimer les " "répertoires." -#: library/os.rst:2057 +#: library/os.rst:2062 msgid "" "On some systems, *mode* is ignored. Where it is used, the current umask " "value is first masked out. If bits other than the last 9 (i.e. the last 3 " @@ -2979,7 +2986,7 @@ msgstr "" "plate-forme. Sous certaines plate-formes, ils seront ignorés et vous devrez " "appeler explicitement :func:`chmod` pour les modifier." -#: library/os.rst:2066 +#: library/os.rst:2071 msgid "" "It is also possible to create temporary directories; see the :mod:`tempfile` " "module's :func:`tempfile.mkdtemp` function." @@ -2987,7 +2994,7 @@ msgstr "" "Il est également possible de créer des répertoires temporaires, voir la " "fonction :func:`tempfile.mkdtemp` du module :mod:`tempfile`." -#: library/os.rst:2103 +#: library/os.rst:2108 msgid "" "Raises an :ref:`auditing event ` ``os.mkdir`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -2995,7 +3002,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.mkdir`` avec les arguments " "``path``, ``mode``, ``dir_fd``." -#: library/os.rst:2084 +#: library/os.rst:2089 msgid "" "Recursive directory creation function. Like :func:`mkdir`, but makes all " "intermediate-level directories needed to contain the leaf directory." @@ -3004,7 +3011,7 @@ msgstr "" "tous les répertoires de niveau intermédiaire nécessaires pour contenir le " "répertoire « feuille »." -#: library/os.rst:2087 +#: library/os.rst:2092 #, fuzzy msgid "" "The *mode* parameter is passed to :func:`mkdir` for creating the leaf " @@ -3020,7 +3027,7 @@ msgstr "" "valeur de *umask* avant d'invoquer :func:`makedirs`. Les bits de permissions " "des répertoires intermédiaires déjà existants ne sont pas modifiés." -#: library/os.rst:2093 +#: library/os.rst:2098 msgid "" "If *exist_ok* is ``False`` (the default), an :exc:`FileExistsError` is " "raised if the target directory already exists." @@ -3028,7 +3035,7 @@ msgstr "" "Si *exist_ok* vaut ``False`` (valeur par défaut), une :exc:`FileExistsError` " "est levée si le répertoire cible existe déjà." -#: library/os.rst:2098 +#: library/os.rst:2103 msgid "" ":func:`makedirs` will become confused if the path elements to create " "include :data:`pardir` (eg. \"..\" on UNIX systems)." @@ -3036,15 +3043,15 @@ msgstr "" "Un appel à :func:`makedirs` est confus si les éléments du chemin à créer " "contiennent :data:`pardir` (par exemple, ``\"..\"`` sur les systèmes UNIX)." -#: library/os.rst:2101 +#: library/os.rst:2106 msgid "This function handles UNC paths correctly." msgstr "Cette fonction gère les chemins UNC correctement." -#: library/os.rst:2105 +#: library/os.rst:2110 msgid "The *exist_ok* parameter." msgstr "Le paramètre *exist_ok*." -#: library/os.rst:2110 +#: library/os.rst:2115 msgid "" "Before Python 3.4.1, if *exist_ok* was ``True`` and the directory existed, :" "func:`makedirs` would still raise an error if *mode* did not match the mode " @@ -3057,7 +3064,7 @@ msgstr "" "pas possible ) implémenter de manière sécurisée, il a été retiré pour Python " "3.4.1. Voir :issue:`21082`." -#: library/os.rst:2118 +#: library/os.rst:2123 #, fuzzy msgid "" "The *mode* argument no longer affects the file permission bits of newly " @@ -3066,7 +3073,7 @@ msgstr "" "L'argument *mode* n'affecte plus les bits d'autorisation de fichier des " "répertoires intermédiaires créés." -#: library/os.rst:2125 +#: library/os.rst:2130 msgid "" "Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The " "current umask value is first masked out from the mode." @@ -3075,7 +3082,7 @@ msgstr "" "appelé *path* avec le mode numérique *mode*. La valeur actuelle de *umask* " "est d'abord masquée du mode." -#: library/os.rst:2131 +#: library/os.rst:2136 msgid "" "FIFOs are pipes that can be accessed like regular files. FIFOs exist until " "they are deleted (for example with :func:`os.unlink`). Generally, FIFOs are " @@ -3092,7 +3099,7 @@ msgstr "" "Notez que :func:`mkfifo` n'ouvre pas le FIFO — il crée juste un point de " "rendez-vous." -#: library/os.rst:2148 +#: library/os.rst:2153 msgid "" "Create a filesystem node (file, device special file or named pipe) named " "*path*. *mode* specifies both the permissions to use and the type of node to " @@ -3111,7 +3118,7 @@ msgstr "" "définit le fichier spécial de périphérique tout juste créé (probablement en " "utilisant :func:`os.makedev`), sinon, cet argument est ignoré." -#: library/os.rst:2170 +#: library/os.rst:2175 msgid "" "Extract the device major number from a raw device number (usually the :attr:" "`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." @@ -3120,7 +3127,7 @@ msgstr "" "(habituellement le champ :attr:`st_dev` ou :attr:`st_rdev` de :c:type:" "`stat`)." -#: library/os.rst:2176 +#: library/os.rst:2181 msgid "" "Extract the device minor number from a raw device number (usually the :attr:" "`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." @@ -3129,13 +3136,13 @@ msgstr "" "(habituellement le champ :attr:`st_dev` ou :attr:`st_rdev` de :c:type:" "`stat`)." -#: library/os.rst:2182 +#: library/os.rst:2187 msgid "Compose a raw device number from the major and minor device numbers." msgstr "" "Compose un nombre de périphérique brut à partir des nombres de périphérique " "mineur et majeur." -#: library/os.rst:2187 +#: library/os.rst:2192 msgid "" "Return system configuration information relevant to a named file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -3155,14 +3162,14 @@ msgstr "" "configuration non incluses dans ce *mapping*, passer un entier pour *name* " "est également accepté." -#: library/os.rst:2889 library/os.rst:3055 +#: library/os.rst:2896 library/os.rst:3062 msgid "" "This function can support :ref:`specifying a file descriptor `." msgstr "" "Cette fonction prend en charge :ref:`la spécification d'un descripteur de " "fichier `." -#: library/os.rst:2211 +#: library/os.rst:2216 msgid "" "Dictionary mapping names accepted by :func:`pathconf` and :func:`fpathconf` " "to the integer values defined for those names by the host operating system. " @@ -3173,7 +3180,7 @@ msgstr "" "d'exploitation hôte. Cette variable peut être utilisée pour déterminer " "l'ensemble des noms connus du système d'exploitation." -#: library/os.rst:2220 +#: library/os.rst:2225 msgid "" "Return a string representing the path to which the symbolic link points. " "The result may be either an absolute or relative pathname; if it is " @@ -3185,7 +3192,7 @@ msgstr "" "chemin absolu. S'il est relatif, il peut être converti en chemin absolu en " "utilisant ``os.path.join(os.path.dirname(path), result)``." -#: library/os.rst:2225 +#: library/os.rst:2230 msgid "" "If the *path* is a string object (directly or indirectly through a :class:" "`PathLike` interface), the result will also be a string object, and the call " @@ -3198,7 +3205,7 @@ msgstr "" "une chaîne d'octets (directement ou indirectement), le résultat sera une " "chaîne d'octets." -#: library/os.rst:2233 +#: library/os.rst:2238 msgid "" "When trying to resolve a path that may contain links, use :func:`~os.path." "realpath` to properly handle recursion and platform differences." @@ -3207,34 +3214,34 @@ msgstr "" "utilisez :func:`~os.path.realpath` pour gérer correctement la récursion et " "les différences de plate-forme." -#: library/os.rst:2245 +#: library/os.rst:2250 msgid "Accepts a :term:`path-like object` on Unix." msgstr "Accepte un :term:`path-like object` sur Unix." -#: library/os.rst:2248 +#: library/os.rst:2253 msgid "Accepts a :term:`path-like object` and a bytes object on Windows." msgstr "" "Accepte un :term:`path-like object` et une chaine d’octets sous Windows." -#: library/os.rst:2251 +#: library/os.rst:2256 msgid "" "Added support for directory junctions, and changed to return the " "substitution path (which typically includes ``\\\\?\\`` prefix) rather than " "the optional \"print name\" field that was previously returned." msgstr "" -#: library/os.rst:2258 +#: library/os.rst:2263 #, fuzzy msgid "" "Remove (delete) the file *path*. If *path* is a directory, an :exc:" -"`IsADirectoryError` is raised. Use :func:`rmdir` to remove directories. If " -"the file does not exist, a :exc:`FileNotFoundError` is raised." +"`OSError` is raised. Use :func:`rmdir` to remove directories. If the file " +"does not exist, a :exc:`FileNotFoundError` is raised." msgstr "" "Supprime (efface) le fichier *path*. Si *path* est un répertoire, une :exc:" "`IsADirectoryError` est levée. Utilisez :func:`rmdir` pour supprimer les " "répertoires." -#: library/os.rst:2373 library/os.rst:3009 +#: library/os.rst:2380 library/os.rst:3016 msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." @@ -3242,7 +3249,7 @@ msgstr "" "Cette fonction prend en charge :ref:`des chemins relatifs à des descripteurs " "de répertories `." -#: library/os.rst:2265 +#: library/os.rst:2270 msgid "" "On Windows, attempting to remove a file that is in use causes an exception " "to be raised; on Unix, the directory entry is removed but the storage " @@ -3254,11 +3261,11 @@ msgstr "" "l'espace de stockage alloué au fichier ne sera pas disponible avant que le " "fichier original ne soit plus utilisé." -#: library/os.rst:2269 +#: library/os.rst:2274 msgid "This function is semantically identical to :func:`unlink`." msgstr "La fonction est sémantiquement identique à :func:`unlink`." -#: library/os.rst:2293 library/os.rst:3077 +#: library/os.rst:2298 library/os.rst:3084 msgid "" "Raises an :ref:`auditing event ` ``os.remove`` with arguments " "``path``, ``dir_fd``." @@ -3266,7 +3273,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.remove`` avec les arguments " "``path``, ``dir_fd``." -#: library/os.rst:2284 +#: library/os.rst:2289 msgid "" "Remove directories recursively. Works like :func:`rmdir` except that, if " "the leaf directory is successfully removed, :func:`removedirs` tries to " @@ -3287,7 +3294,7 @@ msgstr "" "``'foo'`` s'ils sont vides. Lève une :exc:`OSError` si le répertoire feuille " "n'a pas pu être supprimé avec succès." -#: library/os.rst:2301 +#: library/os.rst:2306 msgid "" "Rename the file or directory *src* to *dst*. If *dst* exists, the operation " "will fail with an :exc:`OSError` subclass in a number of cases:" @@ -3296,12 +3303,14 @@ msgstr "" "l'opération échoue avec une sous-classe :exc:`OSError` dans un certain " "nombre de cas :" -#: library/os.rst:2304 -msgid "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised." +#: library/os.rst:2309 +msgid "" +"On Windows, if *dst* exists a :exc:`FileExistsError` is always raised. The " +"operation may fail if *src* and *dst* are on different filesystems. Use :" +"func:`shutil.move` to support moves to a different filesystem." msgstr "" -"Sous Windows, si *dst* existe, une :exc:`FileExistsError` est toujours levée." -#: library/os.rst:2306 +#: library/os.rst:2313 #, fuzzy msgid "" "On Unix, if *src* is a file and *dst* is a directory or vice-versa, an :exc:" @@ -3323,7 +3332,7 @@ msgstr "" "*dst* sont sur deux systèmes de fichiers différents. En cas de réussite, le " "renommage est une opération atomique (c'est une exigence POSIX)." -#: library/os.rst:2355 +#: library/os.rst:2362 msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " "supply :ref:`paths relative to directory descriptors `." @@ -3332,7 +3341,7 @@ msgstr "" "*dst_dir_fd* pour fournir :ref:`des chemins relatifs à des descripteurs de " "fichiers `." -#: library/os.rst:2318 +#: library/os.rst:2325 msgid "" "If you want cross-platform overwriting of the destination, use :func:" "`replace`." @@ -3340,7 +3349,7 @@ msgstr "" "Si vous désirez un écrasement multiplateformes de la destination, utilisez " "la fonction :func:`replace`." -#: library/os.rst:2341 library/os.rst:2358 +#: library/os.rst:2348 library/os.rst:2365 msgid "" "Raises an :ref:`auditing event ` ``os.rename`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." @@ -3348,11 +3357,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.rename`` avec les arguments " "``src``, ``dst``, ``src_dir_ds``, ``dst_dir_fd``." -#: library/os.rst:2322 +#: library/os.rst:2329 msgid "The *src_dir_fd* and *dst_dir_fd* arguments." msgstr "Les arguments *src_dir_fd* et *dst_dir_fd*." -#: library/os.rst:2331 +#: library/os.rst:2338 msgid "" "Recursive directory or file renaming function. Works like :func:`rename`, " "except creation of any intermediate directories needed to make the new " @@ -3367,7 +3376,7 @@ msgstr "" "chemin les plus à droite de l'ancien nom seront élagués en utilisant :func:" "`removedirs`." -#: library/os.rst:2338 +#: library/os.rst:2345 msgid "" "This function can fail with the new directory structure made if you lack " "permissions needed to remove the leaf directory or file." @@ -3376,11 +3385,11 @@ msgstr "" "définie si vous n'avez pas les permissions nécessaires pour supprimer le " "répertoire ou fichier feuille." -#: library/os.rst:2343 +#: library/os.rst:2350 msgid "Accepts a :term:`path-like object` for *old* and *new*." msgstr "Accepte un :term:`path-like object` pour *old* et *new*." -#: library/os.rst:2349 +#: library/os.rst:2356 #, fuzzy msgid "" "Rename the file or directory *src* to *dst*. If *dst* is a non-empty " @@ -3396,7 +3405,7 @@ msgstr "" "différent. Si le renommage est effectué avec succès, il est une opération " "atomique (nécessité POSIX)." -#: library/os.rst:2368 +#: library/os.rst:2375 msgid "" "Remove (delete) the directory *path*. If the directory does not exist or is " "not empty, an :exc:`FileNotFoundError` or an :exc:`OSError` is raised " @@ -3408,7 +3417,7 @@ msgstr "" "levée, selon le cas. Pour supprimer des arborescences de répertoires " "entières, utilisez :func:`shutil.rmtree`." -#: library/os.rst:2376 +#: library/os.rst:2383 msgid "" "Raises an :ref:`auditing event ` ``os.rmdir`` with arguments " "``path``, ``dir_fd``." @@ -3416,11 +3425,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.rmdir`` avec les arguments " "``path``, ``dir_fd``." -#: library/os.rst:3079 +#: library/os.rst:3086 msgid "The *dir_fd* parameter." msgstr "Le paramètre *dir_fd*." -#: library/os.rst:2387 +#: library/os.rst:2394 #, fuzzy msgid "" "Return an iterator of :class:`os.DirEntry` objects corresponding to the " @@ -3436,7 +3445,7 @@ msgstr "" "incluses. Si un fichier est ajouté ou supprimé du dossier après la création " "de l'itérateur, le fait que ce fichier soit inclus ou non n'est pas spécifié." -#: library/os.rst:2394 +#: library/os.rst:2401 msgid "" "Using :func:`scandir` instead of :func:`listdir` can significantly increase " "the performance of code that also needs file type or file attribute " @@ -3457,7 +3466,7 @@ msgstr "" "symboliques ; :func:`os.DirEntry.stat` nécessite toujours un appel système " "sous Unix, mais seulement pour les liens symboliques sous Windows." -#: library/os.rst:2404 +#: library/os.rst:2411 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the type " @@ -3471,7 +3480,7 @@ msgstr "" "DirEntry.path` de chaque :class:`os.DirEntry` sera ``bytes`` ; dans toutes " "les autres circonstances, ils seront de type ``str``." -#: library/os.rst:2413 +#: library/os.rst:2420 msgid "" "Raises an :ref:`auditing event ` ``os.scandir`` with argument " "``path``." @@ -3479,7 +3488,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.scandir`` avec l'argument " "``path``." -#: library/os.rst:2415 +#: library/os.rst:2422 msgid "" "The :func:`scandir` iterator supports the :term:`context manager` protocol " "and has the following method:" @@ -3487,11 +3496,11 @@ msgstr "" "L'itérateur :func:`scandir` gère le protocole :term:`context manager` et " "possède la méthode suivante :" -#: library/os.rst:2420 +#: library/os.rst:2427 msgid "Close the iterator and free acquired resources." msgstr "Ferme l'itérateur et libère les ressources acquises." -#: library/os.rst:2422 +#: library/os.rst:2429 msgid "" "This is called automatically when the iterator is exhausted or garbage " "collected, or when an error happens during iterating. However it is " @@ -3502,7 +3511,7 @@ msgstr "" "l'itération. Il est cependant conseillé de l'appeler explicitement ou " "d'utiliser l'instruction :keyword:`with`." -#: library/os.rst:2429 +#: library/os.rst:2436 msgid "" "The following example shows a simple use of :func:`scandir` to display all " "the files (excluding directories) in the given *path* that don't start with " @@ -3514,7 +3523,7 @@ msgstr "" "*path* et ne débutant pas par ``'.'``. L'appel ``entry.is_file()`` ne va " "généralement pas faire d'appel système supplémentaire ::" -#: library/os.rst:2441 +#: library/os.rst:2448 #, fuzzy msgid "" "On Unix-based systems, :func:`scandir` uses the system's `opendir() `_." -#: library/os.rst:2453 +#: library/os.rst:2460 msgid "" "Added support for the :term:`context manager` protocol and the :func:" "`~scandir.close()` method. If a :func:`scandir` iterator is neither " @@ -3546,16 +3555,16 @@ msgstr "" "entièrement consommé ni explicitement fermé, un :exc:`ResourceWarning` sera " "émis dans son destructeur." -#: library/os.rst:2459 +#: library/os.rst:2466 msgid "The function accepts a :term:`path-like object`." msgstr "La fonction accepte un :term:`path-like object`." -#: library/os.rst:2461 +#: library/os.rst:2468 msgid "Added support for :ref:`file descriptors ` on Unix." msgstr "" "Ajout de la gestion des :ref:`descripteurs de fichiers ` sur Unix." -#: library/os.rst:2467 +#: library/os.rst:2474 msgid "" "Object yielded by :func:`scandir` to expose the file path and other file " "attributes of a directory entry." @@ -3563,7 +3572,7 @@ msgstr "" "Objet donné par :func:`scandir` pour exposer le chemin du fichier et " "d'autres attributs de fichier d'une entrée du répertoire." -#: library/os.rst:2470 +#: library/os.rst:2477 msgid "" ":func:`scandir` will provide as much of this information as possible without " "making additional system calls. When a ``stat()`` or ``lstat()`` system call " @@ -3573,7 +3582,7 @@ msgstr "" "d'appels système additionnels. Quand un appel système ``stat()`` ou " "``lstat()`` est réalisé, l'objet ``os.DirEntry`` mettra le résultat en cache." -#: library/os.rst:2474 +#: library/os.rst:2481 msgid "" "``os.DirEntry`` instances are not intended to be stored in long-lived data " "structures; if you know the file metadata has changed or if a long time has " @@ -3586,7 +3595,7 @@ msgstr "" "l'appel à :func:`scandir`, appelez ``os.stat(entry.path)`` pour mettre à " "jour ces informations." -#: library/os.rst:2479 +#: library/os.rst:2486 msgid "" "Because the ``os.DirEntry`` methods can make operating system calls, they " "may also raise :exc:`OSError`. If you need very fine-grained control over " @@ -3598,7 +3607,7 @@ msgstr "" "contrôle fin des erreurs, vous pouvez attraper les :exc:`OSError` en " "appelant les méthodes de ``os.DirEntry`` et les traiter comme il vous semble." -#: library/os.rst:2484 +#: library/os.rst:2491 msgid "" "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " "implements the :class:`PathLike` interface." @@ -3606,20 +3615,20 @@ msgstr "" "Pour être directement utilisable comme un :term:`path-like object`, ``os." "DirEntry`` implémente l'interface :class:`PathLike`." -#: library/os.rst:2487 +#: library/os.rst:2494 msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:" msgstr "" "Les attributs et méthodes des instances de ``os.DirEntry`` sont les " "suivants :" -#: library/os.rst:2491 +#: library/os.rst:2498 msgid "" "The entry's base filename, relative to the :func:`scandir` *path* argument." msgstr "" "Le nom de fichier de base de l'entrée, relatif à l'argument *path* de :func:" "`scandir`." -#: library/os.rst:2494 +#: library/os.rst:2501 msgid "" "The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." @@ -3629,7 +3638,7 @@ msgstr "" "`scandir` est de type ``bytes``, sinon il sera de type ``str``. Utilisez :" "func:`~os.fsdecode` pour décoder des noms de fichiers de types *byte*." -#: library/os.rst:2500 +#: library/os.rst:2507 msgid "" "The entry's full path name: equivalent to ``os.path.join(scandir_path, entry." "name)`` where *scandir_path* is the :func:`scandir` *path* argument. The " @@ -3645,7 +3654,7 @@ msgstr "" "`descripteur de fichier ` l'attribut :attr:`path` sera égal à " "l'attribut :attr:`name`." -#: library/os.rst:2507 +#: library/os.rst:2514 msgid "" "The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* " "argument is of type ``bytes`` and ``str`` otherwise. Use :func:`~os." @@ -3656,11 +3665,11 @@ msgstr "" "``str``. Utilisez :func:`~os.fsdecode` pour décoder des noms de fichiers de " "type *bytes*." -#: library/os.rst:2513 +#: library/os.rst:2520 msgid "Return the inode number of the entry." msgstr "Renvoie le numéro d'*inode* de l'entrée." -#: library/os.rst:2515 +#: library/os.rst:2522 msgid "" "The result is cached on the ``os.DirEntry`` object. Use ``os.stat(entry." "path, follow_symlinks=False).st_ino`` to fetch up-to-date information." @@ -3669,7 +3678,7 @@ msgstr "" "stat(entry.path, follow_symlinks=False).st_ino`` pour obtenir l'information " "à jour." -#: library/os.rst:2519 +#: library/os.rst:2526 msgid "" "On the first, uncached call, a system call is required on Windows but not on " "Unix." @@ -3677,7 +3686,7 @@ msgstr "" "Au premier appel non mis en cache, un appel système est requis sur Windows, " "mais pas sur Unix." -#: library/os.rst:2524 +#: library/os.rst:2531 msgid "" "Return ``True`` if this entry is a directory or a symbolic link pointing to " "a directory; return ``False`` if the entry is or points to any other kind of " @@ -3687,7 +3696,7 @@ msgstr "" "pointant vers un répertoire ; renvoie ``False`` si l'entrée est (ou pointe " "vers) un autre type de fichier, ou s'il n'existe plus." -#: library/os.rst:2528 +#: library/os.rst:2535 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "directory (without following symlinks); return ``False`` if the entry is any " @@ -3697,7 +3706,7 @@ msgstr "" "est un répertoire (sans suivre les liens symboliques) ; renvoie ``False`` si " "l'entrée est n'importe quel autre type de fichier ou s'il n'existe plus." -#: library/os.rst:2532 +#: library/os.rst:2539 msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` along " @@ -3707,7 +3716,7 @@ msgstr "" "séparé pour les valeurs ``True`` ou ``False`` de *follow_symlinks*. Appelez :" "func:`os.stat` avec :func:`stat.S_ISDIR` pour obtenir l'information à jour." -#: library/os.rst:2536 +#: library/os.rst:2543 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, for non-symlinks, neither Windows or Unix require a system " @@ -3724,7 +3733,7 @@ msgstr "" "requis pour suivre le lien symbolique, à moins que *follow_symlinks* vaille " "``False``." -#: library/os.rst:2573 +#: library/os.rst:2580 msgid "" "This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" "exc:`FileNotFoundError` is caught and not raised." @@ -3733,7 +3742,7 @@ msgstr "" "`PermissionError`, mais :exc:`FileNotFoundError` est interceptée et pas " "levée." -#: library/os.rst:2548 +#: library/os.rst:2555 msgid "" "Return ``True`` if this entry is a file or a symbolic link pointing to a " "file; return ``False`` if the entry is or points to a directory or other non-" @@ -3744,7 +3753,7 @@ msgstr "" "sur un dossier ou sur un répertoire ou autre entrée non-fichier, ou s'il " "n'existe plus." -#: library/os.rst:2552 +#: library/os.rst:2559 msgid "" "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a " "file (without following symlinks); return ``False`` if the entry is a " @@ -3755,7 +3764,7 @@ msgstr "" "si l'entrée est un répertoire ou une autre entrée non-fichier, ou s'il " "n'existe plus." -#: library/os.rst:2556 +#: library/os.rst:2563 msgid "" "The result is cached on the ``os.DirEntry`` object. Caching, system calls " "made, and exceptions raised are as per :func:`~os.DirEntry.is_dir`." @@ -3764,7 +3773,7 @@ msgstr "" "les appels système réalisés, et les exceptions levées sont les mêmes que " "pour :func:`~os.DirEntry.is_dir`." -#: library/os.rst:2561 +#: library/os.rst:2568 msgid "" "Return ``True`` if this entry is a symbolic link (even if broken); return " "``False`` if the entry points to a directory or any kind of file, or if it " @@ -3774,7 +3783,7 @@ msgstr "" "``False`` si l'entrée pinte vers un répertoire ou tout autre type de " "fichier, ou s'il n'existe plus." -#: library/os.rst:2565 +#: library/os.rst:2572 msgid "" "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." "islink` to fetch up-to-date information." @@ -3782,7 +3791,7 @@ msgstr "" "Le résultat est mis en cache dans l'objet ``os.DirEntry``. Appelez :func:`os." "path.islink` pour obtenir l'information à jour." -#: library/os.rst:2568 +#: library/os.rst:2575 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, neither Windows or Unix require a system call, except on " @@ -3794,7 +3803,7 @@ msgstr "" "certains systèmes de fichiers Unix qui renvoient ``dirent.d_type == " "DT_UNKNOWN``." -#: library/os.rst:2578 +#: library/os.rst:2585 msgid "" "Return a :class:`stat_result` object for this entry. This method follows " "symbolic links by default; to stat a symbolic link add the " @@ -3804,7 +3813,7 @@ msgstr "" "méthode suit les liens symboliques par défaut. Pour avoir les statistiques " "sur un lien symbolique, ajouter l'argument ``follow_symlinks=False``." -#: library/os.rst:2582 +#: library/os.rst:2589 #, fuzzy msgid "" "On Unix, this method always requires a system call. On Windows, it only " @@ -3816,7 +3825,7 @@ msgstr "" "que l'entrée est un *reparse point* (par exemple, un lien symbolique ou une " "*directory junction*)." -#: library/os.rst:2587 +#: library/os.rst:2594 msgid "" "On Windows, the ``st_ino``, ``st_dev`` and ``st_nlink`` attributes of the :" "class:`stat_result` are always set to zero. Call :func:`os.stat` to get " @@ -3826,7 +3835,7 @@ msgstr "" "classe :class:`stat_result` sont toujours définis à 0. Appelez la fonction :" "func:`os.stat` pour avoir ces attributs." -#: library/os.rst:2591 +#: library/os.rst:2598 msgid "" "The result is cached on the ``os.DirEntry`` object, with a separate cache " "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` to fetch " @@ -3836,7 +3845,7 @@ msgstr "" "séparé pour les valeurs ``True`` ou ``False`` de *follow_symlinks*. Appelez :" "func:`os.stat` pour obtenir l'information à jour." -#: library/os.rst:2595 +#: library/os.rst:2602 msgid "" "Note that there is a nice correspondence between several attributes and " "methods of ``os.DirEntry`` and of :class:`pathlib.Path`. In particular, the " @@ -3848,7 +3857,7 @@ msgstr "" "``name`` a la même signification, ainsi que les méthodes ``is_dir()``, " "``is_file()``, ``is_symlink()`` et ``stat()``." -#: library/os.rst:2603 +#: library/os.rst:2610 msgid "" "Added support for the :class:`~os.PathLike` interface. Added support for :" "class:`bytes` paths on Windows." @@ -3856,7 +3865,7 @@ msgstr "" "Prise en charge de l'interface :class:`~os.PathLike`. Ajout du support des " "chemins :class:`bytes` sous Windows." -#: library/os.rst:2610 +#: library/os.rst:2617 msgid "" "Get the status of a file or a file descriptor. Perform the equivalent of a :" "c:func:`stat` system call on the given path. *path* may be specified as " @@ -3870,7 +3879,7 @@ msgstr "" "ou indirectement à travers une interface :class:`PathLike` -- ou comme un " "descripteur de fichier ouvert. Renvoie un objet :class:`stat_result`." -#: library/os.rst:2616 +#: library/os.rst:2623 msgid "" "This function normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :func:`lstat`." @@ -3879,7 +3888,7 @@ msgstr "" "informations d'un lien symbolique, ajoutez l'argument " "``follow_symlinks=False`` ou utilisez la fonction :func:`lstat`." -#: library/os.rst:3444 library/os.rst:3476 library/os.rst:3496 +#: library/os.rst:3451 library/os.rst:3483 library/os.rst:3503 msgid "" "This function can support :ref:`specifying a file descriptor ` and :" "ref:`not following symlinks `." @@ -3888,7 +3897,7 @@ msgstr "" "fichier ` et :ref:`le non-suivi des liens symboliques " "`." -#: library/os.rst:2622 +#: library/os.rst:2629 msgid "" "On Windows, passing ``follow_symlinks=False`` will disable following all " "name-surrogate reparse points, which includes symlinks and directory " @@ -3902,15 +3911,15 @@ msgid "" "junction points, which will raise the usual exceptions." msgstr "" -#: library/os.rst:3364 +#: library/os.rst:3371 msgid "Example::" msgstr "Exemple ::" -#: library/os.rst:2648 +#: library/os.rst:2655 msgid ":func:`fstat` and :func:`lstat` functions." msgstr "les fonctions :func:`fstat` et :func:`lstat`." -#: library/os.rst:2650 +#: library/os.rst:2657 msgid "" "Added the *dir_fd* and *follow_symlinks* arguments, specifying a file " "descriptor instead of a path." @@ -3918,7 +3927,7 @@ msgstr "" "Les arguments *dir_fd* et *follow_symlinks* ont été ajoutés, spécification " "d'un descripteur de fichier à la place d'un chemin ajoutée également." -#: library/os.rst:2657 +#: library/os.rst:2664 msgid "" "On Windows, all reparse points that can be resolved by the operating system " "are now followed, and passing ``follow_symlinks=False`` disables following " @@ -3928,7 +3937,7 @@ msgid "" "of raising an error." msgstr "" -#: library/os.rst:2668 +#: library/os.rst:2675 msgid "" "Object whose attributes correspond roughly to the members of the :c:type:" "`stat` structure. It is used for the result of :func:`os.stat`, :func:`os." @@ -3938,16 +3947,16 @@ msgstr "" "structure :c:func:`stat`. Utilisé pour le résultat des fonctions :func:`os." "stat`, :func:`os.fstat`, et :func:`os.lstat`." -#: library/os.rst:2672 +#: library/os.rst:2679 msgid "Attributes:" msgstr "Attributs :" -#: library/os.rst:2676 +#: library/os.rst:2683 msgid "File mode: file type and file mode bits (permissions)." msgstr "" "Mode du fichier : type du fichier et bits de mode du fichier (permissions)." -#: library/os.rst:2680 +#: library/os.rst:2687 msgid "" "Platform dependent, but if non-zero, uniquely identifies the file for a " "given value of ``st_dev``. Typically:" @@ -3956,11 +3965,11 @@ msgstr "" "manière unique le fichier pour une certaine valeur de ``st_dev``. " "Typiquement :" -#: library/os.rst:2683 +#: library/os.rst:2690 msgid "the inode number on Unix," msgstr "le numéro d'*inode* sur Unix," -#: library/os.rst:2684 +#: library/os.rst:2691 msgid "" "the `file index `_ on " "Windows" @@ -3968,23 +3977,23 @@ msgstr "" "l’`index de fichier `_ " "sur Windows" -#: library/os.rst:2690 +#: library/os.rst:2697 msgid "Identifier of the device on which this file resides." msgstr "Identifiant du périphérique sur lequel ce fichier se trouve." -#: library/os.rst:2694 +#: library/os.rst:2701 msgid "Number of hard links." msgstr "Nombre de liens matériels." -#: library/os.rst:2698 +#: library/os.rst:2705 msgid "User identifier of the file owner." msgstr "Identifiant d'utilisateur du propriétaire du fichier." -#: library/os.rst:2702 +#: library/os.rst:2709 msgid "Group identifier of the file owner." msgstr "Identifiant de groupe du propriétaire du fichier." -#: library/os.rst:2706 +#: library/os.rst:2713 msgid "" "Size of the file in bytes, if it is a regular file or a symbolic link. The " "size of a symbolic link is the length of the pathname it contains, without a " @@ -3994,37 +4003,37 @@ msgstr "" "symbolique. La taille d'un lien symbolique est la longueur du nom de chemin " "qu'il contient sans le byte nul final." -#: library/os.rst:2710 +#: library/os.rst:2717 msgid "Timestamps:" msgstr "Horodatages :" -#: library/os.rst:2714 +#: library/os.rst:2721 msgid "Time of most recent access expressed in seconds." msgstr "Moment de l'accès le plus récent, exprimé en secondes." -#: library/os.rst:2718 +#: library/os.rst:2725 msgid "Time of most recent content modification expressed in seconds." msgstr "" "Moment de la modification de contenu la plus récente, exprimé en secondes." -#: library/os.rst:2738 +#: library/os.rst:2745 msgid "Platform dependent:" msgstr "Dépendant de la plate-forme :" -#: library/os.rst:2740 +#: library/os.rst:2747 msgid "the time of most recent metadata change on Unix," msgstr "le moment du changement de méta-données le plus récent sur Unix," -#: library/os.rst:2725 +#: library/os.rst:2732 msgid "the time of creation on Windows, expressed in seconds." msgstr "le moment de création sur Windows, exprimé en secondes." -#: library/os.rst:2729 +#: library/os.rst:2736 msgid "Time of most recent access expressed in nanoseconds as an integer." msgstr "" "Moment de l'accès le plus récent, exprimé en nanosecondes, par un entier." -#: library/os.rst:2733 +#: library/os.rst:2740 msgid "" "Time of most recent content modification expressed in nanoseconds as an " "integer." @@ -4032,13 +4041,13 @@ msgstr "" "Moment de la modification de contenu la plus récente, exprimé en " "nanosecondes, par un entier." -#: library/os.rst:2741 +#: library/os.rst:2748 msgid "" "the time of creation on Windows, expressed in nanoseconds as an integer." msgstr "" "le moment de création sur Windows, exprimé en nanosecondes, par un entier." -#: library/os.rst:2746 +#: library/os.rst:2753 msgid "" "The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, " "and :attr:`st_ctime` attributes depend on the operating system and the file " @@ -4053,7 +4062,7 @@ msgstr "" "secondes, et :attr:`st_atime` a une précision de 1 jour. Regardez la " "documentation de votre système d'exploitation pour plus de détails." -#: library/os.rst:2753 +#: library/os.rst:2760 msgid "" "Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:" "`st_ctime_ns` are always expressed in nanoseconds, many systems do not " @@ -4072,7 +4081,7 @@ msgstr "" "avez besoin d'horodatages exacts, vous devriez toujours utiliser :attr:" "`st_atime_ns`, :attr:`st_mtime_ns`, et :attr:`st_ctime_ns`." -#: library/os.rst:2762 +#: library/os.rst:2769 msgid "" "On some Unix systems (such as Linux), the following attributes may also be " "available:" @@ -4080,7 +4089,7 @@ msgstr "" "Sur certains systèmes Unix (tels que Linux), les attributs suivants peuvent " "également être disponibles :" -#: library/os.rst:2767 +#: library/os.rst:2774 msgid "" "Number of 512-byte blocks allocated for file. This may be smaller than :attr:" "`st_size`/512 when the file has holes." @@ -4088,7 +4097,7 @@ msgstr "" "Nombre de blocs de 512 *bytes* alloués pour le fichier. Cette valeur peut " "être inférieure à :attr:`st_size`/512 quand le fichier a des trous." -#: library/os.rst:2772 +#: library/os.rst:2779 msgid "" "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " "smaller chunks may cause an inefficient read-modify-rewrite." @@ -4097,15 +4106,15 @@ msgstr "" "système de fichiers. Écrire dans un fichier avec des blocs plus petits peut " "causer des modifications (lecture-écriture-réécriture) inefficaces." -#: library/os.rst:2777 +#: library/os.rst:2784 msgid "Type of device if an inode device." msgstr "Type de périphérique si l'*inode* représente un périphérique." -#: library/os.rst:2781 +#: library/os.rst:2788 msgid "User defined flags for file." msgstr "Marqueurs définis par l'utilisateur pour le fichier." -#: library/os.rst:2783 +#: library/os.rst:2790 msgid "" "On other Unix systems (such as FreeBSD), the following attributes may be " "available (but may be only filled out if root tries to use them):" @@ -4114,22 +4123,22 @@ msgstr "" "peuvent être disponibles (mais peuvent être complétés uniquement lorsque le " "super-utilisateur *root* tente de les utiliser) :" -#: library/os.rst:2788 +#: library/os.rst:2795 msgid "File generation number." msgstr "Nombre de génération de fichier." -#: library/os.rst:2792 +#: library/os.rst:2799 msgid "Time of file creation." msgstr "Moment de la création du fichier." -#: library/os.rst:2794 +#: library/os.rst:2801 msgid "" "On Solaris and derivatives, the following attributes may also be available:" msgstr "" "Sur les systèmes Solaris et dérivés, les attributs suivants peuvent " "également être disponibles :" -#: library/os.rst:2799 +#: library/os.rst:2806 msgid "" "String that uniquely identifies the type of the filesystem that contains the " "file." @@ -4137,32 +4146,32 @@ msgstr "" "Chaîne qui identifie de manière unique le type du système de fichiers qui " "contient le fichier." -#: library/os.rst:2802 +#: library/os.rst:2809 #, fuzzy msgid "On macOS systems, the following attributes may also be available:" msgstr "" "Sur les systèmes Mac OS, les attributs suivants peuvent également être " "disponibles :" -#: library/os.rst:2806 +#: library/os.rst:2813 msgid "Real size of the file." msgstr "Taillé réelle du fichier." -#: library/os.rst:2810 +#: library/os.rst:2817 msgid "Creator of the file." msgstr "Créateur du fichier." -#: library/os.rst:2814 +#: library/os.rst:2821 msgid "File type." msgstr "Type du fichier." -#: library/os.rst:2816 +#: library/os.rst:2823 #, fuzzy msgid "On Windows systems, the following attributes are also available:" msgstr "" "Sur les systèmes Windows, les attributs suivants sont également disponibles :" -#: library/os.rst:2820 +#: library/os.rst:2827 msgid "" "Windows file attributes: ``dwFileAttributes`` member of the " "``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:" @@ -4174,14 +4183,14 @@ msgstr "" "`GetileInformationByHandle`. Soir les constantes ``FILE_ATTRIBUTE_*`` du " "module :mod:`stat`." -#: library/os.rst:2827 +#: library/os.rst:2834 msgid "" "When :attr:`st_file_attributes` has the ``FILE_ATTRIBUTE_REPARSE_POINT`` " "set, this field contains the tag identifying the type of reparse point. See " "the ``IO_REPARSE_TAG_*`` constants in the :mod:`stat` module." msgstr "" -#: library/os.rst:2831 +#: library/os.rst:2838 msgid "" "The standard module :mod:`stat` defines functions and constants that are " "useful for extracting information from a :c:type:`stat` structure. (On " @@ -4191,7 +4200,7 @@ msgstr "" "sont utiles pour l'extraction d'informations d'une structure :c:type:`stat`. " "(Sur Windows, certains éléments sont remplis avec des valeurs factices.)" -#: library/os.rst:2835 +#: library/os.rst:2842 msgid "" "For backward compatibility, a :class:`stat_result` instance is also " "accessible as a tuple of at least 10 integers giving the most important (and " @@ -4213,7 +4222,7 @@ msgstr "" "élément de type :class:`stat_result` comme un *n*-uplet donne toujours des " "entiers." -#: library/os.rst:2844 +#: library/os.rst:2851 msgid "" "Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns` " "members." @@ -4221,32 +4230,32 @@ msgstr "" "Les attributs :attr:`st_atime_ns`, :attr:`st_mtime_ns`, et :attr:" "`st_ctime_ns` ont été ajoutés." -#: library/os.rst:2848 +#: library/os.rst:2855 msgid "Added the :attr:`st_file_attributes` member on Windows." msgstr "L'attribut :attr:`st_file_attributes` a été ajouté sur Windows." -#: library/os.rst:2851 +#: library/os.rst:2858 msgid "Windows now returns the file index as :attr:`st_ino` when available." msgstr "" "Windows renvoie maintenant l'index du fichier dans l'attribut :attr:" "`st_ino`, lorsqu'il est disponible." -#: library/os.rst:2855 +#: library/os.rst:2862 msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." msgstr "Ajout de l'attribut :attr:`st_fstype` sur Solaris et dérivés." -#: library/os.rst:2858 +#: library/os.rst:2865 #, fuzzy msgid "Added the :attr:`st_reparse_tag` member on Windows." msgstr "L'attribut :attr:`st_reparse_tag` a été ajouté sur Windows." -#: library/os.rst:2861 +#: library/os.rst:2868 msgid "" "On Windows, the :attr:`st_mode` member now identifies special files as :" "const:`S_IFCHR`, :const:`S_IFIFO` or :const:`S_IFBLK` as appropriate." msgstr "" -#: library/os.rst:2868 +#: library/os.rst:2875 msgid "" "Perform a :c:func:`statvfs` system call on the given path. The return value " "is an object whose attributes describe the filesystem on the given path, and " @@ -4263,7 +4272,7 @@ msgstr "" "`f_ffree`, :attr:`f_favail`, :attr:`f_flag`, :attr:`f_namemax`, :attr:" "`f_fsid`." -#: library/os.rst:2875 +#: library/os.rst:2882 msgid "" "Two module-level constants are defined for the :attr:`f_flag` attribute's " "bit-flags: if :const:`ST_RDONLY` is set, the filesystem is mounted read-" @@ -4275,7 +4284,7 @@ msgstr "" "monté en lecture-seule, et si :const:`ST_NOSUID` est activé, la sémantique " "des bits de *setuid* / *getuid* est désactivée ou non gérée." -#: library/os.rst:2880 +#: library/os.rst:2887 msgid "" "Additional module-level constants are defined for GNU/glibc based systems. " "These are :const:`ST_NODEV` (disallow access to device special files), :" @@ -4299,11 +4308,11 @@ msgstr "" "à jour les moments d'accès aux répertoires), :const:`ST_REALTIME` (Met " "*atime* à jour relativement à *mtime* / *ctime*)." -#: library/os.rst:2893 +#: library/os.rst:2900 msgid "The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added." msgstr "Ajout des constantes :const:`ST_RDONLY` et :const:`ST_NOSUID`." -#: library/os.rst:2899 +#: library/os.rst:2906 msgid "" "The :const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:" "`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:" @@ -4315,11 +4324,11 @@ msgstr "" "`ST_APPEND`, :const:`ST_IMMUTABLE`, :const:`ST_NOATIME`, :const:" "`ST_NODIRATIME`, et :const:`ST_RELATIME`." -#: library/os.rst:2908 +#: library/os.rst:2915 msgid "Added :attr:`f_fsid`." msgstr "Ajout de :attr:`f_fsid`." -#: library/os.rst:2914 +#: library/os.rst:2921 #, fuzzy msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " @@ -4341,7 +4350,7 @@ msgstr "" "fonctionnalité n'est pas réellement accessible. (Spécifier ``None`` pour " "*dir_fd* est toujours accepté sur toutes les plateformes.)" -#: library/os.rst:2924 +#: library/os.rst:2931 #, fuzzy msgid "" "To check whether a particular function accepts an open file descriptor for " @@ -4355,7 +4364,7 @@ msgstr "" "évalue à ``True`` si :func:`os.stat` accepte un descripteur de fichier " "ouvert pour *dir_fd* sur votre plate-forme actuelle ::" -#: library/os.rst:2931 +#: library/os.rst:2938 msgid "" "Currently *dir_fd* parameters only work on Unix platforms; none of them work " "on Windows." @@ -4363,7 +4372,7 @@ msgstr "" "Actuellement, le paramètre *dir_fd* ne fonctionne que sur les plate-formes " "Unix. Il ne fonctionne jamais sur Windows." -#: library/os.rst:2939 +#: library/os.rst:2946 #, fuzzy msgid "" "A :class:`set` object indicating whether :func:`os.access` permits " @@ -4378,13 +4387,13 @@ msgstr "" "charge sur toutes les plateformes). Si la plateforme le gère, la collection " "contient :func:`os.access`, sinon elle est vide." -#: library/os.rst:2945 +#: library/os.rst:2952 msgid "" "This expression evaluates to ``True`` if :func:`os.access` supports " "``effective_ids=True`` on the local platform::" msgstr "" -#: library/os.rst:2950 +#: library/os.rst:2957 #, fuzzy msgid "" "Currently *effective_ids* is only supported on Unix platforms; it does not " @@ -4393,7 +4402,7 @@ msgstr "" "Actuellement, *effective_ids* ne fonctionne que sur les plate-formes Unix, " "ça ne fonctionne pas sur Windows." -#: library/os.rst:2958 +#: library/os.rst:2965 #, fuzzy msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " @@ -4411,7 +4420,7 @@ msgstr "" "mais elles lèveront une exception si la fonctionnalité n'est pas réellement " "disponible." -#: library/os.rst:2965 +#: library/os.rst:2972 #, fuzzy msgid "" "To determine whether a particular function permits specifying an open file " @@ -4426,7 +4435,7 @@ msgstr "" "détermine si :func:`os.chdir` accepte un descripteur de fichier ouvert quand " "appelée sur votre plate-forme actuelle ::" -#: library/os.rst:2978 +#: library/os.rst:2985 #, fuzzy msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " @@ -4447,7 +4456,7 @@ msgstr "" "permettent toujours de spécifier le paramètre, mais lèvent une exception si " "la fonctionnalité n'est pas réellement disponible." -#: library/os.rst:2988 +#: library/os.rst:2995 #, fuzzy msgid "" "To check whether a particular function accepts ``False`` for its " @@ -4461,11 +4470,11 @@ msgstr "" "``supports_follow_symlinks``. Par exemple, cette expression détermine si le " "paramètre *follow_symlink* de :func:`os.stat` est disponible ::" -#: library/os.rst:3001 +#: library/os.rst:3008 msgid "Create a symbolic link pointing to *src* named *dst*." msgstr "Crée un lien symbolique pointant vers *src* et appelé *dst*." -#: library/os.rst:3003 +#: library/os.rst:3010 msgid "" "On Windows, a symlink represents either a file or a directory, and does not " "morph to the target dynamically. If the target is present, the type of the " @@ -4481,7 +4490,7 @@ msgstr "" "symbolique sera créé comme un répertoire, sinon comme un fichier (par " "défaut). Sur les autres plateformes, *target_id_directory* est ignoré." -#: library/os.rst:3014 +#: library/os.rst:3021 msgid "" "On newer versions of Windows 10, unprivileged accounts can create symlinks " "if Developer Mode is enabled. When Developer Mode is not available/enabled, " @@ -4489,14 +4498,14 @@ msgid "" "must be run as an administrator." msgstr "" -#: library/os.rst:3020 +#: library/os.rst:3027 msgid "" ":exc:`OSError` is raised when the function is called by an unprivileged user." msgstr "" ":exc:`OSError` est levée quand la fonction est appelée par un utilisateur " "sans privilèges." -#: library/os.rst:3023 +#: library/os.rst:3030 msgid "" "Raises an :ref:`auditing event ` ``os.symlink`` with arguments " "``src``, ``dst``, ``dir_fd``." @@ -4504,7 +4513,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.symlink`` avec les " "arguments ``src``, ``dst``, ``dir_fd``." -#: library/os.rst:3030 +#: library/os.rst:3037 msgid "" "Added the *dir_fd* argument, and now allow *target_is_directory* on non-" "Windows platforms." @@ -4512,15 +4521,15 @@ msgstr "" "Ajout de l'argument *dir_fd* et maintenant, permission de " "*target_is_directory* sur les plate-formes non Windows." -#: library/os.rst:3037 +#: library/os.rst:3044 msgid "Added support for unelevated symlinks on Windows with Developer Mode." msgstr "" -#: library/os.rst:3043 +#: library/os.rst:3050 msgid "Force write of everything to disk." msgstr "Force l'écriture de tout sur le disque." -#: library/os.rst:3052 +#: library/os.rst:3059 msgid "" "Truncate the file corresponding to *path*, so that it is at most *length* " "bytes in size." @@ -4528,7 +4537,7 @@ msgstr "" "Tronque le fichier correspondant à *path*, afin qu'il soit au maximum long " "de *length* bytes." -#: library/os.rst:3057 +#: library/os.rst:3064 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``path``, ``length``." @@ -4536,7 +4545,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.truncate`` avec les " "arguments ``path``, ``length``." -#: library/os.rst:3072 +#: library/os.rst:3079 msgid "" "Remove (delete) the file *path*. This function is semantically identical " "to :func:`remove`; the ``unlink`` name is its traditional Unix name. Please " @@ -4546,13 +4555,13 @@ msgstr "" "identique à :func:`remove`. Le nom ``unlink`` est un nom Unix traditionnel. " "Veuillez voir la documentation de :func:`remove` pour plus d'informations." -#: library/os.rst:3088 +#: library/os.rst:3095 msgid "Set the access and modified times of the file specified by *path*." msgstr "" "Définit les derniers moments d'accès et de modification du fichier spécifiés " "par *path*." -#: library/os.rst:3090 +#: library/os.rst:3097 msgid "" ":func:`utime` takes two optional parameters, *times* and *ns*. These specify " "the times set on *path* and are used as follows:" @@ -4560,7 +4569,7 @@ msgstr "" "La fonction :func:`utime` prend deux paramètres optionnels, *times* et *ns*. " "Ils spécifient le temps mis pour *path* et est utilisé comme suit :" -#: library/os.rst:3093 +#: library/os.rst:3100 msgid "" "If *ns* is specified, it must be a 2-tuple of the form ``(atime_ns, " "mtime_ns)`` where each member is an int expressing nanoseconds." @@ -4568,7 +4577,7 @@ msgstr "" "Si *ns* est spécifié, ce doit être un couple de la forme ``(atime_ns, " "mtime_ns)`` où chaque membre est un entier qui exprime des nanosecondes." -#: library/os.rst:3096 +#: library/os.rst:3103 msgid "" "If *times* is not ``None``, it must be a 2-tuple of the form ``(atime, " "mtime)`` where each member is an int or float expressing seconds." @@ -4577,7 +4586,7 @@ msgstr "" "``(atime, mtime)`` où chaque membre est un entier ou une expression à " "virgule flottante." -#: library/os.rst:3099 +#: library/os.rst:3106 msgid "" "If *times* is ``None`` and *ns* is unspecified, this is equivalent to " "specifying ``ns=(atime_ns, mtime_ns)`` where both times are the current time." @@ -4586,12 +4595,12 @@ msgstr "" "spécifier ``ns = (atime_ns, mtime_ns)`` où les deux moments sont le moment " "actuel." -#: library/os.rst:3103 +#: library/os.rst:3110 msgid "It is an error to specify tuples for both *times* and *ns*." msgstr "" "Il est erroné de spécifier des *n*-uplets pour *times* et *ns* à la fois." -#: library/os.rst:3105 +#: library/os.rst:3112 #, fuzzy msgid "" "Note that the exact times you set here may not be returned by a subsequent :" @@ -4611,7 +4620,7 @@ msgstr "" "*st_atime_ns* et *st_mtime_ns* de l'objet résultat de la fonction :func:`os." "stat` avec le paramètre *ns* valant `utime`." -#: library/os.rst:3116 +#: library/os.rst:3123 msgid "" "Raises an :ref:`auditing event ` ``os.utime`` with arguments " "``path``, ``times``, ``ns``, ``dir_fd``." @@ -4619,7 +4628,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.utime`` avec les arguments " "``path``, ``times``, ``ns``, ``dir_fd``." -#: library/os.rst:3118 +#: library/os.rst:3125 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd*, *follow_symlinks*, and *ns* parameters." @@ -4627,7 +4636,7 @@ msgstr "" "Ajoute la prise en charge d'un descripteur de fichier pour *path* et des " "paramètres *dir_fd*, *follow_symlinks* et *ns*." -#: library/os.rst:3132 +#: library/os.rst:3139 msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up. For each directory in the tree rooted at directory *top* " @@ -4639,7 +4648,7 @@ msgstr "" "l'arbre enraciné en le répertoire *rop* (incluant ledit répertoire *top*), " "fournit un triplet ``(dirpath, dirnames, filenames)``." -#: library/os.rst:3137 +#: library/os.rst:3144 #, fuzzy msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " @@ -4661,7 +4670,7 @@ msgstr "" "(qui commence à *top*) vers un répertoire dans *dirpath*, faites ``os.path." "join(dirpath, name)``." -#: library/os.rst:3148 +#: library/os.rst:3155 msgid "" "If optional argument *topdown* is ``True`` or not specified, the triple for " "a directory is generated before the triples for any of its subdirectories " @@ -4680,7 +4689,7 @@ msgstr "" "avant que les *n*-uplets pour le répertoires et ses sous-répertoires ne " "soient générés." -#: library/os.rst:3156 +#: library/os.rst:3163 msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " @@ -4703,7 +4712,7 @@ msgstr "" "parce qu'en mode bas-en-haut, les répertoires dans *dirnames* sont générés " "avant que *dirpath* ne soit lui-même généré." -#: library/os.rst:3165 +#: library/os.rst:3172 msgid "" "By default, errors from the :func:`scandir` call are ignored. If optional " "argument *onerror* is specified, it should be a function; it will be called " @@ -4719,7 +4728,7 @@ msgstr "" "avorter le parcours. Notez que le nom de fichier est disponible dans " "l'attribut ``filename`` de l'objet exception." -#: library/os.rst:3171 +#: library/os.rst:3178 msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " @@ -4729,7 +4738,7 @@ msgstr "" "un répertoire. Définissez *followlinks* avec ``True`` pour visiter les " "répertoires pointés par des liens symboliques sur les systèmes qui le gère." -#: library/os.rst:3177 +#: library/os.rst:3184 msgid "" "Be aware that setting *followlinks* to ``True`` can lead to infinite " "recursion if a link points to a parent directory of itself. :func:`walk` " @@ -4739,7 +4748,7 @@ msgstr "" "récursion infinie si un lien pointe vers un répertoire parent de lui-même. :" "func:`walk` ne garde pas de trace des répertoires qu'il a déjà visité." -#: library/os.rst:3183 +#: library/os.rst:3190 msgid "" "If you pass a relative pathname, don't change the current working directory " "between resumptions of :func:`walk`. :func:`walk` never changes the current " @@ -4749,7 +4758,7 @@ msgstr "" "actuel entre deux exécutions de :func:`walk`. :func:`walk` ne change jamais " "le répertoire actuel, et suppose que l'appelant ne le fait pas non plus." -#: library/os.rst:3248 +#: library/os.rst:3255 msgid "" "This example displays the number of bytes taken by non-directory files in " "each directory under the starting directory, except that it doesn't look " @@ -4759,7 +4768,7 @@ msgstr "" "dans chaque répertoire à partir du répertoire de départ, si ce n'est qu'il " "ne cherche pas après un sous-répertoire CSV ::" -#: library/os.rst:3200 +#: library/os.rst:3207 msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " @@ -4769,7 +4778,7 @@ msgstr "" "parcourir l'arbre de bas-en-haut est essentiel : :func:`rmdir` ne permet pas " "de supprimer un répertoire avant qu'un ne soit vide ::" -#: library/os.rst:3215 +#: library/os.rst:3222 msgid "" "Raises an :ref:`auditing event ` ``os.walk`` with arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." @@ -4777,7 +4786,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.walk`` avec les arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." -#: library/os.rst:3217 +#: library/os.rst:3224 msgid "" "This function now calls :func:`os.scandir` instead of :func:`os.listdir`, " "making it faster by reducing the number of calls to :func:`os.stat`." @@ -4786,7 +4795,7 @@ msgstr "" "listdir`, ce qui la rend plus rapide en réduisant le nombre d'appels à :func:" "`os.stat`." -#: library/os.rst:3231 +#: library/os.rst:3238 msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." @@ -4794,7 +4803,7 @@ msgstr "" "Se comporte exactement comme :func:`walk`, si ce n'est qu'il fournit un " "quadruplet ``(dirpath, dirnames, filenames, dirfd)``, et gère ``dir_fd``." -#: library/os.rst:3234 +#: library/os.rst:3241 msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." @@ -4803,7 +4812,7 @@ msgstr "" "`walk` et *dirfd* est un descripteur de fichier faisant référence au " "répertoire *dirpath*." -#: library/os.rst:3237 +#: library/os.rst:3244 msgid "" "This function always supports :ref:`paths relative to directory descriptors " "` and :ref:`not following symlinks `. Note however " @@ -4816,7 +4825,7 @@ msgstr "" "fonctions, la valeur par défaut de *follow_symlinks* pour :func:`walk` est " "``False``." -#: library/os.rst:3244 +#: library/os.rst:3251 msgid "" "Since :func:`fwalk` yields file descriptors, those are only valid until the " "next iteration step, so you should duplicate them (e.g. with :func:`dup`) if " @@ -4826,7 +4835,7 @@ msgstr "" "valides que jusque la prochaine itération. Donc vous devriez les dupliquer " "(par exemple avec :func:`dup`) si vous désirez les garder plus longtemps." -#: library/os.rst:3261 +#: library/os.rst:3268 msgid "" "In the next example, walking the tree bottom-up is essential: :func:`rmdir` " "doesn't allow deleting a directory before the directory is empty::" @@ -4835,7 +4844,7 @@ msgstr "" "func:`rmdir` ne permet pas de supprimer un répertoire avant qu'il ne soit " "vide ::" -#: library/os.rst:3276 +#: library/os.rst:3283 msgid "" "Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." @@ -4843,11 +4852,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.fwalk`` avec les arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." -#: library/os.rst:3285 +#: library/os.rst:3292 msgid "Added support for :class:`bytes` paths." msgstr "Ajout de la gestion des chemins de type :class:`bytes`." -#: library/os.rst:3291 +#: library/os.rst:3298 msgid "" "Create an anonymous file and return a file descriptor that refers to it. " "*flags* must be one of the ``os.MFD_*`` constants available on the system " @@ -4855,7 +4864,7 @@ msgid "" "descriptor is :ref:`non-inheritable `." msgstr "" -#: library/os.rst:3296 +#: library/os.rst:3303 msgid "" "The name supplied in *name* is used as a filename and will be displayed as " "the target of the corresponding symbolic link in the directory ``/proc/self/" @@ -4865,7 +4874,7 @@ msgid "" "side effects." msgstr "" -#: library/os.rst:3304 +#: library/os.rst:3311 msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " "newer." @@ -4873,11 +4882,11 @@ msgstr "" ":ref:`Disponibilité ` : Linux 3.17 ou plus récent avec glibc " "2.27 ou plus récente." -#: library/os.rst:3326 +#: library/os.rst:3333 msgid "These flags can be passed to :func:`memfd_create`." msgstr "" -#: library/os.rst:3330 +#: library/os.rst:3337 #, fuzzy msgid "" ":ref:`Availability `: Linux 3.17 or newer with glibc 2.27 or " @@ -4887,7 +4896,7 @@ msgstr "" "6.0 et plus récent, OpenBSD 2.7 et plus récent. L'utilisation de *flags* " "requiert Linux 4.6 ou plus récent." -#: library/os.rst:3336 +#: library/os.rst:3343 msgid "" "Create and return an event file descriptor. The file descriptors supports " "raw :func:`read` and :func:`write` with a buffer size of 8, :func:`~select." @@ -4896,7 +4905,7 @@ msgid "" "ref:`non-inheritable `." msgstr "" -#: library/os.rst:3342 +#: library/os.rst:3349 msgid "" "*initval* is the initial value of the event counter. The initial value must " "be an 32 bit unsigned integer. Please note that the initial value is limited " @@ -4904,39 +4913,39 @@ msgid "" "integer with a maximum value of 2\\ :sup:`64`\\ -\\ 2." msgstr "" -#: library/os.rst:3347 +#: library/os.rst:3354 msgid "" "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " "and :const:`EFD_SEMAPHORE`." msgstr "" -#: library/os.rst:3350 +#: library/os.rst:3357 msgid "" "If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :" "func:`eventfd_read` returns 1 and decrements the counter by one." msgstr "" -#: library/os.rst:3353 +#: library/os.rst:3360 msgid "" "If :const:`EFD_SEMAPHORE` is not specified and the event counter is non-" "zero, :func:`eventfd_read` returns the current event counter value and " "resets the counter to zero." msgstr "" -#: library/os.rst:3357 +#: library/os.rst:3364 msgid "" "If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" "func:`eventfd_read` blocks." msgstr "" -#: library/os.rst:3360 +#: library/os.rst:3367 msgid "" ":func:`eventfd_write` increments the event counter. Write blocks if the " "write operation would increment the counter to a value larger than 2\\ :sup:" "`64`\\ -\\ 2." msgstr "" -#: library/os.rst:3382 +#: library/os.rst:3389 #, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.27 or newer with glibc 2.8 or " @@ -4945,40 +4954,40 @@ msgstr "" ":ref:`Disponibilité ` : Linux 3.17 ou plus récent avec glibc " "2.27 ou plus récente." -#: library/os.rst:3387 +#: library/os.rst:3394 msgid "" "Read value from an :func:`eventfd` file descriptor and return a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" -#: library/os.rst:3400 library/os.rst:3417 +#: library/os.rst:3407 library/os.rst:3424 #, fuzzy msgid ":ref:`Availability `: See :func:`eventfd`" msgstr ":ref:`Disponibilité ` : dérivés récents de Unix." -#: library/os.rst:3396 +#: library/os.rst:3403 msgid "" "Add value to an :func:`eventfd` file descriptor. *value* must be a 64 bit " "unsigned int. The function does not verify that *fd* is an :func:`eventfd`." msgstr "" -#: library/os.rst:3405 +#: library/os.rst:3412 #, fuzzy msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor." msgstr "Définit le marqueur « héritable » du descripteur de fichier spécifié." -#: library/os.rst:3413 +#: library/os.rst:3420 msgid "" "Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor." msgstr "" -#: library/os.rst:3422 +#: library/os.rst:3429 msgid "" "Provide semaphore-like semantics for reads from a :func:`eventfd` file " "descriptor. On read the internal counter is decremented by one." msgstr "" -#: library/os.rst:3426 +#: library/os.rst:3433 #, fuzzy msgid "" ":ref:`Availability `: Linux 2.6.30 or newer with glibc 2.8 or " @@ -4987,15 +4996,15 @@ msgstr "" ":ref:`Disponibilité ` : Linux 3.17 ou plus récent avec glibc " "2.27 ou plus récente." -#: library/os.rst:3431 +#: library/os.rst:3438 msgid "Linux extended attributes" msgstr "Attributs étendus pour Linux" -#: library/os.rst:3435 +#: library/os.rst:3442 msgid "These functions are all available on Linux only." msgstr "Toutes ces fonctions ne sont disponibles que sur Linux." -#: library/os.rst:3439 +#: library/os.rst:3446 msgid "" "Return the value of the extended filesystem attribute *attribute* for " "*path*. *attribute* can be bytes or str (directly or indirectly through the :" @@ -5008,7 +5017,7 @@ msgstr "" "`PathLike`). Si c'est une chaîne de caractères, elle est encodée avec " "l'encodage du système de fichiers." -#: library/os.rst:3447 +#: library/os.rst:3454 msgid "" "Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " "``path``, ``attribute``." @@ -5016,11 +5025,11 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.getxattr`` avec les " "arguments ``path``, ``attribute``." -#: library/os.rst:3481 library/os.rst:3506 +#: library/os.rst:3488 library/os.rst:3513 msgid "Accepts a :term:`path-like object` for *path* and *attribute*." msgstr "Accepte un :term:`path-like object` pour *path* et *attribute*." -#: library/os.rst:3455 +#: library/os.rst:3462 msgid "" "Return a list of the extended filesystem attributes on *path*. The " "attributes in the list are represented as strings decoded with the " @@ -5032,7 +5041,7 @@ msgstr "" "sont décodés avec l'encodage du système de fichier. Si *path* vaut " "``None``, :func:`listxattr` examinera le répertoire actuel." -#: library/os.rst:3463 +#: library/os.rst:3470 msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." @@ -5040,7 +5049,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.listxattr`` avec l'argument " "``path``." -#: library/os.rst:3471 +#: library/os.rst:3478 #, fuzzy msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " @@ -5054,7 +5063,7 @@ msgstr "" "c'est une chaîne de caractères, elle est encodée avec l'encodage du système " "de fichiers." -#: library/os.rst:3479 +#: library/os.rst:3486 msgid "" "Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " "``path``, ``attribute``." @@ -5062,7 +5071,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.removexattr`` avec les " "arguments ``path``, ``attribute``." -#: library/os.rst:3487 +#: library/os.rst:3494 #, fuzzy msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " @@ -5084,7 +5093,7 @@ msgstr "" "donné et que l'attribut existe déjà, l'attribut ne sera pas créé et " "``ENODATA`` sera levée." -#: library/os.rst:3501 +#: library/os.rst:3508 msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." @@ -5092,7 +5101,7 @@ msgstr "" "Un bogue des versions inférieures à 2.6.39 du noyau Linux faisait que les " "marqueurs de *flags* étaient ignorés sur certains systèmes." -#: library/os.rst:3504 +#: library/os.rst:3511 msgid "" "Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " "``path``, ``attribute``, ``value``, ``flags``." @@ -5100,7 +5109,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.setxattr`` avec les " "arguments ``path``, ``attribute``, ``value``, ``flags``." -#: library/os.rst:3512 +#: library/os.rst:3519 msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." @@ -5108,7 +5117,7 @@ msgstr "" "La taille maximum que peut faire la valeur d'un attribut étendu. " "Actuellement, c'est 64 KiB sur Lniux." -#: library/os.rst:3518 +#: library/os.rst:3525 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." @@ -5116,7 +5125,7 @@ msgstr "" "C'est une valeur possible pour l'argument *flags* de :func:`setxattr`. Elle " "indique que l'opération doit créer un attribut." -#: library/os.rst:3524 +#: library/os.rst:3531 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." @@ -5124,16 +5133,16 @@ msgstr "" "C'est une valeur possible pour l'argument *flags* de :func:`setxattr`.Elle " "indique que l'opération doit remplacer un attribut existant." -#: library/os.rst:3531 +#: library/os.rst:3538 msgid "Process Management" msgstr "Gestion des processus" -#: library/os.rst:3533 +#: library/os.rst:3540 msgid "These functions may be used to create and manage processes." msgstr "" "Ces fonctions peuvent être utilisées pour créer et gérer des processus." -#: library/os.rst:3535 +#: library/os.rst:3542 msgid "" "The various :func:`exec\\* ` functions take a list of arguments for " "the new program loaded into the process. In each case, the first of these " @@ -5152,7 +5161,7 @@ msgstr "" "exemple, ``os.execv('/bin/echo/', ['foo', 'bar'])`` affichera uniquement " "``bar`` sur la sortie standard ; ``foo`` semblera être ignoré." -#: library/os.rst:3546 +#: library/os.rst:3553 msgid "" "Generate a :const:`SIGABRT` signal to the current process. On Unix, the " "default behavior is to produce a core dump; on Windows, the process " @@ -5166,31 +5175,31 @@ msgstr "" "Attention : appeler cette fonction n'appellera pas le gestionnaire de signal " "Python enregistré par :const:`SIGABRT` à l'aide de :func:`signal.signal`." -#: library/os.rst:3555 +#: library/os.rst:3562 msgid "Add a path to the DLL search path." msgstr "Ajoute un chemin aux chemins de recherche de DLL." -#: library/os.rst:3557 +#: library/os.rst:3564 msgid "" "This search path is used when resolving dependencies for imported extension " "modules (the module itself is resolved through :data:`sys.path`), and also " "by :mod:`ctypes`." msgstr "" -#: library/os.rst:3561 +#: library/os.rst:3568 msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." msgstr "" -#: library/os.rst:3564 +#: library/os.rst:3571 msgid "" "See the `Microsoft documentation `_ for more information about how " "DLLs are loaded." msgstr "" -#: library/os.rst:3568 +#: library/os.rst:3575 msgid "" "Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " "argument ``path``." @@ -5198,7 +5207,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.add_dll_directory`` avec " "l'argument ``path``." -#: library/os.rst:3572 +#: library/os.rst:3579 msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " "for the current process. This led to inconsistencies, such as only sometimes " @@ -5206,14 +5215,14 @@ msgid "" "such as ``AddDllDirectory`` having no effect." msgstr "" -#: library/os.rst:3579 +#: library/os.rst:3586 msgid "" "In 3.8, the two primary ways DLLs are loaded now explicitly override the " "process-wide behavior to ensure consistency. See the :ref:`porting notes " "` for information on updating libraries." msgstr "" -#: library/os.rst:3594 +#: library/os.rst:3601 msgid "" "These functions all execute a new program, replacing the current process; " "they do not return. On Unix, the new executable is loaded into the current " @@ -5225,7 +5234,7 @@ msgstr "" "dans le processus actuel, et aura le même identifiant de processus (PID) que " "l'appelant. Les erreurs seront reportées par des exceptions :exc:`OSError`." -#: library/os.rst:3599 +#: library/os.rst:3606 msgid "" "The current process is replaced immediately. Open file objects and " "descriptors are not flushed, so if there may be data buffered on these open " @@ -5238,7 +5247,7 @@ msgstr "" "manuellement en utilisant :func:`sys.stdout.flush` ou :func:`os.fsync` avant " "d'appeler une fonction :func:`exec\\* `." -#: library/os.rst:3605 +#: library/os.rst:3612 msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " "in how command-line arguments are passed. The \"l\" variants are perhaps " @@ -5261,7 +5270,7 @@ msgstr "" "devraient commencer avec le nom de la commande à lancer, mais ce n'est pas " "obligatoire." -#: library/os.rst:3614 +#: library/os.rst:3621 msgid "" "The variants which include a \"p\" near the end (:func:`execlp`, :func:" "`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " @@ -5284,7 +5293,7 @@ msgstr "" "localiser l'exécutable. *path* doit contenir un chemin absolue ou relatif " "approprié." -#: library/os.rst:3624 +#: library/os.rst:3631 msgid "" "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -5301,7 +5310,7 @@ msgstr "" "`execlp`, :func:`execv`, et :func:`execvp` causent toutes un héritage de " "l'environnement du processus actuel par le processus fils." -#: library/os.rst:3631 +#: library/os.rst:3638 msgid "" "For :func:`execve` on some platforms, *path* may also be specified as an " "open file descriptor. This functionality may not be supported on your " @@ -5315,7 +5324,7 @@ msgstr "" "disponible en utilisant :data:`os._supports_fd`. Si c'est indisponible, " "l'utiliser lèvera une :exc:`NotImplementedError`." -#: library/os.rst:3636 +#: library/os.rst:3643 msgid "" "Raises an :ref:`auditing event ` ``os.exec`` with arguments " "``path``, ``args``, ``env``." @@ -5323,7 +5332,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.exec`` avec les arguments " "``path``, ``args``, ``env``." -#: library/os.rst:3640 +#: library/os.rst:3647 #, fuzzy msgid "" "Added support for specifying *path* as an open file descriptor for :func:" @@ -5332,7 +5341,7 @@ msgstr "" "Prise en charge de la spécification d'un descripteur de fichier ouvert pour " "*path* pour :func:`execve`." -#: library/os.rst:3649 +#: library/os.rst:3656 msgid "" "Exit the process with status *n*, without calling cleanup handlers, flushing " "stdio buffers, etc." @@ -5340,16 +5349,17 @@ msgstr "" "Quitte le processus avec le statut *n*, sans appeler les gestionnaires de " "nettoyage, sans purger les tampons des fichiers, etc." -#: library/os.rst:3654 +#: library/os.rst:3661 +#, fuzzy msgid "" -"The standard way to exit is ``sys.exit(n)``. :func:`_exit` should normally " -"only be used in the child process after a :func:`fork`." +"The standard way to exit is :func:`sys.exit(n) `. :func:`!_exit` " +"should normally only be used in the child process after a :func:`fork`." msgstr "" "La méthode standard pour quitter est ``sys.exit(n)``. :func:`_exit` devrait " "normalement être utilisé uniquement par le processus fils après un :func:" "`fork`." -#: library/os.rst:3657 +#: library/os.rst:3664 msgid "" "The following exit codes are defined and can be used with :func:`_exit`, " "although they are not required. These are typically used for system " @@ -5361,7 +5371,7 @@ msgstr "" "utilisés pour les programmes systèmes écrits en Python, comme un programme " "de gestion de l'exécution des commandes d'un serveur de mails." -#: library/os.rst:3663 +#: library/os.rst:3670 msgid "" "Some of these may not be available on all Unix platforms, since there is " "some variation. These constants are defined where they are defined by the " @@ -5371,11 +5381,11 @@ msgstr "" "plate-formes Unix étant donné qu'il en existe des variations. Ces constantes " "sont définies là où elles sont définies par la plate-forme sous-jacente." -#: library/os.rst:3670 +#: library/os.rst:3677 msgid "Exit code that means no error occurred." msgstr "Code de sortie signifiant qu'aucune erreur n'est arrivée." -#: library/os.rst:3677 +#: library/os.rst:3684 msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." @@ -5383,36 +5393,36 @@ msgstr "" "Code de sortie signifiant que les commandes n'ont pas été utilisées " "correctement, comme quand le mauvais nombre d'arguments a été donné." -#: library/os.rst:3685 +#: library/os.rst:3692 msgid "Exit code that means the input data was incorrect." msgstr "" "Code de sortie signifiant que les données en entrées étaient incorrectes." -#: library/os.rst:3692 +#: library/os.rst:3699 msgid "Exit code that means an input file did not exist or was not readable." msgstr "" "Code de sortie signifiant qu'un des fichiers d'entrée n'existe pas ou n'est " "pas lisible." -#: library/os.rst:3699 +#: library/os.rst:3706 msgid "Exit code that means a specified user did not exist." msgstr "Code de sortie signifiant qu'un utilisateur spécifié n'existe pas." -#: library/os.rst:3706 +#: library/os.rst:3713 msgid "Exit code that means a specified host did not exist." msgstr "Code de sortie signifiant qu'un hôte spécifié n'existe pas." -#: library/os.rst:3713 +#: library/os.rst:3720 msgid "Exit code that means that a required service is unavailable." msgstr "Code de sortie signifiant qu'un service requis n'est pas disponible." -#: library/os.rst:3720 +#: library/os.rst:3727 msgid "Exit code that means an internal software error was detected." msgstr "" "Code de sortie signifiant qu'une erreur interne d'un programme a été " "détectée." -#: library/os.rst:3727 +#: library/os.rst:3734 msgid "" "Exit code that means an operating system error was detected, such as the " "inability to fork or create a pipe." @@ -5421,7 +5431,7 @@ msgstr "" "détectée, comme l'incapacité à réaliser un *fork* ou à créer un tuyau " "(*pipe*)." -#: library/os.rst:3735 +#: library/os.rst:3742 msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." @@ -5429,20 +5439,20 @@ msgstr "" "Code de sortie signifiant qu'un fichier n'existe pas, n'a pas pu être " "ouvert, ou avait une autre erreur." -#: library/os.rst:3743 +#: library/os.rst:3750 msgid "Exit code that means a user specified output file could not be created." msgstr "" "Code de sortie signifiant qu'un fichier spécifié par l'utilisateur n'a pas " "pu être créé." -#: library/os.rst:3750 +#: library/os.rst:3757 msgid "" "Exit code that means that an error occurred while doing I/O on some file." msgstr "" "Code de sortie signifiant qu'une erreur est apparue pendant une E/S sur un " "fichier." -#: library/os.rst:3757 +#: library/os.rst:3764 msgid "" "Exit code that means a temporary failure occurred. This indicates something " "that may not really be an error, such as a network connection that couldn't " @@ -5452,7 +5462,7 @@ msgstr "" "quelque chose qui pourrait ne pas être une erreur, comme une connexion au " "réseau qui n'a pas pu être établie pendant une opération réessayable." -#: library/os.rst:3766 +#: library/os.rst:3773 msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." @@ -5460,7 +5470,7 @@ msgstr "" "Code de sortie signifiant qu'un protocole d'échange est illégal, invalide, " "ou non-compris." -#: library/os.rst:3774 +#: library/os.rst:3781 msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." @@ -5468,17 +5478,17 @@ msgstr "" "Code de sortie signifiant qu'il manque certaines permissions pour réaliser " "une opération (mais n'est pas destiné au problèmes de système de fichiers)." -#: library/os.rst:3782 +#: library/os.rst:3789 msgid "Exit code that means that some kind of configuration error occurred." msgstr "Code de sortie signifiant qu'une erreur de configuration est apparue." -#: library/os.rst:3789 +#: library/os.rst:3796 msgid "Exit code that means something like \"an entry was not found\"." msgstr "" "Code de sortie signifiant quelque chose comme « une entrée n'a pas été " "trouvée »." -#: library/os.rst:3796 +#: library/os.rst:3803 msgid "" "Fork a child process. Return ``0`` in the child and the child's process id " "in the parent. If an error occurs :exc:`OSError` is raised." @@ -5487,7 +5497,7 @@ msgstr "" "processus fils dans le processus père. Si une erreur apparaît, une :exc:" "`OSError` est levée." -#: library/os.rst:3799 +#: library/os.rst:3806 #, fuzzy msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " @@ -5496,25 +5506,25 @@ msgstr "" "Notez que certaines plate-formes, dont FreeBSD <= 6.3 et Cygwin, ont des " "problèmes connus lors d'utilisation de *fork()* depuis un fil d'exécution." -#: library/os.rst:3802 +#: library/os.rst:3809 msgid "" "Raises an :ref:`auditing event ` ``os.fork`` with no arguments." msgstr "" "Lève un :ref:`évènement d'audit ` ``sys.fork`` sans argument." -#: library/os.rst:3804 +#: library/os.rst:3811 msgid "" "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -#: library/os.rst:3810 +#: library/os.rst:3817 msgid "See :mod:`ssl` for applications that use the SSL module with fork()." msgstr "" "Voit :mod:`ssl` pour les application qui utilisent le module SSL avec " "*fork()*." -#: library/os.rst:3817 +#: library/os.rst:3824 msgid "" "Fork a child process, using a new pseudo-terminal as the child's controlling " "terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, " @@ -5529,19 +5539,19 @@ msgstr "" "approche plus portable, utilisez le module :mod:`pty`. Si une erreur " "apparaît, une :exc:`OSError` est levée." -#: library/os.rst:3823 +#: library/os.rst:3830 msgid "" "Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." msgstr "" "Lève un :ref:`évènement d'audit ` ``sys.forkpty`` sans argument." -#: library/os.rst:3825 +#: library/os.rst:3832 msgid "" "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" "`RuntimeError` is raised)." msgstr "" -#: library/os.rst:3838 +#: library/os.rst:3845 msgid "" "Send signal *sig* to the process *pid*. Constants for the specific signals " "available on the host platform are defined in the :mod:`signal` module." @@ -5549,7 +5559,7 @@ msgstr "" "Envoie le signal *sig* au processus *pid*. Les constantes pour les signaux " "spécifiques à la plate-forme hôte sont définies dans le module :mod:`signal`." -#: library/os.rst:3841 +#: library/os.rst:3848 msgid "" "Windows: The :data:`signal.CTRL_C_EVENT` and :data:`signal.CTRL_BREAK_EVENT` " "signals are special signals which can only be sent to console processes " @@ -5566,11 +5576,11 @@ msgstr "" "sera mis à *sig*. La version Windows de :func:`kill` prend en plus les " "identificateurs de processus à tuer." -#: library/os.rst:3849 +#: library/os.rst:3856 msgid "See also :func:`signal.pthread_kill`." msgstr "Voir également :func:`signal.pthread_kill`." -#: library/os.rst:3851 +#: library/os.rst:3858 msgid "" "Raises an :ref:`auditing event ` ``os.kill`` with arguments " "``pid``, ``sig``." @@ -5578,15 +5588,15 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.kill`` avec les arguments " "``pid``, ``sig``." -#: library/os.rst:3853 +#: library/os.rst:3860 msgid "Windows support." msgstr "Prise en charge de Windows." -#: library/os.rst:3863 +#: library/os.rst:3870 msgid "Send the signal *sig* to the process group *pgid*." msgstr "Envoie le signal *sig* au groupe de processus *pgid*." -#: library/os.rst:3865 +#: library/os.rst:3872 msgid "" "Raises an :ref:`auditing event ` ``os.killpg`` with arguments " "``pgid``, ``sig``." @@ -5594,13 +5604,13 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.killpg`` avec les arguments " "``pgid``, ``sig``." -#: library/os.rst:3872 +#: library/os.rst:3879 msgid "" "Add *increment* to the process's \"niceness\". Return the new niceness." msgstr "" "Ajoute *increment* à la priorité du processus. Renvoie la nouvelle priorité." -#: library/os.rst:3879 +#: library/os.rst:3886 msgid "" "Return a file descriptor referring to the process *pid*. This descriptor " "can be used to perform process management without races and signals. The " @@ -5608,16 +5618,16 @@ msgid "" "currently defined." msgstr "" -#: library/os.rst:3884 +#: library/os.rst:3891 msgid "See the :manpage:`pidfd_open(2)` man page for more details." msgstr "" -#: library/os.rst:3886 +#: library/os.rst:3893 #, fuzzy msgid ":ref:`Availability `: Linux 5.3+" msgstr ":ref:`Disponibilité ` : Linux 5.3+" -#: library/os.rst:3892 +#: library/os.rst:3899 msgid "" "Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." @@ -5625,7 +5635,7 @@ msgstr "" "Verrouille les segments du programme en mémoire. La valeur de *op* (définie " "dans ````) détermine quels segments sont verrouillés." -#: library/os.rst:3900 +#: library/os.rst:3907 msgid "" "Open a pipe to or from command *cmd*. The return value is an open file " "object connected to the pipe, which can be read or written depending on " @@ -5641,7 +5651,7 @@ msgstr "" "`open`. L'objet fichier renvoyé écrit (ou lit) des chaînes de caractères et " "non de bytes." -#: library/os.rst:3907 +#: library/os.rst:3914 msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " "successfully, or the subprocess's return code if there was an error. On " @@ -5662,14 +5672,14 @@ msgstr "" "été tué). Sur les systèmes Windows, la valeur de retour contient le code de " "retour du processus fils dans un entier signé ." -#: library/os.rst:3917 +#: library/os.rst:3924 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` " "method result (exit status) into an exit code if it is not ``None``. On " "Windows, the ``close`` method result is directly the exit code (or ``None``)." msgstr "" -#: library/os.rst:3922 +#: library/os.rst:3929 msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " @@ -5679,29 +5689,29 @@ msgstr "" "documentation de cette classe pour des méthodes plus puissantes pour gérer " "et communiquer avec des sous-processus." -#: library/os.rst:3931 +#: library/os.rst:3938 msgid "Wraps the :c:func:`posix_spawn` C library API for use from Python." msgstr "" -#: library/os.rst:3933 +#: library/os.rst:3940 msgid "" "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." msgstr "" -#: library/os.rst:3935 +#: library/os.rst:3942 msgid "" "The positional-only arguments *path*, *args*, and *env* are similar to :func:" "`execve`." msgstr "" -#: library/os.rst:3938 +#: library/os.rst:3945 msgid "" "The *path* parameter is the path to the executable file. The *path* should " "contain a directory. Use :func:`posix_spawnp` to pass an executable file " "without directory." msgstr "" -#: library/os.rst:3942 +#: library/os.rst:3949 msgid "" "The *file_actions* argument may be a sequence of tuples describing actions " "to take on specific file descriptors in the child process between the C " @@ -5710,31 +5720,31 @@ msgid "" "describing the remaining tuple elements:" msgstr "" -#: library/os.rst:3950 +#: library/os.rst:3957 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" msgstr "" -#: library/os.rst:3952 +#: library/os.rst:3959 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." msgstr "" -#: library/os.rst:3956 +#: library/os.rst:3963 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "" -#: library/os.rst:3958 +#: library/os.rst:3965 msgid "Performs ``os.close(fd)``." msgstr "" -#: library/os.rst:3962 +#: library/os.rst:3969 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgstr "" -#: library/os.rst:3964 +#: library/os.rst:3971 msgid "Performs ``os.dup2(fd, new_fd)``." msgstr "" -#: library/os.rst:3966 +#: library/os.rst:3973 msgid "" "These tuples correspond to the C library :c:func:" "`posix_spawn_file_actions_addopen`, :c:func:" @@ -5743,7 +5753,7 @@ msgid "" "`posix_spawn` call itself." msgstr "" -#: library/os.rst:3972 +#: library/os.rst:3979 msgid "" "The *setpgroup* argument will set the process group of the child to the " "value specified. If the value specified is 0, the child's process group ID " @@ -5752,7 +5762,7 @@ msgid "" "corresponds to the C library :c:data:`POSIX_SPAWN_SETPGROUP` flag." msgstr "" -#: library/os.rst:3978 +#: library/os.rst:3985 msgid "" "If the *resetids* argument is ``True`` it will reset the effective UID and " "GID of the child to the real UID and GID of the parent process. If the " @@ -5763,7 +5773,7 @@ msgid "" "library :c:data:`POSIX_SPAWN_RESETIDS` flag." msgstr "" -#: library/os.rst:3986 +#: library/os.rst:3993 msgid "" "If the *setsid* argument is ``True``, it will create a new session ID for " "``posix_spawn``. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" @@ -5771,7 +5781,7 @@ msgid "" "raised." msgstr "" -#: library/os.rst:3991 +#: library/os.rst:3998 msgid "" "The *setsigmask* argument will set the signal mask to the signal set " "specified. If the parameter is not used, then the child inherits the " @@ -5779,14 +5789,14 @@ msgid "" "`POSIX_SPAWN_SETSIGMASK` flag." msgstr "" -#: library/os.rst:3996 +#: library/os.rst:4003 msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " "specified. This argument corresponds to the C library :c:data:" "`POSIX_SPAWN_SETSIGDEF` flag." msgstr "" -#: library/os.rst:4000 +#: library/os.rst:4007 msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " "policy and an instance of :class:`sched_param` with the scheduler " @@ -5796,7 +5806,7 @@ msgid "" "`POSIX_SPAWN_SETSCHEDULER` flags." msgstr "" -#: library/os.rst:4023 +#: library/os.rst:4030 msgid "" "Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " "``path``, ``argv``, ``env``." @@ -5804,18 +5814,18 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.posix_spawn`` avec les " "arguments ``path``, ``argv``, ``env``." -#: library/os.rst:4017 +#: library/os.rst:4024 msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python." msgstr "" -#: library/os.rst:4019 +#: library/os.rst:4026 msgid "" "Similar to :func:`posix_spawn` except that the system searches for the " "*executable* file in the list of directories specified by the :envvar:`PATH` " "environment variable (in the same way as for ``execvp(3)``)." msgstr "" -#: library/os.rst:4027 +#: library/os.rst:4034 #, fuzzy msgid "" ":ref:`Availability `: See :func:`posix_spawn` documentation." @@ -5823,7 +5833,7 @@ msgstr "" ":ref:`Disponibilité ` : voir la documentation de :func:" "`posix_spawn`." -#: library/os.rst:4033 +#: library/os.rst:4040 msgid "" "Register callables to be executed when a new child process is forked using :" "func:`os.fork` or similar process cloning APIs. The parameters are optional " @@ -5834,12 +5844,12 @@ msgstr "" "clonage de processus. Les paramètres sont optionnels et par mots-clé " "uniquement. Chacun spécifie un point d'appel différent." -#: library/os.rst:4038 +#: library/os.rst:4045 msgid "*before* is a function called before forking a child process." msgstr "" "*before* est une fonction appelée avant de *forker* un processus enfant." -#: library/os.rst:4039 +#: library/os.rst:4046 msgid "" "*after_in_parent* is a function called from the parent process after forking " "a child process." @@ -5847,11 +5857,11 @@ msgstr "" "*after_in_parent* est une fonction appelée depuis le processus parent après " "avoir *forké* un processus enfant." -#: library/os.rst:4041 +#: library/os.rst:4048 msgid "*after_in_child* is a function called from the child process." msgstr "*after_in_child* est une fonction appelée depuis le processus enfant." -#: library/os.rst:4043 +#: library/os.rst:4050 msgid "" "These calls are only made if control is expected to return to the Python " "interpreter. A typical :mod:`subprocess` launch will not trigger them as " @@ -5861,7 +5871,7 @@ msgstr "" "l'interpréteur Python. Un lancement de :mod:`subprocess` typique ne les " "déclenchera pas, car l'enfant ne ré-entre pas dans l'interpréteur." -#: library/os.rst:4047 +#: library/os.rst:4054 msgid "" "Functions registered for execution before forking are called in reverse " "registration order. Functions registered for execution after forking " @@ -5872,7 +5882,7 @@ msgstr "" "l'exécution après le *fork* (soit dans le parent ou dans l'enfant) sont " "appelées dans l'ordre de leur enregistrement." -#: library/os.rst:4052 +#: library/os.rst:4059 msgid "" "Note that :c:func:`fork` calls made by third-party C code may not call those " "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:" @@ -5883,15 +5893,15 @@ msgstr "" "explicitement :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` et :" "c:func:`PyOS_AfterFork_Child`." -#: library/os.rst:4056 +#: library/os.rst:4063 msgid "There is no way to unregister a function." msgstr "Il n'y a aucun moyen d'annuler l'enregistrement d'une fonction." -#: library/os.rst:4072 +#: library/os.rst:4079 msgid "Execute the program *path* in a new process." msgstr "Exécute le programme *path* dans un nouveau processus." -#: library/os.rst:4074 +#: library/os.rst:4081 msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " "for spawning new processes and retrieving their results; using that module " @@ -5903,7 +5913,7 @@ msgstr "" "est préférable d'utiliser ce module que ces fonctions. Voyez surtout la " "section :ref:`subprocess-replacements`.)" -#: library/os.rst:4079 +#: library/os.rst:4086 msgid "" "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " "new process; if *mode* is :const:`P_WAIT`, returns the process's exit code " @@ -5918,13 +5928,13 @@ msgstr "" "en fait l'identificateur du processus (*process handle*) et peut donc être " "utilisé avec la fonction :func:`waitpid`." -#: library/os.rst:4085 +#: library/os.rst:4092 msgid "" "Note on VxWorks, this function doesn't return ``-signal`` when the new " "process is killed. Instead it raises OSError exception." msgstr "" -#: library/os.rst:4088 +#: library/os.rst:4095 msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " "differ in how command-line arguments are passed. The \"l\" variants are " @@ -5946,7 +5956,7 @@ msgstr "" "fils devraient commencer avec le nom de la commande à lancer, mais ce n'est " "pas obligatoire." -#: library/os.rst:4097 +#: library/os.rst:4104 msgid "" "The variants which include a second \"p\" near the end (:func:`spawnlp`, :" "func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" @@ -5969,7 +5979,7 @@ msgstr "" "envvar:`PATH` pour localiser l'exécutable. *path* doit contenir un chemin " "absolue ou relatif approprié." -#: library/os.rst:4107 +#: library/os.rst:4114 msgid "" "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " @@ -5991,7 +6001,7 @@ msgstr "" "caractères. Des valeurs invalides pour les clefs ou les valeurs met la " "fonction en échec et renvoie ``127``." -#: library/os.rst:4116 +#: library/os.rst:4123 msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" @@ -5999,7 +6009,7 @@ msgstr "" "Par exemple, les appels suivants à :func:`spawnlp` et :func:`spawnvpe` sont " "équivalents ::" -#: library/os.rst:4125 +#: library/os.rst:4132 msgid "" "Raises an :ref:`auditing event ` ``os.spawn`` with arguments " "``mode``, ``path``, ``args``, ``env``." @@ -6007,7 +6017,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.spawn`` avec les arguments " "``mode``, ``path``, ``args``, ``env``." -#: library/os.rst:4131 +#: library/os.rst:4138 msgid "" ":ref:`Availability `: Unix, Windows. :func:`spawnlp`, :func:" "`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are not available on " @@ -6020,7 +6030,7 @@ msgstr "" "appels concurrents (*thread-safe*) sur Windows, il est conseillé d'utiliser " "le module :mod:`subprocess` à la place." -#: library/os.rst:4139 +#: library/os.rst:4146 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If either of these values is given, the :func:" @@ -6032,7 +6042,7 @@ msgstr "" "`spawn\\*` sortiront dès que le nouveau processus est créé, avec le PID du " "processus comme valeur de retour." -#: library/os.rst:4149 +#: library/os.rst:4156 msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. If this is given as *mode*, the :func:`spawn\\*` " @@ -6047,7 +6057,7 @@ msgstr "" "l'exécution est effectuée avec succès, ou ``-signal`` si un signal tue le " "processus." -#: library/os.rst:4161 +#: library/os.rst:4168 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " "family of functions. These are less portable than those listed above. :" @@ -6063,11 +6073,11 @@ msgstr "" "`P_OVERLAY` est utilisé, le processus actuel sera remplacé. La fonction :" "func:`spawn\\* ` ne sort jamais." -#: library/os.rst:4172 +#: library/os.rst:4179 msgid "Start a file with its associated application." msgstr "Lance un fichier avec son application associée." -#: library/os.rst:4174 +#: library/os.rst:4181 msgid "" "When *operation* is not specified or ``'open'``, this acts like double-" "clicking the file in Windows Explorer, or giving the file name as an " @@ -6081,7 +6091,7 @@ msgstr "" "commande interactif : le fichier est ouvert avec l'application associée à " "l'extension (s'il y en a une)." -#: library/os.rst:4179 +#: library/os.rst:4186 msgid "" "When another *operation* is given, it must be a \"command verb\" that " "specifies what should be done with the file. Common verbs documented by " @@ -6094,28 +6104,28 @@ msgstr "" "utilisés sur des fichiers) ainsi que ``'explore'`` et ``'find'`` (qui " "doivent être utilisés sur des répertoires)." -#: library/os.rst:4184 +#: library/os.rst:4191 msgid "" "When launching an application, specify *arguments* to be passed as a single " "string. This argument may have no effect when using this function to launch " "a document." msgstr "" -#: library/os.rst:4188 +#: library/os.rst:4195 msgid "" "The default working directory is inherited, but may be overridden by the " "*cwd* argument. This should be an absolute path. A relative *path* will be " "resolved against this argument." msgstr "" -#: library/os.rst:4192 +#: library/os.rst:4199 msgid "" "Use *show_cmd* to override the default window style. Whether this has any " "effect will depend on the application being launched. Values are integers as " "supported by the Win32 :c:func:`ShellExecute` function." msgstr "" -#: library/os.rst:4196 +#: library/os.rst:4203 #, fuzzy msgid "" ":func:`startfile` returns as soon as the associated application is launched. " @@ -6135,7 +6145,7 @@ msgstr "" "Utilisez la fonction :func:`os.path.normpath` pour vous assurer que le " "chemin est encodé correctement pour Win32." -#: library/os.rst:4204 +#: library/os.rst:4211 msgid "" "To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` " "function is not resolved until this function is first called. If the " @@ -6146,7 +6156,7 @@ msgstr "" "fonction na pas été appelée. Si la fonction ne peut être interprétée, une :" "exc:`NotImplementedError` est levée." -#: library/os.rst:4208 +#: library/os.rst:4215 msgid "" "Raises an :ref:`auditing event ` ``os.startfile`` with arguments " "``path``, ``operation``." @@ -6154,19 +6164,19 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``os.startfile`` avec les " "arguments ``path``, ``operation``." -#: library/os.rst:4210 +#: library/os.rst:4217 msgid "" "Raises an :ref:`auditing event ` ``os.startfile/2`` with arguments " "``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." msgstr "" -#: library/os.rst:4214 +#: library/os.rst:4221 msgid "" "Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." "startfile/2`` audit event." msgstr "" -#: library/os.rst:4221 +#: library/os.rst:4228 #, fuzzy msgid "" "Execute the command (a string) in a subshell. This is implemented by " @@ -6184,13 +6194,13 @@ msgstr "" "*command* génère une sortie, elle sera envoyée à l'interpréteur standard de " "flux." -#: library/os.rst:4229 +#: library/os.rst:4236 msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`." msgstr "" -#: library/os.rst:4232 +#: library/os.rst:4239 msgid "" "On Windows, the return value is that returned by the system shell after " "running *command*. The shell is given by the Windows environment variable :" @@ -6205,7 +6215,7 @@ msgstr "" "commande lancée. Sur les systèmes qui utilisent un invite de commande non-" "natif, consultez la documentation propre à l'invite." -#: library/os.rst:4238 +#: library/os.rst:4245 msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " "new processes and retrieving their results; using that module is preferable " @@ -6218,14 +6228,14 @@ msgstr "" "ref:`subprocess-replacements` de la documentation du module :mod:" "`subprocess` pour des informations plus précises et utiles." -#: library/os.rst:4243 +#: library/os.rst:4250 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result " "(exit status) into an exit code. On Windows, the result is directly the exit " "code." msgstr "" -#: library/os.rst:4247 +#: library/os.rst:4254 msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." @@ -6233,7 +6243,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``os.system`` avec comme " "argument ``command``." -#: library/os.rst:4254 +#: library/os.rst:4261 msgid "" "Returns the current global process times. The return value is an object with " "five attributes:" @@ -6241,32 +6251,32 @@ msgstr "" "Renvoie les temps globaux actuels d'exécution du processus. La valeur de " "retour est un objet avec cinq attributs :" -#: library/os.rst:4257 +#: library/os.rst:4264 #, fuzzy msgid ":attr:`!user` - user time" msgstr ":attr:`user` — le temps utilisateur" -#: library/os.rst:4258 +#: library/os.rst:4265 #, fuzzy msgid ":attr:`!system` - system time" msgstr ":attr:`system` — le temps système" -#: library/os.rst:4259 +#: library/os.rst:4266 #, fuzzy msgid ":attr:`!children_user` - user time of all child processes" msgstr ":attr:`children_user` — temps utilisateur de tous les processus fils" -#: library/os.rst:4260 +#: library/os.rst:4267 #, fuzzy msgid ":attr:`!children_system` - system time of all child processes" msgstr ":attr:`children_system` — le temps système de tous les processus fils" -#: library/os.rst:4261 +#: library/os.rst:4268 #, fuzzy msgid ":attr:`!elapsed` - elapsed real time since a fixed point in the past" msgstr ":attr:`elapsed` — temps écoulé réel depuis un point fixé dans le passé" -#: library/os.rst:4263 +#: library/os.rst:4270 #, fuzzy msgid "" "For backwards compatibility, this object also behaves like a five-tuple " @@ -6277,7 +6287,7 @@ msgstr "" "comme un quintuplet contenant :attr:`user`, :attr:`system`, :attr:" "`children_user`, :attr:`children_system`, et :attr:`elapsed` dans cet ordre." -#: library/os.rst:4267 +#: library/os.rst:4274 #, fuzzy msgid "" "See the Unix manual page :manpage:`times(2)` and `times(3) `: Linux 5.4+" msgstr ":ref:`Disponibilité ` : Linux 5.4+" -#: library/os.rst:4339 +#: library/os.rst:4346 msgid "" "Flags that can be used in *options* in :func:`waitid` that specify what " "child signal to wait for." @@ -6369,7 +6379,7 @@ msgstr "" "Marqueurs qui peuvent être utilisés pour la fonction :func:`waitid` qui " "spécifient quel signal attendre du fils." -#: library/os.rst:4354 +#: library/os.rst:4361 msgid "" "These are the possible values for :attr:`si_code` in the result returned by :" "func:`waitid`." @@ -6377,15 +6387,15 @@ msgstr "" "Les valeurs possibles pour :attr:`si_code` dans le résultat renvoyé par :" "func:`waitid`." -#: library/os.rst:4361 +#: library/os.rst:4368 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." msgstr "" -#: library/os.rst:4367 +#: library/os.rst:4374 msgid "The details of this function differ on Unix and Windows." msgstr "Les détails de cette fonction diffèrent sur Unix et Windows." -#: library/os.rst:4369 +#: library/os.rst:4376 msgid "" "On Unix: Wait for completion of a child process given by process id *pid*, " "and return a tuple containing its process id and exit status indication " @@ -6399,7 +6409,7 @@ msgstr "" "la valeur de l'argument entier *options*, qui devrait valoir ``0`` pour les " "opérations normales." -#: library/os.rst:4374 +#: library/os.rst:4381 msgid "" "If *pid* is greater than ``0``, :func:`waitpid` requests status information " "for that specific process. If *pid* is ``0``, the request is for the status " @@ -6416,7 +6426,7 @@ msgstr "" "``-1``, une requête est faite pour le statut de chaque processus du groupe " "de processus donné par ``-pid`` (la valeur absolue de *pid*)." -#: library/os.rst:4381 +#: library/os.rst:4388 msgid "" "An :exc:`OSError` is raised with the value of errno when the syscall returns " "-1." @@ -6424,7 +6434,7 @@ msgstr "" "Une :exc:`OSError` est levée avec la valeur de *errno* quand l'appel système " "renvoie ``-1``." -#: library/os.rst:4384 +#: library/os.rst:4391 msgid "" "On Windows: Wait for completion of a process given by process handle *pid*, " "and return a tuple containing *pid*, and its exit status shifted left by 8 " @@ -6446,7 +6456,7 @@ msgstr "" "appelées avec :const:`P_NOWAIT` renvoient des identificateurs de processus " "appropriés." -#: library/os.rst:4403 +#: library/os.rst:4410 msgid "" "Similar to :func:`waitpid`, except no process id argument is given and a 3-" "element tuple containing the child's process id, exit status indication, and " @@ -6462,13 +6472,13 @@ msgstr "" "ressources. L'argument *options* est le même que celui fourni à :func:" "`waitpid` et :func:`wait4`." -#: library/os.rst:4424 +#: library/os.rst:4431 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." msgstr "" -#: library/os.rst:4418 +#: library/os.rst:4425 msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " "process id, exit status indication, and resource usage information is " @@ -6483,22 +6493,22 @@ msgstr "" "d'utilisation des ressources. Les arguments de :func:`wait4` sont les mêmes " "que ceux fournis à :func:`waitpid`." -#: library/os.rst:4432 +#: library/os.rst:4439 msgid "Convert a wait status to an exit code." msgstr "" -#: library/os.rst:4434 +#: library/os.rst:4441 msgid "On Unix:" msgstr "" -#: library/os.rst:4436 +#: library/os.rst:4443 msgid "" "If the process exited normally (if ``WIFEXITED(status)`` is true), return " "the process exit status (return ``WEXITSTATUS(status)``): result greater " "than or equal to 0." msgstr "" -#: library/os.rst:4439 +#: library/os.rst:4446 msgid "" "If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " "true), return ``-signum`` where *signum* is the number of the signal that " @@ -6506,15 +6516,15 @@ msgid "" "than 0." msgstr "" -#: library/os.rst:4443 +#: library/os.rst:4450 msgid "Otherwise, raise a :exc:`ValueError`." msgstr "" -#: library/os.rst:4445 +#: library/os.rst:4452 msgid "On Windows, return *status* shifted right by 8 bits." msgstr "" -#: library/os.rst:4447 +#: library/os.rst:4454 msgid "" "On Unix, if the process is being traced or if :func:`waitpid` was called " "with :data:`WUNTRACED` option, the caller must first check if " @@ -6522,13 +6532,13 @@ msgid "" "``WIFSTOPPED(status)`` is true." msgstr "" -#: library/os.rst:4454 +#: library/os.rst:4461 msgid "" ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." msgstr "" -#: library/os.rst:4462 +#: library/os.rst:4469 msgid "" "The option for :func:`waitpid` to return immediately if no child process " "status is available immediately. The function returns ``(0, 0)`` in this " @@ -6538,7 +6548,7 @@ msgstr "" "processus fils n'est disponible dans l'immédiat. La fonction renvoie ``(0, " "0)`` dans ce cas." -#: library/os.rst:4470 +#: library/os.rst:4477 msgid "" "This option causes child processes to be reported if they have been " "continued from a job control stop since their status was last reported." @@ -6547,11 +6557,11 @@ msgstr "" "continués après un arrêt du *job control* depuis leurs derniers reports de " "statuts." -#: library/os.rst:4473 +#: library/os.rst:4480 msgid ":ref:`Availability `: some Unix systems." msgstr ":ref:`Disponibilité ` : certains systèmes Unix." -#: library/os.rst:4478 +#: library/os.rst:4485 msgid "" "This option causes child processes to be reported if they have been stopped " "but their current state has not been reported since they were stopped." @@ -6559,7 +6569,7 @@ msgstr "" "Cette option cause les processus fils à être reportés s'ils ont été stoppés " "mais que leur état actuel n'a pas été reporté depuis qu'ils ont été stoppés." -#: library/os.rst:4484 +#: library/os.rst:4491 msgid "" "The following functions take a process status code as returned by :func:" "`system`, :func:`wait`, or :func:`waitpid` as a parameter. They may be used " @@ -6569,7 +6579,7 @@ msgstr "" "`system`, :func:`wait`, ou :func:`waitpid` en paramètre. Ils peuvent être " "utilisés pour déterminer la disposition d'un processus." -#: library/os.rst:4490 +#: library/os.rst:4497 msgid "" "Return ``True`` if a core dump was generated for the process, otherwise " "return ``False``." @@ -6577,11 +6587,11 @@ msgstr "" "Renvoie ``True`` si un vidage système (*core dump*) a été généré pour le " "processus, sinon, renvoie ``False``." -#: library/os.rst:4559 +#: library/os.rst:4566 msgid "This function should be employed only if :func:`WIFSIGNALED` is true." msgstr "" -#: library/os.rst:4500 +#: library/os.rst:4507 #, fuzzy msgid "" "Return ``True`` if a stopped child has been resumed by delivery of :data:" @@ -6592,11 +6602,11 @@ msgstr "" "avoir reçu :data:`~signal.SIGCONT` (si le processus à été continué depuis un " "arrêt *job control*), renvoie ``False`` autrement." -#: library/os.rst:4504 +#: library/os.rst:4511 msgid "See :data:`WCONTINUED` option." msgstr "" -#: library/os.rst:4511 +#: library/os.rst:4518 #, fuzzy msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " @@ -6605,14 +6615,14 @@ msgstr "" "Renvoie ``True`` si le processus s'est terminé à cause d'un signal, sinon, " "renvoie ``False``." -#: library/os.rst:4514 +#: library/os.rst:4521 msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " "(see :manpage:`ptrace(2)`)." msgstr "" -#: library/os.rst:4522 +#: library/os.rst:4529 #, fuzzy msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " @@ -6621,7 +6631,7 @@ msgstr "" "Renvoie ``True`` si le processus s'est terminé à cause d'un signal, sinon, " "renvoie ``False``." -#: library/os.rst:4530 +#: library/os.rst:4537 #, fuzzy msgid "" "Return ``True`` if the process exited terminated normally, that is, by " @@ -6631,33 +6641,33 @@ msgstr "" "Renvoie ``True`` si le processus s'est terminé en faisant un appel système :" "manpage:`exit(2)`, sinon, renvoie ``False``." -#: library/os.rst:4539 +#: library/os.rst:4546 #, fuzzy msgid "Return the process exit status." msgstr "Renvoie le statut de fin du processus." -#: library/os.rst:4541 +#: library/os.rst:4548 msgid "This function should be employed only if :func:`WIFEXITED` is true." msgstr "" -#: library/os.rst:4548 +#: library/os.rst:4555 msgid "Return the signal which caused the process to stop." msgstr "Renvoie le signal qui a causé l'arrêt du processus." -#: library/os.rst:4550 +#: library/os.rst:4557 msgid "This function should be employed only if :func:`WIFSTOPPED` is true." msgstr "" -#: library/os.rst:4557 +#: library/os.rst:4564 #, fuzzy msgid "Return the number of the signal that caused the process to terminate." msgstr "Renvoie le numéro du signal qui a causé l'arrêt du processus." -#: library/os.rst:4565 +#: library/os.rst:4572 msgid "Interface to the scheduler" msgstr "Interface pour l'ordonnanceur" -#: library/os.rst:4567 +#: library/os.rst:4574 msgid "" "These functions control how a process is allocated CPU time by the operating " "system. They are only available on some Unix platforms. For more detailed " @@ -6668,7 +6678,7 @@ msgstr "" "plate-formes Unix. Pour des informations plus détaillées, consultez les " "pages de manuels Unix." -#: library/os.rst:4573 +#: library/os.rst:4580 msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." @@ -6676,11 +6686,11 @@ msgstr "" "Les polices d'ordonnancement suivantes sont exposées si elles sont gérées " "par le système d'exploitation." -#: library/os.rst:4578 +#: library/os.rst:4585 msgid "The default scheduling policy." msgstr "La police d'ordonnancement par défaut." -#: library/os.rst:4582 +#: library/os.rst:4589 msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." @@ -6689,25 +6699,25 @@ msgstr "" "processeur. Cette police essaye de préserver l'interactivité pour le reste " "de l'ordinateur." -#: library/os.rst:4587 +#: library/os.rst:4594 msgid "Scheduling policy for extremely low priority background tasks." msgstr "" "Police d'ordonnancement pour les tâches de fond avec une priorité " "extrêmement faible." -#: library/os.rst:4591 +#: library/os.rst:4598 msgid "Scheduling policy for sporadic server programs." msgstr "Police d'ordonnancement pour des programmes serveurs sporadiques." -#: library/os.rst:4595 +#: library/os.rst:4602 msgid "A First In First Out scheduling policy." msgstr "Une police d'ordonnancement *FIFO* (dernier arrivé, premier servi)." -#: library/os.rst:4599 +#: library/os.rst:4606 msgid "A round-robin scheduling policy." msgstr "Une police d'ordonnancement *round-robin* (tourniquet)." -#: library/os.rst:4603 +#: library/os.rst:4610 msgid "" "This flag can be OR'ed with any other scheduling policy. When a process with " "this flag set forks, its child's scheduling policy and priority are reset to " @@ -6718,7 +6728,7 @@ msgstr "" "d'ordonnancement et la priorité du processus fils sont remises aux valeurs " "par défaut." -#: library/os.rst:4610 +#: library/os.rst:4617 msgid "" "This class represents tunable scheduling parameters used in :func:" "`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " @@ -6728,15 +6738,15 @@ msgstr "" "pour :func:`sched_setparam`, :func:`sched_setscheduler`, et :func:" "`sched_getparam`. Un objet de ce type est immuable." -#: library/os.rst:4614 +#: library/os.rst:4621 msgid "At the moment, there is only one possible parameter:" msgstr "Pour le moment, il n'y a qu'un seul paramètre possible :" -#: library/os.rst:4618 +#: library/os.rst:4625 msgid "The scheduling priority for a scheduling policy." msgstr "La priorité d'ordonnancement pour une police d'ordonnancement." -#: library/os.rst:4623 +#: library/os.rst:4630 msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6744,7 +6754,7 @@ msgstr "" "Récupère la valeur minimum pour une priorité pour la police *policy*. " "*policy* est une des constantes de police définies ci-dessus." -#: library/os.rst:4629 +#: library/os.rst:4636 msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -6752,7 +6762,7 @@ msgstr "" "Récupère la valeur maximum pour une priorité pour la police *policy*. " "*policy* est une des constantes de police définies ci-dessus." -#: library/os.rst:4635 +#: library/os.rst:4642 msgid "" "Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means " "the calling process. *policy* is one of the scheduling policy constants " @@ -6763,7 +6773,7 @@ msgstr "" "police définies ci-dessus. *param* est une instance de la classe :class:" "`sched_param`." -#: library/os.rst:4642 +#: library/os.rst:4649 msgid "" "Return the scheduling policy for the process with PID *pid*. A *pid* of 0 " "means the calling process. The result is one of the scheduling policy " @@ -6773,7 +6783,7 @@ msgstr "" "de 0 signifie le processus appelant. Le résultat est une des constantes de " "police définies ci-dessus." -#: library/os.rst:4649 +#: library/os.rst:4656 #, fuzzy msgid "" "Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 " @@ -6783,7 +6793,7 @@ msgstr "" "*pid* de ``0`` signifie le processus appelant. *param* est une instance de :" "class:`sched_param`." -#: library/os.rst:4655 +#: library/os.rst:4662 msgid "" "Return the scheduling parameters as a :class:`sched_param` instance for the " "process with PID *pid*. A *pid* of 0 means the calling process." @@ -6792,7 +6802,7 @@ msgstr "" "pour le processus de PID *pid*. Un *pid* de ``0`` signifie le processus " "appelant." -#: library/os.rst:4661 +#: library/os.rst:4668 msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." @@ -6800,11 +6810,11 @@ msgstr "" "Renvoie le quantum de temps du *round-robin* (en secondes) pour le processus " "de PID *pid*. Un *pid* de ``0`` signifie le processus appelant." -#: library/os.rst:4667 +#: library/os.rst:4674 msgid "Voluntarily relinquish the CPU." msgstr "Abandonne volontairement le processeur." -#: library/os.rst:4672 +#: library/os.rst:4679 msgid "" "Restrict the process with PID *pid* (or the current process if zero) to a " "set of CPUs. *mask* is an iterable of integers representing the set of CPUs " @@ -6814,7 +6824,7 @@ msgstr "" "``0``) à un ensemble de CPUs. *mask* est un itérable d'entiers représentant " "l'ensemble de CPUs auquel le processus doit être restreint." -#: library/os.rst:4679 +#: library/os.rst:4686 msgid "" "Return the set of CPUs the process with PID *pid* (or the current process if " "zero) is restricted to." @@ -6822,11 +6832,11 @@ msgstr "" "Renvoie l'ensemble de CPUs auquel le processus de PID *pid* (ou le processus " "actuel si *pid* vaut ``0``) est restreint." -#: library/os.rst:4686 +#: library/os.rst:4693 msgid "Miscellaneous System Information" msgstr "Diverses informations sur le système" -#: library/os.rst:4691 +#: library/os.rst:4698 msgid "" "Return string-valued system configuration values. *name* specifies the " "configuration value to retrieve; it may be a string which is the name of a " @@ -6846,7 +6856,7 @@ msgstr "" "incluses dans ce *mapping*, passer un entier pour *name* est également " "accepté." -#: library/os.rst:4699 +#: library/os.rst:4706 msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." @@ -6854,7 +6864,7 @@ msgstr "" "Si la valeur de configuration spécifiée par *name* n'est pas définie, " "``None`` est renvoyé." -#: library/os.rst:4702 +#: library/os.rst:4709 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " @@ -6866,7 +6876,7 @@ msgstr "" "par le système hôte, même si elle est incluse dans ``confstr_names``, une :" "exc:`OSError` est levée avec :const:`errno.EINVAL` pour numéro d'erreur." -#: library/os.rst:4712 +#: library/os.rst:4719 msgid "" "Dictionary mapping names accepted by :func:`confstr` to the integer values " "defined for those names by the host operating system. This can be used to " @@ -6876,13 +6886,13 @@ msgstr "" "entières définies pour ces noms par le système d'exploitation hôte. Cela " "peut être utilisé pour déterminer l'ensemble des noms connus du système." -#: library/os.rst:4721 +#: library/os.rst:4728 msgid "" "Return the number of CPUs in the system. Returns ``None`` if undetermined." msgstr "" "Renvoie le nombre de CPUs dans le système. Renvoie ``None`` si indéterminé." -#: library/os.rst:4723 +#: library/os.rst:4730 msgid "" "This number is not equivalent to the number of CPUs the current process can " "use. The number of usable CPUs can be obtained with ``len(os." @@ -6892,7 +6902,7 @@ msgstr "" "peut utiliser. Le nombre de CPUs utilisables peut être obtenu avec ``len(os." "sched_getaffinity(0))``" -#: library/os.rst:4733 +#: library/os.rst:4740 msgid "" "Return the number of processes in the system run queue averaged over the " "last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was " @@ -6902,7 +6912,7 @@ msgstr "" "moyenne dans les dernières 1, 5, et 15 minutes, ou lève une :exc:`OSError` " "si la charge moyenne est impossible à récupérer." -#: library/os.rst:4742 +#: library/os.rst:4749 msgid "" "Return integer-valued system configuration values. If the configuration " "value specified by *name* isn't defined, ``-1`` is returned. The comments " @@ -6916,7 +6926,7 @@ msgstr "" "s'appliquent également ici, le dictionnaire qui fournit les informations sur " "les noms connus est donné par ``sysconf_names``." -#: library/os.rst:4752 +#: library/os.rst:4759 msgid "" "Dictionary mapping names accepted by :func:`sysconf` to the integer values " "defined for those names by the host operating system. This can be used to " @@ -6926,7 +6936,7 @@ msgstr "" "entières définies pour ces noms par le système d'exploitation hôte. Cela " "peut être utilisé pour déterminer l'ensemble des noms connus du système." -#: library/os.rst:4758 +#: library/os.rst:4765 msgid "" "The following data values are used to support path manipulation operations. " "These are defined for all platforms." @@ -6934,7 +6944,7 @@ msgstr "" "Les valeurs suivantes sont utilisées pour gérer les opérations de " "manipulations de chemins. Elles sont définies pour toutes les plate-formes." -#: library/os.rst:4761 +#: library/os.rst:4768 msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." @@ -6942,7 +6952,7 @@ msgstr "" "Des opérations de plus haut niveau sur les chemins sont définies dans le " "module :mod:`os.path`." -#: library/os.rst:4767 +#: library/os.rst:4774 msgid "" "The constant string used by the operating system to refer to the current " "directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:" @@ -6952,7 +6962,7 @@ msgstr "" "référencer le répertoire actuel. Ça vaut ``'.'`` pour Windows et POSIX. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4775 +#: library/os.rst:4782 msgid "" "The constant string used by the operating system to refer to the parent " "directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:" @@ -6962,7 +6972,7 @@ msgstr "" "référencer le répertoire parent. Ça vaut ``'..'`` pour Windows et POSIX. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4784 +#: library/os.rst:4791 msgid "" "The character used by the operating system to separate pathname components. " "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " @@ -6977,7 +6987,7 @@ msgstr "" "et :func:`os.path.join`), mais ça peut s'avérer utile occasionnellement. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4794 +#: library/os.rst:4801 msgid "" "An alternative character used by the operating system to separate pathname " "components, or ``None`` if only one separator character exists. This is set " @@ -6989,7 +6999,7 @@ msgstr "" "vaut ``'/'`` sur Windows où ``sep`` est un antislash ``'\\'``. Également " "disponible par :mod:`os.path`." -#: library/os.rst:4803 +#: library/os.rst:4810 msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." @@ -6998,7 +7008,7 @@ msgstr "" "exemple, le ``'.'`` de :file:`os.py`. Également disponible par :mod:`os." "path`." -#: library/os.rst:4811 +#: library/os.rst:4818 msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " @@ -7009,7 +7019,7 @@ msgstr "" "d'environnement :envvar:`PATH`). Cela vaut ``':'`` pour POSIX, ou ``';'`` " "pour Windows. Également disponible par :mod:`os.path`." -#: library/os.rst:4818 +#: library/os.rst:4825 msgid "" "The default search path used by :func:`exec\\*p\\* ` and :func:" "`spawn\\*p\\* ` if the environment doesn't have a ``'PATH'`` key. " @@ -7019,7 +7029,7 @@ msgstr "" "func:`spawn\\* ` si l'environnement n'a pas une clef ``'PATH'``. " "Également disponible par :mod:`os.path`." -#: library/os.rst:4825 +#: library/os.rst:4832 msgid "" "The string used to separate (or, rather, terminate) lines on the current " "platform. This may be a single character, such as ``'\\n'`` for POSIX, or " @@ -7034,7 +7044,7 @@ msgstr "" "écrivez dans un fichier ouvert en mode *texte* (par défaut). Utilisez un " "unique ``'\\n'`` à la place, sur toutes les plate-formes." -#: library/os.rst:4834 +#: library/os.rst:4841 msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." @@ -7042,7 +7052,7 @@ msgstr "" "Le chemin de fichier du périphérique *null*. Par exemple : ``'/dev/null'`` " "pour POSIX, ``'nul'`` pour Windows. Également disponible par :mod:`os.path`." -#: library/os.rst:4845 +#: library/os.rst:4852 msgid "" "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys." "getdlopenflags` functions. See the Unix manual page :manpage:`dlopen(3)` " @@ -7052,11 +7062,11 @@ msgstr "" "`~sys.getdlopenflags`. Voir les pages de manuel Unix :manpage:`dlopen(3)` " "pour les différences de significations entre les marqueurs." -#: library/os.rst:4853 +#: library/os.rst:4860 msgid "Random numbers" msgstr "Nombres aléatoires" -#: library/os.rst:4858 +#: library/os.rst:4865 msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." @@ -7064,7 +7074,7 @@ msgstr "" "Obtient *size* octets aléatoires. La fonction renvoie éventuellement moins " "d'octets que demandé." -#: library/os.rst:4861 +#: library/os.rst:4868 msgid "" "These bytes can be used to seed user-space random number generators or for " "cryptographic purposes." @@ -7072,7 +7082,7 @@ msgstr "" "Ces octets peuvent être utilisés pour initialiser un générateur de nombres " "aléatoires dans l'espace utilisateur ou pour des raisons cryptographiques." -#: library/os.rst:4864 +#: library/os.rst:4871 msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " "sources of environmental noise. Unnecessarily reading large quantities of " @@ -7084,7 +7094,7 @@ msgstr "" "grosses quantités de données aura un impact négatif sur les autres " "utilisateurs des périphériques ``/dev/random`` et ``/dev/urandom``." -#: library/os.rst:4869 +#: library/os.rst:4876 msgid "" "The flags argument is a bit mask that can contain zero or more of the " "following values ORed together: :py:data:`os.GRND_RANDOM` and :py:data:" @@ -7094,7 +7104,7 @@ msgstr "" "valeurs suivantes combinées avec un OU bit-à-bit : :py:data:`os.GRND_RANDOM` " "et :py:data:`GRND_NONBLOCK`." -#: library/os.rst:4873 +#: library/os.rst:4880 #, fuzzy msgid "" "See also the `Linux getrandom() manual page `_." -#: library/os.rst:4877 +#: library/os.rst:4884 msgid ":ref:`Availability `: Linux 3.17 and newer." msgstr ":ref:`Disponibilité ` : Linux 3.17 et ultérieures." -#: library/os.rst:4882 +#: library/os.rst:4889 #, fuzzy msgid "" "Return a bytestring of *size* random bytes suitable for cryptographic use." @@ -7115,7 +7125,7 @@ msgstr "" "Renvoie une chaîne de *size* octets aléatoires utilisable dans un cadre " "cryptographique." -#: library/os.rst:4884 +#: library/os.rst:4891 msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " @@ -7126,7 +7136,7 @@ msgstr "" "pour les applications cryptographiques, bien que la qualité dépende de " "l'implémentation du système." -#: library/os.rst:4888 +#: library/os.rst:4895 msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " "blocking mode: block until the system urandom entropy pool is initialized " @@ -7143,7 +7153,7 @@ msgstr "" "aléatoires en mode non-bloquant (avec l'option :data:`GRND_NONBLOCK`) ou " "attendre jusqu'à ce que la réserve d'entropie d'*urandom* soit initialisée." -#: library/os.rst:4895 +#: library/os.rst:4902 msgid "" "On a Unix-like system, random bytes are read from the ``/dev/urandom`` " "device. If the ``/dev/urandom`` device is not available or not readable, " @@ -7154,11 +7164,11 @@ msgstr "" "disponible ou n'est pas lisible, l'exception :exc:`NotImplementedError` est " "levée." -#: library/os.rst:4899 +#: library/os.rst:4906 msgid "On Windows, it will use ``CryptGenRandom()``." msgstr "Sous Windows, ``CryptGenRandom()`` est utilisée." -#: library/os.rst:4902 +#: library/os.rst:4909 msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " @@ -7168,7 +7178,7 @@ msgstr "" "interface facile à utiliser du générateur de nombres aléatoires fourni par " "votre plate-forme, veuillez regarder :class:`random.SystemRandom`." -#: library/os.rst:4906 +#: library/os.rst:4913 msgid "" "On Linux, ``getrandom()`` is now used in blocking mode to increase the " "security." @@ -7176,7 +7186,7 @@ msgstr "" "Sous Linux, ``getrandom()`` est maintenant utilisé en mode bloquant pour " "renforcer la sécurité." -#: library/os.rst:4910 +#: library/os.rst:4917 msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." @@ -7185,7 +7195,7 @@ msgstr "" "d'*urandom* n'est pas encore initialisée), réalise à la place une lecture de " "``/dev/urandom``." -#: library/os.rst:4914 +#: library/os.rst:4921 msgid "" "On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when " "available. On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now " @@ -7196,7 +7206,7 @@ msgstr "" "la fonction C ``getentropy()`` est utilisée. Ces fonctions évitent " "l'utilisation interne d'un descripteur de fichier." -#: library/os.rst:4922 +#: library/os.rst:4929 msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " @@ -7207,7 +7217,7 @@ msgstr "" "urandom``, elle bloque si la réserve d'entropie n'a pas encore été " "initialisée." -#: library/os.rst:4926 +#: library/os.rst:4933 msgid "" "If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not " "block in these cases, but instead immediately raises :exc:`BlockingIOError`." @@ -7215,7 +7225,7 @@ msgstr "" "Si l'option :py:data:`GRND_NONBLOCK` est activée, :func:`getrandom` ne " "bloque pas dans ces cas, mais lève immédiatement une :exc:`BlockingIOError`." -#: library/os.rst:4933 +#: library/os.rst:4940 msgid "" "If this bit is set, then random bytes are drawn from the ``/dev/" "random`` pool instead of the ``/dev/urandom`` pool." @@ -7223,6 +7233,12 @@ msgstr "" "Si ce bit est activé, les octets aléatoires sont puisés depuis ``/dev/" "random`` plutôt que ``/dev/urandom``." +#~ msgid "" +#~ "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised." +#~ msgstr "" +#~ "Sous Windows, si *dst* existe, une :exc:`FileExistsError` est toujours " +#~ "levée." + #~ msgid "" #~ "Return the value of the environment variable *key* if it exists, or " #~ "*default* if it doesn't. *key*, *default* and the result are str." diff --git a/library/pathlib.po b/library/pathlib.po index e215cf9a89..fd53f85013 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:43+0200\n" "Last-Translator: Vincent Poulailleau \n" "Language-Team: FRENCH \n" @@ -158,20 +158,19 @@ msgid "When *pathsegments* is empty, the current directory is assumed::" msgstr "Quand *pathsegments* est vide, le dossier courant est utilisé ::" #: library/pathlib.rst:121 +#, fuzzy msgid "" -"When several absolute paths are given, the last is taken as an anchor " -"(mimicking :func:`os.path.join`'s behaviour)::" +"If a segment is an absolute path, all previous segments are ignored (like :" +"func:`os.path.join`)::" msgstr "" "Quand plusieurs chemins absolus sont fournis, le dernier est pris comme " "ancre (recopiant le comportement de :func:`os.path.join`) ::" #: library/pathlib.rst:129 msgid "" -"However, in a Windows path, changing the local root doesn't discard the " -"previous drive setting::" +"On Windows, the drive is not reset when a rooted relative path segment (e." +"g., ``r'\\foo'``) is encountered::" msgstr "" -"Cependant, dans un chemin Windows, changer la racine locale ne supprime pas " -"la précédente configuration de lecteur ::" #: library/pathlib.rst:135 msgid "" @@ -214,7 +213,7 @@ msgstr "" "Une sous-classe de :class:`PurePath`, cette famille de chemin représente les " "chemins de systèmes de fichiers en dehors des chemins Windows ::" -#: library/pathlib.rst:178 library/pathlib.rst:674 library/pathlib.rst:684 +#: library/pathlib.rst:178 library/pathlib.rst:681 library/pathlib.rst:691 msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "*pathsegments* est spécifié de manière similaire à :class:`PurePath`." @@ -241,10 +240,11 @@ msgid "General properties" msgstr "Propriétés générales" #: library/pathlib.rst:189 +#, fuzzy msgid "" -"Paths are immutable and hashable. Paths of a same flavour are comparable " -"and orderable. These properties respect the flavour's case-folding " -"semantics::" +"Paths are immutable and :term:`hashable`. Paths of a same flavour are " +"comparable and orderable. These properties respect the flavour's case-" +"folding semantics::" msgstr "" "Les chemins sont immuables et hachables. Les chemins d'une même famille sont " "comparables et ordonnables. Ces propriétés respectent l'ordre " @@ -262,13 +262,13 @@ msgstr "Opérateurs" #: library/pathlib.rst:215 msgid "" -"The slash operator helps create child paths, similarly to :func:`os.path." -"join`::" +"The slash operator helps create child paths, like :func:`os.path.join`. If " +"the argument is an absolute path, the previous path is ignored. On Windows, " +"the drive is not reset when the argument is a rooted relative path (e.g., " +"``r'\\foo'``)::" msgstr "" -"L'opérateur slash aide à créer les chemins enfants, de manière similaire à :" -"func:`os.path.join` ::" -#: library/pathlib.rst:226 +#: library/pathlib.rst:233 msgid "" "A path object can be used anywhere an object implementing :class:`os." "PathLike` is accepted::" @@ -276,7 +276,7 @@ msgstr "" "Un objet chemin peut être utilisé n'importe où un objet implémentant :class:" "`os.PathLike` est accepté ::" -#: library/pathlib.rst:234 +#: library/pathlib.rst:241 msgid "" "The string representation of a path is the raw filesystem path itself (in " "native form, e.g. with backslashes under Windows), which you can pass to any " @@ -287,7 +287,7 @@ msgstr "" "antislashs sous Windows), telle que vous pouvez la passer à n'importe quelle " "fonction prenant un chemin en tant que chaîne de caractères ::" -#: library/pathlib.rst:245 +#: library/pathlib.rst:252 msgid "" "Similarly, calling :class:`bytes` on a path gives the raw filesystem path as " "a bytes object, as encoded by :func:`os.fsencode`::" @@ -296,7 +296,7 @@ msgstr "" "brut du système de fichiers en tant que bytes, tel qu'encodé par :func:`os." "fsencode` ::" -#: library/pathlib.rst:252 +#: library/pathlib.rst:259 msgid "" "Calling :class:`bytes` is only recommended under Unix. Under Windows, the " "unicode form is the canonical representation of filesystem paths." @@ -305,11 +305,11 @@ msgstr "" "forme Unicode est la représentation canonique des chemins du système de " "fichiers." -#: library/pathlib.rst:257 +#: library/pathlib.rst:264 msgid "Accessing individual parts" msgstr "Accéder aux parties individuelles" -#: library/pathlib.rst:259 +#: library/pathlib.rst:266 msgid "" "To access the individual \"parts\" (components) of a path, use the following " "property:" @@ -317,44 +317,44 @@ msgstr "" "Pour accéder aux parties individuelles (composantes) d'un chemin, utilisez " "les propriétés suivantes :" -#: library/pathlib.rst:264 +#: library/pathlib.rst:271 msgid "A tuple giving access to the path's various components::" msgstr "Un tuple donnant accès aux différentes composantes du chemin ::" -#: library/pathlib.rst:274 +#: library/pathlib.rst:281 msgid "(note how the drive and local root are regrouped in a single part)" msgstr "" "(notez comme le lecteur et la racine locale sont regroupés en une seule " "partie)" -#: library/pathlib.rst:278 +#: library/pathlib.rst:285 msgid "Methods and properties" msgstr "Méthodes et propriétés" -#: library/pathlib.rst:284 +#: library/pathlib.rst:291 msgid "Pure paths provide the following methods and properties:" msgstr "Les chemins purs fournissent les méthodes et propriétés suivantes :" -#: library/pathlib.rst:288 +#: library/pathlib.rst:295 msgid "A string representing the drive letter or name, if any::" msgstr "" "Une chaîne représentant la lettre du lecteur ou le nom, s'il y en a un ::" -#: library/pathlib.rst:297 +#: library/pathlib.rst:304 msgid "UNC shares are also considered drives::" msgstr "Les partages UNC sont aussi considérés comme des lecteurs ::" -#: library/pathlib.rst:304 +#: library/pathlib.rst:311 msgid "A string representing the (local or global) root, if any::" msgstr "" "Une chaîne de caractères représentant la racine (locale ou globale), s'il y " "en a une ::" -#: library/pathlib.rst:313 +#: library/pathlib.rst:320 msgid "UNC shares always have a root::" msgstr "Les partages UNC ont toujours une racine ::" -#: library/pathlib.rst:318 +#: library/pathlib.rst:325 msgid "" "If the path starts with more than two successive slashes, :class:`~pathlib." "PurePosixPath` collapses them::" @@ -362,7 +362,7 @@ msgstr "" "Si le chemin commence par plus de deux slashes successifs, :class:`~pathlib." "PurePosixPath` n'en conserve qu'un ::" -#: library/pathlib.rst:330 +#: library/pathlib.rst:337 msgid "" "This behavior conforms to *The Open Group Base Specifications Issue 6*, " "paragraph `4.11 Pathname Resolution `_ des *Open Group Base Specifications* version 6 :" -#: library/pathlib.rst:334 +#: library/pathlib.rst:341 msgid "" "*\"A pathname that begins with two successive slashes may be interpreted in " "an implementation-defined manner, although more than two leading slashes " "shall be treated as a single slash.\"*" msgstr "" -#: library/pathlib.rst:340 +#: library/pathlib.rst:347 msgid "The concatenation of the drive and root::" msgstr "La concaténation du lecteur et de la racine ::" -#: library/pathlib.rst:354 +#: library/pathlib.rst:361 msgid "" "An immutable sequence providing access to the logical ancestors of the path::" msgstr "" "Une séquence immuable fournissant accès aux ancêtres logiques du chemin ::" -#: library/pathlib.rst:365 +#: library/pathlib.rst:372 msgid "" "The parents sequence now supports :term:`slices ` and negative index " "values." @@ -397,19 +397,19 @@ msgstr "" "La séquence de *parents* prend désormais en charge les :term:`tranches " "` et les valeurs d’index négatives." -#: library/pathlib.rst:370 +#: library/pathlib.rst:377 msgid "The logical parent of the path::" msgstr "Le parent logique du chemin ::" -#: library/pathlib.rst:376 +#: library/pathlib.rst:383 msgid "You cannot go past an anchor, or empty path::" msgstr "Vous ne pouvez pas aller au-delà d'une ancre, ou d'un chemin vide ::" -#: library/pathlib.rst:386 +#: library/pathlib.rst:393 msgid "This is a purely lexical operation, hence the following behaviour::" msgstr "C'est une opération purement lexicale, d'où le comportement suivant ::" -#: library/pathlib.rst:392 +#: library/pathlib.rst:399 msgid "" "If you want to walk an arbitrary filesystem path upwards, it is recommended " "to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate " @@ -419,7 +419,7 @@ msgstr "" "recommandé de d'abord appeler :meth:`Path.resolve` de manière à résoudre les " "liens symboliques et éliminer les composantes ``\"..\"``." -#: library/pathlib.rst:399 +#: library/pathlib.rst:406 msgid "" "A string representing the final path component, excluding the drive and " "root, if any::" @@ -427,30 +427,30 @@ msgstr "" "Une chaîne représentant la composante finale du chemin, en excluant le " "lecteur et la racine, si présent ::" -#: library/pathlib.rst:405 +#: library/pathlib.rst:412 msgid "UNC drive names are not considered::" msgstr "Les noms de lecteur UNC ne sont pas pris en compte ::" -#: library/pathlib.rst:415 +#: library/pathlib.rst:422 msgid "The file extension of the final component, if any::" msgstr "L'extension du fichier de la composante finale, si présente ::" -#: library/pathlib.rst:427 +#: library/pathlib.rst:434 msgid "A list of the path's file extensions::" msgstr "Une liste des extensions du chemin de fichier ::" -#: library/pathlib.rst:439 +#: library/pathlib.rst:446 msgid "The final path component, without its suffix::" msgstr "La composante finale du chemin, sans son suffixe ::" -#: library/pathlib.rst:451 +#: library/pathlib.rst:458 msgid "" "Return a string representation of the path with forward slashes (``/``)::" msgstr "" "Renvoie une représentation en chaîne de caractères du chemin avec des slashs " "(``/``) ::" -#: library/pathlib.rst:462 +#: library/pathlib.rst:469 msgid "" "Represent the path as a ``file`` URI. :exc:`ValueError` is raised if the " "path isn't absolute." @@ -458,7 +458,7 @@ msgstr "" "Représente le chemin en tant qu'URI de fichier. :exc:`ValueError` est levée " "si le chemin n'est pas absolu." -#: library/pathlib.rst:475 +#: library/pathlib.rst:482 msgid "" "Return whether the path is absolute or not. A path is considered absolute " "if it has both a root and (if the flavour allows) a drive::" @@ -466,11 +466,11 @@ msgstr "" "Renvoie si le chemin est absolu ou non. Un chemin est considéré absolu s'il " "a une racine et un lecteur (si la famille le permet) ::" -#: library/pathlib.rst:495 +#: library/pathlib.rst:502 msgid "Return whether or not this path is relative to the *other* path." msgstr "Renvoie si ce chemin est relatif ou non au chemin *other*." -#: library/pathlib.rst:508 +#: library/pathlib.rst:515 msgid "" "With :class:`PureWindowsPath`, return ``True`` if the path is considered " "reserved under Windows, ``False`` otherwise. With :class:`PurePosixPath`, " @@ -480,7 +480,7 @@ msgstr "" "réservé sous Windows, ``False`` sinon. Avec :class:`PurePosixPath`, " "``False`` est systématiquement renvoyé." -#: library/pathlib.rst:517 +#: library/pathlib.rst:524 msgid "" "File system calls on reserved paths can fail mysteriously or have unintended " "effects." @@ -488,7 +488,7 @@ msgstr "" "Les appels au système de fichier sur des chemins réservés peuvent échouer " "mystérieusement ou avoir des effets inattendus." -#: library/pathlib.rst:523 +#: library/pathlib.rst:530 msgid "" "Calling this method is equivalent to combining the path with each of the " "*other* arguments in turn::" @@ -496,7 +496,7 @@ msgstr "" "Appeler cette méthode équivaut à combiner le chemin avec chacun des " "arguments *other* ::" -#: library/pathlib.rst:538 +#: library/pathlib.rst:545 msgid "" "Match this path against the provided glob-style pattern. Return ``True`` if " "matching is successful, ``False`` otherwise." @@ -504,7 +504,7 @@ msgstr "" "Fait correspondre ce chemin avec le motif (*glob pattern*) fourni. Renvoie " "``True`` si la correspondance a réussi, ``False`` sinon." -#: library/pathlib.rst:541 +#: library/pathlib.rst:548 msgid "" "If *pattern* is relative, the path can be either relative or absolute, and " "matching is done from the right::" @@ -512,7 +512,7 @@ msgstr "" "Si *pattern* est relatif, le chemin peut être soit relatif, soit absolu, et " "la correspondance est faite à partir de la droite ::" -#: library/pathlib.rst:551 +#: library/pathlib.rst:558 msgid "" "If *pattern* is absolute, the path must be absolute, and the whole path must " "match::" @@ -520,13 +520,13 @@ msgstr "" "Si *pattern* est absolu, le chemin doit être absolu, et la correspondance " "doit être totale avec le chemin ::" -#: library/pathlib.rst:559 +#: library/pathlib.rst:566 msgid "As with other methods, case-sensitivity follows platform defaults::" msgstr "" "Comme pour les autres méthodes, la sensibilité à la casse est la sensibilité " "par défaut de la plate-forme ::" -#: library/pathlib.rst:569 +#: library/pathlib.rst:576 msgid "" "Compute a version of this path relative to the path represented by *other*. " "If it's impossible, ValueError is raised::" @@ -534,7 +534,7 @@ msgstr "" "Calcule une version du chemin en relatif au chemin représenté par *other*. " "Si c'est impossible, ValueError est levée ::" -#: library/pathlib.rst:584 +#: library/pathlib.rst:591 msgid "" "NOTE: This function is part of :class:`PurePath` and works with strings. It " "does not check or access the underlying file structure." @@ -543,7 +543,7 @@ msgstr "" "des chaînes de caractères. Elle n'accède donc pas au système de fichiers " "sous-jacente, et ne vérifie donc pas son résultat." -#: library/pathlib.rst:589 +#: library/pathlib.rst:596 msgid "" "Return a new path with the :attr:`name` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -551,7 +551,7 @@ msgstr "" "Renvoie un nouveau chemin avec :attr:`name` changé. Si le chemin original " "n'a pas de nom, ValueError est levée ::" -#: library/pathlib.rst:606 +#: library/pathlib.rst:613 msgid "" "Return a new path with the :attr:`stem` changed. If the original path " "doesn't have a name, ValueError is raised::" @@ -559,7 +559,7 @@ msgstr "" "Renvoie un nouveau chemin avec :attr:`stem` changé. Si le chemin original " "n'a pas de nom, *ValueError* est levée ::" -#: library/pathlib.rst:630 +#: library/pathlib.rst:637 msgid "" "Return a new path with the :attr:`suffix` changed. If the original path " "doesn't have a suffix, the new *suffix* is appended instead. If the " @@ -569,11 +569,11 @@ msgstr "" "n'a pas de suffixe, le nouveau *suffix* est alors ajouté. Si *suffix* est " "une chaîne vide, le suffixe d'origine est retiré ::" -#: library/pathlib.rst:649 +#: library/pathlib.rst:656 msgid "Concrete paths" msgstr "Chemins concrets" -#: library/pathlib.rst:651 +#: library/pathlib.rst:658 msgid "" "Concrete paths are subclasses of the pure path classes. In addition to " "operations provided by the latter, they also provide methods to do system " @@ -584,7 +584,7 @@ msgstr "" "pour faire appel au système sur des objets chemin. Il y a trois façons " "d'instancier des chemins concrets :" -#: library/pathlib.rst:657 +#: library/pathlib.rst:664 msgid "" "A subclass of :class:`PurePath`, this class represents concrete paths of the " "system's path flavour (instantiating it creates either a :class:`PosixPath` " @@ -594,7 +594,7 @@ msgstr "" "concrets d'une famille de chemins de système de fichiers (l'instancier créé " "soit un :class:`PosixPath`, soit un :class:`WindowsPath`) ::" -#: library/pathlib.rst:668 +#: library/pathlib.rst:675 msgid "" "A subclass of :class:`Path` and :class:`PurePosixPath`, this class " "represents concrete non-Windows filesystem paths::" @@ -602,7 +602,7 @@ msgstr "" "Une sous-classe de :class:`Path` et :class:`PurePosixPath`, cette classe " "représente les chemins concrets de systèmes de fichiers non Windows ::" -#: library/pathlib.rst:678 +#: library/pathlib.rst:685 msgid "" "A subclass of :class:`Path` and :class:`PureWindowsPath`, this class " "represents concrete Windows filesystem paths::" @@ -610,7 +610,7 @@ msgstr "" "Une sous-classe de :class:`Path` et :class:`PureWindowsPath`, cette classe " "représente les chemins concrets de systèmes de fichiers Windows ::" -#: library/pathlib.rst:686 +#: library/pathlib.rst:693 msgid "" "You can only instantiate the class flavour that corresponds to your system " "(allowing system calls on non-compatible path flavours could lead to bugs or " @@ -621,11 +621,11 @@ msgstr "" "non compatibles pourrait mener à des bogues ou à des pannes de votre " "application) ::" -#: library/pathlib.rst:706 +#: library/pathlib.rst:713 msgid "Methods" msgstr "Méthodes" -#: library/pathlib.rst:708 +#: library/pathlib.rst:715 msgid "" "Concrete paths provide the following methods in addition to pure paths " "methods. Many of these methods can raise an :exc:`OSError` if a system call " @@ -635,7 +635,7 @@ msgstr "" "des chemins purs. Beaucoup de ces méthodes peuvent lever :exc:`OSError` si " "un appel au système échoue (par exemple car le chemin n'existe pas)." -#: library/pathlib.rst:714 +#: library/pathlib.rst:721 msgid "" ":meth:`~Path.exists()`, :meth:`~Path.is_dir()`, :meth:`~Path.is_file()`, :" "meth:`~Path.is_mount()`, :meth:`~Path.is_symlink()`, :meth:`~Path." @@ -651,7 +651,7 @@ msgstr "" "une exception pour les chemins qui contiennent des caractères non " "représentables au niveau du système d'exploitation." -#: library/pathlib.rst:724 +#: library/pathlib.rst:731 msgid "" "Return a new path object representing the current directory (as returned by :" "func:`os.getcwd`)::" @@ -659,7 +659,7 @@ msgstr "" "Renvoie un nouveau chemin représentant le dossier courant (comme renvoyé " "par :func:`os.getcwd`) ::" -#: library/pathlib.rst:733 +#: library/pathlib.rst:740 msgid "" "Return a new path object representing the user's home directory (as returned " "by :func:`os.path.expanduser` with ``~`` construct). If the home directory " @@ -670,7 +670,7 @@ msgstr "" "Si le dossier d’accueil de l'utilisateur ne peut être résolu, :exc:" "`RuntimeError` est levée." -#: library/pathlib.rst:747 +#: library/pathlib.rst:754 msgid "" "Return a :class:`os.stat_result` object containing information about this " "path, like :func:`os.stat`. The result is looked up at each call to this " @@ -680,7 +680,7 @@ msgstr "" "chemin, comme :func:`os.stat`. Le résultat est récupéré à chaque appel à " "cette méthode." -#: library/pathlib.rst:750 +#: library/pathlib.rst:757 msgid "" "This method normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :meth:`~Path.lstat`." @@ -689,15 +689,15 @@ msgstr "" "sur un lien symbolique lui-même, ajoutez l’argument " "``follow_symlinks=False``, ou utilisez :meth:`~Path.lstat`." -#: library/pathlib.rst:781 +#: library/pathlib.rst:788 msgid "The *follow_symlinks* parameter was added." msgstr "ajout du paramètre *follow_symlinks*." -#: library/pathlib.rst:766 +#: library/pathlib.rst:773 msgid "Change the file mode and permissions, like :func:`os.chmod`." msgstr "Change le mode et les permissions du fichier, comme :func:`os.chmod`." -#: library/pathlib.rst:768 +#: library/pathlib.rst:775 msgid "" "This method normally follows symlinks. Some Unix flavours support changing " "permissions on the symlink itself; on these platforms you may add the " @@ -708,11 +708,11 @@ msgstr "" "symbolique lui-même ; sur ces plateformes, vous pouvez ajouter l’argument " "``follow_symlinks=False``, ou utiliser :meth:`~Path.lchmod`." -#: library/pathlib.rst:786 +#: library/pathlib.rst:793 msgid "Whether the path points to an existing file or directory::" msgstr "Si le chemin pointe sur un fichier ou dossier existant ::" -#: library/pathlib.rst:798 +#: library/pathlib.rst:805 msgid "" "If the path points to a symlink, :meth:`exists` returns whether the symlink " "*points to* an existing file or directory." @@ -720,7 +720,7 @@ msgstr "" "Si le chemin pointe sur un lien symbolique, :meth:`exists` renvoie si le " "lien symbolique *pointe vers* un fichier ou un dossier existant." -#: library/pathlib.rst:804 +#: library/pathlib.rst:811 msgid "" "Return a new path with expanded ``~`` and ``~user`` constructs, as returned " "by :meth:`os.path.expanduser`. If a home directory can't be resolved, :exc:" @@ -731,7 +731,7 @@ msgstr "" "d’accueil de l'utilisateur ne peut être résolu, :exc:`RuntimeError` est " "levée." -#: library/pathlib.rst:819 +#: library/pathlib.rst:826 msgid "" "Glob the given relative *pattern* in the directory represented by this path, " "yielding all matching files (of any kind)::" @@ -740,7 +740,7 @@ msgstr "" "représenté par ce chemin, donnant tous les fichiers correspondants (de " "n'importe quelle sorte) ::" -#: library/pathlib.rst:827 +#: library/pathlib.rst:834 msgid "" "Patterns are the same as for :mod:`fnmatch`, with the addition of \"``**``\" " "which means \"this directory and all subdirectories, recursively\". In " @@ -750,7 +750,7 @@ msgstr "" "signifie « ce dossier et ses sous-dossiers, récursivement ». En d'autres " "termes, il permet d’effectuer un *globbing* récursif ::" -#: library/pathlib.rst:839 +#: library/pathlib.rst:846 msgid "" "Using the \"``**``\" pattern in large directory trees may consume an " "inordinate amount of time." @@ -758,7 +758,7 @@ msgstr "" "Utiliser le motif \"``**``\" dans de grandes arborescences de dossier peut " "consommer une quantité de temps démesurée." -#: library/pathlib.rst:842 +#: library/pathlib.rst:849 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.glob`` with " "arguments ``self``, ``pattern``." @@ -766,7 +766,7 @@ msgstr "" "Lève un :ref:`évènement d’audit ` ``pathlib.Path.glob`` avec comme " "arguments ``self`` et ``pattern``." -#: library/pathlib.rst:847 +#: library/pathlib.rst:854 msgid "" "Return the name of the group owning the file. :exc:`KeyError` is raised if " "the file's gid isn't found in the system database." @@ -774,7 +774,7 @@ msgstr "" "Renvoie le nom du groupe propriétaire du fichier. :exc:`KeyError` est levée " "si le *gid* du fichier n'est pas trouvé dans la base de données du système." -#: library/pathlib.rst:853 +#: library/pathlib.rst:860 msgid "" "Return ``True`` if the path points to a directory (or a symbolic link " "pointing to a directory), ``False`` if it points to another kind of file." @@ -783,7 +783,7 @@ msgstr "" "pointant vers un dossier), ``False`` s'il pointe vers une autre sorte de " "fichier." -#: library/pathlib.rst:865 library/pathlib.rst:903 library/pathlib.rst:921 +#: library/pathlib.rst:872 library/pathlib.rst:910 library/pathlib.rst:928 msgid "" "``False`` is also returned if the path doesn't exist or is a broken symlink; " "other errors (such as permission errors) are propagated." @@ -792,7 +792,7 @@ msgstr "" "symbolique cassé. D’autres erreurs (telles que les erreurs de permission) " "sont propagées." -#: library/pathlib.rst:862 +#: library/pathlib.rst:869 msgid "" "Return ``True`` if the path points to a regular file (or a symbolic link " "pointing to a regular file), ``False`` if it points to another kind of file." @@ -801,7 +801,7 @@ msgstr "" "symbolique pointe vers un fichier normal), ``False`` s'il pointe vers une " "autre sorte de fichier." -#: library/pathlib.rst:871 +#: library/pathlib.rst:878 msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " "system where a different file system has been mounted. On POSIX, the " @@ -818,13 +818,13 @@ msgstr "" "détecter tous les points de montage pour toutes les variantes Unix et POSIX. " "Non implémenté sous Windows." -#: library/pathlib.rst:883 +#: library/pathlib.rst:890 msgid "" "Return ``True`` if the path points to a symbolic link, ``False`` otherwise." msgstr "" "Renvoie ``True`` si le chemin pointe sur un lien symbolique, ``False`` sinon." -#: library/pathlib.rst:885 +#: library/pathlib.rst:892 msgid "" "``False`` is also returned if the path doesn't exist; other errors (such as " "permission errors) are propagated." @@ -832,7 +832,7 @@ msgstr "" "``False`` est aussi renvoyé si le chemin n'existe pas ; d'autres erreurs " "(telles que les erreurs de permission) sont propagées." -#: library/pathlib.rst:891 +#: library/pathlib.rst:898 msgid "" "Return ``True`` if the path points to a Unix socket (or a symbolic link " "pointing to a Unix socket), ``False`` if it points to another kind of file." @@ -841,7 +841,7 @@ msgstr "" "symbolique pointant vers un connecteur Unix), ``False`` s'il pointe vers une " "autre sorte de fichier." -#: library/pathlib.rst:900 +#: library/pathlib.rst:907 msgid "" "Return ``True`` if the path points to a FIFO (or a symbolic link pointing to " "a FIFO), ``False`` if it points to another kind of file." @@ -850,7 +850,7 @@ msgstr "" "pointant vers une FIFO), ``False`` s'il pointe vers une autre sorte de " "fichier." -#: library/pathlib.rst:909 +#: library/pathlib.rst:916 msgid "" "Return ``True`` if the path points to a block device (or a symbolic link " "pointing to a block device), ``False`` if it points to another kind of file." @@ -859,7 +859,7 @@ msgstr "" "symbolique pointant vers un périphérique), ``False`` s'il pointe vers une " "autre sorte de fichier." -#: library/pathlib.rst:918 +#: library/pathlib.rst:925 msgid "" "Return ``True`` if the path points to a character device (or a symbolic link " "pointing to a character device), ``False`` if it points to another kind of " @@ -869,7 +869,7 @@ msgstr "" "un lien symbolique pointant vers un périphérique à caractères), ``False`` " "s'il pointe vers une autre sorte de fichier." -#: library/pathlib.rst:927 +#: library/pathlib.rst:934 msgid "" "When the path points to a directory, yield path objects of the directory " "contents::" @@ -877,7 +877,7 @@ msgstr "" "Quand le chemin pointe vers un dossier, donne par séquences les objets " "chemin du contenu du dossier ::" -#: library/pathlib.rst:941 +#: library/pathlib.rst:948 msgid "" "The children are yielded in arbitrary order, and the special entries ``'.'`` " "and ``'..'`` are not included. If a file is removed from or added to the " @@ -890,7 +890,7 @@ msgstr "" "élément soit renvoyé pour ce fichier, ou non ; ce comportement n'est pas " "déterminé." -#: library/pathlib.rst:948 +#: library/pathlib.rst:955 msgid "" "Like :meth:`Path.chmod` but, if the path points to a symbolic link, the " "symbolic link's mode is changed rather than its target's." @@ -898,7 +898,7 @@ msgstr "" "Comme :meth:`Path.chmod`, mais, si le chemin pointe vers un lien symbolique, " "le mode du lien symbolique est changé plutôt que celui de sa cible." -#: library/pathlib.rst:954 +#: library/pathlib.rst:961 msgid "" "Like :meth:`Path.stat` but, if the path points to a symbolic link, return " "the symbolic link's information rather than its target's." @@ -906,7 +906,7 @@ msgstr "" "Comme :meth:`Path.stat`, mais, si le chemin pointe vers un lien symbolique, " "renvoie les informations du lien symbolique plutôt que celui de sa cible." -#: library/pathlib.rst:960 +#: library/pathlib.rst:967 msgid "" "Create a new directory at this given path. If *mode* is given, it is " "combined with the process' ``umask`` value to determine the file mode and " @@ -917,7 +917,7 @@ msgstr "" "de fichier et les droits d'accès. Si le chemin existe déjà, :exc:" "`FileExistsError` est levée." -#: library/pathlib.rst:965 +#: library/pathlib.rst:972 msgid "" "If *parents* is true, any missing parents of this path are created as " "needed; they are created with the default permissions without taking *mode* " @@ -927,7 +927,7 @@ msgstr "" "sont créés avec les permissions par défaut sans prendre en compte *mode* " "(reproduisant la commande POSIX ``mkdir -p``)." -#: library/pathlib.rst:969 +#: library/pathlib.rst:976 msgid "" "If *parents* is false (the default), a missing parent raises :exc:" "`FileNotFoundError`." @@ -935,7 +935,7 @@ msgstr "" "Si *parents* est faux (valeur par défaut), un parent manquant lève :exc:" "`FileNotFoundError`." -#: library/pathlib.rst:972 +#: library/pathlib.rst:979 msgid "" "If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " "the target directory already exists." @@ -943,7 +943,7 @@ msgstr "" "Si *exist_ok* est faux (valeur par défaut), :exc:`FileExistsError` est levé " "si le dossier cible existe déjà." -#: library/pathlib.rst:975 +#: library/pathlib.rst:982 msgid "" "If *exist_ok* is true, :exc:`FileExistsError` exceptions will be ignored " "(same behavior as the POSIX ``mkdir -p`` command), but only if the last path " @@ -954,11 +954,11 @@ msgstr "" "seulement si le dernier segment de chemin existe et n'est pas un dossier." # « nouveau dans la version … » -#: library/pathlib.rst:979 +#: library/pathlib.rst:986 msgid "The *exist_ok* parameter was added." msgstr "ajout du paramètre *exist_ok*." -#: library/pathlib.rst:985 +#: library/pathlib.rst:992 msgid "" "Open the file pointed to by the path, like the built-in :func:`open` " "function does::" @@ -966,7 +966,7 @@ msgstr "" "Ouvre le fichier pointé par le chemin, comme la fonction native :func:`open` " "le fait ::" -#: library/pathlib.rst:997 +#: library/pathlib.rst:1004 msgid "" "Return the name of the user owning the file. :exc:`KeyError` is raised if " "the file's uid isn't found in the system database." @@ -975,18 +975,18 @@ msgstr "" "`KeyError` est levée si l’*uid* de l’utilisateur du fichier n'est pas trouvé " "dans la base de données du système." -#: library/pathlib.rst:1003 +#: library/pathlib.rst:1010 msgid "Return the binary contents of the pointed-to file as a bytes object::" msgstr "" "Renvoie le contenu binaire du fichier pointé en tant que chaîne d’octets ::" -#: library/pathlib.rst:1016 +#: library/pathlib.rst:1023 msgid "Return the decoded contents of the pointed-to file as a string::" msgstr "" "Renvoie le contenu décodé du fichier pointé en tant que chaîne de " "caractères ::" -#: library/pathlib.rst:1024 +#: library/pathlib.rst:1031 msgid "" "The file is opened and then closed. The optional parameters have the same " "meaning as in :func:`open`." @@ -994,7 +994,7 @@ msgstr "" "Le fichier est ouvert, puis fermé. Les paramètres optionnels ont la même " "signification que dans :func:`open`." -#: library/pathlib.rst:1032 +#: library/pathlib.rst:1039 msgid "" "Return the path to which the symbolic link points (as returned by :func:`os." "readlink`)::" @@ -1002,7 +1002,7 @@ msgstr "" "Renvoie le chemin vers lequel le lien symbolique pointe (tel que renvoyé " "par :func:`os.readlink`) ::" -#: library/pathlib.rst:1045 +#: library/pathlib.rst:1052 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. On Unix, if *target* exists and is a file, " @@ -1018,7 +1018,7 @@ msgstr "" "est systématiquement levée. *target* peut être soit une chaîne de " "caractères, soit un autre chemin ::" -#: library/pathlib.rst:1074 +#: library/pathlib.rst:1083 msgid "" "The target path may be absolute or relative. Relative paths are interpreted " "relative to the current working directory, *not* the directory of the Path " @@ -1028,12 +1028,18 @@ msgstr "" "relative est interprétée par rapport au dossier courant, et pas par rapport " "au dossier du ``Path`` sur lequel cette méthode est appelée." +#: library/pathlib.rst:1071 +msgid "" +"It is implemented in terms of :func:`os.rename` and gives the same " +"guarantees." +msgstr "" + # « nouveau dans la version … » -#: library/pathlib.rst:1078 +#: library/pathlib.rst:1087 msgid "Added return value, return the new Path instance." msgstr "ajout de la valeur de retour, renvoie une nouvelle instance *Path*." -#: library/pathlib.rst:1070 +#: library/pathlib.rst:1079 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. If *target* points to an existing file or " @@ -1043,7 +1049,7 @@ msgstr "" "nouvelle instance de *Path* pointant vers *target*. Si *target* pointe vers " "un fichier ou un dossier vide existant, il sera systématiquement remplacé." -#: library/pathlib.rst:1084 +#: library/pathlib.rst:1093 msgid "" "Make the path absolute, resolving any symlinks. A new path object is " "returned::" @@ -1051,7 +1057,7 @@ msgstr "" "Rend le chemin absolu, résolvant les liens symboliques. Un nouveau chemin " "est renvoyé ::" -#: library/pathlib.rst:1093 +#: library/pathlib.rst:1102 msgid "" "\"``..``\" components are also eliminated (this is the only method to do " "so)::" @@ -1059,7 +1065,7 @@ msgstr "" "Les composantes \"``..``\" sont aussi éliminées (c'est la seule méthode pour " "le faire) ::" -#: library/pathlib.rst:1099 +#: library/pathlib.rst:1108 msgid "" "If the path doesn't exist and *strict* is ``True``, :exc:`FileNotFoundError` " "is raised. If *strict* is ``False``, the path is resolved as far as " @@ -1074,11 +1080,11 @@ msgstr "" "résolution du chemin, :exc:`RuntimeError` est levée." # « nouveau dans la version … » -#: library/pathlib.rst:1105 +#: library/pathlib.rst:1114 msgid "The *strict* argument (pre-3.6 behavior is strict)." msgstr "l'argument *strict* (le comportement *pré-3.6* est strict par défaut)." -#: library/pathlib.rst:1110 +#: library/pathlib.rst:1119 msgid "" "This is like calling :func:`Path.glob` with \"``**/``\" added in front of " "the given relative *pattern*::" @@ -1086,7 +1092,7 @@ msgstr "" "C'est similaire à appeler :func:`Path.glob` avec \"``**/``\" ajouté au début " "du motif *pattern* relatif ::" -#: library/pathlib.rst:1120 +#: library/pathlib.rst:1129 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " "arguments ``self``, ``pattern``." @@ -1094,11 +1100,11 @@ msgstr "" "Lève un :ref:`évènement d’audit ` ``pathlib.Path.glob`` avec comme " "arguments ``self`` et ``pattern``." -#: library/pathlib.rst:1125 +#: library/pathlib.rst:1134 msgid "Remove this directory. The directory must be empty." msgstr "Supprime ce dossier. Le dossier doit être vide." -#: library/pathlib.rst:1130 +#: library/pathlib.rst:1139 msgid "" "Return whether this path points to the same file as *other_path*, which can " "be either a Path object, or a string. The semantics are similar to :func:" @@ -1108,7 +1114,7 @@ msgstr "" "être soit un chemin, soit une chaîne de caractères. La sémantique est " "similaire à :func:`os.path.samefile` et :func:`os.path.samestat`." -#: library/pathlib.rst:1134 +#: library/pathlib.rst:1143 msgid "" "An :exc:`OSError` can be raised if either file cannot be accessed for some " "reason." @@ -1116,7 +1122,7 @@ msgstr "" ":exc:`OSError` peut être levée si l'un des fichiers ne peut être accédé pour " "quelque raison." -#: library/pathlib.rst:1151 +#: library/pathlib.rst:1160 msgid "" "Make this path a symbolic link to *target*. Under Windows, " "*target_is_directory* must be true (default ``False``) if the link's target " @@ -1127,28 +1133,28 @@ msgstr "" "si la cible du lien est un dossier. Sous POSIX, la valeur de " "*target_is_directory* est ignorée." -#: library/pathlib.rst:1167 +#: library/pathlib.rst:1176 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.symlink`'s." msgstr "" "L'ordre des arguments (lien, cible) est l'opposé de ceux de :func:`os." "symlink`." -#: library/pathlib.rst:1172 +#: library/pathlib.rst:1181 msgid "Make this path a hard link to the same file as *target*." msgstr "Crée un lien physique pointant sur le même fichier que *target*." -#: library/pathlib.rst:1175 +#: library/pathlib.rst:1184 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.link`'s." msgstr "" "L'ordre des arguments (lien, cible) est l'opposé de celui de :func:`os.link`." -#: library/pathlib.rst:1182 +#: library/pathlib.rst:1191 msgid "Make *target* a hard link to this path." msgstr "Crée un lien physique pointant sur le même fichier que *target*." -#: library/pathlib.rst:1186 +#: library/pathlib.rst:1195 msgid "" "This function does not make this path a hard link to *target*, despite the " "implication of the function and argument names. The argument order (target, " @@ -1160,7 +1166,7 @@ msgstr "" "des arguments (cible, lien) est l’inverse de :func:`Path.symlink_to` et :" "func:`Path.hardlink_to`, mais correspond en fait à celui de :func:`os.link`." -#: library/pathlib.rst:1195 +#: library/pathlib.rst:1204 msgid "" "This method is deprecated in favor of :meth:`Path.hardlink_to`, as the " "argument order of :meth:`Path.link_to` does not match that of :meth:`Path." @@ -1170,7 +1176,7 @@ msgstr "" "l’ordre des arguments de :meth:`Path.link_to` ne correspond pas à celui de :" "meth:`Path.symlink_to`." -#: library/pathlib.rst:1202 +#: library/pathlib.rst:1211 msgid "" "Create a file at this given path. If *mode* is given, it is combined with " "the process' ``umask`` value to determine the file mode and access flags. " @@ -1184,7 +1190,7 @@ msgstr "" "*exist_ok* est vrai (et si l'heure de modification est mise à jour avec " "l'heure courante), sinon :exc:`FileExistsError` est levée." -#: library/pathlib.rst:1211 +#: library/pathlib.rst:1220 msgid "" "Remove this file or symbolic link. If the path points to a directory, use :" "func:`Path.rmdir` instead." @@ -1192,7 +1198,7 @@ msgstr "" "Supprime ce fichier ou lien symbolique. Si le chemin pointe vers un dossier, " "utilisez :func:`Path.rmdir` à la place." -#: library/pathlib.rst:1214 +#: library/pathlib.rst:1223 msgid "" "If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " "if the path does not exist." @@ -1200,7 +1206,7 @@ msgstr "" "Si *missing_ok* est faux (valeur par défaut), une :exc:`FileNotFoundError` " "est levée si le chemin n'existe pas." -#: library/pathlib.rst:1217 +#: library/pathlib.rst:1226 msgid "" "If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " "(same behavior as the POSIX ``rm -f`` command)." @@ -1208,11 +1214,11 @@ msgstr "" "Si *missing_ok* est vrai, les exceptions :exc:`FileNotFoundError` sont " "ignorées (même comportement que la commande POSIX ``rm -f``)." -#: library/pathlib.rst:1220 +#: library/pathlib.rst:1229 msgid "The *missing_ok* parameter was added." msgstr "Ajout du paramètre *missing_ok*." -#: library/pathlib.rst:1226 +#: library/pathlib.rst:1235 msgid "" "Open the file pointed to in bytes mode, write *data* to it, and close the " "file::" @@ -1220,11 +1226,11 @@ msgstr "" "Ouvre le fichier pointé en mode binaire, écrit *data* dedans, et ferme le " "fichier ::" -#: library/pathlib.rst:1235 +#: library/pathlib.rst:1244 msgid "An existing file of the same name is overwritten." msgstr "Le fichier du même nom, s'il existe, est écrasé." -#: library/pathlib.rst:1242 +#: library/pathlib.rst:1251 msgid "" "Open the file pointed to in text mode, write *data* to it, and close the " "file::" @@ -1232,7 +1238,7 @@ msgstr "" "Ouvre le fichier pointé en mode texte, écrit *data* dedans, et ferme le " "fichier ::" -#: library/pathlib.rst:1251 +#: library/pathlib.rst:1260 msgid "" "An existing file of the same name is overwritten. The optional parameters " "have the same meaning as in :func:`open`." @@ -1242,15 +1248,15 @@ msgstr "" # « nouveau dans la version … » # Pas de majuscule après « : » -#: library/pathlib.rst:1256 +#: library/pathlib.rst:1265 msgid "The *newline* parameter was added." msgstr "ajout du paramètre *newline*." -#: library/pathlib.rst:1260 +#: library/pathlib.rst:1269 msgid "Correspondence to tools in the :mod:`os` module" msgstr "Correspondance des outils du module :mod:`os`" -#: library/pathlib.rst:1262 +#: library/pathlib.rst:1271 msgid "" "Below is a table mapping various :mod:`os` functions to their corresponding :" "class:`PurePath`/:class:`Path` equivalent." @@ -1258,7 +1264,7 @@ msgstr "" "Ci-dessous se trouve un tableau associant diverses fonctions :mod:`os` à " "leur équivalent :class:`PurePath` / :class:`Path` correspondant." -#: library/pathlib.rst:1267 +#: library/pathlib.rst:1276 msgid "" "Not all pairs of functions/methods below are equivalent. Some of them, " "despite having some overlapping use-cases, have different semantics. They " @@ -1271,224 +1277,226 @@ msgstr "" "func:`os.path.abspath` et :meth:`Path.resolve`, ainsi que :func:`os.path." "relpath` et :meth:`PurePath.relative_to`." -#: library/pathlib.rst:1273 +#: library/pathlib.rst:1282 msgid ":mod:`os` and :mod:`os.path`" msgstr ":mod:`os` et :mod:`os.path`" -#: library/pathlib.rst:1273 +#: library/pathlib.rst:1282 msgid ":mod:`pathlib`" msgstr ":mod:`pathlib`" -#: library/pathlib.rst:1275 +#: library/pathlib.rst:1284 msgid ":func:`os.path.abspath`" msgstr ":func:`os.path.abspath`" -#: library/pathlib.rst:1275 +#: library/pathlib.rst:1284 msgid ":meth:`Path.resolve` [#]_" msgstr ":meth:`Path.resolve` [#]_" -#: library/pathlib.rst:1276 +#: library/pathlib.rst:1285 msgid ":func:`os.chmod`" msgstr ":func:`os.chmod`" -#: library/pathlib.rst:1276 +#: library/pathlib.rst:1285 msgid ":meth:`Path.chmod`" msgstr ":meth:`Path.chmod`" -#: library/pathlib.rst:1277 +#: library/pathlib.rst:1286 msgid ":func:`os.mkdir`" msgstr ":func:`os.mkdir`" -#: library/pathlib.rst:1278 +#: library/pathlib.rst:1287 msgid ":meth:`Path.mkdir`" msgstr ":meth:`Path.mkdir`" -#: library/pathlib.rst:1278 +#: library/pathlib.rst:1287 msgid ":func:`os.makedirs`" msgstr ":func:`os.makedirs`" -#: library/pathlib.rst:1279 +#: library/pathlib.rst:1288 msgid ":func:`os.rename`" msgstr ":func:`os.rename`" -#: library/pathlib.rst:1279 +#: library/pathlib.rst:1288 msgid ":meth:`Path.rename`" msgstr ":meth:`Path.rename`" -#: library/pathlib.rst:1280 +#: library/pathlib.rst:1289 msgid ":func:`os.replace`" msgstr ":func:`os.replace`" -#: library/pathlib.rst:1280 +#: library/pathlib.rst:1289 msgid ":meth:`Path.replace`" msgstr ":meth:`Path.replace`" -#: library/pathlib.rst:1281 +#: library/pathlib.rst:1290 msgid ":func:`os.rmdir`" msgstr ":func:`os.rmdir`" -#: library/pathlib.rst:1281 +#: library/pathlib.rst:1290 msgid ":meth:`Path.rmdir`" msgstr ":meth:`Path.rmdir`" -#: library/pathlib.rst:1282 +#: library/pathlib.rst:1291 msgid ":func:`os.remove`, :func:`os.unlink`" msgstr ":func:`os.remove`, :func:`os.unlink`" -#: library/pathlib.rst:1282 +#: library/pathlib.rst:1291 msgid ":meth:`Path.unlink`" msgstr ":meth:`Path.unlink`" -#: library/pathlib.rst:1283 +#: library/pathlib.rst:1292 msgid ":func:`os.getcwd`" msgstr ":func:`os.getcwd`" -#: library/pathlib.rst:1283 +#: library/pathlib.rst:1292 msgid ":func:`Path.cwd`" msgstr ":func:`Path.cwd`" -#: library/pathlib.rst:1284 +#: library/pathlib.rst:1293 msgid ":func:`os.path.exists`" msgstr ":func:`os.path.exists`" -#: library/pathlib.rst:1284 +#: library/pathlib.rst:1293 msgid ":meth:`Path.exists`" msgstr ":meth:`Path.exists`" -#: library/pathlib.rst:1285 +#: library/pathlib.rst:1294 msgid ":func:`os.path.expanduser`" msgstr ":func:`os.path.expanduser`" -#: library/pathlib.rst:1285 +#: library/pathlib.rst:1294 msgid ":meth:`Path.expanduser` and :meth:`Path.home`" msgstr ":meth:`Path.expanduser` et :meth:`Path.home`" -#: library/pathlib.rst:1287 +#: library/pathlib.rst:1296 msgid ":func:`os.listdir`" msgstr ":func:`os.listdir`" -#: library/pathlib.rst:1287 +#: library/pathlib.rst:1296 msgid ":meth:`Path.iterdir`" msgstr ":meth:`Path.iterdir`" -#: library/pathlib.rst:1288 +#: library/pathlib.rst:1297 msgid ":func:`os.path.isdir`" msgstr ":func:`os.path.isdir`" -#: library/pathlib.rst:1288 +#: library/pathlib.rst:1297 msgid ":meth:`Path.is_dir`" msgstr ":meth:`Path.is_dir`" -#: library/pathlib.rst:1289 +#: library/pathlib.rst:1298 msgid ":func:`os.path.isfile`" msgstr ":func:`os.path.isfile`" -#: library/pathlib.rst:1289 +#: library/pathlib.rst:1298 msgid ":meth:`Path.is_file`" msgstr ":meth:`Path.is_file`" -#: library/pathlib.rst:1290 +#: library/pathlib.rst:1299 msgid ":func:`os.path.islink`" msgstr ":func:`os.path.islink`" -#: library/pathlib.rst:1290 +#: library/pathlib.rst:1299 msgid ":meth:`Path.is_symlink`" msgstr ":meth:`Path.is_symlink`" -#: library/pathlib.rst:1291 +#: library/pathlib.rst:1300 msgid ":func:`os.link`" msgstr ":func:`os.link`" -#: library/pathlib.rst:1291 +#: library/pathlib.rst:1300 msgid ":meth:`Path.hardlink_to`" msgstr ":meth:`Path.hardlink_to`" -#: library/pathlib.rst:1292 +#: library/pathlib.rst:1301 msgid ":func:`os.symlink`" msgstr ":func:`os.symlink`" -#: library/pathlib.rst:1292 +#: library/pathlib.rst:1301 msgid ":meth:`Path.symlink_to`" msgstr ":meth:`Path.symlink_to`" -#: library/pathlib.rst:1293 +#: library/pathlib.rst:1302 msgid ":func:`os.readlink`" msgstr ":func:`os.readlink`" -#: library/pathlib.rst:1293 +#: library/pathlib.rst:1302 msgid ":meth:`Path.readlink`" msgstr ":meth:`Path.readlink`" -#: library/pathlib.rst:1294 +#: library/pathlib.rst:1303 msgid ":func:`os.path.relpath`" msgstr ":func:`os.path.relpath`" -#: library/pathlib.rst:1294 +#: library/pathlib.rst:1303 msgid ":meth:`PurePath.relative_to` [#]_" msgstr ":meth:`PurePath.relative_to` [#]_" -#: library/pathlib.rst:1295 +#: library/pathlib.rst:1304 msgid ":func:`os.stat`" msgstr ":func:`os.stat`" -#: library/pathlib.rst:1295 +#: library/pathlib.rst:1304 msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" msgstr ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" -#: library/pathlib.rst:1298 +#: library/pathlib.rst:1307 msgid ":func:`os.path.isabs`" msgstr ":func:`os.path.isabs`" -#: library/pathlib.rst:1298 +#: library/pathlib.rst:1307 msgid ":meth:`PurePath.is_absolute`" msgstr ":meth:`PurePath.is_absolute`" -#: library/pathlib.rst:1299 +#: library/pathlib.rst:1308 msgid ":func:`os.path.join`" msgstr ":func:`os.path.join`" -#: library/pathlib.rst:1299 +#: library/pathlib.rst:1308 msgid ":func:`PurePath.joinpath`" msgstr ":func:`PurePath.joinpath`" -#: library/pathlib.rst:1300 +#: library/pathlib.rst:1309 msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" -#: library/pathlib.rst:1300 -msgid ":data:`PurePath.name`" +#: library/pathlib.rst:1309 +#, fuzzy +msgid ":attr:`PurePath.name`" msgstr ":data:`PurePath.name`" -#: library/pathlib.rst:1301 +#: library/pathlib.rst:1310 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" -#: library/pathlib.rst:1301 -msgid ":data:`PurePath.parent`" +#: library/pathlib.rst:1310 +#, fuzzy +msgid ":attr:`PurePath.parent`" msgstr ":data:`PurePath.parent`" -#: library/pathlib.rst:1302 +#: library/pathlib.rst:1311 msgid ":func:`os.path.samefile`" msgstr ":func:`os.path.samefile`" -#: library/pathlib.rst:1302 +#: library/pathlib.rst:1311 msgid ":meth:`Path.samefile`" msgstr ":meth:`Path.samefile`" -#: library/pathlib.rst:1303 +#: library/pathlib.rst:1312 msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" -#: library/pathlib.rst:1303 +#: library/pathlib.rst:1312 #, fuzzy -msgid ":data:`PurePath.stem` and :data:`PurePath.suffix`" +msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`" msgstr ":data:`PurePath.suffix`" -#: library/pathlib.rst:1308 +#: library/pathlib.rst:1317 msgid "Footnotes" msgstr "Notes" -#: library/pathlib.rst:1309 +#: library/pathlib.rst:1318 msgid "" ":func:`os.path.abspath` does not resolve symbolic links while :meth:`Path." "resolve` does." @@ -1496,7 +1504,7 @@ msgstr "" ":func:`os.path.abspath` ne résout pas les liens symboliques alors que :meth:" "`Path.resolve` le fait." -#: library/pathlib.rst:1310 +#: library/pathlib.rst:1319 #, fuzzy msgid "" ":meth:`PurePath.relative_to` requires ``self`` to be the subpath of the " @@ -1505,6 +1513,20 @@ msgstr "" ":meth:`Path.relative_to` exige que ``self`` soit le sous-chemin de " "l’argument, ce qui pas le cas de :func:`os.path.relpath`." +#~ msgid "" +#~ "However, in a Windows path, changing the local root doesn't discard the " +#~ "previous drive setting::" +#~ msgstr "" +#~ "Cependant, dans un chemin Windows, changer la racine locale ne supprime " +#~ "pas la précédente configuration de lecteur ::" + +#~ msgid "" +#~ "The slash operator helps create child paths, similarly to :func:`os.path." +#~ "join`::" +#~ msgstr "" +#~ "L'opérateur slash aide à créer les chemins enfants, de manière similaire " +#~ "à :func:`os.path.join` ::" + #~ msgid "" #~ "Although :func:`os.path.relpath` and :meth:`PurePath.relative_to` have " #~ "some overlapping use-cases, their semantics differ enough to warrant not " diff --git a/library/pdb.po b/library/pdb.po index 0ddc7421b2..11bdaf5e02 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2020-02-04 19:59+0100\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -51,7 +51,27 @@ msgstr "" "en lisant le code source. L'interface d'extension utilise les modules :mod:" "`bdb` et :mod:`cmd`." -#: library/pdb.rst:30 +#: library/pdb.rst:34 +msgid "Module :mod:`faulthandler`" +msgstr "" + +#: library/pdb.rst:33 +msgid "" +"Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " +"on a user signal." +msgstr "" + +#: library/pdb.rst:36 +msgid "Module :mod:`traceback`" +msgstr "" + +#: library/pdb.rst:37 +msgid "" +"Standard interface to extract, format and print stack traces of Python " +"programs." +msgstr "" + +#: library/pdb.rst:39 msgid "" "The debugger's prompt is ``(Pdb)``. Typical usage to run a program under " "control of the debugger is::" @@ -59,7 +79,7 @@ msgstr "" "L'invite du débogueur est ``(Pdb)``. L'usage typique pour exécuter un " "programme sous le contrôle du débogueur est ::" -#: library/pdb.rst:44 +#: library/pdb.rst:53 msgid "" "Tab-completion via the :mod:`readline` module is available for commands and " "command arguments, e.g. the current global and local names are offered as " @@ -69,7 +89,7 @@ msgstr "" "commandes et les arguments de commande, par exemple les noms *global* et " "*local* sont proposés comme arguments de la commande ``p``." -#: library/pdb.rst:49 +#: library/pdb.rst:58 msgid "" ":file:`pdb.py` can also be invoked as a script to debug other scripts. For " "example::" @@ -77,7 +97,7 @@ msgstr "" "Le fichier :file:`pdb.py` peut aussi être invoqué comme un script pour " "déboguer d'autres scripts. Par exemple ::" -#: library/pdb.rst:54 +#: library/pdb.rst:63 msgid "" "When invoked as a script, pdb will automatically enter post-mortem debugging " "if the program being debugged exits abnormally. After post-mortem debugging " @@ -91,7 +111,7 @@ msgstr "" "préserve l'état de *pdb* (tels que les points d'arrêt) et dans la plupart " "des cas est plus utile que de quitter le débogueur à la sortie du programme." -#: library/pdb.rst:60 +#: library/pdb.rst:69 msgid "" ":file:`pdb.py` now accepts a ``-c`` option that executes commands as if " "given in a :file:`.pdbrc` file, see :ref:`debugger-commands`." @@ -100,10 +120,11 @@ msgstr "" "les commandes comme si elles provenaient d'un fichier :file:`.pdbrc`, voir :" "ref:`debugger-commands`." -#: library/pdb.rst:64 +#: library/pdb.rst:73 +#, fuzzy msgid "" ":file:`pdb.py` now accepts a ``-m`` option that execute modules similar to " -"the way ``python3 -m`` does. As with a script, the debugger will pause " +"the way ``python -m`` does. As with a script, the debugger will pause " "execution just before the first line of the module." msgstr "" ":file:`pdb.py` accepte maintenant une option ``-m`` qui déclenche " @@ -111,14 +132,14 @@ msgstr "" "manière que dans un script, le débogueur va mettre en pause l’exécution " "juste avant la première ligne du module." -#: library/pdb.rst:70 +#: library/pdb.rst:79 #, fuzzy msgid "The typical usage to break into the debugger is to insert::" msgstr "" "L'usage typique pour forcer le débogueur depuis un programme s'exécutant est " "d'insérer ::" -#: library/pdb.rst:74 +#: library/pdb.rst:83 #, fuzzy msgid "" "at the location you want to break into the debugger, and then run the " @@ -129,7 +150,7 @@ msgstr "" "parcourir le code suivant cette instruction, et continuer à exécuter sans le " "débogueur en utilisant la commande :pdbcmd:`continue`." -#: library/pdb.rst:78 +#: library/pdb.rst:87 msgid "" "The built-in :func:`breakpoint()`, when called with defaults, can be used " "instead of ``import pdb; pdb.set_trace()``." @@ -138,11 +159,11 @@ msgstr "" "valeurs par défaut, peut être utilisée en lieu et place de ``import pdb; pdb." "set_trace()``." -#: library/pdb.rst:82 +#: library/pdb.rst:91 msgid "The typical usage to inspect a crashed program is::" msgstr "L'usage typique pour inspecter un programme planté ::" -#: library/pdb.rst:100 +#: library/pdb.rst:109 msgid "" "The module defines the following functions; each enters the debugger in a " "slightly different way:" @@ -150,7 +171,7 @@ msgstr "" "Le module définit les fonctions suivantes; chacune entre dans le débogueur " "d'une manière légèrement différente:" -#: library/pdb.rst:105 +#: library/pdb.rst:114 msgid "" "Execute the *statement* (given as a string or a code object) under debugger " "control. The debugger prompt appears before any code is executed; you can " @@ -171,7 +192,7 @@ msgstr "" "dictionnaire du module :mod:`__main__` est utilisé. (Voir l'explication des " "fonctions natives :func:`exec` ou :func:`eval`.)" -#: library/pdb.rst:117 +#: library/pdb.rst:126 msgid "" "Evaluate the *expression* (given as a string or a code object) under " "debugger control. When :func:`runeval` returns, it returns the value of the " @@ -182,7 +203,7 @@ msgstr "" "retourne, elle renvoie la valeur de l'expression. Autrement cette fonction " "est similaire à la fonction :func:`run`." -#: library/pdb.rst:124 +#: library/pdb.rst:133 msgid "" "Call the *function* (a function or method object, not a string) with the " "given arguments. When :func:`runcall` returns, it returns whatever the " @@ -194,7 +215,7 @@ msgstr "" "retourne ce que l'appel de fonctionne a renvoyé. L'invite de débogage " "apparaît dès que la fonction est entrée." -#: library/pdb.rst:132 +#: library/pdb.rst:141 msgid "" "Enter the debugger at the calling stack frame. This is useful to hard-code " "a breakpoint at a given point in a program, even if the code is not " @@ -206,11 +227,11 @@ msgstr "" "autrement débogué (par exemple, quand une assertion échoue). S'il est donné, " "*header* est affiché sur la console juste avant que le débogage commence." -#: library/pdb.rst:137 +#: library/pdb.rst:146 msgid "The keyword-only argument *header*." msgstr "L’argument *keyword-only* *header*." -#: library/pdb.rst:143 +#: library/pdb.rst:152 msgid "" "Enter post-mortem debugging of the given *traceback* object. If no " "*traceback* is given, it uses the one of the exception that is currently " @@ -222,7 +243,7 @@ msgstr "" "traitement (une exception doit être gérée si la valeur par défaut doit être " "utilisée)." -#: library/pdb.rst:151 +#: library/pdb.rst:160 msgid "" "Enter post-mortem debugging of the traceback found in :data:`sys." "last_traceback`." @@ -230,7 +251,7 @@ msgstr "" "Entre le débogage post-mortem de la trace trouvé dans :data:`sys. " "last_traceback`." -#: library/pdb.rst:155 +#: library/pdb.rst:164 msgid "" "The ``run*`` functions and :func:`set_trace` are aliases for instantiating " "the :class:`Pdb` class and calling the method of the same name. If you want " @@ -240,11 +261,11 @@ msgstr "" "la classe :class:`Pdb` et appeler la méthode du même nom. Si vous souhaitez " "accéder à d'autres fonctionnalités, vous devez le faire vous-même ::" -#: library/pdb.rst:162 +#: library/pdb.rst:171 msgid ":class:`Pdb` is the debugger class." msgstr "Le classe du débogueur est la classe :class:`Pdb`." -#: library/pdb.rst:164 +#: library/pdb.rst:173 msgid "" "The *completekey*, *stdin* and *stdout* arguments are passed to the " "underlying :class:`cmd.Cmd` class; see the description there." @@ -252,7 +273,7 @@ msgstr "" "Les arguments *completekey*, *stdin* et *stdout* sont transmis à la classe " "sous-jacente :class:`cmd.Cmd`; voir la description ici." -#: library/pdb.rst:167 +#: library/pdb.rst:176 msgid "" "The *skip* argument, if given, must be an iterable of glob-style module name " "patterns. The debugger will not step into frames that originate in a module " @@ -262,7 +283,7 @@ msgstr "" "de style *glob*. Le débogueur n'entrera pas dans les *frames* qui " "proviennent d'un module qui correspond à l'un de ces motifs. [1]_" -#: library/pdb.rst:171 +#: library/pdb.rst:180 msgid "" "By default, Pdb sets a handler for the SIGINT signal (which is sent when the " "user presses :kbd:`Ctrl-C` on the console) when you give a ``continue`` " @@ -276,7 +297,7 @@ msgstr "" "à nouveau dans le débogueur en appuyant sur :kbd:`Ctrl-C`. Si vous voulez " "que Pdb ne touche pas le gestionnaire SIGINT, assignez *nosigint* à *True*." -#: library/pdb.rst:176 +#: library/pdb.rst:185 msgid "" "The *readrc* argument defaults to true and controls whether Pdb will load ." "pdbrc files from the filesystem." @@ -284,39 +305,39 @@ msgstr "" "L'argument *readrc* vaut *True* par défaut et contrôle si Pdb chargera les " "fichiers *.pdbrc* depuis le système de fichiers." -#: library/pdb.rst:179 +#: library/pdb.rst:188 msgid "Example call to enable tracing with *skip*::" msgstr "Exemple d'appel pour activer le traçage avec *skip* ::" -#: library/pdb.rst:183 +#: library/pdb.rst:192 msgid "" "Raises an :ref:`auditing event ` ``pdb.Pdb`` with no arguments." msgstr "Lève un :ref:`évènement d'audit ` ``pdb.Pdb`` sans argument." -#: library/pdb.rst:185 +#: library/pdb.rst:194 msgid "The *skip* argument." msgstr "L'argument *skip*." -#: library/pdb.rst:188 +#: library/pdb.rst:197 msgid "" "The *nosigint* argument. Previously, a SIGINT handler was never set by Pdb." msgstr "" "L'argument *nosigint*. Auparavant, un gestionnaire SIGINT n'était jamais " "configuré par Pdb." -#: library/pdb.rst:192 +#: library/pdb.rst:201 msgid "The *readrc* argument." msgstr "L'argument *readrc*." -#: library/pdb.rst:200 +#: library/pdb.rst:209 msgid "See the documentation for the functions explained above." msgstr "Voir la documentation pour les fonctions expliquées ci-dessus." -#: library/pdb.rst:206 +#: library/pdb.rst:215 msgid "Debugger Commands" msgstr "Commande du débogueur" -#: library/pdb.rst:208 +#: library/pdb.rst:217 msgid "" "The commands recognized by the debugger are listed below. Most commands can " "be abbreviated to one or two letters as indicated; e.g. ``h(elp)`` means " @@ -337,7 +358,7 @@ msgstr "" "pas être insérés. Les alternatives dans la syntaxe de la commande sont " "séparés par une barre verticale (``|``)." -#: library/pdb.rst:217 +#: library/pdb.rst:226 msgid "" "Entering a blank line repeats the last command entered. Exception: if the " "last command was a :pdbcmd:`list` command, the next 11 lines are listed." @@ -346,7 +367,7 @@ msgstr "" "dernière commande était la commande :pdbcmd:`list`, les 11 prochaines lignes " "sont affichées." -#: library/pdb.rst:220 +#: library/pdb.rst:229 msgid "" "Commands that the debugger doesn't recognize are assumed to be Python " "statements and are executed in the context of the program being debugged. " @@ -365,7 +386,7 @@ msgstr "" "instruction, le nom de l'exception est affiché mais l'état du débogueur " "n'est pas modifié." -#: library/pdb.rst:228 +#: library/pdb.rst:237 msgid "" "The debugger supports :ref:`aliases `. Aliases can have " "parameters which allows one a certain level of adaptability to the context " @@ -375,7 +396,7 @@ msgstr "" "avoir des paramètres qui permettent un certain niveau d'adaptabilité au " "contexte étudié." -#: library/pdb.rst:232 +#: library/pdb.rst:241 #, fuzzy msgid "" "Multiple commands may be entered on a single line, separated by ``;;``. (A " @@ -393,7 +414,7 @@ msgstr "" "divisée à la première paire de ``;;`` paire, même si il est au milieu d'une " "chaîne de caractères." -#: library/pdb.rst:243 +#: library/pdb.rst:252 msgid "" "If a file :file:`.pdbrc` exists in the user's home directory or in the " "current directory, it is read in and executed as if it had been typed at the " @@ -408,7 +429,7 @@ msgstr "" "d’accueil de l’utilisateur est lu en premier et les alias définis dedans " "peuvent être surchargés par le fichier local." -#: library/pdb.rst:249 +#: library/pdb.rst:258 msgid "" ":file:`.pdbrc` can now contain commands that continue debugging, such as :" "pdbcmd:`continue` or :pdbcmd:`next`. Previously, these commands had no " @@ -418,7 +439,7 @@ msgstr "" "continue le débogage, comme :pdbcmd:`continue` ou :pdbcmd:`next`. " "Précédemment, ces commandes n'avaient aucun effet." -#: library/pdb.rst:257 +#: library/pdb.rst:266 msgid "" "Without argument, print the list of available commands. With a *command* as " "argument, print help about that command. ``help pdb`` displays the full " @@ -432,7 +453,7 @@ msgstr "" "Puisque l'argument *command* doit être un identificateur, ``help exec`` doit " "être entré pour obtenir de l'aide sur la commande ``!``." -#: library/pdb.rst:265 +#: library/pdb.rst:274 msgid "" "Print a stack trace, with the most recent frame at the bottom. An arrow " "indicates the current frame, which determines the context of most commands." @@ -441,7 +462,7 @@ msgstr "" "indique le *frame* courant, qui détermine le contexte de la plupart des " "commandes." -#: library/pdb.rst:270 +#: library/pdb.rst:279 msgid "" "Move the current frame *count* (default one) levels down in the stack trace " "(to a newer frame)." @@ -449,7 +470,7 @@ msgstr "" "Déplace le niveau de la *frame* courante *count* (par défaut un) vers le bas " "dans la trace de pile (vers une *frame* plus récente)." -#: library/pdb.rst:275 +#: library/pdb.rst:284 msgid "" "Move the current frame *count* (default one) levels up in the stack trace " "(to an older frame)." @@ -457,7 +478,7 @@ msgstr "" "Déplace le niveau de la *frame* courante *count* (par défaut un) vers le " "haut dans la trace de pile (vers une *frame* plus ancienne)." -#: library/pdb.rst:280 +#: library/pdb.rst:289 msgid "" "With a *lineno* argument, set a break there in the current file. With a " "*function* argument, set a break at the first executable statement within " @@ -475,7 +496,7 @@ msgstr "" "est recherché sur :data:`sys.path`. Notez que chaque point d'arrêt reçoit un " "numéro auquel se réfèrent toutes les autres commandes de point d'arrêt." -#: library/pdb.rst:287 +#: library/pdb.rst:296 msgid "" "If a second argument is present, it is an expression which must evaluate to " "true before the breakpoint is honored." @@ -483,7 +504,7 @@ msgstr "" "Si un second argument est présent, c'est une expression qui doit évaluer à " "*True* avant que le point d'arrêt ne soit honoré." -#: library/pdb.rst:290 +#: library/pdb.rst:299 msgid "" "Without argument, list all breaks, including for each breakpoint, the number " "of times that breakpoint has been hit, the current ignore count, and the " @@ -493,7 +514,7 @@ msgstr "" "nombre de fois qu'un point d'arrêt a été atteint, le nombre de ignore, et la " "condition associée le cas échéant." -#: library/pdb.rst:296 +#: library/pdb.rst:305 msgid "" "Temporary breakpoint, which is removed automatically when it is first hit. " "The arguments are the same as for :pdbcmd:`break`." @@ -501,7 +522,7 @@ msgstr "" "Point d'arrêt temporaire, qui est enlevé automatiquement au premier passage. " "Les arguments sont les mêmes que pour :pdbcmd:`break`." -#: library/pdb.rst:301 +#: library/pdb.rst:310 msgid "" "With a *filename:lineno* argument, clear all the breakpoints at this line. " "With a space separated list of breakpoint numbers, clear those breakpoints. " @@ -512,7 +533,7 @@ msgstr "" "efface ces points d'arrêt. Sans argument, efface tous les points d'arrêt " "(mais demande d'abord confirmation)." -#: library/pdb.rst:307 +#: library/pdb.rst:316 msgid "" "Disable the breakpoints given as a space separated list of breakpoint " "numbers. Disabling a breakpoint means it cannot cause the program to stop " @@ -525,11 +546,11 @@ msgstr "" "différence d'effacer un point d'arrêt, il reste dans la liste des points " "d'arrêt et peut être (ré)activé." -#: library/pdb.rst:314 +#: library/pdb.rst:323 msgid "Enable the breakpoints specified." msgstr "Active les points d'arrêt spécifiés." -#: library/pdb.rst:318 +#: library/pdb.rst:327 msgid "" "Set the ignore count for the given breakpoint number. If count is omitted, " "the ignore count is set to 0. A breakpoint becomes active when the ignore " @@ -543,7 +564,7 @@ msgstr "" "fois que le point d'arrêt est atteint et que le point d'arrêt n'est pas " "désactivé et que toute condition associée est évaluée comme vraie." -#: library/pdb.rst:326 +#: library/pdb.rst:335 msgid "" "Set a new *condition* for the breakpoint, an expression which must evaluate " "to true before the breakpoint is honored. If *condition* is absent, any " @@ -554,7 +575,7 @@ msgstr "" "*condition* est absente, toute condition existante est supprimée, c'est-à-" "dire que le point d'arrêt est rendu inconditionnel." -#: library/pdb.rst:332 +#: library/pdb.rst:341 msgid "" "Specify a list of commands for breakpoint number *bpnumber*. The commands " "themselves appear on the following lines. Type a line containing just " @@ -564,7 +585,7 @@ msgstr "" "Les commandes elles-mêmes apparaissent sur les lignes suivantes. Tapez une " "ligne contenant juste ``end`` pour terminer les commandes. Un exemple ::" -#: library/pdb.rst:341 +#: library/pdb.rst:350 msgid "" "To remove all commands from a breakpoint, type ``commands`` and follow it " "immediately with ``end``; that is, give no commands." @@ -572,14 +593,14 @@ msgstr "" "Pour supprimer toutes les commandes depuis un point d'arrêt, écrivez " "``commands`` suivi immédiatement de ``end`` ; ceci supprime les commandes." -#: library/pdb.rst:344 +#: library/pdb.rst:353 msgid "" "With no *bpnumber* argument, ``commands`` refers to the last breakpoint set." msgstr "" "Sans argument *bpnumber*, ``commands`` se réfère au dernier point d'arrêt " "défini." -#: library/pdb.rst:346 +#: library/pdb.rst:355 msgid "" "You can use breakpoint commands to start your program up again. Simply use " "the :pdbcmd:`continue` command, or :pdbcmd:`step`, or any other command that " @@ -589,7 +610,7 @@ msgstr "" "programme. Utilisez simplement la commande :pdbcmd:`continue`, ou :pdbcmd:" "`step`, ou toute autre commande qui reprend l'exécution." -#: library/pdb.rst:350 +#: library/pdb.rst:359 msgid "" "Specifying any command resuming execution (currently :pdbcmd:`continue`, :" "pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:" @@ -608,7 +629,7 @@ msgstr "" "sa propre liste de commandes, conduisant à des ambiguïtés sur la liste à " "exécuter." -#: library/pdb.rst:359 +#: library/pdb.rst:368 msgid "" "If you use the 'silent' command in the command list, the usual message about " "stopping at a breakpoint is not printed. This may be desirable for " @@ -623,7 +644,7 @@ msgstr "" "n'affiche quoi que ce soit, vous ne voyez aucun signe indiquant que le point " "de rupture a été atteint." -#: library/pdb.rst:366 +#: library/pdb.rst:375 msgid "" "Execute the current line, stop at the first possible occasion (either in a " "function that is called or on the next line in the current function)." @@ -632,7 +653,7 @@ msgstr "" "dans une fonction qui est appelée, soit sur la ligne suivante de la fonction " "courante)." -#: library/pdb.rst:371 +#: library/pdb.rst:380 msgid "" "Continue execution until the next line in the current function is reached or " "it returns. (The difference between :pdbcmd:`next` and :pdbcmd:`step` is " @@ -646,7 +667,7 @@ msgstr "" "tandis que :pdbcmd:`next` exécute les fonctions appelées à (presque) pleine " "vitesse, ne s'arrêtant qu'à la ligne suivante dans la fonction courante.)" -#: library/pdb.rst:379 +#: library/pdb.rst:388 msgid "" "Without argument, continue execution until the line with a number greater " "than the current one is reached." @@ -654,7 +675,7 @@ msgstr "" "Sans argument, continue l'exécution jusqu'à ce que la ligne avec un nombre " "supérieur au nombre actuel soit atteinte." -#: library/pdb.rst:382 +#: library/pdb.rst:391 msgid "" "With a line number, continue execution until a line with a number greater or " "equal to that is reached. In both cases, also stop when the current frame " @@ -664,21 +685,21 @@ msgstr "" "un numéro supérieur ou égal à celui-ci soit atteinte. Dans les deux cas, " "arrête également lorsque la *frame* courante revient." -#: library/pdb.rst:386 +#: library/pdb.rst:395 msgid "Allow giving an explicit line number." msgstr "Permet de donner un numéro de ligne explicite." -#: library/pdb.rst:391 +#: library/pdb.rst:400 msgid "Continue execution until the current function returns." msgstr "Continue l'exécution jusqu'au retour de la fonction courante." -#: library/pdb.rst:395 +#: library/pdb.rst:404 msgid "Continue execution, only stop when a breakpoint is encountered." msgstr "" "Continue l'exécution, seulement s'arrête quand un point d'arrêt est " "rencontré." -#: library/pdb.rst:399 +#: library/pdb.rst:408 msgid "" "Set the next line that will be executed. Only available in the bottom-most " "frame. This lets you jump back and execute code again, or jump forward to " @@ -689,7 +710,7 @@ msgstr "" "nouveau le code, ou de passer en avant pour sauter le code que vous ne " "voulez pas exécuter." -#: library/pdb.rst:403 +#: library/pdb.rst:412 msgid "" "It should be noted that not all jumps are allowed -- for instance it is not " "possible to jump into the middle of a :keyword:`for` loop or out of a :" @@ -699,7 +720,7 @@ msgstr "" "n'est pas possible de sauter au milieu d'une boucle :keyword:`for` ou en " "dehors d'une clause :keyword:`finally`." -#: library/pdb.rst:409 +#: library/pdb.rst:418 msgid "" "List source code for the current file. Without arguments, list 11 lines " "around the current line or continue the previous listing. With ``.`` as " @@ -714,7 +735,7 @@ msgstr "" "liste la plage donnée; si le second argument est inférieur au premier, il " "est interprété comme un compte." -#: library/pdb.rst:415 +#: library/pdb.rst:424 msgid "" "The current line in the current frame is indicated by ``->``. If an " "exception is being debugged, the line where the exception was originally " @@ -726,11 +747,11 @@ msgstr "" "initialement levée ou propagée est indiquée par ``>>``, si elle diffère de " "la ligne courante." -#: library/pdb.rst:420 +#: library/pdb.rst:429 msgid "The ``>>`` marker." msgstr "Le marqueur ``>>``." -#: library/pdb.rst:425 +#: library/pdb.rst:434 msgid "" "List all source code for the current function or frame. Interesting lines " "are marked as for :pdbcmd:`list`." @@ -738,15 +759,15 @@ msgstr "" "Liste le code source de la fonction ou du bloc courant. Les lignes " "intéressantes sont marquées comme pour :pdbcmd:`list`." -#: library/pdb.rst:432 +#: library/pdb.rst:441 msgid "Print the argument list of the current function." msgstr "Affiche la liste d'arguments de la fonction courante." -#: library/pdb.rst:436 +#: library/pdb.rst:445 msgid "Evaluate the *expression* in the current context and print its value." msgstr "Évalue l'*expression* dans le contexte courant et affiche sa valeur." -#: library/pdb.rst:440 +#: library/pdb.rst:449 msgid "" "``print()`` can also be used, but is not a debugger command --- this " "executes the Python :func:`print` function." @@ -754,7 +775,7 @@ msgstr "" "``print()`` peut aussi être utilisée, mais n'est pas une commande du " "débogueur --- il exécute la fonction Python :func:`print`." -#: library/pdb.rst:446 +#: library/pdb.rst:455 msgid "" "Like the :pdbcmd:`p` command, except the value of the expression is pretty-" "printed using the :mod:`pprint` module." @@ -762,15 +783,15 @@ msgstr "" "Comme la commande :pdbcmd:`p`, sauf que la valeur de l'expression est " "joliment affiché en utilisant le module :mod:`pprint`." -#: library/pdb.rst:451 +#: library/pdb.rst:460 msgid "Print the type of the *expression*." msgstr "Affiche le type de l'*expression*." -#: library/pdb.rst:455 +#: library/pdb.rst:464 msgid "Try to get source code for the given object and display it." msgstr "Essaie d'obtenir le code source pour l'objet donné et l'affiche." -#: library/pdb.rst:461 +#: library/pdb.rst:470 msgid "" "Display the value of the expression if it changed, each time execution stops " "in the current frame." @@ -778,12 +799,12 @@ msgstr "" "Affiche la valeur de l'expression si elle a changée, chaque fois que " "l'exécution s'arrête dans la *frame* courante." -#: library/pdb.rst:464 +#: library/pdb.rst:473 msgid "Without expression, list all display expressions for the current frame." msgstr "" "Sans expression, liste toutes les expressions pour la *frame* courante." -#: library/pdb.rst:470 +#: library/pdb.rst:479 msgid "" "Do not display the expression any more in the current frame. Without " "expression, clear all display expressions for the current frame." @@ -791,7 +812,7 @@ msgstr "" "N'affiche plus l'expression dans la *frame* courante. Sans expression, " "efface toutes les expressions d'affichage de la *frame* courante." -#: library/pdb.rst:477 +#: library/pdb.rst:486 msgid "" "Start an interactive interpreter (using the :mod:`code` module) whose global " "namespace contains all the (global and local) names found in the current " @@ -801,7 +822,7 @@ msgstr "" "l'espace de nommage global contient tous les noms (*global* et *local*) " "trouvés dans la portée courante." -#: library/pdb.rst:487 +#: library/pdb.rst:496 msgid "" "Create an alias called *name* that executes *command*. The command must " "*not* be enclosed in quotes. Replaceable parameters can be indicated by " @@ -816,7 +837,7 @@ msgstr "" "courant pour *name* est affiché. Si aucun argument n'est donné, tous les " "alias sont listés." -#: library/pdb.rst:493 +#: library/pdb.rst:502 msgid "" "Aliases may be nested and can contain anything that can be legally typed at " "the pdb prompt. Note that internal pdb commands *can* be overridden by " @@ -831,7 +852,7 @@ msgstr "" "récursivement au premier mot de la ligne de commande; tous les autres mots " "de la ligne sont laissés seuls." -#: library/pdb.rst:499 +#: library/pdb.rst:508 msgid "" "As an example, here are two useful aliases (especially when placed in the :" "file:`.pdbrc` file)::" @@ -839,11 +860,11 @@ msgstr "" "Comme un exemple, voici deux alias utiles (spécialement quand il est placé " "dans le fichier :file:`.pdbrc`) ::" -#: library/pdb.rst:509 +#: library/pdb.rst:518 msgid "Delete the specified alias." msgstr "Supprime l'alias spécifié." -#: library/pdb.rst:513 +#: library/pdb.rst:522 msgid "" "Execute the (one-line) *statement* in the context of the current stack " "frame. The exclamation point can be omitted unless the first word of the " @@ -857,7 +878,7 @@ msgstr "" "définir une variable globale, vous pouvez préfixer la commande d'assignation " "avec une instruction :keyword:`global` sur la même ligne, par exemple ::" -#: library/pdb.rst:525 +#: library/pdb.rst:534 msgid "" "Restart the debugged Python program. If an argument is supplied, it is " "split with :mod:`shlex` and the result is used as the new :data:`sys.argv`. " @@ -869,11 +890,11 @@ msgstr "" "`sys.argv`. L'historique, les points d'arrêt, les actions et les options du " "débogueur sont préservés. :pdbcmd:`restart` est un alias pour :pdbcmd:`run`." -#: library/pdb.rst:532 +#: library/pdb.rst:541 msgid "Quit from the debugger. The program being executed is aborted." msgstr "Quitte le débogueur. Le programme exécuté est arrêté." -#: library/pdb.rst:536 +#: library/pdb.rst:545 msgid "" "Enter a recursive debugger that steps through the code argument (which is an " "arbitrary expression or statement to be executed in the current environment)." @@ -882,16 +903,16 @@ msgstr "" "une expression arbitraire ou une instruction à exécuter dans l'environnement " "courant)." -#: library/pdb.rst:542 +#: library/pdb.rst:551 #, fuzzy msgid "Print the return value for the last return of a function." msgstr "Affiche la liste d'arguments de la fonction courante." -#: library/pdb.rst:545 +#: library/pdb.rst:554 msgid "Footnotes" msgstr "Notes" -#: library/pdb.rst:546 +#: library/pdb.rst:555 msgid "" "Whether a frame is considered to originate in a certain module is determined " "by the ``__name__`` in the frame globals." diff --git a/library/pydoc.po b/library/pydoc.po index 48efbf5d17..c43c4a8165 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2020-04-27 22:41+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -138,10 +138,10 @@ msgstr "" msgid "" "You can also use :program:`pydoc` to start an HTTP server on the local " "machine that will serve documentation to visiting web browsers. :program:" -"`pydoc -p 1234` will start a HTTP server on port 1234, allowing you to " -"browse the documentation at ``http://localhost:1234/`` in your preferred web " -"browser. Specifying ``0`` as the port number will select an arbitrary unused " -"port." +"`python -m pydoc -p 1234` will start a HTTP server on port 1234, allowing " +"you to browse the documentation at ``http://localhost:1234/`` in your " +"preferred web browser. Specifying ``0`` as the port number will select an " +"arbitrary unused port." msgstr "" "Vous pouvez aussi utiliser :program:`pydoc` pour lancer un serveur HTTP sur " "votre machine locale qui rendra la documentation consultable sur votre " @@ -151,12 +151,13 @@ msgstr "" "comme numéro de port, un port non utilisé sera aléatoirement alloué." #: library/pydoc.rst:73 +#, fuzzy msgid "" -":program:`pydoc -n ` will start the server listening at the given " -"hostname. By default the hostname is 'localhost' but if you want the server " -"to be reached from other machines, you may want to change the host name that " -"the server responds to. During development this is especially useful if you " -"want to run pydoc from within a container." +":program:`python -m pydoc -n ` will start the server listening at " +"the given hostname. By default the hostname is 'localhost' but if you want " +"the server to be reached from other machines, you may want to change the " +"host name that the server responds to. During development this is " +"especially useful if you want to run pydoc from within a container." msgstr "" ":program:`pydoc -n ` démarre le serveur en écoutant sur le port " "donné en argument. Par défaut le nom d’hôte est *localhost* mais si vous " @@ -166,11 +167,12 @@ msgstr "" "program:`pydoc` depuis un conteneur." #: library/pydoc.rst:79 +#, fuzzy msgid "" -":program:`pydoc -b` will start the server and additionally open a web " -"browser to a module index page. Each served page has a navigation bar at " -"the top where you can *Get* help on an individual item, *Search* all modules " -"with a keyword in their synopsis line, and go to the *Module index*, " +":program:`python -m pydoc -b` will start the server and additionally open a " +"web browser to a module index page. Each served page has a navigation bar " +"at the top where you can *Get* help on an individual item, *Search* all " +"modules with a keyword in their synopsis line, and go to the *Module index*, " "*Topics* and *Keywords* pages." msgstr "" ":program:`pydoc -b` démarre le serveur et ouvrira en plus un navigateur web " diff --git a/library/queue.po b/library/queue.po index 8d1397e708..893fb0080f 100644 --- a/library/queue.po +++ b/library/queue.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-11-01 17:35+0100\n" "Last-Translator: Lcaracol \n" "Language-Team: FRENCH \n" @@ -37,13 +37,14 @@ msgstr "" "le verrouillage nécessaire." #: library/queue.rst:16 +#, fuzzy msgid "" "The module implements three types of queue, which differ only in the order " "in which the entries are retrieved. In a :abbr:`FIFO (first-in, first-out)` " -"queue, the first tasks added are the first retrieved. In a :abbr:`LIFO (last-" -"in, first-out)` queue, the most recently added entry is the first retrieved " -"(operating like a stack). With a priority queue, the entries are kept " -"sorted (using the :mod:`heapq` module) and the lowest valued entry is " +"queue, the first tasks added are the first retrieved. In a :abbr:`LIFO " +"(last-in, first-out)` queue, the most recently added entry is the first " +"retrieved (operating like a stack). With a priority queue, the entries are " +"kept sorted (using the :mod:`heapq` module) and the lowest valued entry is " "retrieved first." msgstr "" "Le module implémente trois types de files qui différent par l'ordre dans " @@ -122,9 +123,10 @@ msgstr "" "de la file sera infinie." #: library/queue.rst:59 +#, fuzzy msgid "" "The lowest valued entries are retrieved first (the lowest valued entry is " -"the one returned by ``sorted(list(entries))[0]``). A typical pattern for " +"the one that would be returned by ``min(entries)``). A typical pattern for " "entries is a tuple in the form: ``(priority_number, data)``." msgstr "" "Les éléments de valeurs les plus faibles sont extraits en premier (l'élément " @@ -213,14 +215,15 @@ msgstr "" "garantit pas qu'un appel ultérieur à ``put()`` ne sera pas bloquant." #: library/queue.rst:130 +#, fuzzy msgid "" -"Put *item* into the queue. If optional args *block* is true and *timeout* is " -"``None`` (the default), block if necessary until a free slot is available. " -"If *timeout* is a positive number, it blocks at most *timeout* seconds and " -"raises the :exc:`Full` exception if no free slot was available within that " -"time. Otherwise (*block* is false), put an item on the queue if a free slot " -"is immediately available, else raise the :exc:`Full` exception (*timeout* is " -"ignored in that case)." +"Put *item* into the queue. If optional args *block* is true and *timeout* " +"is ``None`` (the default), block if necessary until a free slot is " +"available. If *timeout* is a positive number, it blocks at most *timeout* " +"seconds and raises the :exc:`Full` exception if no free slot was available " +"within that time. Otherwise (*block* is false), put an item on the queue if " +"a free slot is immediately available, else raise the :exc:`Full` exception " +"(*timeout* is ignored in that case)." msgstr "" "Met *item* dans la file. Si les arguments optionnels *block* et *timeout* " "sont respectivement ``True`` et ``None`` (les valeurs par défaut), la " @@ -237,9 +240,9 @@ msgstr "" msgid "Equivalent to ``put(item, block=False)``." msgstr "Équivalent à ``put(item, False)``." -#: library/queue.rst:146 +#: library/queue.rst:258 msgid "" -"Remove and return an item from the queue. If optional args *block* is true " +"Remove and return an item from the queue. If optional args *block* is true " "and *timeout* is ``None`` (the default), block if necessary until an item is " "available. If *timeout* is a positive number, it blocks at most *timeout* " "seconds and raises the :exc:`Empty` exception if no item was available " @@ -258,10 +261,11 @@ msgstr "" "ignoré dans ce cas)." #: library/queue.rst:153 +#, fuzzy msgid "" "Prior to 3.0 on POSIX systems, and for all versions on Windows, if *block* " "is true and *timeout* is ``None``, this operation goes into an " -"uninterruptible wait on an underlying lock. This means that no exceptions " +"uninterruptible wait on an underlying lock. This means that no exceptions " "can occur, and in particular a SIGINT will not trigger a :exc:" "`KeyboardInterrupt`." msgstr "" @@ -319,11 +323,12 @@ msgstr "" "traités." #: library/queue.rst:185 +#, fuzzy msgid "" "The count of unfinished tasks goes up whenever an item is added to the " "queue. The count goes down whenever a consumer thread calls :meth:" "`task_done` to indicate that the item was retrieved and all work on it is " -"complete. When the count of unfinished tasks drops to zero, :meth:`join` " +"complete. When the count of unfinished tasks drops to zero, :meth:`join` " "unblocks." msgstr "" "Le nombre de tâches inachevées augmente chaque fois qu'un élément est ajouté " @@ -358,8 +363,9 @@ msgstr "" "garantit pas qu'un ``get()`` ultérieur ne soit pas bloquant." #: library/queue.rst:230 +#, fuzzy msgid "" -"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " +"Return ``True`` if the queue is empty, ``False`` otherwise. If empty() " "returns ``False`` it doesn't guarantee that a subsequent call to get() will " "not block." msgstr "" @@ -397,26 +403,6 @@ msgstr "" "Équivalent de ``put(item)``, fourni pour la compatibilité avec :meth:`Queue." "put_nowait`." -#: library/queue.rst:258 -msgid "" -"Remove and return an item from the queue. If optional args *block* is true " -"and *timeout* is ``None`` (the default), block if necessary until an item is " -"available. If *timeout* is a positive number, it blocks at most *timeout* " -"seconds and raises the :exc:`Empty` exception if no item was available " -"within that time. Otherwise (*block* is false), return an item if one is " -"immediately available, else raise the :exc:`Empty` exception (*timeout* is " -"ignored in that case)." -msgstr "" -"Retire et renvoie un élément de la file. Si les arguments optionnels *block* " -"et *timeout* valent respectivement ``True`` et ``None`` (les valeurs par " -"défaut), la méthode bloque si nécessaire jusqu'à ce qu'un élément soit " -"disponible. Si *timeout* est un entier positif, elle bloque au plus " -"*timeout* secondes et lève l'exception :exc:`Empty` s'il n'y avait pas " -"d'élément disponible pendant cette période de temps. Sinon (*block* vaut " -"``False``), elle renvoie un élément s'il y en a un immédiatement disponible. " -"Si ce n'est pas le cas, elle lève l'exception :exc:`Empty` (*timeout* est " -"ignoré dans ce cas)." - #: library/queue.rst:275 msgid "Class :class:`multiprocessing.Queue`" msgstr "Classe :class:`multiprocessing.Queue`" @@ -440,3 +426,22 @@ msgstr "" "bornée avec des méthodes :meth:`~collections.deque.append` et :meth:" "`~collections.deque.popleft` rapides et atomiques ne nécessitant pas de " "verrouillage et prenant également en charge l'indexation." + +#~ msgid "" +#~ "Remove and return an item from the queue. If optional args *block* is " +#~ "true and *timeout* is ``None`` (the default), block if necessary until an " +#~ "item is available. If *timeout* is a positive number, it blocks at most " +#~ "*timeout* seconds and raises the :exc:`Empty` exception if no item was " +#~ "available within that time. Otherwise (*block* is false), return an item " +#~ "if one is immediately available, else raise the :exc:`Empty` exception " +#~ "(*timeout* is ignored in that case)." +#~ msgstr "" +#~ "Retire et renvoie un élément de la file. Si les arguments optionnels " +#~ "*block* et *timeout* valent respectivement ``True`` et ``None`` (les " +#~ "valeurs par défaut), la méthode bloque si nécessaire jusqu'à ce qu'un " +#~ "élément soit disponible. Si *timeout* est un entier positif, elle bloque " +#~ "au plus *timeout* secondes et lève l'exception :exc:`Empty` s'il n'y " +#~ "avait pas d'élément disponible pendant cette période de temps. Sinon " +#~ "(*block* vaut ``False``), elle renvoie un élément s'il y en a un " +#~ "immédiatement disponible. Si ce n'est pas le cas, elle lève l'exception :" +#~ "exc:`Empty` (*timeout* est ignoré dans ce cas)." diff --git a/library/re.po b/library/re.po index a0f38e76d4..6471b03575 100644 --- a/library/re.po +++ b/library/re.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:52+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -217,7 +217,7 @@ msgstr "" msgid "The special characters are:" msgstr "Les caractères spéciaux sont :" -#: library/re.rst:1432 +#: library/re.rst:1435 msgid "``.``" msgstr "``.``" @@ -421,7 +421,7 @@ msgstr "" "pourquoi il est hautement recommandé d'utiliser des chaînes brutes pour tout " "sauf les expressions les plus simples." -#: library/re.rst:254 +#: library/re.rst:255 msgid "``[]``" msgstr "``[]``" @@ -493,17 +493,19 @@ msgstr "" "caractère de l'ensemble." #: library/re.rst:233 +#, fuzzy msgid "" "To match a literal ``']'`` inside a set, precede it with a backslash, or " "place it at the beginning of the set. For example, both ``[()[\\]{}]`` and " -"``[]()[{}]`` will both match a parenthesis." +"``[]()[{}]`` will match a right bracket, as well as left bracket, braces, " +"and parentheses." msgstr "" "Pour insérer un ``']'`` littéral dans un ensemble, il faut le précéder d'un " "*backslash* ou le placer au début de l'ensemble. Par exemple, ``[()[\\]{}]`` " "et ``[]()[{}]`` vont tous deux correspondre à une parenthèse, un crochet ou " "une accolade." -#: library/re.rst:242 +#: library/re.rst:243 msgid "" "Support of nested sets and set operations as in `Unicode Technical Standard " "#18`_ might be added in the future. This would change the syntax, so to " @@ -521,7 +523,7 @@ msgstr "" "``'||'``. Pour éviter un message d'avertissement, échapper les séquences " "avec le caractère antislash (``\"\\\"``)." -#: library/re.rst:252 +#: library/re.rst:253 msgid "" ":exc:`FutureWarning` is raised if a character set contains constructs that " "will change semantically in the future." @@ -529,11 +531,11 @@ msgstr "" "L'exception :exc:`FutureWarning` est levée si un ensemble de caractères " "contient une construction dont la sémantique changera dans le futur." -#: library/re.rst:267 +#: library/re.rst:268 msgid "``|``" msgstr "``|``" -#: library/re.rst:259 +#: library/re.rst:260 msgid "" "``A|B``, where *A* and *B* can be arbitrary REs, creates a regular " "expression that will match either *A* or *B*. An arbitrary number of REs " @@ -558,11 +560,11 @@ msgstr "" "littéral, utilisez ``\\|``, ou enveloppez-le dans une classe de caractères, " "comme ``[|]``." -#: library/re.rst:277 +#: library/re.rst:278 msgid "``(...)``" msgstr "``(...)``" -#: library/re.rst:273 +#: library/re.rst:274 msgid "" "Matches whatever regular expression is inside the parentheses, and indicates " "the start and end of a group; the contents of a group can be retrieved after " @@ -579,11 +581,11 @@ msgstr "" "``\\(`` ou ``\\)``, ou enveloppez-les dans une classe de caractères : " "``[(]``, ``[)]``." -#: library/re.rst:286 +#: library/re.rst:287 msgid "``(?...)``" msgstr "``(?...)``" -#: library/re.rst:282 +#: library/re.rst:283 msgid "" "This is an extension notation (a ``'?'`` following a ``'('`` is not " "meaningful otherwise). The first character after the ``'?'`` determines " @@ -597,11 +599,11 @@ msgstr "" "de nouveaux groupes ; ``(?P...)`` est la seule exception à la règle. " "Retrouvez ci-dessous la liste des extensions actuellement supportées." -#: library/re.rst:300 +#: library/re.rst:301 msgid "``(?aiLmsux)``" msgstr "``(?aiLmsux)``" -#: library/re.rst:289 +#: library/re.rst:290 msgid "" "(One or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " "``'s'``, ``'u'``, ``'x'``.) The group matches the empty string; the letters " @@ -627,11 +629,11 @@ msgstr "" "Les options devraient être spécifiées en premier dans la chaîne de " "l'expression." -#: library/re.rst:308 +#: library/re.rst:309 msgid "``(?:...)``" msgstr "``(?:...)``" -#: library/re.rst:305 +#: library/re.rst:306 msgid "" "A non-capturing version of regular parentheses. Matches whatever regular " "expression is inside the parentheses, but the substring matched by the group " @@ -643,11 +645,11 @@ msgstr "" "chaîne correspondant au groupe *ne peut pas* être récupérée après l'analyse " "ou être référencée plus loin dans le motif." -#: library/re.rst:334 +#: library/re.rst:335 msgid "``(?aiLmsux-imsx:...)``" msgstr "``(?aiLmsux-imsx:...)``" -#: library/re.rst:311 +#: library/re.rst:312 msgid "" "(Zero or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " "``'s'``, ``'u'``, ``'x'``, optionally followed by ``'-'`` followed by one or " @@ -668,7 +670,7 @@ msgstr "" "cette partie de l'expression. (Les options sont décrites dans la section :" "ref:`contents-of-module-re`.)" -#: library/re.rst:321 +#: library/re.rst:322 msgid "" "The letters ``'a'``, ``'L'`` and ``'u'`` are mutually exclusive when used as " "inline flags, so they can't be combined or follow ``'-'``. Instead, when " @@ -692,17 +694,17 @@ msgstr "" "dans lesquelles elles sont, le mode précédent est donc rétabli à la sortie " "du groupe." -#: library/re.rst:333 +#: library/re.rst:334 msgid "The letters ``'a'``, ``'L'`` and ``'u'`` also can be used in a group." msgstr "" "Les lettres ``'a'``, ``'L'`` et ``'u'`` peuvent aussi être utilisées dans un " "groupe." -#: library/re.rst:361 +#: library/re.rst:362 msgid "``(?P...)``" msgstr "``(?P...)``" -#: library/re.rst:339 +#: library/re.rst:340 msgid "" "Similar to regular parentheses, but the substring matched by the group is " "accessible via the symbolic group name *name*. Group names must be valid " @@ -717,7 +719,7 @@ msgstr "" "rationnelle. Un groupe symbolique est aussi un groupe numéroté, de la même " "manière que si le groupe n'était pas nommé." -#: library/re.rst:345 +#: library/re.rst:346 msgid "" "Named groups can be referenced in three contexts. If the pattern is ``(?" "P['\"]).*?(?P=quote)`` (i.e. matching a string quoted with either " @@ -727,55 +729,55 @@ msgstr "" "est ``(?P['\"]).*?(?P=quote)`` (c.-à-d. correspondant à une chaîne " "entourée de guillemets simples ou doubles) :" -#: library/re.rst:350 +#: library/re.rst:351 msgid "Context of reference to group \"quote\"" msgstr "Contexte de référence au groupe *quote*" -#: library/re.rst:350 +#: library/re.rst:351 msgid "Ways to reference it" msgstr "Manières de le référencer" -#: library/re.rst:352 +#: library/re.rst:353 msgid "in the same pattern itself" msgstr "lui-même dans le même motif" -#: library/re.rst:352 +#: library/re.rst:353 msgid "``(?P=quote)`` (as shown)" msgstr "``(?P=quote)`` (comme vu)" -#: library/re.rst:360 +#: library/re.rst:361 msgid "``\\1``" msgstr "``\\1``" -#: library/re.rst:355 +#: library/re.rst:356 msgid "when processing match object *m*" msgstr "en analysant l'objet résultat *m*" -#: library/re.rst:355 +#: library/re.rst:356 msgid "``m.group('quote')``" msgstr "``m.group('quote')``" -#: library/re.rst:356 +#: library/re.rst:357 msgid "``m.end('quote')`` (etc.)" msgstr "``m.end('quote')`` (etc.)" -#: library/re.rst:358 +#: library/re.rst:359 msgid "in a string passed to the *repl* argument of ``re.sub()``" msgstr "dans une chaîne passée à l'argument *repl* de ``re.sub()``" -#: library/re.rst:358 +#: library/re.rst:359 msgid "``\\g``" msgstr "``\\g``" -#: library/re.rst:359 +#: library/re.rst:360 msgid "``\\g<1>``" msgstr "``\\g<1>``" -#: library/re.rst:367 +#: library/re.rst:368 msgid "``(?P=name)``" msgstr "``(?P=name)``" -#: library/re.rst:366 +#: library/re.rst:367 msgid "" "A backreference to a named group; it matches whatever text was matched by " "the earlier group named *name*." @@ -783,19 +785,19 @@ msgstr "" "Une référence arrière à un groupe nommé ; elle correspond à n'importe quel " "texte validé plus tôt par le groupe nommé *name*." -#: library/re.rst:372 +#: library/re.rst:373 msgid "``(?#...)``" msgstr "``(?#...)``" -#: library/re.rst:372 +#: library/re.rst:373 msgid "A comment; the contents of the parentheses are simply ignored." msgstr "Un commentaire ; le contenu des parenthèses est simplement ignoré." -#: library/re.rst:379 +#: library/re.rst:380 msgid "``(?=...)``" msgstr "``(?=...)``" -#: library/re.rst:377 +#: library/re.rst:378 msgid "" "Matches if ``...`` matches next, but doesn't consume any of the string. " "This is called a :dfn:`lookahead assertion`. For example, ``Isaac (?" @@ -806,11 +808,11 @@ msgstr "" "=Asimov)`` correspondra à la chaîne ``'Isaac '`` seulement si elle est " "suivie par ``'Asimov'``." -#: library/re.rst:386 +#: library/re.rst:387 msgid "``(?!...)``" msgstr "``(?!...)``" -#: library/re.rst:384 +#: library/re.rst:385 msgid "" "Matches if ``...`` doesn't match next. This is a :dfn:`negative lookahead " "assertion`. For example, ``Isaac (?!Asimov)`` will match ``'Isaac '`` only " @@ -820,11 +822,11 @@ msgstr "" "`negative lookahead`. Par exemple, ``Isaac (?!Asimov)`` correspondra à la " "chaîne ``'Isaac '`` seulement si elle *n'est pas* suivie par ``'Asimov'``." -#: library/re.rst:413 +#: library/re.rst:414 msgid "``(?<=...)``" msgstr "``(?<=...)``" -#: library/re.rst:391 +#: library/re.rst:392 msgid "" "Matches if the current position in the string is preceded by a match for " "``...`` that ends at the current position. This is called a :dfn:`positive " @@ -849,19 +851,19 @@ msgstr "" "préférerez sûrement utiliser la fonction :func:`search` plutôt que la " "fonction :func:`match` :" -#: library/re.rst:406 +#: library/re.rst:407 msgid "This example looks for a word following a hyphen:" msgstr "Cet exemple recherche un mot suivi d'un trait d'union :" -#: library/re.rst:412 +#: library/re.rst:413 msgid "Added support for group references of fixed length." msgstr "Ajout du support des références aux groupes de taille fixe." -#: library/re.rst:422 +#: library/re.rst:423 msgid "``(?'`` ainsi que " "``'user@host.com'`` mais pas ``''``." -#: library/re.rst:433 +#: library/re.rst:437 msgid "" "The special sequences consist of ``'\\'`` and a character from the list " "below. If the ordinary character is not an ASCII digit or an ASCII letter, " @@ -909,11 +911,11 @@ msgstr "" "second caractère de la séquence. Par exemple, ``\\$`` correspond au " "caractère ``'$'``." -#: library/re.rst:448 +#: library/re.rst:452 msgid "``\\number``" msgstr "``\\number``" -#: library/re.rst:441 +#: library/re.rst:445 msgid "" "Matches the contents of the group of the same number. Groups are numbered " "starting from 1. For example, ``(.+) \\1`` matches ``'the the'`` or ``'55 " @@ -934,19 +936,19 @@ msgstr "" "À l'intérieur des ``'['`` et ``']'`` d'une classe de caractères, tous les " "échappements numériques sont traités comme des caractères." -#: library/re.rst:453 +#: library/re.rst:457 msgid "``\\A``" msgstr "``\\A``" -#: library/re.rst:453 +#: library/re.rst:457 msgid "Matches only at the start of the string." msgstr "Correspond uniquement au début d'une chaîne de caractères." -#: library/re.rst:469 +#: library/re.rst:473 msgid "``\\b``" msgstr "``\\b``" -#: library/re.rst:458 +#: library/re.rst:462 msgid "" "Matches the empty string, but only at the beginning or end of a word. A word " "is defined as a sequence of word characters. Note that formally, ``\\b`` is " @@ -962,7 +964,7 @@ msgstr "" "que ``r'\\bfoo\\b'`` validera ``'foo'``, ``'foo.'``, ``'(foo)'`` ou ``'bar " "foo baz'`` mais pas ``'foobar'`` ou ``'foo3'``." -#: library/re.rst:465 +#: library/re.rst:469 msgid "" "By default Unicode alphanumerics are the ones used in Unicode patterns, but " "this can be changed by using the :const:`ASCII` flag. Word boundaries are " @@ -977,11 +979,11 @@ msgstr "" "caractères, ``\\b`` représente le caractère *retour arrière*, par " "compatibilité avec les chaînes littérales Python." -#: library/re.rst:480 +#: library/re.rst:484 msgid "``\\B``" msgstr "``\\B``" -#: library/re.rst:474 +#: library/re.rst:478 msgid "" "Matches the empty string, but only when it is *not* at the beginning or end " "of a word. This means that ``r'py\\B'`` matches ``'python'``, ``'py3'``, " @@ -999,15 +1001,15 @@ msgstr "" "puisse être changé avec l'option :const:`ASCII`. Les délimitations de mots " "sont déterminées par la locale si l'option :const:`LOCALE` est utilisée." -#: library/re.rst:492 +#: library/re.rst:496 msgid "``\\d``" msgstr "``\\d``" -#: library/re.rst:509 library/re.rst:529 +#: library/re.rst:513 library/re.rst:532 msgid "For Unicode (str) patterns:" msgstr "Pour les motifs Unicode (*str*) :" -#: library/re.rst:486 +#: library/re.rst:490 msgid "" "Matches any Unicode decimal digit (that is, any character in Unicode " "character category [Nd]). This includes ``[0-9]``, and also many other " @@ -1019,19 +1021,19 @@ msgstr "" "caractères de chiffres. Si l'option :const:`ASCII` est utilisée, seuls les " "caractères de la classe ``[0-9]`` correspondront." -#: library/re.rst:513 library/re.rst:535 +#: library/re.rst:517 library/re.rst:538 msgid "For 8-bit (bytes) patterns:" msgstr "Pour les motifs 8-bit (*bytes*) :" -#: library/re.rst:492 +#: library/re.rst:496 msgid "Matches any decimal digit; this is equivalent to ``[0-9]``." msgstr "Valide n'importe quel chiffre décimal ; équivalent à ``[0-9]``." -#: library/re.rst:499 +#: library/re.rst:503 msgid "``\\D``" msgstr "``\\D``" -#: library/re.rst:497 +#: library/re.rst:501 msgid "" "Matches any character which is not a decimal digit. This is the opposite of " "``\\d``. If the :const:`ASCII` flag is used this becomes the equivalent of " @@ -1041,11 +1043,11 @@ msgstr "" "``\\d``. Si l'option :const:`ASCII` est utilisée, cela devient équivalent à " "``[^0-9]``." -#: library/re.rst:513 +#: library/re.rst:517 msgid "``\\s``" msgstr "``\\s``" -#: library/re.rst:505 +#: library/re.rst:509 msgid "" "Matches Unicode whitespace characters (which includes " "``[ \\t\\n\\r\\f\\v]``, and also many other characters, for example the non-" @@ -1058,7 +1060,7 @@ msgstr "" "const:`ASCII` est utilisée, seuls les caractères de la classe " "``[ \\t\\n\\r\\f\\v]`` sont validés." -#: library/re.rst:512 +#: library/re.rst:516 msgid "" "Matches characters considered whitespace in the ASCII character set; this is " "equivalent to ``[ \\t\\n\\r\\f\\v]``." @@ -1066,11 +1068,11 @@ msgstr "" "Valide les caractères considérés comme des espacements dans la table ASCII ; " "équivalent à ``[ \\t\\n\\r\\f\\v]``." -#: library/re.rst:520 +#: library/re.rst:524 msgid "``\\S``" msgstr "``\\S``" -#: library/re.rst:518 +#: library/re.rst:522 msgid "" "Matches any character which is not a whitespace character. This is the " "opposite of ``\\s``. If the :const:`ASCII` flag is used this becomes the " @@ -1080,22 +1082,23 @@ msgstr "" "l'opposé de ``\\s``. Si l'option :const:`ASCII` est utilisée, cela devient " "équivalent à ``[^ \\t\\n\\r\\f\\v]``." -#: library/re.rst:535 +#: library/re.rst:538 msgid "``\\w``" msgstr "``\\w``" -#: library/re.rst:526 +#: library/re.rst:530 +#, fuzzy msgid "" -"Matches Unicode word characters; this includes most characters that can be " -"part of a word in any language, as well as numbers and the underscore. If " -"the :const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." +"Matches Unicode word characters; this includes alphanumeric characters (as " +"defined by :meth:`str.isalnum`) as well as the underscore (``_``). If the :" +"const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" "Valide les caractères Unicode de mot ; cela inclut la plupart des caractères " "qui peuvent être compris dans un mot d'une quelconque langue, aussi bien que " "les nombres et les tirets bas. Si l'option :const:`ASCII` est utilisée, " "seuls les caractères de la classe ``[a-zA-Z0-9_]`` sont validés." -#: library/re.rst:532 +#: library/re.rst:535 msgid "" "Matches characters considered alphanumeric in the ASCII character set; this " "is equivalent to ``[a-zA-Z0-9_]``. If the :const:`LOCALE` flag is used, " @@ -1106,11 +1109,11 @@ msgstr "" "zA-Z0-9_]``. Si l'option :const:`LOCALE` est utilisée, les caractères " "considérés alphanumériques dans la locale et le tiret bas seront acceptés." -#: library/re.rst:544 +#: library/re.rst:547 msgid "``\\W``" msgstr "``\\W``" -#: library/re.rst:540 +#: library/re.rst:543 msgid "" "Matches any character which is not a word character. This is the opposite of " "``\\w``. If the :const:`ASCII` flag is used this becomes the equivalent of " @@ -1123,15 +1126,15 @@ msgstr "" "considérés alphanumériques dans la locale, et le tiret bas, ne correspondent " "pas." -#: library/re.rst:549 +#: library/re.rst:552 msgid "``\\Z``" msgstr "``\\Z``" -#: library/re.rst:549 +#: library/re.rst:552 msgid "Matches only at the end of the string." msgstr "Correspond uniquement à la fin d'une chaîne de caractères." -#: library/re.rst:565 +#: library/re.rst:568 msgid "" "Most of the standard escapes supported by Python string literals are also " "accepted by the regular expression parser::" @@ -1139,7 +1142,7 @@ msgstr "" "La plupart des échappements standards supportés par les chaînes littérales " "sont aussi acceptés par l'analyseur d'expressions rationnelles ::" -#: library/re.rst:572 +#: library/re.rst:575 msgid "" "(Note that ``\\b`` is used to represent word boundaries, and means " "\"backspace\" only inside character classes.)" @@ -1148,7 +1151,7 @@ msgstr "" "signifie « *retour arrière* » uniquement à l'intérieur d'une classe de " "caractères)" -#: library/re.rst:575 +#: library/re.rst:578 msgid "" "``'\\u'``, ``'\\U'``, and ``'\\N'`` escape sequences are only recognized in " "Unicode patterns. In bytes patterns they are errors. Unknown escapes of " @@ -1159,7 +1162,7 @@ msgstr "" "ce sont des erreurs. Les échappements inconnus de lettres ASCII sont " "réservés pour une utilisation future et sont considérés comme des erreurs." -#: library/re.rst:579 +#: library/re.rst:582 msgid "" "Octal escapes are included in a limited form. If the first digit is a 0, or " "if there are three octal digits, it is considered an octal escape. " @@ -1172,18 +1175,18 @@ msgstr "" "vers un groupe. Comme pour les chaînes littérales, les séquences octales ne " "font jamais plus de 3 caractères de long." -#: library/re.rst:584 +#: library/re.rst:587 msgid "The ``'\\u'`` and ``'\\U'`` escape sequences have been added." msgstr "Les séquences d'échappement ``'\\u'`` et ``'\\U'`` ont été ajoutées." -#: library/re.rst:587 +#: library/re.rst:590 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter now are errors." msgstr "" "Les séquences inconnues composées de ``'\\'`` et d'une lettre ASCII sont " "maintenant des erreurs." -#: library/re.rst:590 +#: library/re.rst:593 msgid "" "The ``'\\N{name}'`` escape sequence has been added. As in string literals, " "it expands to the named Unicode character (e.g. ``'\\N{EM DASH}'``)." @@ -1192,11 +1195,11 @@ msgstr "" "chaînes de caractères littérales, elle est transformée vers le caractère " "Unicode correspondant (par exemple ``'\\N{EM DASH}'``)." -#: library/re.rst:598 +#: library/re.rst:601 msgid "Module Contents" msgstr "Contenu du module" -#: library/re.rst:600 +#: library/re.rst:603 msgid "" "The module defines several functions, constants, and an exception. Some of " "the functions are simplified versions of the full featured methods for " @@ -1208,11 +1211,11 @@ msgstr "" "complètes des expressions rationnelles compilées. La plupart des " "applications non triviales utilisent toujours la version compilée." -#: library/re.rst:607 +#: library/re.rst:610 msgid "Flags" msgstr "" -#: library/re.rst:609 +#: library/re.rst:612 msgid "" "Flag constants are now instances of :class:`RegexFlag`, which is a subclass " "of :class:`enum.IntFlag`." @@ -1220,7 +1223,7 @@ msgstr "" "Les constantes d'options sont maintenant des instances de :class:" "`RegexFlag`, sous-classe de :class:`enum.IntFlag`." -#: library/re.rst:618 +#: library/re.rst:621 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and " "``\\S`` perform ASCII-only matching instead of full Unicode matching. This " @@ -1232,7 +1235,7 @@ msgstr "" "n'a du sens que pour les motifs Unicode, et est ignoré pour les motifs 8-" "bit. Correspond à l'option de groupe ``(?a)``." -#: library/re.rst:623 +#: library/re.rst:626 msgid "" "Note that for backward compatibility, the :const:`re.U` flag still exists " "(as well as its synonym :const:`re.UNICODE` and its embedded counterpart ``(?" @@ -1245,7 +1248,7 @@ msgstr "" "que l'analyse est faite en Unicode par défaut pour les chaînes de caractères " "(et que l'analyse Unicode n'est pas permise pour les chaînes 8-bit)." -#: library/re.rst:632 +#: library/re.rst:635 msgid "" "Display debug information about compiled expression. No corresponding inline " "flag." @@ -1253,7 +1256,7 @@ msgstr "" "Affiche des informations de débogage à propos de l'expression compilée. N'a " "pas d'option de groupe équivalente." -#: library/re.rst:639 +#: library/re.rst:642 msgid "" "Perform case-insensitive matching; expressions like ``[A-Z]`` will also " "match lowercase letters. Full Unicode matching (such as ``Ü`` matching " @@ -1269,7 +1272,7 @@ msgstr "" "que l'option :const:`re.LOCALE` n'est pas utilisée. Correspond au marqueur " "de groupe ``(?i)``." -#: library/re.rst:646 +#: library/re.rst:649 msgid "" "Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in " "combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII " @@ -1287,7 +1290,7 @@ msgstr "" "*Kelvin sign*). Si la constante :const:`ASCII` est utilisée, seuls les " "caractères 'a' à 'z' et 'A' à 'Z' seront concernés." -#: library/re.rst:657 +#: library/re.rst:660 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " "dependent on the current locale. This flag can be used only with bytes " @@ -1306,7 +1309,7 @@ msgstr "" "elle est capable de gérer plusieurs locales et langages. Correspond à " "l'option de groupe ``(?L)``." -#: library/re.rst:666 +#: library/re.rst:669 msgid "" ":const:`re.LOCALE` can be used only with bytes patterns and is not " "compatible with :const:`re.ASCII`." @@ -1314,7 +1317,7 @@ msgstr "" ":const:`re.LOCALE` ne peut être utilisée qu'avec les motifs 8-bit et n'est " "pas compatible avec :const:`re.ASCII`." -#: library/re.rst:670 +#: library/re.rst:673 msgid "" "Compiled regular expression objects with the :const:`re.LOCALE` flag no " "longer depend on the locale at compile time. Only the locale at matching " @@ -1324,7 +1327,7 @@ msgstr "" "LOCALE` ne dépendent plus de la *locale* au moment de la compilation. " "Seulement la *locale* au moment de la correspondance affecte le résultat." -#: library/re.rst:679 +#: library/re.rst:682 msgid "" "When specified, the pattern character ``'^'`` matches at the beginning of " "the string and at the beginning of each line (immediately following each " @@ -1342,7 +1345,7 @@ msgstr "" "immédiatement avant le saut de ligne (s'il y a) à la fin de la chaîne. " "Correspond à l'option de groupe ``(?m)``." -#: library/re.rst:691 +#: library/re.rst:694 msgid "" "Make the ``'.'`` special character match any character at all, including a " "newline; without this flag, ``'.'`` will match anything *except* a newline. " @@ -1352,7 +1355,7 @@ msgstr "" "de ligne ; sans cette option, ``'.'`` correspondrait à tout caractère à " "l'exception du saut de ligne. Correspond à l'option de groupe ``(?s)``." -#: library/re.rst:701 +#: library/re.rst:704 msgid "" "This flag allows you to write regular expressions that look nicer and are " "more readable by allowing you to visually separate logical sections of the " @@ -1375,7 +1378,7 @@ msgstr "" "précédé d'un *backslash* non échappé, tous les caractères depuis le ``#`` le " "plus à gauche jusqu'à la fin de la ligne sont ignorés." -#: library/re.rst:711 +#: library/re.rst:714 msgid "" "This means that the two following regular expression objects that match a " "decimal number are functionally equal::" @@ -1383,15 +1386,15 @@ msgstr "" "Cela signifie que les deux expressions rationnelles suivantes qui valident " "un nombre décimal sont fonctionnellement égales ::" -#: library/re.rst:719 +#: library/re.rst:722 msgid "Corresponds to the inline flag ``(?x)``." msgstr "Correspond à l'option de groupe ``(?x)``." -#: library/re.rst:723 +#: library/re.rst:726 msgid "Functions" msgstr "Fonctions" -#: library/re.rst:727 +#: library/re.rst:730 msgid "" "Compile a regular expression pattern into a :ref:`regular expression object " "`, which can be used for matching using its :func:`~Pattern." @@ -1402,7 +1405,7 @@ msgstr "" "search`, décrites ci-dessous, peuvent être utilisées pour analyser des " "textes." -#: library/re.rst:732 +#: library/re.rst:735 msgid "" "The expression's behaviour can be modified by specifying a *flags* value. " "Values can be any of the following variables, combined using bitwise OR (the " @@ -1412,15 +1415,15 @@ msgstr "" "*flags*. Les valeurs sont comprises dans les variables suivantes, et peuvent " "être combinées avec un *ou* bit-à-bit (opérateur ``|``)." -#: library/re.rst:736 +#: library/re.rst:739 msgid "The sequence ::" msgstr "La séquence ::" -#: library/re.rst:741 +#: library/re.rst:744 msgid "is equivalent to ::" msgstr "est équivalente à ::" -#: library/re.rst:745 +#: library/re.rst:748 msgid "" "but using :func:`re.compile` and saving the resulting regular expression " "object for reuse is more efficient when the expression will be used several " @@ -1430,7 +1433,7 @@ msgstr "" "renvoyée pour la réutiliser est plus efficace quand l'expression est amenée " "à être utilisée plusieurs fois dans un même programme." -#: library/re.rst:751 +#: library/re.rst:754 msgid "" "The compiled versions of the most recent patterns passed to :func:`re." "compile` and the module-level matching functions are cached, so programs " @@ -1442,7 +1445,7 @@ msgstr "" "les programmes qui n'utilisent que quelques expressions rationnelles en même " "temps n'ont pas à s'inquiéter de la compilation de ces expressions." -#: library/re.rst:759 +#: library/re.rst:762 msgid "" "Scan through *string* looking for the first location where the regular " "expression *pattern* produces a match, and return a corresponding :ref:" @@ -1456,7 +1459,7 @@ msgstr "" "dans la chaîne ne valide le motif ; notez que cela est différent de trouver " "une correspondance avec une chaîne vide à un certain endroit de la chaîne." -#: library/re.rst:768 +#: library/re.rst:771 msgid "" "If zero or more characters at the beginning of *string* match the regular " "expression *pattern*, return a corresponding :ref:`match object `. Return ``None`` if the " @@ -1497,7 +1500,7 @@ msgstr "" "Renvoie ``None`` si la chaîne ne correspond pas au motif ; notez que cela " "est différent d'une correspondance avec une chaîne vide." -#: library/re.rst:792 +#: library/re.rst:795 msgid "" "Split *string* by the occurrences of *pattern*. If capturing parentheses " "are used in *pattern*, then the text of all groups in the pattern are also " @@ -1511,7 +1514,7 @@ msgstr "" "différent de zéro, il ne pourra y avoir plus de *maxsplit* séparations, et " "le reste de la chaîne sera renvoyé comme le dernier élément de la liste. ::" -#: library/re.rst:807 +#: library/re.rst:810 msgid "" "If there are capturing groups in the separator and it matches at the start " "of the string, the result will start with an empty string. The same holds " @@ -1521,7 +1524,7 @@ msgstr "" "correspondance au début de la chaîne, le résultat commencera par une chaîne " "vide. La même chose se produit pour la fin de la chaîne ::" -#: library/re.rst:814 +#: library/re.rst:817 msgid "" "That way, separator components are always found at the same relative indices " "within the result list." @@ -1529,7 +1532,7 @@ msgstr "" "De cette manière, les séparateurs sont toujours trouvés aux mêmes indices " "relatifs dans la liste résultante." -#: library/re.rst:817 +#: library/re.rst:820 msgid "" "Empty matches for the pattern split the string only when not adjacent to a " "previous empty match." @@ -1538,18 +1541,18 @@ msgstr "" "seulement lorsqu'ils ne sont pas adjacents à une correspondance vide " "précédente." -#: library/re.rst:917 library/re.rst:941 +#: library/re.rst:920 library/re.rst:944 msgid "Added the optional flags argument." msgstr "ajout de l'argument optionnel *flags*." -#: library/re.rst:830 +#: library/re.rst:833 msgid "" "Added support of splitting on a pattern that could match an empty string." msgstr "" "Gestion du découpage avec un motif qui pourrait correspondre à une chaine de " "caractère vide." -#: library/re.rst:836 +#: library/re.rst:839 msgid "" "Return all non-overlapping matches of *pattern* in *string*, as a list of " "strings or tuples. The *string* is scanned left-to-right, and matches are " @@ -1561,7 +1564,7 @@ msgstr "" "correspondances sont données dans cet ordre. Le résultat peut contenir des " "correspondances vides." -#: library/re.rst:840 +#: library/re.rst:843 msgid "" "The result depends on the number of capturing groups in the pattern. If " "there are no groups, return a list of strings matching the whole pattern. " @@ -1578,13 +1581,13 @@ msgstr "" "groupes, le résultat est formé de *n*-uplets avec les sous-chaînes " "correspondant aux différents groupes." -#: library/re.rst:863 +#: library/re.rst:866 msgid "Non-empty matches can now start just after a previous empty match." msgstr "" "Les correspondances non vides peuvent maintenant démarrer juste après une " "correspondance vide précédente." -#: library/re.rst:858 +#: library/re.rst:861 msgid "" "Return an :term:`iterator` yielding :ref:`match objects ` " "over all non-overlapping matches for the RE *pattern* in *string*. The " @@ -1598,7 +1601,7 @@ msgstr "" "dans l'ordre où elles sont trouvées. Les correspondances vides sont inclues " "dans le résultat." -#: library/re.rst:869 +#: library/re.rst:872 msgid "" "Return the string obtained by replacing the leftmost non-overlapping " "occurrences of *pattern* in *string* by the replacement *repl*. If the " @@ -1623,7 +1626,7 @@ msgstr "" "arrières, telles que ``\\6``, sont remplacées par la sous-chaîne " "correspondant au groupe 6 dans le motif. Par exemple ::" -#: library/re.rst:885 +#: library/re.rst:888 msgid "" "If *repl* is a function, it is called for every non-overlapping occurrence " "of *pattern*. The function takes a single :ref:`match object `, et renvoie la chaîne de remplacement. " "Par exemple ::" -#: library/re.rst:897 +#: library/re.rst:900 msgid "The pattern may be a string or a :ref:`pattern object `." msgstr "" "Le motif peut être une chaîne de caractères ou un :ref:`objet expression " "rationnelle `." -#: library/re.rst:899 +#: library/re.rst:902 msgid "" "The optional argument *count* is the maximum number of pattern occurrences " "to be replaced; *count* must be a non-negative integer. If omitted or zero, " @@ -1655,7 +1658,7 @@ msgstr "" "précédente correspondance, ainsi ``sub('x*', '-', 'abxd')`` renvoie ``'-a-b--" "d-'``." -#: library/re.rst:907 +#: library/re.rst:910 msgid "" "In string-type *repl* arguments, in addition to the character escapes and " "backreferences described above, ``\\g`` will use the substring matched " @@ -1677,11 +1680,11 @@ msgstr "" "par un caractère littéral ``'0'``. La référence arrière ``\\g<0>`` est " "remplacée par la sous-chaîne entière validée par l'expression rationnelle." -#: library/re.rst:944 library/re.rst:1178 +#: library/re.rst:947 library/re.rst:1181 msgid "Unmatched groups are replaced with an empty string." msgstr "Les groupes sans correspondance sont remplacés par une chaîne vide." -#: library/re.rst:923 +#: library/re.rst:926 msgid "" "Unknown escapes in *pattern* consisting of ``'\\'`` and an ASCII letter now " "are errors." @@ -1689,7 +1692,7 @@ msgstr "" "Les séquences d'échappement inconnues dans *pattern* formées par ``'\\'`` et " "une lettre ASCII sont maintenant des erreurs." -#: library/re.rst:927 +#: library/re.rst:930 msgid "" "Unknown escapes in *repl* consisting of ``'\\'`` and an ASCII letter now are " "errors." @@ -1697,7 +1700,7 @@ msgstr "" "Les séquences d'échappement inconnues dans *repl* formées par ``'\\'`` et " "une lettre ASCII sont maintenant des erreurs." -#: library/re.rst:931 +#: library/re.rst:934 msgid "" "Empty matches for the pattern are replaced when adjacent to a previous non-" "empty match." @@ -1705,7 +1708,7 @@ msgstr "" "Les correspondances vides pour le motif sont remplacées lorsqu'elles sont " "adjacentes à une correspondance non vide précédente." -#: library/re.rst:938 +#: library/re.rst:941 msgid "" "Perform the same operation as :func:`sub`, but return a tuple ``(new_string, " "number_of_subs_made)``." @@ -1713,7 +1716,7 @@ msgstr "" "Réalise la même opération que :func:`sub`, mais renvoie une paire " "``(nouvelle_chaîne, nombre_de_substitutions_réalisées)``." -#: library/re.rst:950 +#: library/re.rst:953 msgid "" "Escape special characters in *pattern*. This is useful if you want to match " "an arbitrary literal string that may have regular expression metacharacters " @@ -1723,7 +1726,7 @@ msgstr "" "voulez valider une quelconque chaîne littérale qui pourrait contenir des " "métacaractères d'expressions rationnelles. Par exemple ::" -#: library/re.rst:965 +#: library/re.rst:968 msgid "" "This function must not be used for the replacement string in :func:`sub` " "and :func:`subn`, only backslashes should be escaped. For example::" @@ -1732,11 +1735,11 @@ msgstr "" "dans :func:`sub` et :func:`subn`, seuls les antislash devraient être " "échappés. Par exemple ::" -#: library/re.rst:973 +#: library/re.rst:976 msgid "The ``'_'`` character is no longer escaped." msgstr "Le caractère ``'_'`` n'est plus échappé." -#: library/re.rst:976 +#: library/re.rst:979 msgid "" "Only characters that can have special meaning in a regular expression are " "escaped. As a result, ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, " @@ -1748,15 +1751,15 @@ msgstr "" "``'%'``, ``\"'\"``, ``','``, ``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, " "``'>'``, ``'@'``, et ``\"`\"`` ne sont plus échappés." -#: library/re.rst:985 +#: library/re.rst:988 msgid "Clear the regular expression cache." msgstr "Vide le cache d'expressions rationnelles." -#: library/re.rst:989 +#: library/re.rst:992 msgid "Exceptions" msgstr "Exceptions" -#: library/re.rst:993 +#: library/re.rst:996 msgid "" "Exception raised when a string passed to one of the functions here is not a " "valid regular expression (for example, it might contain unmatched " @@ -1771,36 +1774,36 @@ msgstr "" "contient aucune correspondance pour un motif. Les instances de l'erreur ont " "les attributs additionnels suivants :" -#: library/re.rst:1001 +#: library/re.rst:1004 msgid "The unformatted error message." msgstr "Le message d'erreur non formaté." -#: library/re.rst:1005 +#: library/re.rst:1008 msgid "The regular expression pattern." msgstr "Le motif d'expression rationnelle." -#: library/re.rst:1009 +#: library/re.rst:1012 msgid "The index in *pattern* where compilation failed (may be ``None``)." msgstr "" "L'index dans *pattern* où la compilation a échoué (peut valoir ``None``)." -#: library/re.rst:1013 +#: library/re.rst:1016 msgid "The line corresponding to *pos* (may be ``None``)." msgstr "La ligne correspondant à *pos* (peut valoir ``None``)." -#: library/re.rst:1017 +#: library/re.rst:1020 msgid "The column corresponding to *pos* (may be ``None``)." msgstr "La colonne correspondant à *pos* (peut valoir ``None``)." -#: library/re.rst:1019 +#: library/re.rst:1022 msgid "Added additional attributes." msgstr "Ajout des attributs additionnels." -#: library/re.rst:1025 +#: library/re.rst:1028 msgid "Regular Expression Objects" msgstr "Objets d'expressions rationnelles" -#: library/re.rst:1027 +#: library/re.rst:1030 msgid "" "Compiled regular expression objects support the following methods and " "attributes:" @@ -1808,7 +1811,7 @@ msgstr "" "Les expressions rationnelles compilées supportent les méthodes et attributs " "suivants :" -#: library/re.rst:1032 +#: library/re.rst:1035 msgid "" "Scan through *string* looking for the first location where this regular " "expression produces a match, and return a corresponding :ref:`match object " @@ -1822,7 +1825,7 @@ msgstr "" "dans la chaîne ne satisfait le motif ; notez que cela est différent que de " "trouver une correspondance vide dans la chaîne." -#: library/re.rst:1038 +#: library/re.rst:1041 msgid "" "The optional second parameter *pos* gives an index in the string where the " "search is to start; it defaults to ``0``. This is not completely equivalent " @@ -1836,7 +1839,7 @@ msgstr "" "``'^'`` correspond au début réel de la chaîne et aux positions juste après " "un saut de ligne, mais pas nécessairement à l'index où la recherche commence." -#: library/re.rst:1044 +#: library/re.rst:1047 msgid "" "The optional parameter *endpos* limits how far the string will be searched; " "it will be as if the string is *endpos* characters long, so only the " @@ -1853,7 +1856,7 @@ msgstr "" "expression rationnelle compilée, ``rx.search(string, 0, 50)`` est équivalent " "à ``rx.search(string[:50], 0)``. ::" -#: library/re.rst:1059 +#: library/re.rst:1062 msgid "" "If zero or more characters at the *beginning* of *string* match this regular " "expression, return a corresponding :ref:`match object `. " @@ -1865,7 +1868,7 @@ msgstr "" "objects>` trouvé. Renvoie ``None`` si la chaîne ne correspond pas au motif ; " "notez que cela est différent d'une correspondance vide." -#: library/re.rst:1082 +#: library/re.rst:1085 msgid "" "The optional *pos* and *endpos* parameters have the same meaning as for the :" "meth:`~Pattern.search` method. ::" @@ -1873,7 +1876,7 @@ msgstr "" "Les paramètres optionnels *pos* et *endpos* ont le même sens que pour la " "méthode :meth:`~Pattern.search`. ::" -#: library/re.rst:1072 +#: library/re.rst:1075 msgid "" "If you want to locate a match anywhere in *string*, use :meth:`~Pattern." "search` instead (see also :ref:`search-vs-match`)." @@ -1881,7 +1884,7 @@ msgstr "" "Si vous voulez une recherche n'importe où dans *string*, utilisez plutôt :" "meth:`~Pattern.search` (voir aussi :ref:`search-vs-match`)." -#: library/re.rst:1078 +#: library/re.rst:1081 msgid "" "If the whole *string* matches this regular expression, return a " "corresponding :ref:`match object `. Return ``None`` if the " @@ -1893,11 +1896,11 @@ msgstr "" "la chaîne ne correspond pas au motif ; notez que cela est différent d'une " "correspondance vide." -#: library/re.rst:1096 +#: library/re.rst:1099 msgid "Identical to the :func:`split` function, using the compiled pattern." msgstr "Identique à la fonction :func:`split`, en utilisant le motif compilé." -#: library/re.rst:1101 +#: library/re.rst:1104 msgid "" "Similar to the :func:`findall` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -1907,7 +1910,7 @@ msgstr "" "accepte aussi des paramètres *pos* et *endpos* optionnels qui limitent la " "région de recherche comme pour :meth:`search`." -#: library/re.rst:1108 +#: library/re.rst:1111 msgid "" "Similar to the :func:`finditer` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -1917,15 +1920,15 @@ msgstr "" "mais accepte aussi des paramètres *pos* et *endpos* optionnels qui limitent " "la région de recherche comme pour :meth:`search`." -#: library/re.rst:1115 +#: library/re.rst:1118 msgid "Identical to the :func:`sub` function, using the compiled pattern." msgstr "Identique à la fonction :func:`sub`, en utilisant le motif compilé." -#: library/re.rst:1120 +#: library/re.rst:1123 msgid "Identical to the :func:`subn` function, using the compiled pattern." msgstr "Identique à la fonction :func:`subn`, en utilisant le motif compilé." -#: library/re.rst:1125 +#: library/re.rst:1128 msgid "" "The regex matching flags. This is a combination of the flags given to :func:" "`.compile`, any ``(?...)`` inline flags in the pattern, and implicit flags " @@ -1936,11 +1939,11 @@ msgstr "" "``(?...)`` dans le motif, et des options implicites comme :data:`UNICODE` si " "le motif est une chaîne Unicode." -#: library/re.rst:1132 +#: library/re.rst:1135 msgid "The number of capturing groups in the pattern." msgstr "Le nombre de groupes de capture dans le motif." -#: library/re.rst:1137 +#: library/re.rst:1140 msgid "" "A dictionary mapping any symbolic group names defined by ``(?P)`` to " "group numbers. The dictionary is empty if no symbolic groups were used in " @@ -1950,11 +1953,11 @@ msgstr "" "P)`` aux groupes numérotés. Le dictionnaire est vide si aucun groupe " "symbolique n'est utilisé dans le motif." -#: library/re.rst:1144 +#: library/re.rst:1147 msgid "The pattern string from which the pattern object was compiled." msgstr "La chaîne de motif depuis laquelle l'objet motif a été compilé." -#: library/re.rst:1147 +#: library/re.rst:1150 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Compiled " "regular expression objects are considered atomic." @@ -1962,11 +1965,11 @@ msgstr "" "Ajout du support des fonctions :func:`copy.copy` et :func:`copy.deepcopy`. " "Les expressions régulières compilées sont considérées atomiques." -#: library/re.rst:1155 +#: library/re.rst:1158 msgid "Match Objects" msgstr "Objets de correspondance" -#: library/re.rst:1157 +#: library/re.rst:1160 msgid "" "Match objects always have a boolean value of ``True``. Since :meth:`~Pattern." "match` and :meth:`~Pattern.search` return ``None`` when there is no match, " @@ -1977,12 +1980,12 @@ msgstr "" "quand il n'y a pas de correspondance, vous pouvez tester s'il y a eu " "correspondance avec une simple instruction ``if`` ::" -#: library/re.rst:1166 +#: library/re.rst:1169 msgid "Match objects support the following methods and attributes:" msgstr "" "Les objets de correspondance supportent les méthodes et attributs suivants :" -#: library/re.rst:1171 +#: library/re.rst:1174 msgid "" "Return the string obtained by doing backslash substitution on the template " "string *template*, as done by the :meth:`~Pattern.sub` method. Escapes such " @@ -1997,7 +2000,7 @@ msgstr "" "(``\\g<1>``, ``\\g``) sont remplacées par les contenus des groupes " "correspondant." -#: library/re.rst:1183 +#: library/re.rst:1186 msgid "" "Returns one or more subgroups of the match. If there is a single argument, " "the result is a single string; if there are multiple arguments, the result " @@ -2024,7 +2027,7 @@ msgstr "" "sera ``None``. Si un groupe est contenu dans une partie du motif qui a " "plusieurs correspondances, seule la dernière correspondance est renvoyée. ::" -#: library/re.rst:1205 +#: library/re.rst:1208 msgid "" "If the regular expression uses the ``(?P...)`` syntax, the *groupN* " "arguments may also be strings identifying groups by their group name. If a " @@ -2036,20 +2039,20 @@ msgstr "" "groupes par leurs noms. Si une chaîne donnée en argument n'est pas utilisée " "comme nom de groupe dans le motif, une exception :exc:`IndexError` est levée." -#: library/re.rst:1210 +#: library/re.rst:1213 msgid "A moderately complicated example::" msgstr "Un exemple modérément compliqué ::" -#: library/re.rst:1218 +#: library/re.rst:1221 msgid "Named groups can also be referred to by their index::" msgstr "Les groupes nommés peuvent aussi être référencés par leur index ::" -#: library/re.rst:1225 +#: library/re.rst:1228 msgid "If a group matches multiple times, only the last match is accessible::" msgstr "" "Si un groupe a plusieurs correspondances, seule la dernière est accessible ::" -#: library/re.rst:1234 +#: library/re.rst:1237 msgid "" "This is identical to ``m.group(g)``. This allows easier access to an " "individual group from a match::" @@ -2057,7 +2060,7 @@ msgstr "" "Cela est identique à ``m.group(g)``. Cela permet un accès plus facile à un " "groupe individuel depuis une correspondance ::" -#: library/re.rst:1250 +#: library/re.rst:1253 msgid "" "Return a tuple containing all the subgroups of the match, from 1 up to " "however many groups are in the pattern. The *default* argument is used for " @@ -2067,11 +2070,11 @@ msgstr "" "de 1 jusqu'au nombre de groupes dans le motif. L'argument *default* est " "utilisé pour les groupes sans correspondance ; il vaut ``None`` par défaut." -#: library/re.rst:1476 +#: library/re.rst:1482 msgid "For example::" msgstr "Par exemple ::" -#: library/re.rst:1260 +#: library/re.rst:1263 msgid "" "If we make the decimal place and everything after it optional, not all " "groups might participate in the match. These groups will default to " @@ -2082,7 +2085,7 @@ msgstr "" "correspondance vaudront ``None`` sauf si une autre valeur est donnée à " "l'argument *default* ::" -#: library/re.rst:1273 +#: library/re.rst:1276 msgid "" "Return a dictionary containing all the *named* subgroups of the match, keyed " "by the subgroup name. The *default* argument is used for groups that did " @@ -2093,7 +2096,7 @@ msgstr "" "utilisé pour les groupes qui ne figurent pas dans la correspondance ; il " "vaut ``None`` par défaut. Par exemple ::" -#: library/re.rst:1285 +#: library/re.rst:1288 msgid "" "Return the indices of the start and end of the substring matched by *group*; " "*group* defaults to zero (meaning the whole matched substring). Return " @@ -2108,7 +2111,7 @@ msgstr "" "groupe *g* qui y figure, la sous-chaîne correspondant au groupe *g* " "(équivalente à ``m.group(g)``) est ::" -#: library/re.rst:1293 +#: library/re.rst:1296 msgid "" "Note that ``m.start(group)`` will equal ``m.end(group)`` if *group* matched " "a null string. For example, after ``m = re.search('b(c?)', 'cba')``, ``m." @@ -2121,11 +2124,11 @@ msgstr "" "end(1)`` valent tous deux 2, et ``m.start(2)`` lève une exception :exc:" "`IndexError`." -#: library/re.rst:1298 +#: library/re.rst:1301 msgid "An example that will remove *remove_this* from email addresses::" msgstr "Un exemple qui supprimera *remove_this* d'une adresse mail ::" -#: library/re.rst:1308 +#: library/re.rst:1311 msgid "" "For a match *m*, return the 2-tuple ``(m.start(group), m.end(group))``. Note " "that if *group* did not contribute to the match, this is ``(-1, -1)``. " @@ -2136,7 +2139,7 @@ msgstr "" "``(-1, -1)`` est renvoyé. *group* vaut par défaut zéro, pour la " "correspondance entière." -#: library/re.rst:1315 +#: library/re.rst:1318 msgid "" "The value of *pos* which was passed to the :meth:`~Pattern.search` or :meth:" "`~Pattern.match` method of a :ref:`regex object `. This is the " @@ -2147,7 +2150,7 @@ msgstr "" "objects>`. C'est l'index dans la chaîne à partir duquel le moteur " "d'expressions rationnelles recherche une correspondance." -#: library/re.rst:1322 +#: library/re.rst:1325 msgid "" "The value of *endpos* which was passed to the :meth:`~Pattern.search` or :" "meth:`~Pattern.match` method of a :ref:`regex object `. This is " @@ -2158,7 +2161,7 @@ msgstr "" "objects>`. C'est l'index dans la chaîne que le moteur d'expressions " "rationnelles ne dépassera pas." -#: library/re.rst:1329 +#: library/re.rst:1332 msgid "" "The integer index of the last matched capturing group, or ``None`` if no " "group was matched at all. For example, the expressions ``(a)b``, ``((a)" @@ -2172,7 +2175,7 @@ msgstr "" "``'ab'``, alors que l'expression ``(a)(b)`` aura un ``lastindex == 2`` si " "appliquée à la même chaîne." -#: library/re.rst:1338 +#: library/re.rst:1341 msgid "" "The name of the last matched capturing group, or ``None`` if the group " "didn't have a name, or if no group was matched at all." @@ -2180,7 +2183,7 @@ msgstr "" "Le nom du dernier groupe capturant validé, ou ``None`` si le groupe n'a pas " "de nom, ou si aucun groupe ne correspondait." -#: library/re.rst:1344 +#: library/re.rst:1347 msgid "" "The :ref:`regular expression object ` whose :meth:`~Pattern." "match` or :meth:`~Pattern.search` method produced this match instance." @@ -2188,11 +2191,11 @@ msgstr "" ":ref:`L'expression rationnelle ` dont la méthode :meth:`~Pattern." "match` ou :meth:`~Pattern.search` a produit cet objet de correspondance." -#: library/re.rst:1350 +#: library/re.rst:1353 msgid "The string passed to :meth:`~Pattern.match` or :meth:`~Pattern.search`." msgstr "La chaîne passée à :meth:`~Pattern.match` ou :meth:`~Pattern.search`." -#: library/re.rst:1353 +#: library/re.rst:1356 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Match objects " "are considered atomic." @@ -2200,15 +2203,15 @@ msgstr "" "Ajout du support des fonctions :func:`copy.copy` et :func:`copy.deepcopy`. " "Les objets correspondants sont considérés atomiques." -#: library/re.rst:1361 +#: library/re.rst:1364 msgid "Regular Expression Examples" msgstr "Exemples d'expressions rationnelles" -#: library/re.rst:1365 +#: library/re.rst:1368 msgid "Checking for a Pair" msgstr "Rechercher une paire" -#: library/re.rst:1367 +#: library/re.rst:1370 msgid "" "In this example, we'll use the following helper function to display match " "objects a little more gracefully::" @@ -2216,7 +2219,7 @@ msgstr "" "Dans cet exemple, nous nous aidons de la fonction suivante pour afficher de " "manière plus jolie les objets qui correspondent ::" -#: library/re.rst:1375 +#: library/re.rst:1378 msgid "" "Suppose you are writing a poker program where a player's hand is represented " "as a 5-character string with each character representing a card, \"a\" for " @@ -2230,13 +2233,13 @@ msgstr "" "(*ten*), et les caractères de « 2 » à « 9 » représentant les cartes avec ces " "valeurs." -#: library/re.rst:1380 +#: library/re.rst:1383 msgid "To see if a given string is a valid hand, one could do the following::" msgstr "" "Pour vérifier qu'une chaîne donnée est une main valide, on pourrait faire " "comme suit ::" -#: library/re.rst:1390 +#: library/re.rst:1393 msgid "" "That last hand, ``\"727ak\"``, contained a pair, or two of the same valued " "cards. To match this with a regular expression, one could use backreferences " @@ -2246,7 +2249,7 @@ msgstr "" "valeur. Pour valider cela avec une expression rationnelle, on pourrait " "utiliser des références arrière comme ::" -#: library/re.rst:1400 +#: library/re.rst:1403 msgid "" "To find out what card the pair consists of, one could use the :meth:`~Match." "group` method of the match object in the following manner::" @@ -2255,11 +2258,11 @@ msgstr "" "méthode :meth:`~Match.group` de l'objet de correspondance de la manière " "suivante ::" -#: library/re.rst:1419 +#: library/re.rst:1422 msgid "Simulating scanf()" msgstr "Simuler *scanf()*" -#: library/re.rst:1423 +#: library/re.rst:1426 msgid "" "Python does not currently have an equivalent to :c:func:`scanf`. Regular " "expressions are generally more powerful, though also more verbose, than :c:" @@ -2273,112 +2276,120 @@ msgstr "" "suivant présente des expressions rationnelles plus ou moins équivalentes aux " "éléments de formats de :c:func:`scanf`." -#: library/re.rst:1430 +#: library/re.rst:1433 msgid ":c:func:`scanf` Token" msgstr "Élément de :c:func:`scanf`" -#: library/re.rst:1430 +#: library/re.rst:1433 msgid "Regular Expression" msgstr "Expression rationnelle" -#: library/re.rst:1432 +#: library/re.rst:1435 msgid "``%c``" msgstr "``%c``" -#: library/re.rst:1434 +#: library/re.rst:1437 msgid "``%5c``" msgstr "``%5c``" -#: library/re.rst:1434 +#: library/re.rst:1437 msgid "``.{5}``" msgstr "``.{5}``" -#: library/re.rst:1436 +#: library/re.rst:1439 msgid "``%d``" msgstr "``%d``" -#: library/re.rst:1436 +#: library/re.rst:1439 msgid "``[-+]?\\d+``" msgstr "``[-+]?\\d+``" -#: library/re.rst:1438 +#: library/re.rst:1441 msgid "``%e``, ``%E``, ``%f``, ``%g``" msgstr "``%e``, ``%E``, ``%f``, ``%g``" -#: library/re.rst:1438 +#: library/re.rst:1441 msgid "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" msgstr "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" -#: library/re.rst:1440 +#: library/re.rst:1443 msgid "``%i``" msgstr "``%i``" -#: library/re.rst:1440 +#: library/re.rst:1443 msgid "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" msgstr "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" -#: library/re.rst:1442 +#: library/re.rst:1445 msgid "``%o``" msgstr "``%o``" -#: library/re.rst:1442 +#: library/re.rst:1445 msgid "``[-+]?[0-7]+``" msgstr "``[-+]?[0-7]+``" -#: library/re.rst:1444 +#: library/re.rst:1447 msgid "``%s``" msgstr "``%s``" -#: library/re.rst:1444 +#: library/re.rst:1447 msgid "``\\S+``" msgstr "``\\S+``" -#: library/re.rst:1446 +#: library/re.rst:1449 msgid "``%u``" msgstr "``%u``" -#: library/re.rst:1446 +#: library/re.rst:1449 msgid "``\\d+``" msgstr "``\\d+``" -#: library/re.rst:1448 +#: library/re.rst:1451 msgid "``%x``, ``%X``" msgstr "``%x``, ``%X``" -#: library/re.rst:1448 +#: library/re.rst:1451 msgid "``[-+]?(0[xX])?[\\dA-Fa-f]+``" msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``" -#: library/re.rst:1451 +#: library/re.rst:1454 msgid "To extract the filename and numbers from a string like ::" msgstr "" "Pour extraire le nom de fichier et les nombres depuis une chaîne comme ::" -#: library/re.rst:1455 +#: library/re.rst:1458 msgid "you would use a :c:func:`scanf` format like ::" msgstr "vous utiliseriez un format :c:func:`scanf` comme ::" -#: library/re.rst:1459 +#: library/re.rst:1462 msgid "The equivalent regular expression would be ::" msgstr "L'expression rationnelle équivalente serait ::" -#: library/re.rst:1467 +#: library/re.rst:1470 msgid "search() vs. match()" msgstr "search() vs. match()" -#: library/re.rst:1471 +#: library/re.rst:1474 msgid "" -"Python offers two different primitive operations based on regular " -"expressions: :func:`re.match` checks for a match only at the beginning of " -"the string, while :func:`re.search` checks for a match anywhere in the " -"string (this is what Perl does by default)." +"Python offers different primitive operations based on regular expressions:" msgstr "" -"Python offre deux opérations primitives basées sur les expressions " -"rationnelles : :func:`re.match` cherche une correspondance uniquement au " -"début de la chaîne, tandis que :func:`re.search` en recherche une n'importe " -"où dans la chaîne (ce que fait Perl par défaut)." -#: library/re.rst:1482 +#: library/re.rst:1476 +#, fuzzy +msgid ":func:`re.match` checks for a match only at the beginning of the string" +msgstr "Correspond uniquement à la fin d'une chaîne de caractères." + +#: library/re.rst:1477 +msgid "" +":func:`re.search` checks for a match anywhere in the string (this is what " +"Perl does by default)" +msgstr "" + +#: library/re.rst:1479 +msgid ":func:`re.fullmatch` checks for entire string to be a match" +msgstr "" + +#: library/re.rst:1491 msgid "" "Regular expressions beginning with ``'^'`` can be used with :func:`search` " "to restrict the match at the beginning of the string::" @@ -2386,7 +2397,7 @@ msgstr "" "Les expressions rationnelles commençant par ``'^'`` peuvent être utilisées " "avec :func:`search` pour restreindre la recherche au début de la chaîne ::" -#: library/re.rst:1490 +#: library/re.rst:1499 msgid "" "Note however that in :const:`MULTILINE` mode :func:`match` only matches at " "the beginning of the string, whereas using :func:`search` with a regular " @@ -2397,11 +2408,11 @@ msgstr "" "qu'au début de la chaîne, alors que :func:`search` avec une expression " "rationnelle commençant par ``'^'`` recherchera au début de chaque ligne. ::" -#: library/re.rst:1500 +#: library/re.rst:1509 msgid "Making a Phonebook" msgstr "Construire un répertoire téléphonique" -#: library/re.rst:1502 +#: library/re.rst:1511 msgid "" ":func:`split` splits a string into a list delimited by the passed pattern. " "The method is invaluable for converting textual data into data structures " @@ -2413,7 +2424,7 @@ msgstr "" "structures de données qui peuvent être lues et modifiées par Python comme " "démontré dans l'exemple suivant qui crée un répertoire téléphonique." -#: library/re.rst:1507 +#: library/re.rst:1516 msgid "" "First, here is the input. Normally it may come from a file, here we are " "using triple-quoted string syntax" @@ -2421,7 +2432,7 @@ msgstr "" "Tout d'abord, voici l'entrée. Elle provient normalement d'un fichier, nous " "utilisons ici une chaîne à guillemets triples" -#: library/re.rst:1520 +#: library/re.rst:1529 msgid "" "The entries are separated by one or more newlines. Now we convert the string " "into a list with each nonempty line having its own entry:" @@ -2430,7 +2441,7 @@ msgstr "" "maintenant la chaîne en une liste où chaque ligne non vide aura sa propre " "entrée :" -#: library/re.rst:1533 +#: library/re.rst:1542 msgid "" "Finally, split each entry into a list with first name, last name, telephone " "number, and address. We use the ``maxsplit`` parameter of :func:`split` " @@ -2441,7 +2452,7 @@ msgstr "" "`split` parce que l'adresse contient des espaces, qui sont notre motif de " "séparation :" -#: library/re.rst:1546 +#: library/re.rst:1555 msgid "" "The ``:?`` pattern matches the colon after the last name, so that it does " "not occur in the result list. With a ``maxsplit`` of ``4``, we could " @@ -2451,11 +2462,11 @@ msgstr "" "qu'ils n'apparaissent pas dans la liste résultante. Avec un ``maxsplit`` de " "``4``, nous pourrions séparer le numéro du nom de la rue :" -#: library/re.rst:1561 +#: library/re.rst:1570 msgid "Text Munging" msgstr "Mélanger les lettres des mots" -#: library/re.rst:1563 +#: library/re.rst:1572 msgid "" ":func:`sub` replaces every occurrence of a pattern with a string or the " "result of a function. This example demonstrates using :func:`sub` with a " @@ -2467,11 +2478,11 @@ msgstr "" "avec une fonction qui mélange aléatoirement les caractères de chaque mot " "dans une phrase (à l'exception des premiers et derniers caractères) ::" -#: library/re.rst:1580 +#: library/re.rst:1589 msgid "Finding all Adverbs" msgstr "Trouver tous les adverbes" -#: library/re.rst:1582 +#: library/re.rst:1591 msgid "" ":func:`findall` matches *all* occurrences of a pattern, not just the first " "one as :func:`search` does. For example, if a writer wanted to find all of " @@ -2483,11 +2494,11 @@ msgstr "" "voulait trouver tous les adverbes dans un texte, il/elle devrait utiliser :" "func:`findall` de la manière suivante ::" -#: library/re.rst:1593 +#: library/re.rst:1602 msgid "Finding all Adverbs and their Positions" msgstr "Trouver tous les adverbes et leurs positions" -#: library/re.rst:1595 +#: library/re.rst:1604 msgid "" "If one wants more information about all matches of a pattern than the " "matched text, :func:`finditer` is useful as it provides :ref:`match objects " @@ -2502,11 +2513,11 @@ msgstr "" "leurs positions* dans un texte, il/elle utiliserait :func:`finditer` de la " "manière suivante ::" -#: library/re.rst:1609 +#: library/re.rst:1618 msgid "Raw String Notation" msgstr "Notation brutes de chaînes" -#: library/re.rst:1611 +#: library/re.rst:1620 msgid "" "Raw string notation (``r\"text\"``) keeps regular expressions sane. Without " "it, every backslash (``'\\'``) in a regular expression would have to be " @@ -2519,7 +2530,7 @@ msgstr "" "Par exemple, les deux lignes de code suivantes sont fonctionnellement " "identiques ::" -#: library/re.rst:1621 +#: library/re.rst:1630 msgid "" "When one wants to match a literal backslash, it must be escaped in the " "regular expression. With raw string notation, this means ``r\"\\\\\"``. " @@ -2531,11 +2542,11 @@ msgstr "" "\"``. Sans elle, il faudrait utiliser ``\"\\\\\\\\\"``, faisant que les " "deux lignes de code suivantes sont fonctionnellement identiques ::" -#: library/re.rst:1633 +#: library/re.rst:1642 msgid "Writing a Tokenizer" msgstr "Écrire un analyseur lexical" -#: library/re.rst:1635 +#: library/re.rst:1644 msgid "" "A `tokenizer or scanner `_ " "analyzes a string to categorize groups of characters. This is a useful " @@ -2546,7 +2557,7 @@ msgstr "" "caractères. C'est une première étape utile dans l'écriture d'un compilateur " "ou d'un interpréteur." -#: library/re.rst:1639 +#: library/re.rst:1648 msgid "" "The text categories are specified with regular expressions. The technique " "is to combine those into a single master regular expression and to loop over " @@ -2556,11 +2567,11 @@ msgstr "" "La technique est de les combiner dans une unique expression rationnelle " "maîtresse, et de boucler sur les correspondances successives ::" -#: library/re.rst:1695 +#: library/re.rst:1704 msgid "The tokenizer produces the following output::" msgstr "L'analyseur produit la sortie suivante ::" -#: library/re.rst:1718 +#: library/re.rst:1727 msgid "" "Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O'Reilly Media, " "2009. The third edition of the book no longer covers Python at all, but the " @@ -2572,6 +2583,17 @@ msgstr "" "la première version explique en détails comment écrire de bonnes expressions " "rationnelles." +#~ msgid "" +#~ "Python offers two different primitive operations based on regular " +#~ "expressions: :func:`re.match` checks for a match only at the beginning of " +#~ "the string, while :func:`re.search` checks for a match anywhere in the " +#~ "string (this is what Perl does by default)." +#~ msgstr "" +#~ "Python offre deux opérations primitives basées sur les expressions " +#~ "rationnelles : :func:`re.match` cherche une correspondance uniquement au " +#~ "début de la chaîne, tandis que :func:`re.search` en recherche une " +#~ "n'importe où dans la chaîne (ce que fait Perl par défaut)." + #~ msgid "" #~ "Return all non-overlapping matches of *pattern* in *string*, as a list of " #~ "strings. The *string* is scanned left-to-right, and matches are returned " diff --git a/library/secrets.po b/library/secrets.po index 564323ca40..d5a58f3361 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-09-16 15:20+0200\n" "Last-Translator: \n" "Language-Team: FRENCH \n" @@ -188,21 +188,22 @@ msgstr "Autres fonctions" #: library/secrets.rst:131 #, fuzzy msgid "" -"Return ``True`` if strings *a* and *b* are equal, otherwise ``False``, using " -"a \"constant-time compare\" to reduce the risk of `timing attacks `_. See :func:`hmac.compare_digest` " -"for additional details." +"Return ``True`` if strings or :term:`bytes-like objects ` " +"*a* and *b* are equal, otherwise ``False``, using a \"constant-time " +"compare\" to reduce the risk of `timing attacks `_. See :func:`hmac.compare_digest` for additional " +"details." msgstr "" "Renvoie ``True`` si les chaînes *a* et *b* sont égales et ``False`` sinon, " "d'une manière permettant de réduire le risque d'`attaque temporelle `_. Se référer à :func:`hmac." "compare_digest` pour plus de détails." -#: library/secrets.rst:138 +#: library/secrets.rst:140 msgid "Recipes and best practices" msgstr "Recettes et bonnes pratiques" -#: library/secrets.rst:140 +#: library/secrets.rst:142 msgid "" "This section shows recipes and best practices for using :mod:`secrets` to " "manage a basic level of security." @@ -210,11 +211,11 @@ msgstr "" "Cette section expose les recettes et les bonnes pratiques d'utilisation de :" "mod:`secrets` pour gérer un niveau minimal de sécurité." -#: library/secrets.rst:143 +#: library/secrets.rst:145 msgid "Generate an eight-character alphanumeric password:" msgstr "Générer un mot de passe à huit caractères alphanumériques :" -#: library/secrets.rst:155 +#: library/secrets.rst:157 #, fuzzy msgid "" "Applications should not `store passwords in a recoverable format `_:" msgstr "" "Générer une `phrase de passe dans le style xkcd `_ :" -#: library/secrets.rst:190 +#: library/secrets.rst:192 msgid "" "Generate a hard-to-guess temporary URL containing a security token suitable " "for password recovery applications:" diff --git a/library/signal.po b/library/signal.po index 9d570b5ab2..a07c9fc162 100644 --- a/library/signal.po +++ b/library/signal.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-11-29 18:27+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -18,15 +18,19 @@ msgstr "" msgid ":mod:`signal` --- Set handlers for asynchronous events" msgstr "" -#: library/signal.rst:9 +#: library/signal.rst:7 +msgid "**Source code:** :source:`Lib/signal.py`" +msgstr "" + +#: library/signal.rst:11 msgid "This module provides mechanisms to use signal handlers in Python." msgstr "" -#: library/signal.rst:13 +#: library/signal.rst:15 msgid "General rules" msgstr "" -#: library/signal.rst:15 +#: library/signal.rst:17 msgid "" "The :func:`signal.signal` function allows defining custom handlers to be " "executed when a signal is received. A small number of default handlers are " @@ -36,7 +40,7 @@ msgid "" "has not changed it." msgstr "" -#: library/signal.rst:22 +#: library/signal.rst:24 msgid "" "A handler for a particular signal, once set, remains installed until it is " "explicitly reset (Python emulates the BSD style interface regardless of the " @@ -44,11 +48,11 @@ msgid "" "`SIGCHLD`, which follows the underlying implementation." msgstr "" -#: library/signal.rst:29 +#: library/signal.rst:31 msgid "Execution of Python signal handlers" msgstr "" -#: library/signal.rst:31 +#: library/signal.rst:33 msgid "" "A Python signal handler does not get executed inside the low-level (C) " "signal handler. Instead, the low-level signal handler sets a flag which " @@ -57,7 +61,7 @@ msgid "" "instruction). This has consequences:" msgstr "" -#: library/signal.rst:37 +#: library/signal.rst:39 msgid "" "It makes little sense to catch synchronous errors like :const:`SIGFPE` or :" "const:`SIGSEGV` that are caused by an invalid operation in C code. Python " @@ -67,7 +71,7 @@ msgid "" "errors." msgstr "" -#: library/signal.rst:44 +#: library/signal.rst:46 msgid "" "A long-running calculation implemented purely in C (such as regular " "expression matching on a large body of text) may run uninterrupted for an " @@ -75,18 +79,18 @@ msgid "" "signal handlers will be called when the calculation finishes." msgstr "" -#: library/signal.rst:49 +#: library/signal.rst:51 msgid "" "If the handler raises an exception, it will be raised \"out of thin air\" in " "the main thread. See the :ref:`note below ` for a " "discussion." msgstr "" -#: library/signal.rst:57 +#: library/signal.rst:59 msgid "Signals and threads" msgstr "" -#: library/signal.rst:59 +#: library/signal.rst:61 msgid "" "Python signal handlers are always executed in the main Python thread of the " "main interpreter, even if the signal was received in another thread. This " @@ -95,17 +99,17 @@ msgid "" "instead." msgstr "" -#: library/signal.rst:64 +#: library/signal.rst:66 msgid "" "Besides, only the main thread of the main interpreter is allowed to set a " "new signal handler." msgstr "" -#: library/signal.rst:68 +#: library/signal.rst:70 msgid "Module contents" msgstr "Classe de données" -#: library/signal.rst:70 +#: library/signal.rst:72 msgid "" "signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" "const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " @@ -114,11 +118,11 @@ msgid "" "functions return human-readable :class:`enums `." msgstr "" -#: library/signal.rst:80 +#: library/signal.rst:82 msgid "The variables defined in the :mod:`signal` module are:" msgstr "" -#: library/signal.rst:85 +#: library/signal.rst:87 msgid "" "This is one of two standard signal handling options; it will simply perform " "the default function for the signal. For example, on most systems the " @@ -126,113 +130,113 @@ msgid "" "default action for :const:`SIGCHLD` is to simply ignore it." msgstr "" -#: library/signal.rst:93 +#: library/signal.rst:95 msgid "" "This is another standard signal handler, which will simply ignore the given " "signal." msgstr "" -#: library/signal.rst:99 +#: library/signal.rst:101 msgid "Abort signal from :manpage:`abort(3)`." msgstr "" -#: library/signal.rst:103 +#: library/signal.rst:105 msgid "Timer signal from :manpage:`alarm(2)`." msgstr "" -#: library/signal.rst:117 library/signal.rst:133 library/signal.rst:165 -#: library/signal.rst:187 library/signal.rst:199 library/signal.rst:457 +#: library/signal.rst:119 library/signal.rst:135 library/signal.rst:167 +#: library/signal.rst:189 library/signal.rst:201 library/signal.rst:459 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." -#: library/signal.rst:109 +#: library/signal.rst:111 msgid "Interrupt from keyboard (CTRL + BREAK)." msgstr "" -#: library/signal.rst:218 library/signal.rst:228 +#: library/signal.rst:220 library/signal.rst:230 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/signal.rst:115 +#: library/signal.rst:117 msgid "Bus error (bad memory access)." msgstr "" -#: library/signal.rst:121 +#: library/signal.rst:123 msgid "Child process stopped or terminated." msgstr "" -#: library/signal.rst:127 +#: library/signal.rst:129 msgid "Alias to :data:`SIGCHLD`." msgstr "" -#: library/signal.rst:131 +#: library/signal.rst:133 msgid "Continue the process if it is currently stopped" msgstr "" -#: library/signal.rst:137 +#: library/signal.rst:139 msgid "Floating-point exception. For example, division by zero." msgstr "" -#: library/signal.rst:140 +#: library/signal.rst:142 msgid "" ":exc:`ZeroDivisionError` is raised when the second argument of a division or " "modulo operation is zero." msgstr "" -#: library/signal.rst:145 +#: library/signal.rst:147 msgid "" "Hangup detected on controlling terminal or death of controlling process." msgstr "" -#: library/signal.rst:151 +#: library/signal.rst:153 msgid "Illegal instruction." msgstr "" -#: library/signal.rst:155 +#: library/signal.rst:157 msgid "Interrupt from keyboard (CTRL + C)." msgstr "" -#: library/signal.rst:157 +#: library/signal.rst:159 msgid "Default action is to raise :exc:`KeyboardInterrupt`." msgstr "" -#: library/signal.rst:161 +#: library/signal.rst:163 msgid "Kill signal." msgstr "" -#: library/signal.rst:163 +#: library/signal.rst:165 msgid "It cannot be caught, blocked, or ignored." msgstr "" -#: library/signal.rst:169 +#: library/signal.rst:171 msgid "Broken pipe: write to pipe with no readers." msgstr "" -#: library/signal.rst:171 +#: library/signal.rst:173 msgid "Default action is to ignore the signal." msgstr "" -#: library/signal.rst:177 +#: library/signal.rst:179 msgid "Segmentation fault: invalid memory reference." msgstr "" -#: library/signal.rst:181 +#: library/signal.rst:183 msgid "Termination signal." msgstr "" -#: library/signal.rst:185 +#: library/signal.rst:187 msgid "User-defined signal 1." msgstr "" -#: library/signal.rst:191 +#: library/signal.rst:193 msgid "User-defined signal 2." msgstr "" -#: library/signal.rst:197 +#: library/signal.rst:199 msgid "Window resize signal." msgstr "" -#: library/signal.rst:203 +#: library/signal.rst:205 msgid "" "All the signal numbers are defined symbolically. For example, the hangup " "signal is defined as :const:`signal.SIGHUP`; the variable names are " @@ -243,35 +247,35 @@ msgid "" "only those names defined by the system are defined by this module." msgstr "" -#: library/signal.rst:214 +#: library/signal.rst:216 msgid "" "The signal corresponding to the :kbd:`Ctrl+C` keystroke event. This signal " "can only be used with :func:`os.kill`." msgstr "" -#: library/signal.rst:224 +#: library/signal.rst:226 msgid "" "The signal corresponding to the :kbd:`Ctrl+Break` keystroke event. This " "signal can only be used with :func:`os.kill`." msgstr "" -#: library/signal.rst:234 +#: library/signal.rst:236 msgid "One more than the number of the highest signal number." msgstr "" -#: library/signal.rst:239 +#: library/signal.rst:241 msgid "" "Decrements interval timer in real time, and delivers :const:`SIGALRM` upon " "expiration." msgstr "" -#: library/signal.rst:245 +#: library/signal.rst:247 msgid "" "Decrements interval timer only when the process is executing, and delivers " "SIGVTALRM upon expiration." msgstr "" -#: library/signal.rst:251 +#: library/signal.rst:253 msgid "" "Decrements interval timer both when the process executes and when the system " "is executing on behalf of the process. Coupled with ITIMER_VIRTUAL, this " @@ -279,29 +283,29 @@ msgid "" "and kernel space. SIGPROF is delivered upon expiration." msgstr "" -#: library/signal.rst:259 +#: library/signal.rst:261 msgid "" "A possible value for the *how* parameter to :func:`pthread_sigmask` " "indicating that signals are to be blocked." msgstr "" -#: library/signal.rst:266 +#: library/signal.rst:268 msgid "" "A possible value for the *how* parameter to :func:`pthread_sigmask` " "indicating that signals are to be unblocked." msgstr "" -#: library/signal.rst:273 +#: library/signal.rst:275 msgid "" "A possible value for the *how* parameter to :func:`pthread_sigmask` " "indicating that the signal mask is to be replaced." msgstr "" -#: library/signal.rst:279 +#: library/signal.rst:281 msgid "The :mod:`signal` module defines one exception:" msgstr "" -#: library/signal.rst:283 +#: library/signal.rst:285 msgid "" "Raised to signal an error from the underlying :func:`setitimer` or :func:" "`getitimer` implementation. Expect this error if an invalid interval timer " @@ -309,18 +313,18 @@ msgid "" "of :exc:`OSError`." msgstr "" -#: library/signal.rst:288 +#: library/signal.rst:290 msgid "" "This error used to be a subtype of :exc:`IOError`, which is now an alias of :" "exc:`OSError`." msgstr "" -#: library/signal.rst:293 +#: library/signal.rst:295 #, fuzzy msgid "The :mod:`signal` module defines the following functions:" msgstr "Le module :mod:`csv` définit les fonctions suivantes :" -#: library/signal.rst:298 +#: library/signal.rst:300 msgid "" "If *time* is non-zero, this function requests that a :const:`SIGALRM` signal " "be sent to the process in *time* seconds. Any previously scheduled alarm is " @@ -331,13 +335,13 @@ msgid "" "scheduled." msgstr "" -#: library/signal.rst:306 +#: library/signal.rst:308 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`alarm(2)` for further information." msgstr "" -#: library/signal.rst:311 +#: library/signal.rst:313 msgid "" "Return the current signal handler for the signal *signalnum*. The returned " "value may be a callable Python object, or one of the special values :const:" @@ -348,43 +352,43 @@ msgid "" "not installed from Python." msgstr "" -#: library/signal.rst:322 +#: library/signal.rst:324 msgid "" "Return the system description of the signal *signalnum*, such as " "\"Interrupt\", \"Segmentation fault\", etc. Returns :const:`None` if the " "signal is not recognized." msgstr "" -#: library/signal.rst:331 +#: library/signal.rst:333 msgid "" "Return the set of valid signal numbers on this platform. This can be less " "than ``range(1, NSIG)`` if some signals are reserved by the system for " "internal use." msgstr "" -#: library/signal.rst:340 +#: library/signal.rst:342 msgid "" "Cause the process to sleep until a signal is received; the appropriate " "handler will then be called. Returns nothing." msgstr "" -#: library/signal.rst:345 +#: library/signal.rst:347 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`signal(2)` for further information." msgstr "" -#: library/signal.rst:346 +#: library/signal.rst:348 msgid "" "See also :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` and :" "func:`sigpending`." msgstr "" -#: library/signal.rst:352 +#: library/signal.rst:354 msgid "Sends a signal to the calling process. Returns nothing." msgstr "" -#: library/signal.rst:359 +#: library/signal.rst:361 msgid "" "Send signal *sig* to the process referred to by file descriptor *pidfd*. " "Python does not currently support the *siginfo* parameter; it must be " @@ -392,16 +396,16 @@ msgid "" "values are currently defined." msgstr "" -#: library/signal.rst:364 +#: library/signal.rst:366 msgid "See the :manpage:`pidfd_send_signal(2)` man page for more information." msgstr "" -#: library/signal.rst:366 +#: library/signal.rst:368 #, fuzzy msgid ":ref:`Availability `: Linux 5.1+" msgstr ":ref:`Disponibilité ` : Unix." -#: library/signal.rst:372 +#: library/signal.rst:374 msgid "" "Send the signal *signalnum* to the thread *thread_id*, another thread in the " "same process as the caller. The target thread can be executing any code " @@ -412,7 +416,7 @@ msgid "" "running system call to fail with :exc:`InterruptedError`." msgstr "" -#: library/signal.rst:380 +#: library/signal.rst:382 #, fuzzy msgid "" "Use :func:`threading.get_ident()` or the :attr:`~threading.Thread.ident` " @@ -423,19 +427,19 @@ msgstr "" "ident` de :class:`threading.Thread` pour obtenir une valeur appropriée pour " "*thread_id*." -#: library/signal.rst:384 +#: library/signal.rst:386 msgid "" "If *signalnum* is 0, then no signal is sent, but error checking is still " "performed; this can be used to check if the target thread is still running." msgstr "" -#: library/signal.rst:387 +#: library/signal.rst:389 msgid "" "Raises an :ref:`auditing event ` ``signal.pthread_kill`` with " "arguments ``thread_id``, ``signalnum``." msgstr "" -#: library/signal.rst:391 +#: library/signal.rst:393 #, fuzzy msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" @@ -444,59 +448,59 @@ msgstr "" ":ref:`Disponibilité ` : Unix (regardez la page man pour :" "manpage:`pthread_getcpuclockid(3)` pour plus d’information)." -#: library/signal.rst:392 +#: library/signal.rst:394 msgid "See also :func:`os.kill`." msgstr "" -#: library/signal.rst:399 +#: library/signal.rst:401 msgid "" "Fetch and/or change the signal mask of the calling thread. The signal mask " "is the set of signals whose delivery is currently blocked for the caller. " "Return the old signal mask as a set of signals." msgstr "" -#: library/signal.rst:403 +#: library/signal.rst:405 msgid "" "The behavior of the call is dependent on the value of *how*, as follows." msgstr "" -#: library/signal.rst:405 +#: library/signal.rst:407 msgid "" ":data:`SIG_BLOCK`: The set of blocked signals is the union of the current " "set and the *mask* argument." msgstr "" -#: library/signal.rst:407 +#: library/signal.rst:409 msgid "" ":data:`SIG_UNBLOCK`: The signals in *mask* are removed from the current set " "of blocked signals. It is permissible to attempt to unblock a signal which " "is not blocked." msgstr "" -#: library/signal.rst:410 +#: library/signal.rst:412 msgid "" ":data:`SIG_SETMASK`: The set of blocked signals is set to the *mask* " "argument." msgstr "" -#: library/signal.rst:413 +#: library/signal.rst:415 msgid "" "*mask* is a set of signal numbers (e.g. {:const:`signal.SIGINT`, :const:" "`signal.SIGTERM`}). Use :func:`~signal.valid_signals` for a full mask " "including all signals." msgstr "" -#: library/signal.rst:417 +#: library/signal.rst:419 msgid "" "For example, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` reads the " "signal mask of the calling thread." msgstr "" -#: library/signal.rst:420 +#: library/signal.rst:422 msgid ":data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked." msgstr "" -#: library/signal.rst:424 +#: library/signal.rst:426 #, fuzzy msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" @@ -505,11 +509,11 @@ msgstr "" ":ref:`Disponibilité ` : Unix (regardez la page man pour :" "manpage:`pthread_getcpuclockid(3)` pour plus d’information)." -#: library/signal.rst:425 +#: library/signal.rst:427 msgid "See also :func:`pause`, :func:`sigpending` and :func:`sigwait`." msgstr "" -#: library/signal.rst:432 +#: library/signal.rst:434 msgid "" "Sets given interval timer (one of :const:`signal.ITIMER_REAL`, :const:" "`signal.ITIMER_VIRTUAL` or :const:`signal.ITIMER_PROF`) specified by *which* " @@ -519,7 +523,7 @@ msgid "" "zero." msgstr "" -#: library/signal.rst:439 +#: library/signal.rst:441 msgid "" "When an interval timer fires, a signal is sent to the process. The signal " "sent is dependent on the timer being used; :const:`signal.ITIMER_REAL` will " @@ -527,21 +531,21 @@ msgid "" "`SIGVTALRM`, and :const:`signal.ITIMER_PROF` will deliver :const:`SIGPROF`." msgstr "" -#: library/signal.rst:445 +#: library/signal.rst:447 msgid "The old values are returned as a tuple: (delay, interval)." msgstr "" -#: library/signal.rst:447 +#: library/signal.rst:449 msgid "" "Attempting to pass an invalid interval timer will cause an :exc:" "`ItimerError`." msgstr "" -#: library/signal.rst:455 +#: library/signal.rst:457 msgid "Returns current value of a given interval timer specified by *which*." msgstr "" -#: library/signal.rst:462 +#: library/signal.rst:464 msgid "" "Set the wakeup file descriptor to *fd*. When a signal is received, the " "signal number is written as a single byte into the fd. This can be used by " @@ -549,7 +553,7 @@ msgid "" "processed." msgstr "" -#: library/signal.rst:467 +#: library/signal.rst:469 msgid "" "The old wakeup fd is returned (or -1 if file descriptor wakeup was not " "enabled). If *fd* is -1, file descriptor wakeup is disabled. If not -1, " @@ -557,7 +561,7 @@ msgid "" "*fd* before calling poll or select again." msgstr "" -#: library/signal.rst:526 +#: library/signal.rst:528 msgid "" "When threads are enabled, this function can only be called from :ref:`the " "main thread of the main interpreter `; attempting to " @@ -565,14 +569,14 @@ msgid "" "raised." msgstr "" -#: library/signal.rst:477 +#: library/signal.rst:479 msgid "" "There are two common ways to use this function. In both approaches, you use " "the fd to wake up when a signal arrives, but then they differ in how they " "determine *which* signal or signals have arrived." msgstr "" -#: library/signal.rst:482 +#: library/signal.rst:484 msgid "" "In the first approach, we read the data out of the fd's buffer, and the byte " "values give you the signal numbers. This is simple, but in rare cases it can " @@ -583,7 +587,7 @@ msgid "" "warning to be printed to stderr when signals are lost." msgstr "" -#: library/signal.rst:491 +#: library/signal.rst:493 msgid "" "In the second approach, we use the wakeup fd *only* for wakeups, and ignore " "the actual byte values. In this case, all we care about is whether the fd's " @@ -593,35 +597,35 @@ msgid "" "spurious warning messages." msgstr "" -#: library/signal.rst:498 +#: library/signal.rst:500 msgid "On Windows, the function now also supports socket handles." msgstr "" -#: library/signal.rst:501 +#: library/signal.rst:503 msgid "Added ``warn_on_full_buffer`` parameter." msgstr "" -#: library/signal.rst:506 +#: library/signal.rst:508 msgid "" "Change system call restart behaviour: if *flag* is :const:`False`, system " "calls will be restarted when interrupted by signal *signalnum*, otherwise " "system calls will be interrupted. Returns nothing." msgstr "" -#: library/signal.rst:512 +#: library/signal.rst:514 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`siginterrupt(3)` for further information." msgstr "" -#: library/signal.rst:513 +#: library/signal.rst:515 msgid "" "Note that installing a signal handler with :func:`signal` will reset the " "restart behaviour to interruptible by implicitly calling :c:func:" "`siginterrupt` with a true *flag* value for the given signal." msgstr "" -#: library/signal.rst:520 +#: library/signal.rst:522 msgid "" "Set the handler for signal *signalnum* to the function *handler*. *handler* " "can be a callable Python object taking two arguments (see below), or one of " @@ -631,7 +635,7 @@ msgid "" "information.)" msgstr "" -#: library/signal.rst:531 +#: library/signal.rst:533 msgid "" "The *handler* is called with two arguments: the signal number and the " "current stack frame (``None`` or a frame object; for a description of frame " @@ -639,7 +643,7 @@ msgid "" "see the attribute descriptions in the :mod:`inspect` module)." msgstr "" -#: library/signal.rst:536 +#: library/signal.rst:538 msgid "" "On Windows, :func:`signal` can only be called with :const:`SIGABRT`, :const:" "`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:" @@ -649,24 +653,24 @@ msgid "" "``SIG*`` module level constant." msgstr "" -#: library/signal.rst:547 +#: library/signal.rst:549 msgid "" "Examine the set of signals that are pending for delivery to the calling " "thread (i.e., the signals which have been raised while blocked). Return the " "set of the pending signals." msgstr "" -#: library/signal.rst:553 +#: library/signal.rst:555 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigpending(2)` for further information." msgstr "" -#: library/signal.rst:554 +#: library/signal.rst:556 msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." msgstr "" -#: library/signal.rst:561 +#: library/signal.rst:563 msgid "" "Suspend execution of the calling thread until the delivery of one of the " "signals specified in the signal set *sigset*. The function accepts the " @@ -674,19 +678,19 @@ msgid "" "number." msgstr "" -#: library/signal.rst:567 +#: library/signal.rst:569 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigwait(3)` for further information." msgstr "" -#: library/signal.rst:568 +#: library/signal.rst:570 msgid "" "See also :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :func:" "`sigwaitinfo` and :func:`sigtimedwait`." msgstr "" -#: library/signal.rst:576 +#: library/signal.rst:578 msgid "" "Suspend execution of the calling thread until the delivery of one of the " "signals specified in the signal set *sigset*. The function accepts the " @@ -697,7 +701,7 @@ msgid "" "`InterruptedError` if it is interrupted by a signal that is not in *sigset*." msgstr "" -#: library/signal.rst:585 +#: library/signal.rst:587 msgid "" "The return value is an object representing the data contained in the :c:type:" "`siginfo_t` structure, namely: :attr:`si_signo`, :attr:`si_code`, :attr:" @@ -705,52 +709,52 @@ msgid "" "`si_band`." msgstr "" -#: library/signal.rst:592 +#: library/signal.rst:594 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigwaitinfo(2)` for further information." msgstr "" -#: library/signal.rst:593 +#: library/signal.rst:595 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." msgstr "" -#: library/signal.rst:597 +#: library/signal.rst:599 msgid "" "The function is now retried if interrupted by a signal not in *sigset* and " "the signal handler does not raise an exception (see :pep:`475` for the " "rationale)." msgstr "" -#: library/signal.rst:605 +#: library/signal.rst:607 msgid "" "Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " "specifying a timeout. If *timeout* is specified as :const:`0`, a poll is " "performed. Returns :const:`None` if a timeout occurs." msgstr "" -#: library/signal.rst:611 +#: library/signal.rst:613 msgid "" ":ref:`Availability `: Unix. See the man page :manpage:" "`sigtimedwait(2)` for further information." msgstr "" -#: library/signal.rst:612 +#: library/signal.rst:614 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." msgstr "" -#: library/signal.rst:616 +#: library/signal.rst:618 msgid "" "The function is now retried with the recomputed *timeout* if interrupted by " "a signal not in *sigset* and the signal handler does not raise an exception " "(see :pep:`475` for the rationale)." msgstr "" -#: library/signal.rst:625 +#: library/signal.rst:627 msgid "Example" msgstr "Exemple" -#: library/signal.rst:627 +#: library/signal.rst:629 msgid "" "Here is a minimal example program. It uses the :func:`alarm` function to " "limit the time spent waiting to open a file; this is useful if the file is " @@ -760,11 +764,11 @@ msgid "" "signal will be sent, and the handler raises an exception. ::" msgstr "" -#: library/signal.rst:650 +#: library/signal.rst:652 msgid "Note on SIGPIPE" msgstr "" -#: library/signal.rst:652 +#: library/signal.rst:654 msgid "" "Piping output of your program to tools like :manpage:`head(1)` will cause a :" "const:`SIGPIPE` signal to be sent to your process when the receiver of its " @@ -773,7 +777,7 @@ msgid "" "entry point to catch this exception as follows::" msgstr "" -#: library/signal.rst:679 +#: library/signal.rst:681 msgid "" "Do not set :const:`SIGPIPE`'s disposition to :const:`SIG_DFL` in order to " "avoid :exc:`BrokenPipeError`. Doing that would cause your program to exit " @@ -781,11 +785,11 @@ msgid "" "program is still writing to it." msgstr "" -#: library/signal.rst:688 +#: library/signal.rst:690 msgid "Note on Signal Handlers and Exceptions" msgstr "" -#: library/signal.rst:690 +#: library/signal.rst:692 msgid "" "If a signal handler raises an exception, the exception will be propagated to " "the main thread and may be raised after any :term:`bytecode` instruction. " @@ -796,11 +800,11 @@ msgid "" "program in an unexpected state." msgstr "" -#: library/signal.rst:697 +#: library/signal.rst:699 msgid "To illustrate this issue, consider the following code::" msgstr "" -#: library/signal.rst:714 +#: library/signal.rst:716 msgid "" "For many programs, especially those that merely want to exit on :exc:" "`KeyboardInterrupt`, this is not a problem, but applications that are " diff --git a/library/socket.po b/library/socket.po index 295061ba85..5cc5b706d5 100644 --- a/library/socket.po +++ b/library/socket.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2020-11-25 20:35+0100\n" "Language-Team: FRENCH \n" "Language: fr\n" @@ -820,7 +820,7 @@ msgstr "" #: library/socket.rst:672 msgid "" "*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " -"the queue size passed to :meth:`socket.listen`; when ``0`` a default " +"the queue size passed to :meth:`socket.listen`; if not specified , a default " "reasonable value is chosen. *reuse_port* dictates whether to set the :data:" "`SO_REUSEPORT` socket option." msgstr "" diff --git a/library/socketserver.po b/library/socketserver.po index 1d5fa25fc9..8af9c988b0 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-19 21:40-0400\n" "Last-Translator: Nicolas Haller \n" "Language-Team: FRENCH \n" @@ -157,18 +157,18 @@ msgstr "" "des serveurs synchrones de quatre types différents ::" #: library/socketserver.rst:95 +#, fuzzy msgid "" "Note that :class:`UnixDatagramServer` derives from :class:`UDPServer`, not " "from :class:`UnixStreamServer` --- the only difference between an IP and a " -"Unix stream server is the address family, which is simply repeated in both " -"Unix server classes." +"Unix server is the address family." msgstr "" "Notez que la classe :class:`UnixDatagramServer` hérite de :class:`UDPServer` " "et pas de :class:`UnixStreamServer` — la seule différente entre un serveur à " "flux de données IP et Unix est la famille d’adresse, qui est simplement " "répétée dans les deux classes serveur Unix." -#: library/socketserver.rst:104 +#: library/socketserver.rst:103 msgid "" "Forking and threading versions of each type of server can be created using " "these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " @@ -178,7 +178,7 @@ msgstr "" "créées pour chaque type de serveur, en utilisant ces classes de mélange. Par " "exemple, :class:`ThreadingUDPServer` est créé comme suit ::" -#: library/socketserver.rst:111 +#: library/socketserver.rst:110 msgid "" "The mix-in class comes first, since it overrides a method defined in :class:" "`UDPServer`. Setting the various attributes also changes the behavior of " @@ -188,7 +188,7 @@ msgstr "" "dans :class:`UDPServer`. Configurer les différents attributs changera " "également le comportement du serveur." -#: library/socketserver.rst:115 +#: library/socketserver.rst:114 msgid "" ":class:`ForkingMixIn` and the Forking classes mentioned below are only " "available on POSIX platforms that support :func:`~os.fork`." @@ -197,7 +197,7 @@ msgstr "" "mentionnées ci-dessous sont uniquement disponibles sur les plateformes POSIX " "prenant en charge :func:`~os.fork`." -#: library/socketserver.rst:118 +#: library/socketserver.rst:117 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` waits until all child " "processes complete, except if :attr:`socketserver.ForkingMixIn." @@ -207,7 +207,7 @@ msgstr "" "que tous les processus enfants soient terminés, sauf si l'attribut :attr:" "`socketserver.ForkingMixIn.block_on_close` est faux." -#: library/socketserver.rst:122 +#: library/socketserver.rst:121 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` waits until all non-daemon " "threads complete, except if :attr:`socketserver.ThreadingMixIn." @@ -221,7 +221,7 @@ msgstr "" "d'exécution *daemon* en réglant :data:`ThreadingMixIn.daemon_threads` à " "``True`` afin de ne pas attendre que les fils d’exécution soit terminés." -#: library/socketserver.rst:131 +#: library/socketserver.rst:130 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` and :meth:`socketserver." "ThreadingMixIn.server_close` now waits until all child processes and non-" @@ -234,11 +234,11 @@ msgstr "" "`socketserver.ForkingMixIn.block_on_close`, un nouvel attribut de classe " "permettant de conserver le comportement pré-3.7." -#: library/socketserver.rst:143 +#: library/socketserver.rst:142 msgid "These classes are pre-defined using the mix-in classes." msgstr "Ces classes sont prédéfinies en utilisant les classes de mélange." -#: library/socketserver.rst:146 +#: library/socketserver.rst:145 msgid "" "To implement a service, you must derive a class from :class:" "`BaseRequestHandler` and redefine its :meth:`~BaseRequestHandler.handle` " @@ -257,7 +257,7 @@ msgstr "" "dissimulée en utilisant les classes de gestion dérivées :class:" "`StreamRequestHandler` ou :class:`DatagramRequestHandler`." -#: library/socketserver.rst:154 +#: library/socketserver.rst:153 msgid "" "Of course, you still have to use your head! For instance, it makes no sense " "to use a forking server if the service contains state in memory that can be " @@ -275,7 +275,7 @@ msgstr "" "cela demande probablement d'utiliser des verrous pour protéger l’intégrité " "des données partagées." -#: library/socketserver.rst:161 +#: library/socketserver.rst:160 msgid "" "On the other hand, if you are building an HTTP server where all data is " "stored externally (for instance, in the file system), a synchronous class " @@ -292,7 +292,7 @@ msgstr "" "recevoir toutes les données demandées. Dans ce cas, un serveur utilisant des " "processus ou des fils d'exécutions est approprié." -#: library/socketserver.rst:167 +#: library/socketserver.rst:166 msgid "" "In some cases, it may be appropriate to process part of a request " "synchronously, but to finish processing in a forked child depending on the " @@ -307,7 +307,7 @@ msgstr "" "`~BaseRequestHandler.handle`, de la classe gérant les requêtes, le soin de " "créer le processus enfant explicitement." -#: library/socketserver.rst:172 +#: library/socketserver.rst:171 msgid "" "Another approach to handling multiple simultaneous requests in an " "environment that supports neither threads nor :func:`~os.fork` (or where " @@ -329,11 +329,11 @@ msgstr "" "peut rester connecté pour longtemps. Pour une autre façon de gérer cela, " "voir :mod:`asyncore`." -#: library/socketserver.rst:186 +#: library/socketserver.rst:185 msgid "Server Objects" msgstr "Objets serveur" -#: library/socketserver.rst:190 +#: library/socketserver.rst:189 msgid "" "This is the superclass of all Server objects in the module. It defines the " "interface, given below, but does not implement most of the methods, which is " @@ -346,7 +346,7 @@ msgstr "" "respectivement dans les attributs :attr:`server_address` et :attr:" "`RequestHandlerClass`." -#: library/socketserver.rst:198 +#: library/socketserver.rst:197 msgid "" "Return an integer file descriptor for the socket on which the server is " "listening. This function is most commonly passed to :mod:`selectors`, to " @@ -357,7 +357,7 @@ msgstr "" "mod:`selectors` afin de pouvoir surveiller plusieurs serveurs dans le même " "processus." -#: library/socketserver.rst:205 +#: library/socketserver.rst:204 msgid "" "Process a single request. This function calls the following methods in " "order: :meth:`get_request`, :meth:`verify_request`, and :meth:" @@ -375,7 +375,7 @@ msgstr "" "« :attr:`timeout` » secondes, :meth:`handle_timeout` est appelée et :meth:" "`handle_request` rend la main." -#: library/socketserver.rst:217 +#: library/socketserver.rst:216 msgid "" "Handle requests until an explicit :meth:`shutdown` request. Poll for " "shutdown every *poll_interval* seconds. Ignores the :attr:`timeout` " @@ -392,11 +392,11 @@ msgstr "" "pour un service donné. Par exemple, la classe :class:`ForkingMixIn` utilise :" "meth:`service_actions` pour supprimer les processus enfants zombies." -#: library/socketserver.rst:225 +#: library/socketserver.rst:224 msgid "Added ``service_actions`` call to the ``serve_forever`` method." msgstr "La méthode ``serve_forever`` appelle dorénavant ``service_actions``." -#: library/socketserver.rst:231 +#: library/socketserver.rst:230 msgid "" "This is called in the :meth:`serve_forever` loop. This method can be " "overridden by subclasses or mixin classes to perform actions specific to a " @@ -407,7 +407,7 @@ msgstr "" "afin d'effectuer une action spécifique à un service donné, comme une action " "de nettoyage." -#: library/socketserver.rst:239 +#: library/socketserver.rst:238 msgid "" "Tell the :meth:`serve_forever` loop to stop and wait until it does. :meth:" "`shutdown` must be called while :meth:`serve_forever` is running in a " @@ -417,11 +417,11 @@ msgstr "" "que ce soit fait. :meth:`shutdown` doit être appelée dans un fil d’exécution " "différent de :meth:`serve_forever` sous peine d'interblocage." -#: library/socketserver.rst:246 +#: library/socketserver.rst:245 msgid "Clean up the server. May be overridden." msgstr "Nettoie le serveur. Peut être surchargée." -#: library/socketserver.rst:251 +#: library/socketserver.rst:250 msgid "" "The family of protocols to which the server's socket belongs. Common " "examples are :const:`socket.AF_INET` and :const:`socket.AF_UNIX`." @@ -429,7 +429,7 @@ msgstr "" "La famille de protocoles auquel le connecteur appartient. Les exemples les " "plus communs sont :const:`socket.AF_INET` et :const:`socket.AF_UNIX`." -#: library/socketserver.rst:257 +#: library/socketserver.rst:256 msgid "" "The user-provided request handler class; an instance of this class is " "created for each request." @@ -437,7 +437,7 @@ msgstr "" "La classe de gestion des requêtes, fournie par l'utilisateur. Une instance " "de cette classe est créée pour chaque requête." -#: library/socketserver.rst:263 +#: library/socketserver.rst:262 msgid "" "The address on which the server is listening. The format of addresses " "varies depending on the protocol family; see the documentation for the :mod:" @@ -451,19 +451,19 @@ msgstr "" "valeur est une paire formée d'une chaine de caractère pour l’adresse et d'un " "entier pour le port. Exemple : ``('127.0.0.1', 80)``." -#: library/socketserver.rst:272 +#: library/socketserver.rst:271 msgid "" "The socket object on which the server will listen for incoming requests." msgstr "" "L'objet connecteur utilisé par le serveur pour écouter les nouvelles " "requêtes." -#: library/socketserver.rst:275 +#: library/socketserver.rst:274 msgid "The server classes support the following class variables:" msgstr "" "Les classes serveurs prennent en charge les variables de classe suivantes :" -#: library/socketserver.rst:281 +#: library/socketserver.rst:280 msgid "" "Whether the server will allow the reuse of an address. This defaults to :" "const:`False`, and can be set in subclasses to change the policy." @@ -472,7 +472,7 @@ msgstr "" "défaut est :const:`False` mais cela peut être changé dans les classes " "enfants." -#: library/socketserver.rst:287 +#: library/socketserver.rst:286 msgid "" "The size of the request queue. If it takes a long time to process a single " "request, any requests that arrive while the server is busy are placed into a " @@ -487,7 +487,7 @@ msgstr "" "renvoyer une erreur *Connection denied*. La valeur par défaut est " "habituellement 5 mais peut être changée par les classes filles." -#: library/socketserver.rst:296 +#: library/socketserver.rst:295 msgid "" "The type of socket used by the server; :const:`socket.SOCK_STREAM` and :" "const:`socket.SOCK_DGRAM` are two common values." @@ -495,7 +495,7 @@ msgstr "" "Le type de connecteur utilisé par le serveur ; :const:`socket.SOCK_STREAM` " "et :const:`socket.SOCK_DGRAM` sont deux valeurs usuelles." -#: library/socketserver.rst:302 +#: library/socketserver.rst:301 msgid "" "Timeout duration, measured in seconds, or :const:`None` if no timeout is " "desired. If :meth:`handle_request` receives no incoming requests within the " @@ -505,7 +505,7 @@ msgstr "" "demandée. Si :meth:`handle_request` ne reçoit aucune requête entrante " "pendant le délai d'attente, la méthode :meth:`handle_timeout` est appelée." -#: library/socketserver.rst:307 +#: library/socketserver.rst:306 msgid "" "There are various server methods that can be overridden by subclasses of " "base server classes like :class:`TCPServer`; these methods aren't useful to " @@ -515,7 +515,7 @@ msgstr "" "classes dérivant de classes de base comme :class:`TCPServer` ; ces méthodes " "ne sont pas utiles aux utilisateurs externes de l'objet serveur." -#: library/socketserver.rst:316 +#: library/socketserver.rst:315 msgid "" "Actually processes the request by instantiating :attr:`RequestHandlerClass` " "and calling its :meth:`~BaseRequestHandler.handle` method." @@ -524,7 +524,7 @@ msgstr "" "`RequestHandlerClass` et en appelant sa méthode :meth:`~BaseRequestHandler." "handle`." -#: library/socketserver.rst:322 +#: library/socketserver.rst:321 msgid "" "Must accept a request from the socket, and return a 2-tuple containing the " "*new* socket object to be used to communicate with the client, and the " @@ -534,7 +534,7 @@ msgstr "" "paire contenant le *nouvel* objet connecteur utilisé pour communiquer avec " "le client et l'adresse du client." -#: library/socketserver.rst:329 +#: library/socketserver.rst:328 msgid "" "This function is called if the :meth:`~BaseRequestHandler.handle` method of " "a :attr:`RequestHandlerClass` instance raises an exception. The default " @@ -546,13 +546,13 @@ msgstr "" "méthode imprime la trace d'appels sur la sortie d'erreur standard et " "continue de traiter les requêtes suivantes." -#: library/socketserver.rst:334 +#: library/socketserver.rst:333 msgid "Now only called for exceptions derived from the :exc:`Exception` class." msgstr "" "N'est maintenant appelée que sur les exceptions dérivant de la classe :exc:" "`Exception`." -#: library/socketserver.rst:341 +#: library/socketserver.rst:340 msgid "" "This function is called when the :attr:`timeout` attribute has been set to a " "value other than :const:`None` and the timeout period has passed with no " @@ -567,7 +567,7 @@ msgstr "" "utilisant des processus ou ne fait rien pour le cas des serveurs utilisant " "des fils d’exécution." -#: library/socketserver.rst:350 +#: library/socketserver.rst:349 msgid "" "Calls :meth:`finish_request` to create an instance of the :attr:" "`RequestHandlerClass`. If desired, this function can create a new process " @@ -579,7 +579,7 @@ msgstr "" "d’exécution pour traiter les requêtes ; les classes de mélange :class:" "`ForkingMixIn` et :class:`ThreadingMixIn` implémentent cela." -#: library/socketserver.rst:362 +#: library/socketserver.rst:361 msgid "" "Called by the server's constructor to activate the server. The default " "behavior for a TCP server just invokes :meth:`~socket.socket.listen` on the " @@ -589,7 +589,7 @@ msgstr "" "par défaut pour un serveur TCP est de seulement invoquer :meth:`~socket." "socket.listen` sur le connecteur du serveur. Peut être surchargée." -#: library/socketserver.rst:369 +#: library/socketserver.rst:368 msgid "" "Called by the server's constructor to bind the socket to the desired " "address. May be overridden." @@ -597,7 +597,7 @@ msgstr "" "Appelée par le constructeur du serveur afin d'assigner (*bind*) l'adresse " "requise au connecteur du serveur. Peut être surchargée." -#: library/socketserver.rst:375 +#: library/socketserver.rst:374 msgid "" "Must return a Boolean value; if the value is :const:`True`, the request will " "be processed, and if it's :const:`False`, the request will be denied. This " @@ -610,7 +610,7 @@ msgstr "" "d'accès au serveur. L'implémentation par défaut renvoie toujours :const:" "`True`." -#: library/socketserver.rst:381 +#: library/socketserver.rst:380 msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`server_close`." @@ -618,11 +618,11 @@ msgstr "" "La gestion du protocole :term:`context manager` a été ajoutée. Sortir du " "gestionnaire de contexte revient à appeler :meth:`server_close`." -#: library/socketserver.rst:387 +#: library/socketserver.rst:386 msgid "Request Handler Objects" msgstr "Objets gestionnaire de requêtes" -#: library/socketserver.rst:391 +#: library/socketserver.rst:390 msgid "" "This is the superclass of all request handler objects. It defines the " "interface, given below. A concrete request handler subclass must define a " @@ -635,7 +635,7 @@ msgstr "" "peut surcharger n'importe quelle autre méthode. Cette classe concrète est " "instanciée pour chaque requête." -#: library/socketserver.rst:400 +#: library/socketserver.rst:399 msgid "" "Called before the :meth:`handle` method to perform any initialization " "actions required. The default implementation does nothing." @@ -644,7 +644,7 @@ msgstr "" "opérations d'initialisation requises. L'implémentation par défaut ne fait " "rien." -#: library/socketserver.rst:406 +#: library/socketserver.rst:405 msgid "" "This function must do all the work required to service a request. The " "default implementation does nothing. Several instance attributes are " @@ -659,7 +659,7 @@ msgstr "" "l'instance du serveur dans :attr:`self.server` (dans le cas où il aurait " "besoin d'accéder aux informations du serveur)." -#: library/socketserver.rst:412 +#: library/socketserver.rst:411 msgid "" "The type of :attr:`self.request` is different for datagram or stream " "services. For stream services, :attr:`self.request` is a socket object; for " @@ -671,7 +671,7 @@ msgstr "" "à datagrammes, :attr:`self.request` est une paire constituée d'une chaîne de " "caractères et du connecteur." -#: library/socketserver.rst:419 +#: library/socketserver.rst:418 msgid "" "Called after the :meth:`handle` method to perform any clean-up actions " "required. The default implementation does nothing. If :meth:`setup` raises " @@ -681,13 +681,17 @@ msgstr "" "nettoyage requises. L'implémentation par défaut ne fait rien. Si :meth:" "`setup` lève une exception, cette méthode n'est pas appelée." -#: library/socketserver.rst:427 +#: library/socketserver.rst:426 +#, fuzzy msgid "" "These :class:`BaseRequestHandler` subclasses override the :meth:" "`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` methods, " "and provide :attr:`self.rfile` and :attr:`self.wfile` attributes. The :attr:" "`self.rfile` and :attr:`self.wfile` attributes can be read or written, " -"respectively, to get the request data or return data to the client." +"respectively, to get the request data or return data to the client. The :" +"attr:`!rfile` attributes support the :class:`io.BufferedIOBase` readable " +"interface, and :attr:`!wfile` attributes support the :class:`!io." +"BufferedIOBase` writable interface." msgstr "" "Ces classes, héritant de :class:`BaseRequestHandler`, redéfinissent les " "méthodes :meth:`~BaseRequestHandler.setup` et :meth:`~BaseRequestHandler." @@ -696,18 +700,7 @@ msgstr "" "être respectivement lus ou écrits, afin de récupérer les données de la " "requête ou d'envoyer des données au client." -#: library/socketserver.rst:434 -msgid "" -"The :attr:`rfile` attributes of both classes support the :class:`io." -"BufferedIOBase` readable interface, and :attr:`DatagramRequestHandler.wfile` " -"supports the :class:`io.BufferedIOBase` writable interface." -msgstr "" -"L'attribut :attr:`rfile` des deux classes prend en charge l'interface de " -"lecture de :class:`io.BufferedIOBase`. L'attribut :attr:" -"`DatagramRequestHandler.wfile` sait gérer l'interface d'écriture de :class:" -"`io.BufferedIOBase`." - -#: library/socketserver.rst:439 +#: library/socketserver.rst:435 msgid "" ":attr:`StreamRequestHandler.wfile` also supports the :class:`io." "BufferedIOBase` writable interface." @@ -715,19 +708,19 @@ msgstr "" ":attr:`StreamRequestHandler.wfile` prend également en charge l'interface " "d'écriture de :class:`io.BufferedIOBase`." -#: library/socketserver.rst:445 +#: library/socketserver.rst:441 msgid "Examples" msgstr "Exemples" -#: library/socketserver.rst:448 +#: library/socketserver.rst:444 msgid ":class:`socketserver.TCPServer` Example" msgstr "Exemple pour :class:`socketserver.TCPServer`" -#: library/socketserver.rst:549 +#: library/socketserver.rst:545 msgid "This is the server side::" msgstr "Implémentation côté serveur ::" -#: library/socketserver.rst:480 +#: library/socketserver.rst:476 msgid "" "An alternative request handler class that makes use of streams (file-like " "objects that simplify communication by providing the standard file " @@ -737,7 +730,7 @@ msgstr "" "flux de données (avec des objets fichier-compatibles simplifiant la " "communication en fournissant l'interface fichier standard) ::" -#: library/socketserver.rst:495 +#: library/socketserver.rst:491 msgid "" "The difference is that the ``readline()`` call in the second handler will " "call ``recv()`` multiple times until it encounters a newline character, " @@ -750,27 +743,27 @@ msgstr "" "renvoyant toutes les données envoyées par le client en un seul appel à " "``sendall()``." -#: library/socketserver.rst:573 +#: library/socketserver.rst:569 msgid "This is the client side::" msgstr "Implémentation côté client ::" -#: library/socketserver.rst:648 +#: library/socketserver.rst:644 msgid "The output of the example should look something like this:" msgstr "La sortie de cet exemple devrait ressembler à ça :" -#: library/socketserver.rst:524 +#: library/socketserver.rst:520 msgid "Server:" msgstr "Serveur :" -#: library/socketserver.rst:534 +#: library/socketserver.rst:530 msgid "Client:" msgstr "Client :" -#: library/socketserver.rst:547 +#: library/socketserver.rst:543 msgid ":class:`socketserver.UDPServer` Example" msgstr "Exemple pour :class:`socketserver.UDPServer`" -#: library/socketserver.rst:592 +#: library/socketserver.rst:588 msgid "" "The output of the example should look exactly like for the TCP server " "example." @@ -778,11 +771,11 @@ msgstr "" "La sortie de cet exemple devrait ressembler exactement à la sortie de " "l'exemple pour le serveur TCP." -#: library/socketserver.rst:596 +#: library/socketserver.rst:592 msgid "Asynchronous Mixins" msgstr "Classes de mélange asynchrone" -#: library/socketserver.rst:598 +#: library/socketserver.rst:594 msgid "" "To build asynchronous handlers, use the :class:`ThreadingMixIn` and :class:" "`ForkingMixIn` classes." @@ -790,11 +783,11 @@ msgstr "" "Pour développer des gestionnaires asynchrones, utilisez les classes :class:" "`ThreadingMixIn` et :class:`ForkingMixIn`." -#: library/socketserver.rst:601 +#: library/socketserver.rst:597 msgid "An example for the :class:`ThreadingMixIn` class::" msgstr "Exemple pour :class:`ThreadingMixIn` ::" -#: library/socketserver.rst:659 +#: library/socketserver.rst:655 msgid "" "The :class:`ForkingMixIn` class is used in the same way, except that the " "server will spawn a new process for each request. Available only on POSIX " @@ -804,3 +797,13 @@ msgstr "" "différence près que le serveur crée un nouveau processus fils pour chaque " "requête. Disponible uniquement sur les plateformes POSIX prenant en charge :" "func:`~os.fork`." + +#~ msgid "" +#~ "The :attr:`rfile` attributes of both classes support the :class:`io." +#~ "BufferedIOBase` readable interface, and :attr:`DatagramRequestHandler." +#~ "wfile` supports the :class:`io.BufferedIOBase` writable interface." +#~ msgstr "" +#~ "L'attribut :attr:`rfile` des deux classes prend en charge l'interface de " +#~ "lecture de :class:`io.BufferedIOBase`. L'attribut :attr:" +#~ "`DatagramRequestHandler.wfile` sait gérer l'interface d'écriture de :" +#~ "class:`io.BufferedIOBase`." diff --git a/library/sqlite3.po b/library/sqlite3.po index 25b0250519..f27524b177 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-03-26 15:55+0100\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -126,9 +126,10 @@ msgstr "" "notamment les `curseurs`_ et les `transactions`_." #: library/sqlite3.rst:73 +#, fuzzy msgid "" "First, we need to create a new database and open a database connection to " -"allow :mod:`!sqlite3` to work with it. Call :func:`sqlite3.connect` to to " +"allow :mod:`!sqlite3` to work with it. Call :func:`sqlite3.connect` to " "create a connection to the database :file:`tutorial.db` in the current " "working directory, implicitly creating it if it does not exist:" msgstr "" @@ -319,28 +320,33 @@ msgstr ":ref:`adaptateurs sqlite3 `" msgid ":ref:`sqlite3-converters`" msgstr ":ref:`convertisseurs sqlite3 `" -#: library/sqlite3.rst:514 +#: library/sqlite3.rst:515 msgid ":ref:`sqlite3-connection-context-manager`" msgstr "" ":ref:`gestionnaire de contexte de connexion sqlite3 `" -#: library/sqlite3.rst:243 +#: library/sqlite3.rst:242 +#, fuzzy +msgid ":ref:`sqlite3-howto-row-factory`" +msgstr ":ref:`convertisseurs sqlite3 `" + +#: library/sqlite3.rst:244 msgid "" ":ref:`sqlite3-explanation` for in-depth background on transaction control." msgstr "" ":ref:`explications sqlite3 ` pour un contexte détaillé " "du contrôle de transaction." -#: library/sqlite3.rst:248 +#: library/sqlite3.rst:249 msgid "Reference" msgstr "Référence" -#: library/sqlite3.rst:256 +#: library/sqlite3.rst:257 msgid "Module functions" msgstr "Fonctions du module" -#: library/sqlite3.rst:263 +#: library/sqlite3.rst:264 msgid "Open a connection to an SQLite database." msgstr "Ouvrez une connexion à une base de données SQLite." @@ -348,7 +354,7 @@ msgstr "Ouvrez une connexion à une base de données SQLite." msgid "Parameters" msgstr "Paramètres" -#: library/sqlite3.rst:265 +#: library/sqlite3.rst:266 msgid "" "The path to the database file to be opened. Pass ``\":memory:\"`` to open a " "connection to a database that is in RAM instead of on disk." @@ -357,12 +363,13 @@ msgstr "" "memory:\"`` pour ouvrir une connexion à une base de données qui est dans la " "RAM plutôt que sur le disque." -#: library/sqlite3.rst:271 +#: library/sqlite3.rst:272 +#, fuzzy msgid "" -"How many seconds the connection should wait before raising an exception, if " -"the database is locked by another connection. If another connection opens a " -"transaction to modify the database, it will be locked until that transaction " -"is committed. Default five seconds." +"How many seconds the connection should wait before raising an :exc:" +"`OperationalError` when a table is locked. If another connection opens a " +"transaction to modify a table, that table will be locked until the " +"transaction is committed. Default five seconds." msgstr "" "Le temps (en secondes) que la connexion doit attendre avant de lever une " "exception, si la base de données est verrouillée par une autre connexion. Si " @@ -370,7 +377,7 @@ msgstr "" "celle-ci sera verrouillée jusqu’à ce que cette transaction soit validée. Par " "défaut, cinq secondes." -#: library/sqlite3.rst:278 +#: library/sqlite3.rst:279 msgid "" "Control whether and how data types not :ref:`natively supported by SQLite " "` are looked up to be converted to Python types, using the " @@ -394,7 +401,7 @@ msgstr "" "`str` sera retourné à la place. Par défaut (``0``), la détection des types " "est désactivée." -#: library/sqlite3.rst:292 +#: library/sqlite3.rst:293 msgid "" "The :attr:`~Connection.isolation_level` of the connection, controlling " "whether and how transactions are implicitly opened. Can be ``\"DEFERRED\"`` " @@ -409,14 +416,16 @@ msgstr "" "`contrôle des transactions sqlite3 ` pour " "en savoir plus." -#: library/sqlite3.rst:300 +#: library/sqlite3.rst:301 msgid "" -"If ``True`` (default), only the creating thread may use the connection. If " -"``False``, the connection may be shared across multiple threads; if so, " -"write operations should be serialized by the user to avoid data corruption." +"If ``True`` (default), :exc:`ProgrammingError` will be raised if the " +"database connection is used by a thread other than the one that created it. " +"If ``False``, the connection may be accessed in multiple threads; write " +"operations may need to be serialized by the user to avoid data corruption. " +"See :attr:`threadsafety` for more information." msgstr "" -#: library/sqlite3.rst:306 +#: library/sqlite3.rst:310 msgid "" "A custom subclass of :class:`Connection` to create the connection with, if " "not the default :class:`Connection` class." @@ -424,13 +433,13 @@ msgstr "" "Une sous-classe personnalisée de :class:`Connection` pour créer la " "connexion, si ce n’est pas la classe par défaut :class:`Connection`." -#: library/sqlite3.rst:310 +#: library/sqlite3.rst:314 msgid "" "The number of statements that :mod:`!sqlite3` should internally cache for " "this connection, to avoid parsing overhead. By default, 100 statements." msgstr "" -#: library/sqlite3.rst:315 +#: library/sqlite3.rst:319 msgid "" "If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " "Resource Identifier)` with a file path and an optional query string. The " @@ -450,34 +459,34 @@ msgstr "" msgid "Return type" msgstr "Type Python" -#: library/sqlite3.rst:326 +#: library/sqlite3.rst:330 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " "``database``." msgstr "" -#: library/sqlite3.rst:327 +#: library/sqlite3.rst:331 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " "argument ``connection_handle``." msgstr "" -#: library/sqlite3.rst:329 +#: library/sqlite3.rst:333 msgid "The *uri* parameter." msgstr "" -#: library/sqlite3.rst:332 +#: library/sqlite3.rst:336 msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" "*database* peut maintenant aussi être un :term:`objet de type chemin `, et pas seulement une chaîne de caractères." -#: library/sqlite3.rst:335 +#: library/sqlite3.rst:339 msgid "The ``sqlite3.connect/handle`` auditing event." msgstr "" -#: library/sqlite3.rst:340 +#: library/sqlite3.rst:344 msgid "" "Return ``True`` if the string *statement* appears to contain one or more " "complete SQL statements. No syntactic verification or parsing of any kind is " @@ -490,11 +499,11 @@ msgstr "" "vérification qu’il n’y a pas de chaîne littérale non fermée et que " "l’instruction se termine par un point-virgule." -#: library/sqlite3.rst:346 +#: library/sqlite3.rst:350 msgid "For example:" msgstr "Par exemple :" -#: library/sqlite3.rst:355 +#: library/sqlite3.rst:359 msgid "" "This function may be useful during command-line input to determine if the " "entered text seems to form a complete SQL statement, or if additional input " @@ -505,7 +514,7 @@ msgstr "" "si une saisie supplémentaire est nécessaire avant d’appeler :meth:`~Cursor." "execute`." -#: library/sqlite3.rst:361 +#: library/sqlite3.rst:365 msgid "" "Enable or disable callback tracebacks. By default you will not get any " "tracebacks in user-defined functions, aggregates, converters, authorizer " @@ -514,7 +523,7 @@ msgid "" "on ``sys.stderr``. Use ``False`` to disable the feature again." msgstr "" -#: library/sqlite3.rst:370 +#: library/sqlite3.rst:374 msgid "" "Register an *adapter* callable to adapt the Python type *type* into an " "SQLite type. The adapter is called with a Python object of type *type* as " @@ -526,7 +535,7 @@ msgstr "" "comme unique argument, et doit retourner une valeur d’un :ref:`type que " "SQLite comprend nativement `." -#: library/sqlite3.rst:378 +#: library/sqlite3.rst:382 msgid "" "Register the *converter* callable to convert SQLite objects of type " "*typename* into a Python object of a specific type. The converter is invoked " @@ -542,7 +551,7 @@ msgstr "" "Consultez le paramètre *detect_types* de :func:`connect` pour des " "informations sur le fonctionnement de la détection des types." -#: library/sqlite3.rst:386 +#: library/sqlite3.rst:390 msgid "" "Note: *typename* and the name of the type in your query are matched case-" "insensitively." @@ -550,12 +559,12 @@ msgstr "" "Remarque : *typename* et le nom du type dans votre requête sont comparés " "sans tenir compte de la casse." -#: library/sqlite3.rst:393 +#: library/sqlite3.rst:397 #, fuzzy msgid "Module constants" msgstr "Fonctions et constantes du module" -#: library/sqlite3.rst:397 +#: library/sqlite3.rst:401 msgid "" "Pass this flag value to the *detect_types* parameter of :func:`connect` to " "look up a converter function by using the type name, parsed from the query " @@ -563,13 +572,13 @@ msgid "" "in square brackets (``[]``)." msgstr "" -#: library/sqlite3.rst:407 +#: library/sqlite3.rst:411 msgid "" "This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " "(bitwise or) operator." msgstr "" -#: library/sqlite3.rst:412 +#: library/sqlite3.rst:416 msgid "" "Pass this flag value to the *detect_types* parameter of :func:`connect` to " "look up a converter function using the declared types for each column. The " @@ -578,54 +587,50 @@ msgid "" "the converter dictionary key. For example:" msgstr "" -#: library/sqlite3.rst:428 +#: library/sqlite3.rst:432 msgid "" "This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " "(bitwise or) operator." msgstr "" -#: library/sqlite3.rst:435 +#: library/sqlite3.rst:439 msgid "" "Flags that should be returned by the *authorizer_callback* callable passed " "to :meth:`Connection.set_authorizer`, to indicate whether:" msgstr "" -#: library/sqlite3.rst:438 +#: library/sqlite3.rst:442 msgid "Access is allowed (:const:`!SQLITE_OK`)," msgstr "" -#: library/sqlite3.rst:439 +#: library/sqlite3.rst:443 msgid "" "The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" msgstr "" -#: library/sqlite3.rst:440 +#: library/sqlite3.rst:444 msgid "" "The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" msgstr "" -#: library/sqlite3.rst:444 +#: library/sqlite3.rst:448 msgid "" "String constant stating the supported DB-API level. Required by the DB-API. " "Hard-coded to ``\"2.0\"``." msgstr "" -#: library/sqlite3.rst:449 +#: library/sqlite3.rst:453 msgid "" "String constant stating the type of parameter marker formatting expected by " "the :mod:`!sqlite3` module. Required by the DB-API. Hard-coded to " "``\"qmark\"``." msgstr "" -#: library/sqlite3.rst:455 -msgid "" -"The :mod:`!sqlite3` module supports both ``qmark`` and ``numeric`` DB-API " -"parameter styles, because that is what the underlying SQLite library " -"supports. However, the DB-API does not allow multiple values for the " -"``paramstyle`` attribute." +#: library/sqlite3.rst:459 +msgid "The ``named`` DB-API parameter style is also supported." msgstr "" -#: library/sqlite3.rst:462 +#: library/sqlite3.rst:463 #, fuzzy msgid "" "Version number of the runtime SQLite library as a :class:`string `." @@ -633,7 +638,7 @@ msgstr "" "Le numéro de version de la bibliothèque d'exécution SQLite, sous forme de " "chaîne." -#: library/sqlite3.rst:466 +#: library/sqlite3.rst:467 #, fuzzy msgid "" "Version number of the runtime SQLite library as a :class:`tuple` of :class:" @@ -642,7 +647,7 @@ msgstr "" "Le numéro de version de la bibliothèque d'exécution SQLite, sous forme " "d'entier." -#: library/sqlite3.rst:471 +#: library/sqlite3.rst:472 msgid "" "Integer constant required by the DB-API, stating the level of thread safety " "the :mod:`!sqlite3` module supports. Currently hard-coded to ``1``, meaning " @@ -651,13 +656,13 @@ msgid "" "time threaded mode using the following query::" msgstr "" -#: library/sqlite3.rst:484 +#: library/sqlite3.rst:485 msgid "" "Note that the `SQLITE_THREADSAFE levels `_ do not match the DB-API 2.0 ``threadsafety`` levels." msgstr "" -#: library/sqlite3.rst:490 +#: library/sqlite3.rst:491 #, fuzzy msgid "" "Version number of this module as a :class:`string `. This is not the " @@ -666,7 +671,7 @@ msgstr "" "Le numéro de version de ce module, sous forme de chaîne. Ce n'est pas la " "version de la bibliothèque SQLite." -#: library/sqlite3.rst:495 +#: library/sqlite3.rst:496 #, fuzzy msgid "" "Version number of this module as a :class:`tuple` of :class:`integers " @@ -675,92 +680,92 @@ msgstr "" "Le numéro de version de ce module, sous forme d'un *n*-uplet d'entiers. Ce " "n'est pas la version de la bibliothèque SQLite." -#: library/sqlite3.rst:502 +#: library/sqlite3.rst:503 #, fuzzy msgid "Connection objects" msgstr "Objets de connexions" -#: library/sqlite3.rst:506 +#: library/sqlite3.rst:507 msgid "" "Each open SQLite database is represented by a ``Connection`` object, which " "is created using :func:`sqlite3.connect`. Their main purpose is creating :" "class:`Cursor` objects, and :ref:`sqlite3-controlling-transactions`." msgstr "" -#: library/sqlite3.rst:513 +#: library/sqlite3.rst:514 msgid ":ref:`sqlite3-connection-shortcuts`" msgstr "" -#: library/sqlite3.rst:516 +#: library/sqlite3.rst:517 msgid "An SQLite database connection has the following attributes and methods:" msgstr "" -#: library/sqlite3.rst:520 +#: library/sqlite3.rst:521 msgid "" "Create and return a :class:`Cursor` object. The cursor method accepts a " "single optional parameter *factory*. If supplied, this must be a callable " "returning an instance of :class:`Cursor` or its subclasses." msgstr "" -#: library/sqlite3.rst:527 +#: library/sqlite3.rst:528 msgid "" "Commit any pending transaction to the database. If there is no open " "transaction, this method is a no-op." msgstr "" -#: library/sqlite3.rst:532 +#: library/sqlite3.rst:533 msgid "" "Roll back to the start of any pending transaction. If there is no open " "transaction, this method is a no-op." msgstr "" -#: library/sqlite3.rst:537 +#: library/sqlite3.rst:538 msgid "" "Close the database connection. Any pending transaction is not committed " "implicitly; make sure to :meth:`commit` before closing to avoid losing " "pending changes." msgstr "" -#: library/sqlite3.rst:544 +#: library/sqlite3.rst:545 msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.execute` on it " "with the given *sql* and *parameters*. Return the new cursor object." msgstr "" -#: library/sqlite3.rst:550 +#: library/sqlite3.rst:551 msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.executemany` on " "it with the given *sql* and *parameters*. Return the new cursor object." msgstr "" -#: library/sqlite3.rst:556 +#: library/sqlite3.rst:557 msgid "" "Create a new :class:`Cursor` object and call :meth:`~Cursor.executescript` " "on it with the given *sql_script*. Return the new cursor object." msgstr "" -#: library/sqlite3.rst:562 +#: library/sqlite3.rst:563 msgid "Create or remove a user-defined SQL function." msgstr "" -#: library/sqlite3.rst:564 +#: library/sqlite3.rst:565 msgid "The name of the SQL function." msgstr "" -#: library/sqlite3.rst:567 +#: library/sqlite3.rst:568 msgid "" "The number of arguments the SQL function can accept. If ``-1``, it may take " "any number of arguments." msgstr "" -#: library/sqlite3.rst:571 +#: library/sqlite3.rst:572 msgid "" "A callable that is called when the SQL function is invoked. The callable " "must return :ref:`a type natively supported by SQLite `. Set " "to ``None`` to remove an existing SQL function." msgstr "" -#: library/sqlite3.rst:578 +#: library/sqlite3.rst:579 msgid "" "If ``True``, the created SQL function is marked as `deterministic `_, which allows SQLite to perform additional " @@ -771,34 +776,33 @@ msgstr "" msgid "Raises" msgstr "" -#: library/sqlite3.rst:583 +#: library/sqlite3.rst:584 msgid "If *deterministic* is used with SQLite versions older than 3.8.3." msgstr "" -#: library/sqlite3.rst:586 +#: library/sqlite3.rst:587 msgid "The *deterministic* parameter." msgstr "" -#: library/sqlite3.rst:627 library/sqlite3.rst:952 library/sqlite3.rst:1087 -#: library/sqlite3.rst:1247 +#: library/sqlite3.rst:628 library/sqlite3.rst:966 library/sqlite3.rst:1115 msgid "Example:" msgstr "Exemple :" -#: library/sqlite3.rst:605 +#: library/sqlite3.rst:606 msgid "Create or remove a user-defined SQL aggregate function." msgstr "" -#: library/sqlite3.rst:607 +#: library/sqlite3.rst:608 msgid "The name of the SQL aggregate function." msgstr "" -#: library/sqlite3.rst:610 +#: library/sqlite3.rst:611 msgid "" "The number of arguments the SQL aggregate function can accept. If ``-1``, it " "may take any number of arguments." msgstr "" -#: library/sqlite3.rst:614 +#: library/sqlite3.rst:615 msgid "" "A class must implement the following methods: * ``step()``: Add a row to " "the aggregate. * ``finalize()``: Return the final result of the aggregate " @@ -807,64 +811,65 @@ msgid "" "*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." msgstr "" -#: library/sqlite3.rst:615 +#: library/sqlite3.rst:616 msgid "A class must implement the following methods:" msgstr "" -#: library/sqlite3.rst:617 +#: library/sqlite3.rst:618 msgid "``step()``: Add a row to the aggregate." msgstr "" -#: library/sqlite3.rst:618 +#: library/sqlite3.rst:619 msgid "" "``finalize()``: Return the final result of the aggregate as :ref:`a type " "natively supported by SQLite `." msgstr "" -#: library/sqlite3.rst:621 +#: library/sqlite3.rst:622 msgid "" "The number of arguments that the ``step()`` method must accept is controlled " "by *n_arg*." msgstr "" -#: library/sqlite3.rst:624 +#: library/sqlite3.rst:625 msgid "Set to ``None`` to remove an existing SQL aggregate function." msgstr "" -#: library/sqlite3.rst:659 +#: library/sqlite3.rst:660 msgid "" "Create a collation named *name* using the collating function *callable*. " "*callable* is passed two :class:`string ` arguments, and it should " "return an :class:`integer `:" msgstr "" -#: library/sqlite3.rst:663 +#: library/sqlite3.rst:664 msgid "``1`` if the first is ordered higher than the second" msgstr "" -#: library/sqlite3.rst:664 +#: library/sqlite3.rst:665 msgid "``-1`` if the first is ordered lower than the second" msgstr "" -#: library/sqlite3.rst:665 +#: library/sqlite3.rst:666 msgid "``0`` if they are ordered equal" msgstr "" -#: library/sqlite3.rst:667 +#: library/sqlite3.rst:668 msgid "The following example shows a reverse sorting collation:" msgstr "" -#: library/sqlite3.rst:695 +#: library/sqlite3.rst:696 msgid "Remove a collation function by setting *callable* to ``None``." msgstr "" -#: library/sqlite3.rst:700 +#: library/sqlite3.rst:701 msgid "" "Call this method from a different thread to abort any queries that might be " -"executing on the connection. Aborted queries will raise an exception." +"executing on the connection. Aborted queries will raise an :exc:" +"`OperationalError`." msgstr "" -#: library/sqlite3.rst:707 +#: library/sqlite3.rst:708 msgid "" "Register callable *authorizer_callback* to be invoked for each attempt to " "access a column of a table in the database. The callback should return one " @@ -873,7 +878,7 @@ msgid "" "library." msgstr "" -#: library/sqlite3.rst:713 +#: library/sqlite3.rst:714 msgid "" "The first argument to the callback signifies what kind of operation is to be " "authorized. The second and third argument will be arguments or ``None`` " @@ -883,7 +888,7 @@ msgid "" "attempt or ``None`` if this access attempt is directly from input SQL code." msgstr "" -#: library/sqlite3.rst:720 +#: library/sqlite3.rst:721 msgid "" "Please consult the SQLite documentation about the possible values for the " "first argument and the meaning of the second and third argument depending on " @@ -891,7 +896,7 @@ msgid "" "module." msgstr "" -#: library/sqlite3.rst:727 +#: library/sqlite3.rst:728 msgid "" "Register callable *progress_handler* to be invoked for every *n* " "instructions of the SQLite virtual machine. This is useful if you want to " @@ -899,26 +904,26 @@ msgid "" "a GUI." msgstr "" -#: library/sqlite3.rst:732 +#: library/sqlite3.rst:733 msgid "" "If you want to clear any previously installed progress handler, call the " "method with ``None`` for *progress_handler*." msgstr "" -#: library/sqlite3.rst:735 +#: library/sqlite3.rst:736 msgid "" "Returning a non-zero value from the handler function will terminate the " "currently executing query and cause it to raise an :exc:`OperationalError` " "exception." msgstr "" -#: library/sqlite3.rst:742 +#: library/sqlite3.rst:743 msgid "" "Register callable *trace_callback* to be invoked for each SQL statement that " "is actually executed by the SQLite backend." msgstr "" -#: library/sqlite3.rst:745 +#: library/sqlite3.rst:746 msgid "" "The only argument passed to the callback is the statement (as :class:`str`) " "that is being executed. The return value of the callback is ignored. Note " @@ -928,18 +933,18 @@ msgid "" "execution of triggers defined in the current database." msgstr "" -#: library/sqlite3.rst:753 +#: library/sqlite3.rst:754 msgid "Passing ``None`` as *trace_callback* will disable the trace callback." msgstr "" -#: library/sqlite3.rst:756 +#: library/sqlite3.rst:757 msgid "" "Exceptions raised in the trace callback are not propagated. As a development " "and debugging aid, use :meth:`~sqlite3.enable_callback_tracebacks` to enable " "printing tracebacks from exceptions raised in the trace callback." msgstr "" -#: library/sqlite3.rst:766 +#: library/sqlite3.rst:767 msgid "" "Enable the SQLite engine to load SQLite extensions from shared libraries if " "*enabled* is ``True``; else, disallow loading SQLite extensions. SQLite " @@ -948,7 +953,7 @@ msgid "" "distributed with SQLite." msgstr "" -#: library/sqlite3.rst:775 +#: library/sqlite3.rst:776 msgid "" "The :mod:`!sqlite3` module is not built with loadable extension support by " "default, because some platforms (notably macOS) have SQLite libraries which " @@ -957,61 +962,61 @@ msgid "" "program:`configure`." msgstr "" -#: library/sqlite3.rst:782 +#: library/sqlite3.rst:783 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.enable_load_extension`` " "with arguments ``connection``, ``enabled``." msgstr "" -#: library/sqlite3.rst:786 +#: library/sqlite3.rst:787 msgid "Added the ``sqlite3.enable_load_extension`` auditing event." msgstr "" -#: library/sqlite3.rst:829 +#: library/sqlite3.rst:830 msgid "" "Load an SQLite extension from a shared library located at *path*. Enable " "extension loading with :meth:`enable_load_extension` before calling this " "method." msgstr "" -#: library/sqlite3.rst:833 +#: library/sqlite3.rst:834 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.load_extension`` with " "arguments ``connection``, ``path``." msgstr "" -#: library/sqlite3.rst:837 +#: library/sqlite3.rst:838 msgid "Added the ``sqlite3.load_extension`` auditing event." msgstr "" -#: library/sqlite3.rst:842 +#: library/sqlite3.rst:843 msgid "" "Return an :term:`iterator` to dump the database as SQL source code. Useful " "when saving an in-memory database for later restoration. Similar to the ``." "dump`` command in the :program:`sqlite3` shell." msgstr "" -#: library/sqlite3.rst:860 +#: library/sqlite3.rst:861 msgid "Create a backup of an SQLite database." msgstr "" -#: library/sqlite3.rst:862 +#: library/sqlite3.rst:863 msgid "" "Works even if the database is being accessed by other clients or " "concurrently by the same connection." msgstr "" -#: library/sqlite3.rst:865 +#: library/sqlite3.rst:866 msgid "The database connection to save the backup to." msgstr "" -#: library/sqlite3.rst:868 +#: library/sqlite3.rst:869 msgid "" "The number of pages to copy at a time. If equal to or less than ``0``, the " "entire database is copied in a single step. Defaults to ``-1``." msgstr "" -#: library/sqlite3.rst:874 +#: library/sqlite3.rst:875 msgid "" "If set to a callable, it is invoked with three integer arguments for every " "backup iteration: the *status* of the last iteration, the *remaining* number " @@ -1019,40 +1024,40 @@ msgid "" "``None``." msgstr "" -#: library/sqlite3.rst:883 +#: library/sqlite3.rst:884 msgid "" "The name of the database to back up. Either ``\"main\"`` (the default) for " "the main database, ``\"temp\"`` for the temporary database, or the name of a " "custom database as attached using the ``ATTACH DATABASE`` SQL statement." msgstr "" -#: library/sqlite3.rst:890 +#: library/sqlite3.rst:891 msgid "" "The number of seconds to sleep between successive attempts to back up " "remaining pages." msgstr "" -#: library/sqlite3.rst:894 +#: library/sqlite3.rst:895 msgid "Example 1, copy an existing database into another:" msgstr "" -#: library/sqlite3.rst:913 +#: library/sqlite3.rst:914 msgid "Example 2, copy an existing database into a transient copy:" msgstr "" -#: library/sqlite3.rst:925 +#: library/sqlite3.rst:926 msgid "" "This read-only attribute corresponds to the low-level SQLite `autocommit " "mode`_." msgstr "" -#: library/sqlite3.rst:928 +#: library/sqlite3.rst:929 msgid "" "``True`` if a transaction is active (there are uncommitted changes), " "``False`` otherwise." msgstr "" -#: library/sqlite3.rst:935 +#: library/sqlite3.rst:936 msgid "" "This attribute controls the :ref:`transaction handling ` performed by :mod:`!sqlite3`. If set to ``None``, " @@ -1062,30 +1067,27 @@ msgid "" "` is performed." msgstr "" -#: library/sqlite3.rst:943 +#: library/sqlite3.rst:944 msgid "" "If not overridden by the *isolation_level* parameter of :func:`connect`, the " "default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." msgstr "" -#: library/sqlite3.rst:948 +#: library/sqlite3.rst:949 msgid "" -"A callable that accepts two arguments, a :class:`Cursor` object and the raw " -"row results as a :class:`tuple`, and returns a custom object representing an " -"SQLite row." +"The initial :attr:`~Cursor.row_factory` for :class:`Cursor` objects created " +"from this connection. Assigning to this attribute does not affect the :attr:" +"`!row_factory` of existing cursors belonging to this connection, only new " +"ones. Is ``None`` by default, meaning each row is returned as a :class:" +"`tuple`." msgstr "" -#: library/sqlite3.rst:965 -msgid "" -"If returning a tuple doesn't suffice and you want name-based access to " -"columns, you should consider setting :attr:`row_factory` to the highly " -"optimized :class:`sqlite3.Row` type. :class:`Row` provides both index-based " -"and case-insensitive name-based access to columns with almost no memory " -"overhead. It will probably be better than your own custom dictionary-based " -"approach or even a db_row based solution." -msgstr "" +#: library/sqlite3.rst:1239 library/sqlite3.rst:1262 +#, fuzzy +msgid "See :ref:`sqlite3-howto-row-factory` for more details." +msgstr ":ref:`guide sqlite3 ` pour une lecture plus poussée:" -#: library/sqlite3.rst:976 +#: library/sqlite3.rst:960 msgid "" "A callable that accepts a :class:`bytes` parameter and returns a text " "representation of it. The callable is invoked for SQLite values with the " @@ -1093,17 +1095,17 @@ msgid "" "you want to return ``bytes`` instead, set *text_factory* to ``bytes``." msgstr "" -#: library/sqlite3.rst:1016 +#: library/sqlite3.rst:1000 msgid "" "Return the total number of database rows that have been modified, inserted, " "or deleted since the database connection was opened." msgstr "" -#: library/sqlite3.rst:1022 +#: library/sqlite3.rst:1006 msgid "Cursor objects" msgstr "" -#: library/sqlite3.rst:1024 +#: library/sqlite3.rst:1008 msgid "" "A ``Cursor`` object represents a `database cursor`_ which is used to execute " "SQL statements, and manage the context of a fetch operation. Cursors are " @@ -1111,33 +1113,39 @@ msgid "" "`connection shortcut methods `." msgstr "" -#: library/sqlite3.rst:1031 +#: library/sqlite3.rst:1015 msgid "" "Cursor objects are :term:`iterators `, meaning that if you :meth:" "`~Cursor.execute` a ``SELECT`` query, you can simply iterate over the cursor " "to fetch the resulting rows:" msgstr "" -#: library/sqlite3.rst:1056 +#: library/sqlite3.rst:1040 msgid "A :class:`Cursor` instance has the following attributes and methods." msgstr "" -#: library/sqlite3.rst:1063 +#: library/sqlite3.rst:1047 msgid "" -"Execute SQL statement *sql*. Bind values to the statement using :ref:" -"`placeholders ` that map to the :term:`sequence` or :" -"class:`dict` *parameters*." +"Execute SQL a single SQL statement, optionally binding Python values using :" +"ref:`placeholders `." +msgstr "" + +#: library/sqlite3.rst:1051 +msgid "A single SQL statement." msgstr "" -#: library/sqlite3.rst:1068 +#: library/sqlite3.rst:1054 msgid "" -":meth:`execute` will only execute a single SQL statement. If you try to " -"execute more than one statement with it, it will raise a :exc:`Warning`. " -"Use :meth:`executescript` if you want to execute multiple SQL statements " -"with one call." +"Python values to bind to placeholders in *sql*. A :class:`!dict` if named " +"placeholders are used. A :term:`!sequence` if unnamed placeholders are used. " +"See :ref:`sqlite3-placeholders`." msgstr "" -#: library/sqlite3.rst:1073 +#: library/sqlite3.rst:1091 +msgid "If *sql* contains more than one SQL statement." +msgstr "" + +#: library/sqlite3.rst:1064 msgid "" "If :attr:`~Connection.isolation_level` is not ``None``, *sql* is an " "``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is " @@ -1145,16 +1153,35 @@ msgid "" "*sql*." msgstr "" -#: library/sqlite3.rst:1081 +#: library/sqlite3.rst:1069 +msgid "Use :meth:`executescript` to execute multiple SQL statements." +msgstr "" + +#: library/sqlite3.rst:1073 msgid "" -"Execute :ref:`parameterized ` SQL statement *sql* " -"against all parameter sequences or mappings found in the sequence " -"*parameters*. It is also possible to use an :term:`iterator` yielding " -"parameters instead of a sequence. Uses the same implicit transaction " -"handling as :meth:`~Cursor.execute`." +"For every item in *parameters*, repeatedly execute the :ref:`parameterized " +"` SQL statement *sql*." +msgstr "" + +#: library/sqlite3.rst:1077 +msgid "Uses the same implicit transaction handling as :meth:`~Cursor.execute`." +msgstr "" + +#: library/sqlite3.rst:1079 +msgid "A single SQL :abbr:`DML (Data Manipulation Language)` statement." +msgstr "" + +#: library/sqlite3.rst:1082 +msgid "" +"An :term:`!iterable` of parameters to bind with the placeholders in *sql*. " +"See :ref:`sqlite3-placeholders`." +msgstr "" + +#: library/sqlite3.rst:1088 +msgid "If *sql* is not a DML statment." msgstr "" -#: library/sqlite3.rst:1100 +#: library/sqlite3.rst:1107 msgid "" "Execute the SQL statements in *sql_script*. If there is a pending " "transaction, an implicit ``COMMIT`` statement is executed first. No other " @@ -1162,24 +1189,24 @@ msgid "" "added to *sql_script*." msgstr "" -#: library/sqlite3.rst:1106 +#: library/sqlite3.rst:1113 msgid "*sql_script* must be a :class:`string `." msgstr "" -#: library/sqlite3.rst:1124 +#: library/sqlite3.rst:1131 msgid "" -"If :attr:`~Connection.row_factory` is ``None``, return the next row query " -"result set as a :class:`tuple`. Else, pass it to the row factory and return " -"its result. Return ``None`` if no more data is available." +"If :attr:`~Cursor.row_factory` is ``None``, return the next row query result " +"set as a :class:`tuple`. Else, pass it to the row factory and return its " +"result. Return ``None`` if no more data is available." msgstr "" -#: library/sqlite3.rst:1132 +#: library/sqlite3.rst:1139 msgid "" "Return the next set of rows of a query result as a :class:`list`. Return an " "empty list if no more rows are available." msgstr "" -#: library/sqlite3.rst:1135 +#: library/sqlite3.rst:1142 msgid "" "The number of rows to fetch per call is specified by the *size* parameter. " "If *size* is not given, :attr:`arraysize` determines the number of rows to " @@ -1187,7 +1214,7 @@ msgid "" "available are returned." msgstr "" -#: library/sqlite3.rst:1141 +#: library/sqlite3.rst:1148 msgid "" "Note there are performance considerations involved with the *size* " "parameter. For optimal performance, it is usually best to use the arraysize " @@ -1195,36 +1222,36 @@ msgid "" "the same value from one :meth:`fetchmany` call to the next." msgstr "" -#: library/sqlite3.rst:1148 +#: library/sqlite3.rst:1155 msgid "" "Return all (remaining) rows of a query result as a :class:`list`. Return an " "empty list if no rows are available. Note that the :attr:`arraysize` " "attribute can affect the performance of this operation." msgstr "" -#: library/sqlite3.rst:1155 +#: library/sqlite3.rst:1162 msgid "Close the cursor now (rather than whenever ``__del__`` is called)." msgstr "" -#: library/sqlite3.rst:1157 +#: library/sqlite3.rst:1164 msgid "" "The cursor will be unusable from this point forward; a :exc:" "`ProgrammingError` exception will be raised if any operation is attempted " "with the cursor." msgstr "" -#: library/sqlite3.rst:1166 +#: library/sqlite3.rst:1173 msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." msgstr "" -#: library/sqlite3.rst:1170 +#: library/sqlite3.rst:1177 msgid "" "Read/write attribute that controls the number of rows returned by :meth:" "`fetchmany`. The default value is 1 which means a single row would be " "fetched per call." msgstr "" -#: library/sqlite3.rst:1175 +#: library/sqlite3.rst:1182 msgid "" "Read-only attribute that provides the SQLite database :class:`Connection` " "belonging to the cursor. A :class:`Cursor` object created by calling :meth:" @@ -1232,18 +1259,18 @@ msgid "" "that refers to *con*:" msgstr "" -#: library/sqlite3.rst:1189 +#: library/sqlite3.rst:1196 msgid "" "Read-only attribute that provides the column names of the last query. To " "remain compatible with the Python DB API, it returns a 7-tuple for each " "column where the last six items of each tuple are ``None``." msgstr "" -#: library/sqlite3.rst:1193 +#: library/sqlite3.rst:1200 msgid "It is set for ``SELECT`` statements without any matching rows as well." msgstr "" -#: library/sqlite3.rst:1197 +#: library/sqlite3.rst:1204 msgid "" "Read-only attribute that provides the row id of the last inserted row. It is " "only updated after successful ``INSERT`` or ``REPLACE`` statements using " @@ -1253,15 +1280,15 @@ msgid "" "``None``." msgstr "" -#: library/sqlite3.rst:1205 +#: library/sqlite3.rst:1212 msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." msgstr "" -#: library/sqlite3.rst:1207 +#: library/sqlite3.rst:1214 msgid "Added support for the ``REPLACE`` statement." msgstr "" -#: library/sqlite3.rst:1212 +#: library/sqlite3.rst:1219 msgid "" "Read-only attribute that provides the number of modified rows for " "``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` " @@ -1271,10 +1298,26 @@ msgid "" msgstr "" #: library/sqlite3.rst:1227 +msgid "" +"Control how a row fetched from this :class:`!Cursor` is represented. If " +"``None``, a row is represented as a :class:`tuple`. Can be set to the " +"included :class:`sqlite3.Row`; or a :term:`callable` that accepts two " +"arguments, a :class:`Cursor` object and the :class:`!tuple` of row values, " +"and returns a custom object representing an SQLite row." +msgstr "" + +#: library/sqlite3.rst:1234 +msgid "" +"Defaults to what :attr:`Connection.row_factory` was set to when the :class:`!" +"Cursor` was created. Assigning to this attribute does not affect :attr:" +"`Connection.row_factory` of the parent connection." +msgstr "" + +#: library/sqlite3.rst:1250 msgid "Row objects" msgstr "" -#: library/sqlite3.rst:1231 +#: library/sqlite3.rst:1254 msgid "" "A :class:`!Row` instance serves as a highly optimized :attr:`~Connection." "row_factory` for :class:`Connection` objects. It supports iteration, " @@ -1282,41 +1325,43 @@ msgid "" "index." msgstr "" -#: library/sqlite3.rst:1236 -msgid "Two row objects compare equal if have equal columns and equal members." +#: library/sqlite3.rst:1259 +msgid "" +"Two :class:`!Row` objects compare equal if they have identical column names " +"and values." msgstr "" -#: library/sqlite3.rst:1240 +#: library/sqlite3.rst:1266 msgid "" "Return a :class:`list` of column names as :class:`strings `. " "Immediately after a query, it is the first member of each tuple in :attr:" "`Cursor.description`." msgstr "" -#: library/sqlite3.rst:1244 +#: library/sqlite3.rst:1270 msgid "Added support of slicing." msgstr "" -#: library/sqlite3.rst:1264 +#: library/sqlite3.rst:1275 msgid "PrepareProtocol objects" msgstr "" -#: library/sqlite3.rst:1268 +#: library/sqlite3.rst:1279 msgid "" "The PrepareProtocol type's single purpose is to act as a :pep:`246` style " "adaption protocol for objects that can :ref:`adapt themselves ` to :ref:`native SQLite types `." msgstr "" -#: library/sqlite3.rst:1276 +#: library/sqlite3.rst:1287 msgid "Exceptions" msgstr "Exceptions" -#: library/sqlite3.rst:1278 +#: library/sqlite3.rst:1289 msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." msgstr "" -#: library/sqlite3.rst:1282 +#: library/sqlite3.rst:1293 msgid "" "This exception is raised by :mod:`!sqlite3` if an SQL query is not a :class:" "`string `, or if multiple statements are passed to :meth:`~Cursor." @@ -1324,7 +1369,7 @@ msgid "" "`Exception`." msgstr "" -#: library/sqlite3.rst:1289 +#: library/sqlite3.rst:1300 #, fuzzy msgid "" "The base class of the other exceptions in this module. Use this to catch all " @@ -1334,14 +1379,14 @@ msgstr "" "La classe de base des autres exceptions de ce module. C'est une sous-classe " "de :exc:`Exception`." -#: library/sqlite3.rst:1295 +#: library/sqlite3.rst:1306 msgid "" "This exception is raised by :mod:`!sqlite3` for fetch across rollback, or " "if :mod:`!sqlite3` is unable to bind parameters. ``InterfaceError`` is a " "subclass of :exc:`Error`." msgstr "" -#: library/sqlite3.rst:1301 +#: library/sqlite3.rst:1312 msgid "" "Exception raised for errors that are related to the database. This serves as " "the base exception for several types of database errors. It is only raised " @@ -1349,14 +1394,14 @@ msgid "" "subclass of :exc:`Error`." msgstr "" -#: library/sqlite3.rst:1308 +#: library/sqlite3.rst:1319 msgid "" "Exception raised for errors caused by problems with the processed data, like " "numeric values out of range, and strings which are too long. ``DataError`` " "is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:1314 +#: library/sqlite3.rst:1325 msgid "" "Exception raised for errors that are related to the database's operation, " "and not necessarily under the control of the programmer. For example, the " @@ -1364,20 +1409,20 @@ msgid "" "``OperationalError`` is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:1322 +#: library/sqlite3.rst:1333 msgid "" "Exception raised when the relational integrity of the database is affected, " "e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:1327 +#: library/sqlite3.rst:1338 msgid "" "Exception raised when SQLite encounters an internal error. If this is " "raised, it may indicate that there is a problem with the runtime SQLite " "library. ``InternalError`` is a subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:1334 +#: library/sqlite3.rst:1345 msgid "" "Exception raised for :mod:`!sqlite3` API programming errors, for example " "trying to operate on a closed :class:`Connection`, or trying to execute non-" @@ -1385,7 +1430,7 @@ msgid "" "subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:1341 +#: library/sqlite3.rst:1352 msgid "" "Exception raised in case a method or database API is not supported by the " "underlying SQLite library. For example, setting *deterministic* to ``True`` " @@ -1394,78 +1439,78 @@ msgid "" "subclass of :exc:`DatabaseError`." msgstr "" -#: library/sqlite3.rst:1351 +#: library/sqlite3.rst:1362 msgid "SQLite and Python types" msgstr "" -#: library/sqlite3.rst:1353 +#: library/sqlite3.rst:1364 msgid "" "SQLite natively supports the following types: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." msgstr "" -#: library/sqlite3.rst:1356 +#: library/sqlite3.rst:1367 msgid "" "The following Python types can thus be sent to SQLite without any problem:" msgstr "" -#: library/sqlite3.rst:1376 +#: library/sqlite3.rst:1387 msgid "Python type" msgstr "Type Python" -#: library/sqlite3.rst:1376 +#: library/sqlite3.rst:1387 msgid "SQLite type" msgstr "SQLite type" -#: library/sqlite3.rst:1378 +#: library/sqlite3.rst:1389 msgid "``None``" msgstr "``None``" -#: library/sqlite3.rst:1378 +#: library/sqlite3.rst:1389 msgid "``NULL``" msgstr "``NULL``" -#: library/sqlite3.rst:1380 +#: library/sqlite3.rst:1391 msgid ":class:`int`" msgstr ":class:`int`" -#: library/sqlite3.rst:1380 +#: library/sqlite3.rst:1391 msgid "``INTEGER``" msgstr "``INTEGER``" -#: library/sqlite3.rst:1382 +#: library/sqlite3.rst:1393 msgid ":class:`float`" msgstr ":class:`float`" -#: library/sqlite3.rst:1382 +#: library/sqlite3.rst:1393 msgid "``REAL``" msgstr "``REAL``" -#: library/sqlite3.rst:1367 +#: library/sqlite3.rst:1378 msgid ":class:`str`" msgstr ":class:`str`" -#: library/sqlite3.rst:1384 +#: library/sqlite3.rst:1395 msgid "``TEXT``" msgstr "``TEXT``" -#: library/sqlite3.rst:1387 +#: library/sqlite3.rst:1398 msgid ":class:`bytes`" msgstr ":class:`bytes`" -#: library/sqlite3.rst:1387 +#: library/sqlite3.rst:1398 msgid "``BLOB``" msgstr "``BLOB``" -#: library/sqlite3.rst:1373 +#: library/sqlite3.rst:1384 msgid "This is how SQLite types are converted to Python types by default:" msgstr "" -#: library/sqlite3.rst:1384 +#: library/sqlite3.rst:1395 msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" msgstr "" -#: library/sqlite3.rst:1390 +#: library/sqlite3.rst:1401 msgid "" "The type system of the :mod:`!sqlite3` module is extensible in two ways: you " "can store additional Python types in an SQLite database via :ref:`object " @@ -1474,42 +1519,42 @@ msgid "" "converters>`." msgstr "" -#: library/sqlite3.rst:1400 +#: library/sqlite3.rst:1411 msgid "Default adapters and converters" msgstr "" -#: library/sqlite3.rst:1402 +#: library/sqlite3.rst:1413 msgid "" "There are default adapters for the date and datetime types in the datetime " "module. They will be sent as ISO dates/ISO timestamps to SQLite." msgstr "" -#: library/sqlite3.rst:1405 +#: library/sqlite3.rst:1416 msgid "" "The default converters are registered under the name \"date\" for :class:" "`datetime.date` and under the name \"timestamp\" for :class:`datetime." "datetime`." msgstr "" -#: library/sqlite3.rst:1409 +#: library/sqlite3.rst:1420 msgid "" "This way, you can use date/timestamps from Python without any additional " "fiddling in most cases. The format of the adapters is also compatible with " "the experimental SQLite date/time functions." msgstr "" -#: library/sqlite3.rst:1413 +#: library/sqlite3.rst:1424 msgid "The following example demonstrates this." msgstr "" -#: library/sqlite3.rst:1417 +#: library/sqlite3.rst:1428 msgid "" "If a timestamp stored in SQLite has a fractional part longer than 6 numbers, " "its value will be truncated to microsecond precision by the timestamp " "converter." msgstr "" -#: library/sqlite3.rst:1423 +#: library/sqlite3.rst:1434 msgid "" "The default \"timestamp\" converter ignores UTC offsets in the database and " "always returns a naive :class:`datetime.datetime` object. To preserve UTC " @@ -1517,21 +1562,21 @@ msgid "" "offset-aware converter with :func:`register_converter`." msgstr "" -#: library/sqlite3.rst:1432 +#: library/sqlite3.rst:1443 msgid "How-to guides" msgstr "" -#: library/sqlite3.rst:1437 +#: library/sqlite3.rst:1448 msgid "How to use placeholders to bind values in SQL queries" msgstr "" -#: library/sqlite3.rst:1439 +#: library/sqlite3.rst:1450 #, fuzzy msgid "" "SQL operations usually need to use values from Python variables. However, " "beware of using Python's string operations to assemble queries, as they are " -"vulnerable to `SQL injection attacks`_ (see the `xkcd webcomic `_ for a humorous example of what can go wrong)::" +"vulnerable to `SQL injection attacks`_. For example, an attacker can simply " +"close the single quote and inject ``OR TRUE`` to select all rows::" msgstr "" "Habituellement, vos opérations SQL utilisent les valeurs de variables " "Python. Vous ne devez pas assembler votre requête à l'aide des opérations " @@ -1539,34 +1584,49 @@ msgstr "" "votre programme vulnérable à une attaque par injection SQL (voir https://" "xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner)." -#: library/sqlite3.rst:1448 +#: library/sqlite3.rst:1463 +#, fuzzy msgid "" "Instead, use the DB-API's parameter substitution. To insert a variable into " "a query string, use a placeholder in the string, and substitute the actual " "values into the query by providing them as a :class:`tuple` of values to the " -"second argument of the cursor's :meth:`~Cursor.execute` method. An SQL " -"statement may use one of two kinds of placeholders: question marks (qmark " -"style) or named placeholders (named style). For the qmark style, " -"``parameters`` must be a :term:`sequence `. For the named style, " -"it can be either a :term:`sequence ` or :class:`dict` instance. " -"The length of the :term:`sequence ` must match the number of " -"placeholders, or a :exc:`ProgrammingError` is raised. If a :class:`dict` is " -"given, it must contain keys for all named parameters. Any extra items are " -"ignored. Here's an example of both styles:" -msgstr "" - -#: library/sqlite3.rst:1490 +"second argument of the cursor's :meth:`~Cursor.execute` method." +msgstr "" +"À la place, utilisez la capacité DB-API de substitution des paramètres. " +"Placez un ``?`` comme indicateur partout où vous voulez utiliser une valeur, " +"puis fournissez un *n*-uplet de valeurs comme second argument de la méthode :" +"meth:`~Cursor.execute`. D'autres modules de base de données peuvent utiliser " +"un espace réservé différent, tel que ``%s`` ou ``:1``. Par exemple ::" + +#: library/sqlite3.rst:1468 +msgid "" +"An SQL statement may use one of two kinds of placeholders: question marks " +"(qmark style) or named placeholders (named style). For the qmark style, " +"*parameters* must be a :term:`sequence` whose length must match the number " +"of placeholders, or a :exc:`ProgrammingError` is raised. For the named " +"style, *parameters* should be an instance of a :class:`dict` (or a " +"subclass), which must contain keys for all named parameters; any extra items " +"are ignored. Here's an example of both styles:" +msgstr "" + +#: library/sqlite3.rst:1505 +msgid "" +":pep:`249` numeric placeholders are *not* supported. If used, they will be " +"interpreted as named placeholders." +msgstr "" + +#: library/sqlite3.rst:1512 msgid "How to adapt custom Python types to SQLite values" msgstr "" -#: library/sqlite3.rst:1492 +#: library/sqlite3.rst:1514 msgid "" "SQLite supports only a limited set of data types natively. To store custom " "Python types in SQLite databases, *adapt* them to one of the :ref:`Python " "types SQLite natively understands `." msgstr "" -#: library/sqlite3.rst:1496 +#: library/sqlite3.rst:1518 msgid "" "There are two ways to adapt Python objects to SQLite types: letting your " "object adapt itself, or using an *adapter callable*. The latter will take " @@ -1576,11 +1636,11 @@ msgid "" "custom adapter functions." msgstr "" -#: library/sqlite3.rst:1508 +#: library/sqlite3.rst:1530 msgid "How to write adaptable objects" msgstr "" -#: library/sqlite3.rst:1510 +#: library/sqlite3.rst:1532 msgid "" "Suppose we have a :class:`!Point` class that represents a pair of " "coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The " @@ -1590,84 +1650,84 @@ msgid "" "object passed to *protocol* will be of type :class:`PrepareProtocol`." msgstr "" -#: library/sqlite3.rst:1541 +#: library/sqlite3.rst:1563 msgid "How to register adapter callables" msgstr "" -#: library/sqlite3.rst:1543 +#: library/sqlite3.rst:1565 msgid "" "The other possibility is to create a function that converts the Python " "object to an SQLite-compatible type. This function can then be registered " "using :func:`register_adapter`." msgstr "" -#: library/sqlite3.rst:1573 +#: library/sqlite3.rst:1595 msgid "How to convert SQLite values to custom Python types" msgstr "" -#: library/sqlite3.rst:1575 +#: library/sqlite3.rst:1597 msgid "" "Writing an adapter lets you convert *from* custom Python types *to* SQLite " "values. To be able to convert *from* SQLite values *to* custom Python types, " "we use *converters*." msgstr "" -#: library/sqlite3.rst:1580 +#: library/sqlite3.rst:1602 msgid "" "Let's go back to the :class:`!Point` class. We stored the x and y " "coordinates separated via semicolons as strings in SQLite." msgstr "" -#: library/sqlite3.rst:1583 +#: library/sqlite3.rst:1605 msgid "" "First, we'll define a converter function that accepts the string as a " "parameter and constructs a :class:`!Point` object from it." msgstr "" -#: library/sqlite3.rst:1588 +#: library/sqlite3.rst:1610 msgid "" "Converter functions are **always** passed a :class:`bytes` object, no matter " "the underlying SQLite data type." msgstr "" -#: library/sqlite3.rst:1597 +#: library/sqlite3.rst:1619 msgid "" "We now need to tell :mod:`!sqlite3` when it should convert a given SQLite " "value. This is done when connecting to a database, using the *detect_types* " "parameter of :func:`connect`. There are three options:" msgstr "" -#: library/sqlite3.rst:1601 +#: library/sqlite3.rst:1623 msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" msgstr "" -#: library/sqlite3.rst:1602 +#: library/sqlite3.rst:1624 msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" msgstr "" -#: library/sqlite3.rst:1603 +#: library/sqlite3.rst:1625 msgid "" "Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3." "PARSE_COLNAMES``. Column names take precedence over declared types." msgstr "" -#: library/sqlite3.rst:1607 +#: library/sqlite3.rst:1629 msgid "The following example illustrates the implicit and explicit approaches:" msgstr "" -#: library/sqlite3.rst:1658 +#: library/sqlite3.rst:1680 msgid "Adapter and converter recipes" msgstr "" -#: library/sqlite3.rst:1660 +#: library/sqlite3.rst:1682 msgid "This section shows recipes for common adapters and converters." msgstr "" -#: library/sqlite3.rst:1703 +#: library/sqlite3.rst:1744 msgid "How to use connection shortcut methods" msgstr "" -#: library/sqlite3.rst:1705 +#: library/sqlite3.rst:1746 msgid "" "Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :" "meth:`~Connection.executescript` methods of the :class:`Connection` class, " @@ -1679,11 +1739,11 @@ msgid "" "object." msgstr "" -#: library/sqlite3.rst:1746 +#: library/sqlite3.rst:1787 msgid "How to use the connection context manager" msgstr "" -#: library/sqlite3.rst:1748 +#: library/sqlite3.rst:1789 msgid "" "A :class:`Connection` object can be used as a context manager that " "automatically commits or rolls back open transactions when leaving the body " @@ -1693,61 +1753,118 @@ msgid "" "exception, the transaction is rolled back." msgstr "" -#: library/sqlite3.rst:1757 +#: library/sqlite3.rst:1798 msgid "" "If there is no open transaction upon leaving the body of the ``with`` " "statement, the context manager is a no-op." msgstr "" -#: library/sqlite3.rst:1762 +#: library/sqlite3.rst:1803 msgid "" "The context manager neither implicitly opens a new transaction nor closes " "the connection." msgstr "" -#: library/sqlite3.rst:1795 +#: library/sqlite3.rst:1836 msgid "How to work with SQLite URIs" msgstr "" -#: library/sqlite3.rst:1797 +#: library/sqlite3.rst:1838 msgid "Some useful URI tricks include:" msgstr "" -#: library/sqlite3.rst:1799 +#: library/sqlite3.rst:1840 msgid "Open a database in read-only mode:" msgstr "" -#: library/sqlite3.rst:1808 +#: library/sqlite3.rst:1849 msgid "" "Do not implicitly create a new database file if it does not already exist; " "will raise :exc:`~sqlite3.OperationalError` if unable to create a new file:" msgstr "" -#: library/sqlite3.rst:1818 +#: library/sqlite3.rst:1859 msgid "Create a shared named in-memory database:" msgstr "" -#: library/sqlite3.rst:1832 +#: library/sqlite3.rst:1873 msgid "" "More information about this feature, including a list of parameters, can be " "found in the `SQLite URI documentation`_." msgstr "" -#: library/sqlite3.rst:1841 +#: library/sqlite3.rst:1882 +msgid "How to create and use row factories" +msgstr "" + +#: library/sqlite3.rst:1884 +msgid "" +"By default, :mod:`!sqlite3` represents each row as a :class:`tuple`. If a :" +"class:`!tuple` does not suit your needs, you can use the :class:`sqlite3." +"Row` class or a custom :attr:`~Cursor.row_factory`." +msgstr "" + +#: library/sqlite3.rst:1889 +msgid "" +"While :attr:`!row_factory` exists as an attribute both on the :class:" +"`Cursor` and the :class:`Connection`, it is recommended to set :class:" +"`Connection.row_factory`, so all cursors created from the connection will " +"use the same row factory." +msgstr "" + +#: library/sqlite3.rst:1894 +msgid "" +":class:`!Row` provides indexed and case-insensitive named access to columns, " +"with minimal memory overhead and performance impact over a :class:`!tuple`. " +"To use :class:`!Row` as a row factory, assign it to the :attr:`!row_factory` " +"attribute:" +msgstr "" + +#: library/sqlite3.rst:1904 +msgid "Queries now return :class:`!Row` objects:" +msgstr "" + +#: library/sqlite3.rst:1919 +msgid "" +"You can create a custom :attr:`~Cursor.row_factory` that returns each row as " +"a :class:`dict`, with column names mapped to values:" +msgstr "" + +#: library/sqlite3.rst:1928 +msgid "" +"Using it, queries now return a :class:`!dict` instead of a :class:`!tuple`:" +msgstr "" + +#: library/sqlite3.rst:1938 +msgid "The following row factory returns a :term:`named tuple`:" +msgstr "" + +#: library/sqlite3.rst:1949 +msgid ":func:`!namedtuple_factory` can be used as follows:" +msgstr "" + +#: library/sqlite3.rst:1964 +msgid "" +"With some adjustments, the above recipe can be adapted to use a :class:" +"`~dataclasses.dataclass`, or any other custom class, instead of a :class:" +"`~collections.namedtuple`." +msgstr "" + +#: library/sqlite3.rst:1972 msgid "Explanation" msgstr "Explication" -#: library/sqlite3.rst:1846 +#: library/sqlite3.rst:1977 msgid "Transaction control" msgstr "" -#: library/sqlite3.rst:1848 +#: library/sqlite3.rst:1979 msgid "" "The :mod:`!sqlite3` module does not adhere to the transaction handling " "recommended by :pep:`249`." msgstr "" -#: library/sqlite3.rst:1851 +#: library/sqlite3.rst:1982 msgid "" "If the connection attribute :attr:`~Connection.isolation_level` is not " "``None``, new transactions are implicitly opened before :meth:`~Cursor." @@ -1761,7 +1878,7 @@ msgid "" "attribute." msgstr "" -#: library/sqlite3.rst:1864 +#: library/sqlite3.rst:1995 msgid "" "If :attr:`~Connection.isolation_level` is set to ``None``, no transactions " "are implicitly opened at all. This leaves the underlying SQLite library in " @@ -1771,14 +1888,14 @@ msgid "" "in_transaction` attribute." msgstr "" -#: library/sqlite3.rst:1872 +#: library/sqlite3.rst:2003 msgid "" "The :meth:`~Cursor.executescript` method implicitly commits any pending " "transaction before execution of the given SQL script, regardless of the " "value of :attr:`~Connection.isolation_level`." msgstr "" -#: library/sqlite3.rst:1876 +#: library/sqlite3.rst:2007 msgid "" ":mod:`!sqlite3` used to implicitly commit an open transaction before DDL " "statements. This is no longer the case." @@ -1898,20 +2015,6 @@ msgstr "" #~ "Les données que vous avez sauvegardées sont persistantes et disponibles " #~ "dans les sessions suivantes ::" -#~ msgid "" -#~ "Instead, use the DB-API's parameter substitution. Put ``?`` as a " -#~ "placeholder wherever you want to use a value, and then provide a tuple of " -#~ "values as the second argument to the cursor's :meth:`~Cursor.execute` " -#~ "method. (Other database modules may use a different placeholder, such as " -#~ "``%s`` or ``:1``.) For example::" -#~ msgstr "" -#~ "À la place, utilisez la capacité DB-API de substitution des paramètres. " -#~ "Placez un ``?`` comme indicateur partout où vous voulez utiliser une " -#~ "valeur, puis fournissez un *n*-uplet de valeurs comme second argument de " -#~ "la méthode :meth:`~Cursor.execute`. D'autres modules de base de données " -#~ "peuvent utiliser un espace réservé différent, tel que ``%s`` ou ``:1``. " -#~ "Par exemple ::" - #~ msgid "https://github.com/ghaering/pysqlite" #~ msgstr "https://github.com/ghaering/pysqlite" diff --git a/library/ssl.po b/library/ssl.po index c68306ca25..140fae90cb 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2020-03-30 22:31+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -1304,8 +1304,8 @@ msgstr "" #: library/ssl.rst:1145 msgid "" "The :meth:`shutdown` does not reset the socket timeout each time bytes are " -"received or sent. The socket timeout is now to maximum total duration of the " -"shutdown." +"received or sent. The socket timeout is now the maximum total duration of " +"the shutdown." msgstr "" #: library/ssl.rst:1150 @@ -1353,8 +1353,8 @@ msgstr "" #: library/ssl.rst:1179 msgid "" -"The socket timeout is no more reset each time bytes are received or sent. " -"The socket timeout is now to maximum total duration to read up to *len* " +"The socket timeout is no longer reset each time bytes are received or sent. " +"The socket timeout is now the maximum total duration to read up to *len* " "bytes." msgstr "" @@ -1382,8 +1382,8 @@ msgstr "" #: library/ssl.rst:1198 msgid "" -"The socket timeout is no more reset each time bytes are received or sent. " -"The socket timeout is now to maximum total duration to write *buf*." +"The socket timeout is no longer reset each time bytes are received or sent. " +"The socket timeout is now the maximum total duration to write *buf*." msgstr "" #: library/ssl.rst:1202 @@ -1418,8 +1418,8 @@ msgstr "" #: library/ssl.rst:1226 msgid "" -"The socket timeout is no more reset each time bytes are received or sent. " -"The socket timeout is now to maximum total duration of the handshake." +"The socket timeout is no longer reset each time bytes are received or sent. " +"The socket timeout is now the maximum total duration of the handshake." msgstr "" #: library/ssl.rst:1230 @@ -1427,7 +1427,7 @@ msgid "" "Hostname or IP address is matched by OpenSSL during handshake. The function :" "func:`match_hostname` is no longer used. In case OpenSSL refuses a hostname " "or IP address, the handshake is aborted early and a TLS alert message is " -"send to the peer." +"sent to the peer." msgstr "" #: library/ssl.rst:1238 diff --git a/library/stdtypes.po b/library/stdtypes.po index 8505c6369c..cfda4ce9b6 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:33+0200\n" "Last-Translator: Loc Cosnier \n" "Language-Team: French \n" @@ -128,17 +128,17 @@ msgstr "" msgid "These are the Boolean operations, ordered by ascending priority:" msgstr "Ce sont les opérations booléennes, classées par priorité ascendante :" -#: library/stdtypes.rst:143 library/stdtypes.rst:364 library/stdtypes.rst:883 -#: library/stdtypes.rst:1088 +#: library/stdtypes.rst:143 library/stdtypes.rst:363 library/stdtypes.rst:882 +#: library/stdtypes.rst:1087 msgid "Operation" msgstr "Opération" -#: library/stdtypes.rst:275 library/stdtypes.rst:414 library/stdtypes.rst:1088 +#: library/stdtypes.rst:275 library/stdtypes.rst:413 library/stdtypes.rst:1087 msgid "Result" msgstr "Résultat" -#: library/stdtypes.rst:275 library/stdtypes.rst:883 library/stdtypes.rst:2325 -#: library/stdtypes.rst:3537 +#: library/stdtypes.rst:275 library/stdtypes.rst:882 library/stdtypes.rst:2330 +#: library/stdtypes.rst:3548 msgid "Notes" msgstr "Notes" @@ -147,11 +147,12 @@ msgid "``x or y``" msgstr "``x or y``" #: library/stdtypes.rst:87 -msgid "if *x* is false, then *y*, else *x*" -msgstr "si *x* est faux, alors *y*, sinon *x*" +#, fuzzy +msgid "if *x* is true, then *x*, else *y*" +msgstr "si *x* est faux, alors *x*, sinon *y*" -#: library/stdtypes.rst:285 library/stdtypes.rst:888 library/stdtypes.rst:2331 -#: library/stdtypes.rst:3543 +#: library/stdtypes.rst:285 library/stdtypes.rst:887 library/stdtypes.rst:2336 +#: library/stdtypes.rst:3554 msgid "\\(1)" msgstr "\\(1)" @@ -163,8 +164,8 @@ msgstr "``x and y``" msgid "if *x* is false, then *x*, else *y*" msgstr "si *x* est faux, alors *x*, sinon *y*" -#: library/stdtypes.rst:288 library/stdtypes.rst:1127 library/stdtypes.rst:2337 -#: library/stdtypes.rst:3549 +#: library/stdtypes.rst:288 library/stdtypes.rst:1126 library/stdtypes.rst:2342 +#: library/stdtypes.rst:3560 msgid "\\(2)" msgstr "\\(2)" @@ -176,14 +177,14 @@ msgstr "``not x``" msgid "if *x* is false, then ``True``, else ``False``" msgstr "si *x* est faux, alors ``True``, sinon ``False``" -#: library/stdtypes.rst:897 library/stdtypes.rst:2339 library/stdtypes.rst:2343 -#: library/stdtypes.rst:3551 library/stdtypes.rst:3555 -#: library/stdtypes.rst:3557 +#: library/stdtypes.rst:896 library/stdtypes.rst:2344 library/stdtypes.rst:2348 +#: library/stdtypes.rst:3562 library/stdtypes.rst:3566 +#: library/stdtypes.rst:3568 msgid "\\(3)" msgstr "\\(3)" -#: library/stdtypes.rst:319 library/stdtypes.rst:934 library/stdtypes.rst:2371 -#: library/stdtypes.rst:3587 +#: library/stdtypes.rst:319 library/stdtypes.rst:933 library/stdtypes.rst:2376 +#: library/stdtypes.rst:3598 msgid "Notes:" msgstr "Notes :" @@ -235,8 +236,8 @@ msgstr "" msgid "This table summarizes the comparison operations:" msgstr "Ce tableau résume les opérations de comparaison :" -#: library/stdtypes.rst:2302 library/stdtypes.rst:3514 -#: library/stdtypes.rst:3537 +#: library/stdtypes.rst:2307 library/stdtypes.rst:3525 +#: library/stdtypes.rst:3548 msgid "Meaning" msgstr "Signification" @@ -576,7 +577,7 @@ msgstr "" "un nombre complexe avec *re* pour partie réelle et *im* pour partie " "imaginaire. *im* vaut zéro par défaut." -#: library/stdtypes.rst:1120 library/stdtypes.rst:3574 +#: library/stdtypes.rst:1119 library/stdtypes.rst:3585 msgid "\\(6)" msgstr "\\(6)" @@ -612,8 +613,8 @@ msgstr "``pow(x, y)``" msgid "*x* to the power *y*" msgstr "*x* à la puissance *y*" -#: library/stdtypes.rst:312 library/stdtypes.rst:1112 library/stdtypes.rst:2361 -#: library/stdtypes.rst:3570 library/stdtypes.rst:3577 +#: library/stdtypes.rst:312 library/stdtypes.rst:1111 library/stdtypes.rst:2366 +#: library/stdtypes.rst:3581 library/stdtypes.rst:3588 msgid "\\(5)" msgstr "\\(5)" @@ -646,17 +647,18 @@ msgstr "" "Pas pour les nombres complexes. Convertissez-les plutôt en nombres flottants " "à l'aide de :func:`abs` si c'est approprié." -#: library/stdtypes.rst:340 +#: library/stdtypes.rst:339 +#, fuzzy msgid "" -"Conversion from floating point to integer may round or truncate as in C; see " -"functions :func:`math.floor` and :func:`math.ceil` for well-defined " -"conversions." +"Conversion from :class:`float` to :class:`int` truncates, discarding the " +"fractional part. See functions :func:`math.floor` and :func:`math.ceil` for " +"alternative conversions." msgstr "" "La conversion de virgule flottante en entier peut arrondir ou tronquer comme " "en C ; voir les fonctions :func:`math.floor` et :func:`math.ceil` pour des " "conversions bien définies." -#: library/stdtypes.rst:345 +#: library/stdtypes.rst:344 msgid "" "float also accepts the strings \"nan\" and \"inf\" with an optional prefix " "\"+\" or \"-\" for Not a Number (NaN) and positive or negative infinity." @@ -664,7 +666,7 @@ msgstr "" "*float* accepte aussi les chaînes *nan* et *inf* avec un préfixe optionnel " "``+`` ou ``-`` pour *Not a Number* (*NaN*) et les infinis positif ou négatif." -#: library/stdtypes.rst:349 +#: library/stdtypes.rst:348 msgid "" "Python defines ``pow(0, 0)`` and ``0 ** 0`` to be ``1``, as is common for " "programming languages." @@ -672,7 +674,7 @@ msgstr "" "Python définit ``pow(0, 0)`` et ``0 ** 0`` valant ``1``, puisque c'est " "courant pour les langages de programmation, et logique." -#: library/stdtypes.rst:353 +#: library/stdtypes.rst:352 msgid "" "The numeric literals accepted include the digits ``0`` to ``9`` or any " "Unicode equivalent (code points with the ``Nd`` property)." @@ -680,7 +682,7 @@ msgstr "" "Les littéraux numériques acceptés comprennent les chiffres ``0`` à ``9`` ou " "tout équivalent Unicode (caractères avec la propriété ``Nd``)." -#: library/stdtypes.rst:356 +#: library/stdtypes.rst:355 msgid "" "See https://www.unicode.org/Public/13.0.0/ucd/extracted/DerivedNumericType." "txt for a complete list of code points with the ``Nd`` property." @@ -688,7 +690,7 @@ msgstr "" "Voir https://www.unicode.org/Public/13.0.0/ucd/extracted/DerivedNumericType." "txt pour une liste complète des caractères avec la propriété ``Nd``." -#: library/stdtypes.rst:360 +#: library/stdtypes.rst:359 msgid "" "All :class:`numbers.Real` types (:class:`int` and :class:`float`) also " "include the following operations:" @@ -696,19 +698,19 @@ msgstr "" "Tous types :class:`numbers.Real` (:class:`int` et :class:`float`) " "comprennent également les opérations suivantes :" -#: library/stdtypes.rst:366 +#: library/stdtypes.rst:365 msgid ":func:`math.trunc(\\ x) `" msgstr ":func:`math.trunc(\\ x) `" -#: library/stdtypes.rst:366 +#: library/stdtypes.rst:365 msgid "*x* truncated to :class:`~numbers.Integral`" msgstr "*x* tronqué à l':class:`~numbers.Integral`" -#: library/stdtypes.rst:369 +#: library/stdtypes.rst:368 msgid ":func:`round(x[, n]) `" msgstr ":func:`round(x[, n]) `" -#: library/stdtypes.rst:369 +#: library/stdtypes.rst:368 msgid "" "*x* rounded to *n* digits, rounding half to even. If *n* is omitted, it " "defaults to 0." @@ -716,23 +718,23 @@ msgstr "" "*x* arrondi à *n* chiffres, arrondissant la moitié au pair. Si *n* est omis, " "la valeur par défaut à 0." -#: library/stdtypes.rst:373 +#: library/stdtypes.rst:372 msgid ":func:`math.floor(\\ x) `" msgstr ":func:`math.floor(\\ x) `" -#: library/stdtypes.rst:373 +#: library/stdtypes.rst:372 msgid "the greatest :class:`~numbers.Integral` <= *x*" msgstr "le plus grand :class:`~numbers.Integral` <= *x*" -#: library/stdtypes.rst:376 +#: library/stdtypes.rst:375 msgid ":func:`math.ceil(x) `" msgstr ":func:`math.ceil(x) `" -#: library/stdtypes.rst:376 +#: library/stdtypes.rst:375 msgid "the least :class:`~numbers.Integral` >= *x*" msgstr "le plus petit :class:`~numbers.Integral` >= *x*" -#: library/stdtypes.rst:380 +#: library/stdtypes.rst:379 msgid "" "For additional numeric operations see the :mod:`math` and :mod:`cmath` " "modules." @@ -740,11 +742,11 @@ msgstr "" "Pour d'autres opérations numériques voir les modules :mod:`math` et :mod:" "`cmath`." -#: library/stdtypes.rst:389 +#: library/stdtypes.rst:388 msgid "Bitwise Operations on Integer Types" msgstr "Opérations sur les bits des nombres entiers" -#: library/stdtypes.rst:403 +#: library/stdtypes.rst:402 msgid "" "Bitwise operations only make sense for integers. The result of bitwise " "operations is calculated as though carried out in two's complement with an " @@ -754,7 +756,7 @@ msgstr "" "résultat d'une opération bit à bit est calculé comme si elle était effectuée " "en complément à deux avec un nombre infini de bits de signe." -#: library/stdtypes.rst:407 +#: library/stdtypes.rst:406 msgid "" "The priorities of the binary bitwise operations are all lower than the " "numeric operations and higher than the comparisons; the unary operation " @@ -766,81 +768,81 @@ msgstr "" "l'opération unaire ``~`` a la même priorité que les autres opérations " "numériques unaires (``+`` et ``-``)." -#: library/stdtypes.rst:411 +#: library/stdtypes.rst:410 msgid "This table lists the bitwise operations sorted in ascending priority:" msgstr "" "Ce tableau répertorie les opérations binaires triées par priorité " "ascendante :" -#: library/stdtypes.rst:416 +#: library/stdtypes.rst:415 msgid "``x | y``" msgstr "``x | y``" -#: library/stdtypes.rst:416 +#: library/stdtypes.rst:415 msgid "bitwise :dfn:`or` of *x* and *y*" msgstr ":dfn:`ou ` binaire de *x* et *y*" -#: library/stdtypes.rst:419 library/stdtypes.rst:1133 library/stdtypes.rst:2351 -#: library/stdtypes.rst:3563 +#: library/stdtypes.rst:418 library/stdtypes.rst:1132 library/stdtypes.rst:2356 +#: library/stdtypes.rst:3574 msgid "\\(4)" msgstr "\\(4)" -#: library/stdtypes.rst:419 +#: library/stdtypes.rst:418 msgid "``x ^ y``" msgstr "``x ^ y``" -#: library/stdtypes.rst:419 +#: library/stdtypes.rst:418 msgid "bitwise :dfn:`exclusive or` of *x* and *y*" msgstr ":dfn:`ou ` exclusive binaire de *x* et *y*" -#: library/stdtypes.rst:422 +#: library/stdtypes.rst:421 msgid "``x & y``" msgstr "``x & y``" -#: library/stdtypes.rst:422 +#: library/stdtypes.rst:421 msgid "bitwise :dfn:`and` of *x* and *y*" msgstr ":dfn:`et binaire ` de *x* et *y*" -#: library/stdtypes.rst:425 +#: library/stdtypes.rst:424 msgid "``x << n``" msgstr "``x << n``" -#: library/stdtypes.rst:425 +#: library/stdtypes.rst:424 msgid "*x* shifted left by *n* bits" msgstr "*x* décalé vers la gauche de *n* bits" -#: library/stdtypes.rst:425 +#: library/stdtypes.rst:424 msgid "(1)(2)" msgstr "(1)(2)" -#: library/stdtypes.rst:427 +#: library/stdtypes.rst:426 msgid "``x >> n``" msgstr "``x >> n``" -#: library/stdtypes.rst:427 +#: library/stdtypes.rst:426 msgid "*x* shifted right by *n* bits" msgstr "*x* décalé vers la droite de *n* bits" -#: library/stdtypes.rst:427 +#: library/stdtypes.rst:426 msgid "(1)(3)" msgstr "(1)(3)" -#: library/stdtypes.rst:429 +#: library/stdtypes.rst:428 msgid "``~x``" msgstr "``~x``" -#: library/stdtypes.rst:429 +#: library/stdtypes.rst:428 msgid "the bits of *x* inverted" msgstr "les bits de *x*, inversés" -#: library/stdtypes.rst:435 +#: library/stdtypes.rst:434 msgid "" "Negative shift counts are illegal and cause a :exc:`ValueError` to be raised." msgstr "" "Des valeurs de décalage négatives sont illégales et provoquent une " "exception :exc:`ValueError`." -#: library/stdtypes.rst:438 +#: library/stdtypes.rst:437 #, fuzzy msgid "" "A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)``." @@ -848,7 +850,7 @@ msgstr "" "Un décalage à gauche de *n* bits est équivalent à la multiplication par " "``pow(2, n)``." -#: library/stdtypes.rst:441 +#: library/stdtypes.rst:440 #, fuzzy msgid "" "A right shift by *n* bits is equivalent to floor division by ``pow(2, n)``." @@ -856,7 +858,7 @@ msgstr "" "Un décalage à droite de *n* les bits est équivalent à la division par " "``pow(2, n)``." -#: library/stdtypes.rst:444 +#: library/stdtypes.rst:443 msgid "" "Performing these calculations with at least one extra sign extension bit in " "a finite two's complement representation (a working bit-width of ``1 + max(x." @@ -869,11 +871,11 @@ msgstr "" "bit_length()`` ou plus) est suffisante pour obtenir le même résultat que " "s'il y avait un nombre infini de bits de signe." -#: library/stdtypes.rst:451 +#: library/stdtypes.rst:450 msgid "Additional Methods on Integer Types" msgstr "Méthodes supplémentaires sur les entiers" -#: library/stdtypes.rst:453 +#: library/stdtypes.rst:452 msgid "" "The int type implements the :class:`numbers.Integral` :term:`abstract base " "class`. In addition, it provides a few more methods:" @@ -882,7 +884,7 @@ msgstr "" "class>` :class:`numbers.Integral`. Il fournit aussi quelques autres " "méthodes :" -#: library/stdtypes.rst:458 +#: library/stdtypes.rst:457 msgid "" "Return the number of bits necessary to represent an integer in binary, " "excluding the sign and leading zeros::" @@ -890,7 +892,7 @@ msgstr "" "Renvoie le nombre de bits nécessaires pour représenter un nombre entier en " "binaire, à l'exclusion du signe et des zéros non significatifs ::" -#: library/stdtypes.rst:467 +#: library/stdtypes.rst:466 msgid "" "More precisely, if ``x`` is nonzero, then ``x.bit_length()`` is the unique " "positive integer ``k`` such that ``2**(k-1) <= abs(x) < 2**k``. " @@ -904,21 +906,21 @@ msgstr "" "correctement arrondi, ``k = 1 + int(log(abs(x), 2))``. Si ``x`` est nul, " "alors ``x.bit_length()`` donne ``0``." -#: library/stdtypes.rst:496 +#: library/stdtypes.rst:495 msgid "Equivalent to::" msgstr "Équivalent à ::" -#: library/stdtypes.rst:484 +#: library/stdtypes.rst:483 msgid "" "Return the number of ones in the binary representation of the absolute value " "of the integer. This is also known as the population count. Example::" msgstr "" -#: library/stdtypes.rst:505 +#: library/stdtypes.rst:504 msgid "Return an array of bytes representing an integer." msgstr "Renvoie un tableau d'octets représentant un nombre entier." -#: library/stdtypes.rst:517 +#: library/stdtypes.rst:516 msgid "" "The integer is represented using *length* bytes. An :exc:`OverflowError` is " "raised if the integer is not representable with the given number of bytes." @@ -927,7 +929,7 @@ msgstr "" "`OverflowError` est levée s'il n'est pas possible de représenter l'entier " "avec le nombre d'octets donnés." -#: library/stdtypes.rst:553 +#: library/stdtypes.rst:552 msgid "" "The *byteorder* argument determines the byte order used to represent the " "integer. If *byteorder* is ``\"big\"``, the most significant byte is at the " @@ -943,7 +945,7 @@ msgstr "" "d'octets. Pour demander l'ordre natif des octets du système hôte, donnez :" "data:`sys.byteorder` comme *byteorder*." -#: library/stdtypes.rst:528 +#: library/stdtypes.rst:527 msgid "" "The *signed* argument determines whether two's complement is used to " "represent the integer. If *signed* is ``False`` and a negative integer is " @@ -955,11 +957,11 @@ msgstr "" "négatif est donné, une exception :exc:`OverflowError` est levée. La valeur " "par défaut pour *signed* est ``False``." -#: library/stdtypes.rst:537 +#: library/stdtypes.rst:536 msgid "Return the integer represented by the given array of bytes." msgstr "Renvoie le nombre entier représenté par le tableau d'octets fourni." -#: library/stdtypes.rst:550 +#: library/stdtypes.rst:549 msgid "" "The argument *bytes* must either be a :term:`bytes-like object` or an " "iterable producing bytes." @@ -967,7 +969,7 @@ msgstr "" "L'argument *bytes* doit être soit un :term:`bytes-like object` soit un " "itérable produisant des *bytes*." -#: library/stdtypes.rst:560 +#: library/stdtypes.rst:559 msgid "" "The *signed* argument indicates whether two's complement is used to " "represent the integer." @@ -975,7 +977,7 @@ msgstr "" "L'argument *signed* indique si le complément à deux est utilisé pour " "représenter le nombre entier." -#: library/stdtypes.rst:567 +#: library/stdtypes.rst:566 msgid "" "Return a pair of integers whose ratio is exactly equal to the original " "integer and with a positive denominator. The integer ratio of integers " @@ -987,11 +989,11 @@ msgstr "" "entier (tous les nombres entiers) est cet entier au numérateur et ``1`` " "comme dénominateur." -#: library/stdtypes.rst:575 +#: library/stdtypes.rst:574 msgid "Additional Methods on Float" msgstr "Méthodes supplémentaires sur les nombres à virgule flottante" -#: library/stdtypes.rst:577 +#: library/stdtypes.rst:576 msgid "" "The float type implements the :class:`numbers.Real` :term:`abstract base " "class`. float also has the following additional methods." @@ -999,7 +1001,7 @@ msgstr "" "Le type *float* implémente la :term:`classe de base abstraite ` :class:`numbers.Real` et a également les méthodes suivantes." -#: library/stdtypes.rst:582 +#: library/stdtypes.rst:581 msgid "" "Return a pair of integers whose ratio is exactly equal to the original float " "and with a positive denominator. Raises :exc:`OverflowError` on infinities " @@ -1009,7 +1011,7 @@ msgstr "" "nombre d'origine et avec un dénominateur positif. Lève :exc:`OverflowError` " "avec un infini et :exc:`ValueError` avec un NaN." -#: library/stdtypes.rst:589 +#: library/stdtypes.rst:588 msgid "" "Return ``True`` if the float instance is finite with integral value, and " "``False`` otherwise::" @@ -1017,7 +1019,7 @@ msgstr "" "Renvoie ``True`` si l'instance de *float* est finie avec une valeur entière, " "et ``False`` autrement ::" -#: library/stdtypes.rst:597 +#: library/stdtypes.rst:596 msgid "" "Two methods support conversion to and from hexadecimal strings. Since " "Python's floats are stored internally as binary numbers, converting a float " @@ -1034,7 +1036,7 @@ msgstr "" "nombres à virgule flottante. Cela peut être utile lors du débogage, et dans " "un travail numérique." -#: library/stdtypes.rst:608 +#: library/stdtypes.rst:607 msgid "" "Return a representation of a floating-point number as a hexadecimal string. " "For finite floating-point numbers, this representation will always include a " @@ -1045,7 +1047,7 @@ msgstr "" "représentation comprendra toujours un préfixe ``0x``, un suffixe ``p``, et " "un exposant." -#: library/stdtypes.rst:616 +#: library/stdtypes.rst:615 msgid "" "Class method to return the float represented by a hexadecimal string *s*. " "The string *s* may have leading and trailing whitespace." @@ -1054,7 +1056,7 @@ msgstr "" "caractères hexadécimale *s*. La chaîne *s* peut contenir des espaces avant " "et après le chiffre." -#: library/stdtypes.rst:621 +#: library/stdtypes.rst:620 msgid "" "Note that :meth:`float.hex` is an instance method, while :meth:`float." "fromhex` is a class method." @@ -1062,11 +1064,11 @@ msgstr "" "Notez que :meth:`float.hex` est une méthode d'instance, alors que :meth:" "`float.fromhex` est une méthode de classe." -#: library/stdtypes.rst:624 +#: library/stdtypes.rst:623 msgid "A hexadecimal string takes the form::" msgstr "Une chaîne hexadécimale prend la forme ::" -#: library/stdtypes.rst:628 +#: library/stdtypes.rst:627 msgid "" "where the optional ``sign`` may by either ``+`` or ``-``, ``integer`` and " "``fraction`` are strings of hexadecimal digits, and ``exponent`` is a " @@ -1090,7 +1092,7 @@ msgstr "" "chaînes hexadécimales produites en C via un format ``%a`` ou Java via " "``Double.toHexString`` sont acceptées par :meth:`float.fromhex`." -#: library/stdtypes.rst:641 +#: library/stdtypes.rst:640 msgid "" "Note that the exponent is written in decimal rather than hexadecimal, and " "that it gives the power of 2 by which to multiply the coefficient. For " @@ -1102,7 +1104,7 @@ msgstr "" "la chaîne hexadécimale ``0x3.a7p10`` représente le nombre à virgule " "flottante ``(3 + 10./16 + 7./16**2) *2.0**10``, ou ``3740.0`` ::" -#: library/stdtypes.rst:651 +#: library/stdtypes.rst:650 msgid "" "Applying the reverse conversion to ``3740.0`` gives a different hexadecimal " "string representing the same number::" @@ -1110,11 +1112,11 @@ msgstr "" "L'application de la conversion inverse à ``3740.0`` donne une chaîne " "hexadécimale différente représentant le même nombre ::" -#: library/stdtypes.rst:661 +#: library/stdtypes.rst:660 msgid "Hashing of numeric types" msgstr "Hachage des types numériques" -#: library/stdtypes.rst:663 +#: library/stdtypes.rst:662 #, fuzzy msgid "" "For numbers ``x`` and ``y``, possibly of different types, it's a requirement " @@ -1143,7 +1145,7 @@ msgstr "" "réduction modulo ``P`` pour un nombre ``P`` premier fixe. La valeur de ``P`` " "est disponible comme attribut :attr:`modulus` de :data:`sys.hash_info`." -#: library/stdtypes.rst:678 +#: library/stdtypes.rst:677 msgid "" "Currently, the prime used is ``P = 2**31 - 1`` on machines with 32-bit C " "longs and ``P = 2**61 - 1`` on machines with 64-bit C longs." @@ -1152,11 +1154,11 @@ msgstr "" "dont les *longs* en C sont de 32 bits ``P = 2 ** 61 - 1`` sur des machines " "dont les *longs* en C font 64 bits." -#: library/stdtypes.rst:681 +#: library/stdtypes.rst:680 msgid "Here are the rules in detail:" msgstr "Voici les règles en détail :" -#: library/stdtypes.rst:683 +#: library/stdtypes.rst:682 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is not divisible " "by ``P``, define ``hash(x)`` as ``m * invmod(n, P) % P``, where ``invmod(n, " @@ -1166,7 +1168,7 @@ msgstr "" "divisible par ``P``, définir ``hash(x)`` comme ``m * invmod(n, P) % P``, où " "``invmod(n, P)`` donne l'inverse de ``n`` modulo ``P``." -#: library/stdtypes.rst:687 +#: library/stdtypes.rst:686 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is divisible by " "``P`` (but ``m`` is not) then ``n`` has no inverse modulo ``P`` and the rule " @@ -1178,7 +1180,7 @@ msgstr "" "``P`` et la règle ci-dessus n'est pas applicable ; dans ce cas définir " "``hash(x)`` comme étant la valeur de la constante ``sys.hash_info.inf``." -#: library/stdtypes.rst:692 +#: library/stdtypes.rst:691 msgid "" "If ``x = m / n`` is a negative rational number define ``hash(x)`` as ``-" "hash(-x)``. If the resulting hash is ``-1``, replace it with ``-2``." @@ -1186,7 +1188,7 @@ msgstr "" "Si ``x = m / n`` est un nombre rationnel négatif définir ``hash(x)`` comme " "``-hash(-x)``. Si le résultat est ``-1``, le remplacer par ``-2``." -#: library/stdtypes.rst:696 +#: library/stdtypes.rst:695 #, fuzzy msgid "" "The particular values ``sys.hash_info.inf`` and ``-sys.hash_info.inf`` are " @@ -1198,7 +1200,7 @@ msgstr "" "positif, l'infini négatif, ou *nans* (respectivement). (Tous les *nans* " "hachables ont la même valeur de hachage.)" -#: library/stdtypes.rst:700 +#: library/stdtypes.rst:699 msgid "" "For a :class:`complex` number ``z``, the hash values of the real and " "imaginary parts are combined by computing ``hash(z.real) + sys.hash_info." @@ -1213,7 +1215,7 @@ msgstr "" "2**(sys.hash_info.width - 1))``. Encore une fois, si le résultat est ``-1``, " "il est remplacé par ``-2``." -#: library/stdtypes.rst:708 +#: library/stdtypes.rst:707 msgid "" "To clarify the above rules, here's some example Python code, equivalent to " "the built-in hash, for computing the hash of a rational number, :class:" @@ -1223,11 +1225,11 @@ msgstr "" "Python, équivalent à la fonction de hachage native, pour calculer le hachage " "d'un nombre rationnel, d'un :class:`float`, ou d'un :class:`complex` ::" -#: library/stdtypes.rst:763 +#: library/stdtypes.rst:762 msgid "Iterator Types" msgstr "Les types itérateurs" -#: library/stdtypes.rst:771 +#: library/stdtypes.rst:770 msgid "" "Python supports a concept of iteration over containers. This is implemented " "using two distinct methods; these are used to allow user-defined classes to " @@ -1239,7 +1241,7 @@ msgstr "" "par l'utilisateur de devenir itérables. Les séquences, décrites plus bas en " "détail, supportent toujours les méthodes d'itération." -#: library/stdtypes.rst:776 +#: library/stdtypes.rst:775 msgid "" "One method needs to be defined for container objects to provide :term:" "`iterable` support:" @@ -1247,7 +1249,7 @@ msgstr "" "Une méthode doit être définie afin que les objets conteneurs prennent en " "charge :term:`l’itération` :" -#: library/stdtypes.rst:783 +#: library/stdtypes.rst:782 #, fuzzy msgid "" "Return an :term:`iterator` object. The object is required to support the " @@ -1268,7 +1270,7 @@ msgstr "" "correspond à l'attribut :c:member:`~PyTypeObject.tp_iter` de la structure du " "type des objets Python dans l'API Python/C." -#: library/stdtypes.rst:792 +#: library/stdtypes.rst:791 msgid "" "The iterator objects themselves are required to support the following two " "methods, which together form the :dfn:`iterator protocol`:" @@ -1276,7 +1278,7 @@ msgstr "" "Les itérateurs eux-mêmes doivent implémenter les deux méthodes suivantes, " "qui forment ensemble le :dfn:`protocole d'itérateur ` :" -#: library/stdtypes.rst:798 +#: library/stdtypes.rst:797 msgid "" "Return the :term:`iterator` object itself. This is required to allow both " "containers and iterators to be used with the :keyword:`for` and :keyword:" @@ -1289,7 +1291,7 @@ msgstr "" "correspond à l'attribut :c:member:`~PyTypeObject.tp_iter` de la structure " "des types des objets Python dans l'API Python/C." -#: library/stdtypes.rst:807 +#: library/stdtypes.rst:806 msgid "" "Return the next item from the :term:`iterator`. If there are no further " "items, raise the :exc:`StopIteration` exception. This method corresponds to " @@ -1301,7 +1303,7 @@ msgstr "" "méthode correspond à l'attribut :c:member:`~PyTypeObject.tp_iternext` de la " "structure du type des objets Python dans l'API Python/C." -#: library/stdtypes.rst:812 +#: library/stdtypes.rst:811 msgid "" "Python defines several iterator objects to support iteration over general " "and specific sequence types, dictionaries, and other more specialized " @@ -1313,7 +1315,7 @@ msgstr "" "plus spécialisées. Les types spécifiques ne sont pas importants au-delà de " "leur implémentation du protocole d'itération." -#: library/stdtypes.rst:817 +#: library/stdtypes.rst:816 msgid "" "Once an iterator's :meth:`~iterator.__next__` method raises :exc:" "`StopIteration`, it must continue to do so on subsequent calls. " @@ -1324,11 +1326,11 @@ msgstr "" "Implémentations qui ne respectent pas cette propriété sont considérées " "cassées." -#: library/stdtypes.rst:825 +#: library/stdtypes.rst:824 msgid "Generator Types" msgstr "Types générateurs" -#: library/stdtypes.rst:827 +#: library/stdtypes.rst:826 msgid "" "Python's :term:`generator`\\s provide a convenient way to implement the " "iterator protocol. If a container object's :meth:`__iter__` method is " @@ -1345,11 +1347,11 @@ msgstr "" "générateurs peuvent être trouvés dans :ref:`la documentation de l'expression " "yield `." -#: library/stdtypes.rst:839 +#: library/stdtypes.rst:838 msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" msgstr "Types séquentiels — :class:`list`, :class:`tuple`, :class:`range`" -#: library/stdtypes.rst:841 +#: library/stdtypes.rst:840 msgid "" "There are three basic sequence types: lists, tuples, and range objects. " "Additional sequence types tailored for processing of :ref:`binary data " @@ -1362,11 +1364,11 @@ msgstr "" "` et :ref:`chaînes de caractères ` sont décrits dans des " "sections dédiées." -#: library/stdtypes.rst:850 +#: library/stdtypes.rst:849 msgid "Common Sequence Operations" msgstr "Opérations communes sur les séquences" -#: library/stdtypes.rst:854 +#: library/stdtypes.rst:853 msgid "" "The operations in the following table are supported by most sequence types, " "both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " @@ -1378,7 +1380,7 @@ msgstr "" "class:`collections.abc.Sequence` est fournie pour aider à implémenter " "correctement ces opérations sur les types séquentiels personnalisés." -#: library/stdtypes.rst:859 +#: library/stdtypes.rst:858 msgid "" "This table lists the sequence operations sorted in ascending priority. In " "the table, *s* and *t* are sequences of the same type, *n*, *i*, *j* and *k* " @@ -1390,7 +1392,7 @@ msgstr "" "*n*, *i*, *j* et *k* sont des nombres entiers et *x* est un objet arbitraire " "qui répond à toutes les restrictions de type et de valeur imposée par *s*." -#: library/stdtypes.rst:864 +#: library/stdtypes.rst:863 msgid "" "The ``in`` and ``not in`` operations have the same priorities as the " "comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " @@ -1402,107 +1404,107 @@ msgstr "" "(répétition) ont la même priorité que les opérations numériques " "correspondantes. [3]_" -#: library/stdtypes.rst:885 +#: library/stdtypes.rst:884 msgid "``x in s``" msgstr "``x in s``" -#: library/stdtypes.rst:885 +#: library/stdtypes.rst:884 msgid "``True`` if an item of *s* is equal to *x*, else ``False``" msgstr "``True`` si un élément de *s* est égal à *x*, sinon ``False``" -#: library/stdtypes.rst:888 +#: library/stdtypes.rst:887 msgid "``x not in s``" msgstr "``x not in s``" -#: library/stdtypes.rst:888 +#: library/stdtypes.rst:887 msgid "``False`` if an item of *s* is equal to *x*, else ``True``" msgstr "``False`` si un élément de *s* est égal à *x*, sinon ``True``" -#: library/stdtypes.rst:891 +#: library/stdtypes.rst:890 msgid "``s + t``" msgstr "``s + t``" -#: library/stdtypes.rst:891 +#: library/stdtypes.rst:890 msgid "the concatenation of *s* and *t*" msgstr "la concaténation de *s* et *t*" -#: library/stdtypes.rst:891 +#: library/stdtypes.rst:890 msgid "(6)(7)" msgstr "(6)(7)" -#: library/stdtypes.rst:894 +#: library/stdtypes.rst:893 msgid "``s * n`` or ``n * s``" msgstr "``s * n`` or ``n * s``" -#: library/stdtypes.rst:894 +#: library/stdtypes.rst:893 msgid "equivalent to adding *s* to itself *n* times" msgstr "équivalent à ajouter *s* *n* fois à lui même" -#: library/stdtypes.rst:894 +#: library/stdtypes.rst:893 msgid "(2)(7)" msgstr "(2)(7)" -#: library/stdtypes.rst:897 +#: library/stdtypes.rst:896 msgid "``s[i]``" msgstr "``s[i]``" -#: library/stdtypes.rst:897 +#: library/stdtypes.rst:896 msgid "*i*\\ th item of *s*, origin 0" msgstr "*i*\\ :sup:`e` élément de *s* en commençant par 0" -#: library/stdtypes.rst:899 +#: library/stdtypes.rst:898 msgid "``s[i:j]``" msgstr "``s[i:j]``" -#: library/stdtypes.rst:899 +#: library/stdtypes.rst:898 msgid "slice of *s* from *i* to *j*" msgstr "tranche (*slice*) de *s* de *i* à *j*" -#: library/stdtypes.rst:899 +#: library/stdtypes.rst:898 msgid "(3)(4)" msgstr "(3)(4)" -#: library/stdtypes.rst:901 +#: library/stdtypes.rst:900 msgid "``s[i:j:k]``" msgstr "``s[i:j:k]``" -#: library/stdtypes.rst:901 +#: library/stdtypes.rst:900 msgid "slice of *s* from *i* to *j* with step *k*" msgstr "tranche (*slice*) de *s* de *i* à *j* avec un pas de *k*" -#: library/stdtypes.rst:901 +#: library/stdtypes.rst:900 msgid "(3)(5)" msgstr "(3)(5)" -#: library/stdtypes.rst:904 +#: library/stdtypes.rst:903 msgid "``len(s)``" msgstr "``len(s)``" -#: library/stdtypes.rst:904 +#: library/stdtypes.rst:903 msgid "length of *s*" msgstr "longueur de *s*" -#: library/stdtypes.rst:906 +#: library/stdtypes.rst:905 msgid "``min(s)``" msgstr "``min(s)``" -#: library/stdtypes.rst:906 +#: library/stdtypes.rst:905 msgid "smallest item of *s*" msgstr "plus petit élément de *s*" -#: library/stdtypes.rst:908 +#: library/stdtypes.rst:907 msgid "``max(s)``" msgstr "``max(s)``" -#: library/stdtypes.rst:908 +#: library/stdtypes.rst:907 msgid "largest item of *s*" msgstr "plus grand élément de *s*" -#: library/stdtypes.rst:910 +#: library/stdtypes.rst:909 msgid "``s.index(x[, i[, j]])``" msgstr "``s.index(x[, i[, j]])``" -#: library/stdtypes.rst:910 +#: library/stdtypes.rst:909 msgid "" "index of the first occurrence of *x* in *s* (at or after index *i* and " "before index *j*)" @@ -1510,19 +1512,19 @@ msgstr "" "indice de la première occurrence de *x* dans *s* (à ou après l'indice *i* et " "avant indice *j*)" -#: library/stdtypes.rst:3545 +#: library/stdtypes.rst:3556 msgid "\\(8)" msgstr "\\(8)" -#: library/stdtypes.rst:914 +#: library/stdtypes.rst:913 msgid "``s.count(x)``" msgstr "``s.count(x)``" -#: library/stdtypes.rst:914 +#: library/stdtypes.rst:913 msgid "total number of occurrences of *x* in *s*" msgstr "nombre total d'occurrences de *x* dans *s*" -#: library/stdtypes.rst:918 +#: library/stdtypes.rst:917 msgid "" "Sequences of the same type also support comparisons. In particular, tuples " "and lists are compared lexicographically by comparing corresponding " @@ -1538,7 +1540,7 @@ msgstr "" "longueur. (Pour plus de détails voir :ref:`comparisons` dans la référence du " "langage.)" -#: library/stdtypes.rst:928 +#: library/stdtypes.rst:927 msgid "" "Forward and reversed iterators over mutable sequences access values using an " "index. That index will continue to march forward (or backward) even if the " @@ -1547,7 +1549,7 @@ msgid "" "drops below zero)." msgstr "" -#: library/stdtypes.rst:937 +#: library/stdtypes.rst:936 msgid "" "While the ``in`` and ``not in`` operations are used only for simple " "containment testing in the general case, some specialised sequences (such " @@ -1559,7 +1561,7 @@ msgstr "" "spécialisées (telles que :class:`str`, :class:`bytes` et :class:`bytearray`) " "les utilisent aussi pour tester l'existence de sous-séquences ::" -#: library/stdtypes.rst:946 +#: library/stdtypes.rst:945 msgid "" "Values of *n* less than ``0`` are treated as ``0`` (which yields an empty " "sequence of the same type as *s*). Note that items in the sequence *s* are " @@ -1571,7 +1573,7 @@ msgstr "" "ne sont pas copiés ; ils sont référencés plusieurs fois. Cela hante souvent " "de nouveaux développeurs Python, typiquement ::" -#: library/stdtypes.rst:958 +#: library/stdtypes.rst:957 msgid "" "What has happened is that ``[[]]`` is a one-element list containing an empty " "list, so all three elements of ``[[]] * 3`` are references to this single " @@ -1584,7 +1586,7 @@ msgstr "" "modifie cette liste unique. Vous pouvez créer une liste des différentes " "listes de cette façon ::" -#: library/stdtypes.rst:970 +#: library/stdtypes.rst:969 msgid "" "Further explanation is available in the FAQ entry :ref:`faq-multidimensional-" "list`." @@ -1592,7 +1594,7 @@ msgstr "" "De plus amples explications sont disponibles dans la FAQ à la question :ref:" "`faq-multidimensional-list`." -#: library/stdtypes.rst:974 +#: library/stdtypes.rst:973 msgid "" "If *i* or *j* is negative, the index is relative to the end of sequence *s*: " "``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is " @@ -1602,7 +1604,7 @@ msgstr "" "*s* : ``len(s) + i`` ou ``len(s) + j`` est substitué. Mais notez que ``-0`` " "est toujours ``0``." -#: library/stdtypes.rst:979 +#: library/stdtypes.rst:978 msgid "" "The slice of *s* from *i* to *j* is defined as the sequence of items with " "index *k* such that ``i <= k < j``. If *i* or *j* is greater than " @@ -1616,7 +1618,7 @@ msgstr "" "utilisé. Si *j* est omis ou ``None``, ``len(s)`` est utilisé. Si *i* est " "supérieure ou égale à *j*, la tranche est vide." -#: library/stdtypes.rst:986 +#: library/stdtypes.rst:985 msgid "" "The slice of *s* from *i* to *j* with step *k* is defined as the sequence of " "items with index ``x = i + n*k`` such that ``0 <= n < (j-i)/k``. In other " @@ -1639,7 +1641,7 @@ msgstr "" "Remarquez, *k* ne peut pas valoir zéro. Si *k* est ``None``, il est traité " "comme ``1``." -#: library/stdtypes.rst:997 +#: library/stdtypes.rst:996 msgid "" "Concatenating immutable sequences always results in a new object. This " "means that building up a sequence by repeated concatenation will have a " @@ -1652,7 +1654,7 @@ msgstr "" "totale. Pour obtenir un temps d'exécution linéaire, vous devez utiliser " "l'une des alternatives suivantes :" -#: library/stdtypes.rst:1002 +#: library/stdtypes.rst:1001 msgid "" "if concatenating :class:`str` objects, you can build a list and use :meth:" "`str.join` at the end or else write to an :class:`io.StringIO` instance and " @@ -1662,7 +1664,7 @@ msgstr "" "utiliser :meth:`str.join` à la fin, ou bien écrire dans une instance de :" "class:`io.StringIO` et récupérer sa valeur lorsque vous avez terminé" -#: library/stdtypes.rst:1006 +#: library/stdtypes.rst:1005 msgid "" "if concatenating :class:`bytes` objects, you can similarly use :meth:`bytes." "join` or :class:`io.BytesIO`, or you can do in-place concatenation with a :" @@ -1674,18 +1676,18 @@ msgstr "" "sur place avec un objet :class:`bytearray`. Les objets :class:`bytearray` " "sont muables et ont un mécanisme de sur-allocation efficace" -#: library/stdtypes.rst:1011 +#: library/stdtypes.rst:1010 msgid "if concatenating :class:`tuple` objects, extend a :class:`list` instead" msgstr "" "si vous concaténez des :class:`tuple`, utilisez plutôt *extend* sur une :" "class:`list`" -#: library/stdtypes.rst:1013 +#: library/stdtypes.rst:1012 msgid "for other types, investigate the relevant class documentation" msgstr "" "pour d'autres types, cherchez dans la documentation de la classe concernée" -#: library/stdtypes.rst:1017 +#: library/stdtypes.rst:1016 msgid "" "Some sequence types (such as :class:`range`) only support item sequences " "that follow specific patterns, and hence don't support sequence " @@ -1695,7 +1697,7 @@ msgstr "" "séquences qui suivent des modèles spécifiques, et donc ne prennent pas en " "charge la concaténation ou la répétition." -#: library/stdtypes.rst:1022 +#: library/stdtypes.rst:1021 msgid "" "``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " "implementations support passing the additional arguments *i* and *j*. These " @@ -1712,11 +1714,11 @@ msgstr "" "l'indice renvoyé alors relatif au début de la séquence plutôt qu'au début de " "la tranche." -#: library/stdtypes.rst:1033 +#: library/stdtypes.rst:1032 msgid "Immutable Sequence Types" msgstr "Types de séquences immuables" -#: library/stdtypes.rst:1040 +#: library/stdtypes.rst:1039 msgid "" "The only operation that immutable sequence types generally implement that is " "not also implemented by mutable sequence types is support for the :func:" @@ -1726,7 +1728,7 @@ msgstr "" "n'est pas implémentée par les types de séquences muables est le support de " "la fonction native :func:`hash`." -#: library/stdtypes.rst:1044 +#: library/stdtypes.rst:1043 msgid "" "This support allows immutable sequences, such as :class:`tuple` instances, " "to be used as :class:`dict` keys and stored in :class:`set` and :class:" @@ -1736,7 +1738,7 @@ msgstr "" "instances de :class:`tuple`, en tant que clés de :class:`dict` et stockées " "dans les instances de :class:`set` et :class:`frozenset`." -#: library/stdtypes.rst:1048 +#: library/stdtypes.rst:1047 msgid "" "Attempting to hash an immutable sequence that contains unhashable values " "will result in :exc:`TypeError`." @@ -1744,11 +1746,11 @@ msgstr "" "Essayer de hacher une séquence immuable qui contient des valeurs non-" "hachables lèvera une :exc:`TypeError`." -#: library/stdtypes.rst:1055 +#: library/stdtypes.rst:1054 msgid "Mutable Sequence Types" msgstr "Types de séquences muables" -#: library/stdtypes.rst:1062 +#: library/stdtypes.rst:1061 msgid "" "The operations in the following table are defined on mutable sequence types. " "The :class:`collections.abc.MutableSequence` ABC is provided to make it " @@ -1759,7 +1761,7 @@ msgstr "" "MutableSequence` est prévue pour faciliter l'implémentation correcte de ces " "opérations sur les types de séquence personnalisées." -#: library/stdtypes.rst:1066 +#: library/stdtypes.rst:1065 msgid "" "In the table *s* is an instance of a mutable sequence type, *t* is any " "iterable object and *x* is an arbitrary object that meets any type and value " @@ -1772,131 +1774,131 @@ msgstr "" "`bytearray` accepte uniquement des nombres entiers qui répondent à la " "restriction de la valeur ``0 <= x <= 255``)." -#: library/stdtypes.rst:1090 +#: library/stdtypes.rst:1089 msgid "``s[i] = x``" msgstr "``s[i] = x``" -#: library/stdtypes.rst:1090 +#: library/stdtypes.rst:1089 msgid "item *i* of *s* is replaced by *x*" msgstr "élément *i* de *s* est remplacé par *x*" -#: library/stdtypes.rst:1093 +#: library/stdtypes.rst:1092 msgid "``s[i:j] = t``" msgstr "``s[i:j] = t``" -#: library/stdtypes.rst:1093 +#: library/stdtypes.rst:1092 msgid "" "slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" msgstr "" "tranche de *s* de *i* à *j* est remplacée par le contenu de l'itérable *t*" -#: library/stdtypes.rst:1097 +#: library/stdtypes.rst:1096 msgid "``del s[i:j]``" msgstr "``del s[i:j]``" -#: library/stdtypes.rst:1097 +#: library/stdtypes.rst:1096 msgid "same as ``s[i:j] = []``" msgstr "identique à ``s[i:j] = []``" -#: library/stdtypes.rst:1099 +#: library/stdtypes.rst:1098 msgid "``s[i:j:k] = t``" msgstr "``s[i:j:k] = t``" -#: library/stdtypes.rst:1099 +#: library/stdtypes.rst:1098 msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" msgstr "les éléments de ``s[i:j:k]`` sont remplacés par ceux de *t*" -#: library/stdtypes.rst:1102 +#: library/stdtypes.rst:1101 msgid "``del s[i:j:k]``" msgstr "``del s[i:j:k]``" -#: library/stdtypes.rst:1102 +#: library/stdtypes.rst:1101 msgid "removes the elements of ``s[i:j:k]`` from the list" msgstr "supprime les éléments de ``s[i:j:k]`` de la liste" -#: library/stdtypes.rst:1105 +#: library/stdtypes.rst:1104 msgid "``s.append(x)``" msgstr "``s.append(x)``" -#: library/stdtypes.rst:1105 +#: library/stdtypes.rst:1104 msgid "" "appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" msgstr "" "ajoute *x* à la fin de la séquence (identique à ``s[len(s):len(s)] = [x]``)" -#: library/stdtypes.rst:1109 +#: library/stdtypes.rst:1108 msgid "``s.clear()``" msgstr "``s.clear()``" -#: library/stdtypes.rst:1109 +#: library/stdtypes.rst:1108 msgid "removes all items from *s* (same as ``del s[:]``)" msgstr "supprime tous les éléments de *s* (identique à ``del s[:]``)" -#: library/stdtypes.rst:1112 +#: library/stdtypes.rst:1111 msgid "``s.copy()``" msgstr "``s.copy()``" -#: library/stdtypes.rst:1112 +#: library/stdtypes.rst:1111 msgid "creates a shallow copy of *s* (same as ``s[:]``)" msgstr "crée une copie superficielle de *s* (identique à ``s[:]``)" -#: library/stdtypes.rst:1115 +#: library/stdtypes.rst:1114 msgid "``s.extend(t)`` or ``s += t``" msgstr "``s.extend(t)`` or ``s += t``" -#: library/stdtypes.rst:1115 +#: library/stdtypes.rst:1114 msgid "" "extends *s* with the contents of *t* (for the most part the same as " "``s[len(s):len(s)] = t``)" msgstr "étend *s* avec le contenu de *t* (proche de ``s[len(s):len(s)] = t``)" -#: library/stdtypes.rst:1120 +#: library/stdtypes.rst:1119 msgid "``s *= n``" msgstr "``s *= n``" -#: library/stdtypes.rst:1120 +#: library/stdtypes.rst:1119 msgid "updates *s* with its contents repeated *n* times" msgstr "met à jour *s* avec son contenu répété *n* fois" -#: library/stdtypes.rst:1123 +#: library/stdtypes.rst:1122 msgid "``s.insert(i, x)``" msgstr "``s.insert(i, x)``" -#: library/stdtypes.rst:1123 +#: library/stdtypes.rst:1122 msgid "" "inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" msgstr "" "insère *x* dans *s* à l'index donné par *i* (identique à ``s[i:i] = [x]``)" -#: library/stdtypes.rst:1127 +#: library/stdtypes.rst:1126 msgid "``s.pop()`` or ``s.pop(i)``" msgstr "``s.pop()`` ou ``s.pop(i)``" -#: library/stdtypes.rst:1127 +#: library/stdtypes.rst:1126 msgid "retrieves the item at *i* and also removes it from *s*" msgstr "récupère l'élément à *i* et le supprime de *s*" -#: library/stdtypes.rst:1130 +#: library/stdtypes.rst:1129 msgid "``s.remove(x)``" msgstr "``s.remove(x)``" -#: library/stdtypes.rst:1130 +#: library/stdtypes.rst:1129 msgid "remove the first item from *s* where ``s[i]`` is equal to *x*" msgstr "supprime le premier élément de *s* pour lequel ``s[i]`` est égal à *x*" -#: library/stdtypes.rst:1133 +#: library/stdtypes.rst:1132 msgid "``s.reverse()``" msgstr "``s.reverse()``" -#: library/stdtypes.rst:1133 +#: library/stdtypes.rst:1132 msgid "reverses the items of *s* in place" msgstr "inverse sur place les éléments de *s*" -#: library/stdtypes.rst:1141 +#: library/stdtypes.rst:1140 msgid "*t* must have the same length as the slice it is replacing." msgstr "*t* doit avoir la même longueur que la tranche qu'il remplace." -#: library/stdtypes.rst:1144 +#: library/stdtypes.rst:1143 msgid "" "The optional argument *i* defaults to ``-1``, so that by default the last " "item is removed and returned." @@ -1904,13 +1906,13 @@ msgstr "" "L'argument optionnel *i* vaut ``-1`` par défaut, afin que, par défaut, le " "dernier élément soit retiré et renvoyé." -#: library/stdtypes.rst:1148 +#: library/stdtypes.rst:1147 msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." msgstr "" ":meth:`remove` lève une exception :exc:`ValueError` si *x* ne se trouve pas " "dans *s*." -#: library/stdtypes.rst:1151 +#: library/stdtypes.rst:1150 msgid "" "The :meth:`reverse` method modifies the sequence in place for economy of " "space when reversing a large sequence. To remind users that it operates by " @@ -1921,7 +1923,7 @@ msgstr "" "utilisateurs qu'elle a un effet de bord, elle ne renvoie pas la séquence " "inversée." -#: library/stdtypes.rst:1156 +#: library/stdtypes.rst:1155 msgid "" ":meth:`clear` and :meth:`!copy` are included for consistency with the " "interfaces of mutable containers that don't support slicing operations (such " @@ -1936,11 +1938,11 @@ msgstr "" "MutableSequence`, mais la plupart des classes implémentées gérant des " "séquences la proposent." -#: library/stdtypes.rst:1162 +#: library/stdtypes.rst:1161 msgid ":meth:`clear` and :meth:`!copy` methods." msgstr "méthodes :meth:`clear` et :meth:`!copy`." -#: library/stdtypes.rst:1166 +#: library/stdtypes.rst:1165 msgid "" "The value *n* is an integer, or an object implementing :meth:`~object." "__index__`. Zero and negative values of *n* clear the sequence. Items in " @@ -1953,11 +1955,11 @@ msgstr "" "référencés plusieurs fois, comme expliqué pour ``s * n`` dans :ref:`typesseq-" "common`." -#: library/stdtypes.rst:1175 +#: library/stdtypes.rst:1174 msgid "Lists" msgstr "Listes" -#: library/stdtypes.rst:1179 +#: library/stdtypes.rst:1178 msgid "" "Lists are mutable sequences, typically used to store collections of " "homogeneous items (where the precise degree of similarity will vary by " @@ -1967,32 +1969,32 @@ msgstr "" "des collections d'éléments homogènes (où le degré de similitude variera " "selon l'usage)." -#: library/stdtypes.rst:1185 +#: library/stdtypes.rst:1184 msgid "Lists may be constructed in several ways:" msgstr "Les listes peuvent être construites de différentes manières :" -#: library/stdtypes.rst:1187 +#: library/stdtypes.rst:1186 msgid "Using a pair of square brackets to denote the empty list: ``[]``" msgstr "" "En utilisant une paire de crochets pour indiquer une liste vide : ``[]``" -#: library/stdtypes.rst:1188 +#: library/stdtypes.rst:1187 msgid "" "Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" msgstr "" "Au moyen de crochets, séparant les éléments par des virgules : ``[a]``, " "``[a, b, c]``" -#: library/stdtypes.rst:1189 +#: library/stdtypes.rst:1188 msgid "Using a list comprehension: ``[x for x in iterable]``" msgstr "En utilisant une liste en compréhension : ``[x for x in iterable]``" -#: library/stdtypes.rst:1190 +#: library/stdtypes.rst:1189 msgid "Using the type constructor: ``list()`` or ``list(iterable)``" msgstr "" "En utilisant le constructeur du type : ``list()`` ou ``list(iterable)``" -#: library/stdtypes.rst:1192 +#: library/stdtypes.rst:1191 msgid "" "The constructor builds a list whose items are the same and in the same order " "as *iterable*'s items. *iterable* may be either a sequence, a container " @@ -2010,7 +2012,7 @@ msgstr "" "``list( (1, 2, 3) )`` renvoie ``[1, 2, 3]``. Si aucun argument est donné, le " "constructeur crée une nouvelle liste vide, ``[]``." -#: library/stdtypes.rst:1201 +#: library/stdtypes.rst:1200 msgid "" "Many other operations also produce lists, including the :func:`sorted` built-" "in." @@ -2018,7 +2020,7 @@ msgstr "" "De nombreuses autres opérations produisent des listes, tel que la fonction " "native :func:`sorted`." -#: library/stdtypes.rst:1204 +#: library/stdtypes.rst:1203 msgid "" "Lists implement all of the :ref:`common ` and :ref:`mutable " "` sequence operations. Lists also provide the following " @@ -2028,7 +2030,7 @@ msgstr "" "` et :ref:`muables `. Les listes " "fournissent également la méthode supplémentaire suivante :" -#: library/stdtypes.rst:1210 +#: library/stdtypes.rst:1209 msgid "" "This method sorts the list in place, using only ``<`` comparisons between " "items. Exceptions are not suppressed - if any comparison operations fail, " @@ -2040,7 +2042,7 @@ msgstr "" "si n'importe quelle opération de comparaison échoue, le tri échouera (et la " "liste sera probablement laissée dans un état partiellement modifié)." -#: library/stdtypes.rst:1215 +#: library/stdtypes.rst:1214 msgid "" ":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" "`keyword-only arguments `):" @@ -2048,7 +2050,7 @@ msgstr "" ":meth:`sort` accepte deux arguments qui ne peuvent être fournis que par mot-" "clé (:ref:`keyword-only arguments `):" -#: library/stdtypes.rst:1218 +#: library/stdtypes.rst:1217 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each list element (for example, ``key=str.lower``). The " @@ -2063,7 +2065,7 @@ msgstr "" "``None``, signifie que les éléments sont triés directement sans en calculer " "une valeur \"clé\" séparée." -#: library/stdtypes.rst:1225 +#: library/stdtypes.rst:1224 msgid "" "The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " "*cmp* function to a *key* function." @@ -2071,7 +2073,7 @@ msgstr "" "La fonction utilitaire :func:`functools.cmp_to_key` est disponible pour " "convertir une fonction *cmp* du style 2.x à une fonction *key*." -#: library/stdtypes.rst:1228 +#: library/stdtypes.rst:1227 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2079,7 +2081,7 @@ msgstr "" "*reverse*, une valeur booléenne. Si elle est ``True``, la liste d'éléments " "est triée comme si toutes les comparaisons étaient inversées." -#: library/stdtypes.rst:1231 +#: library/stdtypes.rst:1230 msgid "" "This method modifies the sequence in place for economy of space when sorting " "a large sequence. To remind users that it operates by side effect, it does " @@ -2091,7 +2093,7 @@ msgstr "" "bord, elle ne renvoie pas la séquence triée (utilisez :func:`sorted` pour " "demander explicitement une nouvelle instance de liste triée)." -#: library/stdtypes.rst:1236 +#: library/stdtypes.rst:1235 msgid "" "The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " "guarantees not to change the relative order of elements that compare equal " @@ -2103,13 +2105,13 @@ msgstr "" "trier en plusieurs passes (par exemple, trier par département, puis par " "niveau de salaire)." -#: library/stdtypes.rst:1241 +#: library/stdtypes.rst:1240 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" "Pour des exemples de tris et un bref tutoriel, consultez :ref:`sortinghowto`." -#: library/stdtypes.rst:1245 +#: library/stdtypes.rst:1244 msgid "" "While a list is being sorted, the effect of attempting to mutate, or even " "inspect, the list is undefined. The C implementation of Python makes the " @@ -2121,11 +2123,11 @@ msgstr "" "liste comme vide pour la durée du traitement, et lève :exc:`ValueError` si " "elle détecte que la liste a été modifiée au cours du tri." -#: library/stdtypes.rst:1254 +#: library/stdtypes.rst:1253 msgid "Tuples" msgstr "*N*-uplets" -#: library/stdtypes.rst:1258 +#: library/stdtypes.rst:1257 msgid "" "Tuples are immutable sequences, typically used to store collections of " "heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " @@ -2140,34 +2142,34 @@ msgstr "" "et immuable de données est nécessaire (pour, par exemple, les stocker dans " "un :class:`set` ou un :class:`dict`)." -#: library/stdtypes.rst:1266 +#: library/stdtypes.rst:1265 msgid "Tuples may be constructed in a number of ways:" msgstr "Les *n*-uplets peuvent être construits de différentes façons :" -#: library/stdtypes.rst:1268 +#: library/stdtypes.rst:1267 msgid "Using a pair of parentheses to denote the empty tuple: ``()``" msgstr "" "En utilisant une paire de parenthèses pour désigner le *n*-uplet vide : " "``()``" -#: library/stdtypes.rst:1269 +#: library/stdtypes.rst:1268 msgid "Using a trailing comma for a singleton tuple: ``a,`` or ``(a,)``" msgstr "" "En utilisant une virgule, pour créer un *n*-uplet d'un élément : ``a,`` ou " "``(a,)``" -#: library/stdtypes.rst:1270 +#: library/stdtypes.rst:1269 msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" msgstr "" "En séparant les éléments avec des virgules : ``a, b, c`` ou ``(a, b, c)``" -#: library/stdtypes.rst:1271 +#: library/stdtypes.rst:1270 msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" msgstr "" "En utilisant la fonction native :func:`tuple` : ``tuple()`` ou " "``tuple(iterable)``" -#: library/stdtypes.rst:1273 +#: library/stdtypes.rst:1272 msgid "" "The constructor builds a tuple whose items are the same and in the same " "order as *iterable*'s items. *iterable* may be either a sequence, a " @@ -2185,7 +2187,7 @@ msgstr "" "3] )`` renvoie ``(1, 2, 3)``. Si aucun argument est donné, le constructeur " "crée un nouveau *n*-uplet vide, ``()``." -#: library/stdtypes.rst:1281 +#: library/stdtypes.rst:1280 msgid "" "Note that it is actually the comma which makes a tuple, not the parentheses. " "The parentheses are optional, except in the empty tuple case, or when they " @@ -2200,7 +2202,7 @@ msgstr "" "arguments, alors que ``f((a, b, c))`` est un appel de fonction avec un " "triplet comme unique argument." -#: library/stdtypes.rst:1287 +#: library/stdtypes.rst:1286 msgid "" "Tuples implement all of the :ref:`common ` sequence " "operations." @@ -2208,7 +2210,7 @@ msgstr "" "Les *n*-uplets implémentent toutes les opérations :ref:`communes ` des séquences." -#: library/stdtypes.rst:1290 +#: library/stdtypes.rst:1289 msgid "" "For heterogeneous collections of data where access by name is clearer than " "access by index, :func:`collections.namedtuple` may be a more appropriate " @@ -2218,11 +2220,11 @@ msgstr "" "clair que l'accès par index, :func:`collections.namedtuple` peut être un " "choix plus approprié qu'un simple *n*-uplet." -#: library/stdtypes.rst:1298 +#: library/stdtypes.rst:1297 msgid "Ranges" msgstr "*Ranges*" -#: library/stdtypes.rst:1302 +#: library/stdtypes.rst:1301 msgid "" "The :class:`range` type represents an immutable sequence of numbers and is " "commonly used for looping a specific number of times in :keyword:`for` loops." @@ -2231,7 +2233,7 @@ msgstr "" "couramment utilisé pour itérer un certain nombre de fois dans les boucles :" "keyword:`for`." -#: library/stdtypes.rst:1309 +#: library/stdtypes.rst:1308 #, fuzzy msgid "" "The arguments to the range constructor must be integers (either built-in :" @@ -2246,7 +2248,7 @@ msgstr "" "valeur par défaut de l'argument *start* est ``0``. Si *step* est égal à " "zéro, une exception :exc:`ValueError` est levée." -#: library/stdtypes.rst:1315 +#: library/stdtypes.rst:1314 msgid "" "For a positive *step*, the contents of a range ``r`` are determined by the " "formula ``r[i] = start + step*i`` where ``i >= 0`` and ``r[i] < stop``." @@ -2254,7 +2256,7 @@ msgstr "" "Pour un *step* positif, le contenu d'un *range* ``r`` est déterminé par la " "formule ``r[i] = start + step*i`` où ``i >= 0`` et ``r[i] < stop``." -#: library/stdtypes.rst:1319 +#: library/stdtypes.rst:1318 msgid "" "For a negative *step*, the contents of the range are still determined by the " "formula ``r[i] = start + step*i``, but the constraints are ``i >= 0`` and " @@ -2264,7 +2266,7 @@ msgstr "" "formule ``r[i] = start + step*i``, mais les contraintes sont ``i >= 0`` et " "``r[i] > stop``." -#: library/stdtypes.rst:1323 +#: library/stdtypes.rst:1322 msgid "" "A range object will be empty if ``r[0]`` does not meet the value constraint. " "Ranges do support negative indices, but these are interpreted as indexing " @@ -2275,7 +2277,7 @@ msgstr "" "sont interprétées comme une indexation de la fin de la séquence déterminée " "par les indices positifs." -#: library/stdtypes.rst:1328 +#: library/stdtypes.rst:1327 msgid "" "Ranges containing absolute values larger than :data:`sys.maxsize` are " "permitted but some features (such as :func:`len`) may raise :exc:" @@ -2285,11 +2287,11 @@ msgstr "" "maxsize` sont permises, mais certaines fonctionnalités (comme :func:`len`) " "peuvent lever :exc:`OverflowError`." -#: library/stdtypes.rst:1332 +#: library/stdtypes.rst:1331 msgid "Range examples::" msgstr "Exemples avec *range* ::" -#: library/stdtypes.rst:1349 +#: library/stdtypes.rst:1348 msgid "" "Ranges implement all of the :ref:`common ` sequence " "operations except concatenation and repetition (due to the fact that range " @@ -2302,25 +2304,25 @@ msgstr "" "strict et que la répétition et la concaténation les feraient dévier de ce " "motif)." -#: library/stdtypes.rst:1356 +#: library/stdtypes.rst:1355 msgid "" "The value of the *start* parameter (or ``0`` if the parameter was not " "supplied)" msgstr "" "La valeur du paramètre *start* (ou ``0`` si le paramètre n'a pas été fourni)" -#: library/stdtypes.rst:1361 +#: library/stdtypes.rst:1360 msgid "The value of the *stop* parameter" msgstr "La valeur du paramètre *stop*" -#: library/stdtypes.rst:1365 +#: library/stdtypes.rst:1364 msgid "" "The value of the *step* parameter (or ``1`` if the parameter was not " "supplied)" msgstr "" "La valeur du paramètre *step* (ou ``1`` si le paramètre n'a pas été fourni)" -#: library/stdtypes.rst:1368 +#: library/stdtypes.rst:1367 msgid "" "The advantage of the :class:`range` type over a regular :class:`list` or :" "class:`tuple` is that a :class:`range` object will always take the same " @@ -2334,7 +2336,7 @@ msgstr "" "(car elle ne stocke que les valeurs ``start``, ``stop`` et ``step`` , le " "calcul des éléments individuels et les sous-intervalles au besoin)." -#: library/stdtypes.rst:1374 +#: library/stdtypes.rst:1373 msgid "" "Range objects implement the :class:`collections.abc.Sequence` ABC, and " "provide features such as containment tests, element index lookup, slicing " @@ -2345,7 +2347,7 @@ msgstr "" "(avec *in*), de recherche par index, le tranchage et ils gèrent les indices " "négatifs (voir :ref:`typesseq`):" -#: library/stdtypes.rst:1394 +#: library/stdtypes.rst:1393 msgid "" "Testing range objects for equality with ``==`` and ``!=`` compares them as " "sequences. That is, two range objects are considered equal if they " @@ -2361,7 +2363,7 @@ msgstr "" "et :attr:`~range.step` différents, par exemple ``range(0) == range(2, 1, " "3)`` ou ``range(0, 3, 2) == range(0, 4, 2)``.)" -#: library/stdtypes.rst:1401 +#: library/stdtypes.rst:1400 msgid "" "Implement the Sequence ABC. Support slicing and negative indices. Test :" "class:`int` objects for membership in constant time instead of iterating " @@ -2371,7 +2373,7 @@ msgstr "" "les indices négatifs. Tester l'appartenance d'un :class:`int` en temps " "constant au lieu d'itérer tous les éléments." -#: library/stdtypes.rst:1407 +#: library/stdtypes.rst:1406 msgid "" "Define '==' and '!=' to compare range objects based on the sequence of " "values they define (instead of comparing based on object identity)." @@ -2380,7 +2382,7 @@ msgstr "" "qu'ils définissent (au lieu d'une comparaison fondée sur l'identité de " "l'objet)." -#: library/stdtypes.rst:1412 +#: library/stdtypes.rst:1411 msgid "" "The :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " "attributes." @@ -2388,7 +2390,7 @@ msgstr "" "Les attributs :attr:`~range.start`, :attr:`~range.stop` et :attr:`~range." "step`." -#: library/stdtypes.rst:1418 +#: library/stdtypes.rst:1417 #, fuzzy msgid "" "The `linspace recipe `_ shows " @@ -2399,11 +2401,11 @@ msgstr "" "comment implémenter une version paresseuse de *range* adaptée aux nombres à " "virgule flottante." -#: library/stdtypes.rst:1430 +#: library/stdtypes.rst:1429 msgid "Text Sequence Type --- :class:`str`" msgstr "Type Séquence de Texte — :class:`str`" -#: library/stdtypes.rst:1432 +#: library/stdtypes.rst:1431 msgid "" "Textual data in Python is handled with :class:`str` objects, or :dfn:" "`strings`. Strings are immutable :ref:`sequences ` of Unicode code " @@ -2414,15 +2416,15 @@ msgstr "" "immuables de points de code Unicode. Les chaînes littérales peuvent être " "écrites de différentes manières :" -#: library/stdtypes.rst:1437 +#: library/stdtypes.rst:1436 msgid "Single quotes: ``'allows embedded \"double\" quotes'``" msgstr "Les guillemets simples : ``'autorisent les \"guillemets\"'``" -#: library/stdtypes.rst:1438 +#: library/stdtypes.rst:1437 msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" msgstr "Les guillemets : ``\"autorisent les guillemets 'simples'\"``." -#: library/stdtypes.rst:1439 +#: library/stdtypes.rst:1438 msgid "" "Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double " "quotes\"\"\"``" @@ -2430,7 +2432,7 @@ msgstr "" "Guillemets triples : ``'''Trois guillemets simples'''``, ``\"\"\"Trois " "guillemets\"\"\"``" -#: library/stdtypes.rst:1441 +#: library/stdtypes.rst:1440 msgid "" "Triple quoted strings may span multiple lines - all associated whitespace " "will be included in the string literal." @@ -2438,7 +2440,7 @@ msgstr "" "Les chaînes entre triple guillemets peuvent couvrir plusieurs lignes, tous " "les espaces associés seront inclus dans la chaîne littérale." -#: library/stdtypes.rst:1444 +#: library/stdtypes.rst:1443 msgid "" "String literals that are part of a single expression and have only " "whitespace between them will be implicitly converted to a single string " @@ -2448,7 +2450,7 @@ msgstr "" "seulement des espaces entre elles sont implicitement converties en une seule " "chaîne littérale. Autrement dit, ``(\"spam \" \"eggs\") == \"spam eggs\"``." -#: library/stdtypes.rst:1448 +#: library/stdtypes.rst:1447 msgid "" "See :ref:`strings` for more about the various forms of string literal, " "including supported escape sequences, and the ``r`` (\"raw\") prefix that " @@ -2459,7 +2461,7 @@ msgstr "" "et le préfixe ``r`` (*raw* (brut)) qui désactive la plupart des traitements " "de séquence d'échappement." -#: library/stdtypes.rst:1452 +#: library/stdtypes.rst:1451 msgid "" "Strings may also be created from other objects using the :class:`str` " "constructor." @@ -2467,7 +2469,7 @@ msgstr "" "Les chaînes peuvent également être créés à partir d'autres objets à l'aide " "du constructeur :class:`str`." -#: library/stdtypes.rst:1455 +#: library/stdtypes.rst:1454 msgid "" "Since there is no separate \"character\" type, indexing a string produces " "strings of length 1. That is, for a non-empty string *s*, ``s[0] == s[0:1]``." @@ -2476,7 +2478,7 @@ msgstr "" "produit des chaînes de longueur 1. Autrement dit, pour une chaîne non vide " "*s*, ``s[0] == s[0:1]``." -#: library/stdtypes.rst:1461 +#: library/stdtypes.rst:1460 msgid "" "There is also no mutable string type, but :meth:`str.join` or :class:`io." "StringIO` can be used to efficiently construct strings from multiple " @@ -2486,7 +2488,7 @@ msgstr "" "StringIO` peuvent être utilisées pour construire efficacement des chaînes à " "partir de plusieurs fragments." -#: library/stdtypes.rst:1465 +#: library/stdtypes.rst:1464 msgid "" "For backwards compatibility with the Python 2 series, the ``u`` prefix is " "once again permitted on string literals. It has no effect on the meaning of " @@ -2496,7 +2498,7 @@ msgstr "" "est à nouveau autorisé sur les chaînes littérales. Elle n'a aucun effet sur " "le sens des chaînes littérales et ne peut être combiné avec le préfixe ``r``." -#: library/stdtypes.rst:1477 +#: library/stdtypes.rst:1476 msgid "" "Return a :ref:`string ` version of *object*. If *object* is not " "provided, returns the empty string. Otherwise, the behavior of ``str()`` " @@ -2506,7 +2508,7 @@ msgstr "" "n'est pas fourni, renvoie une chaîne vide. Sinon, le comportement de " "``str()`` dépend de si *encoding* ou *errors* sont donnés, voir l'exemple." -#: library/stdtypes.rst:1481 +#: library/stdtypes.rst:1480 msgid "" "If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" "`type(object).__str__(object) `, which is the \"informal\" " @@ -2521,7 +2523,7 @@ msgstr "" "c'est la chaîne elle-même. Si *object* n'a pas de méthode :meth:`~object." "__str__`, :func:`str` utilise :meth:`repr(object) `." -#: library/stdtypes.rst:1493 +#: library/stdtypes.rst:1492 msgid "" "If at least one of *encoding* or *errors* is given, *object* should be a :" "term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " @@ -2541,7 +2543,7 @@ msgstr "" "`binaryseq` et :ref:`bufferobjects` pour plus d'informations sur les " "*buffers*." -#: library/stdtypes.rst:1502 +#: library/stdtypes.rst:1501 msgid "" "Passing a :class:`bytes` object to :func:`str` without the *encoding* or " "*errors* arguments falls under the first case of returning the informal " @@ -2553,7 +2555,7 @@ msgstr "" "informelle de la chaîne est renvoyée (voir aussi l'option :option:`-b` de " "Python). Par exemple ::" -#: library/stdtypes.rst:1510 +#: library/stdtypes.rst:1509 msgid "" "For more information on the ``str`` class and its methods, see :ref:" "`textseq` and the :ref:`string-methods` section below. To output formatted " @@ -2565,11 +2567,11 @@ msgstr "" "de caractères, voir les sections :ref:`f-strings` et :ref:`formatstrings`. " "La section :ref:`stringservices` contient aussi des informations." -#: library/stdtypes.rst:1522 +#: library/stdtypes.rst:1521 msgid "String Methods" msgstr "Méthodes de chaînes de caractères" -#: library/stdtypes.rst:1527 +#: library/stdtypes.rst:1526 msgid "" "Strings implement all of the :ref:`common ` sequence " "operations, along with the additional methods described below." @@ -2577,7 +2579,7 @@ msgstr "" "Les chaînes implémentent toutes les opérations :ref:`communes des séquences " "`, ainsi que les autres méthodes décrites ci-dessous." -#: library/stdtypes.rst:1530 +#: library/stdtypes.rst:1529 msgid "" "Strings also support two styles of string formatting, one providing a large " "degree of flexibility and customization (see :meth:`str.format`, :ref:" @@ -2593,7 +2595,7 @@ msgstr "" "difficile à utiliser correctement, mais il est souvent plus rapide pour les " "cas, il peut gérer (:ref:`old-string-formatting`)." -#: library/stdtypes.rst:1537 +#: library/stdtypes.rst:1536 msgid "" "The :ref:`textservices` section of the standard library covers a number of " "other modules that provide various text related utilities (including regular " @@ -2603,7 +2605,7 @@ msgstr "" "nombre d'autres modules qui fournissent différents services relatifs au " "texte (y compris les expressions régulières dans le module :mod:`re`)." -#: library/stdtypes.rst:1543 +#: library/stdtypes.rst:1542 msgid "" "Return a copy of the string with its first character capitalized and the " "rest lowercased." @@ -2611,7 +2613,7 @@ msgstr "" "Renvoie une copie de la chaîne avec son premier caractère en majuscule et le " "reste en minuscule." -#: library/stdtypes.rst:1546 +#: library/stdtypes.rst:1545 msgid "" "The first character is now put into titlecase rather than uppercase. This " "means that characters like digraphs will only have their first letter " @@ -2621,7 +2623,7 @@ msgstr "" "majuscule. Cela veut dire que les caractères comme les digrammes auront " "seulement leur première lettre en majuscule, au lieu du caractère en entier." -#: library/stdtypes.rst:1553 +#: library/stdtypes.rst:1552 msgid "" "Return a casefolded copy of the string. Casefolded strings may be used for " "caseless matching." @@ -2629,7 +2631,7 @@ msgstr "" "Renvoie une copie *casefolded* de la chaîne. Les chaînes *casefolded* " "peuvent être utilisées dans des comparaison insensibles à la casse." -#: library/stdtypes.rst:1556 +#: library/stdtypes.rst:1555 msgid "" "Casefolding is similar to lowercasing but more aggressive because it is " "intended to remove all case distinctions in a string. For example, the " @@ -2643,7 +2645,7 @@ msgstr "" "Comme il est déjà minuscule, :meth:`lower` ferait rien à ``'ß'``; :meth:" "`casefold` le convertit en ``\"ss\"``." -#: library/stdtypes.rst:1562 +#: library/stdtypes.rst:1561 msgid "" "The casefolding algorithm is described in section 3.13 of the Unicode " "Standard." @@ -2651,7 +2653,7 @@ msgstr "" "L'algorithme de *casefolding* est décrit dans la section 3.13 de la norme " "Unicode." -#: library/stdtypes.rst:1570 +#: library/stdtypes.rst:1569 msgid "" "Return centered in a string of length *width*. Padding is done using the " "specified *fillchar* (default is an ASCII space). The original string is " @@ -2662,7 +2664,7 @@ msgstr "" "ASCII). La chaîne d'origine est renvoyée si *width* est inférieure ou égale " "à ``len(s)``." -#: library/stdtypes.rst:1578 +#: library/stdtypes.rst:1577 msgid "" "Return the number of non-overlapping occurrences of substring *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -2672,16 +2674,30 @@ msgstr "" "l'intervalle [*start*, *end*]. Les arguments facultatifs *start* et *end* " "sont interprétés comme pour des *slices*." -#: library/stdtypes.rst:1585 +#: library/stdtypes.rst:1581 msgid "" -"Return an encoded version of the string as a bytes object. Default encoding " -"is ``'utf-8'``. *errors* may be given to set a different error handling " -"scheme. The default for *errors* is ``'strict'``, meaning that encoding " -"errors raise a :exc:`UnicodeError`. Other possible values are ``'ignore'``, " -"``'replace'``, ``'xmlcharrefreplace'``, ``'backslashreplace'`` and any other " -"name registered via :func:`codecs.register_error`, see section :ref:`error-" -"handlers`. For a list of possible encodings, see section :ref:`standard-" -"encodings`." +"If *sub* is empty, returns the number of empty strings between characters " +"which is the length of the string plus one." +msgstr "" + +#: library/stdtypes.rst:1587 +msgid "Return the string encoded to :class:`bytes`." +msgstr "" + +#: library/stdtypes.rst:2722 +msgid "" +"*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " +"possible values." +msgstr "" + +#: library/stdtypes.rst:1592 +#, fuzzy +msgid "" +"*errors* controls how encoding errors are handled. If ``'strict'`` (the " +"default), a :exc:`UnicodeError` exception is raised. Other possible values " +"are ``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, " +"``'backslashreplace'`` and any other name registered via :func:`codecs." +"register_error`. See :ref:`error-handlers` for details." msgstr "" "Renvoie une version encodée de la chaîne sous la forme d'un objet *bytes*. " "L'encodage par défaut est ``'utf-8'``. *errors* peut être donné pour choisir " @@ -2693,30 +2709,27 @@ msgstr "" "`error-handlers`. Pour une liste des encodages possibles, voir la section :" "ref:`standard-encodings`." -#: library/stdtypes.rst:1594 +#: library/stdtypes.rst:1599 msgid "" -"By default, the *errors* argument is not checked for best performances, but " -"only used at the first encoding error. Enable the :ref:`Python Development " -"Mode `, or use a :ref:`debug build ` to check *errors*." +"For performance reasons, the value of *errors* is not checked for validity " +"unless an encoding error actually occurs, :ref:`devmode` is enabled or a :" +"ref:`debug build ` is used." msgstr "" -"Par défaut, l'argument *errors* n'est pas testé, mais seulement utilisé à la " -"première erreur d'encodage. Activez le :ref:`Python Development Mode " -"`, ou utilisez le :ref:`mode de débogage ` pour " -"vérifier *errors*." -#: library/stdtypes.rst:1599 -msgid "Support for keyword arguments added." -msgstr "Gestion des arguments par mot-clé." +#: library/stdtypes.rst:2741 +msgid "Added support for keyword arguments." +msgstr "Gère les arguments nommés." -#: library/stdtypes.rst:2733 +#: library/stdtypes.rst:2744 +#, fuzzy msgid "" -"The *errors* is now checked in development mode and in :ref:`debug mode " -"`." +"The value of the *errors* argument is now checked in :ref:`devmode` and in :" +"ref:`debug mode `." msgstr "" "Les *errors* sont maintenant vérifiés en mode développement et en :ref:`mode " "de débogage `." -#: library/stdtypes.rst:1609 +#: library/stdtypes.rst:1614 msgid "" "Return ``True`` if the string ends with the specified *suffix*, otherwise " "return ``False``. *suffix* can also be a tuple of suffixes to look for. " @@ -2729,7 +2742,7 @@ msgstr "" "position. Si l'argument optionnel *end* est fourni, la comparaison s'arrête " "à cette position." -#: library/stdtypes.rst:1617 +#: library/stdtypes.rst:1622 msgid "" "Return a copy of the string where all tab characters are replaced by one or " "more spaces, depending on the current column and the given tab size. Tab " @@ -2759,7 +2772,7 @@ msgstr "" "et la colonne en cours est incrémentée de un indépendamment de la façon dont " "le caractère est représenté lors de l'affichage." -#: library/stdtypes.rst:1638 +#: library/stdtypes.rst:1643 msgid "" "Return the lowest index in the string where substring *sub* is found within " "the slice ``s[start:end]``. Optional arguments *start* and *end* are " @@ -2770,7 +2783,7 @@ msgstr "" "interprétés comme dans la notation des découpages (*slice* en anglais). " "Renvoie ``-1`` si *sub* n'est pas trouvé." -#: library/stdtypes.rst:1644 +#: library/stdtypes.rst:1649 msgid "" "The :meth:`~str.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -2780,7 +2793,7 @@ msgstr "" "de connaître la position de *sub*. Pour vérifier si *sub* est une sous " "chaine ou non, utilisez l'opérateur :keyword:`in` ::" -#: library/stdtypes.rst:1654 +#: library/stdtypes.rst:1659 msgid "" "Perform a string formatting operation. The string on which this method is " "called can contain literal text or replacement fields delimited by braces " @@ -2796,7 +2809,7 @@ msgstr "" "clé. Renvoie une copie de la chaîne où chaque champ de remplacement est " "remplacé par la valeur de chaîne de l'argument correspondant." -#: library/stdtypes.rst:1664 +#: library/stdtypes.rst:1669 msgid "" "See :ref:`formatstrings` for a description of the various formatting options " "that can be specified in format strings." @@ -2804,7 +2817,7 @@ msgstr "" "Voir :ref:`formatstrings` pour une description des options de formatage qui " "peuvent être spécifiées dans les chaînes de format." -#: library/stdtypes.rst:1668 +#: library/stdtypes.rst:1673 msgid "" "When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" "class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: ``'{:n}'." @@ -2823,7 +2836,7 @@ msgstr "" "est différent de ``LC_CTYPE``. Ce changement temporaire affecte les autres " "fils d'exécution." -#: library/stdtypes.rst:1677 +#: library/stdtypes.rst:1682 msgid "" "When formatting a number with the ``n`` type, the function sets temporarily " "the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale in some cases." @@ -2832,7 +2845,7 @@ msgstr "" "temporairement ``LC_CTYPE`` par la valeur de ``LC_NUMERIC`` dans certains " "cas." -#: library/stdtypes.rst:1685 +#: library/stdtypes.rst:1690 msgid "" "Similar to ``str.format(**mapping)``, except that ``mapping`` is used " "directly and not copied to a :class:`dict`. This is useful if for example " @@ -2842,7 +2855,7 @@ msgstr "" "directement et non copié dans un :class:`dict`. C'est utile si, par exemple " "``mapping`` est une sous-classe de ``dict`` :" -#: library/stdtypes.rst:1701 +#: library/stdtypes.rst:1706 msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found." @@ -2850,7 +2863,7 @@ msgstr "" "Comme :meth:`~str.find`, mais lève une :exc:`ValueError` lorsque la chaîne " "est introuvable." -#: library/stdtypes.rst:1707 +#: library/stdtypes.rst:1712 msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " "is at least one character, ``False`` otherwise. A character ``c`` is " @@ -2862,7 +2875,7 @@ msgstr "" "alphanumérique si l'un des tests suivants renvoie ``True`` : ``c." "isalpha()``, ``c.isdecimal()``, ``c.isdigit()`` ou ``c.isnumeric()``." -#: library/stdtypes.rst:1715 +#: library/stdtypes.rst:1720 msgid "" "Return ``True`` if all characters in the string are alphabetic and there is " "at least one character, ``False`` otherwise. Alphabetic characters are " @@ -2878,7 +2891,7 @@ msgstr "" "\"Lu\", \"Ll\" ou \"Lo\" comme catégorie générale. Notez que ceci est " "différent de la propriété *Alphabetic* définie dans la norme Unicode." -#: library/stdtypes.rst:1724 +#: library/stdtypes.rst:1729 msgid "" "Return ``True`` if the string is empty or all characters in the string are " "ASCII, ``False`` otherwise. ASCII characters have code points in the range " @@ -2888,7 +2901,7 @@ msgstr "" "ASCII, ``False`` sinon. Les caractères ASCII ont un code dans l'intervalle " "``\"U+0000\"``\\ ---\\ ``\"U+007F\"``." -#: library/stdtypes.rst:1733 +#: library/stdtypes.rst:1738 msgid "" "Return ``True`` if all characters in the string are decimal characters and " "there is at least one character, ``False`` otherwise. Decimal characters are " @@ -2902,7 +2915,7 @@ msgstr "" "en base 10, tels que U+0660, ARABIC-INDIC DIGIT ZERO. Spécifiquement, un " "caractère décimal est un caractère dans la catégorie Unicode générale \"Nd\"." -#: library/stdtypes.rst:1743 +#: library/stdtypes.rst:1748 msgid "" "Return ``True`` if all characters in the string are digits and there is at " "least one character, ``False`` otherwise. Digits include decimal characters " @@ -2920,7 +2933,7 @@ msgstr "" "chiffre est un caractère dont la valeur de la propriété *Numeric_Type* est " "*Digit* ou *Decimal*." -#: library/stdtypes.rst:1753 +#: library/stdtypes.rst:1758 msgid "" "Return ``True`` if the string is a valid identifier according to the " "language definition, section :ref:`identifiers`." @@ -2928,7 +2941,7 @@ msgstr "" "Renvoie ``True`` si la chaîne est un identifiant valide selon la définition " "du langage, section :ref:`identifiers`." -#: library/stdtypes.rst:1756 +#: library/stdtypes.rst:1761 msgid "" "Call :func:`keyword.iskeyword` to test whether string ``s`` is a reserved " "identifier, such as :keyword:`def` and :keyword:`class`." @@ -2936,11 +2949,11 @@ msgstr "" "Utilisez :func:`keyword.iskeyword` pour savoir si la chaîne ``s`` est un " "identifiant réservé, tels que :keyword:`def` et :keyword:`class`." -#: library/stdtypes.rst:1759 +#: library/stdtypes.rst:1764 msgid "Example: ::" msgstr "Par exemple ::" -#: library/stdtypes.rst:1772 +#: library/stdtypes.rst:1777 msgid "" "Return ``True`` if all cased characters [4]_ in the string are lowercase and " "there is at least one cased character, ``False`` otherwise." @@ -2949,7 +2962,7 @@ msgstr "" "sont en minuscules et qu'elle contient au moins un caractère capitalisable. " "Renvoie ``False`` dans le cas contraire." -#: library/stdtypes.rst:1778 +#: library/stdtypes.rst:1783 msgid "" "Return ``True`` if all characters in the string are numeric characters, and " "there is at least one character, ``False`` otherwise. Numeric characters " @@ -2966,7 +2979,7 @@ msgstr "" "les priorités *Numeric_Type=Digit*, *Numeric_Type=Decimal*, ou " "*Numeric_Type=Numeric*." -#: library/stdtypes.rst:1788 +#: library/stdtypes.rst:1793 msgid "" "Return ``True`` if all characters in the string are printable or the string " "is empty, ``False`` otherwise. Nonprintable characters are those characters " @@ -2985,7 +2998,7 @@ msgstr "" "`repr` est invoquée sur une chaîne. Ça n'a aucune incidence sur le " "traitement des chaînes écrites sur :data:`sys.stdout` ou :data:`sys.stderr`.)" -#: library/stdtypes.rst:1799 +#: library/stdtypes.rst:1804 msgid "" "Return ``True`` if there are only whitespace characters in the string and " "there is at least one character, ``False`` otherwise." @@ -2994,7 +3007,7 @@ msgstr "" "et qu'il y a au moins un autre caractère. Renvoie ``False`` dans le cas " "contraire." -#: library/stdtypes.rst:1802 +#: library/stdtypes.rst:1807 msgid "" "A character is *whitespace* if in the Unicode character database (see :mod:" "`unicodedata`), either its general category is ``Zs`` (\"Separator, " @@ -3005,7 +3018,7 @@ msgstr "" "`unicodedata`) sa catégorie générale est ``Zs`` (« séparateur, espace »), ou " "sa classe bidirectionnelle est une de ``WS``, ``B``, ou ``S``." -#: library/stdtypes.rst:1810 +#: library/stdtypes.rst:1815 msgid "" "Return ``True`` if the string is a titlecased string and there is at least " "one character, for example uppercase characters may only follow uncased " @@ -3018,7 +3031,7 @@ msgstr "" "minuscules ne peuvent suivre que des caractères capitalisables. Renvoie " "``False`` dans le cas contraire." -#: library/stdtypes.rst:1817 +#: library/stdtypes.rst:1822 msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." @@ -3027,7 +3040,7 @@ msgstr "" "la chaîne sont en majuscules et il y a au moins un caractère différentiable " "sur la casse, sinon ``False``." -#: library/stdtypes.rst:1833 +#: library/stdtypes.rst:1838 msgid "" "Return a string which is the concatenation of the strings in *iterable*. A :" "exc:`TypeError` will be raised if there are any non-string values in " @@ -3039,7 +3052,7 @@ msgstr "" "pas une chaîne, y compris pour les objets :class:`bytes`. Le séparateur " "entre les éléments est la chaîne fournissant cette méthode." -#: library/stdtypes.rst:1841 +#: library/stdtypes.rst:1846 msgid "" "Return the string left justified in a string of length *width*. Padding is " "done using the specified *fillchar* (default is an ASCII space). The " @@ -3050,7 +3063,7 @@ msgstr "" "ASCII). La chaîne d'origine est renvoyée si *width* est inférieur ou égale à " "``len(s)``." -#: library/stdtypes.rst:1848 +#: library/stdtypes.rst:1853 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "lowercase." @@ -3058,7 +3071,7 @@ msgstr "" "Renvoie une copie de la chaîne avec tous les caractères capitalisables [4]_ " "convertis en minuscules." -#: library/stdtypes.rst:1851 +#: library/stdtypes.rst:1856 msgid "" "The lowercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3066,7 +3079,7 @@ msgstr "" "L'algorithme de mise en minuscules utilisé est décrit dans la section 3.13 " "de la norme Unicode." -#: library/stdtypes.rst:1857 +#: library/stdtypes.rst:1862 msgid "" "Return a copy of the string with leading characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -3080,7 +3093,7 @@ msgstr "" "des espaces. L'argument *chars* n'est pas un préfixe, toutes les " "combinaisons de ses valeurs sont supprimées ::" -#: library/stdtypes.rst:1867 +#: library/stdtypes.rst:1872 msgid "" "See :meth:`str.removeprefix` for a method that will remove a single prefix " "string rather than all of a set of characters. For example::" @@ -3088,7 +3101,7 @@ msgstr "" "Voir :meth:`str.removeprefix` pour une méthode qui supprime une seule chaîne " "de préfixe plutôt que la totalité d'un ensemble de caractères. Par exemple ::" -#: library/stdtypes.rst:1878 +#: library/stdtypes.rst:1883 msgid "" "This static method returns a translation table usable for :meth:`str." "translate`." @@ -3096,7 +3109,7 @@ msgstr "" "Cette méthode statique renvoie une table de traduction utilisable pour :meth:" "`str.translate`." -#: library/stdtypes.rst:1880 +#: library/stdtypes.rst:1885 msgid "" "If there is only one argument, it must be a dictionary mapping Unicode " "ordinals (integers) or characters (strings of length 1) to Unicode ordinals, " @@ -3107,7 +3120,7 @@ msgstr "" "correspondre des points de code Unicode (nombres entiers) ou des caractères " "(chaînes de longueur 1) à des points de code Unicode." -#: library/stdtypes.rst:1885 +#: library/stdtypes.rst:1890 msgid "" "If there are two arguments, they must be strings of equal length, and in the " "resulting dictionary, each character in x will be mapped to the character at " @@ -3120,7 +3133,7 @@ msgstr "" "argument est fourni, ce doit être une chaîne dont chaque caractère " "correspondra à ``None`` dans le résultat." -#: library/stdtypes.rst:1893 +#: library/stdtypes.rst:1898 msgid "" "Split the string at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -3132,7 +3145,7 @@ msgstr "" "partie après le séparateur. Si le séparateur n'est pas trouvé, le triplet " "contiendra la chaîne elle-même, suivie de deux chaînes vides." -#: library/stdtypes.rst:1901 +#: library/stdtypes.rst:1906 msgid "" "If the string starts with the *prefix* string, return " "``string[len(prefix):]``. Otherwise, return a copy of the original string::" @@ -3140,7 +3153,7 @@ msgstr "" "Si la chaîne de caractères commence par la chaîne *prefix*, renvoie " "``string[len(prefix):]``. Sinon, renvoie une copie de la chaîne originale ::" -#: library/stdtypes.rst:1915 +#: library/stdtypes.rst:1920 msgid "" "If the string ends with the *suffix* string and that *suffix* is not empty, " "return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " @@ -3150,7 +3163,7 @@ msgstr "" "*suffix* n'est pas vide, renvoie ``string[:-len(suffix)]``. Sinon, renvoie " "une copie de la chaîne originale ::" -#: library/stdtypes.rst:1929 +#: library/stdtypes.rst:1934 msgid "" "Return a copy of the string with all occurrences of substring *old* replaced " "by *new*. If the optional argument *count* is given, only the first *count* " @@ -3160,7 +3173,7 @@ msgstr "" "chaîne *old* sont remplacés par *new*. Si l'argument optionnel *count* est " "donné, seules les *count* premières occurrences sont remplacées." -#: library/stdtypes.rst:1936 +#: library/stdtypes.rst:1941 msgid "" "Return the highest index in the string where substring *sub* is found, such " "that *sub* is contained within ``s[start:end]``. Optional arguments *start* " @@ -3171,7 +3184,7 @@ msgstr "" "arguments facultatifs *start* et *end* sont interprétés comme dans la " "notation des découpages. Renvoie ``-1`` en cas d'échec." -#: library/stdtypes.rst:1943 +#: library/stdtypes.rst:1948 msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found." @@ -3179,7 +3192,7 @@ msgstr "" "Comme :meth:`rfind` mais lève une exception :exc:`ValueError` lorsque la " "sous-chaîne *sub* est introuvable." -#: library/stdtypes.rst:1949 +#: library/stdtypes.rst:1954 msgid "" "Return the string right justified in a string of length *width*. Padding is " "done using the specified *fillchar* (default is an ASCII space). The " @@ -3190,7 +3203,7 @@ msgstr "" "défaut est un espace ASCII). La chaîne d'origine est renvoyée si *width* est " "inférieure ou égale à ``len(s)``." -#: library/stdtypes.rst:1956 +#: library/stdtypes.rst:1961 msgid "" "Split the string at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -3202,7 +3215,7 @@ msgstr "" "partie après le séparateur. Si le séparateur n'est pas trouvé, le triplet " "contiendra deux chaînes vides, puis par la chaîne elle-même." -#: library/stdtypes.rst:1964 +#: library/stdtypes.rst:1969 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done, the " @@ -3217,7 +3230,7 @@ msgstr "" "par la droite, :meth:`rsplit` se comporte comme :meth:`split` qui est décrit " "en détail ci-dessous." -#: library/stdtypes.rst:1973 +#: library/stdtypes.rst:1978 msgid "" "Return a copy of the string with trailing characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -3231,7 +3244,7 @@ msgstr "" "L'argument *chars* n'est pas un suffixe : toutes les combinaisons de ses " "valeurs sont retirées ::" -#: library/stdtypes.rst:1983 +#: library/stdtypes.rst:1988 msgid "" "See :meth:`str.removesuffix` for a method that will remove a single suffix " "string rather than all of a set of characters. For example::" @@ -3239,7 +3252,7 @@ msgstr "" "Voir :meth:`str.removesuffix` pour une méthode qui supprime une seule chaîne " "de suffixe plutôt que la totalité d'un ensemble de caractères. Par exemple ::" -#: library/stdtypes.rst:1993 +#: library/stdtypes.rst:1998 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " @@ -3253,7 +3266,7 @@ msgstr "" "``maxsplit+1``). Si *maxsplit* n'est pas fourni, ou vaut ``-1``, le nombre " "de découpes n'est pas limité (Toutes les découpes possibles sont faites)." -#: library/stdtypes.rst:1999 +#: library/stdtypes.rst:2004 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " @@ -3267,15 +3280,15 @@ msgstr "" "caractères (par exemple, ``'1<>2<>3'.split('<>')`` renvoie ``['1', '2', " "'3']``). Découper une chaîne vide en spécifiant *sep* renvoie ``['']``." -#: library/stdtypes.rst:2021 library/stdtypes.rst:2141 -#: library/stdtypes.rst:3049 library/stdtypes.rst:3156 -#: library/stdtypes.rst:3197 library/stdtypes.rst:3239 -#: library/stdtypes.rst:3271 library/stdtypes.rst:3321 -#: library/stdtypes.rst:3390 library/stdtypes.rst:3414 +#: library/stdtypes.rst:2026 library/stdtypes.rst:2146 +#: library/stdtypes.rst:3060 library/stdtypes.rst:3167 +#: library/stdtypes.rst:3208 library/stdtypes.rst:3250 +#: library/stdtypes.rst:3282 library/stdtypes.rst:3332 +#: library/stdtypes.rst:3401 library/stdtypes.rst:3425 msgid "For example::" msgstr "Par exemple ::" -#: library/stdtypes.rst:2014 +#: library/stdtypes.rst:2019 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive whitespace are regarded as a single separator, " @@ -3291,7 +3304,7 @@ msgstr "" "diviser une chaîne vide ou une chaîne composée d'espaces avec un séparateur " "``None`` renvoie ``[]``." -#: library/stdtypes.rst:2036 +#: library/stdtypes.rst:2041 msgid "" "Return a list of the lines in the string, breaking at line boundaries. Line " "breaks are not included in the resulting list unless *keepends* is given and " @@ -3301,7 +3314,7 @@ msgstr "" "niveau des limites des lignes. Les sauts de ligne ne sont pas inclus dans la " "liste des résultats, sauf si *keepends* est donné, et est vrai." -#: library/stdtypes.rst:2040 +#: library/stdtypes.rst:2045 msgid "" "This method splits on the following line boundaries. In particular, the " "boundaries are a superset of :term:`universal newlines`." @@ -3309,107 +3322,107 @@ msgstr "" "Cette méthode découpe sur les limites de ligne suivantes. Ces limites sont " "un sur ensemble de :term:`universal newlines`." -#: library/stdtypes.rst:2044 +#: library/stdtypes.rst:2049 msgid "Representation" msgstr "Représentation" -#: library/stdtypes.rst:2044 +#: library/stdtypes.rst:2049 msgid "Description" msgstr "Description" -#: library/stdtypes.rst:2046 +#: library/stdtypes.rst:2051 msgid "``\\n``" msgstr "``\\n``" -#: library/stdtypes.rst:2046 +#: library/stdtypes.rst:2051 msgid "Line Feed" msgstr "Saut de ligne" -#: library/stdtypes.rst:2048 +#: library/stdtypes.rst:2053 msgid "``\\r``" msgstr "``\\r``" -#: library/stdtypes.rst:2048 +#: library/stdtypes.rst:2053 msgid "Carriage Return" msgstr "Retour chariot" -#: library/stdtypes.rst:2050 +#: library/stdtypes.rst:2055 msgid "``\\r\\n``" msgstr "``\\r\\n``" -#: library/stdtypes.rst:2050 +#: library/stdtypes.rst:2055 msgid "Carriage Return + Line Feed" msgstr "Retour chariot + saut de ligne" -#: library/stdtypes.rst:2052 +#: library/stdtypes.rst:2057 msgid "``\\v`` or ``\\x0b``" msgstr "``\\v`` or ``\\x0b``" -#: library/stdtypes.rst:2052 +#: library/stdtypes.rst:2057 msgid "Line Tabulation" msgstr "Tabulation verticale" -#: library/stdtypes.rst:2054 +#: library/stdtypes.rst:2059 msgid "``\\f`` or ``\\x0c``" msgstr "``\\f`` or ``\\x0c``" -#: library/stdtypes.rst:2054 +#: library/stdtypes.rst:2059 msgid "Form Feed" msgstr "Saut de page" -#: library/stdtypes.rst:2056 +#: library/stdtypes.rst:2061 msgid "``\\x1c``" msgstr "``\\x1c``" -#: library/stdtypes.rst:2056 +#: library/stdtypes.rst:2061 msgid "File Separator" msgstr "Séparateur de fichiers" -#: library/stdtypes.rst:2058 +#: library/stdtypes.rst:2063 msgid "``\\x1d``" msgstr "``\\x1d``" -#: library/stdtypes.rst:2058 +#: library/stdtypes.rst:2063 msgid "Group Separator" msgstr "Séparateur de groupes" -#: library/stdtypes.rst:2060 +#: library/stdtypes.rst:2065 msgid "``\\x1e``" msgstr "``\\x1e``" -#: library/stdtypes.rst:2060 +#: library/stdtypes.rst:2065 msgid "Record Separator" msgstr "Séparateur d'enregistrements" -#: library/stdtypes.rst:2062 +#: library/stdtypes.rst:2067 msgid "``\\x85``" msgstr "``\\x85``" -#: library/stdtypes.rst:2062 +#: library/stdtypes.rst:2067 msgid "Next Line (C1 Control Code)" msgstr "Ligne suivante (code de contrôle *C1*)" -#: library/stdtypes.rst:2064 +#: library/stdtypes.rst:2069 msgid "``\\u2028``" msgstr "``\\u2028``" -#: library/stdtypes.rst:2064 +#: library/stdtypes.rst:2069 msgid "Line Separator" msgstr "Séparateur de ligne" -#: library/stdtypes.rst:2066 +#: library/stdtypes.rst:2071 msgid "``\\u2029``" msgstr "``\\u2029``" -#: library/stdtypes.rst:2066 +#: library/stdtypes.rst:2071 msgid "Paragraph Separator" msgstr "Séparateur de paragraphe" -#: library/stdtypes.rst:2071 +#: library/stdtypes.rst:2076 msgid "``\\v`` and ``\\f`` added to list of line boundaries." msgstr "``\\v`` et ``\\f`` ajoutés à la liste des limites de lignes." -#: library/stdtypes.rst:2080 +#: library/stdtypes.rst:2085 msgid "" "Unlike :meth:`~str.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -3419,11 +3432,11 @@ msgstr "" "renvoie une liste vide pour la chaîne vide, et un saut de ligne à la fin ne " "se traduit pas par une ligne supplémentaire ::" -#: library/stdtypes.rst:2089 +#: library/stdtypes.rst:2094 msgid "For comparison, ``split('\\n')`` gives::" msgstr "À titre de comparaison, ``split('\\n')`` donne ::" -#: library/stdtypes.rst:2099 +#: library/stdtypes.rst:2104 msgid "" "Return ``True`` if string starts with the *prefix*, otherwise return " "``False``. *prefix* can also be a tuple of prefixes to look for. With " @@ -3435,7 +3448,7 @@ msgstr "" "*start* est donné, la comparaison commence à cette position, et lorsque " "*end* est donné, la comparaison s'arrête à celle ci." -#: library/stdtypes.rst:2107 +#: library/stdtypes.rst:2112 msgid "" "Return a copy of the string with the leading and trailing characters " "removed. The *chars* argument is a string specifying the set of characters " @@ -3449,7 +3462,7 @@ msgstr "" "L'argument *chars* est pas un préfixe ni un suffixe, toutes les combinaisons " "de ses valeurs sont supprimées ::" -#: library/stdtypes.rst:2118 +#: library/stdtypes.rst:2123 msgid "" "The outermost leading and trailing *chars* argument values are stripped from " "the string. Characters are removed from the leading end until reaching a " @@ -3461,7 +3474,7 @@ msgstr "" "figurant pas dans le jeu de caractères dans *chars*. La même opération à " "lieu par la droite. Par exemple ::" -#: library/stdtypes.rst:2131 +#: library/stdtypes.rst:2136 msgid "" "Return a copy of the string with uppercase characters converted to lowercase " "and vice versa. Note that it is not necessarily true that ``s.swapcase()." @@ -3471,7 +3484,7 @@ msgstr "" "convertis en minuscules et vice versa. Notez qu'il est pas nécessairement " "vrai que ``s.swapcase().swapcase() == s``." -#: library/stdtypes.rst:2138 +#: library/stdtypes.rst:2143 msgid "" "Return a titlecased version of the string where words start with an " "uppercase character and the remaining characters are lowercase." @@ -3479,7 +3492,7 @@ msgstr "" "Renvoie une version en initiales majuscules de la chaîne où les mots " "commencent par une capitale et les caractères restants sont en minuscules." -#: library/stdtypes.rst:3358 +#: library/stdtypes.rst:3369 msgid "" "The algorithm uses a simple language-independent definition of a word as " "groups of consecutive letters. The definition works in many contexts but it " @@ -3492,13 +3505,13 @@ msgstr "" "apostrophes (typiquement de la forme possessive en Anglais) forment les " "limites de mot, ce qui n'est pas toujours le résultat souhaité ::" -#: library/stdtypes.rst:2154 +#: library/stdtypes.rst:2159 msgid "" "The :func:`string.capwords` function does not have this problem, as it " "splits words on spaces only." msgstr "" -#: library/stdtypes.rst:2157 +#: library/stdtypes.rst:2162 #, fuzzy msgid "" "Alternatively, a workaround for apostrophes can be constructed using regular " @@ -3507,7 +3520,7 @@ msgstr "" "Une solution pour contourner le problème des apostrophes peut être obtenue " "en utilisant des expressions rationnelles ::" -#: library/stdtypes.rst:2172 +#: library/stdtypes.rst:2177 msgid "" "Return a copy of the string in which each character has been mapped through " "the given translation table. The table must be an object that implements " @@ -3527,7 +3540,7 @@ msgstr "" "pour supprimer le caractère de la chaîne de renvoyée soit lever une " "exception :exc:`LookupError` pour ne pas changer le caractère." -#: library/stdtypes.rst:2181 +#: library/stdtypes.rst:2186 msgid "" "You can use :meth:`str.maketrans` to create a translation map from character-" "to-character mappings in different formats." @@ -3535,7 +3548,7 @@ msgstr "" "Vous pouvez utiliser :meth:`str.maketrans` pour créer une table de " "correspondances de caractères dans différents formats." -#: library/stdtypes.rst:2184 +#: library/stdtypes.rst:2189 msgid "" "See also the :mod:`codecs` module for a more flexible approach to custom " "character mappings." @@ -3543,7 +3556,7 @@ msgstr "" "Voir aussi le module :mod:`codecs` pour une approche plus souple de " "changements de caractères par correspondance." -#: library/stdtypes.rst:2190 +#: library/stdtypes.rst:2195 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "uppercase. Note that ``s.upper().isupper()`` might be ``False`` if ``s`` " @@ -3557,7 +3570,7 @@ msgstr "" "catégorie Unicode d'un caractère du résultat n'est pas \"Lu\" (*Letter*, " "*uppercase*), mais par exemple \"Lt\" (*Letter*, *titlecase*)." -#: library/stdtypes.rst:2196 +#: library/stdtypes.rst:2201 msgid "" "The uppercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3565,7 +3578,7 @@ msgstr "" "L'algorithme de capitalisation utilisé est décrit dans la section 3.13 de la " "norme Unicode." -#: library/stdtypes.rst:2202 +#: library/stdtypes.rst:2207 msgid "" "Return a copy of the string left filled with ASCII ``'0'`` digits to make a " "string of length *width*. A leading sign prefix (``'+'``/``'-'``) is handled " @@ -3578,11 +3591,11 @@ msgstr "" "rembourrage *après* le caractère désigne plutôt qu'avant. La chaîne " "d'origine est renvoyée si *width* est inférieur ou égale à ``len(s)``." -#: library/stdtypes.rst:2220 +#: library/stdtypes.rst:2225 msgid "``printf``-style String Formatting" msgstr "Formatage de chaines à la ``printf``" -#: library/stdtypes.rst:2233 +#: library/stdtypes.rst:2238 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -3600,7 +3613,7 @@ msgstr "" "ces alternatives apporte son lot d'avantages et inconvénients en matière de " "simplicité, de flexibilité et/ou de généralisation possible." -#: library/stdtypes.rst:2241 +#: library/stdtypes.rst:2246 msgid "" "String objects have one unique built-in operation: the ``%`` operator " "(modulo). This is also known as the string *formatting* or *interpolation* " @@ -3616,7 +3629,7 @@ msgstr "" "plusieurs éléments de *values*. L'effet est similaire à la fonction :c:func:" "`sprintf` du langage C." -#: library/stdtypes.rst:2247 +#: library/stdtypes.rst:2252 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -3628,7 +3641,7 @@ msgstr "" "nombre d'éléments spécifiés par la chaîne de format, ou un seul objet de " "correspondances ( *mapping object*, par exemple, un dictionnaire)." -#: library/stdtypes.rst:3469 +#: library/stdtypes.rst:3480 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" @@ -3636,11 +3649,11 @@ msgstr "" "Un indicateur de conversion contient deux ou plusieurs caractères et " "comporte les éléments suivants, qui doivent apparaître dans cet ordre :" -#: library/stdtypes.rst:3472 +#: library/stdtypes.rst:3483 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "Le caractère ``'%'``, qui marque le début du marqueur." -#: library/stdtypes.rst:3474 +#: library/stdtypes.rst:3485 msgid "" "Mapping key (optional), consisting of a parenthesised sequence of characters " "(for example, ``(somename)``)." @@ -3648,7 +3661,7 @@ msgstr "" "La clé de correspondance (facultative), composée d'une suite de caractères " "entre parenthèse (par exemple, ``(somename)``)." -#: library/stdtypes.rst:3477 +#: library/stdtypes.rst:3488 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." @@ -3656,7 +3669,7 @@ msgstr "" "Des options de conversion, facultatives, qui affectent le résultat de " "certains types de conversion." -#: library/stdtypes.rst:3480 +#: library/stdtypes.rst:3491 msgid "" "Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " "actual width is read from the next element of the tuple in *values*, and the " @@ -3666,7 +3679,7 @@ msgstr "" "est lue de l'élément suivant du *n*-uplet *values*, et l'objet à convertir " "vient après la largeur de champ minimale et la précision facultative." -#: library/stdtypes.rst:3484 +#: library/stdtypes.rst:3495 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " "If specified as ``'*'`` (an asterisk), the actual precision is read from the " @@ -3678,15 +3691,15 @@ msgstr "" "lue à partir de l'élément suivant du *n*-uplet *values* et la valeur à " "convertir vient ensuite." -#: library/stdtypes.rst:3489 +#: library/stdtypes.rst:3500 msgid "Length modifier (optional)." msgstr "Modificateur de longueur (facultatif)." -#: library/stdtypes.rst:3491 +#: library/stdtypes.rst:3502 msgid "Conversion type." msgstr "Type de conversion." -#: library/stdtypes.rst:2281 +#: library/stdtypes.rst:2286 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the string *must* include a parenthesised mapping key into that " @@ -3699,7 +3712,7 @@ msgstr "" "caractère ``'%'``. La clé indique quelle valeur du dictionnaire doit être " "formatée. Par exemple :" -#: library/stdtypes.rst:3502 +#: library/stdtypes.rst:3513 msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." @@ -3707,36 +3720,36 @@ msgstr "" "Dans ce cas, aucune ``*`` ne peuvent se trouver dans le format (car ces " "``*`` nécessitent une liste (accès séquentiel) de paramètres)." -#: library/stdtypes.rst:3505 +#: library/stdtypes.rst:3516 msgid "The conversion flag characters are:" msgstr "Les caractères indicateurs de conversion sont :" -#: library/stdtypes.rst:3514 +#: library/stdtypes.rst:3525 msgid "Flag" msgstr "Option" -#: library/stdtypes.rst:3516 +#: library/stdtypes.rst:3527 msgid "``'#'``" msgstr "``'#'``" -#: library/stdtypes.rst:3516 +#: library/stdtypes.rst:3527 msgid "" "The value conversion will use the \"alternate form\" (where defined below)." msgstr "La conversion utilisera la \"forme alternative\" (définie ci-dessous)." -#: library/stdtypes.rst:3519 +#: library/stdtypes.rst:3530 msgid "``'0'``" msgstr "``'0'``" -#: library/stdtypes.rst:3519 +#: library/stdtypes.rst:3530 msgid "The conversion will be zero padded for numeric values." msgstr "Les valeurs numériques converties seront complétée de zéros." -#: library/stdtypes.rst:3521 +#: library/stdtypes.rst:3532 msgid "``'-'``" msgstr "``'-'``" -#: library/stdtypes.rst:3521 +#: library/stdtypes.rst:3532 msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." @@ -3744,11 +3757,11 @@ msgstr "" "La valeur convertie est ajustée à gauche (remplace la conversion ``'0'`` si " "les deux sont données)." -#: library/stdtypes.rst:3524 +#: library/stdtypes.rst:3535 msgid "``' '``" msgstr "``' '``" -#: library/stdtypes.rst:3524 +#: library/stdtypes.rst:3535 msgid "" "(a space) A blank should be left before a positive number (or empty string) " "produced by a signed conversion." @@ -3756,11 +3769,11 @@ msgstr "" "(un espace) Un espace doit être laissé avant un nombre positif (ou chaîne " "vide) produite par la conversion d'une valeur signée." -#: library/stdtypes.rst:3527 +#: library/stdtypes.rst:3538 msgid "``'+'``" msgstr "``'+'``" -#: library/stdtypes.rst:3527 +#: library/stdtypes.rst:3538 msgid "" "A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " "a \"space\" flag)." @@ -3768,7 +3781,7 @@ msgstr "" "Un caractère de signe (``'+'`` ou ``'-'``) précède la valeur convertie " "(remplace le marqueur \"espace\")." -#: library/stdtypes.rst:3531 +#: library/stdtypes.rst:3542 msgid "" "A length modifier (``h``, ``l``, or ``L``) may be present, but is ignored as " "it is not necessary for Python -- so e.g. ``%ld`` is identical to ``%d``." @@ -3777,91 +3790,91 @@ msgstr "" "est ignoré car il est pas nécessaire pour Python, donc par exemple ``%ld`` " "est identique à ``%d``." -#: library/stdtypes.rst:3534 +#: library/stdtypes.rst:3545 msgid "The conversion types are:" msgstr "Les types utilisables dans les conversion sont :" -#: library/stdtypes.rst:3537 +#: library/stdtypes.rst:3548 msgid "Conversion" msgstr "Conversion" -#: library/stdtypes.rst:3539 +#: library/stdtypes.rst:3550 msgid "``'d'``" msgstr "``'d'``" -#: library/stdtypes.rst:2329 library/stdtypes.rst:3541 +#: library/stdtypes.rst:2334 library/stdtypes.rst:3552 msgid "Signed integer decimal." msgstr "Entier décimal signé." -#: library/stdtypes.rst:3541 +#: library/stdtypes.rst:3552 msgid "``'i'``" msgstr "``'i'``" -#: library/stdtypes.rst:3543 +#: library/stdtypes.rst:3554 msgid "``'o'``" msgstr "``'o'``" -#: library/stdtypes.rst:3543 +#: library/stdtypes.rst:3554 msgid "Signed octal value." msgstr "Valeur octale signée." -#: library/stdtypes.rst:3545 +#: library/stdtypes.rst:3556 msgid "``'u'``" msgstr "``'u'``" -#: library/stdtypes.rst:3545 +#: library/stdtypes.rst:3556 msgid "Obsolete type -- it is identical to ``'d'``." msgstr "Type obsolète — identique à ``'d'``." -#: library/stdtypes.rst:3547 +#: library/stdtypes.rst:3558 msgid "``'x'``" msgstr "``'x'``" -#: library/stdtypes.rst:3547 +#: library/stdtypes.rst:3558 msgid "Signed hexadecimal (lowercase)." msgstr "Hexadécimal signé (en minuscules)." -#: library/stdtypes.rst:3549 +#: library/stdtypes.rst:3560 msgid "``'X'``" msgstr "``'X'``" -#: library/stdtypes.rst:3549 +#: library/stdtypes.rst:3560 msgid "Signed hexadecimal (uppercase)." msgstr "Hexadécimal signé (capitales)." -#: library/stdtypes.rst:3551 +#: library/stdtypes.rst:3562 msgid "``'e'``" msgstr "``'e'``" -#: library/stdtypes.rst:3551 +#: library/stdtypes.rst:3562 msgid "Floating point exponential format (lowercase)." msgstr "Format exponentiel pour un *float* (minuscule)." -#: library/stdtypes.rst:3553 +#: library/stdtypes.rst:3564 msgid "``'E'``" msgstr "``'E'``" -#: library/stdtypes.rst:3553 +#: library/stdtypes.rst:3564 msgid "Floating point exponential format (uppercase)." msgstr "Format exponentiel pour un *float* (en capitales)." -#: library/stdtypes.rst:3555 +#: library/stdtypes.rst:3566 msgid "``'f'``" msgstr "``'f'``" -#: library/stdtypes.rst:2345 library/stdtypes.rst:3557 +#: library/stdtypes.rst:2350 library/stdtypes.rst:3568 msgid "Floating point decimal format." msgstr "Format décimal pour un *float*." -#: library/stdtypes.rst:3557 +#: library/stdtypes.rst:3568 msgid "``'F'``" msgstr "``'F'``" -#: library/stdtypes.rst:3559 +#: library/stdtypes.rst:3570 msgid "``'g'``" msgstr "``'g'``" -#: library/stdtypes.rst:3559 +#: library/stdtypes.rst:3570 msgid "" "Floating point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3870,11 +3883,11 @@ msgstr "" "inférieur à ``-4`` ou pas plus petit que la précision, sinon le format " "décimal." -#: library/stdtypes.rst:3563 +#: library/stdtypes.rst:3574 msgid "``'G'``" msgstr "``'G'``" -#: library/stdtypes.rst:3563 +#: library/stdtypes.rst:3574 msgid "" "Floating point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3883,51 +3896,51 @@ msgstr "" "inférieur à ``-4`` ou pas plus petit que la précision, sinon le format " "décimal." -#: library/stdtypes.rst:3567 +#: library/stdtypes.rst:3578 msgid "``'c'``" msgstr "``'c'``" -#: library/stdtypes.rst:2355 +#: library/stdtypes.rst:2360 msgid "Single character (accepts integer or single character string)." msgstr "" "Un seul caractère (accepte des entiers ou une chaîne d'un seul caractère)." -#: library/stdtypes.rst:3580 +#: library/stdtypes.rst:3591 msgid "``'r'``" msgstr "``'r'``" -#: library/stdtypes.rst:2358 +#: library/stdtypes.rst:2363 msgid "String (converts any Python object using :func:`repr`)." msgstr "String (convertit n'importe quel objet Python avec :func:`repr`)." -#: library/stdtypes.rst:3574 +#: library/stdtypes.rst:3585 msgid "``'s'``" msgstr "``'s'``" -#: library/stdtypes.rst:2361 +#: library/stdtypes.rst:2366 msgid "String (converts any Python object using :func:`str`)." msgstr "String (convertit n'importe quel objet Python avec :func:`str`)." -#: library/stdtypes.rst:3577 +#: library/stdtypes.rst:3588 msgid "``'a'``" msgstr "``'a'``" -#: library/stdtypes.rst:2364 +#: library/stdtypes.rst:2369 msgid "String (converts any Python object using :func:`ascii`)." msgstr "" "String (convertit n'importe quel objet Python en utilisant :func:`ascii`)." -#: library/stdtypes.rst:3583 +#: library/stdtypes.rst:3594 msgid "``'%'``" msgstr "``'%'``" -#: library/stdtypes.rst:3583 +#: library/stdtypes.rst:3594 msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" "Aucun argument n'est converti, donne un caractère de ``'%'`` dans le " "résultat." -#: library/stdtypes.rst:3590 +#: library/stdtypes.rst:3601 msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -3935,7 +3948,7 @@ msgstr "" "La forme alternative entraîne l'insertion d'un préfixe octal (``'0o'``) " "avant le premier chiffre." -#: library/stdtypes.rst:3594 +#: library/stdtypes.rst:3605 msgid "" "The alternate form causes a leading ``'0x'`` or ``'0X'`` (depending on " "whether the ``'x'`` or ``'X'`` format was used) to be inserted before the " @@ -3945,7 +3958,7 @@ msgstr "" "(respectivement pour les formats ``'x'`` et ``'X'``) avant le premier " "chiffre." -#: library/stdtypes.rst:3598 +#: library/stdtypes.rst:3609 msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." @@ -3953,14 +3966,14 @@ msgstr "" "La forme alternative implique la présence d'un point décimal, même si aucun " "chiffre ne le suit." -#: library/stdtypes.rst:3601 +#: library/stdtypes.rst:3612 msgid "" "The precision determines the number of digits after the decimal point and " "defaults to 6." msgstr "" "La précision détermine le nombre de chiffres après la virgule, 6 par défaut." -#: library/stdtypes.rst:3605 +#: library/stdtypes.rst:3616 msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." @@ -3968,7 +3981,7 @@ msgstr "" "La forme alternative implique la présence d'un point décimal et les zéros " "non significatifs sont conservés (ils ne le seraient pas autrement)." -#: library/stdtypes.rst:3608 +#: library/stdtypes.rst:3619 msgid "" "The precision determines the number of significant digits before and after " "the decimal point and defaults to 6." @@ -3976,15 +3989,15 @@ msgstr "" "La précision détermine le nombre de chiffres significatifs avant et après la " "virgule. 6 par défaut." -#: library/stdtypes.rst:3612 +#: library/stdtypes.rst:3623 msgid "If precision is ``N``, the output is truncated to ``N`` characters." msgstr "Si la précision est ``N``, la sortie est tronquée à ``N`` caractères." -#: library/stdtypes.rst:3621 +#: library/stdtypes.rst:3632 msgid "See :pep:`237`." msgstr "Voir la :pep:`237`." -#: library/stdtypes.rst:2401 +#: library/stdtypes.rst:2406 msgid "" "Since Python strings have an explicit length, ``%s`` conversions do not " "assume that ``'\\0'`` is the end of the string." @@ -3992,7 +4005,7 @@ msgstr "" "Puisque les chaînes Python ont une longueur explicite, les conversions " "``%s`` ne considèrent pas ``'\\0'`` comme la fin de la chaîne." -#: library/stdtypes.rst:2406 +#: library/stdtypes.rst:2411 msgid "" "``%f`` conversions for numbers whose absolute value is over 1e50 are no " "longer replaced by ``%g`` conversions." @@ -4000,7 +4013,7 @@ msgstr "" "Les conversions ``%f`` pour nombres dont la valeur absolue est supérieure à " "``1e50`` ne sont plus remplacés par des conversions ``%g``." -#: library/stdtypes.rst:2417 +#: library/stdtypes.rst:2422 msgid "" "Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" @@ -4008,7 +4021,7 @@ msgstr "" "Séquences Binaires --- :class:`bytes`, :class:`bytearray`, :class:" "`memoryview`" -#: library/stdtypes.rst:2425 +#: library/stdtypes.rst:2430 msgid "" "The core built-in types for manipulating binary data are :class:`bytes` and :" "class:`bytearray`. They are supported by :class:`memoryview` which uses the :" @@ -4020,7 +4033,7 @@ msgstr "" "qui utilise le :ref:`buffer protocol ` pour accéder à la " "mémoire d'autres objets binaires sans avoir besoin d'en faire une copie." -#: library/stdtypes.rst:2430 +#: library/stdtypes.rst:2435 msgid "" "The :mod:`array` module supports efficient storage of basic data types like " "32-bit integers and IEEE754 double-precision floating values." @@ -4028,11 +4041,11 @@ msgstr "" "Le module :mod:`array` permet le stockage efficace de types basiques comme " "les entiers de 32 bits et les *float* double précision IEEE754." -#: library/stdtypes.rst:2436 +#: library/stdtypes.rst:2441 msgid "Bytes Objects" msgstr "Objets *bytes*" -#: library/stdtypes.rst:2440 +#: library/stdtypes.rst:2445 msgid "" "Bytes objects are immutable sequences of single bytes. Since many major " "binary protocols are based on the ASCII text encoding, bytes objects offer " @@ -4044,7 +4057,7 @@ msgstr "" "méthodes qui ne sont valables que lors de la manipulation de données ASCII " "et sont étroitement liés aux objets *str* dans bien d'autres aspects." -#: library/stdtypes.rst:2447 +#: library/stdtypes.rst:2452 msgid "" "Firstly, the syntax for bytes literals is largely the same as that for " "string literals, except that a ``b`` prefix is added:" @@ -4052,25 +4065,25 @@ msgstr "" "Tout d'abord, la syntaxe des *bytes* littéraux est en grande partie la même " "que pour les chaînes littérales, en dehors du préfixe ``b`` :" -#: library/stdtypes.rst:2450 +#: library/stdtypes.rst:2455 msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" msgstr "" "Les guillemets simples : ``b'autorisent aussi les guillemets \"doubles\"'``" -#: library/stdtypes.rst:2451 +#: library/stdtypes.rst:2456 #, fuzzy msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" msgstr "" "Les guillemets doubles : ``b\"permettent aussi les guillemets 'simples'\"``." -#: library/stdtypes.rst:2452 +#: library/stdtypes.rst:2457 msgid "" "Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" msgstr "" "Les guillemets triples : ``b'''3 single quotes'''``, ``b\"\"\"3 double " "quotes\"\"\"``" -#: library/stdtypes.rst:2454 +#: library/stdtypes.rst:2459 msgid "" "Only ASCII characters are permitted in bytes literals (regardless of the " "declared source code encoding). Any binary values over 127 must be entered " @@ -4081,7 +4094,7 @@ msgstr "" "delà de 127 doivent être entrées dans littéraux de *bytes* en utilisant une " "séquence d'échappement appropriée." -#: library/stdtypes.rst:2458 +#: library/stdtypes.rst:2463 msgid "" "As with string literals, bytes literals may also use a ``r`` prefix to " "disable processing of escape sequences. See :ref:`strings` for more about " @@ -4093,7 +4106,7 @@ msgstr "" "différentes formes littérales de *bytes*, y compris les séquences " "d'échappement supportées." -#: library/stdtypes.rst:2462 +#: library/stdtypes.rst:2467 msgid "" "While bytes literals and representations are based on ASCII text, bytes " "objects actually behave like immutable sequences of integers, with each " @@ -4116,7 +4129,7 @@ msgstr "" "sur des données binaires qui ne sont pas compatibles ASCII conduit " "généralement à leur corruption)." -#: library/stdtypes.rst:2472 +#: library/stdtypes.rst:2477 msgid "" "In addition to the literal forms, bytes objects can be created in a number " "of other ways:" @@ -4124,26 +4137,26 @@ msgstr "" "En plus des formes littérales, des objets *bytes* peuvent être créés par de " "nombreux moyens :" -#: library/stdtypes.rst:2475 +#: library/stdtypes.rst:2480 msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" msgstr "" "Un objet *bytes* rempli de zéros d'une longueur spécifiée : ``bytes(10)``" -#: library/stdtypes.rst:2476 +#: library/stdtypes.rst:2481 msgid "From an iterable of integers: ``bytes(range(20))``" msgstr "D'un itérable d'entiers : ``bytes(range(20))``" -#: library/stdtypes.rst:2477 +#: library/stdtypes.rst:2482 msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" msgstr "" "Copier des données binaires existantes via le *buffer protocol* : " "``bytes(obj)``" -#: library/stdtypes.rst:2479 +#: library/stdtypes.rst:2484 msgid "Also see the :ref:`bytes ` built-in." msgstr "Voir aussi la fonction native :ref:`bytes `." -#: library/stdtypes.rst:2481 +#: library/stdtypes.rst:2486 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4155,7 +4168,7 @@ msgstr "" "données binaires. Par conséquent, le type *bytes* a une méthode de classe " "pour lire des données dans ce format :" -#: library/stdtypes.rst:2487 +#: library/stdtypes.rst:2492 msgid "" "This :class:`bytes` class method returns a bytes object, decoding the given " "string object. The string must contain two hexadecimal digits per byte, " @@ -4165,7 +4178,7 @@ msgstr "" "la chaîne donnée. La chaîne doit contenir deux chiffres hexadécimaux par " "octet, les espaces ASCII sont ignorés." -#: library/stdtypes.rst:2494 +#: library/stdtypes.rst:2499 msgid "" ":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " "spaces." @@ -4173,7 +4186,7 @@ msgstr "" ":meth:`bytes.fromhex` saute maintenant dans la chaîne tous les caractères " "ASCII \"blancs\", pas seulement les espaces." -#: library/stdtypes.rst:2498 +#: library/stdtypes.rst:2503 msgid "" "A reverse conversion function exists to transform a bytes object into its " "hexadecimal representation." @@ -4181,7 +4194,7 @@ msgstr "" "Une fonction de conversion inverse existe pour transformer un objet *bytes* " "en sa représentation hexadécimale." -#: library/stdtypes.rst:2588 +#: library/stdtypes.rst:2593 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." @@ -4189,7 +4202,7 @@ msgstr "" "Renvoie une chaîne contenant deux chiffres hexadécimaux pour chaque octet du " "*byte*." -#: library/stdtypes.rst:2509 +#: library/stdtypes.rst:2514 #, fuzzy msgid "" "If you want to make the hex string easier to read, you can specify a single " @@ -4205,7 +4218,7 @@ msgstr "" "Les valeurs positives calculent la position du séparateur en partant de la " "droite, les valeurs négatives de la gauche." -#: library/stdtypes.rst:2526 +#: library/stdtypes.rst:2531 msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." @@ -4214,7 +4227,7 @@ msgstr "" "et *bytes_per_sep* pour insérer des séparateurs entre les octets dans la " "sortie hexadécimale." -#: library/stdtypes.rst:2530 +#: library/stdtypes.rst:2535 msgid "" "Since bytes objects are sequences of integers (akin to a tuple), for a bytes " "object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " @@ -4226,7 +4239,7 @@ msgstr "" "que ``b[0:1]`` sera un objet *bytes* de longueur 1. (Cela contraste avec les " "chaînes, où l'indexation et le *slicing* donnent une chaîne de longueur 1.)" -#: library/stdtypes.rst:2535 +#: library/stdtypes.rst:2540 msgid "" "The representation of bytes objects uses the literal format (``b'...'``) " "since it is often more useful than e.g. ``bytes([46, 46, 46])``. You can " @@ -4236,11 +4249,11 @@ msgstr "" "est souvent plus utile que par exemple ``bytes([46, 46, 46])``. Vous pouvez " "toujours convertir un *bytes* en liste d'entiers en utilisant ``list(b)``." -#: library/stdtypes.rst:2543 +#: library/stdtypes.rst:2548 msgid "Bytearray Objects" msgstr "Objets *bytearray*" -#: library/stdtypes.rst:2547 +#: library/stdtypes.rst:2552 msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." @@ -4248,7 +4261,7 @@ msgstr "" "Les objets :class:`bytearray` sont l'équivalent muable des objets :class:" "`bytes`." -#: library/stdtypes.rst:2552 +#: library/stdtypes.rst:2557 msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" @@ -4256,27 +4269,27 @@ msgstr "" "Il n'y a pas de syntaxe littérale dédiée aux *bytearray*, ils sont toujours " "créés en appelant le constructeur :" -#: library/stdtypes.rst:2555 +#: library/stdtypes.rst:2560 msgid "Creating an empty instance: ``bytearray()``" msgstr "Créer une instance vide: ``bytearray()``" -#: library/stdtypes.rst:2556 +#: library/stdtypes.rst:2561 msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" msgstr "" "Créer une instance remplie de zéros d'une longueur donnée : ``bytearray(10)``" -#: library/stdtypes.rst:2557 +#: library/stdtypes.rst:2562 msgid "From an iterable of integers: ``bytearray(range(20))``" msgstr "À partir d'un itérable d'entiers : ``bytearray(range(20))``" -#: library/stdtypes.rst:2558 +#: library/stdtypes.rst:2563 msgid "" "Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" msgstr "" "Copie des données binaires existantes via le *buffer protocol* : " "``bytearray(b'Hi!')``" -#: library/stdtypes.rst:2560 +#: library/stdtypes.rst:2565 msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " @@ -4286,11 +4299,11 @@ msgstr "" "séquence :ref:`muables ` en plus des opérations communes " "de *bytes* et *bytearray* décrites dans :ref:`bytes-methods`." -#: library/stdtypes.rst:2564 +#: library/stdtypes.rst:2569 msgid "Also see the :ref:`bytearray ` built-in." msgstr "Voir aussi la fonction native :ref:`bytearray `." -#: library/stdtypes.rst:2566 +#: library/stdtypes.rst:2571 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4302,7 +4315,7 @@ msgstr "" "données binaires. Par conséquent, le type *bytearray* a une méthode de " "classe pour lire les données dans ce format :" -#: library/stdtypes.rst:2572 +#: library/stdtypes.rst:2577 msgid "" "This :class:`bytearray` class method returns bytearray object, decoding the " "given string object. The string must contain two hexadecimal digits per " @@ -4312,7 +4325,7 @@ msgstr "" "décodant la chaîne donnée. La chaîne doit contenir deux chiffres " "hexadécimaux par octet, les espaces ASCII sont ignorés." -#: library/stdtypes.rst:2579 +#: library/stdtypes.rst:2584 msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." @@ -4320,7 +4333,7 @@ msgstr "" ":meth:`bytearray.fromhex` saute maintenant tous les caractères \"blancs\" " "ASCII dans la chaîne, pas seulement les espaces." -#: library/stdtypes.rst:2583 +#: library/stdtypes.rst:2588 msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." @@ -4328,7 +4341,7 @@ msgstr "" "Une fonction de conversion inverse existe pour transformer un objet " "*bytearray* en sa représentation hexadécimale." -#: library/stdtypes.rst:2596 +#: library/stdtypes.rst:2601 #, fuzzy msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " @@ -4339,7 +4352,7 @@ msgstr "" "charge les paramètres optionnels *sep* et *bytes_per_sep* pour insérer des " "séparateurs entre les octets dans la sortie hexadécimale." -#: library/stdtypes.rst:2601 +#: library/stdtypes.rst:2606 msgid "" "Since bytearray objects are sequences of integers (akin to a list), for a " "bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " @@ -4352,7 +4365,7 @@ msgstr "" "chaînes de texte, où l'indexation et le *slicing* produit une chaîne de " "longueur 1)" -#: library/stdtypes.rst:2606 +#: library/stdtypes.rst:2611 msgid "" "The representation of bytearray objects uses the bytes literal format " "(``bytearray(b'...')``) since it is often more useful than e.g. " @@ -4364,11 +4377,11 @@ msgstr "" "exemple ``bytearray([46, 46, 46])``. Vous pouvez toujours convertir un objet " "*bytearray* en une liste de nombres entiers en utilisant ``list(b)``." -#: library/stdtypes.rst:2615 +#: library/stdtypes.rst:2620 msgid "Bytes and Bytearray Operations" msgstr "Opérations sur les *bytes* et *bytearray*" -#: library/stdtypes.rst:2620 +#: library/stdtypes.rst:2625 msgid "" "Both bytes and bytearray objects support the :ref:`common ` " "sequence operations. They interoperate not just with operands of the same " @@ -4383,7 +4396,7 @@ msgstr "" "opérations sans provoquer d'erreurs. Cependant, le type du résultat peut " "dépendre de l'ordre des opérandes." -#: library/stdtypes.rst:2628 +#: library/stdtypes.rst:2633 msgid "" "The methods on bytes and bytearray objects don't accept strings as their " "arguments, just as the methods on strings don't accept bytes as their " @@ -4393,11 +4406,11 @@ msgstr "" "comme arguments, tout comme les méthodes sur les chaînes n'acceptent pas les " "*bytes* comme arguments. Par exemple, vous devez écrire ::" -#: library/stdtypes.rst:2635 +#: library/stdtypes.rst:2640 msgid "and::" msgstr "et ::" -#: library/stdtypes.rst:2640 +#: library/stdtypes.rst:2645 msgid "" "Some bytes and bytearray operations assume the use of ASCII compatible " "binary formats, and hence should be avoided when working with arbitrary " @@ -4408,7 +4421,7 @@ msgstr "" "travaillez avec des données binaires arbitraires. Ces restrictions sont " "couvertes ci-dessous." -#: library/stdtypes.rst:2645 +#: library/stdtypes.rst:2650 msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." @@ -4416,7 +4429,7 @@ msgstr "" "Utiliser ces opérations basées sur l'ASCII pour manipuler des données " "binaires qui ne sont pas au format ASCII peut les corrompre." -#: library/stdtypes.rst:2648 +#: library/stdtypes.rst:2653 msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." @@ -4424,7 +4437,7 @@ msgstr "" "Les méthodes suivantes sur les *bytes* et *bytearray* peuvent être utilisées " "avec des données binaires arbitraires." -#: library/stdtypes.rst:2654 +#: library/stdtypes.rst:2659 msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -4434,8 +4447,8 @@ msgstr "" "séquence *sub* dans l'intervalle [*start*, *end*]. Les arguments facultatifs " "*start* et *end* sont interprétés comme pour un *slice*." -#: library/stdtypes.rst:2757 library/stdtypes.rst:2845 -#: library/stdtypes.rst:2858 +#: library/stdtypes.rst:2768 library/stdtypes.rst:2856 +#: library/stdtypes.rst:2869 msgid "" "The subsequence to search for may be any :term:`bytes-like object` or an " "integer in the range 0 to 255." @@ -4443,13 +4456,19 @@ msgstr "" "La sous-séquence à rechercher peut être un quelconque :term:`bytes-like " "object` ou un nombre entier compris entre 0 et 255." -#: library/stdtypes.rst:2769 library/stdtypes.rst:2848 -#: library/stdtypes.rst:2861 +#: library/stdtypes.rst:2666 +msgid "" +"If *sub* is empty, returns the number of empty slices between characters " +"which is the length of the bytes object plus one." +msgstr "" + +#: library/stdtypes.rst:2780 library/stdtypes.rst:2859 +#: library/stdtypes.rst:2872 msgid "Also accept an integer in the range 0 to 255 as the subsequence." msgstr "" "Accepte aussi un nombre entier compris entre 0 et 255 comme sous-séquence." -#: library/stdtypes.rst:2668 +#: library/stdtypes.rst:2676 msgid "" "If the binary data starts with the *prefix* string, return " "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " @@ -4459,18 +4478,18 @@ msgstr "" "``bytes[len(prefix):]``. Sinon, renvoie une copie des données binaires " "d'origine ::" -#: library/stdtypes.rst:2677 +#: library/stdtypes.rst:2685 #, fuzzy msgid "The *prefix* may be any :term:`bytes-like object`." msgstr "" "Le *prefix* peut être n'importe quel :term:`objet octet-compatible `." -#: library/stdtypes.rst:2703 library/stdtypes.rst:2926 -#: library/stdtypes.rst:2971 library/stdtypes.rst:3027 -#: library/stdtypes.rst:3115 library/stdtypes.rst:3282 -#: library/stdtypes.rst:3380 library/stdtypes.rst:3423 -#: library/stdtypes.rst:3625 +#: library/stdtypes.rst:2711 library/stdtypes.rst:2937 +#: library/stdtypes.rst:2982 library/stdtypes.rst:3038 +#: library/stdtypes.rst:3126 library/stdtypes.rst:3293 +#: library/stdtypes.rst:3391 library/stdtypes.rst:3434 +#: library/stdtypes.rst:3636 msgid "" "The bytearray version of this method does *not* operate in place - it always " "produces a new object, even if no changes were made." @@ -4479,7 +4498,7 @@ msgstr "" "produit toujours un nouvel objet, même si aucune modification n'a été " "effectuée." -#: library/stdtypes.rst:2690 +#: library/stdtypes.rst:2698 msgid "" "If the binary data ends with the *suffix* string and that *suffix* is not " "empty, return ``bytes[:-len(suffix)]``. Otherwise, return a copy of the " @@ -4488,20 +4507,22 @@ msgstr "" "Si les données binaires terminent par la chaîne *suffix*, renvoie ``bytes[:-" "len(suffix)]``. Sinon, renvoie une copie des données binaires d'origine ::" -#: library/stdtypes.rst:2699 +#: library/stdtypes.rst:2707 #, fuzzy msgid "The *suffix* may be any :term:`bytes-like object`." msgstr "Le *suffix* peut être n'importe quel :term:`bytes-like object`." -#: library/stdtypes.rst:2712 +#: library/stdtypes.rst:2720 +msgid "Return the bytes decoded to a :class:`str`." +msgstr "" + +#: library/stdtypes.rst:2725 +#, fuzzy msgid "" -"Return a string decoded from the given bytes. Default encoding is " -"``'utf-8'``. *errors* may be given to set a different error handling " -"scheme. The default for *errors* is ``'strict'``, meaning that encoding " -"errors raise a :exc:`UnicodeError`. Other possible values are ``'ignore'``, " -"``'replace'`` and any other name registered via :func:`codecs." -"register_error`, see section :ref:`error-handlers`. For a list of possible " -"encodings, see section :ref:`standard-encodings`." +"*errors* controls how decoding errors are handled. If ``'strict'`` (the " +"default), a :exc:`UnicodeError` exception is raised. Other possible values " +"are ``'ignore'``, ``'replace'``, and any other name registered via :func:" +"`codecs.register_error`. See :ref:`error-handlers` for details." msgstr "" "Décode les octets donnés, et le renvoie sous forme d'une chaîne de " "caractères. L'encodage par défaut est ``'utf-8'``. *errors* peut être donné " @@ -4512,32 +4533,25 @@ msgstr "" "register_error`, voir la section :ref:`error-handlers`. Pour une liste des " "encodages possibles, voir la section :ref:`standard-encodings`." -#: library/stdtypes.rst:2720 +#: library/stdtypes.rst:2731 msgid "" -"By default, the *errors* argument is not checked for best performances, but " -"only used at the first decoding error. Enable the :ref:`Python Development " -"Mode `, or use a :ref:`debug build ` to check *errors*." +"For performance reasons, the value of *errors* is not checked for validity " +"unless a decoding error actually occurs, :ref:`devmode` is enabled or a :ref:" +"`debug build ` is used." msgstr "" -"Par défaut, pour de meilleures performances, l'argument *errors* n'est pas " -"testé, mais seulement utilisé à la première erreur d'encodage. Activez le :" -"ref:`Python Development Mode `, ou utilisez le :ref:`mode de " -"débogage ` pour vérifier *errors*." -#: library/stdtypes.rst:2726 +#: library/stdtypes.rst:2737 +#, fuzzy msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" -"`bytes-like object` directly, without needing to make a temporary bytes or " -"bytearray object." +"`bytes-like object` directly, without needing to make a temporary :class:`!" +"bytes` or :class:`!bytearray` object." msgstr "" "Passer l'argument *encoding* à :class:`str` permet de décoder tout :term:" "`bytes-like object` directement, sans avoir besoin d'utiliser un *bytes* ou " "*bytearray* temporaire." -#: library/stdtypes.rst:2730 -msgid "Added support for keyword arguments." -msgstr "Gère les arguments nommés." - -#: library/stdtypes.rst:2741 +#: library/stdtypes.rst:2752 msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " "otherwise return ``False``. *suffix* can also be a tuple of suffixes to " @@ -4550,13 +4564,13 @@ msgstr "" "position. Avec l'argument optionnel *end*, la comparaison s'arrête à cette " "position." -#: library/stdtypes.rst:2746 +#: library/stdtypes.rst:2757 msgid "The suffix(es) to search for may be any :term:`bytes-like object`." msgstr "" "Les suffixes à rechercher peuvent être n'importe quel :term:`bytes-like " "object`." -#: library/stdtypes.rst:2752 +#: library/stdtypes.rst:2763 msgid "" "Return the lowest index in the data where the subsequence *sub* is found, " "such that *sub* is contained in the slice ``s[start:end]``. Optional " @@ -4568,7 +4582,7 @@ msgstr "" "facultatifs *start* et *end* sont interprétés comme dans la notation des " "découpages. Renvoie ``-1`` si *sub* n'est pas trouvé." -#: library/stdtypes.rst:2762 +#: library/stdtypes.rst:2773 msgid "" "The :meth:`~bytes.find` method should be used only if you need to know the " "position of *sub*. To check if *sub* is a substring or not, use the :" @@ -4578,7 +4592,7 @@ msgstr "" "de connaître la position de *sub*. Pour vérifier si *sub* est présent ou " "non, utilisez l'opérateur :keyword:`in` ::" -#: library/stdtypes.rst:2776 +#: library/stdtypes.rst:2787 msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." @@ -4586,7 +4600,7 @@ msgstr "" "Comme :meth:`~bytes.find`, mais lève une :exc:`ValueError` lorsque la " "séquence est introuvable." -#: library/stdtypes.rst:2789 +#: library/stdtypes.rst:2800 msgid "" "Return a bytes or bytearray object which is the concatenation of the binary " "data sequences in *iterable*. A :exc:`TypeError` will be raised if there " @@ -4602,7 +4616,7 @@ msgstr "" "éléments est le contenu du *bytes* ou du *bytearray* depuis lequel cette " "méthode est appelée." -#: library/stdtypes.rst:2800 +#: library/stdtypes.rst:2811 msgid "" "This static method returns a translation table usable for :meth:`bytes." "translate` that will map each character in *from* into the character at the " @@ -4615,7 +4629,7 @@ msgstr "" "être des :term:`bytes-like objects ` et avoir la même " "longueur." -#: library/stdtypes.rst:2811 +#: library/stdtypes.rst:2822 msgid "" "Split the sequence at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4629,11 +4643,11 @@ msgstr "" "est pas trouvé, le triplet renvoyé contiendra une copie de la séquence " "d'origine, suivi de deux *bytes* ou *bytearray* vides." -#: library/stdtypes.rst:2875 +#: library/stdtypes.rst:2886 msgid "The separator to search for may be any :term:`bytes-like object`." msgstr "Le séparateur à rechercher peut être tout :term:`bytes-like object`." -#: library/stdtypes.rst:2824 +#: library/stdtypes.rst:2835 msgid "" "Return a copy of the sequence with all occurrences of subsequence *old* " "replaced by *new*. If the optional argument *count* is given, only the " @@ -4643,7 +4657,7 @@ msgstr "" "séquence *old* sont remplacées par *new*. Si l'argument optionnel *count* " "est donné, seules les *count* premières occurrences de sont remplacés." -#: library/stdtypes.rst:2828 +#: library/stdtypes.rst:2839 msgid "" "The subsequence to search for and its replacement may be any :term:`bytes-" "like object`." @@ -4651,7 +4665,7 @@ msgstr "" "La sous-séquence à rechercher et son remplacement peuvent être n'importe " "quel :term:`bytes-like object`." -#: library/stdtypes.rst:2840 +#: library/stdtypes.rst:2851 msgid "" "Return the highest index in the sequence where the subsequence *sub* is " "found, such that *sub* is contained within ``s[start:end]``. Optional " @@ -4663,7 +4677,7 @@ msgstr "" "*end* sont interprétés comme dans la notation des découpages. Renvoie ``-1`` " "si *sub* n'est pas trouvable." -#: library/stdtypes.rst:2855 +#: library/stdtypes.rst:2866 msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." @@ -4671,7 +4685,7 @@ msgstr "" "Semblable à :meth:`~bytes.rfind` mais lève une :exc:`ValueError` lorsque " "*sub* est introuvable." -#: library/stdtypes.rst:2868 +#: library/stdtypes.rst:2879 msgid "" "Split the sequence at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4685,7 +4699,7 @@ msgstr "" "Si le séparateur n'est pas trouvé, le triplet contiendra deux *bytes* ou " "*bytesarray* vides suivi d’une copie de la séquence d'origine." -#: library/stdtypes.rst:2881 +#: library/stdtypes.rst:2892 msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " "otherwise return ``False``. *prefix* can also be a tuple of prefixes to " @@ -4698,13 +4712,13 @@ msgstr "" "position. Avec l'argument *end* option, la recherche s'arrête à cette " "position." -#: library/stdtypes.rst:2886 +#: library/stdtypes.rst:2897 msgid "The prefix(es) to search for may be any :term:`bytes-like object`." msgstr "" "Le préfixe(s) à rechercher peuvent être n'importe quel :term:`bytes-like " "object`." -#: library/stdtypes.rst:2892 +#: library/stdtypes.rst:2903 msgid "" "Return a copy of the bytes or bytearray object where all bytes occurring in " "the optional argument *delete* are removed, and the remaining bytes have " @@ -4715,25 +4729,25 @@ msgstr "" "*delete* sont supprimés, et les octets restants changés par la table de " "correspondance donnée, qui doit être un objet *bytes* d'une longueur de 256." -#: library/stdtypes.rst:2897 +#: library/stdtypes.rst:2908 msgid "" "You can use the :func:`bytes.maketrans` method to create a translation table." msgstr "" "Vous pouvez utiliser la méthode :func:`bytes.maketrans` pour créer une table " "de correspondance." -#: library/stdtypes.rst:2900 +#: library/stdtypes.rst:2911 msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" msgstr "" "Donnez ``None`` comme *table* pour seulement supprimer des caractères ::" -#: library/stdtypes.rst:2906 +#: library/stdtypes.rst:2917 msgid "*delete* is now supported as a keyword argument." msgstr "*delete* est maintenant accepté comme argument nommé." -#: library/stdtypes.rst:2910 +#: library/stdtypes.rst:2921 msgid "" "The following methods on bytes and bytearray objects have default behaviours " "that assume the use of ASCII compatible binary formats, but can still be " @@ -4747,7 +4761,7 @@ msgstr "" "appropriés. Notez que toutes les méthodes de *bytearray* de cette section " "ne travaillent jamais sur l'objet lui même, mais renvoient un nouvel objet." -#: library/stdtypes.rst:2919 +#: library/stdtypes.rst:2930 msgid "" "Return a copy of the object centered in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4759,7 +4773,7 @@ msgstr "" "espace ASCII). Pour les objets :class:`bytes`, la séquence initiale est " "renvoyée si *width* est inférieur ou égal à ``len(s)``." -#: library/stdtypes.rst:2933 +#: library/stdtypes.rst:2944 msgid "" "Return a copy of the object left justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4771,7 +4785,7 @@ msgstr "" "espace ASCII). Pour les objets :class:`bytes`, la séquence initiale est " "renvoyée si *width* est inférieure ou égale à ``len(s)``." -#: library/stdtypes.rst:2947 +#: library/stdtypes.rst:2958 msgid "" "Return a copy of the sequence with specified leading bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4788,7 +4802,7 @@ msgstr "" "*chars* n’est pas un préfixe, toutes les combinaisons de ses valeurs sont " "supprimées ::" -#: library/stdtypes.rst:2959 +#: library/stdtypes.rst:2970 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`. See :meth:`~bytes.removeprefix` for a method that will remove a " @@ -4799,7 +4813,7 @@ msgstr "" "la séquence, la chaîne de caractères en tant que telle plutôt que l'ensemble " "des caractères passés en paramètre. Par exemple ::" -#: library/stdtypes.rst:2978 +#: library/stdtypes.rst:2989 msgid "" "Return a copy of the object right justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4811,7 +4825,7 @@ msgstr "" "défaut est un espace ASCII). Pour les objets :class:`bytes`, la séquence " "d'origine est renvoyée si *width* est inférieure ou égale à ``len(s)``." -#: library/stdtypes.rst:2992 +#: library/stdtypes.rst:3003 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are " @@ -4828,7 +4842,7 @@ msgstr "" "meth:`rsplit` se comporte comme :meth:`split` qui est décrit en détail ci-" "dessous." -#: library/stdtypes.rst:3003 +#: library/stdtypes.rst:3014 msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4843,7 +4857,7 @@ msgstr "" "supprimés. L'argument *chars* n'est pas un suffixe : toutes les combinaisons " "de ses valeurs sont retirées ::" -#: library/stdtypes.rst:3015 +#: library/stdtypes.rst:3026 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`. See :meth:`~bytes.removesuffix` for a method that will remove a " @@ -4854,7 +4868,7 @@ msgstr "" "la séquence, la chaîne de caractères en tant que telle plutôt que l'ensemble " "des caractères passés en paramètre. Par exemple ::" -#: library/stdtypes.rst:3034 +#: library/stdtypes.rst:3045 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given and non-negative, at most " @@ -4868,7 +4882,7 @@ msgstr "" "éléments), Si *maxsplit* n'est pas spécifié ou faut ``-1``, il n'y a aucune " "limite au nombre de découpes (elles sont toutes effectuées)." -#: library/stdtypes.rst:3040 +#: library/stdtypes.rst:3051 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " @@ -4886,7 +4900,7 @@ msgstr "" "renvoie ``[b'']`` ou ``[bytearray(b'')]`` en fonction du type de l'objet " "découpé. L'argument *sep* peut être n'importe quel :term:`bytes-like object`." -#: library/stdtypes.rst:3058 +#: library/stdtypes.rst:3069 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive ASCII whitespace are regarded as a single " @@ -4902,7 +4916,7 @@ msgstr "" "diviser une séquence vide ou une séquence composée d'espaces ASCII avec un " "séparateur ``None`` renvoie ``[]``." -#: library/stdtypes.rst:3079 +#: library/stdtypes.rst:3090 msgid "" "Return a copy of the sequence with specified leading and trailing bytes " "removed. The *chars* argument is a binary sequence specifying the set of " @@ -4918,13 +4932,13 @@ msgstr "" "espaces ASCII sont supprimés. L'argument *chars* n'est ni un préfixe ni un " "suffixe, toutes les combinaisons de ses valeurs sont supprimées ::" -#: library/stdtypes.rst:3092 +#: library/stdtypes.rst:3103 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`." msgstr "Les octets à retirer peuvent être tout :term:`bytes-like object`." -#: library/stdtypes.rst:3101 +#: library/stdtypes.rst:3112 msgid "" "The following methods on bytes and bytearray objects assume the use of ASCII " "compatible binary formats and should not be applied to arbitrary binary " @@ -4937,7 +4951,7 @@ msgstr "" "que toutes les méthodes de *bytearray* de cette section *ne modifient pas* " "les octets, ils produisent de nouveaux objets." -#: library/stdtypes.rst:3109 +#: library/stdtypes.rst:3120 msgid "" "Return a copy of the sequence with each byte interpreted as an ASCII " "character, and the first byte capitalized and the rest lowercased. Non-ASCII " @@ -4947,7 +4961,7 @@ msgstr "" "caractère ASCII, le premier octet en capitale et le reste en minuscules. Les " "octets non ASCII ne sont pas modifiés." -#: library/stdtypes.rst:3122 +#: library/stdtypes.rst:3133 msgid "" "Return a copy of the sequence where all ASCII tab characters are replaced by " "one or more ASCII spaces, depending on the current column and the given tab " @@ -4977,7 +4991,7 @@ msgstr "" "inchangé et la colonne en cours est incrémentée de un indépendamment de la " "façon dont l'octet est représenté lors de l’affichage ::" -#: library/stdtypes.rst:3150 +#: library/stdtypes.rst:3161 msgid "" "Return ``True`` if all bytes in the sequence are alphabetical ASCII " "characters or ASCII decimal digits and the sequence is not empty, ``False`` " @@ -4992,7 +5006,7 @@ msgstr "" "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'`` et les " "chiffres : ``b'0123456789'``." -#: library/stdtypes.rst:3167 +#: library/stdtypes.rst:3178 msgid "" "Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " "and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " @@ -5004,7 +5018,7 @@ msgstr "" "caractères ASCII alphabétiques sont : " "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: library/stdtypes.rst:3183 +#: library/stdtypes.rst:3194 msgid "" "Return ``True`` if the sequence is empty or all bytes in the sequence are " "ASCII, ``False`` otherwise. ASCII bytes are in the range 0-0x7F." @@ -5013,7 +5027,7 @@ msgstr "" "octets ASCII, renvoie ``False`` dans le cas contraire. Les octets ASCII dans " "l'intervalle ``0``---``0x7F``." -#: library/stdtypes.rst:3193 +#: library/stdtypes.rst:3204 msgid "" "Return ``True`` if all bytes in the sequence are ASCII decimal digits and " "the sequence is not empty, ``False`` otherwise. ASCII decimal digits are " @@ -5023,7 +5037,7 @@ msgstr "" "et que la séquence n'est pas vide, sinon ``False``. Les chiffres ASCII sont " "ceux dans la séquence d'octets ``b'0123456789'``." -#: library/stdtypes.rst:3208 +#: library/stdtypes.rst:3219 msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." @@ -5031,8 +5045,8 @@ msgstr "" "Renvoie ``True`` s'il y a au moins un caractère ASCII minuscule dans la " "séquence et aucune capitale, sinon ``False``." -#: library/stdtypes.rst:3260 library/stdtypes.rst:3326 -#: library/stdtypes.rst:3395 +#: library/stdtypes.rst:3271 library/stdtypes.rst:3337 +#: library/stdtypes.rst:3406 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5041,7 +5055,7 @@ msgstr "" "Les caractères ASCII minuscules sont ``b'abcdefghijklmnopqrstuvwxyz'``. Les " "capitales ASCII sont ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: library/stdtypes.rst:3226 +#: library/stdtypes.rst:3237 msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " "sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " @@ -5053,7 +5067,7 @@ msgstr "" "\\t\\n\\r\\x0b\\f'`` (espace, tabulation, saut de ligne, retour chariot, " "tabulation verticale, saut de page)." -#: library/stdtypes.rst:3235 +#: library/stdtypes.rst:3246 msgid "" "Return ``True`` if the sequence is ASCII titlecase and the sequence is not " "empty, ``False`` otherwise. See :meth:`bytes.title` for more details on the " @@ -5063,7 +5077,7 @@ msgstr "" "vide, sinon ``False``. Voir :meth:`bytes.title` pour plus de détails sur la " "définition de *titlecase*." -#: library/stdtypes.rst:3250 +#: library/stdtypes.rst:3261 msgid "" "Return ``True`` if there is at least one uppercase alphabetic ASCII " "character in the sequence and no lowercase ASCII characters, ``False`` " @@ -5072,7 +5086,7 @@ msgstr "" "Renvoie ``True`` s'il y a au moins un caractère alphabétique majuscule ASCII " "dans la séquence et aucun caractère ASCII minuscule, sinon ``False``." -#: library/stdtypes.rst:3268 +#: library/stdtypes.rst:3279 msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." @@ -5080,7 +5094,7 @@ msgstr "" "Renvoie une copie de la séquence dont tous les caractères ASCII en " "majuscules sont convertis en leur équivalent en minuscules." -#: library/stdtypes.rst:3293 +#: library/stdtypes.rst:3304 msgid "" "Return a list of the lines in the binary sequence, breaking at ASCII line " "boundaries. This method uses the :term:`universal newlines` approach to " @@ -5092,7 +5106,7 @@ msgstr "" "newlines` pour découper les lignes. Les fins de ligne ne sont pas inclus " "dans la liste des résultats, sauf si *keepends* est donné et vrai." -#: library/stdtypes.rst:3305 +#: library/stdtypes.rst:3316 msgid "" "Unlike :meth:`~bytes.split` when a delimiter string *sep* is given, this " "method returns an empty list for the empty string, and a terminal line break " @@ -5102,7 +5116,7 @@ msgstr "" "cette méthode renvoie une liste vide pour la chaîne vide, et un saut de " "ligne à la fin ne se traduit pas par une ligne supplémentaire ::" -#: library/stdtypes.rst:3318 +#: library/stdtypes.rst:3329 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." @@ -5110,7 +5124,7 @@ msgstr "" "Renvoie une copie de la séquence dont tous les caractères ASCII minuscules " "sont convertis en majuscules et vice-versa." -#: library/stdtypes.rst:3330 +#: library/stdtypes.rst:3341 msgid "" "Unlike :func:`str.swapcase()`, it is always the case that ``bin.swapcase()." "swapcase() == bin`` for the binary versions. Case conversions are " @@ -5121,7 +5135,7 @@ msgstr "" "bin`` est toujours vrai. Les conversions majuscule/minuscule en ASCII étant " "toujours symétrique, ce qui n'est pas toujours vrai avec Unicode." -#: library/stdtypes.rst:3344 +#: library/stdtypes.rst:3355 msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " @@ -5131,7 +5145,7 @@ msgstr "" "commencent par un caractère ASCII majuscule et les caractères restants sont " "en minuscules. Les octets non capitalisables ne sont pas modifiés." -#: library/stdtypes.rst:3353 +#: library/stdtypes.rst:3364 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5142,14 +5156,14 @@ msgstr "" "caractères ASCII majuscules sont ``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Aucun " "autre octet n'est capitalisable." -#: library/stdtypes.rst:3366 +#: library/stdtypes.rst:3377 msgid "" "A workaround for apostrophes can be constructed using regular expressions::" msgstr "" "Une solution pour contourner le problème des apostrophes peut être obtenue " "en utilisant des expressions rationnelles ::" -#: library/stdtypes.rst:3387 +#: library/stdtypes.rst:3398 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." @@ -5157,7 +5171,7 @@ msgstr "" "Renvoie une copie de la séquence dont tous les caractères ASCII minuscules " "sont convertis en leur équivalent majuscule." -#: library/stdtypes.rst:3408 +#: library/stdtypes.rst:3419 msgid "" "Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make " "a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is " @@ -5172,11 +5186,11 @@ msgstr "" "séquence d'origine est renvoyée si *width* est inférieur ou égale à " "``len(seq)``." -#: library/stdtypes.rst:3430 +#: library/stdtypes.rst:3441 msgid "``printf``-style Bytes Formatting" msgstr "Formatage de *bytes* a la ``printf``" -#: library/stdtypes.rst:3447 +#: library/stdtypes.rst:3458 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -5189,7 +5203,7 @@ msgstr "" "correctement). Si la valeur à afficher peut être un *n*-uplet ou un " "dictionnaire, mettez-le à l'intérieur d'un autre *n*-uplet." -#: library/stdtypes.rst:3452 +#: library/stdtypes.rst:3463 msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " "the ``%`` operator (modulo). This is also known as the bytes *formatting* or " @@ -5205,7 +5219,7 @@ msgstr "" "plus de *values*. L'effet est similaire à la fonction :c:func:`sprintf` du " "langage C." -#: library/stdtypes.rst:3459 +#: library/stdtypes.rst:3470 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -5217,7 +5231,7 @@ msgstr "" "nombre d'éléments spécifiés dans le format en *bytes*, ou un seul objet de " "correspondances ( *mapping object*, par exemple, un dictionnaire)." -#: library/stdtypes.rst:3493 +#: library/stdtypes.rst:3504 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the bytes object *must* include a parenthesised mapping key into " @@ -5230,15 +5244,15 @@ msgstr "" "caractère ``'%'``. La clé indique quelle valeur du dictionnaire doit être " "formatée. Par exemple :" -#: library/stdtypes.rst:3567 +#: library/stdtypes.rst:3578 msgid "Single byte (accepts integer or single byte objects)." msgstr "Octet simple (Accepte un nombre entier ou un seul objet *byte*)." -#: library/stdtypes.rst:3570 +#: library/stdtypes.rst:3581 msgid "``'b'``" msgstr "``'b'``" -#: library/stdtypes.rst:3570 +#: library/stdtypes.rst:3581 msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`__bytes__`)." @@ -5246,7 +5260,7 @@ msgstr "" "*Bytes* (tout objet respectant le :ref:`buffer protocol ` ou " "ayant la méthode :meth:`__bytes__`)." -#: library/stdtypes.rst:3574 +#: library/stdtypes.rst:3585 msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." @@ -5254,7 +5268,7 @@ msgstr "" "``'s'`` est un alias de ``'b'`` et ne devrait être utilisé que pour du code " "Python2/3." -#: library/stdtypes.rst:3577 +#: library/stdtypes.rst:3588 #, fuzzy msgid "" "Bytes (converts any Python object using ``repr(obj).encode('ascii', " @@ -5263,7 +5277,7 @@ msgstr "" "*Bytes* (convertis n'importe quel objet Python en utilisant ``repr(obj)." "encode('ascii', 'backslashreplace)``)." -#: library/stdtypes.rst:3580 +#: library/stdtypes.rst:3591 msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." @@ -5271,27 +5285,27 @@ msgstr "" "``'r'`` est un alias de ``'a'`` et ne devrait être utilise que dans du code " "Python2/3." -#: library/stdtypes.rst:3580 +#: library/stdtypes.rst:3591 msgid "\\(7)" msgstr "\\(7)" -#: library/stdtypes.rst:3615 +#: library/stdtypes.rst:3626 msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%s'`` est obsolète, mais ne sera pas retiré des version 3.x." -#: library/stdtypes.rst:3618 +#: library/stdtypes.rst:3629 msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%r'`` est obsolète mais ne sera pas retiré dans Python 3.x." -#: library/stdtypes.rst:3630 +#: library/stdtypes.rst:3641 msgid ":pep:`461` - Adding % formatting to bytes and bytearray" msgstr ":pep:`461` -- Ajout du formatage via % aux *bytes* et *bytesarray*" -#: library/stdtypes.rst:3637 +#: library/stdtypes.rst:3648 msgid "Memory Views" msgstr "Vues de mémoires" -#: library/stdtypes.rst:3639 +#: library/stdtypes.rst:3650 msgid "" ":class:`memoryview` objects allow Python code to access the internal data of " "an object that supports the :ref:`buffer protocol ` without " @@ -5301,7 +5315,7 @@ msgstr "" "données internes d'un objet prenant en charge le :ref:`buffer protocol " "`." -#: library/stdtypes.rst:3645 +#: library/stdtypes.rst:3656 #, fuzzy msgid "" "Create a :class:`memoryview` that references *object*. *object* must " @@ -5312,7 +5326,7 @@ msgstr "" "le *buffer protocol*. Les objets natifs prenant en charge le *buffer " "protocol* sont :class:`bytes` et :class:`bytearray`." -#: library/stdtypes.rst:3649 +#: library/stdtypes.rst:3660 #, fuzzy msgid "" "A :class:`memoryview` has the notion of an *element*, which is the atomic " @@ -5326,7 +5340,7 @@ msgstr "" "d'autres types tels que :class:`array.array` les éléments peuvent être plus " "grands." -#: library/stdtypes.rst:3654 +#: library/stdtypes.rst:3665 msgid "" "``len(view)`` is equal to the length of :class:`~memoryview.tolist`. If " "``view.ndim = 0``, the length is 1. If ``view.ndim = 1``, the length is " @@ -5342,7 +5356,7 @@ msgstr "" "L'attribut :class:`~memoryview.itemsize` vous renvoie la taille en octets " "d'un élément." -#: library/stdtypes.rst:3661 +#: library/stdtypes.rst:3672 msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" @@ -5350,7 +5364,7 @@ msgstr "" "Une :class:`memoryview` autorise le découpage et l'indiçage de ses données. " "Découper sur une dimension donne une sous-vue ::" -#: library/stdtypes.rst:3674 +#: library/stdtypes.rst:3685 msgid "" "If :class:`~memoryview.format` is one of the native format specifiers from " "the :mod:`struct` module, indexing with an integer or a tuple of integers is " @@ -5369,11 +5383,11 @@ msgstr "" "Les *memoryviews* à zéro dimension peuvent être indexées avec un *n*-uplet " "vide." -#: library/stdtypes.rst:3683 +#: library/stdtypes.rst:3694 msgid "Here is an example with a non-byte format::" msgstr "Voici un exemple avec un autre format que *byte* ::" -#: library/stdtypes.rst:3695 +#: library/stdtypes.rst:3706 msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" @@ -5382,26 +5396,28 @@ msgstr "" "autorisera les assignations de tranches à une dimension. Redimensionner " "n'est cependant pas autorisé ::" -#: library/stdtypes.rst:3716 +#: library/stdtypes.rst:3727 +#, fuzzy msgid "" -"One-dimensional memoryviews of hashable (read-only) types with formats 'B', " -"'b' or 'c' are also hashable. The hash is defined as ``hash(m) == hash(m." -"tobytes())``::" +"One-dimensional memoryviews of :term:`hashable` (read-only) types with " +"formats 'B', 'b' or 'c' are also hashable. The hash is defined as ``hash(m) " +"== hash(m.tobytes())``::" msgstr "" "Les *memoryviews* à une dimension de types hachables (lecture seule) avec " "les formats 'B', 'b', ou 'c' sont aussi hachables. La fonction de hachage " "est définie tel que ``hash(m) == hash(m.tobytes())`` ::" -#: library/stdtypes.rst:3728 +#: library/stdtypes.rst:3739 +#, fuzzy msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " -"with formats 'B', 'b' or 'c' are now hashable." +"with formats 'B', 'b' or 'c' are now :term:`hashable`." msgstr "" "Les *memoryviews* à une dimension peuvent aussi être découpées. Les " "*memoryviews* à une dimension avec les formats 'B', 'b', ou 'c' sont " "maintenant hachables." -#: library/stdtypes.rst:3732 +#: library/stdtypes.rst:3743 msgid "" "memoryview is now registered automatically with :class:`collections.abc." "Sequence`" @@ -5409,17 +5425,17 @@ msgstr "" "*memoryview* est maintenant enregistrée automatiquement avec :class:" "`collections.abc.Sequence`" -#: library/stdtypes.rst:3736 +#: library/stdtypes.rst:3747 msgid "memoryviews can now be indexed with tuple of integers." msgstr "" "les *memoryviews* peuvent maintenant être indexées par un *n*-uplet " "d'entiers." -#: library/stdtypes.rst:3739 +#: library/stdtypes.rst:3750 msgid ":class:`memoryview` has several methods:" msgstr "La :class:`memoryview` dispose de plusieurs méthodes :" -#: library/stdtypes.rst:3743 +#: library/stdtypes.rst:3754 msgid "" "A memoryview and a :pep:`3118` exporter are equal if their shapes are " "equivalent and if all corresponding values are equal when the operands' " @@ -5430,7 +5446,7 @@ msgstr "" "égales, le format respectifs des opérandes étant interprétés en utilisant la " "syntaxe de :mod:`struct`." -#: library/stdtypes.rst:3747 +#: library/stdtypes.rst:3758 msgid "" "For the subset of :mod:`struct` format strings currently supported by :meth:" "`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" @@ -5438,7 +5454,7 @@ msgstr "" "Pour le sous-ensemble des formats de :mod:`struct` supportés par :meth:" "`tolist`, ``v`` et ``w`` sont égaux si ``v.tolist() ==w.tolist()`` ::" -#: library/stdtypes.rst:3766 +#: library/stdtypes.rst:3777 msgid "" "If either format string is not supported by the :mod:`struct` module, then " "the objects will always compare as unequal (even if the format strings and " @@ -5448,7 +5464,7 @@ msgstr "" "objets seront toujours considérés différents (même si les formats et les " "valeurs contenues sont identiques) ::" -#: library/stdtypes.rst:3782 +#: library/stdtypes.rst:3793 msgid "" "Note that, as with floating point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." @@ -5456,7 +5472,7 @@ msgstr "" "Notez que pour les *memoryview*, comme pour les nombres à virgule flottante, " "``v is w`` *n'implique pas* ``v == w``." -#: library/stdtypes.rst:3785 +#: library/stdtypes.rst:3796 msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." @@ -5464,7 +5480,7 @@ msgstr "" "Les versions précédentes comparaient la mémoire brute sans tenir compte du " "format de l'objet ni de sa structure logique." -#: library/stdtypes.rst:3791 +#: library/stdtypes.rst:3802 msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" @@ -5472,7 +5488,7 @@ msgstr "" "Renvoie les données du *buffer* sous forme de *bytes*. Cela équivaut à " "appeler le constructeur :class:`bytes` sur le *memoryview*. ::" -#: library/stdtypes.rst:3800 +#: library/stdtypes.rst:3811 msgid "" "For non-contiguous arrays the result is equal to the flattened list " "representation with all elements converted to bytes. :meth:`tobytes` " @@ -5484,7 +5500,7 @@ msgstr "" "`tobytes` supporte toutes les chaînes de format, y compris celles qui ne " "sont pas connues du module :mod:`struct`." -#: library/stdtypes.rst:3805 +#: library/stdtypes.rst:3816 msgid "" "*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " "original array is converted to C or Fortran order. For contiguous views, 'A' " @@ -5499,7 +5515,7 @@ msgstr "" "Pour les vues non contiguës, les données sont d'abord converties en C. " "``order=None`` est identique à ``order='C'``." -#: library/stdtypes.rst:3814 +#: library/stdtypes.rst:3825 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" @@ -5507,7 +5523,7 @@ msgstr "" "Renvoie une chaîne contenant deux chiffres hexadécimaux pour chaque octet de " "la mémoire. ::" -#: library/stdtypes.rst:3823 +#: library/stdtypes.rst:3834 #, fuzzy msgid "" "Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " @@ -5518,12 +5534,12 @@ msgstr "" "charge les paramètres optionnels *sep* et *bytes_per_sep* pour insérer des " "séparateurs entre les octets dans la sortie hexadécimale." -#: library/stdtypes.rst:3830 +#: library/stdtypes.rst:3841 msgid "Return the data in the buffer as a list of elements. ::" msgstr "" "Renvoie les données de la mémoire sous la forme d'une liste d'éléments. ::" -#: library/stdtypes.rst:3840 +#: library/stdtypes.rst:3851 msgid "" ":meth:`tolist` now supports all single character native formats in :mod:" "`struct` module syntax as well as multi-dimensional representations." @@ -5531,7 +5547,7 @@ msgstr "" ":meth:`tolist` prend désormais en charge tous les formats d'un caractère du " "module :mod:`struct` ainsi que des représentations multidimensionnelles." -#: library/stdtypes.rst:3847 +#: library/stdtypes.rst:3858 msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" @@ -5539,7 +5555,7 @@ msgstr "" "Renvoie une version en lecture seule de l'objet *memoryview*. Cet objet " "original *memoryview* est inchangé. ::" -#: library/stdtypes.rst:3866 +#: library/stdtypes.rst:3877 msgid "" "Release the underlying buffer exposed by the memoryview object. Many " "objects take special actions when a view is held on them (for example, a :" @@ -5554,7 +5570,7 @@ msgstr "" "lever ces restrictions (et en libérer les ressources liées) aussi tôt que " "possible." -#: library/stdtypes.rst:3872 +#: library/stdtypes.rst:3883 msgid "" "After this method has been called, any further operation on the view raises " "a :class:`ValueError` (except :meth:`release()` itself which can be called " @@ -5564,7 +5580,7 @@ msgstr "" "*view* lève une :class:`ValueError` (sauf :meth:`release()` elle-même qui " "peut être appelée plusieurs fois) ::" -#: library/stdtypes.rst:3883 +#: library/stdtypes.rst:3894 msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" @@ -5572,7 +5588,7 @@ msgstr "" "Le protocole de gestion de contexte peut être utilisé pour obtenir un effet " "similaire, via l'instruction ``with`` ::" -#: library/stdtypes.rst:3899 +#: library/stdtypes.rst:3910 msgid "" "Cast a memoryview to a new format or shape. *shape* defaults to " "``[byte_length//new_itemsize]``, which means that the result view will be " @@ -5586,7 +5602,7 @@ msgstr "" "mais la mémoire elle-même n'est pas copiée. Les changements supportés sont " "une dimension vers C-:term:`contiguous` et *C-contiguous* vers une dimension." -#: library/stdtypes.rst:3905 +#: library/stdtypes.rst:3916 msgid "" "The destination format is restricted to a single element native format in :" "mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " @@ -5597,37 +5613,37 @@ msgstr "" "'c'). La longueur du résultat en octets doit être la même que la longueur " "initiale." -#: library/stdtypes.rst:3910 +#: library/stdtypes.rst:3921 msgid "Cast 1D/long to 1D/unsigned bytes::" msgstr "Transforme *1D/long* en *1D/unsigned bytes* ::" -#: library/stdtypes.rst:3933 +#: library/stdtypes.rst:3944 msgid "Cast 1D/unsigned bytes to 1D/char::" msgstr "Transforme *1D/unsigned bytes* en *1D/char* ::" -#: library/stdtypes.rst:3946 +#: library/stdtypes.rst:3957 msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" msgstr "Transforme *1D/bytes* en *3D/ints* en *1D/signed char* ::" -#: library/stdtypes.rst:3972 +#: library/stdtypes.rst:3983 msgid "Cast 1D/unsigned long to 2D/unsigned long::" msgstr "Transforme *1D/unsigned char* en *2D/unsigned long* ::" -#: library/stdtypes.rst:3986 +#: library/stdtypes.rst:3997 msgid "The source format is no longer restricted when casting to a byte view." msgstr "" "Le format de la source n'est plus restreint lors de la transformation vers " "une vue d'octets." -#: library/stdtypes.rst:3989 +#: library/stdtypes.rst:4000 msgid "There are also several readonly attributes available:" msgstr "Plusieurs attributs en lecture seule sont également disponibles :" -#: library/stdtypes.rst:3993 +#: library/stdtypes.rst:4004 msgid "The underlying object of the memoryview::" msgstr "L'objet sous-jacent de la *memoryview* ::" -#: library/stdtypes.rst:4004 +#: library/stdtypes.rst:4015 msgid "" "``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " "amount of space in bytes that the array would use in a contiguous " @@ -5637,15 +5653,15 @@ msgstr "" "l'espace que la liste utiliserait en octets, dans une représentation " "contiguë. Ce n'est pas nécessairement égale à ``len(m)`` ::" -#: library/stdtypes.rst:4023 +#: library/stdtypes.rst:4034 msgid "Multi-dimensional arrays::" msgstr "Tableaux multidimensionnels ::" -#: library/stdtypes.rst:4040 +#: library/stdtypes.rst:4051 msgid "A bool indicating whether the memory is read only." msgstr "Un booléen indiquant si la mémoire est en lecture seule." -#: library/stdtypes.rst:4044 +#: library/stdtypes.rst:4055 msgid "" "A string containing the format (in :mod:`struct` module style) for each " "element in the view. A memoryview can be created from exporters with " @@ -5657,7 +5673,7 @@ msgstr "" "de formats arbitraires, mais certaines méthodes (comme :meth:`tolist`) sont " "limitées aux formats natifs à un seul élément." -#: library/stdtypes.rst:4049 +#: library/stdtypes.rst:4060 msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." @@ -5665,11 +5681,11 @@ msgstr "" "le format ``'B'`` est maintenant traité selon la syntaxe du module *struct*. " "Cela signifie que ``memoryview(b'abc')[0] == b'abc'[0] == 97``." -#: library/stdtypes.rst:4055 +#: library/stdtypes.rst:4066 msgid "The size in bytes of each element of the memoryview::" msgstr "La taille en octets de chaque élément d'une *memoryview* ::" -#: library/stdtypes.rst:4068 +#: library/stdtypes.rst:4079 msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." @@ -5677,7 +5693,7 @@ msgstr "" "Un nombre entier indiquant le nombre de dimensions d'un tableau multi-" "dimensionnel représenté par la *memoryview*." -#: library/stdtypes.rst:4073 +#: library/stdtypes.rst:4084 msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." @@ -5685,11 +5701,11 @@ msgstr "" "Un *n*-uplet d'entiers de longueur :attr:`ndim` donnant la forme de la " "*memoryview* sous forme d'un tableau à N dimensions." -#: library/stdtypes.rst:4084 +#: library/stdtypes.rst:4095 msgid "An empty tuple instead of ``None`` when ndim = 0." msgstr "Un *n*-uplet vide au lieu de ``None`` lorsque *ndim = 0*." -#: library/stdtypes.rst:4081 +#: library/stdtypes.rst:4092 msgid "" "A tuple of integers the length of :attr:`ndim` giving the size in bytes to " "access each element for each dimension of the array." @@ -5697,29 +5713,29 @@ msgstr "" "Un *n*-uplet d'entiers de longueur :attr:`ndim` donnant la taille en octets " "permettant d'accéder à chaque dimensions du tableau." -#: library/stdtypes.rst:4089 +#: library/stdtypes.rst:4100 msgid "Used internally for PIL-style arrays. The value is informational only." msgstr "" "Détail de l'implémentation des *PIL-style arrays*. La valeur n'est donnée " "qu'à titre d'information." -#: library/stdtypes.rst:4093 +#: library/stdtypes.rst:4104 msgid "A bool indicating whether the memory is C-:term:`contiguous`." msgstr "Un booléen indiquant si la mémoire est C-:term:`contiguous`." -#: library/stdtypes.rst:4099 +#: library/stdtypes.rst:4110 msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." msgstr "Un booléen indiquant si la mémoire est Fortran :term:`contiguous`." -#: library/stdtypes.rst:4105 +#: library/stdtypes.rst:4116 msgid "A bool indicating whether the memory is :term:`contiguous`." msgstr "Un booléen indiquant si la mémoire est :term:`contiguous`." -#: library/stdtypes.rst:4113 +#: library/stdtypes.rst:4124 msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "Types d'ensembles — :class:`set`, :class:`frozenset`" -#: library/stdtypes.rst:4117 +#: library/stdtypes.rst:4128 msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " "objects. Common uses include membership testing, removing duplicates from a " @@ -5735,7 +5751,7 @@ msgstr "" "(Pour les autres conteneurs, voir les classes natives :class:`dict`, :class:" "`list`, et :class:`tuple`, ainsi que le module :mod:`collections`.)" -#: library/stdtypes.rst:4124 +#: library/stdtypes.rst:4135 msgid "" "Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " "in set``. Being an unordered collection, sets do not record element " @@ -5748,7 +5764,7 @@ msgstr "" "d'insertion. En conséquence, les *sets* n'autorisent ni l'indexation, ni le " "découpage, ou tout autre comportement de séquence." -#: library/stdtypes.rst:4129 +#: library/stdtypes.rst:4140 msgid "" "There are currently two built-in set types, :class:`set` and :class:" "`frozenset`. The :class:`set` type is mutable --- the contents can be " @@ -5768,7 +5784,7 @@ msgstr "" "--- son contenu ne peut être modifié après sa création, il peut ainsi être " "utilisé comme clé de dictionnaire ou élément d'un autre *set*." -#: library/stdtypes.rst:4137 +#: library/stdtypes.rst:4148 msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " @@ -5778,11 +5794,11 @@ msgstr "" "d'éléments séparés par des virgules et entre accolades, par exemple : " "``{'jack', 'sjoerd'}``, en plus du constructeur de la classe :class:`set`." -#: library/stdtypes.rst:4141 +#: library/stdtypes.rst:4152 msgid "The constructors for both classes work the same:" msgstr "Les constructeurs des deux classes fonctionnent pareil :" -#: library/stdtypes.rst:4146 +#: library/stdtypes.rst:4157 msgid "" "Return a new set or frozenset object whose elements are taken from " "*iterable*. The elements of a set must be :term:`hashable`. To represent " @@ -5795,19 +5811,19 @@ msgstr "" "class:`frozenset`. Si *iterable* n'est pas spécifié, un nouveau *set* vide " "est renvoyé." -#: library/stdtypes.rst:4152 +#: library/stdtypes.rst:4163 #, fuzzy msgid "Sets can be created by several means:" msgstr "Les ensembles peuvent être construits de différentes manières :" -#: library/stdtypes.rst:4154 +#: library/stdtypes.rst:4165 msgid "" "Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" msgstr "" "En utilisant une liste d'éléments séparés par des virgules entre accolades : " "``{'jack', 'sjoerd'}``" -#: library/stdtypes.rst:4155 +#: library/stdtypes.rst:4166 #, fuzzy msgid "" "Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" @@ -5815,7 +5831,7 @@ msgstr "" "En utilisant un ensemble en compréhension : ``{c for c in 'abracadabra' if c " "not in 'abc'}``" -#: library/stdtypes.rst:4156 +#: library/stdtypes.rst:4167 #, fuzzy msgid "" "Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " @@ -5824,7 +5840,7 @@ msgstr "" "En utilisant le constructeur du type : ``set()``, ``set('foobar')``, " "``set(['a', 'b', 'foo'])``" -#: library/stdtypes.rst:4158 +#: library/stdtypes.rst:4169 msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" @@ -5832,19 +5848,19 @@ msgstr "" "Les instances de :class:`set` et :class:`frozenset` fournissent les " "opérations suivantes :" -#: library/stdtypes.rst:4163 +#: library/stdtypes.rst:4174 msgid "Return the number of elements in set *s* (cardinality of *s*)." msgstr "Renvoie le nombre d'éléments dans le *set* *s* (cardinalité de *s*)." -#: library/stdtypes.rst:4167 +#: library/stdtypes.rst:4178 msgid "Test *x* for membership in *s*." msgstr "Test d'appartenance de *x* dans *s*." -#: library/stdtypes.rst:4171 +#: library/stdtypes.rst:4182 msgid "Test *x* for non-membership in *s*." msgstr "Test de non-appartenance de *x* dans *s*." -#: library/stdtypes.rst:4175 +#: library/stdtypes.rst:4186 msgid "" "Return ``True`` if the set has no elements in common with *other*. Sets are " "disjoint if and only if their intersection is the empty set." @@ -5853,11 +5869,11 @@ msgstr "" "Les ensembles sont disjoints si et seulement si leurs intersection est un " "ensemble vide." -#: library/stdtypes.rst:4181 +#: library/stdtypes.rst:4192 msgid "Test whether every element in the set is in *other*." msgstr "Teste si tous les éléments du set sont dans *other*." -#: library/stdtypes.rst:4185 +#: library/stdtypes.rst:4196 msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." @@ -5865,11 +5881,11 @@ msgstr "" "Teste si l'ensemble est un sous-ensemble de *other*, c'est-à-dire, ``set <= " "other and set != other``." -#: library/stdtypes.rst:4191 +#: library/stdtypes.rst:4202 msgid "Test whether every element in *other* is in the set." msgstr "Teste si tous les éléments de *other* sont dans l'ensemble." -#: library/stdtypes.rst:4195 +#: library/stdtypes.rst:4206 msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." @@ -5877,36 +5893,36 @@ msgstr "" "Teste si l'ensemble est un sur-ensemble de *other*, c'est-à-dire, ``set >= " "other and set != other``." -#: library/stdtypes.rst:4201 +#: library/stdtypes.rst:4212 msgid "Return a new set with elements from the set and all others." msgstr "" "Renvoie un nouvel ensemble dont les éléments viennent de l'ensemble et de " "tous les autres." -#: library/stdtypes.rst:4206 +#: library/stdtypes.rst:4217 msgid "Return a new set with elements common to the set and all others." msgstr "" "Renvoie un nouvel ensemble dont les éléments sont communs à l'ensemble et à " "tous les autres." -#: library/stdtypes.rst:4211 +#: library/stdtypes.rst:4222 msgid "Return a new set with elements in the set that are not in the others." msgstr "" "Renvoie un nouvel ensemble dont les éléments sont dans l'ensemble mais ne " "sont dans aucun des autres." -#: library/stdtypes.rst:4216 +#: library/stdtypes.rst:4227 msgid "" "Return a new set with elements in either the set or *other* but not both." msgstr "" "Renvoie un nouvel ensemble dont les éléments sont soit dans l'ensemble, soit " "dans les autres, mais pas dans les deux." -#: library/stdtypes.rst:4220 +#: library/stdtypes.rst:4231 msgid "Return a shallow copy of the set." msgstr "Renvoie une copie de surface du dictionnaire." -#: library/stdtypes.rst:4223 +#: library/stdtypes.rst:4234 #, fuzzy msgid "" "Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" @@ -5924,7 +5940,7 @@ msgstr "" "typiques d'erreurs, en faveur d'une construction plus lisible : ``set('abc')." "intersection('cbs')``." -#: library/stdtypes.rst:4230 +#: library/stdtypes.rst:4241 msgid "" "Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " "sets are equal if and only if every element of each set is contained in the " @@ -5942,7 +5958,7 @@ msgstr "" "autre ensemble si et seulement si le premier est un sur-ensemble du second " "(est un sur-ensemble mais n'est pas égal)." -#: library/stdtypes.rst:4237 +#: library/stdtypes.rst:4248 msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " @@ -5953,7 +5969,7 @@ msgstr "" "frozenset('abc')`` envoie ``True``, ainsi que ``set('abc') in " "set([frozenset('abc')])``." -#: library/stdtypes.rst:4241 +#: library/stdtypes.rst:4252 msgid "" "The subset and equality comparisons do not generalize to a total ordering " "function. For example, any two nonempty disjoint sets are not equal and are " @@ -5965,7 +5981,7 @@ msgstr "" "vides ne sont ni égaux et ni des sous-ensembles l'un de l'autre, donc toutes " "ces comparaisons donnent ``False`` : ``ab``." -#: library/stdtypes.rst:4246 +#: library/stdtypes.rst:4257 msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." @@ -5974,13 +5990,13 @@ msgstr "" "de sous-ensembles), la sortie de la méthode :meth:`list.sort` n'est pas " "définie pour des listes d'ensembles." -#: library/stdtypes.rst:4249 +#: library/stdtypes.rst:4260 msgid "Set elements, like dictionary keys, must be :term:`hashable`." msgstr "" "Les éléments des *sets*, comme les clés de dictionnaires, doivent être :term:" "`hachables `." -#: library/stdtypes.rst:4251 +#: library/stdtypes.rst:4262 msgid "" "Binary operations that mix :class:`set` instances with :class:`frozenset` " "return the type of the first operand. For example: ``frozenset('ab') | " @@ -5990,7 +6006,7 @@ msgstr "" "`frozenset` renvoient le type de la première opérande. Par exemple : " "``frozenset('ab') | set('bc')`` renvoie une instance de :class:`frozenset`." -#: library/stdtypes.rst:4255 +#: library/stdtypes.rst:4266 msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" @@ -5998,32 +6014,32 @@ msgstr "" "La table suivante liste les opérations disponibles pour les :class:`set` " "mais qui ne s'appliquent pas aux instances de :class:`frozenset` :" -#: library/stdtypes.rst:4261 +#: library/stdtypes.rst:4272 msgid "Update the set, adding elements from all others." msgstr "Met à jour l'ensemble, ajoutant les éléments de tous les autres." -#: library/stdtypes.rst:4266 +#: library/stdtypes.rst:4277 msgid "Update the set, keeping only elements found in it and all others." msgstr "" "Met à jour l'ensemble, ne gardant que les éléments trouvés dans tous les " "autres." -#: library/stdtypes.rst:4271 +#: library/stdtypes.rst:4282 msgid "Update the set, removing elements found in others." msgstr "Met à jour l'ensemble, retirant les éléments trouvés dans les autres." -#: library/stdtypes.rst:4276 +#: library/stdtypes.rst:4287 msgid "" "Update the set, keeping only elements found in either set, but not in both." msgstr "" "Met à jour le set, ne gardant que les éléments trouvés dans un des ensembles " "mais pas dans les deux." -#: library/stdtypes.rst:4280 +#: library/stdtypes.rst:4291 msgid "Add element *elem* to the set." msgstr "Ajoute l'élément *elem* au set." -#: library/stdtypes.rst:4284 +#: library/stdtypes.rst:4295 msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." @@ -6031,11 +6047,11 @@ msgstr "" "Retire l'élément *elem* de l'ensemble. Lève une exception :exc:`KeyError` si " "*elem* n'est pas dans l'ensemble." -#: library/stdtypes.rst:4289 +#: library/stdtypes.rst:4300 msgid "Remove element *elem* from the set if it is present." msgstr "Retire l'élément *elem* de l'ensemble s'il y est." -#: library/stdtypes.rst:4293 +#: library/stdtypes.rst:4304 msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." @@ -6043,11 +6059,11 @@ msgstr "" "Retire et renvoie un élément arbitraire de l'ensemble. Lève une exception :" "exc:`KeyError` si l'ensemble est vide." -#: library/stdtypes.rst:4298 +#: library/stdtypes.rst:4309 msgid "Remove all elements from the set." msgstr "Supprime tous les éléments du *set*." -#: library/stdtypes.rst:4301 +#: library/stdtypes.rst:4312 msgid "" "Note, the non-operator versions of the :meth:`update`, :meth:" "`intersection_update`, :meth:`difference_update`, and :meth:" @@ -6059,7 +6075,7 @@ msgstr "" "`symmetric_difference_update` acceptent n'importe quel itérable comme " "argument." -#: library/stdtypes.rst:4306 +#: library/stdtypes.rst:4317 msgid "" "Note, the *elem* argument to the :meth:`__contains__`, :meth:`remove`, and :" "meth:`discard` methods may be a set. To support searching for an equivalent " @@ -6070,11 +6086,11 @@ msgstr "" "recherche d'un *frozenset* équivalent, un *frozenset* temporaire est crée " "depuis *elem*." -#: library/stdtypes.rst:4314 +#: library/stdtypes.rst:4325 msgid "Mapping Types --- :class:`dict`" msgstr "Les types de correspondances — :class:`dict`" -#: library/stdtypes.rst:4324 +#: library/stdtypes.rst:4335 msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " "Mappings are mutable objects. There is currently only one standard mapping " @@ -6088,16 +6104,14 @@ msgstr "" "(Pour les autres conteneurs, voir les types natifs :class:`list`, :class:" "`set`, et :class:`tuple`, ainsi que le module :mod:`collections`.)" -#: library/stdtypes.rst:4330 +#: library/stdtypes.rst:4341 +#, fuzzy msgid "" "A dictionary's keys are *almost* arbitrary values. Values that are not :" "term:`hashable`, that is, values containing lists, dictionaries or other " "mutable types (that are compared by value rather than by object identity) " -"may not be used as keys. Numeric types used for keys obey the normal rules " -"for numeric comparison: if two numbers compare equal (such as ``1`` and " -"``1.0``) then they can be used interchangeably to index the same dictionary " -"entry. (Note however, that since computers store floating-point numbers as " -"approximations it is usually unwise to use them as dictionary keys.)" +"may not be used as keys. Values that compare equal (such as ``1``, ``1.0``, " +"and ``True``) can be used interchangeably to index the same dictionary entry." msgstr "" "Les clés d'un dictionnaire sont *presque* des données arbitraires. Les " "valeurs qui ne sont pas :term:`hashable`, c'est-à-dire qui contiennent les " @@ -6111,7 +6125,7 @@ msgstr "" "d'approximations, il est généralement imprudent de les utiliser comme clés " "de dictionnaires.)" -#: library/stdtypes.rst:4343 +#: library/stdtypes.rst:4352 msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." @@ -6119,12 +6133,12 @@ msgstr "" "Renvoie un nouveau dictionnaire initialisé depuis un argument positionnel " "optionnel, et un ensemble (vide ou non) d'arguments nommés." -#: library/stdtypes.rst:4346 +#: library/stdtypes.rst:4355 #, fuzzy msgid "Dictionaries can be created by several means:" msgstr "Les dictionnaires peuvent être construits de différentes manières :" -#: library/stdtypes.rst:4348 +#: library/stdtypes.rst:4357 #, fuzzy msgid "" "Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " @@ -6134,14 +6148,14 @@ msgstr "" "entre accolades : ``{'jack': 4098, 'sjoerd': 4127}`` ou ``{4098: 'jack', " "4127: 'sjoerd'}``" -#: library/stdtypes.rst:4350 +#: library/stdtypes.rst:4359 #, fuzzy msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" msgstr "" "En utilisant un dictionnaire en compréhension : ``{}``, ``{x: x ** 2 for x " "in range(10)}``" -#: library/stdtypes.rst:4351 +#: library/stdtypes.rst:4360 msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" @@ -6149,7 +6163,7 @@ msgstr "" "En utilisant le constructeur du type : ``dict()``, ``dict([('foo', 100), " "('bar', 200)])``, ``dict(foo=100, bar=200)``" -#: library/stdtypes.rst:4354 +#: library/stdtypes.rst:4363 msgid "" "If no positional argument is given, an empty dictionary is created. If a " "positional argument is given and it is a mapping object, a dictionary is " @@ -6171,7 +6185,7 @@ msgstr "" "pour cette clé devient la valeur correspondante à cette clé dans le nouveau " "dictionnaire." -#: library/stdtypes.rst:4364 +#: library/stdtypes.rst:4373 msgid "" "If keyword arguments are given, the keyword arguments and their values are " "added to the dictionary created from the positional argument. If a key " @@ -6182,7 +6196,7 @@ msgstr "" "depuis l'argument positionnel. Si une clé est déjà présente, la valeur de " "l'argument nommé remplace la valeur reçue par l'argument positionnel." -#: library/stdtypes.rst:4369 +#: library/stdtypes.rst:4378 msgid "" "To illustrate, the following examples all return a dictionary equal to " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" @@ -6190,7 +6204,7 @@ msgstr "" "Typiquement, les exemples suivants renvoient tous un dictionnaire valant " "``{\"one\": 1, \"two\": 2, \"three\": 3}`` ::" -#: library/stdtypes.rst:4381 +#: library/stdtypes.rst:4390 msgid "" "Providing keyword arguments as in the first example only works for keys that " "are valid Python identifiers. Otherwise, any valid keys can be used." @@ -6199,7 +6213,7 @@ msgstr "" "pour des clés qui sont des identifiants valide en Python. Dans les autres " "cas, toutes les clés valides sont utilisables." -#: library/stdtypes.rst:4385 +#: library/stdtypes.rst:4394 msgid "" "These are the operations that dictionaries support (and therefore, custom " "mapping types should support too):" @@ -6207,16 +6221,16 @@ msgstr "" "Voici les opérations gérées par les dictionnaires, (par conséquent, d'autres " "types de *mapping* peuvent les gérer aussi) :" -#: library/stdtypes.rst:4390 +#: library/stdtypes.rst:4399 msgid "Return a list of all the keys used in the dictionary *d*." msgstr "" "Renvoie une liste de toutes les clés utilisées dans le dictionnaire *d*." -#: library/stdtypes.rst:4394 +#: library/stdtypes.rst:4403 msgid "Return the number of items in the dictionary *d*." msgstr "Renvoie le nombre d'éléments dans le dictionnaire *d*." -#: library/stdtypes.rst:4398 +#: library/stdtypes.rst:4407 msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." @@ -6224,7 +6238,7 @@ msgstr "" "Renvoie l'élément de *d* dont la clé est *key*. Lève une exception :exc:" "`KeyError` si *key* n'est pas dans le dictionnaire." -#: library/stdtypes.rst:4403 +#: library/stdtypes.rst:4412 msgid "" "If a subclass of dict defines a method :meth:`__missing__` and *key* is not " "present, the ``d[key]`` operation calls that method with the key *key* as " @@ -6243,7 +6257,7 @@ msgstr "" "meth:`__missing__` doit être une méthode; ça ne peut être une variable " "d'instance ::" -#: library/stdtypes.rst:4421 +#: library/stdtypes.rst:4430 msgid "" "The example above shows part of the implementation of :class:`collections." "Counter`. A different ``__missing__`` method is used by :class:`collections." @@ -6253,11 +6267,11 @@ msgstr "" "`collections.Counter`. :class:`collections.defaultdict` implémente aussi " "``__missing__``." -#: library/stdtypes.rst:4427 +#: library/stdtypes.rst:4436 msgid "Set ``d[key]`` to *value*." msgstr "Assigne ``d[key]`` à *value*." -#: library/stdtypes.rst:4431 +#: library/stdtypes.rst:4440 msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." @@ -6265,15 +6279,15 @@ msgstr "" "Supprime ``d[key]`` de *d*. Lève une exception :exc:`KeyError` si *key* " "n'est pas dans le dictionnaire." -#: library/stdtypes.rst:4436 +#: library/stdtypes.rst:4445 msgid "Return ``True`` if *d* has a key *key*, else ``False``." msgstr "Renvoie ``True`` si *d* a la clé *key*, sinon ``False``." -#: library/stdtypes.rst:4440 +#: library/stdtypes.rst:4449 msgid "Equivalent to ``not key in d``." msgstr "Équivalent à ``not key in d``." -#: library/stdtypes.rst:4444 +#: library/stdtypes.rst:4453 msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." @@ -6281,22 +6295,22 @@ msgstr "" "Renvoie un itérateur sur les clés du dictionnaire. C'est un raccourci pour " "``iter(d.keys())``." -#: library/stdtypes.rst:4449 +#: library/stdtypes.rst:4458 msgid "Remove all items from the dictionary." msgstr "Supprime tous les éléments du dictionnaire." -#: library/stdtypes.rst:4453 +#: library/stdtypes.rst:4462 msgid "Return a shallow copy of the dictionary." msgstr "Renvoie une copie de surface du dictionnaire." -#: library/stdtypes.rst:4457 +#: library/stdtypes.rst:4466 msgid "" "Create a new dictionary with keys from *iterable* and values set to *value*." msgstr "" "Crée un nouveau dictionnaire avec les clés de *iterable* et les valeurs à " "*value*." -#: library/stdtypes.rst:4459 +#: library/stdtypes.rst:4468 msgid "" ":meth:`fromkeys` is a class method that returns a new dictionary. *value* " "defaults to ``None``. All of the values refer to just a single instance, so " @@ -6310,7 +6324,7 @@ msgstr "" "*value* soit un objet mutable comme une liste vide. Pour avoir des valeurs " "distinctes, utiliser plutôt une :ref:`compréhension de dictionnaire `." -#: library/stdtypes.rst:4467 +#: library/stdtypes.rst:4476 msgid "" "Return the value for *key* if *key* is in the dictionary, else *default*. If " "*default* is not given, it defaults to ``None``, so that this method never " @@ -6320,7 +6334,7 @@ msgstr "" "*default*. Si *default* n'est pas donné, il vaut ``None`` par défaut, de " "manière à ce que cette méthode ne lève jamais :exc:`KeyError`." -#: library/stdtypes.rst:4473 +#: library/stdtypes.rst:4482 msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." @@ -6328,7 +6342,7 @@ msgstr "" "Renvoie une nouvelle vue des éléments du dictionnaire (paires de ``(key, " "value)``). Voir la :ref:`documentation des vues `." -#: library/stdtypes.rst:4478 +#: library/stdtypes.rst:4487 msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." @@ -6336,7 +6350,7 @@ msgstr "" "Renvoie une nouvelle vue des clés du dictionnaire. Voir la :ref:" "`documentation des vues `." -#: library/stdtypes.rst:4483 +#: library/stdtypes.rst:4492 msgid "" "If *key* is in the dictionary, remove it and return its value, else return " "*default*. If *default* is not given and *key* is not in the dictionary, a :" @@ -6346,7 +6360,7 @@ msgstr "" "renvoyée, sinon renvoie *default*. Si *default* n'est pas donné et que " "*key* n'est pas dans le dictionnaire, une :exc:`KeyError` est levée." -#: library/stdtypes.rst:4489 +#: library/stdtypes.rst:4498 msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." @@ -6354,7 +6368,7 @@ msgstr "" "Supprime et renvoie une paire ``(key, value)`` du dictionnaire. Les paires " "sont renvoyées dans un ordre :abbr:`LIFO (dernière entrée, prenière sortie)`." -#: library/stdtypes.rst:4492 +#: library/stdtypes.rst:4501 msgid "" ":meth:`popitem` is useful to destructively iterate over a dictionary, as " "often used in set algorithms. If the dictionary is empty, calling :meth:" @@ -6364,7 +6378,7 @@ msgstr "" "destructive, comme souvent dans les algorithmes sur les ensembles. Si le " "dictionnaire est vide, appeler :meth:`popitem` lève une :exc:`KeyError`." -#: library/stdtypes.rst:4496 +#: library/stdtypes.rst:4505 msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." @@ -6373,7 +6387,7 @@ msgstr "" "les versions précédentes, :meth:`popitem` renvoyait une paire clé/valeur " "arbitraire." -#: library/stdtypes.rst:4502 +#: library/stdtypes.rst:4511 msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." @@ -6381,7 +6395,7 @@ msgstr "" "Renvoie un itérateur inversé sur les clés du dictionnaire. C'est un " "raccourci pour ``reversed(d.keys())``." -#: library/stdtypes.rst:4509 +#: library/stdtypes.rst:4518 msgid "" "If *key* is in the dictionary, return its value. If not, insert *key* with " "a value of *default* and return *default*. *default* defaults to ``None``." @@ -6390,7 +6404,7 @@ msgstr "" "*key* avec comme valeur *default* et renvoie *default*. *default* vaut " "``None`` par défaut." -#: library/stdtypes.rst:4515 +#: library/stdtypes.rst:4524 msgid "" "Update the dictionary with the key/value pairs from *other*, overwriting " "existing keys. Return ``None``." @@ -6398,7 +6412,7 @@ msgstr "" "Met à jour le dictionnaire avec les paires de clé/valeur d'*other*, écrasant " "les clés existantes. Renvoie ``None``." -#: library/stdtypes.rst:4518 +#: library/stdtypes.rst:4527 msgid "" ":meth:`update` accepts either another dictionary object or an iterable of " "key/value pairs (as tuples or other iterables of length two). If keyword " @@ -6410,7 +6424,7 @@ msgstr "" "Si des arguments nommés sont donnés, le dictionnaire est alors mis à jour " "avec ces paires de clé-valeur : ``d.update(red=1, blue=2)``." -#: library/stdtypes.rst:4525 +#: library/stdtypes.rst:4534 msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." @@ -6418,7 +6432,7 @@ msgstr "" "Renvoie une nouvelle vue des valeurs du dictionnaire. Voir la :ref:" "`documentation des vues `." -#: library/stdtypes.rst:4528 +#: library/stdtypes.rst:4537 msgid "" "An equality comparison between one ``dict.values()`` view and another will " "always return ``False``. This also applies when comparing ``dict.values()`` " @@ -6428,7 +6442,7 @@ msgstr "" "renvoie toujours ``False``. Cela s'applique aussi lorsque l'on compare " "``dict.values()`` à lui-même ::" -#: library/stdtypes.rst:4538 +#: library/stdtypes.rst:4547 msgid "" "Create a new dictionary with the merged keys and values of *d* and *other*, " "which must both be dictionaries. The values of *other* take priority when " @@ -6438,7 +6452,7 @@ msgstr "" "et *other*, qui doivent tous deux être des dictionnaires. Les valeurs de " "*other* sont prioritaires lorsque *d* et *other* partagent des clés." -#: library/stdtypes.rst:4546 +#: library/stdtypes.rst:4555 msgid "" "Update the dictionary *d* with keys and values from *other*, which may be " "either a :term:`mapping` or an :term:`iterable` of key/value pairs. The " @@ -6449,7 +6463,7 @@ msgstr "" "valeur. Les valeurs de *other* sont prioritaires lorsque *d* et *other* " "partagent des clés." -#: library/stdtypes.rst:4552 +#: library/stdtypes.rst:4561 msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -6459,7 +6473,7 @@ msgstr "" "clé-valeur (``(key, value)``, peu importe leur ordre). Les comparaisons " "d'ordre (``<``, ``<=``, ``>=``, ``>``) lèvent une :exc:`TypeError`." -#: library/stdtypes.rst:4556 +#: library/stdtypes.rst:4565 msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -6468,7 +6482,7 @@ msgstr "" "clé n'affecte pas l'ordre. Les clés ajoutées après un effacement sont " "insérées à la fin. ::" -#: library/stdtypes.rst:4574 +#: library/stdtypes.rst:4583 msgid "" "Dictionary order is guaranteed to be insertion order. This behavior was an " "implementation detail of CPython from 3.6." @@ -6477,16 +6491,16 @@ msgstr "" "comportement était un détail d'implémentation de CPython depuis la version " "3.6." -#: library/stdtypes.rst:4578 +#: library/stdtypes.rst:4587 msgid "Dictionaries and dictionary views are reversible. ::" msgstr "Les dictionnaires et les vues de dictionnaires sont réversibles. ::" # suit un ':' ("changed in version X.Y") -#: library/stdtypes.rst:4590 +#: library/stdtypes.rst:4599 msgid "Dictionaries are now reversible." msgstr "les dictionnaires sont maintenant réversibles." -#: library/stdtypes.rst:4595 +#: library/stdtypes.rst:4604 msgid "" ":class:`types.MappingProxyType` can be used to create a read-only view of a :" "class:`dict`." @@ -6494,11 +6508,11 @@ msgstr "" ":class:`types.MappingProxyType` peut être utilisé pour créer une vue en " "lecture seule d'un :class:`dict`." -#: library/stdtypes.rst:4602 +#: library/stdtypes.rst:4611 msgid "Dictionary view objects" msgstr "Les vues de dictionnaires" -#: library/stdtypes.rst:4604 +#: library/stdtypes.rst:4613 msgid "" "The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" "`dict.items` are *view objects*. They provide a dynamic view on the " @@ -6510,7 +6524,7 @@ msgstr "" "éléments du dictionnaire, ce qui signifie que si le dictionnaire change, la " "vue reflète ces changements." -#: library/stdtypes.rst:4609 +#: library/stdtypes.rst:4618 msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" @@ -6518,11 +6532,11 @@ msgstr "" "Les vues de dictionnaires peuvent être itérées et ainsi renvoyer les données " "du dictionnaire, elle gèrent aussi les tests de présence :" -#: library/stdtypes.rst:4614 +#: library/stdtypes.rst:4623 msgid "Return the number of entries in the dictionary." msgstr "Renvoie le nombre d'entrées du dictionnaire." -#: library/stdtypes.rst:4618 +#: library/stdtypes.rst:4627 msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." @@ -6530,7 +6544,7 @@ msgstr "" "Renvoie un itérateur sur les clés, les valeurs, ou les éléments (représentés " "par des paires ``(clé, valeur)`` du dictionnaire." -#: library/stdtypes.rst:4621 +#: library/stdtypes.rst:4630 msgid "" "Keys and values are iterated over in insertion order. This allows the " "creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." @@ -6542,7 +6556,7 @@ msgstr "" "``pairs = zip(d.values(), d.keys())``. Un autre moyen de construire la même " "liste est ``pairs = [(v, k) for (k, v) in d.items()]``." -#: library/stdtypes.rst:4626 +#: library/stdtypes.rst:4635 msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." @@ -6551,11 +6565,11 @@ msgstr "" "dictionnaire peut lever une :exc:`RuntimeError` ou ne pas fournir toutes les " "entrées." -#: library/stdtypes.rst:4629 +#: library/stdtypes.rst:4638 msgid "Dictionary order is guaranteed to be insertion order." msgstr "L'ordre d'un dictionnaire est toujours l'ordre des insertions." -#: library/stdtypes.rst:4634 +#: library/stdtypes.rst:4643 msgid "" "Return ``True`` if *x* is in the underlying dictionary's keys, values or " "items (in the latter case, *x* should be a ``(key, value)`` tuple)." @@ -6564,7 +6578,7 @@ msgstr "" "dictionnaire sous-jacent (dans le dernier cas, *x* doit être une paire " "``(key, value)``)." -#: library/stdtypes.rst:4639 +#: library/stdtypes.rst:4648 msgid "" "Return a reverse iterator over the keys, values or items of the dictionary. " "The view will be iterated in reverse order of the insertion." @@ -6573,24 +6587,26 @@ msgstr "" "dictionnaire. La vue est itérée dans l'ordre inverse d'insertion." # suit un ':' ("changed in version X.Y") -#: library/stdtypes.rst:4642 +#: library/stdtypes.rst:4651 msgid "Dictionary views are now reversible." msgstr "les vues de dictionnaires sont dorénavant réversibles." -#: library/stdtypes.rst:4647 +#: library/stdtypes.rst:4656 msgid "" "Return a :class:`types.MappingProxyType` that wraps the original dictionary " "to which the view refers." msgstr "" -#: library/stdtypes.rst:4652 +#: library/stdtypes.rst:4661 +#, fuzzy msgid "" -"Keys views are set-like since their entries are unique and hashable. If all " -"values are hashable, so that ``(key, value)`` pairs are unique and hashable, " -"then the items view is also set-like. (Values views are not treated as set-" -"like since the entries are generally not unique.) For set-like views, all " -"of the operations defined for the abstract base class :class:`collections." -"abc.Set` are available (for example, ``==``, ``<``, or ``^``)." +"Keys views are set-like since their entries are unique and :term:" +"`hashable`. If all values are hashable, so that ``(key, value)`` pairs are " +"unique and hashable, then the items view is also set-like. (Values views " +"are not treated as set-like since the entries are generally not unique.) " +"For set-like views, all of the operations defined for the abstract base " +"class :class:`collections.abc.Set` are available (for example, ``==``, " +"``<``, or ``^``)." msgstr "" "Les vues de clés sont semblables à des ensembles puisque leurs entrées sont " "uniques et hachables. Si toutes les valeurs sont hachables, et qu'ainsi " @@ -6602,15 +6618,15 @@ msgstr "" "base abstraite :class:`collections.abc.Set` sont disponibles (comme ``==``, " "``<``, ou ``^``)." -#: library/stdtypes.rst:4659 +#: library/stdtypes.rst:4668 msgid "An example of dictionary view usage::" msgstr "Exemple d'utilisation de vue de dictionnaire ::" -#: library/stdtypes.rst:4700 +#: library/stdtypes.rst:4709 msgid "Context Manager Types" msgstr "Le type gestionnaire de contexte" -#: library/stdtypes.rst:4707 +#: library/stdtypes.rst:4716 msgid "" "Python's :keyword:`with` statement supports the concept of a runtime context " "defined by a context manager. This is implemented using a pair of methods " @@ -6623,7 +6639,7 @@ msgstr "" "entré avant l'exécution du corps de l'instruction, et qui est quitté lorsque " "l'instruction se termine :" -#: library/stdtypes.rst:4715 +#: library/stdtypes.rst:4724 msgid "" "Enter the runtime context and return either this object or another object " "related to the runtime context. The value returned by this method is bound " @@ -6635,7 +6651,7 @@ msgstr "" "cette méthode est liée à l'identifiant donné au :keyword:`!as` de " "l'instruction :keyword:`with` utilisant ce gestionnaire de contexte." -#: library/stdtypes.rst:4720 +#: library/stdtypes.rst:4729 msgid "" "An example of a context manager that returns itself is a :term:`file " "object`. File objects return themselves from __enter__() to allow :func:" @@ -6646,7 +6662,7 @@ msgstr "" "autorisent :func:`open` à être utilisé comme contexte à une instruction :" "keyword:`with`." -#: library/stdtypes.rst:4724 +#: library/stdtypes.rst:4733 msgid "" "An example of a context manager that returns a related object is the one " "returned by :func:`decimal.localcontext`. These managers set the active " @@ -6661,7 +6677,7 @@ msgstr "" "renvoyée. Ça permet de changer le contexte courant dans le corps du :keyword:" "`with` sans affecter le code en dehors de l'instruction :keyword:`!with`." -#: library/stdtypes.rst:4734 +#: library/stdtypes.rst:4743 msgid "" "Exit the runtime context and return a Boolean flag indicating if any " "exception that occurred should be suppressed. If an exception occurred while " @@ -6675,7 +6691,7 @@ msgstr "" "l'exception, sa valeur, et la trace de la pile (*traceback*). Sinon les " "trois arguments valent ``None``." -#: library/stdtypes.rst:4739 +#: library/stdtypes.rst:4748 msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " @@ -6692,7 +6708,7 @@ msgstr "" "pendant l'exécution de cette méthode remplaceront toute exception qui s'est " "produite dans le corps du :keyword:`!with`." -#: library/stdtypes.rst:4746 +#: library/stdtypes.rst:4755 msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " @@ -6706,7 +6722,7 @@ msgstr "" "Ceci permet au code de gestion du contexte de comprendre si une méthode :" "meth:`__exit__` a échoué." -#: library/stdtypes.rst:4752 +#: library/stdtypes.rst:4761 msgid "" "Python defines several context managers to support easy thread " "synchronisation, prompt closure of files or other objects, and simpler " @@ -6721,7 +6737,7 @@ msgstr "" "protocole de gestion du contexte. Voir les exemples dans la documentation du " "module :mod:`contextlib`." -#: library/stdtypes.rst:4758 +#: library/stdtypes.rst:4767 msgid "" "Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " "decorator provide a convenient way to implement these protocols. If a " @@ -6737,7 +6753,7 @@ msgstr "" "`~contextmanager.__enter__` et :meth:`~contextmanager.__exit__`, plutôt que " "l'itérateur produit par un générateur non décoré." -#: library/stdtypes.rst:4765 +#: library/stdtypes.rst:4774 msgid "" "Note that there is no specific slot for any of these methods in the type " "structure for Python objects in the Python/C API. Extension types wanting to " @@ -6752,24 +6768,24 @@ msgstr "" "d'exécution, les le coût d'un accès au dictionnaire d'une classe unique est " "négligeable." -#: library/stdtypes.rst:4773 +#: library/stdtypes.rst:4782 msgid "" "Type Annotation Types --- :ref:`Generic Alias `, :ref:" "`Union `" msgstr "" -#: library/stdtypes.rst:4778 +#: library/stdtypes.rst:4787 msgid "" "The core built-in types for :term:`type annotations ` are :ref:" "`Generic Alias ` and :ref:`Union `." msgstr "" -#: library/stdtypes.rst:4785 +#: library/stdtypes.rst:4794 #, fuzzy msgid "Generic Alias Type" msgstr "Type Alias Générique" -#: library/stdtypes.rst:4791 +#: library/stdtypes.rst:4800 #, fuzzy msgid "" "``GenericAlias`` objects are generally created by :ref:`subscripting " @@ -6783,19 +6799,19 @@ msgstr "" "un conteneur), telle que ``list[int]``. Ils sont principalement destinés aux " "types :term:`annotations `." -#: library/stdtypes.rst:4801 +#: library/stdtypes.rst:4810 msgid "" "It is generally only possible to subscript a class if the class implements " "the special method :meth:`~object.__class_getitem__`." msgstr "" -#: library/stdtypes.rst:4804 +#: library/stdtypes.rst:4813 msgid "" "A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " "implementing *parameterized generics*." msgstr "" -#: library/stdtypes.rst:4807 +#: library/stdtypes.rst:4816 msgid "" "For a container class, the argument(s) supplied to a :ref:`subscription " "` of the class may indicate the type(s) of the elements an " @@ -6804,7 +6820,7 @@ msgid "" "`bytes`." msgstr "" -#: library/stdtypes.rst:4813 +#: library/stdtypes.rst:4822 msgid "" "For a class which defines :meth:`~object.__class_getitem__` but is not a " "container, the argument(s) supplied to a subscription of the class will " @@ -6813,7 +6829,7 @@ msgid "" "the :class:`str` data type and the :class:`bytes` data type:" msgstr "" -#: library/stdtypes.rst:4819 +#: library/stdtypes.rst:4828 msgid "" "If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match ` object where the return values of ``x.group(0)`` and ``x[0]`` will " @@ -6821,7 +6837,7 @@ msgid "" "annotations with the ``GenericAlias`` ``re.Match[str]``." msgstr "" -#: library/stdtypes.rst:4825 +#: library/stdtypes.rst:4834 msgid "" "If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " "``y`` will also be an instance of ``re.Match``, but the return values of ``y." @@ -6830,21 +6846,21 @@ msgid "" "objects>` objects with ``re.Match[bytes]``." msgstr "" -#: library/stdtypes.rst:4831 +#: library/stdtypes.rst:4840 msgid "" "``GenericAlias`` objects are instances of the class :class:`types." "GenericAlias`, which can also be used to create ``GenericAlias`` objects " "directly." msgstr "" -#: library/stdtypes.rst:4837 +#: library/stdtypes.rst:4846 msgid "" "Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " "*X*, *Y*, and more depending on the ``T`` used. For example, a function " "expecting a :class:`list` containing :class:`float` elements::" msgstr "" -#: library/stdtypes.rst:4845 +#: library/stdtypes.rst:4854 msgid "" "Another example for :term:`mapping` objects, using a :class:`dict`, which is " "a generic type expecting two type parameters representing the key type and " @@ -6852,13 +6868,13 @@ msgid "" "of type :class:`str` and values of type :class:`int`::" msgstr "" -#: library/stdtypes.rst:4853 +#: library/stdtypes.rst:4862 msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" msgstr "" -#: library/stdtypes.rst:4861 +#: library/stdtypes.rst:4870 msgid "" "The Python runtime does not enforce :term:`type annotations `. " "This extends to generic types and their type parameters. When creating a " @@ -6867,315 +6883,315 @@ msgid "" "discouraged, but will run without errors::" msgstr "" -#: library/stdtypes.rst:4871 +#: library/stdtypes.rst:4880 msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" msgstr "" -#: library/stdtypes.rst:4882 +#: library/stdtypes.rst:4891 msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" msgstr "" -#: library/stdtypes.rst:4890 +#: library/stdtypes.rst:4899 msgid "" "The :meth:`~object.__getitem__` method of generic containers will raise an " "exception to disallow mistakes like ``dict[str][str]``::" msgstr "" -#: library/stdtypes.rst:4898 +#: library/stdtypes.rst:4907 msgid "" "However, such expressions are valid when :ref:`type variables ` " "are used. The index must have as many elements as there are type variable " "items in the ``GenericAlias`` object's :attr:`~genericalias.__args__`. ::" msgstr "" -#: library/stdtypes.rst:4909 +#: library/stdtypes.rst:4918 msgid "Standard Generic Classes" msgstr "" -#: library/stdtypes.rst:4911 +#: library/stdtypes.rst:4920 msgid "" "The following standard library classes support parameterized generics. This " "list is non-exhaustive." msgstr "" -#: library/stdtypes.rst:4914 +#: library/stdtypes.rst:4923 msgid ":class:`tuple`" msgstr ":class:`tuple`" -#: library/stdtypes.rst:4915 +#: library/stdtypes.rst:4924 msgid ":class:`list`" msgstr ":class:`list`" -#: library/stdtypes.rst:4916 +#: library/stdtypes.rst:4925 msgid ":class:`dict`" msgstr ":class:`dict`" -#: library/stdtypes.rst:4917 +#: library/stdtypes.rst:4926 msgid ":class:`set`" msgstr ":class:`set`" -#: library/stdtypes.rst:4918 +#: library/stdtypes.rst:4927 msgid ":class:`frozenset`" msgstr ":class:`frozenset`" -#: library/stdtypes.rst:4919 +#: library/stdtypes.rst:4928 msgid ":class:`type`" msgstr ":class:`type`" -#: library/stdtypes.rst:4920 +#: library/stdtypes.rst:4929 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: library/stdtypes.rst:4921 +#: library/stdtypes.rst:4930 msgid ":class:`collections.defaultdict`" msgstr ":class:`collections.defaultdict`" -#: library/stdtypes.rst:4922 +#: library/stdtypes.rst:4931 msgid ":class:`collections.OrderedDict`" msgstr ":class:`collections.OrderedDict`" -#: library/stdtypes.rst:4923 +#: library/stdtypes.rst:4932 msgid ":class:`collections.Counter`" msgstr ":class:`collections.Counter`" -#: library/stdtypes.rst:4924 +#: library/stdtypes.rst:4933 msgid ":class:`collections.ChainMap`" msgstr ":class:`collections.ChainMap`" -#: library/stdtypes.rst:4925 +#: library/stdtypes.rst:4934 msgid ":class:`collections.abc.Awaitable`" msgstr ":class:`collections.abc.Awaitable`" -#: library/stdtypes.rst:4926 +#: library/stdtypes.rst:4935 msgid ":class:`collections.abc.Coroutine`" msgstr ":class:`collections.abc.Coroutine`" -#: library/stdtypes.rst:4927 +#: library/stdtypes.rst:4936 msgid ":class:`collections.abc.AsyncIterable`" msgstr ":class:`collections.abc.AsyncIterable`" -#: library/stdtypes.rst:4928 +#: library/stdtypes.rst:4937 msgid ":class:`collections.abc.AsyncIterator`" msgstr ":class:`collections.abc.AsyncIterator`" -#: library/stdtypes.rst:4929 +#: library/stdtypes.rst:4938 msgid ":class:`collections.abc.AsyncGenerator`" msgstr ":class:`collections.abc.AsyncGenerator`" -#: library/stdtypes.rst:4930 +#: library/stdtypes.rst:4939 msgid ":class:`collections.abc.Iterable`" msgstr ":class:`collections.abc.Iterable`" -#: library/stdtypes.rst:4931 +#: library/stdtypes.rst:4940 msgid ":class:`collections.abc.Iterator`" msgstr ":class:`collections.abc.Iterator`" -#: library/stdtypes.rst:4932 +#: library/stdtypes.rst:4941 msgid ":class:`collections.abc.Generator`" msgstr ":class:`collections.abc.Generator`" -#: library/stdtypes.rst:4933 +#: library/stdtypes.rst:4942 msgid ":class:`collections.abc.Reversible`" msgstr ":class:`collections.abc.Reversible`" -#: library/stdtypes.rst:4934 +#: library/stdtypes.rst:4943 msgid ":class:`collections.abc.Container`" msgstr ":class:`collections.abc.Container`" -#: library/stdtypes.rst:4935 +#: library/stdtypes.rst:4944 msgid ":class:`collections.abc.Collection`" msgstr ":class:`collections.abc.Collection`" -#: library/stdtypes.rst:4936 +#: library/stdtypes.rst:4945 msgid ":class:`collections.abc.Callable`" msgstr ":class:`collections.abc.Callable`" -#: library/stdtypes.rst:4937 +#: library/stdtypes.rst:4946 msgid ":class:`collections.abc.Set`" msgstr ":class:`collections.abc.Set`" -#: library/stdtypes.rst:4938 +#: library/stdtypes.rst:4947 msgid ":class:`collections.abc.MutableSet`" msgstr ":class:`collections.abc.MutableSet`" -#: library/stdtypes.rst:4939 +#: library/stdtypes.rst:4948 msgid ":class:`collections.abc.Mapping`" msgstr ":class:`collections.abc.Mapping`" -#: library/stdtypes.rst:4940 +#: library/stdtypes.rst:4949 msgid ":class:`collections.abc.MutableMapping`" msgstr ":class:`collections.abc.MutableMapping`" -#: library/stdtypes.rst:4941 +#: library/stdtypes.rst:4950 msgid ":class:`collections.abc.Sequence`" msgstr ":class:`collections.abc.Sequence`" -#: library/stdtypes.rst:4942 +#: library/stdtypes.rst:4951 msgid ":class:`collections.abc.MutableSequence`" msgstr ":class:`collections.abc.MutableSequence`" -#: library/stdtypes.rst:4943 +#: library/stdtypes.rst:4952 msgid ":class:`collections.abc.ByteString`" msgstr ":class:`collections.abc.ByteString`" -#: library/stdtypes.rst:4944 +#: library/stdtypes.rst:4953 msgid ":class:`collections.abc.MappingView`" msgstr ":class:`collections.abc.MappingView`" -#: library/stdtypes.rst:4945 +#: library/stdtypes.rst:4954 msgid ":class:`collections.abc.KeysView`" msgstr ":class:`collections.abc.KeysView`" -#: library/stdtypes.rst:4946 +#: library/stdtypes.rst:4955 msgid ":class:`collections.abc.ItemsView`" msgstr ":class:`collections.abc.ItemsView`" -#: library/stdtypes.rst:4947 +#: library/stdtypes.rst:4956 msgid ":class:`collections.abc.ValuesView`" msgstr ":class:`collections.abc.ValuesView`" -#: library/stdtypes.rst:4948 +#: library/stdtypes.rst:4957 msgid ":class:`contextlib.AbstractContextManager`" msgstr ":class:`contextlib.AbstractContextManager`" -#: library/stdtypes.rst:4949 +#: library/stdtypes.rst:4958 msgid ":class:`contextlib.AbstractAsyncContextManager`" msgstr ":class:`contextlib.AbstractAsyncContextManager`" -#: library/stdtypes.rst:4950 +#: library/stdtypes.rst:4959 msgid ":class:`dataclasses.Field`" msgstr ":class:`dataclasses.Field`" -#: library/stdtypes.rst:4951 +#: library/stdtypes.rst:4960 msgid ":class:`functools.cached_property`" msgstr ":class:`functools.cached_property`" -#: library/stdtypes.rst:4952 +#: library/stdtypes.rst:4961 msgid ":class:`functools.partialmethod`" msgstr ":class:`functools.partialmethod`" -#: library/stdtypes.rst:4953 +#: library/stdtypes.rst:4962 msgid ":class:`os.PathLike`" msgstr ":class:`os.PathLike`" -#: library/stdtypes.rst:4954 +#: library/stdtypes.rst:4963 msgid ":class:`queue.LifoQueue`" msgstr ":class:`queue.LifoQueue`" -#: library/stdtypes.rst:4955 +#: library/stdtypes.rst:4964 msgid ":class:`queue.Queue`" msgstr ":class:`queue.Queue`" -#: library/stdtypes.rst:4956 +#: library/stdtypes.rst:4965 msgid ":class:`queue.PriorityQueue`" msgstr ":class:`queue.PriorityQueue`" -#: library/stdtypes.rst:4957 +#: library/stdtypes.rst:4966 msgid ":class:`queue.SimpleQueue`" msgstr ":class:`queue.SimpleQueue`" -#: library/stdtypes.rst:4958 +#: library/stdtypes.rst:4967 msgid ":ref:`re.Pattern `" msgstr ":ref:`re.Pattern `" -#: library/stdtypes.rst:4959 +#: library/stdtypes.rst:4968 msgid ":ref:`re.Match `" msgstr ":ref:`re.Match `" -#: library/stdtypes.rst:4960 +#: library/stdtypes.rst:4969 msgid ":class:`shelve.BsdDbShelf`" msgstr ":class:`shelve.BsdDbShelf`" -#: library/stdtypes.rst:4961 +#: library/stdtypes.rst:4970 msgid ":class:`shelve.DbfilenameShelf`" msgstr ":class:`shelve.DbfilenameShelf`" -#: library/stdtypes.rst:4962 +#: library/stdtypes.rst:4971 msgid ":class:`shelve.Shelf`" msgstr ":class:`shelve.Shelf`" -#: library/stdtypes.rst:4963 +#: library/stdtypes.rst:4972 msgid ":class:`types.MappingProxyType`" msgstr ":class:`types.MappingProxyType`" -#: library/stdtypes.rst:4964 +#: library/stdtypes.rst:4973 msgid ":class:`weakref.WeakKeyDictionary`" msgstr ":class:`weakref.WeakKeyDictionary`" -#: library/stdtypes.rst:4965 +#: library/stdtypes.rst:4974 msgid ":class:`weakref.WeakMethod`" msgstr ":class:`weakref.WeakMethod`" -#: library/stdtypes.rst:4966 +#: library/stdtypes.rst:4975 msgid ":class:`weakref.WeakSet`" msgstr ":class:`weakref.WeakSet`" -#: library/stdtypes.rst:4967 +#: library/stdtypes.rst:4976 msgid ":class:`weakref.WeakValueDictionary`" msgstr ":class:`weakref.WeakValueDictionary`" -#: library/stdtypes.rst:4972 +#: library/stdtypes.rst:4981 msgid "Special Attributes of ``GenericAlias`` objects" msgstr "Attributs spéciaux des alias génériques" -#: library/stdtypes.rst:4974 +#: library/stdtypes.rst:4983 msgid "All parameterized generics implement special read-only attributes." msgstr "" -#: library/stdtypes.rst:4978 +#: library/stdtypes.rst:4987 msgid "This attribute points at the non-parameterized generic class::" msgstr "" -#: library/stdtypes.rst:4986 +#: library/stdtypes.rst:4995 msgid "" "This attribute is a :class:`tuple` (possibly of length 1) of generic types " "passed to the original :meth:`~object.__class_getitem__` of the generic " "class::" msgstr "" -#: library/stdtypes.rst:4996 +#: library/stdtypes.rst:5005 msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" msgstr "" -#: library/stdtypes.rst:5007 +#: library/stdtypes.rst:5016 msgid "" "A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " "have correct ``__parameters__`` after substitution because :class:`typing." "ParamSpec` is intended primarily for static type checking." msgstr "" -#: library/stdtypes.rst:5014 +#: library/stdtypes.rst:5023 msgid ":pep:`484` - Type Hints" msgstr ":pep:`484` — Indications de types" -#: library/stdtypes.rst:5014 +#: library/stdtypes.rst:5023 msgid "Introducing Python's framework for type annotations." msgstr "" -#: library/stdtypes.rst:5019 +#: library/stdtypes.rst:5028 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" msgstr "" -#: library/stdtypes.rst:5017 +#: library/stdtypes.rst:5026 msgid "" "Introducing the ability to natively parameterize standard-library classes, " "provided they implement the special class method :meth:`~object." "__class_getitem__`." msgstr "" -#: library/stdtypes.rst:5022 +#: library/stdtypes.rst:5031 msgid "" ":ref:`Generics`, :ref:`user-defined generics ` and :" "class:`typing.Generic`" msgstr "" -#: library/stdtypes.rst:5022 +#: library/stdtypes.rst:5031 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." @@ -7184,12 +7200,12 @@ msgstr "" "peuvent être paramétrées à l'exécution et comprises par les vérificateurs " "statiques de types." -#: library/stdtypes.rst:5031 +#: library/stdtypes.rst:5040 #, fuzzy msgid "Union Type" msgstr "Type de conversion." -#: library/stdtypes.rst:5037 +#: library/stdtypes.rst:5046 msgid "" "A union object holds the value of the ``|`` (bitwise or) operation on " "multiple :ref:`type objects `. These types are intended " @@ -7198,7 +7214,7 @@ msgid "" "Union`." msgstr "" -#: library/stdtypes.rst:5044 +#: library/stdtypes.rst:5053 msgid "" "Defines a union object which holds types *X*, *Y*, and so forth. ``X | Y`` " "means either X or Y. It is equivalent to ``typing.Union[X, Y]``. For " @@ -7206,66 +7222,66 @@ msgid "" "class:`float`::" msgstr "" -#: library/stdtypes.rst:5054 +#: library/stdtypes.rst:5063 msgid "" "Union objects can be tested for equality with other union objects. Details:" msgstr "" -#: library/stdtypes.rst:5056 +#: library/stdtypes.rst:5065 msgid "Unions of unions are flattened::" msgstr "" -#: library/stdtypes.rst:5060 +#: library/stdtypes.rst:5069 msgid "Redundant types are removed::" msgstr "" -#: library/stdtypes.rst:5064 +#: library/stdtypes.rst:5073 msgid "When comparing unions, the order is ignored::" msgstr "" -#: library/stdtypes.rst:5068 +#: library/stdtypes.rst:5077 msgid "It is compatible with :data:`typing.Union`::" msgstr "" -#: library/stdtypes.rst:5072 +#: library/stdtypes.rst:5081 msgid "Optional types can be spelled as a union with ``None``::" msgstr "" -#: library/stdtypes.rst:5079 +#: library/stdtypes.rst:5088 msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" msgstr "" -#: library/stdtypes.rst:5085 +#: library/stdtypes.rst:5094 msgid "" "However, union objects containing :ref:`parameterized generics ` cannot be used::" msgstr "" -#: library/stdtypes.rst:5093 +#: library/stdtypes.rst:5102 msgid "" "The user-exposed type for the union object can be accessed from :data:`types." "UnionType` and used for :func:`isinstance` checks. An object cannot be " "instantiated from the type::" msgstr "" -#: library/stdtypes.rst:5106 +#: library/stdtypes.rst:5115 msgid "" "The :meth:`__or__` method for type objects was added to support the syntax " "``X | Y``. If a metaclass implements :meth:`__or__`, the Union may override " "it::" msgstr "" -#: library/stdtypes.rst:5124 +#: library/stdtypes.rst:5133 msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." msgstr "" -#: library/stdtypes.rst:5132 +#: library/stdtypes.rst:5141 msgid "Other Built-in Types" msgstr "Autres types natifs" -#: library/stdtypes.rst:5134 +#: library/stdtypes.rst:5143 msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." @@ -7273,11 +7289,11 @@ msgstr "" "L'interpréteur gère aussi d'autres types d'objets, la plupart ne supportant " "cependant qu'une ou deux opérations." -#: library/stdtypes.rst:5141 +#: library/stdtypes.rst:5150 msgid "Modules" msgstr "Modules" -#: library/stdtypes.rst:5143 +#: library/stdtypes.rst:5152 msgid "" "The only special operation on a module is attribute access: ``m.name``, " "where *m* is a module and *name* accesses a name defined in *m*'s symbol " @@ -7295,7 +7311,7 @@ msgstr "" "objet module nommé *foo* existe, il nécessite cependant une *définition* " "(externe) d'un module nommé *foo* quelque part.)" -#: library/stdtypes.rst:5150 +#: library/stdtypes.rst:5159 msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " "dictionary containing the module's symbol table. Modifying this dictionary " @@ -7313,7 +7329,7 @@ msgstr "" "vous ne pouvez pas écrire ``m.__dict__ = {}``). Modifier :attr:`~object." "__dict__` directement n'est pas recommandé." -#: library/stdtypes.rst:5158 +#: library/stdtypes.rst:5167 msgid "" "Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````. S'ils sont chargés depuis un fichier, ils sont représentés " "````." -#: library/stdtypes.rst:5166 +#: library/stdtypes.rst:5175 msgid "Classes and Class Instances" msgstr "Les classes et instances de classes" -#: library/stdtypes.rst:5168 +#: library/stdtypes.rst:5177 msgid "See :ref:`objects` and :ref:`class` for these." msgstr "Voir :ref:`objects` et :ref:`class`." -#: library/stdtypes.rst:5174 +#: library/stdtypes.rst:5183 msgid "Functions" msgstr "Fonctions" -#: library/stdtypes.rst:5176 +#: library/stdtypes.rst:5185 msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." @@ -7344,7 +7360,7 @@ msgstr "" "opération applicable à un objet fonction est de l'appeler : ``func(argument-" "list)``." -#: library/stdtypes.rst:5179 +#: library/stdtypes.rst:5188 msgid "" "There are really two flavors of function objects: built-in functions and " "user-defined functions. Both support the same operation (to call the " @@ -7356,15 +7372,15 @@ msgstr "" "opérations (l'appel à la fonction), mais leur implémentation est différente, " "d'où les deux types distincts." -#: library/stdtypes.rst:5183 +#: library/stdtypes.rst:5192 msgid "See :ref:`function` for more information." msgstr "Voir :ref:`function` pour plus d'information." -#: library/stdtypes.rst:5189 +#: library/stdtypes.rst:5198 msgid "Methods" msgstr "Méthodes" -#: library/stdtypes.rst:5193 +#: library/stdtypes.rst:5202 msgid "" "Methods are functions that are called using the attribute notation. There " "are two flavors: built-in methods (such as :meth:`append` on lists) and " @@ -7376,7 +7392,7 @@ msgstr "" "listes), et les méthodes d'instances de classes. Les méthodes natives sont " "représentées avec le type qui les supporte." -#: library/stdtypes.rst:5198 +#: library/stdtypes.rst:5207 msgid "" "If you access a method (a function defined in a class namespace) through an " "instance, you get a special object: a :dfn:`bound method` (also called :dfn:" @@ -7397,7 +7413,7 @@ msgstr "" "n)`` est tout à fait équivalent à appeler ``m.__func__(m.__self__, arg-1, " "arg-2, …, arg-n)``." -#: library/stdtypes.rst:5207 +#: library/stdtypes.rst:5216 msgid "" "Like function objects, bound method objects support getting arbitrary " "attributes. However, since method attributes are actually stored on the " @@ -7414,15 +7430,15 @@ msgstr "" "`AttributeError`. Pour affecter l'attribut, vous devrez explicitement " "l'affecter à sa fonction sous-jacente ::" -#: library/stdtypes.rst:5258 +#: library/stdtypes.rst:5267 msgid "See :ref:`types` for more information." msgstr "Voir :ref:`types` pour plus d'information." -#: library/stdtypes.rst:5235 +#: library/stdtypes.rst:5244 msgid "Code Objects" msgstr "Objets code" -#: library/stdtypes.rst:5241 +#: library/stdtypes.rst:5250 msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " @@ -7438,13 +7454,13 @@ msgstr "" "fonction native :func:`compile` et peuvent être obtenus des objets fonction " "via leur attribut :attr:`__code__`. Voir aussi le module :mod:`code`." -#: library/stdtypes.rst:5248 +#: library/stdtypes.rst:5257 msgid "" "Accessing ``__code__`` raises an :ref:`auditing event ` ``object." "__getattr__`` with arguments ``obj`` and ``\"__code__\"``." msgstr "" -#: library/stdtypes.rst:5255 +#: library/stdtypes.rst:5264 msgid "" "A code object can be executed or evaluated by passing it (instead of a " "source string) to the :func:`exec` or :func:`eval` built-in functions." @@ -7453,11 +7469,11 @@ msgstr "" "d'une chaîne contenant du code) aux fonction natives :func:`exec` ou :func:" "`eval`." -#: library/stdtypes.rst:5264 +#: library/stdtypes.rst:5273 msgid "Type Objects" msgstr "Objets type" -#: library/stdtypes.rst:5270 +#: library/stdtypes.rst:5279 msgid "" "Type objects represent the various object types. An object's type is " "accessed by the built-in function :func:`type`. There are no special " @@ -7469,15 +7485,15 @@ msgstr "" "opération spéciale sur les types. Le module standard :mod:`types` définit " "les noms de tous les types natifs." -#: library/stdtypes.rst:5275 +#: library/stdtypes.rst:5284 msgid "Types are written like this: ````." msgstr "Les types sont représentés : ````." -#: library/stdtypes.rst:5281 +#: library/stdtypes.rst:5290 msgid "The Null Object" msgstr "L'objet Null" -#: library/stdtypes.rst:5283 +#: library/stdtypes.rst:5292 msgid "" "This object is returned by functions that don't explicitly return a value. " "It supports no special operations. There is exactly one null object, named " @@ -7487,15 +7503,15 @@ msgstr "" "valeur. Il ne supporte aucune opération spéciale. Il existe exactement un " "objet *null* nommé ``None`` (c'est un nom natif). ``type(None)()``." -#: library/stdtypes.rst:5287 +#: library/stdtypes.rst:5296 msgid "It is written as ``None``." msgstr "C'est écrit ``None``." -#: library/stdtypes.rst:5294 +#: library/stdtypes.rst:5303 msgid "The Ellipsis Object" msgstr "L'objet points de suspension" -#: library/stdtypes.rst:5296 +#: library/stdtypes.rst:5305 msgid "" "This object is commonly used by slicing (see :ref:`slicings`). It supports " "no special operations. There is exactly one ellipsis object, named :const:" @@ -7507,15 +7523,15 @@ msgstr "" "objet *ellipsis*, nommé :const:`Ellipsis` (un nom natif). ``type(Ellipsis)" "()`` produit le *singleton* :const:`Ellipsis`." -#: library/stdtypes.rst:5301 +#: library/stdtypes.rst:5310 msgid "It is written as ``Ellipsis`` or ``...``." msgstr "C'est écrit ``Ellipsis`` ou ``...``." -#: library/stdtypes.rst:5307 +#: library/stdtypes.rst:5316 msgid "The NotImplemented Object" msgstr "L'objet *NotImplemented*" -#: library/stdtypes.rst:5309 +#: library/stdtypes.rst:5318 msgid "" "This object is returned from comparisons and binary operations when they are " "asked to operate on types they don't support. See :ref:`comparisons` for " @@ -7527,15 +7543,15 @@ msgstr "" "pour plus d'informations. Il n'y a qu'un seul objet ``NotImplemented``. " "``type(NotImplemented)()`` renvoie un *singleton*." -#: library/stdtypes.rst:5314 +#: library/stdtypes.rst:5323 msgid "It is written as ``NotImplemented``." msgstr "C'est écrit ``NotImplemented``." -#: library/stdtypes.rst:5320 +#: library/stdtypes.rst:5329 msgid "Boolean Values" msgstr "Valeurs booléennes" -#: library/stdtypes.rst:5322 +#: library/stdtypes.rst:5331 msgid "" "Boolean values are the two constant objects ``False`` and ``True``. They " "are used to represent truth values (although other values can also be " @@ -7554,15 +7570,15 @@ msgstr "" "valeur en booléen tant que la valeur peut être interprétée en une valeur de " "vérité (voir :ref:`truth` au dessus)." -#: library/stdtypes.rst:5335 +#: library/stdtypes.rst:5344 msgid "They are written as ``False`` and ``True``, respectively." msgstr "Ils s'écrivent ``False`` et ``True``, respectivement." -#: library/stdtypes.rst:5341 +#: library/stdtypes.rst:5350 msgid "Internal Objects" msgstr "Objets internes" -#: library/stdtypes.rst:5343 +#: library/stdtypes.rst:5352 msgid "" "See :ref:`types` for this information. It describes stack frame objects, " "traceback objects, and slice objects." @@ -7570,11 +7586,11 @@ msgstr "" "Voir :ref:`types`. Ils décrivent les objets *stack frame*, *traceback*, et " "*slice*." -#: library/stdtypes.rst:5350 +#: library/stdtypes.rst:5359 msgid "Special Attributes" msgstr "Attributs spéciaux" -#: library/stdtypes.rst:5352 +#: library/stdtypes.rst:5361 msgid "" "The implementation adds a few special read-only attributes to several object " "types, where they are relevant. Some of these are not reported by the :func:" @@ -7584,7 +7600,7 @@ msgstr "" "certains types, lorsque ça a du sens. Certains ne sont *pas* listés par la " "fonction native :func:`dir`." -#: library/stdtypes.rst:5359 +#: library/stdtypes.rst:5368 msgid "" "A dictionary or other mapping object used to store an object's (writable) " "attributes." @@ -7592,20 +7608,20 @@ msgstr "" "Un dictionnaire ou un autre *mapping object* utilisé pour stocker les " "attributs (modifiables) de l'objet." -#: library/stdtypes.rst:5365 +#: library/stdtypes.rst:5374 msgid "The class to which a class instance belongs." msgstr "La classe de l'instance de classe." -#: library/stdtypes.rst:5370 +#: library/stdtypes.rst:5379 msgid "The tuple of base classes of a class object." msgstr "Le *n*-uplet des classes parentes d'un objet classe." -#: library/stdtypes.rst:5375 +#: library/stdtypes.rst:5384 msgid "" "The name of the class, function, method, descriptor, or generator instance." msgstr "Le nom de la classe, fonction, méthode, descripteur, ou générateur." -#: library/stdtypes.rst:5381 +#: library/stdtypes.rst:5390 msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." @@ -7613,7 +7629,7 @@ msgstr "" "Le :term:`qualified name` de la classe, fonction, méthode, descripteur, ou " "générateur." -#: library/stdtypes.rst:5389 +#: library/stdtypes.rst:5398 msgid "" "This attribute is a tuple of classes that are considered when looking for " "base classes during method resolution." @@ -7621,7 +7637,7 @@ msgstr "" "Cet attribut est un *n*-uplet contenant les classes parents prises en compte " "lors de la résolution de méthode." -#: library/stdtypes.rst:5395 +#: library/stdtypes.rst:5404 msgid "" "This method can be overridden by a metaclass to customize the method " "resolution order for its instances. It is called at class instantiation, " @@ -7632,7 +7648,7 @@ msgstr "" "la l'initialisation de la classe, et son résultat est stocké dans " "l'attribut :attr:`~class.__mro__`." -#: library/stdtypes.rst:5402 +#: library/stdtypes.rst:5411 #, fuzzy msgid "" "Each class keeps a list of weak references to its immediate subclasses. " @@ -7643,11 +7659,11 @@ msgstr "" "immédiates. Cette méthode renvoie la liste de toutes ces références encore " "valables. La liste est par ordre de définition. Exemple ::" -#: library/stdtypes.rst:5413 +#: library/stdtypes.rst:5422 msgid "Integer string conversion length limitation" msgstr "" -#: library/stdtypes.rst:5415 +#: library/stdtypes.rst:5424 msgid "" "CPython has a global limit for converting between :class:`int` and :class:" "`str` to mitigate denial of service attacks. This limit *only* applies to " @@ -7655,9 +7671,9 @@ msgid "" "binary conversions are unlimited. The limit can be configured." msgstr "" -#: library/stdtypes.rst:5420 +#: library/stdtypes.rst:5429 msgid "" -"The :class:`int` type in CPython is an abitrary length number stored in " +"The :class:`int` type in CPython is an arbitrary length number stored in " "binary form (commonly known as a \"bignum\"). There exists no algorithm that " "can convert a string to a binary integer or a binary integer to a string in " "linear time, *unless* the base is a power of 2. Even the best known " @@ -7665,25 +7681,25 @@ msgid "" "value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." msgstr "" -#: library/stdtypes.rst:5427 +#: library/stdtypes.rst:5436 msgid "" "Limiting conversion size offers a practical way to avoid `CVE-2020-10735 " "`_." msgstr "" -#: library/stdtypes.rst:5430 +#: library/stdtypes.rst:5439 msgid "" "The limit is applied to the number of digit characters in the input or " "output string when a non-linear conversion algorithm would be involved. " "Underscores and the sign are not counted towards the limit." msgstr "" -#: library/stdtypes.rst:5434 +#: library/stdtypes.rst:5443 msgid "" "When an operation would exceed the limit, a :exc:`ValueError` is raised:" msgstr "" -#: library/stdtypes.rst:5456 +#: library/stdtypes.rst:5465 msgid "" "The default limit is 4300 digits as provided in :data:`sys.int_info." "default_max_str_digits `. The lowest limit that can be " @@ -7691,136 +7707,136 @@ msgid "" "str_digits_check_threshold `." msgstr "" -#: library/stdtypes.rst:5461 +#: library/stdtypes.rst:5470 #, fuzzy msgid "Verification:" msgstr "Opération" -#: library/stdtypes.rst:5476 +#: library/stdtypes.rst:5485 msgid "Affected APIs" msgstr "" -#: library/stdtypes.rst:5478 +#: library/stdtypes.rst:5487 msgid "" "The limitation only applies to potentially slow conversions between :class:" "`int` and :class:`str` or :class:`bytes`:" msgstr "" -#: library/stdtypes.rst:5481 +#: library/stdtypes.rst:5490 msgid "``int(string)`` with default base 10." msgstr "" -#: library/stdtypes.rst:5482 +#: library/stdtypes.rst:5491 msgid "``int(string, base)`` for all bases that are not a power of 2." msgstr "" -#: library/stdtypes.rst:5483 +#: library/stdtypes.rst:5492 msgid "``str(integer)``." msgstr "" -#: library/stdtypes.rst:5484 -msgid "``repr(integer)``" +#: library/stdtypes.rst:5493 +msgid "``repr(integer)``." msgstr "" -#: library/stdtypes.rst:5485 +#: library/stdtypes.rst:5494 msgid "" "any other string conversion to base 10, for example ``f\"{integer}\"``, " "``\"{}\".format(integer)``, or ``b\"%d\" % integer``." msgstr "" -#: library/stdtypes.rst:5488 +#: library/stdtypes.rst:5497 msgid "The limitations do not apply to functions with a linear algorithm:" msgstr "" -#: library/stdtypes.rst:5490 +#: library/stdtypes.rst:5499 msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." msgstr "" -#: library/stdtypes.rst:5491 +#: library/stdtypes.rst:5500 msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." msgstr "" -#: library/stdtypes.rst:5492 +#: library/stdtypes.rst:5501 msgid ":func:`hex`, :func:`oct`, :func:`bin`." msgstr "" -#: library/stdtypes.rst:5493 +#: library/stdtypes.rst:5502 msgid ":ref:`formatspec` for hex, octal, and binary numbers." msgstr "" -#: library/stdtypes.rst:5494 +#: library/stdtypes.rst:5503 #, fuzzy msgid ":class:`str` to :class:`float`." msgstr "Types d'ensembles — :class:`set`, :class:`frozenset`" -#: library/stdtypes.rst:5495 +#: library/stdtypes.rst:5504 msgid ":class:`str` to :class:`decimal.Decimal`." msgstr "" -#: library/stdtypes.rst:5498 +#: library/stdtypes.rst:5507 msgid "Configuring the limit" msgstr "" -#: library/stdtypes.rst:5500 +#: library/stdtypes.rst:5509 msgid "" "Before Python starts up you can use an environment variable or an " "interpreter command line flag to configure the limit:" msgstr "" -#: library/stdtypes.rst:5503 +#: library/stdtypes.rst:5512 msgid "" ":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " "to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " "the limitation." msgstr "" -#: library/stdtypes.rst:5506 +#: library/stdtypes.rst:5515 msgid "" ":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " "int_max_str_digits=640``" msgstr "" -#: library/stdtypes.rst:5508 +#: library/stdtypes.rst:5517 msgid "" ":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" "`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If both the " "env var and the ``-X`` option are set, the ``-X`` option takes precedence. A " "value of *-1* indicates that both were unset, thus a value of :data:`sys." -"int_info.default_max_str_digits` was used during initilization." +"int_info.default_max_str_digits` was used during initialization." msgstr "" -#: library/stdtypes.rst:5514 +#: library/stdtypes.rst:5523 msgid "" "From code, you can inspect the current limit and set a new one using these :" "mod:`sys` APIs:" msgstr "" -#: library/stdtypes.rst:5517 +#: library/stdtypes.rst:5526 msgid "" ":func:`sys.get_int_max_str_digits` and :func:`sys.set_int_max_str_digits` " "are a getter and setter for the interpreter-wide limit. Subinterpreters have " "their own limit." msgstr "" -#: library/stdtypes.rst:5521 +#: library/stdtypes.rst:5530 msgid "" "Information about the default and minimum can be found in :attr:`sys." "int_info`:" msgstr "" -#: library/stdtypes.rst:5523 +#: library/stdtypes.rst:5532 msgid "" ":data:`sys.int_info.default_max_str_digits ` is the compiled-" "in default limit." msgstr "" -#: library/stdtypes.rst:5525 +#: library/stdtypes.rst:5534 msgid "" ":data:`sys.int_info.str_digits_check_threshold ` is the lowest " "accepted value for the limit (other than 0 which disables it)." msgstr "" -#: library/stdtypes.rst:5532 +#: library/stdtypes.rst:5541 msgid "" "Setting a low limit *can* lead to problems. While rare, code exists that " "contains integer constants in decimal in their source that exceed the " @@ -7832,7 +7848,7 @@ msgid "" "constants is to convert them to ``0x`` hexadecimal form as it has no limit." msgstr "" -#: library/stdtypes.rst:5541 +#: library/stdtypes.rst:5550 msgid "" "Test your application thoroughly if you use a low limit. Ensure your tests " "run with the limit set early via the environment or flag so that it applies " @@ -7840,11 +7856,11 @@ msgid "" "to precompile ``.py`` sources to ``.pyc`` files." msgstr "" -#: library/stdtypes.rst:5547 +#: library/stdtypes.rst:5556 msgid "Recommended configuration" msgstr "" -#: library/stdtypes.rst:5549 +#: library/stdtypes.rst:5558 msgid "" "The default :data:`sys.int_info.default_max_str_digits` is expected to be " "reasonable for most applications. If your application requires a different " @@ -7852,19 +7868,19 @@ msgid "" "as these APIs were added in security patch releases in versions before 3.11." msgstr "" -#: library/stdtypes.rst:5554 +#: library/stdtypes.rst:5563 msgid "Example::" msgstr "Exemple ::" -#: library/stdtypes.rst:5566 +#: library/stdtypes.rst:5575 msgid "If you need to disable it entirely, set it to ``0``." msgstr "" -#: library/stdtypes.rst:5570 +#: library/stdtypes.rst:5579 msgid "Footnotes" msgstr "Notes" -#: library/stdtypes.rst:5571 +#: library/stdtypes.rst:5580 msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." @@ -7872,7 +7888,7 @@ msgstr "" "Plus d'informations sur ces méthodes spéciales peuvent être trouvées dans le " "*Python Reference Manual* (:ref:`customization`)." -#: library/stdtypes.rst:5574 +#: library/stdtypes.rst:5583 msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." @@ -7880,13 +7896,13 @@ msgstr "" "Par conséquent, la liste ``[1, 2]`` est considérée égale à ``[1.0, 2.0]``. " "Idem avec des *n*-uplets." -#: library/stdtypes.rst:5577 +#: library/stdtypes.rst:5586 msgid "They must have since the parser can't tell the type of the operands." msgstr "" "Nécessairement, puisque l'analyseur ne peut pas discerner le type des " "opérandes." -#: library/stdtypes.rst:5579 +#: library/stdtypes.rst:5588 msgid "" "Cased characters are those with general category property being one of " "\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " @@ -7896,7 +7912,7 @@ msgstr "" "category* est soit \"Lu\" (pour *Letter*, *uppercase*), soit \"Ll\" (pour " "*Letter*, *lowercase*), soit \"Lt\" (pour *Letter*, *titlecase*)." -#: library/stdtypes.rst:5582 +#: library/stdtypes.rst:5591 msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." @@ -7904,6 +7920,34 @@ msgstr "" "Pour insérer un *n*-uplet, vous devez donc donner un *n*-uplet d'un seul " "élément, contenant le *n*-uplet à insérer." +#~ msgid "if *x* is false, then *y*, else *x*" +#~ msgstr "si *x* est faux, alors *y*, sinon *x*" + +#~ msgid "" +#~ "By default, the *errors* argument is not checked for best performances, " +#~ "but only used at the first encoding error. Enable the :ref:`Python " +#~ "Development Mode `, or use a :ref:`debug build ` to " +#~ "check *errors*." +#~ msgstr "" +#~ "Par défaut, l'argument *errors* n'est pas testé, mais seulement utilisé à " +#~ "la première erreur d'encodage. Activez le :ref:`Python Development Mode " +#~ "`, ou utilisez le :ref:`mode de débogage ` pour " +#~ "vérifier *errors*." + +#~ msgid "Support for keyword arguments added." +#~ msgstr "Gestion des arguments par mot-clé." + +#~ msgid "" +#~ "By default, the *errors* argument is not checked for best performances, " +#~ "but only used at the first decoding error. Enable the :ref:`Python " +#~ "Development Mode `, or use a :ref:`debug build ` to " +#~ "check *errors*." +#~ msgstr "" +#~ "Par défaut, pour de meilleures performances, l'argument *errors* n'est " +#~ "pas testé, mais seulement utilisé à la première erreur d'encodage. " +#~ "Activez le :ref:`Python Development Mode `, ou utilisez le :ref:" +#~ "`mode de débogage ` pour vérifier *errors*." + #~ msgid "" #~ "For Python 2.x users: In the Python 2.x series, a variety of implicit " #~ "conversions between 8-bit strings (the closest thing 2.x offers to a " diff --git a/library/struct.po b/library/struct.po index 58cd3d1275..bce28d57f0 100644 --- a/library/struct.po +++ b/library/struct.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:59+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -27,43 +27,28 @@ msgstr "**Code source :** :source:`Lib/struct.py`" #: library/struct.rst:15 msgid "" -"This module performs conversions between Python values and C structs " -"represented as Python :class:`bytes` objects. This can be used in handling " -"binary data stored in files or from network connections, among other " -"sources. It uses :ref:`struct-format-strings` as compact descriptions of " -"the layout of the C structs and the intended conversion to/from Python " -"values." -msgstr "" -"Ce module effectue des conversions entre des valeurs Python et des " -"structures C représentées sous la forme de :class:`bytes` (séquences " -"d'octets) Python. Cela permet, entre autres, de manipuler des données " -"agrégées sous forme binaire dans des fichiers ou à travers des connecteurs " -"réseau. Il utilise :ref:`les chaînes de spécification de format ` comme description de l'agencement des structures afin de " -"réaliser les conversions depuis et vers les valeurs Python." +"This module converts between Python values and C structs represented as " +"Python :class:`bytes` objects. Compact :ref:`format strings ` describe the intended conversions to/from Python values. The " +"module's functions and objects can be used for two largely distinct " +"applications, data exchange with external sources (files or network " +"connections), or data transfer between the Python application and the C " +"layer." +msgstr "" -# Pas de majuscule car suit un ':' dans la version affichée (« Note »). -#: library/struct.rst:23 +#: library/struct.rst:25 msgid "" -"By default, the result of packing a given C struct includes pad bytes in " -"order to maintain proper alignment for the C types involved; similarly, " -"alignment is taken into account when unpacking. This behavior is chosen so " -"that the bytes of a packed struct correspond exactly to the layout in memory " -"of the corresponding C struct. To handle platform-independent data formats " -"or omit implicit pad bytes, use ``standard`` size and alignment instead of " -"``native`` size and alignment: see :ref:`struct-alignment` for details." -msgstr "" -"par défaut, le résultat de l'agrégation d'une structure C donnée comprend " -"des octets de bourrage afin de maintenir un alignement correct des types C " -"sous-jacents ; de la même manière, l'alignement est pris en compte lors de " -"la dissociation. Ce comportement a été choisi de manière à ce que les octets " -"d'une structure agrégée reproduisent exactement l'agencement en mémoire de " -"la structure C équivalente. Pour gérer des formats de données indépendants " -"de la plateforme ou omettre les octets implicites de bourrage, utilisez la " -"taille et l'alignement ``standard`` en lieu et place de la taille et " -"l'alignement ``native`` (voir :ref:`struct-alignment` pour les détails)." - -#: library/struct.rst:31 +"When no prefix character is given, native mode is the default. It packs or " +"unpacks data based on the platform and compiler on which the Python " +"interpreter was built. The result of packing a given C struct includes pad " +"bytes which maintain proper alignment for the C types involved; similarly, " +"alignment is taken into account when unpacking. In contrast, when " +"communicating data between external sources, the programmer is responsible " +"for defining byte ordering and padding between elements. See :ref:`struct-" +"alignment` for details." +msgstr "" + +#: library/struct.rst:35 msgid "" "Several :mod:`struct` functions (and methods of :class:`Struct`) take a " "*buffer* argument. This refers to objects that implement the :ref:" @@ -82,15 +67,15 @@ msgstr "" "des tableaux d'octets implémentent le protocole tampon ; ils peuvent ainsi " "être lus ou remplis depuis un objet :class:`bytes` sans faire de copie." -#: library/struct.rst:40 +#: library/struct.rst:44 msgid "Functions and Exceptions" msgstr "Fonctions et exceptions" -#: library/struct.rst:42 +#: library/struct.rst:46 msgid "The module defines the following exception and functions:" msgstr "Le module définit les exceptions et fonctions suivantes :" -#: library/struct.rst:47 +#: library/struct.rst:51 msgid "" "Exception raised on various occasions; argument is a string describing what " "is wrong." @@ -98,7 +83,7 @@ msgstr "" "Exception levée à plusieurs occasions ; l'argument est une chaîne qui décrit " "ce qui ne va pas." -#: library/struct.rst:53 +#: library/struct.rst:57 msgid "" "Return a bytes object containing the values *v1*, *v2*, ... packed according " "to the format string *format*. The arguments must match the values required " @@ -108,7 +93,7 @@ msgstr "" "conformément à la chaîne de format *format*. Les arguments doivent " "correspondre exactement aux valeurs requises par le format." -#: library/struct.rst:60 +#: library/struct.rst:64 msgid "" "Pack the values *v1*, *v2*, ... according to the format string *format* and " "write the packed bytes into the writable buffer *buffer* starting at " @@ -118,7 +103,7 @@ msgstr "" "et écrit les octets agrégés dans le tampon *buffer*, en commençant à la " "position *offset*. Notez que *offset* est un argument obligatoire." -#: library/struct.rst:67 +#: library/struct.rst:71 msgid "" "Unpack from the buffer *buffer* (presumably packed by ``pack(format, ...)``) " "according to the format string *format*. The result is a tuple even if it " @@ -131,7 +116,7 @@ msgstr "" "élément. La taille de *buffer* en octets doit correspondre à la taille " "requise par le format, telle que calculée par :func:`calcsize`." -#: library/struct.rst:75 +#: library/struct.rst:79 msgid "" "Unpack from *buffer* starting at position *offset*, according to the format " "string *format*. The result is a tuple even if it contains exactly one " @@ -145,7 +130,7 @@ msgstr "" "égale à la taille requise par le format, telle que calculée par :func:" "`calcsize`." -#: library/struct.rst:83 +#: library/struct.rst:87 #, fuzzy msgid "" "Iteratively unpack from the buffer *buffer* according to the format string " @@ -160,13 +145,13 @@ msgstr "" "ait été consommé. La taille du tampon en octets doit être un multiple de la " "taille requise par le format, telle que calculée par :func:`calcsize`." -#: library/struct.rst:89 +#: library/struct.rst:93 msgid "Each iteration yields a tuple as specified by the format string." msgstr "" "Chaque itération produit un *n*-uplet tel que spécifié par la chaîne de " "format." -#: library/struct.rst:96 +#: library/struct.rst:100 msgid "" "Return the size of the struct (and hence of the bytes object produced by " "``pack(format, ...)``) corresponding to the format string *format*." @@ -174,17 +159,20 @@ msgstr "" "Renvoie la taille de la structure (et donc celle de l'objet *bytes* produit " "par ``pack(format, ...)``) correspondant à la chaîne de format *format*." -#: library/struct.rst:103 +#: library/struct.rst:107 msgid "Format Strings" msgstr "Chaînes de spécification du format" -#: library/struct.rst:105 +#: library/struct.rst:109 +#, fuzzy msgid "" -"Format strings are the mechanism used to specify the expected layout when " -"packing and unpacking data. They are built up from :ref:`format-" -"characters`, which specify the type of data being packed/unpacked. In " -"addition, there are special characters for controlling the :ref:`struct-" -"alignment`." +"Format strings describe the data layout when packing and unpacking data. " +"They are built up from :ref:`format characters`, which " +"specify the type of data being packed/unpacked. In addition, special " +"characters control the :ref:`byte order, size and alignment`. Each format string consists of an optional prefix character " +"which describes the overall properties of the data and one or more format " +"characters which describe the actual data values and padding." msgstr "" "Les chaînes de spécification du format servent à définir l'agencement lors " "de l'agrégation et la dissociation des données. Elles sont construites à " @@ -193,21 +181,25 @@ msgstr "" "spéciaux pour contrôler :ref:`le boutisme, la taille et l'alignement `." -#: library/struct.rst:114 +#: library/struct.rst:121 msgid "Byte Order, Size, and Alignment" msgstr "Boutisme, taille et alignement" -#: library/struct.rst:116 +#: library/struct.rst:123 +#, fuzzy msgid "" "By default, C types are represented in the machine's native format and byte " "order, and properly aligned by skipping pad bytes if necessary (according to " -"the rules used by the C compiler)." +"the rules used by the C compiler). This behavior is chosen so that the bytes " +"of a packed struct correspond exactly to the memory layout of the " +"corresponding C struct. Whether to use native byte ordering and padding or " +"standard formats depends on the application." msgstr "" "Par défaut, les types C sont représentés dans le format et le boutisme " "natifs de la machine ; ils sont alignés correctement en sautant des octets " "si nécessaire (en fonction des règles utilisées par le compilateur C)." -#: library/struct.rst:127 +#: library/struct.rst:139 msgid "" "Alternatively, the first character of the format string can be used to " "indicate the byte order, size and alignment of the packed data, according to " @@ -217,81 +209,79 @@ msgstr "" "pour indiquer le boutisme, la taille et l'alignement des données agrégées, " "conformément à la table suivante :" -#: library/struct.rst:132 +#: library/struct.rst:144 msgid "Character" msgstr "Caractère" -#: library/struct.rst:132 +#: library/struct.rst:144 msgid "Byte order" msgstr "Boutisme" -#: library/struct.rst:132 +#: library/struct.rst:144 msgid "Size" msgstr "Taille" -#: library/struct.rst:132 +#: library/struct.rst:144 msgid "Alignment" msgstr "Alignement" -#: library/struct.rst:134 +#: library/struct.rst:146 msgid "``@``" msgstr "``@``" -#: library/struct.rst:136 +#: library/struct.rst:148 msgid "native" msgstr "natif" -#: library/struct.rst:136 +#: library/struct.rst:148 msgid "``=``" msgstr "``=``" -#: library/struct.rst:138 library/struct.rst:142 +#: library/struct.rst:150 library/struct.rst:154 msgid "standard" msgstr "standard" -#: library/struct.rst:138 library/struct.rst:142 +#: library/struct.rst:150 library/struct.rst:154 msgid "none" msgstr "aucun" -#: library/struct.rst:138 +#: library/struct.rst:150 msgid "``<``" msgstr "``<``" -#: library/struct.rst:138 +#: library/struct.rst:150 msgid "little-endian" msgstr "petit-boutiste" -#: library/struct.rst:140 +#: library/struct.rst:152 msgid "``>``" msgstr "``>``" -#: library/struct.rst:140 +#: library/struct.rst:152 msgid "big-endian" msgstr "gros-boutiste" -#: library/struct.rst:142 +#: library/struct.rst:154 msgid "``!``" msgstr "``!``" -#: library/struct.rst:142 +#: library/struct.rst:154 msgid "network (= big-endian)" msgstr "réseau (= gros-boutiste)" -#: library/struct.rst:145 +#: library/struct.rst:157 msgid "If the first character is not one of these, ``'@'`` is assumed." msgstr "" "Si le premier caractère n'est pas dans cette liste, le module se comporte " "comme si ``'@'`` avait été indiqué." -#: library/struct.rst:147 +#: library/struct.rst:159 #, fuzzy msgid "" "Native byte order is big-endian or little-endian, depending on the host " -"system. For example, Intel x86 and AMD64 (x86-64) are little-endian; IBM z " -"and most legacy architectures are big-endian; and ARM, RISC-V and IBM Power " -"feature switchable endianness (bi-endian, though the former two are nearly " -"always little-endian in practice). Use ``sys.byteorder`` to check the " -"endianness of your system." +"system. For example, Intel x86, AMD64 (x86-64), and Apple M1 are little-" +"endian; IBM z and many legacy architectures are big-endian. Use :data:`sys." +"byteorder` to check the endianness of your system." msgstr "" "Le boutisme natif est gros-boutiste ou petit-boutiste, en fonction de la " "machine sur laquelle s'exécute le programme. Par exemple, les Intel x86 et " @@ -300,7 +290,7 @@ msgstr "" "boutisme. Utilisez ``sys.byteorder`` pour vérifier le boutisme de votre " "système." -#: library/struct.rst:154 +#: library/struct.rst:164 msgid "" "Native size and alignment are determined using the C compiler's ``sizeof`` " "expression. This is always combined with native byte order." @@ -309,7 +299,7 @@ msgstr "" "``sizeof`` du compilateur C. Leur valeur est toujours combinée au boutisme " "natif." -#: library/struct.rst:157 +#: library/struct.rst:167 msgid "" "Standard size depends only on the format character; see the table in the :" "ref:`format-characters` section." @@ -317,7 +307,7 @@ msgstr "" "La taille standard dépend seulement du caractère du format ; référez-vous au " "tableau dans la section :ref:`format-characters`." -#: library/struct.rst:160 +#: library/struct.rst:170 msgid "" "Note the difference between ``'@'`` and ``'='``: both use native byte order, " "but the size and alignment of the latter is standardized." @@ -325,13 +315,13 @@ msgstr "" "Notez la différence entre ``'@'`` et ``'='`` : les deux utilisent le " "boutisme natif mais la taille et l'alignement du dernier sont standards." -#: library/struct.rst:163 +#: library/struct.rst:173 msgid "" "The form ``'!'`` represents the network byte order which is always big-" "endian as defined in `IETF RFC 1700 `_." msgstr "" -#: library/struct.rst:166 +#: library/struct.rst:176 msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." @@ -340,11 +330,11 @@ msgstr "" "(c'est-à-dire forcer la permutation des octets) ; utilisez le bon caractère " "entre ``'<'`` et ``'>'``." -#: library/struct.rst:248 +#: library/struct.rst:258 msgid "Notes:" msgstr "Notes :" -#: library/struct.rst:171 +#: library/struct.rst:181 msgid "" "Padding is only automatically added between successive structure members. No " "padding is added at the beginning or the end of the encoded struct." @@ -353,7 +343,7 @@ msgstr "" "membres successifs de la structure. Il n'y a pas de bourrage au début ou à " "la fin de la structure agrégée." -#: library/struct.rst:174 +#: library/struct.rst:184 msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." @@ -361,7 +351,7 @@ msgstr "" "Il n'y a pas d'ajout de bourrage lorsque vous utilisez une taille et un " "alignement non-natifs, par exemple avec ``'<'``, ``'>'``, ``'='`` ou ``'!'``." -#: library/struct.rst:177 +#: library/struct.rst:187 msgid "" "To align the end of a structure to the alignment requirement of a particular " "type, end the format with the code for that type with a repeat count of " @@ -371,11 +361,11 @@ msgstr "" "particulier, terminez le format avec le code du type voulu et une valeur de " "répétition à zéro. Référez-vous à :ref:`struct-examples`." -#: library/struct.rst:185 +#: library/struct.rst:195 msgid "Format Characters" msgstr "Caractères de format" -#: library/struct.rst:187 +#: library/struct.rst:197 msgid "" "Format characters have the following meaning; the conversion between C and " "Python values should be obvious given their types. The 'Standard size' " @@ -392,286 +382,298 @@ msgstr "" "suivants : ``'<'``, ``'>'``, ``'!'`` ou ``'='``). Si vous utilisez la taille " "native, la taille de la valeur agrégée dépend de la plateforme." -#: library/struct.rst:195 +#: library/struct.rst:205 msgid "Format" msgstr "Format" -#: library/struct.rst:195 +#: library/struct.rst:205 msgid "C Type" msgstr "Type C" -#: library/struct.rst:195 +#: library/struct.rst:205 msgid "Python type" msgstr "Type Python" -#: library/struct.rst:195 +#: library/struct.rst:205 msgid "Standard size" msgstr "Taille standard" -#: library/struct.rst:195 +#: library/struct.rst:205 msgid "Notes" msgstr "Notes" -#: library/struct.rst:197 +#: library/struct.rst:207 msgid "``x``" msgstr "``x``" -#: library/struct.rst:197 +#: library/struct.rst:207 msgid "pad byte" msgstr "octet de bourrage" -#: library/struct.rst:197 +#: library/struct.rst:207 msgid "no value" msgstr "pas de valeur" -#: library/struct.rst:199 +#: library/struct.rst:207 +msgid "\\(7)" +msgstr "" + +#: library/struct.rst:209 msgid "``c``" msgstr "``c``" -#: library/struct.rst:199 +#: library/struct.rst:209 #, fuzzy msgid ":c:expr:`char`" msgstr ":c:type:`char`" -#: library/struct.rst:199 +#: library/struct.rst:209 msgid "bytes of length 1" msgstr "*bytes* (suite d'octets) de taille 1" -#: library/struct.rst:201 library/struct.rst:205 +#: library/struct.rst:211 library/struct.rst:215 msgid "1" msgstr "1" -#: library/struct.rst:201 +#: library/struct.rst:211 msgid "``b``" msgstr "``b``" -#: library/struct.rst:201 +#: library/struct.rst:211 #, fuzzy msgid ":c:expr:`signed char`" msgstr ":c:type:`signed char`" -#: library/struct.rst:203 library/struct.rst:209 library/struct.rst:213 -#: library/struct.rst:217 library/struct.rst:221 library/struct.rst:226 -#: library/struct.rst:238 +#: library/struct.rst:213 library/struct.rst:219 library/struct.rst:223 +#: library/struct.rst:227 library/struct.rst:231 library/struct.rst:236 +#: library/struct.rst:248 msgid "integer" msgstr "*int* (entier)" -#: library/struct.rst:201 +#: library/struct.rst:211 msgid "\\(1), \\(2)" msgstr "\\(1), \\(2)" -#: library/struct.rst:203 +#: library/struct.rst:213 msgid "``B``" msgstr "``B``" -#: library/struct.rst:203 +#: library/struct.rst:213 #, fuzzy msgid ":c:expr:`unsigned char`" msgstr ":c:type:`unsigned char`" -#: library/struct.rst:207 library/struct.rst:211 library/struct.rst:215 -#: library/struct.rst:219 library/struct.rst:221 +#: library/struct.rst:217 library/struct.rst:221 library/struct.rst:225 +#: library/struct.rst:229 library/struct.rst:231 msgid "\\(2)" msgstr "\\(2)" -#: library/struct.rst:205 +#: library/struct.rst:215 msgid "``?``" msgstr "``?``" -#: library/struct.rst:205 +#: library/struct.rst:215 #, fuzzy msgid ":c:expr:`_Bool`" msgstr ":c:type:`_Bool`" -#: library/struct.rst:205 +#: library/struct.rst:215 msgid "bool" msgstr "*bool* (booléen)" -#: library/struct.rst:205 +#: library/struct.rst:215 msgid "\\(1)" msgstr "\\(1)" -#: library/struct.rst:207 +#: library/struct.rst:217 msgid "``h``" msgstr "``h``" -#: library/struct.rst:207 +#: library/struct.rst:217 #, fuzzy msgid ":c:expr:`short`" msgstr ":c:type:`short`" -#: library/struct.rst:209 library/struct.rst:228 +#: library/struct.rst:219 library/struct.rst:238 msgid "2" msgstr "2" -#: library/struct.rst:209 +#: library/struct.rst:219 msgid "``H``" msgstr "``H``" -#: library/struct.rst:209 +#: library/struct.rst:219 #, fuzzy msgid ":c:expr:`unsigned short`" msgstr ":c:type:`unsigned short`" -#: library/struct.rst:211 +#: library/struct.rst:221 msgid "``i``" msgstr "``i``" -#: library/struct.rst:211 +#: library/struct.rst:221 #, fuzzy msgid ":c:expr:`int`" msgstr ":c:type:`int`" -#: library/struct.rst:213 library/struct.rst:217 library/struct.rst:230 +#: library/struct.rst:223 library/struct.rst:227 library/struct.rst:240 msgid "4" msgstr "4" -#: library/struct.rst:213 +#: library/struct.rst:223 msgid "``I``" msgstr "``I``" -#: library/struct.rst:213 +#: library/struct.rst:223 #, fuzzy msgid ":c:expr:`unsigned int`" msgstr ":c:type:`unsigned int`" -#: library/struct.rst:215 +#: library/struct.rst:225 msgid "``l``" msgstr "``l``" -#: library/struct.rst:215 +#: library/struct.rst:225 #, fuzzy msgid ":c:expr:`long`" msgstr ":c:type:`long`" -#: library/struct.rst:217 +#: library/struct.rst:227 msgid "``L``" msgstr "``L``" -#: library/struct.rst:217 +#: library/struct.rst:227 #, fuzzy msgid ":c:expr:`unsigned long`" msgstr ":c:type:`unsigned long`" -#: library/struct.rst:219 +#: library/struct.rst:229 msgid "``q``" msgstr "``q``" -#: library/struct.rst:219 +#: library/struct.rst:229 #, fuzzy msgid ":c:expr:`long long`" msgstr ":c:type:`long long`" -#: library/struct.rst:221 library/struct.rst:232 +#: library/struct.rst:231 library/struct.rst:242 msgid "8" msgstr "8" -#: library/struct.rst:221 +#: library/struct.rst:231 msgid "``Q``" msgstr "``Q``" -#: library/struct.rst:221 +#: library/struct.rst:231 #, fuzzy msgid ":c:expr:`unsigned long long`" msgstr ":c:type:`unsigned long long`" -#: library/struct.rst:224 +#: library/struct.rst:234 msgid "``n``" msgstr "``n``" -#: library/struct.rst:224 +#: library/struct.rst:234 #, fuzzy msgid ":c:expr:`ssize_t`" msgstr ":c:type:`ssize_t`" -#: library/struct.rst:226 +#: library/struct.rst:236 msgid "\\(3)" msgstr "\\(3)" -#: library/struct.rst:226 +#: library/struct.rst:236 msgid "``N``" msgstr "``N``" -#: library/struct.rst:226 +#: library/struct.rst:236 #, fuzzy msgid ":c:expr:`size_t`" msgstr ":c:type:`size_t`" -#: library/struct.rst:228 +#: library/struct.rst:238 msgid "``e``" msgstr "``e``" -#: library/struct.rst:228 +#: library/struct.rst:238 msgid "\\(6)" msgstr "\\(6)" -#: library/struct.rst:230 library/struct.rst:232 +#: library/struct.rst:240 library/struct.rst:242 msgid "float" msgstr "*float* (nombre à virgule flottante)" -#: library/struct.rst:230 library/struct.rst:232 +#: library/struct.rst:240 library/struct.rst:242 msgid "\\(4)" msgstr "\\(4)" -#: library/struct.rst:230 +#: library/struct.rst:240 msgid "``f``" msgstr "``f``" -#: library/struct.rst:230 +#: library/struct.rst:240 #, fuzzy msgid ":c:expr:`float`" msgstr ":c:type:`float`" -#: library/struct.rst:232 +#: library/struct.rst:242 msgid "``d``" msgstr "``d``" -#: library/struct.rst:232 +#: library/struct.rst:242 #, fuzzy msgid ":c:expr:`double`" msgstr ":c:type:`double`" -#: library/struct.rst:234 +#: library/struct.rst:244 msgid "``s``" msgstr "``s``" -#: library/struct.rst:236 +#: library/struct.rst:246 #, fuzzy msgid ":c:expr:`char[]`" msgstr ":c:type:`char[]`" -#: library/struct.rst:236 +#: library/struct.rst:246 msgid "bytes" msgstr "*bytes* (séquence d'octets)" -#: library/struct.rst:236 +#: library/struct.rst:244 +msgid "\\(9)" +msgstr "" + +#: library/struct.rst:246 msgid "``p``" msgstr "``p``" -#: library/struct.rst:238 +#: library/struct.rst:246 +msgid "\\(8)" +msgstr "" + +#: library/struct.rst:248 msgid "``P``" msgstr "``P``" -#: library/struct.rst:238 +#: library/struct.rst:248 #, fuzzy msgid ":c:expr:`void \\*`" msgstr ":c:type:`void \\*`" -#: library/struct.rst:238 +#: library/struct.rst:248 msgid "\\(5)" msgstr "\\(5)" # Suit un ':' dans la version affichée, donc pas de majuscule. -#: library/struct.rst:241 +#: library/struct.rst:251 msgid "Added support for the ``'n'`` and ``'N'`` formats." msgstr "ajouté la gestion des formats ``'n'`` et ``'N'``." # Suit un ':' dans la version affichée, donc pas de majuscule. -#: library/struct.rst:244 +#: library/struct.rst:254 msgid "Added support for the ``'e'`` format." msgstr "ajouté la gestion du format ``'e'``." -#: library/struct.rst:253 +#: library/struct.rst:263 #, fuzzy msgid "" "The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined " @@ -682,7 +684,7 @@ msgstr "" "ce type n'est pas disponible, il est simulé en utilisant un :c:type:`char`. " "Dans le mode standard, il est toujours représenté par un octet." -#: library/struct.rst:258 +#: library/struct.rst:268 msgid "" "When attempting to pack a non-integer using any of the integer conversion " "codes, if the non-integer has a :meth:`__index__` method then that method is " @@ -694,12 +696,12 @@ msgstr "" "entier avant l'agrégation." # Suit un ':' dans la version affichée, donc pas de majuscule. -#: library/struct.rst:262 +#: library/struct.rst:272 #, fuzzy msgid "Added use of the :meth:`__index__` method for non-integers." msgstr "utilisation de la méthode :meth:`__index__` pour les non-entiers. " -#: library/struct.rst:266 +#: library/struct.rst:276 msgid "" "The ``'n'`` and ``'N'`` conversion codes are only available for the native " "size (selected as the default or with the ``'@'`` byte order character). For " @@ -711,7 +713,7 @@ msgstr "" "``'@'``). Pour la taille standard, vous pouvez utiliser n'importe quel " "format d'entier qui convient à votre application." -#: library/struct.rst:272 +#: library/struct.rst:282 msgid "" "For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " "representation uses the IEEE 754 binary32, binary64 or binary16 format (for " @@ -723,7 +725,7 @@ msgstr "" "ou *binaire16* (pour ``'f'``, ``'d'`` ou ``'e'`` respectivement), quel que " "soit le format des nombres à virgule flottante de la plateforme." -#: library/struct.rst:278 +#: library/struct.rst:288 msgid "" "The ``'P'`` format character is only available for the native byte ordering " "(selected as the default or with the ``'@'`` byte order character). The byte " @@ -737,7 +739,7 @@ msgstr "" "fonction du système hôte. Le module *struct* ne l'interprète pas comme un " "boutisme natif, donc le format ``'P'`` n'est pas disponible." -#: library/struct.rst:285 +#: library/struct.rst:295 msgid "" "The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " "revision of the `IEEE 754 standard `_. It has a sign " @@ -759,30 +761,45 @@ msgstr "" "non traduite en français) `half-precision floating-point format `_ pour davantage d'informations." -#: library/struct.rst:295 -msgid "" -"A format character may be preceded by an integral repeat count. For " -"example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." +#: library/struct.rst:305 +msgid "When packing, ``'x'`` inserts one NUL byte." msgstr "" -"Un caractère de format peut être précédé par un entier indiquant le nombre " -"de répétitions. Par exemple, la chaîne de format ``'4h'`` a exactement la " -"même signification que ``'hhhh'``." -#: library/struct.rst:298 +#: library/struct.rst:308 msgid "" -"Whitespace characters between formats are ignored; a count and its format " -"must not contain whitespace though." +"The ``'p'`` format character encodes a \"Pascal string\", meaning a short " +"variable-length string stored in a *fixed number of bytes*, given by the " +"count. The first byte stored is the length of the string, or 255, whichever " +"is smaller. The bytes of the string follow. If the string passed in to :" +"func:`pack` is too long (longer than the count minus 1), only the leading " +"``count-1`` bytes of the string are stored. If the string is shorter than " +"``count-1``, it is padded with null bytes so that exactly count bytes in all " +"are used. Note that for :func:`unpack`, the ``'p'`` format character " +"consumes ``count`` bytes, but that the string returned can never contain " +"more than 255 bytes." msgstr "" -"Les caractères d'espacement entre les indications de format sont ignorés ; " -"cependant, le nombre de répétitions et le format associé ne doivent pas être " -"séparés par des caractères d'espacement." +"Le caractère de format ``'p'`` sert à encoder une « chaîne Pascal », c'est-à-" +"dire une courte chaîne de longueur variable, stockée dans un *nombre défini " +"d'octets* dont la valeur est définie par la répétition. Le premier octet " +"stocké est la longueur de la chaîne (dans la limite maximum de 255). Les " +"octets composant la chaîne suivent. Si la chaîne passée à :func:`pack` est " +"trop longue (supérieure à la valeur de la répétition moins 1), seuls les " +"``count-1`` premiers octets de la chaîne sont stockés. Si la chaîne est plus " +"courte que ``count-1``, des octets de bourrage nuls sont insérés de manière " +"à avoir exactement *count* octets au final. Notez que pour :func:`unpack`, " +"le caractère de format ``'p'`` consomme ``count`` octets mais que la chaîne " +"renvoyée ne peut pas excéder 255 octets." -#: library/struct.rst:301 +#: library/struct.rst:320 +#, fuzzy msgid "" "For the ``'s'`` format character, the count is interpreted as the length of " "the bytes, not a repeat count like for the other format characters; for " -"example, ``'10s'`` means a single 10-byte string, while ``'10c'`` means 10 " -"characters. If a count is not given, it defaults to 1. For packing, the " +"example, ``'10s'`` means a single 10-byte string mapping to or from a single " +"Python byte string, while ``'10c'`` means 10 separate one byte character " +"elements (e.g., ``cccccccccc``) mapping to or from ten different Python byte " +"objects. (See :ref:`struct-examples` for a concrete demonstration of the " +"difference.) If a count is not given, it defaults to 1. For packing, the " "string is truncated or padded with null bytes as appropriate to make it fit. " "For unpacking, the resulting bytes object always has exactly the specified " "number of bytes. As a special case, ``'0s'`` means a single, empty string " @@ -798,7 +815,25 @@ msgstr "" "exact d'octets spécifiés. Un cas particulier est ``'0s'`` qui signifie une " "chaîne (et une seule) vide (alors que ``'0c'`` signifie zéro caractère)." -#: library/struct.rst:310 +#: library/struct.rst:333 +msgid "" +"A format character may be preceded by an integral repeat count. For " +"example, the format string ``'4h'`` means exactly the same as ``'hhhh'``." +msgstr "" +"Un caractère de format peut être précédé par un entier indiquant le nombre " +"de répétitions. Par exemple, la chaîne de format ``'4h'`` a exactement la " +"même signification que ``'hhhh'``." + +#: library/struct.rst:336 +msgid "" +"Whitespace characters between formats are ignored; a count and its format " +"must not contain whitespace though." +msgstr "" +"Les caractères d'espacement entre les indications de format sont ignorés ; " +"cependant, le nombre de répétitions et le format associé ne doivent pas être " +"séparés par des caractères d'espacement." + +#: library/struct.rst:339 msgid "" "When packing a value ``x`` using one of the integer formats (``'b'``, " "``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, ``'q'``, " @@ -811,7 +846,7 @@ msgstr "" "spécifié, une :exc:`struct.error` est levée." # Pas de majuscule en début car cela suit un ':' dans la version affichée. -#: library/struct.rst:315 +#: library/struct.rst:344 #, fuzzy msgid "" "Previously, some of the integer formats wrapped out-of-range values and " @@ -821,32 +856,7 @@ msgstr "" "intervalles valides et levaient une :exc:`DeprecationWarning` au lieu d'une :" "exc:`struct.error`." -#: library/struct.rst:319 -msgid "" -"The ``'p'`` format character encodes a \"Pascal string\", meaning a short " -"variable-length string stored in a *fixed number of bytes*, given by the " -"count. The first byte stored is the length of the string, or 255, whichever " -"is smaller. The bytes of the string follow. If the string passed in to :" -"func:`pack` is too long (longer than the count minus 1), only the leading " -"``count-1`` bytes of the string are stored. If the string is shorter than " -"``count-1``, it is padded with null bytes so that exactly count bytes in all " -"are used. Note that for :func:`unpack`, the ``'p'`` format character " -"consumes ``count`` bytes, but that the string returned can never contain " -"more than 255 bytes." -msgstr "" -"Le caractère de format ``'p'`` sert à encoder une « chaîne Pascal », c'est-à-" -"dire une courte chaîne de longueur variable, stockée dans un *nombre défini " -"d'octets* dont la valeur est définie par la répétition. Le premier octet " -"stocké est la longueur de la chaîne (dans la limite maximum de 255). Les " -"octets composant la chaîne suivent. Si la chaîne passée à :func:`pack` est " -"trop longue (supérieure à la valeur de la répétition moins 1), seuls les " -"``count-1`` premiers octets de la chaîne sont stockés. Si la chaîne est plus " -"courte que ``count-1``, des octets de bourrage nuls sont insérés de manière " -"à avoir exactement *count* octets au final. Notez que pour :func:`unpack`, " -"le caractère de format ``'p'`` consomme ``count`` octets mais que la chaîne " -"renvoyée ne peut pas excéder 255 octets." - -#: library/struct.rst:332 +#: library/struct.rst:350 msgid "" "For the ``'?'`` format character, the return value is either :const:`True` " "or :const:`False`. When packing, the truth value of the argument object is " @@ -859,24 +869,33 @@ msgstr "" "native ou standard et, lors de la dissociation, n'importe quelle valeur " "différente de zéro est renvoyée ``True``." -#: library/struct.rst:342 +#: library/struct.rst:360 msgid "Examples" msgstr "Exemples" -# Pas de majuscule en début car cela suit un ':' dans la version affichée. -#: library/struct.rst:345 +#: library/struct.rst:363 msgid "" -"All examples assume a native byte order, size, and alignment with a big-" -"endian machine." +"Native byte order examples (designated by the ``'@'`` format prefix or lack " +"of any prefix character) may not match what the reader's machine produces as " +"that depends on the platform and compiler." msgstr "" -"tous les exemples présentés supposent que l'on utilise le boutisme, la " -"taille et l'alignement natifs sur une machine gros-boutiste." -#: library/struct.rst:348 -msgid "A basic example of packing/unpacking three integers::" -msgstr "Un exemple de base d'agrégation et dissociation de trois entiers ::" +#: library/struct.rst:368 +msgid "" +"Pack and unpack integers of three different sizes, using big endian " +"ordering::" +msgstr "" + +#: library/struct.rst:379 +msgid "Attempt to pack an integer which is too large for the defined field::" +msgstr "" -#: library/struct.rst:358 +#: library/struct.rst:386 +msgid "" +"Demonstrate the difference between ``'s'`` and ``'c'`` format characters::" +msgstr "" + +#: library/struct.rst:394 msgid "" "Unpacked fields can be named by assigning them to variables or by wrapping " "the result in a named tuple::" @@ -884,61 +903,147 @@ msgstr "" "Les champs dissociés peuvent être nommés en leur assignant des variables ou " "en encapsulant le résultat dans un *n*-uplet nommé ::" -#: library/struct.rst:369 +#: library/struct.rst:405 msgid "" -"The ordering of format characters may have an impact on size since the " -"padding needed to satisfy alignment requirements is different::" +"The ordering of format characters may have an impact on size in native mode " +"since padding is implicit. In standard mode, the user is responsible for " +"inserting any desired padding. Note in the first ``pack`` call below that " +"three NUL bytes were added after the packed ``'#'`` to align the following " +"integer on a four-byte boundary. In this example, the output was produced on " +"a little endian machine::" msgstr "" -"L'ordre des caractères de format peut avoir un impact sur la taille puisque " -"le bourrage nécessaire pour réaliser l'alignement est différent ::" -#: library/struct.rst:381 +#: library/struct.rst:422 +#, fuzzy msgid "" -"The following format ``'llh0l'`` specifies two pad bytes at the end, " -"assuming longs are aligned on 4-byte boundaries::" +"The following format ``'llh0l'`` results in two pad bytes being added at the " +"end, assuming the platform's longs are aligned on 4-byte boundaries::" msgstr "" "Le format suivant ``'llh0l'`` spécifie deux octets de bourrage à la fin, " "considérant que les entiers longs sont alignés sur des espacements de 4 " "octets ::" -#: library/struct.rst:387 -msgid "" -"This only works when native size and alignment are in effect; standard size " -"and alignment does not enforce any alignment." -msgstr "" -"Ceci ne fonctionne que quand la taille et l'alignement natifs sont " -"utilisés ; la taille et l'alignement standards ne forcent aucun alignement." - -#: library/struct.rst:394 +#: library/struct.rst:432 msgid "Module :mod:`array`" msgstr "Module :mod:`array`" -#: library/struct.rst:394 +#: library/struct.rst:432 msgid "Packed binary storage of homogeneous data." msgstr "Stockage agrégé binaire de données homogènes." -#: library/struct.rst:396 -msgid "Module :mod:`xdrlib`" +#: library/struct.rst:435 +#, fuzzy +msgid "Module :mod:`json`" +msgstr "Module :mod:`array`" + +#: library/struct.rst:435 +msgid "JSON encoder and decoder." +msgstr "" + +#: library/struct.rst:437 +#, fuzzy +msgid "Module :mod:`pickle`" msgstr "Module :mod:`xdrlib`" -#: library/struct.rst:397 -msgid "Packing and unpacking of XDR data." -msgstr "Agrégation et dissociation de données XDR." +#: library/struct.rst:438 +msgid "Python object serialization." +msgstr "" + +#: library/struct.rst:444 +msgid "Applications" +msgstr "" + +#: library/struct.rst:446 +msgid "" +"Two main applications for the :mod:`struct` module exist, data interchange " +"between Python and C code within an application or another application " +"compiled using the same compiler (:ref:`native formats`), and data interchange between applications using agreed upon data " +"layout (:ref:`standard formats`). Generally " +"speaking, the format strings constructed for these two domains are distinct." +msgstr "" + +#: library/struct.rst:457 +#, fuzzy +msgid "Native Formats" +msgstr "Format" + +#: library/struct.rst:459 +msgid "" +"When constructing format strings which mimic native layouts, the compiler " +"and machine architecture determine byte ordering and padding. In such cases, " +"the ``@`` format character should be used to specify native byte ordering " +"and data sizes. Internal pad bytes are normally inserted automatically. It " +"is possible that a zero-repeat format code will be needed at the end of a " +"format string to round up to the correct byte boundary for proper alignment " +"of consective chunks of data." +msgstr "" + +#: library/struct.rst:467 +msgid "" +"Consider these two simple examples (on a 64-bit, little-endian machine)::" +msgstr "" + +#: library/struct.rst:475 +msgid "" +"Data is not padded to an 8-byte boundary at the end of the second format " +"string without the use of extra padding. A zero-repeat format code solves " +"that problem::" +msgstr "" + +#: library/struct.rst:482 +msgid "" +"The ``'x'`` format code can be used to specify the repeat, but for native " +"formats it is better to use a zero-repeat format like ``'0l'``." +msgstr "" + +#: library/struct.rst:485 +msgid "" +"By default, native byte ordering and alignment is used, but it is better to " +"be explicit and use the ``'@'`` prefix character." +msgstr "" + +#: library/struct.rst:492 +#, fuzzy +msgid "Standard Formats" +msgstr "Taille standard" + +#: library/struct.rst:494 +msgid "" +"When exchanging data beyond your process such as networking or storage, be " +"precise. Specify the exact byte order, size, and alignment. Do not assume " +"they match the native order of a particular machine. For example, network " +"byte order is big-endian, while many popular CPUs are little-endian. By " +"defining this explicitly, the user need not care about the specifics of the " +"platform their code is running on. The first character should typically be " +"``<`` or ``>`` (or ``!``). Padding is the responsibility of the " +"programmer. The zero-repeat format character won't work. Instead, the user " +"must explicitly add ``'x'`` pad bytes where needed. Revisiting the examples " +"from the previous section, we have::" +msgstr "" -#: library/struct.rst:403 +#: library/struct.rst:521 +msgid "" +"The above results (executed on a 64-bit machine) aren't guaranteed to match " +"when executed on different machines. For example, the examples below were " +"executed on a 32-bit machine::" +msgstr "" + +#: library/struct.rst:536 msgid "Classes" msgstr "Classes" -#: library/struct.rst:405 +#: library/struct.rst:538 msgid "The :mod:`struct` module also defines the following type:" msgstr "Le module :mod:`struct` définit aussi le type suivant :" -#: library/struct.rst:410 +#: library/struct.rst:543 +#, fuzzy msgid "" "Return a new Struct object which writes and reads binary data according to " -"the format string *format*. Creating a Struct object once and calling its " -"methods is more efficient than calling the :mod:`struct` functions with the " -"same format since the format string only needs to be compiled once." +"the format string *format*. Creating a ``Struct`` object once and calling " +"its methods is more efficient than calling module-level functions with the " +"same format since the format string is only compiled once." msgstr "" "Renvoie un nouvel objet Struct qui écrit et lit des données binaires " "conformément à la chaîne de format *format*. Créer une fois pour toutes un " @@ -947,7 +1052,7 @@ msgstr "" "n'est compilée qu'une seule fois." # Pas de majuscule en début car suit un ':' dans la version affichée. -#: library/struct.rst:417 +#: library/struct.rst:550 msgid "" "The compiled versions of the most recent format strings passed to :class:" "`Struct` and the module-level functions are cached, so programs that use " @@ -959,12 +1064,12 @@ msgstr "" "ce que les programmes qui n'utilisent que quelques chaînes de format n'aient " "pas à se préoccuper de n'utiliser qu'une seule instance de :class:`Struct`." -#: library/struct.rst:422 +#: library/struct.rst:555 msgid "Compiled Struct objects support the following methods and attributes:" msgstr "" "Les objets ``Struct`` compilés gèrent les méthodes et attributs suivants :" -#: library/struct.rst:426 +#: library/struct.rst:559 msgid "" "Identical to the :func:`pack` function, using the compiled format. " "(``len(result)`` will equal :attr:`size`.)" @@ -972,12 +1077,12 @@ msgstr "" "Identique à la fonction :func:`pack`, en utilisant le format compilé " "(``len(result)`` vaut :attr:`size`)." -#: library/struct.rst:432 +#: library/struct.rst:565 msgid "Identical to the :func:`pack_into` function, using the compiled format." msgstr "" "Identique à la fonction :func:`pack_into`, en utilisant le format compilé." -#: library/struct.rst:437 +#: library/struct.rst:570 msgid "" "Identical to the :func:`unpack` function, using the compiled format. The " "buffer's size in bytes must equal :attr:`size`." @@ -985,7 +1090,7 @@ msgstr "" "Identique à la fonction :func:`unpack`, en utilisant le format compilé. La " "taille du tampon *buffer* en octets doit valoir :attr:`size`." -#: library/struct.rst:443 +#: library/struct.rst:576 msgid "" "Identical to the :func:`unpack_from` function, using the compiled format. " "The buffer's size in bytes, starting at position *offset*, must be at least :" @@ -995,7 +1100,7 @@ msgstr "" "La taille du tampon *buffer* en octets, en commençant à la position " "*offset*, doit valoir au moins :attr:`size`." -#: library/struct.rst:450 +#: library/struct.rst:583 msgid "" "Identical to the :func:`iter_unpack` function, using the compiled format. " "The buffer's size in bytes must be a multiple of :attr:`size`." @@ -1003,18 +1108,18 @@ msgstr "" "Identique à la fonction :func:`iter_unpack`, en utilisant le format compilé. " "La taille du tampon *buffer* en octets doit être un multiple de :attr:`size`." -#: library/struct.rst:457 +#: library/struct.rst:590 msgid "The format string used to construct this Struct object." msgstr "La chaîne de format utilisée pour construire l'objet ``Struct``." # Pas de majuscule car suit un ':' dans la version affichée. -#: library/struct.rst:459 +#: library/struct.rst:592 msgid "The format string type is now :class:`str` instead of :class:`bytes`." msgstr "" "la chaîne de format est maintenant de type :class:`str` au lieu de :class:" "`bytes`." -#: library/struct.rst:464 +#: library/struct.rst:597 msgid "" "The calculated size of the struct (and hence of the bytes object produced by " "the :meth:`pack` method) corresponding to :attr:`format`." @@ -1022,6 +1127,74 @@ msgstr "" "La taille calculée de la structure agrégée (et donc de l'objet ``bytes`` " "produit par la méthode :meth:`pack`) correspondante à :attr:`format`." +#~ msgid "" +#~ "This module performs conversions between Python values and C structs " +#~ "represented as Python :class:`bytes` objects. This can be used in " +#~ "handling binary data stored in files or from network connections, among " +#~ "other sources. It uses :ref:`struct-format-strings` as compact " +#~ "descriptions of the layout of the C structs and the intended conversion " +#~ "to/from Python values." +#~ msgstr "" +#~ "Ce module effectue des conversions entre des valeurs Python et des " +#~ "structures C représentées sous la forme de :class:`bytes` (séquences " +#~ "d'octets) Python. Cela permet, entre autres, de manipuler des données " +#~ "agrégées sous forme binaire dans des fichiers ou à travers des " +#~ "connecteurs réseau. Il utilise :ref:`les chaînes de spécification de " +#~ "format ` comme description de l'agencement des " +#~ "structures afin de réaliser les conversions depuis et vers les valeurs " +#~ "Python." + +# Pas de majuscule car suit un ':' dans la version affichée (« Note »). +#~ msgid "" +#~ "By default, the result of packing a given C struct includes pad bytes in " +#~ "order to maintain proper alignment for the C types involved; similarly, " +#~ "alignment is taken into account when unpacking. This behavior is chosen " +#~ "so that the bytes of a packed struct correspond exactly to the layout in " +#~ "memory of the corresponding C struct. To handle platform-independent " +#~ "data formats or omit implicit pad bytes, use ``standard`` size and " +#~ "alignment instead of ``native`` size and alignment: see :ref:`struct-" +#~ "alignment` for details." +#~ msgstr "" +#~ "par défaut, le résultat de l'agrégation d'une structure C donnée comprend " +#~ "des octets de bourrage afin de maintenir un alignement correct des types " +#~ "C sous-jacents ; de la même manière, l'alignement est pris en compte lors " +#~ "de la dissociation. Ce comportement a été choisi de manière à ce que les " +#~ "octets d'une structure agrégée reproduisent exactement l'agencement en " +#~ "mémoire de la structure C équivalente. Pour gérer des formats de données " +#~ "indépendants de la plateforme ou omettre les octets implicites de " +#~ "bourrage, utilisez la taille et l'alignement ``standard`` en lieu et " +#~ "place de la taille et l'alignement ``native`` (voir :ref:`struct-" +#~ "alignment` pour les détails)." + +# Pas de majuscule en début car cela suit un ':' dans la version affichée. +#~ msgid "" +#~ "All examples assume a native byte order, size, and alignment with a big-" +#~ "endian machine." +#~ msgstr "" +#~ "tous les exemples présentés supposent que l'on utilise le boutisme, la " +#~ "taille et l'alignement natifs sur une machine gros-boutiste." + +#~ msgid "A basic example of packing/unpacking three integers::" +#~ msgstr "Un exemple de base d'agrégation et dissociation de trois entiers ::" + +#~ msgid "" +#~ "The ordering of format characters may have an impact on size since the " +#~ "padding needed to satisfy alignment requirements is different::" +#~ msgstr "" +#~ "L'ordre des caractères de format peut avoir un impact sur la taille " +#~ "puisque le bourrage nécessaire pour réaliser l'alignement est différent ::" + +#~ msgid "" +#~ "This only works when native size and alignment are in effect; standard " +#~ "size and alignment does not enforce any alignment." +#~ msgstr "" +#~ "Ceci ne fonctionne que quand la taille et l'alignement natifs sont " +#~ "utilisés ; la taille et l'alignement standards ne forcent aucun " +#~ "alignement." + +#~ msgid "Packing and unpacking of XDR data." +#~ msgstr "Agrégation et dissociation de données XDR." + #~ msgid "" #~ "The form ``'!'`` is available for those poor souls who claim they can't " #~ "remember whether network byte order is big-endian or little-endian." diff --git a/library/subprocess.po b/library/subprocess.po index d9042c88b3..ecd9a4d5bc 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:00+0200\n" "Last-Translator: Mathieu Dupuy \n" "Language-Team: FRENCH \n" @@ -158,26 +158,29 @@ msgstr "" "sont ouverts en mode binaire." #: library/subprocess.rst:81 +#, fuzzy msgid "" "If *env* is not ``None``, it must be a mapping that defines the environment " "variables for the new process; these are used instead of the default " "behavior of inheriting the current process' environment. It is passed " -"directly to :class:`Popen`." +"directly to :class:`Popen`. This mapping can be str to str on any platform " +"or bytes to bytes on POSIX platforms much like :data:`os.environ` or :data:" +"`os.environb`." msgstr "" "Si *env* n'est pas ``None``, il doit être un tableau associatif définissant " "les variables d'environnement du nouveau processus ; elles seront utilisées " "à la place du comportement par défaut qui est d'hériter de l'environnement " "du processus courant. Il est passé directement à :class:`Popen`." -#: library/subprocess.rst:86 +#: library/subprocess.rst:88 msgid "Examples::" msgstr "Exemples ::" -#: library/subprocess.rst:104 +#: library/subprocess.rst:106 msgid "Added *encoding* and *errors* parameters" msgstr "Ajout des paramètres *encoding* et *errors*" -#: library/subprocess.rst:108 +#: library/subprocess.rst:110 msgid "" "Added the *text* parameter, as a more understandable alias of " "*universal_newlines*. Added the *capture_output* parameter." @@ -185,21 +188,30 @@ msgstr "" "Ajout du paramètre *text*, qui agit comme un alias plus compréhensible de " "*universal_newlines*. Ajout du paramètre *capture_output*." -#: library/subprocess.rst:113 +#: library/subprocess.rst:499 library/subprocess.rst:1213 +#: library/subprocess.rst:1276 +msgid "" +"Changed Windows shell search order for ``shell=True``. The current directory " +"and ``%PATH%`` are replaced with ``%COMSPEC%`` and ``%SystemRoot%" +"\\System32\\cmd.exe``. As a result, dropping a malicious program named ``cmd." +"exe`` into a current directory no longer works." +msgstr "" + +#: library/subprocess.rst:123 msgid "" "The return value from :func:`run`, representing a process that has finished." msgstr "" "La valeur de retour de :func:`run`, représentant un processus qui s'est " "terminé." -#: library/subprocess.rst:117 +#: library/subprocess.rst:127 msgid "" "The arguments used to launch the process. This may be a list or a string." msgstr "" "Les arguments utilisés pour lancer le processus. Cela peut être une liste ou " "une chaîne de caractères." -#: library/subprocess.rst:121 +#: library/subprocess.rst:131 msgid "" "Exit status of the child process. Typically, an exit status of 0 indicates " "that it ran successfully." @@ -207,7 +219,7 @@ msgstr "" "Le code de statut du processus fils. Typiquement, un code de statut de 0 " "indique qu'il s'est exécuté avec succès." -#: library/subprocess.rst:899 +#: library/subprocess.rst:920 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -215,7 +227,7 @@ msgstr "" "Une valeur négative ``-N`` indique que le processus enfant a été terminé par " "un signal ``N`` (seulement sur les systèmes *POSIX*)." -#: library/subprocess.rst:129 +#: library/subprocess.rst:139 msgid "" "Captured stdout from the child process. A bytes sequence, or a string if :" "func:`run` was called with an encoding, errors, or text=True. ``None`` if " @@ -226,7 +238,7 @@ msgstr "" "*errors* ou *text=True*. Vaut ``None`` si la sortie standard n'était pas " "capturée." -#: library/subprocess.rst:133 +#: library/subprocess.rst:143 msgid "" "If you ran the process with ``stderr=subprocess.STDOUT``, stdout and stderr " "will be combined in this attribute, and :attr:`stderr` will be ``None``." @@ -235,7 +247,7 @@ msgstr "" "sorties standard et d'erreur seront combinées dans cet attribut, et :attr:" "`stderr` sera mis à ``None``." -#: library/subprocess.rst:139 +#: library/subprocess.rst:149 msgid "" "Captured stderr from the child process. A bytes sequence, or a string if :" "func:`run` was called with an encoding, errors, or text=True. ``None`` if " @@ -246,12 +258,12 @@ msgstr "" "*errors* ou *text=True*. Vaut ``None`` si la sortie d'erreur n'était pas " "capturée." -#: library/subprocess.rst:145 +#: library/subprocess.rst:155 msgid "If :attr:`returncode` is non-zero, raise a :exc:`CalledProcessError`." msgstr "" "Si :attr:`returncode` n'est pas nul, lève une :exc:`CalledProcessError`." -#: library/subprocess.rst:151 +#: library/subprocess.rst:161 msgid "" "Special value that can be used as the *stdin*, *stdout* or *stderr* argument " "to :class:`Popen` and indicates that the special file :data:`os.devnull` " @@ -261,7 +273,7 @@ msgstr "" "ou *stderr* de :class:`Popen` et qui indique que le fichier spécial :data:" "`os.devnull` sera utilisé." -#: library/subprocess.rst:160 +#: library/subprocess.rst:170 msgid "" "Special value that can be used as the *stdin*, *stdout* or *stderr* argument " "to :class:`Popen` and indicates that a pipe to the standard stream should be " @@ -271,7 +283,7 @@ msgstr "" "ou *stderr* de :class:`Popen` et qui indique qu'un tube vers le flux " "standard doit être ouvert. Surtout utile avec :meth:`Popen.communicate`." -#: library/subprocess.rst:167 +#: library/subprocess.rst:177 msgid "" "Special value that can be used as the *stderr* argument to :class:`Popen` " "and indicates that standard error should go into the same handle as standard " @@ -281,11 +293,11 @@ msgstr "" "`Popen` et qui indique que la sortie d'erreur doit être redirigée vers le " "même descripteur que la sortie standard." -#: library/subprocess.rst:174 +#: library/subprocess.rst:184 msgid "Base class for all other exceptions from this module." msgstr "Classe de base à toutes les autres exceptions du module." -#: library/subprocess.rst:181 +#: library/subprocess.rst:191 msgid "" "Subclass of :exc:`SubprocessError`, raised when a timeout expires while " "waiting for a child process." @@ -293,15 +305,15 @@ msgstr "" "Sous-classe de :exc:`SubprocessError`, levée quand un *timeout* expire " "pendant l'attente d'un processus enfant." -#: library/subprocess.rst:230 +#: library/subprocess.rst:240 msgid "Command that was used to spawn the child process." msgstr "La commande utilisée pour instancier le processus fils." -#: library/subprocess.rst:190 +#: library/subprocess.rst:200 msgid "Timeout in seconds." msgstr "Le *timeout* en secondes." -#: library/subprocess.rst:194 +#: library/subprocess.rst:204 msgid "" "Output of the child process if it was captured by :func:`run` or :func:" "`check_output`. Otherwise, ``None``. This is always :class:`bytes` when " @@ -309,11 +321,11 @@ msgid "" "remain ``None`` instead of ``b''`` when no output was observed." msgstr "" -#: library/subprocess.rst:239 +#: library/subprocess.rst:249 msgid "Alias for output, for symmetry with :attr:`stderr`." msgstr "Alias pour *output*, afin d'avoir une symétrie avec :attr:`stderr`." -#: library/subprocess.rst:206 +#: library/subprocess.rst:216 msgid "" "Stderr output of the child process if it was captured by :func:`run`. " "Otherwise, ``None``. This is always :class:`bytes` when stderr output was " @@ -321,11 +333,11 @@ msgid "" "instead of ``b''`` when no stderr output was observed." msgstr "" -#: library/subprocess.rst:246 +#: library/subprocess.rst:256 msgid "*stdout* and *stderr* attributes added" msgstr "Ajout des attributs *stdout* et *stderr*" -#: library/subprocess.rst:218 +#: library/subprocess.rst:228 #, fuzzy msgid "" "Subclass of :exc:`SubprocessError`, raised when a process run by :func:" @@ -335,7 +347,7 @@ msgstr "" "Sous-classe de :exc:`SubprocessError`, levée quand un processus lancé par :" "func:`check_call` ou :func:`check_output` renvoie un code de statut non nul." -#: library/subprocess.rst:225 +#: library/subprocess.rst:235 msgid "" "Exit status of the child process. If the process exited due to a signal, " "this will be the negative signal number." @@ -343,7 +355,7 @@ msgstr "" "Code de statut du processus fils. Si le processus a été arrêté par un " "signal, le code sera négatif et correspondra à l'opposé du numéro de signal." -#: library/subprocess.rst:234 +#: library/subprocess.rst:244 msgid "" "Output of the child process if it was captured by :func:`run` or :func:" "`check_output`. Otherwise, ``None``." @@ -351,7 +363,7 @@ msgstr "" "La sortie du processus fils, si capturée par :func:`run` ou :func:" "`check_output`. Autrement, ``None``." -#: library/subprocess.rst:243 +#: library/subprocess.rst:253 msgid "" "Stderr output of the child process if it was captured by :func:`run`. " "Otherwise, ``None``." @@ -359,11 +371,11 @@ msgstr "" "La sortie d'erreur du processus fils, si capturée par :func:`run`. " "Autrement, ``None``." -#: library/subprocess.rst:253 +#: library/subprocess.rst:263 msgid "Frequently Used Arguments" msgstr "Arguments fréquemment utilisés" -#: library/subprocess.rst:255 +#: library/subprocess.rst:265 msgid "" "To support a wide variety of use cases, the :class:`Popen` constructor (and " "the convenience functions) accept a large number of optional arguments. For " @@ -376,7 +388,7 @@ msgstr "" "peuvent sans problème être laissés à leurs valeurs par défaut. Les arguments " "les plus communément nécessaires sont :" -#: library/subprocess.rst:260 +#: library/subprocess.rst:270 msgid "" "*args* is required for all calls and should be a string, or a sequence of " "program arguments. Providing a sequence of arguments is generally preferred, " @@ -394,7 +406,7 @@ msgstr "" "dessous) soit la chaîne doit simplement contenir le nom du programme à " "exécuter sans spécifier d'arguments supplémentaires." -#: library/subprocess.rst:268 +#: library/subprocess.rst:278 #, fuzzy msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " @@ -422,7 +434,7 @@ msgstr "" "fils doivent être capturées dans le même descripteur de fichier que la " "sortie standard." -#: library/subprocess.rst:283 +#: library/subprocess.rst:293 msgid "" "If *encoding* or *errors* are specified, or *text* (also known as " "*universal_newlines*) is true, the file objects *stdin*, *stdout* and " @@ -434,7 +446,7 @@ msgstr "" "seront ouverts en mode texte en utilisant les *encoding* et *errors* " "spécifiés à l'appel, ou les valeurs par défaut de :class:`io.TextIOWrapper`." -#: library/subprocess.rst:289 +#: library/subprocess.rst:299 msgid "" "For *stdin*, line ending characters ``'\\n'`` in the input will be converted " "to the default line separator :data:`os.linesep`. For *stdout* and *stderr*, " @@ -449,7 +461,7 @@ msgstr "" "de la classe :class:`io.TextIOWrapper` quand l'argument *newline* du " "constructeur est ``None``." -#: library/subprocess.rst:295 +#: library/subprocess.rst:305 msgid "" "If text mode is not used, *stdin*, *stdout* and *stderr* will be opened as " "binary streams. No encoding or line ending conversion is performed." @@ -458,15 +470,15 @@ msgstr "" "ouverts comme des flux binaires. Aucune conversion d'encodage ou de fins de " "ligne ne sera réalisée." -#: library/subprocess.rst:298 +#: library/subprocess.rst:308 msgid "Added *encoding* and *errors* parameters." msgstr "Ajout des paramètres *encoding* et *errors*." -#: library/subprocess.rst:301 +#: library/subprocess.rst:311 msgid "Added the *text* parameter as an alias for *universal_newlines*." msgstr "Ajout du paramètre *text* comme alias de *universal_newlines*." -#: library/subprocess.rst:306 +#: library/subprocess.rst:316 msgid "" "The newlines attribute of the file objects :attr:`Popen.stdin`, :attr:`Popen." "stdout` and :attr:`Popen.stderr` are not updated by the :meth:`Popen." @@ -476,7 +488,7 @@ msgstr "" "et :attr:`Popen.stderr` ne sont pas mis à jour par la méthode :meth:`Popen." "communicate`." -#: library/subprocess.rst:310 +#: library/subprocess.rst:320 msgid "" "If *shell* is ``True``, the specified command will be executed through the " "shell. This can be useful if you are using Python primarily for the " @@ -499,7 +511,7 @@ msgstr "" "`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path." "expanduser` et :mod:`shutil`)." -#: library/subprocess.rst:320 +#: library/subprocess.rst:330 msgid "" "When *universal_newlines* is ``True``, the class uses the encoding :func:" "`locale.getpreferredencoding(False) ` instead " @@ -511,13 +523,13 @@ msgstr "" "que ``locale.getpreferredencoding()``. Voir la classe :class:`io." "TextIOWrapper` pour plus d'informations sur ce changement." -#: library/subprocess.rst:448 +#: library/subprocess.rst:458 msgid "" "Read the `Security Considerations`_ section before using ``shell=True``." msgstr "" "Lire la section `Security Considerations`_ avant d'utiliser ``shell=True``." -#: library/subprocess.rst:330 +#: library/subprocess.rst:340 msgid "" "These options, along with all of the other options, are described in more " "detail in the :class:`Popen` constructor documentation." @@ -525,11 +537,11 @@ msgstr "" "Ces options, ainsi que toutes les autres, sont décrites plus en détails dans " "la documentation du constructeur de :class:`Popen`." -#: library/subprocess.rst:335 +#: library/subprocess.rst:345 msgid "Popen Constructor" msgstr "Constructeur de *Popen*" -#: library/subprocess.rst:337 +#: library/subprocess.rst:347 msgid "" "The underlying process creation and management in this module is handled by " "the :class:`Popen` class. It offers a lot of flexibility so that developers " @@ -541,7 +553,7 @@ msgstr "" "les développeurs soient capables de gérer les cas d'utilisation les moins " "communs, non couverts par les fonctions de convenance." -#: library/subprocess.rst:351 +#: library/subprocess.rst:361 #, fuzzy msgid "" "Execute a child program in a new process. On POSIX, the class uses :meth:" @@ -555,7 +567,7 @@ msgstr "" "Windows ``CreateProcess()``. Les arguments de :class:`Popen` sont les " "suivants." -#: library/subprocess.rst:356 +#: library/subprocess.rst:366 msgid "" "*args* should be a sequence of program arguments or else a single string or :" "term:`path-like object`. By default, the program to execute is the first " @@ -573,7 +585,7 @@ msgstr "" "*executable* pour d'autres différences avec le comportement par défaut. Sans " "autre indication, il est recommandé de passer *args* comme une séquence." -#: library/subprocess.rst:366 +#: library/subprocess.rst:376 msgid "" "For maximum reliability, use a fully qualified path for the executable. To " "search for an unqualified name on :envvar:`PATH`, use :meth:`shutil.which`. " @@ -582,7 +594,7 @@ msgid "" "format to launch an installed module." msgstr "" -#: library/subprocess.rst:372 +#: library/subprocess.rst:382 msgid "" "Resolving the path of *executable* (or the first item of *args*) is platform " "dependent. For POSIX, see :meth:`os.execvpe`, and note that when resolving " @@ -596,13 +608,13 @@ msgid "" "variations." msgstr "" -#: library/subprocess.rst:383 +#: library/subprocess.rst:393 msgid "" "An example of passing some arguments to an external program as a sequence " "is::" msgstr "" -#: library/subprocess.rst:388 +#: library/subprocess.rst:398 msgid "" "On POSIX, if *args* is a string, the string is interpreted as the name or " "path of the program to execute. However, this can only be done if not " @@ -612,14 +624,14 @@ msgstr "" "comme le nom ou le chemin du programme à exécuter. Cependant, cela ne peut " "être fait que si le programme est passé sans arguments." -#: library/subprocess.rst:394 +#: library/subprocess.rst:404 msgid "" "It may not be obvious how to break a shell command into a sequence of " "arguments, especially in complex cases. :meth:`shlex.split` can illustrate " "how to determine the correct tokenization for *args*::" msgstr "" -#: library/subprocess.rst:406 +#: library/subprocess.rst:416 msgid "" "Note in particular that options (such as *-input*) and arguments (such as " "*eggs.txt*) that are separated by whitespace in the shell go in separate " @@ -634,7 +646,7 @@ msgstr "" "fichiers contenant des espaces ou la commande *echo* montrée plus haut) " "forment des éléments uniques." -#: library/subprocess.rst:412 +#: library/subprocess.rst:422 msgid "" "On Windows, if *args* is a sequence, it will be converted to a string in a " "manner described in :ref:`converting-argument-sequence`. This is because " @@ -645,7 +657,7 @@ msgstr "" "sequence`. Cela fonctionne ainsi parce que la fonction ``CreateProcess()`` " "opère sur des chaînes." -#: library/subprocess.rst:416 +#: library/subprocess.rst:426 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing path-like objects on POSIX." @@ -654,7 +666,7 @@ msgstr "" "*shell* vaut ``False`` et une séquence contenant des objets fichier sur " "POSIX." -#: library/subprocess.rst:420 +#: library/subprocess.rst:430 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing bytes and path-like objects on Windows." @@ -663,7 +675,7 @@ msgstr "" "*shell* vaut ``False`` et une séquence contenant des chaines d'octets et des " "objets chemins sur Windows." -#: library/subprocess.rst:425 +#: library/subprocess.rst:435 msgid "" "The *shell* argument (which defaults to ``False``) specifies whether to use " "the shell as the program to execute. If *shell* is ``True``, it is " @@ -674,7 +686,7 @@ msgstr "" "il est recommandé de passer *args* comme une chaîne de caractères plutôt " "qu'une séquence." -#: library/subprocess.rst:429 +#: library/subprocess.rst:439 msgid "" "On POSIX with ``shell=True``, the shell defaults to :file:`/bin/sh`. If " "*args* is a string, the string specifies the command to execute through the " @@ -696,7 +708,7 @@ msgstr "" "passer au *shell* lui-même. Pour ainsi dire, :class:`Popen` réalise " "l'équivalent de ::" -#: library/subprocess.rst:440 +#: library/subprocess.rst:450 msgid "" "On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " "specifies the default shell. The only time you need to specify " @@ -711,7 +723,7 @@ msgstr "" "ou :command:`copy`). Vous n'avez pas besoin de ``shell=True`` pour lancer " "un fichier batch ou un exécutable console." -#: library/subprocess.rst:450 +#: library/subprocess.rst:460 msgid "" "*bufsize* will be supplied as the corresponding argument to the :func:`open` " "function when creating the stdin/stdout/stderr pipe file objects:" @@ -720,7 +732,7 @@ msgstr "" "`open`, lors de la création des objets de fichiers pour les tubes *stdin*/" "*stdout*/*stderr* :" -#: library/subprocess.rst:454 +#: library/subprocess.rst:464 msgid "" ":const:`0` means unbuffered (read and write are one system call and can " "return short)" @@ -728,21 +740,22 @@ msgstr "" ":const:`0` indique de ne pas utiliser de tampon (les lectures et écritures " "sont des appels systèmes et peuvent renvoyer des données incomplètes) ;" -#: library/subprocess.rst:456 +#: library/subprocess.rst:466 +#, fuzzy msgid "" -":const:`1` means line buffered (only usable if ``universal_newlines=True`` i." -"e., in a text mode)" +":const:`1` means line buffered (only usable if ``text=True`` or " +"``universal_newlines=True``)" msgstr "" ":const:`1` indique une mise en cache par ligne (utilisable seulement si " "``universal_newlines=True``, c'est-à-dire en mode texte) ;" -#: library/subprocess.rst:458 +#: library/subprocess.rst:468 msgid "any other positive value means use a buffer of approximately that size" msgstr "" "toutes les autres valeurs positives indiquent d'utiliser un tampon " "d'approximativement cette taille ;" -#: library/subprocess.rst:460 +#: library/subprocess.rst:470 msgid "" "negative bufsize (the default) means the system default of io." "DEFAULT_BUFFER_SIZE will be used." @@ -750,7 +763,7 @@ msgstr "" "un *bufsize* négatif (par défaut) indique au système d'utiliser la valeur " "par défaut *io.DEFAULT_BUFFER_SIZE*." -#: library/subprocess.rst:463 +#: library/subprocess.rst:473 msgid "" "*bufsize* now defaults to -1 to enable buffering by default to match the " "behavior that most code expects. In versions prior to Python 3.2.4 and " @@ -766,7 +779,7 @@ msgstr "" "correspondait pas au comportement de Python 2 attendu par la plupart des " "codes." -#: library/subprocess.rst:470 +#: library/subprocess.rst:480 msgid "" "The *executable* argument specifies a replacement program to execute. It " "is very seldom needed. When ``shell=False``, *executable* replaces the " @@ -789,13 +802,13 @@ msgstr "" "``shell=True``, sur les systèmes POSIX, l'argument *executable* précise le " "*shell* à utiliser plutôt que :file:`/bin/sh` par défaut." -#: library/subprocess.rst:480 +#: library/subprocess.rst:490 msgid "*executable* parameter accepts a :term:`path-like object` on POSIX." msgstr "" "le paramètre *executable* accepte un :term:`objet chemin ` " "sur les systèmes POSIX." -#: library/subprocess.rst:483 +#: library/subprocess.rst:493 msgid "" "*executable* parameter accepts a bytes and :term:`path-like object` on " "Windows." @@ -803,7 +816,7 @@ msgstr "" "le paramètre *executable* accepte un objet *bytes* ou un :term:`objet chemin " "` sur Windows." -#: library/subprocess.rst:487 +#: library/subprocess.rst:505 #, fuzzy msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " @@ -831,7 +844,7 @@ msgstr "" "fils doivent être capturées dans le même descripteur de fichier que la " "sortie standard." -#: library/subprocess.rst:499 +#: library/subprocess.rst:517 msgid "" "If *preexec_fn* is set to a callable object, this object will be called in " "the child process just before the child is executed. (POSIX only)" @@ -839,7 +852,7 @@ msgstr "" "Si un objet appelable est passé à *preexec_fn*, cet objet sera appelé dans " "le processus enfant juste avant d'exécuter le programme. (POSIX seulement)" -#: library/subprocess.rst:505 +#: library/subprocess.rst:523 msgid "" "The *preexec_fn* parameter is not safe to use in the presence of threads in " "your application. The child process could deadlock before exec is called. " @@ -852,7 +865,7 @@ msgstr "" "ce paramètre, gardez son utilisation triviale ! Minimisez le nombre de " "bibliothèques que vous y appelez." -#: library/subprocess.rst:513 +#: library/subprocess.rst:531 msgid "" "If you need to modify the environment for the child use the *env* parameter " "rather than doing it in a *preexec_fn*. The *start_new_session* parameter " @@ -864,7 +877,7 @@ msgstr "" "*start_new_session* peut prendre la place de *preexec_fn* qui était " "autrefois communément utilisé pour appeler *os.setsid()* dans le fils." -#: library/subprocess.rst:520 +#: library/subprocess.rst:538 msgid "" "The *preexec_fn* parameter is no longer supported in subinterpreters. The " "use of the parameter in a subinterpreter raises :exc:`RuntimeError`. The new " @@ -876,7 +889,7 @@ msgstr "" "nouvelle restriction peut affecter les applications déployées avec " "*mod_wsgi*, *uWSGI* et d'autres environnements qui peuvent embarquer Python." -#: library/subprocess.rst:525 +#: library/subprocess.rst:543 msgid "" "If *close_fds* is true, all file descriptors except :const:`0`, :const:`1` " "and :const:`2` will be closed before the child process is executed. " @@ -889,7 +902,7 @@ msgstr "" "fichiers se comportent conformément à leur option d'héritage décrite dans :" "ref:`fd_inheritance`." -#: library/subprocess.rst:530 +#: library/subprocess.rst:548 msgid "" "On Windows, if *close_fds* is true then no handles will be inherited by the " "child process unless explicitly passed in the ``handle_list`` element of :" @@ -900,7 +913,7 @@ msgstr "" "``handle_list`` de :attr:`STARTUPINFO.lpAttributeList`, ou par redirection " "des descripteurs standards." -#: library/subprocess.rst:534 +#: library/subprocess.rst:552 msgid "" "The default for *close_fds* was changed from :const:`False` to what is " "described above." @@ -908,7 +921,7 @@ msgstr "" "La valeur par défaut de *close_fds* n'est plus :const:`False`, comme décrit " "ci-dessus." -#: library/subprocess.rst:538 +#: library/subprocess.rst:556 msgid "" "On Windows the default for *close_fds* was changed from :const:`False` to :" "const:`True` when redirecting the standard handles. It's now possible to set " @@ -919,7 +932,7 @@ msgstr "" "Il est maintenant possible de donner la valeur :const:`True` à *close_fds* " "lors d'une redirection de descripteurs standards." -#: library/subprocess.rst:543 +#: library/subprocess.rst:561 msgid "" "*pass_fds* is an optional sequence of file descriptors to keep open between " "the parent and child. Providing any *pass_fds* forces *close_fds* to be :" @@ -929,11 +942,11 @@ msgstr "" "ouverts entre le parent et l'enfant. Fournir *pass_fds* force *close_fds* à " "valoir :const:`True`. (POSIX seulement)" -#: library/subprocess.rst:547 +#: library/subprocess.rst:565 msgid "The *pass_fds* parameter was added." msgstr "Ajout du paramètre *pass_fds*." -#: library/subprocess.rst:550 +#: library/subprocess.rst:568 #, fuzzy msgid "" "If *cwd* is not ``None``, the function changes the working directory to " @@ -948,23 +961,23 @@ msgstr "" "particulier, la fonction recherche *executable* (ou le premier élément dans " "*args*) relativement à *cwd* si le chemin d'exécution est relatif." -#: library/subprocess.rst:556 +#: library/subprocess.rst:574 msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." msgstr "" "le paramètre *cwd* accepte un :term:`objet chemin ` sur " "les systèmes POSIX." -#: library/subprocess.rst:559 +#: library/subprocess.rst:577 msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." msgstr "" "le paramètre *cwd* accepte un :term:`objet chemin ` sur " "Windows." -#: library/subprocess.rst:562 +#: library/subprocess.rst:580 msgid "*cwd* parameter accepts a bytes object on Windows." msgstr "le paramètre *cwd* accepte une séquence d'octets sur Windows" -#: library/subprocess.rst:565 +#: library/subprocess.rst:583 msgid "" "If *restore_signals* is true (the default) all signals that Python has set " "to SIG_IGN are restored to SIG_DFL in the child process before the exec. " @@ -975,11 +988,11 @@ msgstr "" "l'appel à *exec*. Actuellement, cela inclut les signaux *SIGPIPE*, *SIGXFZ* " "et *SIGXFSZ*. (POSIX seulement)" -#: library/subprocess.rst:570 +#: library/subprocess.rst:588 msgid "*restore_signals* was added." msgstr "Ajout de *restore_signals*." -#: library/subprocess.rst:573 +#: library/subprocess.rst:591 msgid "" "If *start_new_session* is true the setsid() system call will be made in the " "child process prior to the execution of the subprocess. (POSIX only)" @@ -988,11 +1001,11 @@ msgstr "" "dans le processus fils avant l'exécution du sous-processus. (POSIX " "seulement)" -#: library/subprocess.rst:576 +#: library/subprocess.rst:594 msgid "*start_new_session* was added." msgstr "Ajout de *start_new_session*." -#: library/subprocess.rst:579 +#: library/subprocess.rst:597 msgid "" "If *group* is not ``None``, the setregid() system call will be made in the " "child process prior to the execution of the subprocess. If the provided " @@ -1001,12 +1014,12 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: library/subprocess.rst:594 library/subprocess.rst:609 +#: library/subprocess.rst:612 library/subprocess.rst:627 #, fuzzy msgid ":ref:`Availability `: POSIX" msgstr ":ref:`Disponibilité ` : POSIX et Windows." -#: library/subprocess.rst:588 +#: library/subprocess.rst:606 msgid "" "If *extra_groups* is not ``None``, the setgroups() system call will be made " "in the child process prior to the execution of the subprocess. Strings " @@ -1015,7 +1028,7 @@ msgid "" "verbatim. (POSIX only)" msgstr "" -#: library/subprocess.rst:597 +#: library/subprocess.rst:615 msgid "" "If *user* is not ``None``, the setreuid() system call will be made in the " "child process prior to the execution of the subprocess. If the provided " @@ -1024,7 +1037,7 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: library/subprocess.rst:606 +#: library/subprocess.rst:624 #, fuzzy msgid "" "If *umask* is not negative, the umask() system call will be made in the " @@ -1034,18 +1047,21 @@ msgstr "" "dans le processus fils avant l'exécution du sous-processus. (POSIX " "seulement)" -#: library/subprocess.rst:612 +#: library/subprocess.rst:630 +#, fuzzy msgid "" "If *env* is not ``None``, it must be a mapping that defines the environment " "variables for the new process; these are used instead of the default " -"behavior of inheriting the current process' environment." +"behavior of inheriting the current process' environment. This mapping can be " +"str to str on any platform or bytes to bytes on POSIX platforms much like :" +"data:`os.environ` or :data:`os.environb`." msgstr "" "Si *env* n'est pas ``None``, il doit être un tableau associatif définissant " "les variables d'environnement du nouveau processus ; elles seront utilisées " "à la place du comportement par défaut qui est d'hériter de l'environnement " -"du processus courant." +"du processus courant. Il est passé directement à :class:`Popen`." -#: library/subprocess.rst:618 +#: library/subprocess.rst:638 msgid "" "If specified, *env* must provide any variables required for the program to " "execute. On Windows, in order to run a `side-by-side assembly`_ the " @@ -1056,7 +1072,7 @@ msgstr "" "l'environnement *env* spécifié **doit** contenir une variable :envvar:" "`SystemRoot` valide." -#: library/subprocess.rst:624 +#: library/subprocess.rst:644 msgid "" "If *encoding* or *errors* are specified, or *text* is true, the file objects " "*stdin*, *stdout* and *stderr* are opened in text mode with the specified " @@ -1072,16 +1088,16 @@ msgstr "" "à *text*, est fourni pour la rétrocompatibilité. Autrement, ils sont ouverts " "comme des flux binaires." -#: library/subprocess.rst:630 +#: library/subprocess.rst:650 msgid "*encoding* and *errors* were added." msgstr "Ajout d'*encoding* et *errors*." -#: library/subprocess.rst:1234 +#: library/subprocess.rst:1271 msgid "*text* was added as a more readable alias for *universal_newlines*." msgstr "" "*text* a été ajouté comme un alias plus lisible de *universal_newlines*." -#: library/subprocess.rst:636 +#: library/subprocess.rst:656 msgid "" "If given, *startupinfo* will be a :class:`STARTUPINFO` object, which is " "passed to the underlying ``CreateProcess`` function. *creationflags*, if " @@ -1091,55 +1107,55 @@ msgstr "" "à la fonction ``CreateProcess`` inhérente. *creationflags*, si fourni, peut " "avoir l'une des valeurs suivantes :" -#: library/subprocess.rst:640 +#: library/subprocess.rst:660 msgid ":data:`CREATE_NEW_CONSOLE`" msgstr ":data:`CREATE_NEW_CONSOLE`" -#: library/subprocess.rst:641 +#: library/subprocess.rst:661 msgid ":data:`CREATE_NEW_PROCESS_GROUP`" msgstr ":data:`CREATE_NEW_PROCESS_GROUP`" -#: library/subprocess.rst:642 +#: library/subprocess.rst:662 msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" msgstr ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" -#: library/subprocess.rst:643 +#: library/subprocess.rst:663 msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" msgstr ":data:`BELOW_NORMAL_PRIORITY_CLASS`" -#: library/subprocess.rst:644 +#: library/subprocess.rst:664 msgid ":data:`HIGH_PRIORITY_CLASS`" msgstr ":data:`HIGH_PRIORITY_CLASS`" -#: library/subprocess.rst:645 +#: library/subprocess.rst:665 msgid ":data:`IDLE_PRIORITY_CLASS`" msgstr ":data:`IDLE_PRIORITY_CLASS`" -#: library/subprocess.rst:646 +#: library/subprocess.rst:666 msgid ":data:`NORMAL_PRIORITY_CLASS`" msgstr ":data:`NORMAL_PRIORITY_CLASS`" -#: library/subprocess.rst:647 +#: library/subprocess.rst:667 msgid ":data:`REALTIME_PRIORITY_CLASS`" msgstr ":data:`REALTIME_PRIORITY_CLASS`" -#: library/subprocess.rst:648 +#: library/subprocess.rst:668 msgid ":data:`CREATE_NO_WINDOW`" msgstr ":data:`CREATE_NO_WINDOW`" -#: library/subprocess.rst:649 +#: library/subprocess.rst:669 msgid ":data:`DETACHED_PROCESS`" msgstr ":data:`DETACHED_PROCESS`" -#: library/subprocess.rst:650 +#: library/subprocess.rst:670 msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" msgstr ":data:`CREATE_DEFAULT_ERROR_MODE`" -#: library/subprocess.rst:651 +#: library/subprocess.rst:671 msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" msgstr ":data:`CREATE_BREAKAWAY_FROM_JOB`" -#: library/subprocess.rst:653 +#: library/subprocess.rst:673 msgid "" "*pipesize* can be used to change the size of the pipe when :data:`PIPE` is " "used for *stdin*, *stdout* or *stderr*. The size of the pipe is only changed " @@ -1147,12 +1163,12 @@ msgid "" "platforms will ignore this parameter." msgstr "" -#: library/subprocess.rst:658 +#: library/subprocess.rst:678 #, fuzzy msgid "The ``pipesize`` parameter was added." msgstr "Ajout du paramètre *pass_fds*." -#: library/subprocess.rst:661 +#: library/subprocess.rst:681 msgid "" "Popen objects are supported as context managers via the :keyword:`with` " "statement: on exit, standard file descriptors are closed, and the process is " @@ -1162,7 +1178,7 @@ msgstr "" "l'instruction :keyword:`with` : à la sortie, les descripteurs de fichiers " "standards sont fermés, et le processus est attendu ::" -#: library/subprocess.rst:668 +#: library/subprocess.rst:688 msgid "" "Raises an :ref:`auditing event ` ``subprocess.Popen`` with " "arguments ``executable``, ``args``, ``cwd``, ``env``." @@ -1170,7 +1186,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``subprocess.Popen`` avec comme " "arguments ``executable``, ``args``, ``cwd`` et ``env``." -#: library/subprocess.rst:670 +#: library/subprocess.rst:690 msgid "" "Popen and the other functions in this module that use it raise an :ref:" "`auditing event ` ``subprocess.Popen`` with arguments " @@ -1183,11 +1199,11 @@ msgstr "" "être une simple chaîne de caractères ou une liste de chaînes, en fonction de " "la plateforme." -#: library/subprocess.rst:675 +#: library/subprocess.rst:695 msgid "Added context manager support." msgstr "Ajout de la gestion des gestionnaires de contexte." -#: library/subprocess.rst:678 +#: library/subprocess.rst:698 msgid "" "Popen destructor now emits a :exc:`ResourceWarning` warning if the child " "process is still running." @@ -1195,7 +1211,7 @@ msgstr "" "Le destructeur de *Popen* émet maintenant un avertissement :exc:" "`ResourceWarning` si le processus fils est toujours en cours d'exécution." -#: library/subprocess.rst:682 +#: library/subprocess.rst:702 msgid "" "Popen can use :func:`os.posix_spawn` in some cases for better performance. " "On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor " @@ -1210,11 +1226,11 @@ msgstr "" "manquant, mais le processus enfant échoue avec un :attr:`~Popen.returncode` " "différent de zéro." -#: library/subprocess.rst:691 +#: library/subprocess.rst:711 msgid "Exceptions" msgstr "Exceptions" -#: library/subprocess.rst:693 +#: library/subprocess.rst:713 msgid "" "Exceptions raised in the child process, before the new program has started " "to execute, will be re-raised in the parent." @@ -1222,7 +1238,7 @@ msgstr "" "Les exceptions levées dans le processus fils, avant que le nouveau programme " "ait commencé à s'exécuter, seront ré-levées dans le parent." -#: library/subprocess.rst:696 +#: library/subprocess.rst:716 msgid "" "The most common exception raised is :exc:`OSError`. This occurs, for " "example, when trying to execute a non-existent file. Applications should " @@ -1233,7 +1249,7 @@ msgid "" "subprocess." msgstr "" -#: library/subprocess.rst:703 +#: library/subprocess.rst:723 msgid "" "A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " "arguments." @@ -1241,7 +1257,7 @@ msgstr "" "Une :exc:`ValueError` sera levée si :class:`Popen` est appelé avec des " "arguments invalides." -#: library/subprocess.rst:706 +#: library/subprocess.rst:726 msgid "" ":func:`check_call` and :func:`check_output` will raise :exc:" "`CalledProcessError` if the called process returns a non-zero return code." @@ -1250,7 +1266,7 @@ msgstr "" "`CalledProcessError` si le processus appelé renvoie un code de retour non " "nul." -#: library/subprocess.rst:710 +#: library/subprocess.rst:730 msgid "" "All of the functions and methods that accept a *timeout* parameter, such as :" "func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " @@ -1260,22 +1276,22 @@ msgstr "" "telles que :func:`call` et :meth:`Popen.communicate` lèveront une :exc:" "`TImeoutExpired` si le *timeout* expire avant la fin du processus." -#: library/subprocess.rst:714 +#: library/subprocess.rst:734 msgid "" "Exceptions defined in this module all inherit from :exc:`SubprocessError`." msgstr "" "Toutes les exceptions définies dans ce module héritent de :exc:" "`SubprocessError`." -#: library/subprocess.rst:716 +#: library/subprocess.rst:736 msgid "The :exc:`SubprocessError` base class was added." msgstr "Ajout de la classe de base :exc:`SubprocessError`." -#: library/subprocess.rst:722 +#: library/subprocess.rst:742 msgid "Security Considerations" msgstr "Considérations de sécurité" -#: library/subprocess.rst:724 +#: library/subprocess.rst:744 #, fuzzy msgid "" "Unlike some other popen functions, this implementation will never implicitly " @@ -1297,16 +1313,16 @@ msgstr "" "correctement pour éviter les vulnérabilités de type `shell injection " "`_." -#: library/subprocess.rst:736 +#: library/subprocess.rst:756 msgid "Popen Objects" msgstr "Objets *Popen*" -#: library/subprocess.rst:738 +#: library/subprocess.rst:758 msgid "Instances of the :class:`Popen` class have the following methods:" msgstr "" "Les instances de la classe :class:`Popen` possèdent les méthodes suivantes :" -#: library/subprocess.rst:743 +#: library/subprocess.rst:763 msgid "" "Check if child process has terminated. Set and return :attr:`~Popen." "returncode` attribute. Otherwise, returns ``None``." @@ -1314,7 +1330,7 @@ msgstr "" "Vérifie que le processus enfant s'est terminé. Modifie et renvoie " "l'attribut :attr:`~Popen.returncode`, sinon, renvoie ``None``." -#: library/subprocess.rst:749 +#: library/subprocess.rst:769 msgid "" "Wait for child process to terminate. Set and return :attr:`~Popen." "returncode` attribute." @@ -1322,7 +1338,7 @@ msgstr "" "Attend qu'un processus enfant se termine. Modifie l'attribut :attr:`~Popen." "returncode` et le renvoie." -#: library/subprocess.rst:752 +#: library/subprocess.rst:772 msgid "" "If the process does not terminate after *timeout* seconds, raise a :exc:" "`TimeoutExpired` exception. It is safe to catch this exception and retry " @@ -1332,7 +1348,7 @@ msgstr "" "*timeout*, une exception :exc:`TimeoutExpired` est levée. Cela ne pose " "aucun problème d'attraper cette exception et de réessayer d'attendre." -#: library/subprocess.rst:758 +#: library/subprocess.rst:778 msgid "" "This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " "child process generates enough output to a pipe such that it blocks waiting " @@ -1346,7 +1362,7 @@ msgstr "" "Utilisez :meth:`Popen.communicate` pour éviter ce problème lors de " "l'utilisation de tubes." -#: library/subprocess.rst:765 +#: library/subprocess.rst:785 msgid "" "The function is implemented using a busy loop (non-blocking call and short " "sleeps). Use the :mod:`asyncio` module for an asynchronous wait: see :class:" @@ -1356,12 +1372,12 @@ msgstr "" "et *sleep* courts). Utilisez le module :mod:`asyncio` pour une attente " "asynchrone : voir :class:`asyncio.create_subprocess_exec`." -#: library/subprocess.rst:810 library/subprocess.rst:1179 -#: library/subprocess.rst:1225 +#: library/subprocess.rst:830 library/subprocess.rst:1208 +#: library/subprocess.rst:1262 msgid "*timeout* was added." msgstr "Ajout de *timeout*." -#: library/subprocess.rst:774 +#: library/subprocess.rst:794 #, fuzzy msgid "" "Interact with process: Send data to stdin. Read data from stdout and " @@ -1378,7 +1394,7 @@ msgstr "" "transmettre. Si les flux sont ouverts en mode texte, *input* doit être une " "chaîne de caractère. Autrement, ce doit être un objet *bytes*." -#: library/subprocess.rst:781 +#: library/subprocess.rst:801 msgid "" ":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``. The data " "will be strings if streams were opened in text mode; otherwise, bytes." @@ -1387,7 +1403,7 @@ msgstr "" "données seront des chaînes de caractères si les flux sont ouverts en mode " "texte, et des objets *bytes* dans le cas contraire." -#: library/subprocess.rst:785 +#: library/subprocess.rst:805 msgid "" "Note that if you want to send data to the process's stdin, you need to " "create the Popen object with ``stdin=PIPE``. Similarly, to get anything " @@ -1399,7 +1415,7 @@ msgstr "" "Similairement, pour obtenir autre chose que ``None`` dans le *n*-uplet " "résultant, vous devez aussi préciser ``stdout=PIPE`` et/ou ``stderr=PIPE``." -#: library/subprocess.rst:790 +#: library/subprocess.rst:810 msgid "" "If the process does not terminate after *timeout* seconds, a :exc:" "`TimeoutExpired` exception will be raised. Catching this exception and " @@ -1409,7 +1425,7 @@ msgstr "" "exc:`TimeoutExpired` est levée. Attraper cette exception et retenter la " "communication ne fait perdre aucune donnée de sortie." -#: library/subprocess.rst:794 +#: library/subprocess.rst:814 msgid "" "The child process is not killed if the timeout expires, so in order to " "cleanup properly a well-behaved application should kill the child process " @@ -1419,7 +1435,7 @@ msgstr "" "nettoyer proprement le tout, une application polie devrait tuer le processus " "fils et terminer la communication ::" -#: library/subprocess.rst:807 +#: library/subprocess.rst:827 msgid "" "The data read is buffered in memory, so do not use this method if the data " "size is large or unlimited." @@ -1427,15 +1443,15 @@ msgstr "" "Les données lues sont mises en cache en mémoire, donc n'utilisez pas cette " "méthode si la taille des données est importante voire illimitée." -#: library/subprocess.rst:816 +#: library/subprocess.rst:836 msgid "Sends the signal *signal* to the child." msgstr "Envoie le signal *signal* au fils." -#: library/subprocess.rst:818 +#: library/subprocess.rst:838 msgid "Do nothing if the process completed." msgstr "" -#: library/subprocess.rst:822 +#: library/subprocess.rst:842 msgid "" "On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and " "CTRL_BREAK_EVENT can be sent to processes started with a *creationflags* " @@ -1445,7 +1461,7 @@ msgstr "" "et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un " "paramètre *creationflags* incluant ``CREATE_NEW_PROCESS_GROUP``." -#: library/subprocess.rst:829 +#: library/subprocess.rst:849 msgid "" "Stop the child. On POSIX OSs the method sends SIGTERM to the child. On " "Windows the Win32 API function :c:func:`TerminateProcess` is called to stop " @@ -1455,7 +1471,7 @@ msgstr "" "signal *SIGTERM* au fils. Sous Windows, la fonction :c:func:" "`TerminateProcess` de l'API *Win32* est appelée pour arrêter le fils." -#: library/subprocess.rst:836 +#: library/subprocess.rst:856 msgid "" "Kills the child. On POSIX OSs the function sends SIGKILL to the child. On " "Windows :meth:`kill` is an alias for :meth:`terminate`." @@ -1464,11 +1480,13 @@ msgstr "" "*SIGKILL* au fils. Sous Windows, :meth:`kill` est un alias pour :meth:" "`terminate`." -#: library/subprocess.rst:840 -msgid "The following attributes are also available:" -msgstr "Les attributs suivants sont aussi disponibles :" +#: library/subprocess.rst:860 +msgid "" +"The following attributes are also set by the class for you to access. " +"Reassigning them to new values is unsupported:" +msgstr "" -#: library/subprocess.rst:844 +#: library/subprocess.rst:865 msgid "" "The *args* argument as it was passed to :class:`Popen` -- a sequence of " "program arguments or else a single string." @@ -1476,13 +1494,14 @@ msgstr "" "L'argument *args* tel que passé à :class:`Popen` -- une séquence d'arguments " "du programme ou une simple chaîne de caractères." -#: library/subprocess.rst:851 +#: library/subprocess.rst:872 +#, fuzzy msgid "" "If the *stdin* argument was :data:`PIPE`, this attribute is a writeable " "stream object as returned by :func:`open`. If the *encoding* or *errors* " -"arguments were specified or the *universal_newlines* argument was ``True``, " -"the stream is a text stream, otherwise it is a byte stream. If the *stdin* " -"argument was not :data:`PIPE`, this attribute is ``None``." +"arguments were specified or the *text* or *universal_newlines* argument was " +"``True``, the stream is a text stream, otherwise it is a byte stream. If the " +"*stdin* argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" "Si l'argument *stdin* valait :data:`PIPE`, cet attribut est un flux " "accessible en écriture comme renvoyé par :func:`open`. Si les arguments " @@ -1490,14 +1509,15 @@ msgstr "" "``True``, le flux est textuel, il est autrement binaire. Si l'argument " "*stdin* ne valait pas :data:`PIPE`, cet attribut est ``None``." -#: library/subprocess.rst:860 +#: library/subprocess.rst:881 +#, fuzzy msgid "" "If the *stdout* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " "output from the child process. If the *encoding* or *errors* arguments were " -"specified or the *universal_newlines* argument was ``True``, the stream is a " -"text stream, otherwise it is a byte stream. If the *stdout* argument was " -"not :data:`PIPE`, this attribute is ``None``." +"specified or the *text* or *universal_newlines* argument was ``True``, the " +"stream is a text stream, otherwise it is a byte stream. If the *stdout* " +"argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" "Si l'argument *stdout* valait :data:`PIPE`, cet attribut est un flux " "accessible en lecture comme renvoyé par :func:`open`. Lire depuis le flux " @@ -1506,14 +1526,15 @@ msgstr "" "textuel, il est autrement binaire. Si l'argument *stdout* ne valait pas :" "data:`PIPE`, cet attribut est ``None``." -#: library/subprocess.rst:870 +#: library/subprocess.rst:891 +#, fuzzy msgid "" "If the *stderr* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " "error output from the child process. If the *encoding* or *errors* arguments " -"were specified or the *universal_newlines* argument was ``True``, the stream " -"is a text stream, otherwise it is a byte stream. If the *stderr* argument " -"was not :data:`PIPE`, this attribute is ``None``." +"were specified or the *text* or *universal_newlines* argument was ``True``, " +"the stream is a text stream, otherwise it is a byte stream. If the *stderr* " +"argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" "Si l'argument *stderr* valait :data:`PIPE`, cet attribut est un flux " "accessible en lecture comme renvoyé par :func:`open`. Lire depuis le flux " @@ -1522,7 +1543,7 @@ msgstr "" "flux est textuel, il est autrement binaire. Si l'argument *stderr* ne valait " "pas :data:`PIPE`, cet attribut est ``None``." -#: library/subprocess.rst:879 +#: library/subprocess.rst:900 msgid "" "Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write `, :attr:`.stdout.read ` or :attr:`.stderr.read ` pour empêcher les *deadlocks* dus au remplissage des tampons des " "tubes de l'OS et bloquant le processus enfant." -#: library/subprocess.rst:887 +#: library/subprocess.rst:908 msgid "The process ID of the child process." msgstr "L'identifiant de processus du processus enfant." -#: library/subprocess.rst:889 +#: library/subprocess.rst:910 msgid "" "Note that if you set the *shell* argument to ``True``, this is the process " "ID of the spawned shell." @@ -1546,7 +1567,7 @@ msgstr "" "Notez que si vous passez l'argument *shell* à ``True``, il s'agit alors de " "l'identifiant du *shell* instancié." -#: library/subprocess.rst:895 +#: library/subprocess.rst:916 msgid "" "The child return code, set by :meth:`poll` and :meth:`wait` (and indirectly " "by :meth:`communicate`). A ``None`` value indicates that the process hasn't " @@ -1556,11 +1577,11 @@ msgstr "" "indirectement par :meth:`communicate`). Une valeur ``None`` indique que le " "processus ne s'est pas encore terminé." -#: library/subprocess.rst:904 +#: library/subprocess.rst:925 msgid "Windows Popen Helpers" msgstr "Utilitaires *Popen* pour Windows" -#: library/subprocess.rst:906 +#: library/subprocess.rst:927 msgid "" "The :class:`STARTUPINFO` class and following constants are only available on " "Windows." @@ -1568,7 +1589,7 @@ msgstr "" "La classe :class:`STARTUPINFO` et les constantes suivantes sont seulement " "disponibles sous Windows." -#: library/subprocess.rst:912 +#: library/subprocess.rst:933 msgid "" "Partial support of the Windows `STARTUPINFO `__ structure is used for :class:`Popen` " @@ -1580,11 +1601,11 @@ msgstr "" "création d'un objet :class:`Popen`. Les attributs ci-dessous peuvent être " "passés en tant que paramètres *keyword-only*." -#: library/subprocess.rst:917 +#: library/subprocess.rst:938 msgid "Keyword-only argument support was added." msgstr "Ajout de la gestion des paramètres *keyword-only*." -#: library/subprocess.rst:922 +#: library/subprocess.rst:943 msgid "" "A bit field that determines whether certain :class:`STARTUPINFO` attributes " "are used when the process creates a window. ::" @@ -1592,7 +1613,7 @@ msgstr "" "Un champ de bits déterminant si certains attributs :class:`STARTUPINFO` sont " "utilisés quand le processus crée une fenêtre ::" -#: library/subprocess.rst:930 +#: library/subprocess.rst:951 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard input handle for the process. If :data:`STARTF_USESTDHANDLES` " @@ -1603,7 +1624,7 @@ msgstr "" "`STARTF_USESTDHANDLES` n'est pas spécifié, l'entrée standard par défaut est " "le tampon du clavier." -#: library/subprocess.rst:937 +#: library/subprocess.rst:958 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard output handle for the process. Otherwise, this attribute is " @@ -1613,7 +1634,7 @@ msgstr "" "le descripteur de sortie standard du processus. Autrement, l'attribut est " "ignoré et la sortie standard par défaut est le tampon de la console." -#: library/subprocess.rst:944 +#: library/subprocess.rst:965 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard error handle for the process. Otherwise, this attribute is " @@ -1623,7 +1644,7 @@ msgstr "" "le descripteur de sortie d'erreur du processus. Autrement, l'attribut est " "ignoré et la sortie d'erreur par défaut est le tampon de la console." -#: library/subprocess.rst:950 +#: library/subprocess.rst:971 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " "can be any of the values that can be specified in the ``nCmdShow`` parameter " @@ -1637,7 +1658,7 @@ msgstr "" "ms633548(v=vs.85).aspx>`__, à l'exception de ``SW_SHOWDEFAULT``. Autrement, " "cet attribut est ignoré." -#: library/subprocess.rst:957 +#: library/subprocess.rst:978 msgid "" ":data:`SW_HIDE` is provided for this attribute. It is used when :class:" "`Popen` is called with ``shell=True``." @@ -1645,7 +1666,7 @@ msgstr "" ":data:`SW_HIDE` est fourni pour cet attribut. Il est utilisé quand :class:" "`Popen` est appelée avec ``shell=True``." -#: library/subprocess.rst:962 +#: library/subprocess.rst:983 msgid "" "A dictionary of additional attributes for process creation as given in " "``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__ (ressource en anglais)." -#: library/subprocess.rst:966 +#: library/subprocess.rst:987 msgid "Supported attributes:" msgstr "Attributs gérés :" -#: library/subprocess.rst:984 +#: library/subprocess.rst:1005 msgid "**handle_list**" msgstr "**handle_list**" -#: library/subprocess.rst:969 +#: library/subprocess.rst:990 msgid "" "Sequence of handles that will be inherited. *close_fds* must be true if non-" "empty." @@ -1672,7 +1693,7 @@ msgstr "" "Séquence des descripteurs qui hérités du parent. *close_fds* doit être vrai " "si la séquence n'est pas vide." -#: library/subprocess.rst:972 +#: library/subprocess.rst:993 msgid "" "The handles must be temporarily made inheritable by :func:`os." "set_handle_inheritable` when passed to the :class:`Popen` constructor, else :" @@ -1684,7 +1705,7 @@ msgstr "" "`Popen`, sinon :class:`OSError` est levée avec l'erreur Windows " "``ERROR_INVALID_PARAMETER`` (87)." -#: library/subprocess.rst:979 +#: library/subprocess.rst:1000 msgid "" "In a multithreaded process, use caution to avoid leaking handles that are " "marked inheritable when combining this feature with concurrent calls to " @@ -1698,15 +1719,15 @@ msgstr "" "d'autres processus qui héritent de tous les descripteurs (telle que :func:" "`os.system`)." -#: library/subprocess.rst:989 +#: library/subprocess.rst:1010 msgid "Windows Constants" msgstr "Constantes Windows" -#: library/subprocess.rst:991 +#: library/subprocess.rst:1012 msgid "The :mod:`subprocess` module exposes the following constants." msgstr "Le module :mod:`subprocess` expose les constantes suivantes." -#: library/subprocess.rst:995 +#: library/subprocess.rst:1016 msgid "" "The standard input device. Initially, this is the console input buffer, " "``CONIN$``." @@ -1714,7 +1735,7 @@ msgstr "" "Le périphérique d'entrée standard. Initialement, il s'agit du tampon de la " "console d'entrée, ``CONIN$``." -#: library/subprocess.rst:1000 +#: library/subprocess.rst:1021 msgid "" "The standard output device. Initially, this is the active console screen " "buffer, ``CONOUT$``." @@ -1722,7 +1743,7 @@ msgstr "" "Le périphérique de sortie standard. Initialement, il s'agit du tampon de " "l'écran de console actif, ``CONOUT$``." -#: library/subprocess.rst:1005 +#: library/subprocess.rst:1026 msgid "" "The standard error device. Initially, this is the active console screen " "buffer, ``CONOUT$``." @@ -1730,11 +1751,11 @@ msgstr "" "Le périphérique de sortie d'erreur. Initialement, il s'agit du tampon de " "l'écran de console actif, ``CONOUT$``." -#: library/subprocess.rst:1010 +#: library/subprocess.rst:1031 msgid "Hides the window. Another window will be activated." msgstr "Cache la fenêtre. Une autre fenêtre sera activée." -#: library/subprocess.rst:1014 +#: library/subprocess.rst:1035 msgid "" "Specifies that the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." "hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes contain additional " @@ -1744,7 +1765,7 @@ msgstr "" "hStdOutput` et :attr:`STARTUPINFO.hStdError` contiennent des informations " "additionnelles." -#: library/subprocess.rst:1020 +#: library/subprocess.rst:1041 msgid "" "Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " "additional information." @@ -1752,7 +1773,7 @@ msgstr "" "Spécifie que l'attribut :attr:`STARTUPINFO.wShowWindow` contient des " "informations additionnelles." -#: library/subprocess.rst:1025 +#: library/subprocess.rst:1046 msgid "" "The new process has a new console, instead of inheriting its parent's " "console (the default)." @@ -1760,7 +1781,7 @@ msgstr "" "Le nouveau processus instancie une nouvelle console, plutôt que d'hériter de " "celle de son père (par défaut)." -#: library/subprocess.rst:1030 +#: library/subprocess.rst:1051 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "group will be created. This flag is necessary for using :func:`os.kill` on " @@ -1770,11 +1791,11 @@ msgstr "" "groupe de processus doit être créé. Cette option est nécessaire pour " "utiliser :func:`os.kill` sur le sous-processus." -#: library/subprocess.rst:1034 +#: library/subprocess.rst:1055 msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." msgstr "L'option est ignorée si :data:`CREATE_NEW_CONSOLE` est spécifié." -#: library/subprocess.rst:1038 +#: library/subprocess.rst:1059 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an above average priority." @@ -1782,7 +1803,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité au-dessus de la moyenne." -#: library/subprocess.rst:1045 +#: library/subprocess.rst:1066 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a below average priority." @@ -1790,7 +1811,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité au-dessous de la moyenne." -#: library/subprocess.rst:1052 +#: library/subprocess.rst:1073 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a high priority." @@ -1798,7 +1819,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité haute." -#: library/subprocess.rst:1059 +#: library/subprocess.rst:1080 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an idle (lowest) priority." @@ -1806,7 +1827,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura la priorité la plus basse (inactif ou *idle*)." -#: library/subprocess.rst:1066 +#: library/subprocess.rst:1087 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an normal priority. (default)" @@ -1814,7 +1835,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "aura une priorité normale (le défaut)." -#: library/subprocess.rst:1073 +#: library/subprocess.rst:1094 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have realtime priority. You should almost never use " @@ -1831,7 +1852,7 @@ msgstr "" "applications qui « parlent » directement au matériel ou qui effectuent de " "brèves tâches nécessitant des interruptions limitées." -#: library/subprocess.rst:1084 +#: library/subprocess.rst:1105 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not create a window." @@ -1839,7 +1860,7 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "ne créera pas une nouvelle fenêtre." -#: library/subprocess.rst:1091 +#: library/subprocess.rst:1112 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not inherit its parent's console. This value cannot be used with " @@ -1849,7 +1870,7 @@ msgstr "" "processus n'héritera pas de la console du processus parent. Cette valeur ne " "peut pas être utilisée avec CREATE_NEW_CONSOLE." -#: library/subprocess.rst:1099 +#: library/subprocess.rst:1120 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "does not inherit the error mode of the calling process. Instead, the new " @@ -1863,7 +1884,7 @@ msgstr "" "de multiples fils d'exécution qui s'exécutent avec les erreurs irréversibles " "désactivées." -#: library/subprocess.rst:1109 +#: library/subprocess.rst:1130 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "is not associated with the job." @@ -1871,11 +1892,11 @@ msgstr "" "Paramètre ``creationflags`` de :class:`Popen` pour spécifier qu'un processus " "n'est pas associé au *job*." -#: library/subprocess.rst:1117 +#: library/subprocess.rst:1138 msgid "Older high-level API" msgstr "Ancienne interface (*API*) haut-niveau" -#: library/subprocess.rst:1119 +#: library/subprocess.rst:1140 msgid "" "Prior to Python 3.5, these three functions comprised the high level API to " "subprocess. You can now use :func:`run` in many cases, but lots of existing " @@ -1885,7 +1906,7 @@ msgstr "" "*subprocess*. Vous pouvez maintenant utiliser :func:`run` dans de nombreux " "cas, mais beaucoup de codes existant font appel à ces trois fonctions." -#: library/subprocess.rst:1126 +#: library/subprocess.rst:1147 msgid "" "Run the command described by *args*. Wait for command to complete, then " "return the :attr:`~Popen.returncode` attribute." @@ -1893,18 +1914,18 @@ msgstr "" "Lance la commande décrite par *args*, attend qu'elle se termine, et renvoie " "son attribut :attr:`~Popen.returncode`." -#: library/subprocess.rst:1161 +#: library/subprocess.rst:1190 msgid "" "Code needing to capture stdout or stderr should use :func:`run` instead::" msgstr "" "Le code ayant besoin de capturer *stdout* ou *stderr* doit plutôt utiliser ::" "func:`run` ::" -#: library/subprocess.rst:1165 +#: library/subprocess.rst:1194 msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." msgstr "Pour supprimer *stdout* ou *stderr*, passez la valeur :data:`DEVNULL`." -#: library/subprocess.rst:1167 +#: library/subprocess.rst:1196 msgid "" "The arguments shown above are merely some common ones. The full function " "signature is the same as that of the :class:`Popen` constructor - this " @@ -1916,7 +1937,7 @@ msgstr "" "class:`Popen` : cette fonction passe tous les arguments fournis autre que " "*timeout* directement à travers cette interface." -#: library/subprocess.rst:1174 +#: library/subprocess.rst:1203 msgid "" "Do not use ``stdout=PIPE`` or ``stderr=PIPE`` with this function. The child " "process will block if it generates enough output to a pipe to fill up the OS " @@ -1926,7 +1947,7 @@ msgstr "" "processus enfant bloquera s'il génère assez de données pour remplir le " "tampon du tube de l'OS, puisque les tubes ne seront jamais lus." -#: library/subprocess.rst:1154 +#: library/subprocess.rst:1183 #, fuzzy msgid "" "Run command with arguments. Wait for command to complete. If the return " @@ -1940,11 +1961,11 @@ msgstr "" "`CalledProcessError` autrement. L'objet :exc:`CalledProcessError` contiendra " "le code de retour dans son attribut :attr:`~CalledProcessError.returncode`." -#: library/subprocess.rst:1188 +#: library/subprocess.rst:1225 msgid "Run command with arguments and return its output." msgstr "Lance la commande avec les arguments et renvoie sa sortie." -#: library/subprocess.rst:1190 +#: library/subprocess.rst:1227 msgid "" "If the return code was non-zero it raises a :exc:`CalledProcessError`. The :" "exc:`CalledProcessError` object will have the return code in the :attr:" @@ -1956,11 +1977,11 @@ msgstr "" "de retour dans son attribut :attr:`~CalledProcessError.returncode`, et la " "sortie du programme dans son attribut :attr:`~CalledProcessError.output`." -#: library/subprocess.rst:1195 +#: library/subprocess.rst:1232 msgid "This is equivalent to::" msgstr "C’est équivalent à ::" -#: library/subprocess.rst:1199 +#: library/subprocess.rst:1236 #, fuzzy msgid "" "The arguments shown above are merely some common ones. The full function " @@ -1976,7 +1997,7 @@ msgstr "" "Cependant, passer explicitement ``input=None`` pour hériter du descripteur " "d'entrée standard du parent n'est pas géré." -#: library/subprocess.rst:1206 +#: library/subprocess.rst:1243 msgid "" "By default, this function will return the data as encoded bytes. The actual " "encoding of the output data may depend on the command being invoked, so the " @@ -1987,7 +2008,7 @@ msgstr "" "invoquée, donc le décodage du texte devra souvent être géré au niveau de " "l'application." -#: library/subprocess.rst:1210 +#: library/subprocess.rst:1247 msgid "" "This behaviour may be overridden by setting *text*, *encoding*, *errors*, or " "*universal_newlines* to ``True`` as described in :ref:`frequently-used-" @@ -1997,7 +2018,7 @@ msgstr "" "ou *universal_newlines* à ``True`` comme décrit dans :ref:`frequently-used-" "arguments` et :func:`run`." -#: library/subprocess.rst:1214 +#: library/subprocess.rst:1251 msgid "" "To also capture standard error in the result, use ``stderr=subprocess." "STDOUT``::" @@ -2005,21 +2026,21 @@ msgstr "" "Pour capturer aussi la sortie d'erreur dans le résultat, utilisez " "``stderr=subprocess.STDOUT`` ::" -#: library/subprocess.rst:1228 +#: library/subprocess.rst:1265 msgid "Support for the *input* keyword argument was added." msgstr "Ajout de la gestion de l'argument nommé *input*." -#: library/subprocess.rst:1231 +#: library/subprocess.rst:1268 msgid "*encoding* and *errors* were added. See :func:`run` for details." msgstr "" "Ajout d'*encoding* et *errors*. Consultez :func:`run` pour plus " "d'informations." -#: library/subprocess.rst:1241 +#: library/subprocess.rst:1286 msgid "Replacing Older Functions with the :mod:`subprocess` Module" msgstr "Remplacer les fonctions plus anciennes par le module :mod:`subprocess`" -#: library/subprocess.rst:1243 +#: library/subprocess.rst:1288 msgid "" "In this section, \"a becomes b\" means that b can be used as a replacement " "for a." @@ -2027,7 +2048,7 @@ msgstr "" "Dans cette section, « a devient b » signifie que b peut être utilisée en " "remplacement de a." -#: library/subprocess.rst:1247 +#: library/subprocess.rst:1292 msgid "" "All \"a\" functions in this section fail (more or less) silently if the " "executed program cannot be found; the \"b\" replacements raise :exc:" @@ -2037,7 +2058,7 @@ msgstr "" "silencieusement si le programme à exécuter ne peut être trouvé ; les " "fonctions « b » de remplacement lèvent à la place une :exc:`OSError`." -#: library/subprocess.rst:1251 +#: library/subprocess.rst:1296 msgid "" "In addition, the replacements using :func:`check_output` will fail with a :" "exc:`CalledProcessError` if the requested operation produces a non-zero " @@ -2049,7 +2070,7 @@ msgstr "" "retour non-nul. La sortie est toujours disponible par l'attribut :attr:" "`~CalledProcessError.output` de l'exception levée." -#: library/subprocess.rst:1256 +#: library/subprocess.rst:1301 msgid "" "In the following examples, we assume that the relevant functions have " "already been imported from the :mod:`subprocess` module." @@ -2057,20 +2078,20 @@ msgstr "" "Dans les exemples suivants, nous supposons que les fonctions utilisées ont " "déjà été importées depuis le module :mod:`subprocess`." -#: library/subprocess.rst:1261 +#: library/subprocess.rst:1306 msgid "Replacing :program:`/bin/sh` shell command substitution" msgstr "" "Remplacement de la substitution de commandes de terminal :program:`/bin/sh`" -#: library/subprocess.rst:1278 library/subprocess.rst:1295 +#: library/subprocess.rst:1323 library/subprocess.rst:1340 msgid "becomes::" msgstr "devient ::" -#: library/subprocess.rst:1272 +#: library/subprocess.rst:1317 msgid "Replacing shell pipeline" msgstr "Remplacer les *pipes* du *shell*" -#: library/subprocess.rst:1285 +#: library/subprocess.rst:1330 msgid "" "The ``p1.stdout.close()`` call after starting the p2 is important in order " "for p1 to receive a SIGPIPE if p2 exits before p1." @@ -2078,7 +2099,7 @@ msgstr "" "L'appel à ``p1.stdout.close()`` après le démarrage de *p2* est important " "pour que *p1* reçoive un *SIGPIPE* si *p2* se termine avant lui." -#: library/subprocess.rst:1288 +#: library/subprocess.rst:1333 msgid "" "Alternatively, for trusted input, the shell's own pipeline support may still " "be used directly:" @@ -2086,69 +2107,69 @@ msgstr "" "Alternativement, pour des entrées fiables, la gestion des tubes du *shell* " "peut directement être utilisé :" -#: library/subprocess.rst:1301 +#: library/subprocess.rst:1346 msgid "Replacing :func:`os.system`" msgstr "Remplacer :func:`os.system`" -#: library/subprocess.rst:1309 +#: library/subprocess.rst:1354 msgid "Notes:" msgstr "Notes :" -#: library/subprocess.rst:1311 +#: library/subprocess.rst:1356 msgid "Calling the program through the shell is usually not required." msgstr "" "Appeler le programme à travers un *shell* n'est habituellement pas requis." -#: library/subprocess.rst:1312 +#: library/subprocess.rst:1357 msgid "" "The :func:`call` return value is encoded differently to that of :func:`os." "system`." msgstr "" -#: library/subprocess.rst:1315 +#: library/subprocess.rst:1360 msgid "" "The :func:`os.system` function ignores SIGINT and SIGQUIT signals while the " "command is running, but the caller must do this separately when using the :" "mod:`subprocess` module." msgstr "" -#: library/subprocess.rst:1319 +#: library/subprocess.rst:1364 msgid "A more realistic example would look like this::" msgstr "Un exemple plus réaliste ressemblerait à cela ::" -#: library/subprocess.rst:1332 +#: library/subprocess.rst:1377 msgid "Replacing the :func:`os.spawn ` family" msgstr "Remplacer les fonctions de la famille :func:`os.spawn `" -#: library/subprocess.rst:1334 +#: library/subprocess.rst:1379 msgid "P_NOWAIT example::" msgstr "Exemple avec *P_NOWAIT* ::" -#: library/subprocess.rst:1340 +#: library/subprocess.rst:1385 msgid "P_WAIT example::" msgstr "Exemple avec *P_WAIT* ::" -#: library/subprocess.rst:1346 +#: library/subprocess.rst:1391 msgid "Vector example::" msgstr "Exemple avec un tableau ::" -#: library/subprocess.rst:1352 +#: library/subprocess.rst:1397 msgid "Environment example::" msgstr "Exemple en passant un environnement ::" -#: library/subprocess.rst:1361 +#: library/subprocess.rst:1406 msgid "Replacing :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" msgstr "Remplacer :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" -#: library/subprocess.rst:1391 +#: library/subprocess.rst:1436 msgid "Return code handling translates as follows::" msgstr "La gestion du code de retour se traduit comme suit ::" -#: library/subprocess.rst:1407 +#: library/subprocess.rst:1452 msgid "Replacing functions from the :mod:`popen2` module" msgstr "Remplacer les fonctions du module :mod:`popen2`" -#: library/subprocess.rst:1411 +#: library/subprocess.rst:1456 msgid "" "If the cmd argument to popen2 functions is a string, the command is executed " "through /bin/sh. If it is a list, the command is directly executed." @@ -2157,7 +2178,7 @@ msgstr "" "la commande est exécutée à travers */bin/sh*. Si c'est une liste, la " "commande est directement exécutée." -#: library/subprocess.rst:1430 +#: library/subprocess.rst:1475 msgid "" ":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work as :class:" "`subprocess.Popen`, except that:" @@ -2165,19 +2186,19 @@ msgstr "" ":class:`popen2.Popen3` et :class:`popen2.Popen4` fonctionnent basiquement " "comme :class:`subprocess.Popen`, excepté que :" -#: library/subprocess.rst:1433 +#: library/subprocess.rst:1478 msgid ":class:`Popen` raises an exception if the execution fails." msgstr ":class:`Popen` lève une exception si l'exécution échoue." -#: library/subprocess.rst:1435 +#: library/subprocess.rst:1480 msgid "The *capturestderr* argument is replaced with the *stderr* argument." msgstr "L'argument *capturestderr* est remplacé par *stderr*." -#: library/subprocess.rst:1437 +#: library/subprocess.rst:1482 msgid "``stdin=PIPE`` and ``stdout=PIPE`` must be specified." msgstr "``stdin=PIPE`` et ``stdout=PIPE`` doivent être spécifiés." -#: library/subprocess.rst:1439 +#: library/subprocess.rst:1484 msgid "" "popen2 closes all file descriptors by default, but you have to specify " "``close_fds=True`` with :class:`Popen` to guarantee this behavior on all " @@ -2187,11 +2208,11 @@ msgstr "" "spécifier ``close_fds=True`` avec :class:`Popen` pour garantir ce " "comportement sur toutes les plateformes ou les anciennes versions de Python." -#: library/subprocess.rst:1445 +#: library/subprocess.rst:1490 msgid "Legacy Shell Invocation Functions" msgstr "Remplacement des fonctions originales d'invocation du *shell*" -#: library/subprocess.rst:1447 +#: library/subprocess.rst:1492 msgid "" "This module also provides the following legacy functions from the 2.x " "``commands`` module. These operations implicitly invoke the system shell and " @@ -2203,13 +2224,13 @@ msgstr "" "*shell* du système et n'apportent aucune des garanties décrites ci-dessus " "par rapport à la sécurité ou la cohérence de la gestion des exceptions." -#: library/subprocess.rst:1454 +#: library/subprocess.rst:1499 msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." msgstr "" "Renvoie les valeurs ``(exitcode, output)`` de l'exécution de *cmd* dans un " "*shell*." -#: library/subprocess.rst:1456 +#: library/subprocess.rst:1501 msgid "" "Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " "return a 2-tuple ``(exitcode, output)``. The locale encoding is used; see " @@ -2220,7 +2241,7 @@ msgstr "" "les notes de la section :ref:`frequently-used-arguments` pour plus de " "détails." -#: library/subprocess.rst:1460 +#: library/subprocess.rst:1505 msgid "" "A trailing newline is stripped from the output. The exit code for the " "command can be interpreted as the return code of subprocess. Example::" @@ -2229,15 +2250,15 @@ msgstr "" "supprimé. Le code de statut de la commande peut être interprété comme le " "code de retour de *subprocess*. Par exemple ::" -#: library/subprocess.rst:1494 +#: library/subprocess.rst:1539 msgid ":ref:`Availability `: POSIX & Windows." msgstr ":ref:`Disponibilité ` : POSIX et Windows." -#: library/subprocess.rst:1475 +#: library/subprocess.rst:1520 msgid "Windows support was added." msgstr "Ajout de la gestion de Windows." -#: library/subprocess.rst:1478 +#: library/subprocess.rst:1523 msgid "" "The function now returns (exitcode, output) instead of (status, output) as " "it did in Python 3.3.3 and earlier. exitcode has the same value as :attr:" @@ -2247,13 +2268,13 @@ msgstr "" "output)`` comme dans les versions de Python 3.3.3 ou antérieures. " "*exitcode* vaut la même valeur que :attr:`~Popen.returncode`." -#: library/subprocess.rst:1485 +#: library/subprocess.rst:1530 msgid "Return output (stdout and stderr) of executing *cmd* in a shell." msgstr "" "Renvoie la sortie (standard et d'erreur) de l'exécution de *cmd* dans un " "*shell*." -#: library/subprocess.rst:1487 +#: library/subprocess.rst:1532 msgid "" "Like :func:`getstatusoutput`, except the exit code is ignored and the return " "value is a string containing the command's output. Example::" @@ -2262,20 +2283,20 @@ msgstr "" "ignoré et que la valeur de retour est une chaîne contenant la sortie de la " "commande. Exemple ::" -#: library/subprocess.rst:1495 +#: library/subprocess.rst:1540 msgid "Windows support added" msgstr "Ajout de la gestion de Windows" -#: library/subprocess.rst:1500 +#: library/subprocess.rst:1545 msgid "Notes" msgstr "Notes" -#: library/subprocess.rst:1505 +#: library/subprocess.rst:1550 msgid "Converting an argument sequence to a string on Windows" msgstr "" "Convertir une séquence d'arguments vers une chaîne de caractères sous Windows" -#: library/subprocess.rst:1507 +#: library/subprocess.rst:1552 msgid "" "On Windows, an *args* sequence is converted to a string that can be parsed " "using the following rules (which correspond to the rules used by the MS C " @@ -2285,14 +2306,14 @@ msgstr "" "être analysée avec les règles suivantes (qui correspondent aux règles " "utilisées par l'environnement *MS C*) :" -#: library/subprocess.rst:1511 +#: library/subprocess.rst:1556 msgid "" "Arguments are delimited by white space, which is either a space or a tab." msgstr "" "Les arguments sont délimités par des espacements, qui peuvent être des " "espaces ou des tabulations." -#: library/subprocess.rst:1514 +#: library/subprocess.rst:1559 msgid "" "A string surrounded by double quotation marks is interpreted as a single " "argument, regardless of white space contained within. A quoted string can " @@ -2302,7 +2323,7 @@ msgstr "" "seul, qu'elle contienne ou non des espacements. Une chaîne entre guillemets " "peut être intégrée dans un argument." -#: library/subprocess.rst:1519 +#: library/subprocess.rst:1564 msgid "" "A double quotation mark preceded by a backslash is interpreted as a literal " "double quotation mark." @@ -2310,7 +2331,7 @@ msgstr "" "Un guillemet double précédé d'un *backslash* est interprété comme un " "guillemet double littéral." -#: library/subprocess.rst:1522 +#: library/subprocess.rst:1567 msgid "" "Backslashes are interpreted literally, unless they immediately precede a " "double quotation mark." @@ -2318,7 +2339,7 @@ msgstr "" "Les *backslashs* sont interprétés littéralement, à moins qu'ils précèdent " "immédiatement un guillemet double." -#: library/subprocess.rst:1525 +#: library/subprocess.rst:1570 msgid "" "If backslashes immediately precede a double quotation mark, every pair of " "backslashes is interpreted as a literal backslash. If the number of " @@ -2330,16 +2351,29 @@ msgstr "" "de *backslashs* est impair, le dernier *backslash* échappe le prochain " "guillemet double comme décrit en règle 3." -#: library/subprocess.rst:1534 +#: library/subprocess.rst:1579 msgid ":mod:`shlex`" msgstr ":mod:`shlex`" -#: library/subprocess.rst:1535 +#: library/subprocess.rst:1580 msgid "Module which provides function to parse and escape command lines." msgstr "" "Module qui fournit des fonctions pour analyser et échapper les lignes de " "commandes." +#~ msgid "" +#~ "If *env* is not ``None``, it must be a mapping that defines the " +#~ "environment variables for the new process; these are used instead of the " +#~ "default behavior of inheriting the current process' environment." +#~ msgstr "" +#~ "Si *env* n'est pas ``None``, il doit être un tableau associatif " +#~ "définissant les variables d'environnement du nouveau processus ; elles " +#~ "seront utilisées à la place du comportement par défaut qui est d'hériter " +#~ "de l'environnement du processus courant." + +#~ msgid "The following attributes are also available:" +#~ msgstr "Les attributs suivants sont aussi disponibles :" + #~ msgid "" #~ "The :func:`run` function was added in Python 3.5; if you need to retain " #~ "compatibility with older versions, see the :ref:`call-function-trio` " diff --git a/library/sys.po b/library/sys.po index 96377b1750..97639d03ab 100644 --- a/library/sys.po +++ b/library/sys.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:56+0200\n" "Last-Translator: louisMaury \n" "Language-Team: FRENCH \n" @@ -72,6 +72,18 @@ msgstr "" "une exception pour stopper l'opération ou terminer le processus entièrement." #: library/sys.rst:38 +msgid "" +"Note that audit hooks are primarily for collecting information about " +"internal or otherwise unobservable actions, whether by Python or libraries " +"written in Python. They are not suitable for implementing a \"sandbox\". In " +"particular, malicious code can trivially disable or bypass hooks added using " +"this function. At a minimum, any security-sensitive hooks must be added " +"using the C API :c:func:`PySys_AddAuditHook` before initialising the " +"runtime, and any modules allowing arbitrary memory modification (such as :" +"mod:`ctypes`) should be completely removed or closely monitored." +msgstr "" + +#: library/sys.rst:47 #, fuzzy msgid "" "Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " @@ -80,7 +92,7 @@ msgstr "" "Déclenche un :ref:`événement d'audit ` ``sys.addaudithook`` sans " "arguments." -#: library/sys.rst:40 +#: library/sys.rst:49 msgid "" "Calling :func:`sys.addaudithook` will itself raise an auditing event named " "``sys.addaudithook`` with no arguments. If any existing hooks raise an " @@ -95,7 +107,7 @@ msgstr "" "peuvent pas supposer que leurs points d'entrées ont été ajoutés à moins de " "contrôler tous les points d'entrées existants." -#: library/sys.rst:47 +#: library/sys.rst:56 msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython, and :pep:`578` for the original design discussion." @@ -104,7 +116,7 @@ msgstr "" "événements levés par CPython et :pep:`578` pour la discussion originale de " "ce design." -#: library/sys.rst:54 +#: library/sys.rst:63 msgid "" "Exceptions derived from :class:`Exception` but not :class:`RuntimeError` are " "no longer suppressed." @@ -112,7 +124,7 @@ msgstr "" "Les exceptions dérivées de :class:`Exception` mais pas :class:`RuntimeError` " "ne sont plus supprimées." -#: library/sys.rst:59 +#: library/sys.rst:68 msgid "" "When tracing is enabled (see :func:`settrace`), Python hooks are only traced " "if the callable has a ``__cantrace__`` member that is set to a true value. " @@ -122,7 +134,7 @@ msgstr "" "sont tracés que si la fonction a un membre ``__cantrace__`` dont la valeur " "est vraie. Autrement, les fonctions de traçage ignorent le *hook*." -#: library/sys.rst:66 +#: library/sys.rst:75 msgid "" "The list of command line arguments passed to a Python script. ``argv[0]`` is " "the script name (it is operating system dependent whether this is a full " @@ -138,7 +150,7 @@ msgstr "" "script n'a été donné à l'interpréteur Python, ``argv[0]`` sera une chaîne " "vide." -#: library/sys.rst:72 +#: library/sys.rst:81 msgid "" "To loop over the standard input, or the list of files given on the command " "line, see the :mod:`fileinput` module." @@ -146,11 +158,11 @@ msgstr "" "Pour boucler sur l'entrée standard, ou la liste des fichiers donnés sur la " "ligne de commande, utilisez le module :mod:`fileinput`." -#: library/sys.rst:75 +#: library/sys.rst:84 msgid "See also :data:`sys.orig_argv`." msgstr "" -#: library/sys.rst:78 +#: library/sys.rst:87 msgid "" "On Unix, command line arguments are passed by bytes from OS. Python decodes " "them with filesystem encoding and \"surrogateescape\" error handler. When " @@ -163,7 +175,7 @@ msgstr "" "vous avez besoin des octets originaux, vous pouvez les récupérer avec ``[os." "fsencode(arg) for arg in sys.argv]``." -#: library/sys.rst:90 +#: library/sys.rst:99 msgid "" "Raise an auditing event and trigger any active auditing hooks. *event* is a " "string identifying the event, and *args* may contain optional arguments with " @@ -178,7 +190,7 @@ msgstr "" "donné sont considérés comme une API publique et stable, et ne devraient pas " "être modifiés entre les versions." -#: library/sys.rst:96 +#: library/sys.rst:105 msgid "" "For example, one auditing event is named ``os.chdir``. This event has one " "argument called *path* that will contain the requested new working directory." @@ -186,7 +198,7 @@ msgstr "" "Par exemple, un événement d'audit est nommé ``os.chdir``. Cet événement à un " "argument appelé *path* qui contiendras le nouveau répertoire de travail." -#: library/sys.rst:100 +#: library/sys.rst:109 msgid "" ":func:`sys.audit` will call the existing auditing hooks, passing the event " "name and arguments, and will re-raise the first exception from any hook. In " @@ -204,7 +216,7 @@ msgstr "" "événements particuliers : Ils peuvent simplement *logger* l'événement ou " "arrêter l'opération en levant une exception." -#: library/sys.rst:108 +#: library/sys.rst:117 msgid "" "Hooks are added using the :func:`sys.addaudithook` or :c:func:" "`PySys_AddAuditHook` functions." @@ -212,7 +224,7 @@ msgstr "" "Les points d'entrées sont ajoutés en utilisant les fonctions :func:`sys." "addaudithook` ou :c:func:`PySys_AddAuditHook`." -#: library/sys.rst:111 +#: library/sys.rst:120 msgid "" "The native equivalent of this function is :c:func:`PySys_Audit`. Using the " "native function is preferred when possible." @@ -220,7 +232,7 @@ msgstr "" "L'équivalent natif de cette fonction est :c:func:`PySys_Audit`. " "L'utilisation de la fonction native est encouragée lorsque c'est possible." -#: library/sys.rst:114 +#: library/sys.rst:123 msgid "" "See the :ref:`audit events table ` for all events raised by " "CPython." @@ -228,7 +240,7 @@ msgstr "" "Voir le :ref:`tableau d'événements d'audit ` pour tous les " "événements levés par CPython." -#: library/sys.rst:122 +#: library/sys.rst:131 #, fuzzy msgid "" "Set during Python startup, before ``site.py`` is run, to the same value as :" @@ -248,7 +260,7 @@ msgstr "" "à la racine de l'installation de Python (celui utilisé pour créer " "l'environnement virtuel)." -#: library/sys.rst:136 +#: library/sys.rst:145 msgid "" "Set during Python startup, before ``site.py`` is run, to the same value as :" "data:`prefix`. If not running in a :ref:`virtual environment `, " @@ -267,7 +279,7 @@ msgstr "" "à la racine de l'installation de Python (celui utilisé pour créer " "l'environnement virtuel)." -#: library/sys.rst:149 +#: library/sys.rst:158 msgid "" "An indicator of the native byte order. This will have the value ``'big'`` " "on big-endian (most-significant byte first) platforms, and ``'little'`` on " @@ -278,7 +290,7 @@ msgstr "" "``'little'`` sur les plateformes petit-boutiste (octet le moins significatif " "en premier)." -#: library/sys.rst:156 +#: library/sys.rst:165 #, fuzzy msgid "" "A tuple of strings containing the names of all modules that are compiled " @@ -290,11 +302,11 @@ msgstr "" "disponible autrement --- ``modules.keys()`` liste seulement les modules " "importés.)" -#: library/sys.rst:160 +#: library/sys.rst:169 msgid "See also the :attr:`sys.stdlib_module_names` list." msgstr "" -#: library/sys.rst:165 +#: library/sys.rst:174 msgid "" "Call ``func(*args)``, while tracing is enabled. The tracing state is saved, " "and restored afterwards. This is intended to be called from a debugger from " @@ -305,11 +317,11 @@ msgstr "" "un débogueur à partir d'un point de contrôle, pour déboguer récursivement un " "autre code." -#: library/sys.rst:172 +#: library/sys.rst:181 msgid "A string containing the copyright pertaining to the Python interpreter." msgstr "Une chaîne contenant le copyright relatif à l'interpréteur Python." -#: library/sys.rst:177 +#: library/sys.rst:186 msgid "" "Clear the internal type cache. The type cache is used to speed up attribute " "and method lookups. Use the function *only* to drop unnecessary references " @@ -320,14 +332,14 @@ msgstr "" "pour libérer des références inutiles durant le débogage de fuite de " "référence." -#: library/sys.rst:197 library/sys.rst:210 +#: library/sys.rst:206 library/sys.rst:219 msgid "" "This function should be used for internal and specialized purposes only." msgstr "" "Cette fonction ne devrait être utilisée que pour un usage interne et " "spécialisé." -#: library/sys.rst:186 +#: library/sys.rst:195 msgid "" "Return a dictionary mapping each thread's identifier to the topmost stack " "frame currently active in that thread at the time the function is called. " @@ -339,7 +351,7 @@ msgstr "" "au moment où la fonction est appelée. Notez que les fonctions du module :mod:" "`traceback` peuvent construire une *call stack* à partir d'une telle *frame*." -#: library/sys.rst:191 +#: library/sys.rst:200 msgid "" "This is most useful for debugging deadlock: this function does not require " "the deadlocked threads' cooperation, and such threads' call stacks are " @@ -354,7 +366,7 @@ msgstr "" "l'activité courante du fil d'exécution au moment où le code appelant examine " "la *frame*." -#: library/sys.rst:199 +#: library/sys.rst:208 msgid "" "Raises an :ref:`auditing event ` ``sys._current_frames`` with no " "arguments." @@ -362,7 +374,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``sys._current_frames`` sans " "arguments." -#: library/sys.rst:203 +#: library/sys.rst:212 #, fuzzy msgid "" "Return a dictionary mapping each thread's identifier to the topmost " @@ -375,17 +387,17 @@ msgstr "" "au moment où la fonction est appelée. Notez que les fonctions du module :mod:" "`traceback` peuvent construire une *call stack* à partir d'une telle *frame*." -#: library/sys.rst:208 +#: library/sys.rst:217 msgid "This is most useful for statistical profiling." msgstr "" -#: library/sys.rst:212 +#: library/sys.rst:221 msgid "" "Raises an :ref:`auditing event ` ``sys._current_exceptions`` with " "no arguments." msgstr "" -#: library/sys.rst:216 +#: library/sys.rst:225 msgid "" "This hook function is called by built-in :func:`breakpoint`. By default, it " "drops you into the :mod:`pdb` debugger, but it can be set to any other " @@ -396,7 +408,7 @@ msgstr "" "débogueur :mod:`pdb`, mais elle peut être dirigée vers n'importe quelle " "autre fonction pour que vous puissiez choisir le débogueur utilisé." -#: library/sys.rst:220 +#: library/sys.rst:229 msgid "" "The signature of this function is dependent on what it calls. For example, " "the default binding (e.g. ``pdb.set_trace()``) expects no arguments, but you " @@ -412,7 +424,7 @@ msgstr "" "``breakpoint()`` passe ses ``*args`` et ``**kws`` directement au travers. " "Tout ce que renvoie ``breakpointhooks()`` est renvoyé par ``breakpoint()``." -#: library/sys.rst:227 +#: library/sys.rst:236 msgid "" "The default implementation first consults the environment variable :envvar:" "`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this function returns " @@ -437,7 +449,7 @@ msgstr "" "quoique renvoie ``function()``, ``sys.breakpointhook()`` retourne à la " "fonction native :func:`breakpoint`." -#: library/sys.rst:239 +#: library/sys.rst:248 msgid "" "Note that if anything goes wrong while importing the callable named by :" "envvar:`PYTHONBREAKPOINT`, a :exc:`RuntimeWarning` is reported and the " @@ -447,7 +459,7 @@ msgstr "" "nommée dans :envvar:`PYTHONBREAKPOINT`, une alerte :exc:`RuntimeWarning` est " "indiquée et le point d'arrêt est ignoré." -#: library/sys.rst:243 +#: library/sys.rst:252 msgid "" "Also note that if ``sys.breakpointhook()`` is overridden programmatically, :" "envvar:`PYTHONBREAKPOINT` is *not* consulted." @@ -455,7 +467,7 @@ msgstr "" "Notez également que si ``sys.breakpointhook()`` est surchargé de manière " "programmatique, :envvar:`PYTHONBREAKPOINT` *n'est pas* consulté." -#: library/sys.rst:250 +#: library/sys.rst:259 msgid "" "Print low-level information to stderr about the state of CPython's memory " "allocator." @@ -463,7 +475,7 @@ msgstr "" "Affiche des informations bas-niveau sur la sortie d'erreur à propos de " "l'état de l'allocateur de mémoire de CPython." -#: library/sys.rst:253 +#: library/sys.rst:262 #, fuzzy msgid "" "If Python is :ref:`built in debug mode ` (:option:`configure --" @@ -473,7 +485,7 @@ msgstr "" "Si Python est configuré avec l'option *--with-pydebug*, il effectuera aussi " "quelques coûteuses vérifications de cohérence interne." -#: library/sys.rst:261 +#: library/sys.rst:270 msgid "" "This function is specific to CPython. The exact output format is not " "defined here, and may change." @@ -481,15 +493,15 @@ msgstr "" "Cette fonction est spécifique à CPython. Le format de sa sortie n'est pas " "définit ici et pourrait changer." -#: library/sys.rst:267 +#: library/sys.rst:276 msgid "Integer specifying the handle of the Python DLL." msgstr "Nombre entier spécifiant le descripteur de la DLL Python." -#: library/sys.rst:819 library/sys.rst:1748 +#: library/sys.rst:834 library/sys.rst:1763 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilité ` : Windows." -#: library/sys.rst:274 +#: library/sys.rst:283 msgid "" "If *value* is not ``None``, this function prints ``repr(value)`` to ``sys." "stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is not " @@ -504,7 +516,7 @@ msgstr "" "probablement ``'strict'``), elle sera encodée avec ``sys.stdout.encoding`` " "en utilisant le gestionnaire d'erreur ``'backslashreplace'``." -#: library/sys.rst:280 +#: library/sys.rst:289 msgid "" "``sys.displayhook`` is called on the result of evaluating an :term:" "`expression` entered in an interactive Python session. The display of these " @@ -516,17 +528,17 @@ msgstr "" "valeurs peut être personnalisé en assignant une autre fonction d'un argument " "à ``sys.displayhook``." -#: library/sys.rst:284 +#: library/sys.rst:293 msgid "Pseudo-code::" msgstr "Pseudo-code ::" -#: library/sys.rst:304 +#: library/sys.rst:313 msgid "Use ``'backslashreplace'`` error handler on :exc:`UnicodeEncodeError`." msgstr "" "Utiliser le gestionnaire d'erreur ``'backslashreplace'`` en cas d':exc:" "`UnicodeEncodeError`." -#: library/sys.rst:310 +#: library/sys.rst:319 msgid "" "If this is true, Python won't try to write ``.pyc`` files on the import of " "source modules. This value is initially set to ``True`` or ``False`` " @@ -541,7 +553,7 @@ msgstr "" "pouvez aussi la modifier vous-même pour contrôler la génération des fichiers " "de *bytecode*." -#: library/sys.rst:319 +#: library/sys.rst:328 msgid "" "If this is set (not ``None``), Python will write bytecode-cache ``.pyc`` " "files to (and read them from) a parallel directory tree rooted at this " @@ -552,12 +564,12 @@ msgid "" "with the same pycache prefix (if any) that you will use at runtime." msgstr "" -#: library/sys.rst:327 +#: library/sys.rst:336 msgid "" "A relative path is interpreted relative to the current working directory." msgstr "Un chemin relatif est interprété relativement au répertoire courant." -#: library/sys.rst:329 +#: library/sys.rst:338 msgid "" "This value is initially set based on the value of the :option:`-X` " "``pycache_prefix=PATH`` command-line option or the :envvar:" @@ -570,14 +582,14 @@ msgstr "" "prioritaire). Si aucune des deux options n'est définie, alors la valeur est " "``None``." -#: library/sys.rst:339 +#: library/sys.rst:348 msgid "" "This function prints out a given traceback and exception to ``sys.stderr``." msgstr "" "Cette fonction affiche la *traceback* et l'exception donnée sur ``sys." "stderr``." -#: library/sys.rst:341 +#: library/sys.rst:350 msgid "" "When an exception is raised and uncaught, the interpreter calls ``sys." "excepthook`` with three arguments, the exception class, exception instance, " @@ -595,7 +607,7 @@ msgstr "" "quitte. La gestion de ces exceptions peut être personnalisé en affectant une " "autre fonction de trois arguments à ``sys.excepthook``." -#: library/sys.rst:348 +#: library/sys.rst:357 msgid "" "Raises an :ref:`auditing event ` ``sys.excepthook`` with arguments " "``hook``, ``type``, ``value``, ``traceback``." @@ -603,7 +615,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``sys.excepthook`` avec les " "arguments ``hook``, ``type``, ``value``, ``traceback``." -#: library/sys.rst:350 +#: library/sys.rst:359 msgid "" "Raise an auditing event ``sys.excepthook`` with arguments ``hook``, " "``type``, ``value``, ``traceback`` when an uncaught exception occurs. If no " @@ -620,7 +632,7 @@ msgstr "" "l'exception du point d'entrée d'audit sera reporté comme *non levable* " "(**unraisable** en anglais) et ``sys.excepthook`` sera appelé." -#: library/sys.rst:359 +#: library/sys.rst:368 msgid "" "The :func:`sys.unraisablehook` function handles unraisable exceptions and " "the :func:`threading.excepthook` function handles exception raised by :func:" @@ -630,7 +642,7 @@ msgstr "" "la fonction :func:`threading.excepthook` gère les exceptions levées par :" "func:`threading.Thread.run`." -#: library/sys.rst:369 +#: library/sys.rst:378 msgid "" "These objects contain the original values of ``breakpointhook``, " "``displayhook``, ``excepthook``, and ``unraisablehook`` at the start of the " @@ -644,15 +656,15 @@ msgstr "" "``excepthook`` et ``unraisablehook`` puissent être restaurés au cas où ils " "seraient remplacés par des objets cassés ou alternatifs." -#: library/sys.rst:375 +#: library/sys.rst:384 msgid "__breakpointhook__" msgstr "``__breakpointhook__``" -#: library/sys.rst:378 +#: library/sys.rst:387 msgid "__unraisablehook__" msgstr "``__unraisablehook__``" -#: library/sys.rst:383 +#: library/sys.rst:392 msgid "" "This function returns a tuple of three values that give information about " "the exception that is currently being handled. The information returned is " @@ -672,7 +684,7 @@ msgstr "" "signifie \"exécute une clause *except*\". Pour chaque *stack frame*, seule " "l'information à propos d'une exception actuellement traitée est accessible." -#: library/sys.rst:394 +#: library/sys.rst:403 msgid "" "If no exception is being handled anywhere on the stack, a tuple containing " "three ``None`` values is returned. Otherwise, the values returned are " @@ -691,7 +703,7 @@ msgstr "" "encapsule la pile d'appels au point où l'exception s'est produite à " "l'origine." -#: library/sys.rst:405 +#: library/sys.rst:414 msgid "" "A string giving the site-specific directory prefix where the platform-" "dependent Python files are installed; by default, this is also ``'/usr/" @@ -712,7 +724,7 @@ msgstr "" "python{X.Y}/lib-dynload`, où *X.Y* est le numéro de version de Python, par " "exemple ``3.2``." -#: library/sys.rst:416 +#: library/sys.rst:425 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " @@ -723,7 +735,7 @@ msgstr "" "modifiée par ``site.py`` pour pointer vers l'environnement virtuel. La " "valeur d'origine sera toujours disponible via :data:`base_exec_prefix`." -#: library/sys.rst:424 +#: library/sys.rst:433 msgid "" "A string giving the absolute path of the executable binary for the Python " "interpreter, on systems where this makes sense. If Python is unable to " @@ -735,13 +747,13 @@ msgstr "" "n'est pas capable de récupérer le chemin réel de son exécutable, :data:`sys." "executable` sera une chaîne vide ou ``None``." -#: library/sys.rst:432 +#: library/sys.rst:441 msgid "" "Raise a :exc:`SystemExit` exception, signaling an intention to exit the " "interpreter." msgstr "" -#: library/sys.rst:434 +#: library/sys.rst:443 msgid "" "The optional argument *arg* can be an integer giving the exit status " "(defaulting to zero), or another type of object. If it is an integer, zero " @@ -770,7 +782,7 @@ msgstr "" "1. Typiquement, ``sys.exit(\"some error message\")`` est un moyen rapide de " "quitter un programme en cas d'erreur." -#: library/sys.rst:447 +#: library/sys.rst:456 #, fuzzy msgid "" "Since :func:`exit` ultimately \"only\" raises an exception, it will only " @@ -785,7 +797,7 @@ msgstr "" "est aussi possible d'intercepter la tentative de sortie à un niveau au " "dessus." -#: library/sys.rst:452 +#: library/sys.rst:461 msgid "" "If an error occurs in the cleanup after the Python interpreter has caught :" "exc:`SystemExit` (such as an error flushing buffered data in the standard " @@ -795,7 +807,7 @@ msgstr "" "intercepté un :exc:`SystemExit` (typiquement une erreur en vidant les " "tampons des sorties standard), le code de sortie est changé à 120." -#: library/sys.rst:460 +#: library/sys.rst:469 msgid "" "The :term:`named tuple` *flags* exposes the status of command line flags. " "The attributes are read only." @@ -803,159 +815,159 @@ msgstr "" "La :term:`named tuple` *flags* expose l'état des options de ligne de " "commande. Ces attributs sont en lecture seule." -#: library/sys.rst:517 library/sys.rst:864 +#: library/sys.rst:526 library/sys.rst:879 msgid "attribute" msgstr "attribut" -#: library/sys.rst:464 +#: library/sys.rst:473 msgid "flag" msgstr "option" -#: library/sys.rst:466 +#: library/sys.rst:475 msgid ":const:`debug`" msgstr ":const:`debug`" -#: library/sys.rst:466 +#: library/sys.rst:475 msgid ":option:`-d`" msgstr ":option:`-d`" -#: library/sys.rst:467 +#: library/sys.rst:476 msgid ":const:`inspect`" msgstr ":const:`inspect`" -#: library/sys.rst:468 +#: library/sys.rst:477 msgid ":option:`-i`" msgstr ":option:`-i`" -#: library/sys.rst:468 +#: library/sys.rst:477 msgid ":const:`interactive`" msgstr ":const:`interactive`" -#: library/sys.rst:469 +#: library/sys.rst:478 msgid ":const:`isolated`" msgstr ":const:`isolated`" -#: library/sys.rst:469 +#: library/sys.rst:478 msgid ":option:`-I`" msgstr ":option:`-I`" -#: library/sys.rst:470 +#: library/sys.rst:479 msgid ":const:`optimize`" msgstr ":const:`optimize`" -#: library/sys.rst:470 +#: library/sys.rst:479 msgid ":option:`-O` or :option:`-OO`" msgstr ":option:`-O` or :option:`-OO`" -#: library/sys.rst:471 +#: library/sys.rst:480 msgid ":const:`dont_write_bytecode`" msgstr ":const:`dont_write_bytecode`" -#: library/sys.rst:471 +#: library/sys.rst:480 msgid ":option:`-B`" msgstr ":option:`-B`" -#: library/sys.rst:472 +#: library/sys.rst:481 msgid ":const:`no_user_site`" msgstr ":const:`no_user_site`" -#: library/sys.rst:472 +#: library/sys.rst:481 msgid ":option:`-s`" msgstr ":option:`-s`" -#: library/sys.rst:473 +#: library/sys.rst:482 msgid ":const:`no_site`" msgstr ":const:`no_site`" -#: library/sys.rst:473 +#: library/sys.rst:482 msgid ":option:`-S`" msgstr ":option:`-S`" -#: library/sys.rst:474 +#: library/sys.rst:483 msgid ":const:`ignore_environment`" msgstr ":const:`ignore_environment`" -#: library/sys.rst:474 +#: library/sys.rst:483 msgid ":option:`-E`" msgstr ":option:`-E`" -#: library/sys.rst:475 +#: library/sys.rst:484 msgid ":const:`verbose`" msgstr ":const:`verbose`" -#: library/sys.rst:475 +#: library/sys.rst:484 msgid ":option:`-v`" msgstr ":option:`-v`" -#: library/sys.rst:476 +#: library/sys.rst:485 msgid ":const:`bytes_warning`" msgstr ":const:`bytes_warning`" -#: library/sys.rst:476 +#: library/sys.rst:485 msgid ":option:`-b`" msgstr ":option:`-b`" -#: library/sys.rst:477 +#: library/sys.rst:486 msgid ":const:`quiet`" msgstr ":const:`quiet`" -#: library/sys.rst:477 +#: library/sys.rst:486 msgid ":option:`-q`" msgstr ":option:`-q`" -#: library/sys.rst:478 +#: library/sys.rst:487 msgid ":const:`hash_randomization`" msgstr ":const:`hash_randomization`" -#: library/sys.rst:478 +#: library/sys.rst:487 msgid ":option:`-R`" msgstr ":option:`-R`" -#: library/sys.rst:479 +#: library/sys.rst:488 msgid ":const:`dev_mode`" msgstr ":const:`dev_mode`" -#: library/sys.rst:479 +#: library/sys.rst:488 msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" msgstr ":option:`-X dev <-X>` (:ref:`Python en mode développement `)" -#: library/sys.rst:480 +#: library/sys.rst:489 msgid ":const:`utf8_mode`" msgstr ":const:`utf8_mode`" -#: library/sys.rst:480 +#: library/sys.rst:489 msgid ":option:`-X utf8 <-X>`" msgstr ":option:`-X utf8 <-X>`" -#: library/sys.rst:481 +#: library/sys.rst:490 #, fuzzy msgid ":const:`int_max_str_digits`" msgstr ":const:`bits_per_digit`" -#: library/sys.rst:481 +#: library/sys.rst:490 msgid "" ":option:`-X int_max_str_digits <-X>` (:ref:`integer string conversion length " "limitation `)" msgstr "" -#: library/sys.rst:484 +#: library/sys.rst:493 msgid "Added ``quiet`` attribute for the new :option:`-q` flag." msgstr "Ajout de l'attribut ``quiet`` pour la nouvelle option :option:`-q`." -#: library/sys.rst:487 +#: library/sys.rst:496 msgid "The ``hash_randomization`` attribute." msgstr "L'attribut ``hash_randomization``." -#: library/sys.rst:490 +#: library/sys.rst:499 msgid "Removed obsolete ``division_warning`` attribute." msgstr "Suppression de l'attribut obsolète ``division_warning``." -#: library/sys.rst:493 +#: library/sys.rst:502 msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." msgstr "" "Ajout de l'attribut ``isolated`` pour l'option :option:`-I` ``isolated``." -#: library/sys.rst:496 +#: library/sys.rst:505 msgid "" "Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " "` and the ``utf8_mode`` attribute for the new :option:`-X` " @@ -965,12 +977,12 @@ msgstr "" "Python ` et l'attribut ``utf8_mode`` pour la nouvelle option :" "option:`-X` ``utf8``." -#: library/sys.rst:501 +#: library/sys.rst:510 #, fuzzy msgid "Added the ``int_max_str_digits`` attribute." msgstr "Suppression de l'attribut obsolète ``division_warning``." -#: library/sys.rst:507 +#: library/sys.rst:516 msgid "" "A :term:`named tuple` holding information about the float type. It contains " "low level information about the precision and internal representation. The " @@ -987,23 +999,25 @@ msgstr "" "section 5.2.4.2.2 de *1999 ISO/IEC C standard* [C99]_, *Characteristics of " "floating types*, pour plus de détails." -#: library/sys.rst:517 +#: library/sys.rst:526 msgid "float.h macro" msgstr "macro *float.h*" -#: library/sys.rst:864 +#: library/sys.rst:879 msgid "explanation" msgstr "explication" -#: library/sys.rst:519 -msgid ":const:`epsilon`" +#: library/sys.rst:528 +#, fuzzy +msgid "``epsilon``" msgstr ":const:`epsilon`" -#: library/sys.rst:519 -msgid "DBL_EPSILON" +#: library/sys.rst:528 +#, fuzzy +msgid "``DBL_EPSILON``" msgstr "DBL_EPSILON" -#: library/sys.rst:519 +#: library/sys.rst:528 msgid "" "difference between 1.0 and the least value greater than 1.0 that is " "representable as a float" @@ -1011,19 +1025,20 @@ msgstr "" "différence entre 1.0 et la plus petite valeur plus grande que 1.0 " "représentable en *float*" -#: library/sys.rst:522 +#: library/sys.rst:531 msgid "See also :func:`math.ulp`." msgstr "Voir aussi : :func:`math.ulp`." -#: library/sys.rst:524 -msgid ":const:`dig`" -msgstr ":const:`dig`" +#: library/sys.rst:533 +msgid "``dig``" +msgstr "" -#: library/sys.rst:524 -msgid "DBL_DIG" +#: library/sys.rst:533 +#, fuzzy +msgid "``DBL_DIG``" msgstr "DBL_DIG" -#: library/sys.rst:524 +#: library/sys.rst:533 msgid "" "maximum number of decimal digits that can be faithfully represented in a " "float; see below" @@ -1031,15 +1046,17 @@ msgstr "" "nombre maximum de décimales pouvant être représentées fidèlement dans un " "*float* (voir ci-dessous)" -#: library/sys.rst:527 -msgid ":const:`mant_dig`" +#: library/sys.rst:536 +#, fuzzy +msgid "``mant_dig``" msgstr ":const:`mant_dig`" -#: library/sys.rst:527 -msgid "DBL_MANT_DIG" +#: library/sys.rst:536 +#, fuzzy +msgid "``DBL_MANT_DIG``" msgstr "DBL_MANT_DIG" -#: library/sys.rst:527 +#: library/sys.rst:536 msgid "" "float precision: the number of base-``radix`` digits in the significand of a " "float" @@ -1047,27 +1064,30 @@ msgstr "" "précision : nombre de *base-*\\ ``radix`` chiffres dans la mantisse du " "*float*" -#: library/sys.rst:530 -msgid ":const:`max`" -msgstr ":const:`max`" +#: library/sys.rst:539 +msgid "``max``" +msgstr "" -#: library/sys.rst:530 -msgid "DBL_MAX" +#: library/sys.rst:539 +#, fuzzy +msgid "``DBL_MAX``" msgstr "DBL_MAX" -#: library/sys.rst:530 +#: library/sys.rst:539 msgid "maximum representable positive finite float" msgstr "plus grand ``float`` fini représentable positif" -#: library/sys.rst:532 -msgid ":const:`max_exp`" +#: library/sys.rst:541 +#, fuzzy +msgid "``max_exp``" msgstr ":const:`max_exp`" -#: library/sys.rst:532 -msgid "DBL_MAX_EXP" +#: library/sys.rst:541 +#, fuzzy +msgid "``DBL_MAX_EXP``" msgstr "DBL_MAX_EXP" -#: library/sys.rst:532 +#: library/sys.rst:541 msgid "" "maximum integer *e* such that ``radix**(e-1)`` is a representable finite " "float" @@ -1075,15 +1095,17 @@ msgstr "" "plus grand nombre entier *e* tel que ``radix**(e-1)`` soit un nombre à " "virgule flottante représentable fini" -#: library/sys.rst:535 -msgid ":const:`max_10_exp`" +#: library/sys.rst:544 +#, fuzzy +msgid "``max_10_exp``" msgstr ":const:`max_10_exp`" -#: library/sys.rst:535 -msgid "DBL_MAX_10_EXP" +#: library/sys.rst:544 +#, fuzzy +msgid "``DBL_MAX_10_EXP``" msgstr "DBL_MAX_10_EXP" -#: library/sys.rst:535 +#: library/sys.rst:544 msgid "" "maximum integer *e* such that ``10**e`` is in the range of representable " "finite floats" @@ -1091,20 +1113,21 @@ msgstr "" "plus grand nombre entier *e* tel que ``10**e`` est dans l'intervalle des " "nombre flottants finis représentables" -#: library/sys.rst:538 -msgid ":const:`min`" -msgstr ":const:`min`" +#: library/sys.rst:547 +msgid "``min``" +msgstr "" -#: library/sys.rst:538 -msgid "DBL_MIN" +#: library/sys.rst:547 +#, fuzzy +msgid "``DBL_MIN``" msgstr "DBL_MIN" -#: library/sys.rst:538 +#: library/sys.rst:547 msgid "minimum representable positive *normalized* float" msgstr "" "plus petit nombre à virgule flottante positif *normalisé* représentable" -#: library/sys.rst:540 +#: library/sys.rst:549 msgid "" "Use :func:`math.ulp(0.0) ` to get the smallest positive " "*denormalized* representable float." @@ -1112,61 +1135,70 @@ msgstr "" "Utilisez :func:`math.ulp(0.0) ` pour obtenir le plus petit nombre " "a virgule positif *dénormalisé* représentable." -#: library/sys.rst:544 -msgid ":const:`min_exp`" +#: library/sys.rst:553 +#, fuzzy +msgid "``min_exp``" msgstr ":const:`min_exp`" -#: library/sys.rst:544 -msgid "DBL_MIN_EXP" +#: library/sys.rst:553 +#, fuzzy +msgid "``DBL_MIN_EXP``" msgstr "DBL_MIN_EXP" -#: library/sys.rst:544 +#: library/sys.rst:553 msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" msgstr "" "plus petit entier *e* tel que ``radix**(e-1)`` est un nombre à virgule " "flottante normalisé" -#: library/sys.rst:547 -msgid ":const:`min_10_exp`" +#: library/sys.rst:556 +#, fuzzy +msgid "``min_10_exp``" msgstr ":const:`min_10_exp`" -#: library/sys.rst:547 -msgid "DBL_MIN_10_EXP" +#: library/sys.rst:556 +#, fuzzy +msgid "``DBL_MIN_10_EXP``" msgstr "DBL_MIN_10_EXP" -#: library/sys.rst:547 +#: library/sys.rst:556 #, fuzzy msgid "minimum integer *e* such that ``10**e`` is a normalized float" msgstr "" "plus petit nombre entier *e* tel que ``10**e`` est un nombre à virgule " "flottante normalisé" -#: library/sys.rst:550 -msgid ":const:`radix`" +#: library/sys.rst:559 +#, fuzzy +msgid "``radix``" msgstr ":const:`radix`" -#: library/sys.rst:550 -msgid "FLT_RADIX" +#: library/sys.rst:559 +#, fuzzy +msgid "``FLT_RADIX``" msgstr "FLT_RADIX" -#: library/sys.rst:550 +#: library/sys.rst:559 msgid "radix of exponent representation" msgstr "base de la représentation de l'exposant" -#: library/sys.rst:552 -msgid ":const:`rounds`" +#: library/sys.rst:561 +#, fuzzy +msgid "``rounds``" msgstr ":const:`rounds`" -#: library/sys.rst:552 -msgid "FLT_ROUNDS" +#: library/sys.rst:561 +#, fuzzy +msgid "``FLT_ROUNDS``" msgstr "FLT_ROUNDS" -#: library/sys.rst:552 +#: library/sys.rst:561 +#, fuzzy msgid "" -"integer constant representing the rounding mode used for arithmetic " -"operations. This reflects the value of the system FLT_ROUNDS macro at " -"interpreter startup time. See section 5.2.4.2.2 of the C99 standard for an " -"explanation of the possible values and their meanings." +"integer representing the rounding mode for floating-point arithmetic. This " +"reflects the value of the system ``FLT_ROUNDS`` macro at interpreter startup " +"time: ``-1`` indeterminable, ``0`` toward zero, ``1`` to nearest, ``2`` " +"toward positive infinity, ``3`` toward negative infinity" msgstr "" "constante, nombre entier représentant le mode d'arrondi utilisé pour les " "opérations arithmétiques. Elle reflète la valeur de la macro système " @@ -1174,7 +1206,13 @@ msgstr "" "5.2.4.4.2.2 de la norme C99 pour une explication des valeurs possibles et de " "leurs significations." -#: library/sys.rst:560 +#: library/sys.rst:571 +msgid "" +"All other values for ``FLT_ROUNDS`` characterize implementation-defined " +"rounding behavior." +msgstr "" + +#: library/sys.rst:575 msgid "" "The attribute :attr:`sys.float_info.dig` needs further explanation. If " "``s`` is any string representing a decimal number with at most :attr:`sys." @@ -1186,7 +1224,7 @@ msgstr "" "float_info.dig` chiffres significatifs, alors, convertir ``s`` en un nombre " "à virgule flottante puis à nouveau en chaîne redonnera la même valeur ::" -#: library/sys.rst:573 +#: library/sys.rst:588 msgid "" "But for strings with more than :attr:`sys.float_info.dig` significant " "digits, this isn't always true::" @@ -1194,7 +1232,7 @@ msgstr "" "Cependant, pour les chaînes avec plus de :attr:`sys.float_info.dig` chiffres " "significatifs, ce n'est pas toujours vrai ::" -#: library/sys.rst:582 +#: library/sys.rst:597 msgid "" "A string indicating how the :func:`repr` function behaves for floats. If " "the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " @@ -1210,7 +1248,7 @@ msgstr "" "Python 3.1. Autrement, ``float_repr_style`` a la valeur ``'legacy'`` et\n" "``repr(x)`` se comporte comme les versions antérieures à 3.1." -#: library/sys.rst:595 +#: library/sys.rst:610 msgid "" "Return the number of memory blocks currently allocated by the interpreter, " "regardless of their size. This function is mainly useful for tracking and " @@ -1226,7 +1264,7 @@ msgstr "" "`_clear_type_cache()` et :func:`gc.collect()` peut permettre d'obtenir des " "résultats plus prévisibles." -#: library/sys.rst:602 +#: library/sys.rst:617 msgid "" "If a Python build or implementation cannot reasonably compute this " "information, :func:`getallocatedblocks()` is allowed to return 0 instead." @@ -1234,17 +1272,17 @@ msgstr "" "Si Python n'arrive pas a calculer raisonnablement cette information, :func:" "`getallocatedblocks()` est autorisé à renvoyer 0 à la place." -#: library/sys.rst:610 +#: library/sys.rst:625 msgid "Return the build time API version of Android as an integer." msgstr "" "Renvoie la version de l'API Android utilisée pour compiler sous forme d'un " "entier." -#: library/sys.rst:613 +#: library/sys.rst:628 msgid ":ref:`Availability `: Android." msgstr ":ref:`Disponibilité ` : Android." -#: library/sys.rst:619 +#: library/sys.rst:634 msgid "" "Return the name of the current default string encoding used by the Unicode " "implementation." @@ -1252,7 +1290,7 @@ msgstr "" "Renvoie le nom du codage par défaut actuellement utilisé par " "l'implémentation *Unicode* pour coder les chaînes." -#: library/sys.rst:625 +#: library/sys.rst:640 msgid "" "Return the current value of the flags that are used for :c:func:`dlopen` " "calls. Symbolic names for the flag values can be found in the :mod:`os` " @@ -1262,11 +1300,11 @@ msgstr "" "`dlopen`. Les noms symboliques valeurs peuvent être trouvées dans le module :" "mod:`os`. (Ce sont les constantes ``RTLD_xxx`` e.g. :data:`os.RTLD_LAZY`)." -#: library/sys.rst:1279 +#: library/sys.rst:1294 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilité ` : Unix." -#: library/sys.rst:635 +#: library/sys.rst:650 #, fuzzy msgid "" "Get the :term:`filesystem encoding `: " @@ -1279,7 +1317,7 @@ msgstr "" "noms de fichiers entre Unicode et octets. Le nom de l'encodage est renvoyé " "par :func:`getfilesystemencoding`." -#: library/sys.rst:641 +#: library/sys.rst:656 #, fuzzy msgid "" "For best compatibility, str should be used for filenames in all cases, " @@ -1295,7 +1333,7 @@ msgstr "" "fichiers devraient supporter les deux (*str* ou *bytes*), et convertir en " "interne dans la représentation du système." -#: library/sys.rst:674 +#: library/sys.rst:689 msgid "" ":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " "the correct encoding and errors mode are used." @@ -1304,7 +1342,7 @@ msgstr "" "utilisées pour s'assurer qu'un encodage et un gestionnaire d'erreurs correct " "sont utilisés." -#: library/sys.rst:677 +#: library/sys.rst:692 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " "startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." @@ -1317,11 +1355,11 @@ msgstr "" "`~PyConfig.filesystem_encoding` et :c:member:`~PyConfig.filesystem_errors` " "dans les membres de :c:type:`PyConfig`." -#: library/sys.rst:654 +#: library/sys.rst:669 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." msgstr ":func:`getfilesystemencoding` ne peut plus renvoyer ``None``." -#: library/sys.rst:657 +#: library/sys.rst:672 msgid "" "Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and :" "func:`_enablelegacywindowsfsencoding` for more information." @@ -1329,12 +1367,12 @@ msgstr "" "Sur Windows, on est plus assurés d'obtenir ``'mbcs'``. Voir la :pep:`529` " "et :func:`_enablelegacywindowsfsencoding` pour plus d'informations." -#: library/sys.rst:661 +#: library/sys.rst:676 msgid "" "Return ``'utf-8'`` if the :ref:`Python UTF-8 Mode ` is enabled." msgstr "" -#: library/sys.rst:668 +#: library/sys.rst:683 #, fuzzy msgid "" "Get the :term:`filesystem error handler `. See also :func:`set_int_max_str_digits`." msgstr "" -#: library/sys.rst:693 +#: library/sys.rst:708 msgid "" "Return the reference count of the *object*. The count returned is generally " "one higher than you might expect, because it includes the (temporary) " @@ -1363,7 +1401,7 @@ msgstr "" "généralement d'une référence de plus qu'attendu, puisqu'il compte la " "référence (temporaire) de l'argument à :func:`getrefcount`." -#: library/sys.rst:700 +#: library/sys.rst:715 msgid "" "Return the current value of the recursion limit, the maximum depth of the " "Python interpreter stack. This limit prevents infinite recursion from " @@ -1375,7 +1413,7 @@ msgstr "" "d'une récursion infinie à cause d'un débordement de la pile. Elle peut être " "modifiée par :func:`setrecursionlimit`." -#: library/sys.rst:708 +#: library/sys.rst:723 msgid "" "Return the size of an object in bytes. The object can be any type of object. " "All built-in objects will return correct results, but this does not have to " @@ -1386,7 +1424,7 @@ msgstr "" "peut ne pas être toujours vrai pour les extensions, la valeur étant " "dépendante de l'implémentation." -#: library/sys.rst:713 +#: library/sys.rst:728 msgid "" "Only the memory consumption directly attributed to the object is accounted " "for, not the memory consumption of objects it refers to." @@ -1394,7 +1432,7 @@ msgstr "" "Seule la mémoire directement attribuée à l'objet est prise en compte, pas la " "mémoire consommée par les objets vers lesquels il a des références." -#: library/sys.rst:716 +#: library/sys.rst:731 msgid "" "If given, *default* will be returned if the object does not provide means to " "retrieve the size. Otherwise a :exc:`TypeError` will be raised." @@ -1402,7 +1440,7 @@ msgstr "" "S'il est fourni, *default* sera renvoyé si l'objet ne fournit aucun moyen de " "récupérer sa taille. Sinon, une exception :exc:`TypeError` sera levée." -#: library/sys.rst:719 +#: library/sys.rst:734 msgid "" ":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " "additional garbage collector overhead if the object is managed by the " @@ -1411,7 +1449,7 @@ msgstr "" ":func:`getsizeof` appelle la méthode ``__sizeof__`` de l'objet, et s'il est " "géré par lui, ajoute le surcoût du ramasse-miettes." -#: library/sys.rst:723 +#: library/sys.rst:738 msgid "" "See `recursive sizeof recipe `_ " "for an example of using :func:`getsizeof` recursively to find the size of " @@ -1421,7 +1459,7 @@ msgstr "" "recipes/577504>`_ pour un exemple d'utilisation récursive de :func:" "`getsizeof` pour trouver la taille d'un contenant et de son contenu." -#: library/sys.rst:729 +#: library/sys.rst:744 msgid "" "Return the interpreter's \"thread switch interval\"; see :func:" "`setswitchinterval`." @@ -1429,7 +1467,7 @@ msgstr "" "Renvoie la valeur du *thread switch interval* de l'interpréteur, voir :func:" "`setswitchinterval`." -#: library/sys.rst:737 +#: library/sys.rst:752 msgid "" "Return a frame object from the call stack. If optional integer *depth* is " "given, return the frame object that many calls below the top of the stack. " @@ -1443,13 +1481,13 @@ msgstr "" "exc:`ValueError` est levée. La profondeur par défaut est zéro, donnant ainsi " "la *frame* du dessus de la pile." -#: library/sys.rst:742 +#: library/sys.rst:757 msgid "" "Raises an :ref:`auditing event ` ``sys._getframe`` with no " "arguments." msgstr "" -#: library/sys.rst:746 +#: library/sys.rst:761 msgid "" "This function should be used for internal and specialized purposes only. It " "is not guaranteed to exist in all implementations of Python." @@ -1458,16 +1496,16 @@ msgstr "" "spécifique. Il n'est pas garanti qu'elle existe dans toutes les " "implémentations de Python." -#: library/sys.rst:756 +#: library/sys.rst:771 msgid "Get the profiler function as set by :func:`setprofile`." msgstr "" "Renvoie la fonction de profilage tel que défini par :func:`setprofile`." -#: library/sys.rst:765 +#: library/sys.rst:780 msgid "Get the trace function as set by :func:`settrace`." msgstr "Renvoie la fonction de traçage tel que définie par :func:`settrace`." -#: library/sys.rst:769 +#: library/sys.rst:784 msgid "" "The :func:`gettrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -1479,7 +1517,7 @@ msgstr "" "dépend de l'implémentation et non du langage, elle n'est donc pas forcément " "disponible dans toutes les implémentations de Python." -#: library/sys.rst:777 +#: library/sys.rst:792 msgid "" "Return a named tuple describing the Windows version currently running. The " "named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " @@ -1502,47 +1540,47 @@ msgstr "" "versions antérieures, seuls les 5 premiers éléments sont accessibles par " "leur indice." -#: library/sys.rst:788 +#: library/sys.rst:803 msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." msgstr "*platform* sera :const:`2 (VER_PLATFORM_WIN32_NT)`." -#: library/sys.rst:790 +#: library/sys.rst:805 msgid "*product_type* may be one of the following values:" msgstr "*product_type* peut être une des valeurs suivantes :" -#: library/sys.rst:793 +#: library/sys.rst:808 msgid "Constant" msgstr "Constante" -#: library/sys.rst:793 +#: library/sys.rst:808 msgid "Meaning" msgstr "Signification" -#: library/sys.rst:795 +#: library/sys.rst:810 msgid ":const:`1 (VER_NT_WORKSTATION)`" msgstr ":const:`1 (VER_NT_WORKSTATION)`" -#: library/sys.rst:795 +#: library/sys.rst:810 msgid "The system is a workstation." msgstr "Le système une station de travail." -#: library/sys.rst:797 +#: library/sys.rst:812 msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" -#: library/sys.rst:797 +#: library/sys.rst:812 msgid "The system is a domain controller." msgstr "Le système est un contrôleur de domaine." -#: library/sys.rst:800 +#: library/sys.rst:815 msgid ":const:`3 (VER_NT_SERVER)`" msgstr ":const:`3 (VER_NT_SERVER)`" -#: library/sys.rst:800 +#: library/sys.rst:815 msgid "The system is a server, but not a domain controller." msgstr "Le système est un serveur, mais pas un contrôleur de domaine." -#: library/sys.rst:804 +#: library/sys.rst:819 msgid "" "This function wraps the Win32 :c:func:`GetVersionEx` function; see the " "Microsoft documentation on :c:func:`OSVERSIONINFOEX` for more information " @@ -1553,7 +1591,7 @@ msgstr "" "de Microsoft sur :c:func:`OSVERSIONINFOEX` pour plus d'informations sur ces " "champs." -#: library/sys.rst:808 +#: library/sys.rst:823 #, fuzzy msgid "" "*platform_version* returns the major version, minor version and build number " @@ -1566,14 +1604,14 @@ msgstr "" "émulée pour ce processus. Il est destiné à être utilisé pour de la " "journalisation plutôt que pour la détection de fonctionnalités." -#: library/sys.rst:814 +#: library/sys.rst:829 msgid "" "*platform_version* derives the version from kernel32.dll which can be of a " "different version than the OS version. Please use :mod:`platform` module for " "achieving accurate OS version." msgstr "" -#: library/sys.rst:820 +#: library/sys.rst:835 msgid "" "Changed to a named tuple and added *service_pack_minor*, " "*service_pack_major*, *suite_mask*, and *product_type*." @@ -1581,11 +1619,11 @@ msgstr "" "Changé en un *n*-uplet nommé, et ajout de *service_pack_minor*, " "*service_pack_major*, *suite_mask*, et *product_type*." -#: library/sys.rst:824 +#: library/sys.rst:839 msgid "Added *platform_version*" msgstr "Ajout de *platform_version*" -#: library/sys.rst:830 +#: library/sys.rst:845 #, fuzzy msgid "" "Returns an *asyncgen_hooks* object, which is similar to a :class:" @@ -1602,11 +1640,11 @@ msgstr "" "pour planifier la finalisation d'un générateur asynchrone par un *event " "loop*." -#: library/sys.rst:837 +#: library/sys.rst:852 msgid "See :pep:`525` for more details." msgstr "Voir la :pep:`525` pour plus d'informations." -#: library/sys.rst:1481 +#: library/sys.rst:1496 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.)" @@ -1614,7 +1652,7 @@ msgstr "" "Cette fonction à été ajoutée à titre provisoire (voir la :pep:`411` pour " "plus d'informations.)" -#: library/sys.rst:847 +#: library/sys.rst:862 msgid "" "Get the current coroutine origin tracking depth, as set by :func:" "`set_coroutine_origin_tracking_depth`." @@ -1623,7 +1661,7 @@ msgstr "" "le suivi de leur création, telle que défini par :func:" "`set_coroutine_origin_tracking_depth`." -#: library/sys.rst:1502 +#: library/sys.rst:1517 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.) Use it only for debugging purposes." @@ -1631,7 +1669,7 @@ msgstr "" "Cette fonction à été ajoutée à titre provisoire (Voir la :pep:`411` pour " "plus d'informations.) Utilisez la uniquement à des fins de débogage." -#: library/sys.rst:859 +#: library/sys.rst:874 msgid "" "A :term:`named tuple` giving parameters of the numeric hash implementation. " "For more details about hashing of numeric types, see :ref:`numeric-hash`." @@ -1640,77 +1678,77 @@ msgstr "" "fonction de hachage de nombres. Pour plus d'informations sur le hachage des " "types numériques, consultez :ref:`numeric-hash`." -#: library/sys.rst:866 +#: library/sys.rst:881 msgid ":const:`width`" msgstr ":const:`width`" -#: library/sys.rst:866 +#: library/sys.rst:881 msgid "width in bits used for hash values" msgstr "Nombre de bits des valeurs de *hash*" -#: library/sys.rst:868 +#: library/sys.rst:883 msgid ":const:`modulus`" msgstr ":const:`modulus`" -#: library/sys.rst:868 +#: library/sys.rst:883 msgid "prime modulus P used for numeric hash scheme" msgstr "" "contient le premier P utilisé dans le modulo pour les *hash* numériques" -#: library/sys.rst:870 +#: library/sys.rst:885 msgid ":const:`inf`" msgstr ":const:`inf`" -#: library/sys.rst:870 +#: library/sys.rst:885 msgid "hash value returned for a positive infinity" msgstr "valeur du *hash* pour un infini positif" -#: library/sys.rst:872 +#: library/sys.rst:887 msgid ":const:`nan`" msgstr ":const:`nan`" -#: library/sys.rst:872 +#: library/sys.rst:887 msgid "(this attribute is no longer used)" msgstr "" -#: library/sys.rst:874 +#: library/sys.rst:889 msgid ":const:`imag`" msgstr ":const:`imag`" -#: library/sys.rst:874 +#: library/sys.rst:889 msgid "multiplier used for the imaginary part of a complex number" msgstr "multiplicateur utilisé pour la partie imaginaire d'un nombre complexe" -#: library/sys.rst:877 +#: library/sys.rst:892 msgid ":const:`algorithm`" msgstr ":const:`algorithm`" -#: library/sys.rst:877 +#: library/sys.rst:892 msgid "name of the algorithm for hashing of str, bytes, and memoryview" msgstr "" "nom de l'algorithme pour le hachage des *str*, *bytes*, et *memoryview*" -#: library/sys.rst:880 +#: library/sys.rst:895 msgid ":const:`hash_bits`" msgstr ":const:`hash_bits`" -#: library/sys.rst:880 +#: library/sys.rst:895 msgid "internal output size of the hash algorithm" msgstr "taille de la sortie interne de l'algorithme de hachage" -#: library/sys.rst:882 +#: library/sys.rst:897 msgid ":const:`seed_bits`" msgstr ":const:`seed_bits`" -#: library/sys.rst:882 +#: library/sys.rst:897 msgid "size of the seed key of the hash algorithm" msgstr "taille de la *seed key* utilisée par l'algorithme de hachage" -#: library/sys.rst:888 +#: library/sys.rst:903 msgid "Added *algorithm*, *hash_bits* and *seed_bits*" msgstr "Ajout de *algorithm*, *hash_bits* et *seed_bits*" -#: library/sys.rst:894 +#: library/sys.rst:909 msgid "" "The version number encoded as a single integer. This is guaranteed to " "increase with each version, including proper support for non-production " @@ -1722,7 +1760,7 @@ msgstr "" "Par exemple, pour vérifier que l'interpréteur Python est au moins la version " "1.5, utilisez ::" -#: library/sys.rst:905 +#: library/sys.rst:920 msgid "" "This is called ``hexversion`` since it only really looks meaningful when " "viewed as the result of passing it to the built-in :func:`hex` function. " @@ -1734,12 +1772,12 @@ msgstr "" "`hex`. Le :term:`named tuple` :data:`sys.version_info` représente la même " "information d'une manière plus humaine." -#: library/sys.rst:910 +#: library/sys.rst:925 msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." msgstr "" "Consultez :ref:`apiabiversion` pour plus d'informations sur ``hexversion``." -#: library/sys.rst:915 +#: library/sys.rst:930 msgid "" "An object containing information about the implementation of the currently " "running Python interpreter. The following attributes are required to exist " @@ -1749,7 +1787,7 @@ msgstr "" "actuelle de l'interpréteur Python. Les attributs suivants existent " "obligatoirement sur toutes les implémentations Python." -#: library/sys.rst:919 +#: library/sys.rst:934 msgid "" "*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " "string is defined by the Python implementation, but it is guaranteed to be " @@ -1759,7 +1797,7 @@ msgstr "" "chaîne est définie par l'implémentation de Python, mais sera toujours en " "minuscule." -#: library/sys.rst:923 +#: library/sys.rst:938 msgid "" "*version* is a named tuple, in the same format as :data:`sys.version_info`. " "It represents the version of the Python *implementation*. This has a " @@ -1779,7 +1817,7 @@ msgstr "" "valoir ``sys.version_info(2, 7, 2, 'final', 0)``. Pour CPython ces deux " "valeurs sont identiques puisque c'est l'implémentation de référence." -#: library/sys.rst:933 +#: library/sys.rst:948 msgid "" "*hexversion* is the implementation version in hexadecimal format, like :data:" "`sys.hexversion`." @@ -1787,7 +1825,7 @@ msgstr "" "*hexversion* est la version de l'implémentation sous forme hexadécimale, " "comme :data:`sys.hexversion`." -#: library/sys.rst:936 +#: library/sys.rst:951 msgid "" "*cache_tag* is the tag used by the import machinery in the filenames of " "cached modules. By convention, it would be a composite of the " @@ -1802,7 +1840,7 @@ msgstr "" "autre valeur si nécessaire. ``cache_tag`` à ``None`` signifie que la mise " "en cache des modules doit être désactivée." -#: library/sys.rst:943 +#: library/sys.rst:958 msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " @@ -1819,7 +1857,7 @@ msgstr "" "cependant changer entre les versions du langage Python.) Voir la :pep:`421` " "pour plus d'informations." -#: library/sys.rst:954 +#: library/sys.rst:969 msgid "" "The addition of new required attributes must go through the normal PEP " "process. See :pep:`421` for more information." @@ -1827,7 +1865,7 @@ msgstr "" "L'addition de nouveaux attributs requis doivent passer par le processus de " "**PEP** classique. Voir :pep:`421` pour plus d'informations." -#: library/sys.rst:959 +#: library/sys.rst:974 msgid "" "A :term:`named tuple` that holds information about Python's internal " "representation of integers. The attributes are read only." @@ -1835,19 +1873,19 @@ msgstr "" "Un :term:`named tuple` qui contient des informations sur la représentation " "interne des entiers de Python. Les attributs sont en lecture seule." -#: library/sys.rst:1633 +#: library/sys.rst:1648 msgid "Attribute" msgstr "Attribut" -#: library/sys.rst:1633 +#: library/sys.rst:1648 msgid "Explanation" msgstr "Explication" -#: library/sys.rst:967 +#: library/sys.rst:982 msgid ":const:`bits_per_digit`" msgstr ":const:`bits_per_digit`" -#: library/sys.rst:967 +#: library/sys.rst:982 msgid "" "number of bits held in each digit. Python integers are stored internally in " "base ``2**int_info.bits_per_digit``" @@ -1855,41 +1893,41 @@ msgstr "" "nombre de bits utilisés pour chaque chiffre. Les entiers Python sont " "stockés en interne en base ``2**int_info.bits_per_digit``" -#: library/sys.rst:971 +#: library/sys.rst:986 msgid ":const:`sizeof_digit`" msgstr ":const:`sizeof_digit`" -#: library/sys.rst:971 +#: library/sys.rst:986 msgid "size in bytes of the C type used to represent a digit" msgstr "taille en octets du type C utilisé pour représenter un chiffre" -#: library/sys.rst:974 +#: library/sys.rst:989 #, fuzzy msgid ":const:`default_max_str_digits`" msgstr ":const:`bits_per_digit`" -#: library/sys.rst:974 +#: library/sys.rst:989 msgid "" "default value for :func:`sys.get_int_max_str_digits` when it is not " "otherwise explicitly configured." msgstr "" -#: library/sys.rst:978 +#: library/sys.rst:993 #, fuzzy msgid ":const:`str_digits_check_threshold`" msgstr ":const:`dont_write_bytecode`" -#: library/sys.rst:978 +#: library/sys.rst:993 msgid "" "minimum non-zero value for :func:`sys.set_int_max_str_digits`, :envvar:" "`PYTHONINTMAXSTRDIGITS`, or :option:`-X int_max_str_digits <-X>`." msgstr "" -#: library/sys.rst:986 +#: library/sys.rst:1001 msgid "Added ``default_max_str_digits`` and ``str_digits_check_threshold``." msgstr "" -#: library/sys.rst:992 +#: library/sys.rst:1007 msgid "" "When this attribute exists, its value is automatically called (with no " "arguments) when the interpreter is launched in :ref:`interactive mode ` par le module :mod:`site`." -#: library/sys.rst:998 +#: library/sys.rst:1013 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with argument ``hook``." @@ -1911,7 +1949,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``cpython.run_interactivehook`` " "avec comme argument ``hook``." -#: library/sys.rst:1000 +#: library/sys.rst:1015 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with the hook object as the argument when the hook is called on startup." @@ -1920,7 +1958,7 @@ msgstr "" "avec l'objet de point d'entrée comme argument lorsqu'il est appelé au " "démarrage." -#: library/sys.rst:1009 +#: library/sys.rst:1024 msgid "" "Enter *string* in the table of \"interned\" strings and return the interned " "string -- which is *string* itself or a copy. Interning strings is useful to " @@ -1942,7 +1980,7 @@ msgstr "" "attributs de modules, de classes, ou d'instances ont aussi leurs clés " "internées." -#: library/sys.rst:1017 +#: library/sys.rst:1032 msgid "" "Interned strings are not immortal; you must keep a reference to the return " "value of :func:`intern` around to benefit from it." @@ -1950,7 +1988,7 @@ msgstr "" "Les chaînes internées ne sont pas immortelles ; vous devez garder une " "référence à la valeur renvoyée par :func:`intern` pour en bénéficier." -#: library/sys.rst:1023 +#: library/sys.rst:1038 msgid "" "Return :const:`True` if the Python interpreter is :term:`shutting down " "`, :const:`False` otherwise." @@ -1958,7 +1996,7 @@ msgstr "" "Donne :const:`True` si l'interpréteur Python est :term:`en train de " "s'arrêter `, et :const:`False` dans le cas contraire." -#: library/sys.rst:1033 +#: library/sys.rst:1048 msgid "" "These three variables are not always defined; they are set when an exception " "is not handled and the interpreter prints an error message and a stack " @@ -1977,7 +2015,7 @@ msgstr "" "mortem est ``import pdb; pdb.pm()``, voir :mod:`pdb` pour plus " "d'informations.)." -#: library/sys.rst:1041 +#: library/sys.rst:1056 msgid "" "The meaning of the variables is the same as that of the return values from :" "func:`exc_info` above." @@ -1985,7 +2023,7 @@ msgstr "" "La signification de ces variables est la même que celle des valeurs " "renvoyées par :func:`exc_info` ci-dessus." -#: library/sys.rst:1047 +#: library/sys.rst:1062 msgid "" "An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " "can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1`` " @@ -1995,7 +2033,7 @@ msgstr "" "`Py_ssize_t` peut prendre. C'est typiquement ``2**31 - 1`` sur une " "plateforme 32 bits et ``2**63 - 1`` sur une plateforme 64 bits." -#: library/sys.rst:1054 +#: library/sys.rst:1069 msgid "" "An integer giving the value of the largest Unicode code point, i.e. " "``1114111`` (``0x10FFFF`` in hexadecimal)." @@ -2003,7 +2041,7 @@ msgstr "" "Un entier donnant la valeur du plus grand point de code Unicode, c'est-à-" "dire ``1114111`` (``0x10FFFF`` en hexadécimal)." -#: library/sys.rst:1057 +#: library/sys.rst:1072 msgid "" "Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " "``0x10FFFF``, depending on the configuration option that specified whether " @@ -2013,7 +2051,7 @@ msgstr "" "``0x10FFFF``, en fonction l'option de configuration qui spécifiait si les " "caractères Unicode étaient stockés en UCS-2 ou UCS-4." -#: library/sys.rst:1065 +#: library/sys.rst:1080 #, fuzzy msgid "" "A list of :term:`meta path finder` objects that have their :meth:`~importlib." @@ -2034,11 +2072,11 @@ msgstr "" "attr:`__path__` du paquet parent est donné en deuxième argument. La méthode " "renvoie un :term:`module spec`, ou ``None`` si le module ne peut être trouvé." -#: library/sys.rst:1078 +#: library/sys.rst:1093 msgid ":class:`importlib.abc.MetaPathFinder`" msgstr ":class:`importlib.abc.MetaPathFinder`" -#: library/sys.rst:1078 +#: library/sys.rst:1093 msgid "" "The abstract base class defining the interface of finder objects on :data:" "`meta_path`." @@ -2046,11 +2084,11 @@ msgstr "" "La classe de base abstraite définissant l'interface des objets *finder* de :" "data:`meta_path`." -#: library/sys.rst:1082 +#: library/sys.rst:1097 msgid ":class:`importlib.machinery.ModuleSpec`" msgstr ":class:`importlib.machinery.ModuleSpec`" -#: library/sys.rst:1081 +#: library/sys.rst:1096 msgid "" "The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " "should return instances of." @@ -2058,7 +2096,7 @@ msgstr "" "La classe concrète dont :meth:`~importlib.abc.MetaPathFinder.find_spec` " "devrait renvoyer des instances." -#: library/sys.rst:1087 +#: library/sys.rst:1102 msgid "" ":term:`Module specs ` were introduced in Python 3.4, by :pep:" "`451`. Earlier versions of Python looked for a method called :meth:" @@ -2072,7 +2110,7 @@ msgstr "" "toujours appelée en dernier recours, dans le cas où une :data:`meta_path` " "n'a pas de méthode :meth:`~importlib.abc.MetaPathFinder.find_spec`." -#: library/sys.rst:1095 +#: library/sys.rst:1110 #, fuzzy msgid "" "This is a dictionary that maps module names to modules which have already " @@ -2089,17 +2127,17 @@ msgstr "" "rechargé. Cependant, le remplacer ne fonctionnera pas forcément comme prévu " "et en supprimer des éléments essentiels peut planter Python." -#: library/sys.rst:1107 +#: library/sys.rst:1122 msgid "" "The list of the original command line arguments passed to the Python " "executable." msgstr "" -#: library/sys.rst:1110 +#: library/sys.rst:1125 msgid "See also :data:`sys.argv`." msgstr "" -#: library/sys.rst:1119 +#: library/sys.rst:1134 msgid "" "A list of strings that specifies the search path for modules. Initialized " "from the environment variable :envvar:`PYTHONPATH`, plus an installation-" @@ -2109,7 +2147,7 @@ msgstr "" "modules, initialisée à partir de la variable d'environnement :envvar:" "`PYTHONPATH` et d'une valeur par défaut dépendante de l'installation." -#: library/sys.rst:1123 +#: library/sys.rst:1138 msgid "" "As initialized upon program startup, the first item of this list, " "``path[0]``, is the directory containing the script that was used to invoke " @@ -2129,7 +2167,7 @@ msgstr "" "actuel. Notez que le dossier du script est inséré *avant* les dossiers de :" "envvar:`PYTHONPATH`." -#: library/sys.rst:1131 +#: library/sys.rst:1146 msgid "" "A program is free to modify this list for its own purposes. Only strings " "and bytes should be added to :data:`sys.path`; all other data types are " @@ -2139,7 +2177,7 @@ msgstr "" "Seuls des *str* ou des *bytes* ne devraient être ajoutés à :data:`sys.path`, " "tous les autres types de données étant ignorés durant l'importation." -#: library/sys.rst:1137 +#: library/sys.rst:1152 msgid "" "Module :mod:`site` This describes how to use .pth files to extend :data:`sys." "path`." @@ -2147,7 +2185,7 @@ msgstr "" "Le module :mod:`site` décrit comment utiliser les fichiers *.pth* pour " "étendre :data:`sys.path`." -#: library/sys.rst:1143 +#: library/sys.rst:1158 msgid "" "A list of callables that take a path argument to try to create a :term:" "`finder` for the path. If a finder can be created, it is to be returned by " @@ -2157,11 +2195,11 @@ msgstr "" "`finder` pour ce chemin. Si un *finder* peut être créé, il doit être renvoyé " "par l'appelable, sinon une :exc:`ImportError` doit être levée." -#: library/sys.rst:1158 +#: library/sys.rst:1173 msgid "Originally specified in :pep:`302`." msgstr "Précisé à l'origine dans la :pep:`302`." -#: library/sys.rst:1152 +#: library/sys.rst:1167 msgid "" "A dictionary acting as a cache for :term:`finder` objects. The keys are " "paths that have been passed to :data:`sys.path_hooks` and the values are the " @@ -2174,7 +2212,7 @@ msgstr "" "de fichiers mais qu'aucun *finder* n'est trouvé dans :data:`sys.path_hooks`, " "``None`` est stocké." -#: library/sys.rst:1160 +#: library/sys.rst:1175 msgid "" "``None`` is stored instead of :class:`imp.NullImporter` when no finder is " "found." @@ -2182,7 +2220,7 @@ msgstr "" "``None`` est stocké à la place de :class:`imp.NullImporter` si aucun " "localisateur n'est trouvé." -#: library/sys.rst:1167 +#: library/sys.rst:1182 msgid "" "This string contains a platform identifier that can be used to append " "platform-specific components to :data:`sys.path`, for instance." @@ -2191,7 +2229,7 @@ msgstr "" "typiquement utilisé pour ajouter des composants spécifiques à :data:`sys." "path`." -#: library/sys.rst:1170 +#: library/sys.rst:1185 msgid "" "For Unix systems, except on Linux and AIX, this is the lowercased OS name as " "returned by ``uname -s`` with the first part of the version as returned by " @@ -2206,59 +2244,59 @@ msgstr "" "souhaitiez tester pour une version spécifique du système, vous pouvez faire " "comme suit ::" -#: library/sys.rst:1183 +#: library/sys.rst:1198 msgid "For other systems, the values are:" msgstr "Pour les autres systèmes, les valeurs sont :" -#: library/sys.rst:1186 +#: library/sys.rst:1201 msgid "System" msgstr "Le système une station de travail." -#: library/sys.rst:1186 +#: library/sys.rst:1201 msgid "``platform`` value" msgstr "Valeur pour ``plateforme``" -#: library/sys.rst:1188 +#: library/sys.rst:1203 msgid "AIX" msgstr "AIX" -#: library/sys.rst:1188 +#: library/sys.rst:1203 msgid "``'aix'``" msgstr "``'aix'``" -#: library/sys.rst:1189 +#: library/sys.rst:1204 msgid "Linux" msgstr "Linux" -#: library/sys.rst:1189 +#: library/sys.rst:1204 msgid "``'linux'``" msgstr "``'linux'``" -#: library/sys.rst:1190 +#: library/sys.rst:1205 msgid "Windows" msgstr "Windows" -#: library/sys.rst:1190 +#: library/sys.rst:1205 msgid "``'win32'``" msgstr "``'win32'``" -#: library/sys.rst:1191 +#: library/sys.rst:1206 msgid "Windows/Cygwin" msgstr "Windows/Cygwin" -#: library/sys.rst:1191 +#: library/sys.rst:1206 msgid "``'cygwin'``" msgstr "``'cygwin'``" -#: library/sys.rst:1192 +#: library/sys.rst:1207 msgid "macOS" msgstr "macOS" -#: library/sys.rst:1192 +#: library/sys.rst:1207 msgid "``'darwin'``" msgstr "``'darwin'``" -#: library/sys.rst:1195 +#: library/sys.rst:1210 msgid "" "On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " @@ -2270,7 +2308,7 @@ msgstr "" "anciennes versions de Python incluent le numéro de version, il est " "recommandé de toujours utiliser ``startswith``, tel qu'utilisé ci-dessus." -#: library/sys.rst:1201 +#: library/sys.rst:1216 msgid "" "On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since older " @@ -2282,7 +2320,7 @@ msgstr "" "anciennes versions de Python incluent le numéro de version, il est " "recommandé de toujours utiliser ``startswith``, tel qu'utilisé ci-dessus." -#: library/sys.rst:1209 +#: library/sys.rst:1224 msgid "" ":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" "dependent version information." @@ -2290,7 +2328,7 @@ msgstr "" ":attr:`os.name` a une granularité plus grossière. :func:`os.uname` donne des " "informations sur la version dépendantes du système." -#: library/sys.rst:1212 +#: library/sys.rst:1227 msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." @@ -2298,7 +2336,7 @@ msgstr "" "Le module :mod:`platform` fournit des vérifications détaillées pour " "l'identité du système." -#: library/sys.rst:1218 +#: library/sys.rst:1233 msgid "" "Name of the platform-specific library directory. It is used to build the " "path of standard library and the paths of installed extension modules." @@ -2307,7 +2345,7 @@ msgstr "" "pour construire le chemin de vers la bibliothèque standard et les chemins " "vers les modules d'extensions installés." -#: library/sys.rst:1221 +#: library/sys.rst:1236 msgid "" "It is equal to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is " "equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." @@ -2318,7 +2356,7 @@ msgstr "" "chemins ``sys.path`` suivants (où ``X.Y`` et la version ``majeure.mineur`` " "de Python) :" -#: library/sys.rst:1225 +#: library/sys.rst:1240 msgid "" "``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " "module)" @@ -2326,7 +2364,7 @@ msgstr "" "``/usr/lib64/pythonX.Y/`` : Bibliothèque standard (comme ``os.py`` du " "module :mod:`os`)" -#: library/sys.rst:1227 +#: library/sys.rst:1242 msgid "" "``/usr/lib64/pythonX.Y/lib-dynload/``: C extension modules of the standard " "library (like the :mod:`errno` module, the exact filename is platform " @@ -2336,7 +2374,7 @@ msgstr "" "bibliothèque standard (comme le module :mod:`errno`, le nom du fichier exact " "est spécifique à la plateforme)" -#: library/sys.rst:1230 +#: library/sys.rst:1245 msgid "" "``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." "platlibdir`): Third-party modules" @@ -2344,7 +2382,7 @@ msgstr "" "``/usr/lib/pythonX.Y/site-packages/`` (toujours utiliser ``lib``, et non :" "data:`sys.platlibdir`) : modules tiers" -#: library/sys.rst:1232 +#: library/sys.rst:1247 msgid "" "``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " "packages" @@ -2352,14 +2390,14 @@ msgstr "" "``/usr/lib64/pythonX.Y/site-packages/`` : Modules d'extension C de paquets " "tiers" -#: library/sys.rst:1240 +#: library/sys.rst:1255 #, fuzzy msgid "" "A string giving the site-specific directory prefix where the platform " -"independent Python files are installed; on Unix, the default is ``'/usr/" -"local'``. This can be set at build time with the ``--prefix`` argument to " -"the :program:`configure` script. See :ref:`installation_paths` for derived " -"paths." +"independent Python files are installed; on Unix, the default is :file:`/usr/" +"local`. This can be set at build time with the :option:`--prefix` argument " +"to the :program:`configure` script. See :ref:`installation_paths` for " +"derived paths." msgstr "" "Une chaîne donnant le préfixe de répertoire spécifique au site dans lequel " "les fichiers Python indépendants de la plate-forme sont installés. Par " @@ -2371,7 +2409,7 @@ msgstr "" "stockées dans :file:`{prefix}/include/python{X.Y}`, où *X.Y* est le numéro " "de version de Python, par exemple ``3.2``." -#: library/sys.rst:1246 +#: library/sys.rst:1261 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " @@ -2382,7 +2420,7 @@ msgstr "" "donnée au moment de la compilation de Python sera toujours disponible, dans :" "data:`base_prefix`." -#: library/sys.rst:1261 +#: library/sys.rst:1276 msgid "" "Strings specifying the primary and secondary prompt of the interpreter. " "These are only defined if the interpreter is in interactive mode. Their " @@ -2399,7 +2437,7 @@ msgstr "" "à lire une nouvelle commande interactive, c'est donc utilisable pour " "implémenter une invite dynamique." -#: library/sys.rst:1271 +#: library/sys.rst:1286 msgid "" "Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " "when the interpreter loads extension modules. Among other things, this will " @@ -2418,14 +2456,14 @@ msgstr "" "trouvés dans le module :mod:`os` (ce sont les constantes ``RTLD_xxx``, " "comme :data:`os.RTLD_LAZY`)." -#: library/sys.rst:1283 +#: library/sys.rst:1298 msgid "" "Set the :ref:`integer string conversion length limitation " "` used by this interpreter. See also :func:" "`get_int_max_str_digits`." msgstr "" -#: library/sys.rst:1295 +#: library/sys.rst:1310 msgid "" "Set the system's profile function, which allows you to implement a Python " "source code profiler in Python. See chapter :ref:`profile` for more " @@ -2453,7 +2491,7 @@ msgstr "" "*multithread*. Sa valeur de retour n'est pas utilisée, elle peut simplement " "renvoyer ``None``." -#: library/sys.rst:1306 +#: library/sys.rst:1321 msgid "" "Profile functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2466,7 +2504,7 @@ msgstr "" "``'c_call'``, ``'c_return'`` ou ``'c_exception'``. *arg* dépend du type de " "l'évènement." -#: library/sys.rst:1311 +#: library/sys.rst:1326 msgid "" "Raises an :ref:`auditing event ` ``sys.setprofile`` with no " "arguments." @@ -2474,15 +2512,15 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``sys.setprofile`` sans " "arguments." -#: library/sys.rst:1394 +#: library/sys.rst:1409 msgid "The events have the following meaning:" msgstr "Les événements ont la signification suivante :" -#: library/sys.rst:1399 +#: library/sys.rst:1414 msgid "``'call'``" msgstr "``'call'``" -#: library/sys.rst:1316 +#: library/sys.rst:1331 msgid "" "A function is called (or some other code block entered). The profile " "function is called; *arg* is ``None``." @@ -2490,11 +2528,11 @@ msgstr "" "Une fonction est appelée (ou Python entre dans un autre bloc de code). La " "fonction de traçage est appelée, *arg* est ``None``." -#: library/sys.rst:1414 +#: library/sys.rst:1429 msgid "``'return'``" msgstr "``'return'``" -#: library/sys.rst:1320 +#: library/sys.rst:1335 msgid "" "A function (or other code block) is about to return. The profile function " "is called; *arg* is the value that will be returned, or ``None`` if the " @@ -2504,11 +2542,11 @@ msgstr "" "fonction de traçage est appelée, *arg* est la valeur qui sera renvoyée, ou " "``None`` si l'événement est causé par la levée d'une exception." -#: library/sys.rst:1326 +#: library/sys.rst:1341 msgid "``'c_call'``" msgstr "``'c_call'``" -#: library/sys.rst:1325 +#: library/sys.rst:1340 msgid "" "A C function is about to be called. This may be an extension function or a " "built-in. *arg* is the C function object." @@ -2516,23 +2554,23 @@ msgstr "" "Une fonction C est sur le point d'être appelée. C'est soit une fonction " "d'extension ou une fonction native. *arg* représente la fonction C." -#: library/sys.rst:1329 +#: library/sys.rst:1344 msgid "``'c_return'``" msgstr "``'c_return'``" -#: library/sys.rst:1329 +#: library/sys.rst:1344 msgid "A C function has returned. *arg* is the C function object." msgstr "Une fonction C a renvoyé une valeur. *arg* représente la fonction C." -#: library/sys.rst:1331 +#: library/sys.rst:1346 msgid "``'c_exception'``" msgstr "``'c_exception'``" -#: library/sys.rst:1332 +#: library/sys.rst:1347 msgid "A C function has raised an exception. *arg* is the C function object." msgstr "Une fonction C a levé une exception. *arg* représente la fonction C." -#: library/sys.rst:1336 +#: library/sys.rst:1351 msgid "" "Set the maximum depth of the Python interpreter stack to *limit*. This " "limit prevents infinite recursion from causing an overflow of the C stack " @@ -2542,7 +2580,7 @@ msgstr "" "*limit*. Cette limite empêche une récursion infinie de provoquer un " "débordement de la pile C et ainsi un crash de Python." -#: library/sys.rst:1340 +#: library/sys.rst:1355 msgid "" "The highest possible limit is platform-dependent. A user may need to set " "the limit higher when they have a program that requires deep recursion and a " @@ -2554,7 +2592,7 @@ msgstr "" "profonde, si sa plate-forme le permet. Cela doit être fait avec précaution, " "car une limite trop élevée peut conduire à un crash." -#: library/sys.rst:1345 +#: library/sys.rst:1360 msgid "" "If the new limit is too low at the current recursion depth, a :exc:" "`RecursionError` exception is raised." @@ -2562,7 +2600,7 @@ msgstr "" "Si la nouvelle limite est plus basse que la profondeur actuelle, une :exc:" "`RecursionError` est levée." -#: library/sys.rst:1348 +#: library/sys.rst:1363 msgid "" "A :exc:`RecursionError` exception is now raised if the new limit is too low " "at the current recursion depth." @@ -2570,7 +2608,7 @@ msgstr "" "Une :exc:`RecursionError` est maintenant levée si la nouvelle limite est " "plus basse que la profondeur de récursion actuelle." -#: library/sys.rst:1355 +#: library/sys.rst:1370 msgid "" "Set the interpreter's thread switch interval (in seconds). This floating-" "point value determines the ideal duration of the \"timeslices\" allocated to " @@ -2588,7 +2626,7 @@ msgstr "" "d'exécution prenant la main à la fin de l'intervalle revient au système " "d'exploitation. L'interpréteur n'a pas son propre ordonnanceur." -#: library/sys.rst:1372 +#: library/sys.rst:1387 msgid "" "Set the system's trace function, which allows you to implement a Python " "source code debugger in Python. The function is thread-specific; for a " @@ -2603,7 +2641,7 @@ msgstr "" "pour chaque fil d'exécution qu'il souhaite surveiller ou utilisez :func:" "`threading.settrace`." -#: library/sys.rst:1377 +#: library/sys.rst:1392 msgid "" "Trace functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " @@ -2615,7 +2653,7 @@ msgstr "" "chaîne de caractères pouvant valoir : ``'call'``, ``'line'``, ``'return'``, " "``'exception'`` ou ``'opcode'``. *arg* dépend du type de l'évènement." -#: library/sys.rst:1382 +#: library/sys.rst:1397 msgid "" "The trace function is invoked (with *event* set to ``'call'``) whenever a " "new local scope is entered; it should return a reference to a local trace " @@ -2627,7 +2665,7 @@ msgstr "" "référence à une fonction de traçage locale à utiliser pour ce *scope*, ou " "``None`` si le *Scope* ne doit pas être tracé." -#: library/sys.rst:1387 +#: library/sys.rst:1402 msgid "" "The local trace function should return a reference to itself (or to another " "function for further tracing in that scope), or ``None`` to turn off tracing " @@ -2637,7 +2675,7 @@ msgstr "" "autre fonction de traçage pour un traçage ultérieur dans cette portée), ou " "``None`` pour désactiver le traçage dans cette portée." -#: library/sys.rst:1391 +#: library/sys.rst:1406 msgid "" "If there is any error occurred in the trace function, it will be unset, just " "like ``settrace(None)`` is called." @@ -2645,7 +2683,7 @@ msgstr "" "Si une erreur se produit dans la fonction de trace, elle sera désactivée, " "tout comme si ``settrace(None)`` avait été appelée." -#: library/sys.rst:1397 +#: library/sys.rst:1412 msgid "" "A function is called (or some other code block entered). The global trace " "function is called; *arg* is ``None``; the return value specifies the local " @@ -2655,11 +2693,11 @@ msgstr "" "globale est appelée, *arg* est ``None``, la valeur renvoyée donne la " "fonction de traçage locale." -#: library/sys.rst:1408 +#: library/sys.rst:1423 msgid "``'line'``" msgstr "``'line'``" -#: library/sys.rst:1402 +#: library/sys.rst:1417 msgid "" "The interpreter is about to execute a new line of code or re-execute the " "condition of a loop. The local trace function is called; *arg* is ``None``; " @@ -2676,7 +2714,7 @@ msgstr "" "désactivés pour un cadre d'exécution en mettant :attr:`f_trace_lines` à :" "const:`False` pour ce cadre d'exécution." -#: library/sys.rst:1411 +#: library/sys.rst:1426 msgid "" "A function (or other code block) is about to return. The local trace " "function is called; *arg* is the value that will be returned, or ``None`` if " @@ -2688,11 +2726,11 @@ msgstr "" "renvoyée, ou ``None`` si l'événement est causé par la levée d'une exception. " "La valeur renvoyée par la fonction de traçage est ignorée." -#: library/sys.rst:1419 +#: library/sys.rst:1434 msgid "``'exception'``" msgstr "``'exception'``" -#: library/sys.rst:1417 +#: library/sys.rst:1432 msgid "" "An exception has occurred. The local trace function is called; *arg* is a " "tuple ``(exception, value, traceback)``; the return value specifies the new " @@ -2702,11 +2740,11 @@ msgstr "" "est le triplet ``(exception, valeur, traceback)``, la valeur renvoyée " "spécifie la nouvelle fonction de traçage locale." -#: library/sys.rst:1427 +#: library/sys.rst:1442 msgid "``'opcode'``" msgstr "``'opcode'``" -#: library/sys.rst:1422 +#: library/sys.rst:1437 msgid "" "The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " "details). The local trace function is called; *arg* is ``None``; the return " @@ -2721,7 +2759,7 @@ msgstr "" "explicitement requis en mettant :attr:`f_trace_opcodes` à :const:`True` pour " "cette *frame*." -#: library/sys.rst:1429 +#: library/sys.rst:1444 msgid "" "Note that as an exception is propagated down the chain of callers, an " "``'exception'`` event is generated at each level." @@ -2729,7 +2767,7 @@ msgstr "" "Remarquez que, comme une exception se propage au travers de toute chaîne " "d'appelants, un événement ``'exception'`` est généré à chaque niveau." -#: library/sys.rst:1432 +#: library/sys.rst:1447 msgid "" "For more fine-grained usage, it's possible to set a trace function by " "assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on " @@ -2754,20 +2792,20 @@ msgstr "" "pourrait être une fonction de traçage avec peu de surcharge qui retourne " "simplement ``None`` pour se désactiver immédiatement à chaque cadre)." -#: library/sys.rst:1443 +#: library/sys.rst:1458 msgid "For more information on code and frame objects, refer to :ref:`types`." msgstr "" "Pour plus d'informations sur les objets code et objets représentant une " "*frame* de la pile, consultez :ref:`types`." -#: library/sys.rst:1445 +#: library/sys.rst:1460 msgid "" "Raises an :ref:`auditing event ` ``sys.settrace`` with no " "arguments." msgstr "" "Lève un :ref:`évènement d'audit ` ``sys.settrace`` sans arguments." -#: library/sys.rst:1449 +#: library/sys.rst:1464 msgid "" "The :func:`settrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -2780,7 +2818,7 @@ msgstr "" "que de la définition du langage, et peut donc ne pas être disponible dans " "toutes les implémentations de Python." -#: library/sys.rst:1456 +#: library/sys.rst:1471 msgid "" "``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" "`f_trace_opcodes` attributes added to frames" @@ -2788,7 +2826,7 @@ msgstr "" "Ajout du type d’événement ``'opcode'`` ; les attributs :attr:`f_trace_lines` " "et :attr:`f_trace_opcodes` ont été ajoutés aux cadres d'exécution" -#: library/sys.rst:1461 +#: library/sys.rst:1476 msgid "" "Accepts two optional keyword arguments which are callables that accept an :" "term:`asynchronous generator iterator` as an argument. The *firstiter* " @@ -2802,7 +2840,7 @@ msgstr "" "première fois, et l'appelable *finalizer* sera appelé lorsqu'un générateur " "asynchrone est sur le point d'être détruit." -#: library/sys.rst:1467 +#: library/sys.rst:1482 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_firstiter`` with no arguments." @@ -2810,7 +2848,7 @@ msgstr "" "Lève un :ref:`évènement d'audit ` ``sys." "set_asyncgen_hooks_firstiter`` sans arguments." -#: library/sys.rst:1469 +#: library/sys.rst:1484 msgid "" "Raises an :ref:`auditing event ` ``sys." "set_asyncgen_hooks_finalizer`` with no arguments." @@ -2818,7 +2856,7 @@ msgstr "" "Lève un :ref:`événement d'audit ` ``sys." "set_asyncgen_hooks_finalizer`` sans arguments." -#: library/sys.rst:1471 +#: library/sys.rst:1486 msgid "" "Two auditing events are raised because the underlying API consists of two " "calls, each of which must raise its own event." @@ -2826,7 +2864,7 @@ msgstr "" "Deux événements d'audit sont levés car l'API sous-jacente consiste de deux " "appels, dont chacun doit lever son propre événement." -#: library/sys.rst:1474 +#: library/sys.rst:1489 msgid "" "See :pep:`525` for more details, and for a reference example of a " "*finalizer* method see the implementation of ``asyncio.Loop." @@ -2836,7 +2874,7 @@ msgstr "" "voir l'implémentation de ``asyncio.Loop.shutdown_asyncgens`` dans :source:" "`Lib/asyncio/base_events.py`" -#: library/sys.rst:1486 +#: library/sys.rst:1501 msgid "" "Allows enabling or disabling coroutine origin tracking. When enabled, the " "``cr_origin`` attribute on coroutine objects will contain a tuple of " @@ -2851,7 +2889,7 @@ msgstr "" "coroutine a été créé, avec l'appel le plus récent en premier. Lorsqu'il est " "désactivé, la valeur de ``cr_origin`` est ``None``." -#: library/sys.rst:1493 +#: library/sys.rst:1508 msgid "" "To enable, pass a *depth* value greater than zero; this sets the number of " "frames whose information will be captured. To disable, pass set *depth* to " @@ -2861,11 +2899,11 @@ msgstr "" "le nombre de cadres d'exécution dont les informations sont capturées. Pour " "le désactiver, mettez *depth* à zéro." -#: library/sys.rst:1497 +#: library/sys.rst:1512 msgid "This setting is thread-specific." msgstr "Ce paramètre est spécifique au fil d'exécution courant." -#: library/sys.rst:1507 +#: library/sys.rst:1522 #, fuzzy msgid "" "Changes the :term:`filesystem encoding and error handler` to 'mbcs' and " @@ -2875,7 +2913,7 @@ msgstr "" "fichiers à *mbcs* et *replace* respectivement, par cohérence avec les " "versions de Python antérieures à la 3.6." -#: library/sys.rst:1511 +#: library/sys.rst:1526 msgid "" "This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " "environment variable before launching Python." @@ -2883,17 +2921,17 @@ msgstr "" "Équivaut à définir la variable d'environnement :envvar:" "`PYTHONLEGACYWINDOWSFSENCODING` avant de lancer Python." -#: library/sys.rst:1514 +#: library/sys.rst:1529 msgid "" "See also :func:`sys.getfilesystemencoding` and :func:`sys." "getfilesystemencodeerrors`." msgstr "" -#: library/sys.rst:1519 +#: library/sys.rst:1534 msgid "See :pep:`529` for more details." msgstr "Voir la :pep:`529` pour plus d'informations." -#: library/sys.rst:1526 +#: library/sys.rst:1541 msgid "" ":term:`File objects ` used by the interpreter for standard " "input, output and errors:" @@ -2901,7 +2939,7 @@ msgstr "" ":term:`objets fichiers ` utilisés par l'interpréteur pour " "l'entrée standard, la sortie standard et la sortie d'erreurs :" -#: library/sys.rst:1529 +#: library/sys.rst:1544 msgid "" "``stdin`` is used for all interactive input (including calls to :func:" "`input`);" @@ -2909,7 +2947,7 @@ msgstr "" "``stdin`` est utilisé pour toutes les entrées interactives (y compris les " "appels à :func:`input`)" -#: library/sys.rst:1531 +#: library/sys.rst:1546 msgid "" "``stdout`` is used for the output of :func:`print` and :term:`expression` " "statements and for the prompts of :func:`input`;" @@ -2917,13 +2955,13 @@ msgstr "" "``stdout`` est utilisé pour la sortie de :func:`print`, des :term:" "`expression` et pour les invites de :func:`input` ;" -#: library/sys.rst:1533 +#: library/sys.rst:1548 msgid "The interpreter's own prompts and its error messages go to ``stderr``." msgstr "" "Les invites de l'interpréteur et ses messages d'erreur sont écrits sur " "``stderr``." -#: library/sys.rst:1535 +#: library/sys.rst:1550 msgid "" "These streams are regular :term:`text files ` like those returned " "by the :func:`open` function. Their parameters are chosen as follows:" @@ -2932,13 +2970,13 @@ msgstr "" "renvoyés par la fonction :func:`open`. Leurs paramètres sont choisis comme " "suit :" -#: library/sys.rst:1539 +#: library/sys.rst:1554 msgid "" "The encoding and error handling are is initialized from :c:member:`PyConfig." "stdio_encoding` and :c:member:`PyConfig.stdio_errors`." msgstr "" -#: library/sys.rst:1542 +#: library/sys.rst:1557 #, fuzzy msgid "" "On Windows, UTF-8 is used for the console device. Non-character devices " @@ -2960,7 +2998,7 @@ msgstr "" "régionaux système si le processus n'est pas attaché initialement à une " "console." -#: library/sys.rst:1551 +#: library/sys.rst:1566 msgid "" "The special behaviour of the console can be overridden by setting the " "environment variable PYTHONLEGACYWINDOWSSTDIO before starting Python. In " @@ -2971,7 +3009,7 @@ msgstr "" "Python. Dans ce cas, les pages de code de la console sont utilisées comme " "pour tout autre périphérique de caractères." -#: library/sys.rst:1556 +#: library/sys.rst:1571 msgid "" "Under all platforms, you can override the character encoding by setting the :" "envvar:`PYTHONIOENCODING` environment variable before starting Python or by " @@ -2986,7 +3024,7 @@ msgstr "" "Toutefois, pour la console Windows, cela s'applique uniquement lorsque :" "envvar:`PYTHONLEGACYWINDOWSSTDIO` est également défini." -#: library/sys.rst:1563 +#: library/sys.rst:1578 #, fuzzy msgid "" "When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " @@ -3000,14 +3038,14 @@ msgstr "" "fichiers textes classiques. Vous pouvez remplacer cette valeur avec " "l'option :option:`-u` en ligne de commande." -#: library/sys.rst:1569 +#: library/sys.rst:1584 msgid "" "Non-interactive ``stderr`` is now line-buffered instead of fully buffered." msgstr "" "Le ``stderr`` non interactif est maintenant mis en mémoire-tampon ligne par " "ligne plutôt qu'entièrement." -#: library/sys.rst:1575 +#: library/sys.rst:1590 msgid "" "To write or read binary data from/to the standard streams, use the " "underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " @@ -3018,7 +3056,7 @@ msgstr "" "pour écrire des octets sur :data:`stdout`, utilisez ``sys.stdout.buffer." "write(b'abc')``." -#: library/sys.rst:1579 +#: library/sys.rst:1594 msgid "" "However, if you are writing a library (and do not control in which context " "its code will be executed), be aware that the standard streams may be " @@ -3030,7 +3068,7 @@ msgstr "" "remplacés par des objets de type fichier tel un :class:`io.StringIO` qui " "n'ont pas l'attribut :attr:`~io.BufferedIOBase.buffer`." -#: library/sys.rst:1589 +#: library/sys.rst:1604 msgid "" "These objects contain the original values of ``stdin``, ``stderr`` and " "``stdout`` at the start of the program. They are used during finalization, " @@ -3042,7 +3080,7 @@ msgstr "" "pendant la finalisation, et peuvent être utiles pour écrire dans le vrai " "flux standard, peu importe si l'objet ``sys.std*`` a été redirigé." -#: library/sys.rst:1594 +#: library/sys.rst:1609 msgid "" "It can also be used to restore the actual files to known working file " "objects in case they have been overwritten with a broken object. However, " @@ -3054,7 +3092,7 @@ msgstr "" "cependant la bonne façon de faire serait de sauvegarder explicitement les " "flux avant de les remplacer et ainsi pouvoir les restaurer." -#: library/sys.rst:1600 +#: library/sys.rst:1615 msgid "" "Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " "original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " @@ -3067,12 +3105,12 @@ msgstr "" "Windows qui ne sont pas connectées à une console, ou les applications Python " "démarrées avec :program:`pythonw`." -#: library/sys.rst:1608 +#: library/sys.rst:1623 msgid "" "A frozenset of strings containing the names of standard library modules." msgstr "" -#: library/sys.rst:1610 +#: library/sys.rst:1625 msgid "" "It is the same on all platforms. Modules which are not available on some " "platforms and modules disabled at Python build are also listed. All module " @@ -3080,7 +3118,7 @@ msgid "" "modules are excluded." msgstr "" -#: library/sys.rst:1615 +#: library/sys.rst:1630 msgid "" "For packages, only the main package is listed: sub-packages and sub-modules " "are not listed. For example, the ``email`` package is listed, but the " @@ -3088,63 +3126,63 @@ msgid "" "listed." msgstr "" -#: library/sys.rst:1620 +#: library/sys.rst:1635 msgid "See also the :attr:`sys.builtin_module_names` list." msgstr "" -#: library/sys.rst:1627 +#: library/sys.rst:1642 msgid "" "A :term:`named tuple` holding information about the thread implementation." msgstr "" "Un :term:`named tuple` contenant des informations sur l'implémentation des " "fils d'exécution." -#: library/sys.rst:1635 +#: library/sys.rst:1650 msgid ":const:`name`" msgstr ":const:`name`" -#: library/sys.rst:1635 +#: library/sys.rst:1650 msgid "Name of the thread implementation:" msgstr "Nom de l'implémentation des fils d'exécution :" -#: library/sys.rst:1637 +#: library/sys.rst:1652 msgid "``'nt'``: Windows threads" msgstr "``'nt'`` : Fils d'exécution Windows" -#: library/sys.rst:1638 +#: library/sys.rst:1653 msgid "``'pthread'``: POSIX threads" msgstr "``'pthread'`` : Fils d'exécution POSIX" -#: library/sys.rst:1639 +#: library/sys.rst:1654 msgid "``'solaris'``: Solaris threads" msgstr "``'solaris'`` : Fils d'exécution Solaris" -#: library/sys.rst:1641 +#: library/sys.rst:1656 msgid ":const:`lock`" msgstr ":const:`lock`" -#: library/sys.rst:1641 +#: library/sys.rst:1656 msgid "Name of the lock implementation:" msgstr "Nom de l'implémentation du système de verrou :" -#: library/sys.rst:1643 +#: library/sys.rst:1658 msgid "``'semaphore'``: a lock uses a semaphore" msgstr "``'semaphore'`` : Verrou utilisant une sémaphore" -#: library/sys.rst:1644 +#: library/sys.rst:1659 msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" msgstr "" "``'mutex+cond'`` : Un verrou utilisant un *mutex* et une *condition variable*" -#: library/sys.rst:1646 +#: library/sys.rst:1661 msgid "``None`` if this information is unknown" msgstr "``None`` si cette information n'est pas connue" -#: library/sys.rst:1648 +#: library/sys.rst:1663 msgid ":const:`version`" msgstr ":const:`version`" -#: library/sys.rst:1648 +#: library/sys.rst:1663 msgid "" "Name and version of the thread library. It is a string, or ``None`` if this " "information is unknown." @@ -3152,7 +3190,7 @@ msgstr "" "Nom et version de l'implémentation des fils d'exécution, c'est une chaîne, " "ou ``None`` si ces informations sont inconnues." -#: library/sys.rst:1657 +#: library/sys.rst:1672 msgid "" "When this variable is set to an integer value, it determines the maximum " "number of levels of traceback information printed when an unhandled " @@ -3166,11 +3204,11 @@ msgstr "" "est égale ou inférieure à ``0``, la pile d'appels n'est pas affichée, seul " "seuls le type et la valeur de l'exception sont le sont." -#: library/sys.rst:1665 +#: library/sys.rst:1680 msgid "Handle an unraisable exception." msgstr "Gère une exception *non levable* (**unraisable** en anglais)" -#: library/sys.rst:1667 +#: library/sys.rst:1682 msgid "" "Called when an exception has occurred but there is no way for Python to " "handle it. For example, when a destructor raises an exception or during " @@ -3180,32 +3218,32 @@ msgstr "" "Python de la gérer. Par exemple, lorsqu'un destructeur lève une exception ou " "durant le passage du ramasse-miettes (:func:`gc.collect`)." -#: library/sys.rst:1671 +#: library/sys.rst:1686 msgid "The *unraisable* argument has the following attributes:" msgstr "Les arguments *unraisable* ont la signification suivante :" -#: library/sys.rst:1673 +#: library/sys.rst:1688 msgid "*exc_type*: Exception type." msgstr "*exc_type* : le type de l'exception ;" -#: library/sys.rst:1674 +#: library/sys.rst:1689 msgid "*exc_value*: Exception value, can be ``None``." msgstr "*exc_value*: la valeur de l'exception, peut être ``None`` ;" -#: library/sys.rst:1675 +#: library/sys.rst:1690 msgid "*exc_traceback*: Exception traceback, can be ``None``." msgstr "" "*exc_traceback* : la pile d'appels pour cette exception, peut être ``None`` ;" -#: library/sys.rst:1676 +#: library/sys.rst:1691 msgid "*err_msg*: Error message, can be ``None``." msgstr "*err_msg* : Message d'erreur, peut être ``None``." -#: library/sys.rst:1677 +#: library/sys.rst:1692 msgid "*object*: Object causing the exception, can be ``None``." msgstr "*object* : Objet causant l'exception, peut être ``None``." -#: library/sys.rst:1679 +#: library/sys.rst:1694 msgid "" "The default hook formats *err_msg* and *object* as: ``f'{err_msg}: {object!" "r}'``; use \"Exception ignored in\" error message if *err_msg* is ``None``." @@ -3214,7 +3252,7 @@ msgstr "" "suivante : ``f'{err_msg}: {object!r}'``; sinon utilise \"*Exception ignored " "in*\" dans le message d'erreur si *err_msg* est à ``None``." -#: library/sys.rst:1683 +#: library/sys.rst:1698 msgid "" ":func:`sys.unraisablehook` can be overridden to control how unraisable " "exceptions are handled." @@ -3222,7 +3260,7 @@ msgstr "" ":func:`sys.unraisablehook` peut être remplacé pour contrôler comment les " "exceptions *non levables* (**unraisable** en anglais) sont gérées." -#: library/sys.rst:1686 +#: library/sys.rst:1701 msgid "" "Storing *exc_value* using a custom hook can create a reference cycle. It " "should be cleared explicitly to break the reference cycle when the exception " @@ -3232,7 +3270,7 @@ msgstr "" "créer un cycle de références. *exc_value* doit être nettoyée explicitement " "pour casser ce cycle lorsque l'exception n'est plus nécessaire." -#: library/sys.rst:1690 +#: library/sys.rst:1705 #, fuzzy msgid "" "Storing *object* using a custom hook can resurrect it if it is set to an " @@ -3244,17 +3282,17 @@ msgstr "" "*thread* après la fin de la fonction de rappel, pour éviter de ressusciter " "des objets." -#: library/sys.rst:1694 +#: library/sys.rst:1709 msgid "See also :func:`excepthook` which handles uncaught exceptions." msgstr "Voir aussi :func:`excepthook` qui gère les exceptions *non levables*." -#: library/sys.rst:1696 +#: library/sys.rst:1711 msgid "" "Raises an :ref:`auditing event ` ``sys.unraisablehook`` with " "arguments ``hook``, ``unraisable``." msgstr "" -#: library/sys.rst:1698 +#: library/sys.rst:1713 msgid "" "Raise an auditing event ``sys.unraisablehook`` with arguments ``hook``, " "``unraisable`` when an exception that cannot be handled occurs. The " @@ -3266,7 +3304,7 @@ msgstr "" "produit. L'objet ``unraisable`` est le même qui sera passé au point " "d'entrée. Si aucun point d'entrée n'est défini, ``hook`` peut être ``None``." -#: library/sys.rst:1707 +#: library/sys.rst:1722 msgid "" "A string containing the version number of the Python interpreter plus " "additional information on the build number and compiler used. This string " @@ -3281,7 +3319,7 @@ msgstr "" "utilisez plutôt :data:`version_info` et les fonctions fournies par le " "module :mod:`platform`." -#: library/sys.rst:1716 +#: library/sys.rst:1731 msgid "" "The C API version for this interpreter. Programmers may find this useful " "when debugging version conflicts between Python and extension modules." @@ -3290,7 +3328,7 @@ msgstr "" "trouver cette information utile en déboguant des conflits de versions entre " "Python et des modules d'extension." -#: library/sys.rst:1722 +#: library/sys.rst:1737 msgid "" "A tuple containing the five components of the version number: *major*, " "*minor*, *micro*, *releaselevel*, and *serial*. All values except " @@ -3308,11 +3346,11 @@ msgstr "" "attributs sont aussi accessibles par leur nom, ainsi ``sys.version_info[0]`` " "est équivalent à ``sys.version_info.major``, et ainsi de suite." -#: library/sys.rst:1730 +#: library/sys.rst:1745 msgid "Added named component attributes." msgstr "Ajout des attributs nommés." -#: library/sys.rst:1735 +#: library/sys.rst:1750 msgid "" "This is an implementation detail of the warnings framework; do not modify " "this value. Refer to the :mod:`warnings` module for more information on the " @@ -3322,13 +3360,14 @@ msgstr "" "Ne modifiez pas cette valeur. Reportez-vous au module :mod:`warnings` pour " "plus d'informations sur le gestionnaire d'avertissements." -#: library/sys.rst:1742 +#: library/sys.rst:1757 +#, fuzzy msgid "" "The version number used to form registry keys on Windows platforms. This is " "stored as string resource 1000 in the Python DLL. The value is normally the " -"first three characters of :const:`version`. It is provided in the :mod:" -"`sys` module for informational purposes; modifying this value has no effect " -"on the registry keys used by Python." +"major and minor versions of the running Python interpreter. It is provided " +"in the :mod:`sys` module for informational purposes; modifying this value " +"has no effect on the registry keys used by Python." msgstr "" "Le numéro de version utilisé pour construire les clefs de registre sous " "Windows. Elle est stockée en tant que *string resource* 1000 dans la DLL " @@ -3337,7 +3376,7 @@ msgstr "" "d'information, et la modifier n'a aucun effet sur les clés de registre " "utilisées par Python." -#: library/sys.rst:1753 +#: library/sys.rst:1768 msgid "" "A dictionary of the various implementation-specific flags passed through " "the :option:`-X` command-line option. Option names are either mapped to " @@ -3348,7 +3387,7 @@ msgstr "" "correspondent soit leur valeur, si elle est donnée explicitement, soit à :" "const:`True`. Exemple :" -#: library/sys.rst:1769 +#: library/sys.rst:1784 msgid "" "This is a CPython-specific way of accessing options passed through :option:`-" "X`. Other implementations may export them through other means, or not at " @@ -3358,11 +3397,11 @@ msgstr "" "l'option :option:`-X`. D'autres implémentations pourraient les exposer par " "d'autres moyens, ou pas du tout." -#: library/sys.rst:1777 +#: library/sys.rst:1792 msgid "Citations" msgstr "Citations" -#: library/sys.rst:1778 +#: library/sys.rst:1793 #, fuzzy msgid "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " @@ -3373,6 +3412,15 @@ msgstr "" "de ce standard est disponible à http://www.open-std.org/jtc1/sc22/wg14/www/" "docs/n1256.pdf\\ ." +#~ msgid ":const:`dig`" +#~ msgstr ":const:`dig`" + +#~ msgid ":const:`max`" +#~ msgstr ":const:`max`" + +#~ msgid ":const:`min`" +#~ msgstr ":const:`min`" + #~ msgid "" #~ "Since :func:`exit` ultimately \"only\" raises an exception, it will only " #~ "exit the process when called from the main thread, and the exception is " diff --git a/library/traceback.po b/library/traceback.po index 16c63b19c3..13f3e1509f 100644 --- a/library/traceback.po +++ b/library/traceback.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -39,11 +39,29 @@ msgid "" "from :func:`sys.exc_info`." msgstr "" -#: library/traceback.rst:23 +#: library/traceback.rst:26 +msgid "Module :mod:`faulthandler`" +msgstr "" + +#: library/traceback.rst:26 +msgid "" +"Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " +"on a user signal." +msgstr "" + +#: library/traceback.rst:28 +msgid "Module :mod:`pdb`" +msgstr "" + +#: library/traceback.rst:29 +msgid "Interactive source code debugger for Python programs." +msgstr "" + +#: library/traceback.rst:31 msgid "The module defines the following functions:" msgstr "Le module définit les fonctions suivantes :" -#: library/traceback.rst:28 +#: library/traceback.rst:35 msgid "" "Print up to *limit* stack trace entries from traceback object *tb* (starting " "from the caller's frame) if *limit* is positive. Otherwise, print the last " @@ -53,41 +71,41 @@ msgid "" "the output." msgstr "" -#: library/traceback.rst:98 +#: library/traceback.rst:105 msgid "Added negative *limit* support." msgstr "" -#: library/traceback.rst:42 +#: library/traceback.rst:49 msgid "" "Print exception information and stack trace entries from traceback object " "*tb* to *file*. This differs from :func:`print_tb` in the following ways:" msgstr "" -#: library/traceback.rst:46 +#: library/traceback.rst:53 msgid "" "if *tb* is not ``None``, it prints a header ``Traceback (most recent call " "last):``" msgstr "" -#: library/traceback.rst:49 +#: library/traceback.rst:56 msgid "it prints the exception type and *value* after the stack trace" msgstr "" -#: library/traceback.rst:53 +#: library/traceback.rst:60 msgid "" "if *type(value)* is :exc:`SyntaxError` and *value* has the appropriate " "format, it prints the line where the syntax error occurred with a caret " "indicating the approximate position of the error." msgstr "" -#: library/traceback.rst:57 +#: library/traceback.rst:64 msgid "" "Since Python 3.10, instead of passing *value* and *tb*, an exception object " "can be passed as the first argument. If *value* and *tb* are provided, the " "first argument is ignored in order to provide backwards compatibility." msgstr "" -#: library/traceback.rst:61 +#: library/traceback.rst:68 msgid "" "The optional *limit* argument has the same meaning as for :func:`print_tb`. " "If *chain* is true (the default), then chained exceptions (the :attr:" @@ -96,29 +114,29 @@ msgid "" "exception." msgstr "" -#: library/traceback.rst:160 +#: library/traceback.rst:167 msgid "The *etype* argument is ignored and inferred from the type of *value*." msgstr "" -#: library/traceback.rst:147 +#: library/traceback.rst:154 msgid "" "The *etype* parameter has been renamed to *exc* and is now positional-only." msgstr "" -#: library/traceback.rst:77 +#: library/traceback.rst:84 msgid "" "This is a shorthand for ``print_exception(*sys.exc_info(), limit, file, " "chain)``." msgstr "" -#: library/traceback.rst:83 +#: library/traceback.rst:90 msgid "" "This is a shorthand for ``print_exception(sys.last_type, sys.last_value, sys." "last_traceback, limit, file, chain)``. In general it will work only after " "an exception has reached an interactive prompt (see :data:`sys.last_type`)." msgstr "" -#: library/traceback.rst:91 +#: library/traceback.rst:98 msgid "" "Print up to *limit* stack trace entries (starting from the invocation point) " "if *limit* is positive. Otherwise, print the last ``abs(limit)`` entries. " @@ -127,7 +145,7 @@ msgid "" "optional *file* argument has the same meaning as for :func:`print_tb`." msgstr "" -#: library/traceback.rst:104 +#: library/traceback.rst:111 msgid "" "Return a :class:`StackSummary` object representing a list of \"pre-" "processed\" stack trace entries extracted from the traceback object *tb*. " @@ -141,14 +159,14 @@ msgid "" "stripped; if the source is not available it is ``None``." msgstr "" -#: library/traceback.rst:118 +#: library/traceback.rst:125 msgid "" "Extract the raw traceback from the current stack frame. The return value " "has the same format as for :func:`extract_tb`. The optional *f* and *limit* " "arguments have the same meaning as for :func:`print_stack`." msgstr "" -#: library/traceback.rst:125 +#: library/traceback.rst:132 msgid "" "Given a list of tuples or :class:`FrameSummary` objects as returned by :func:" "`extract_tb` or :func:`extract_stack`, return a list of strings ready for " @@ -158,7 +176,7 @@ msgid "" "text line is not ``None``." msgstr "" -#: library/traceback.rst:135 +#: library/traceback.rst:142 msgid "" "Format the exception part of a traceback using an exception value such as " "given by ``sys.last_value``. The return value is a list of strings, each " @@ -169,14 +187,14 @@ msgid "" "the list." msgstr "" -#: library/traceback.rst:143 +#: library/traceback.rst:150 msgid "" "Since Python 3.10, instead of passing *value*, an exception object can be " "passed as the first argument. If *value* is provided, the first argument is " "ignored in order to provide backwards compatibility." msgstr "" -#: library/traceback.rst:154 +#: library/traceback.rst:161 msgid "" "Format a stack trace and the exception information. The arguments have the " "same meaning as the corresponding arguments to :func:`print_exception`. The " @@ -185,66 +203,66 @@ msgid "" "printed, exactly the same text is printed as does :func:`print_exception`." msgstr "" -#: library/traceback.rst:163 +#: library/traceback.rst:170 msgid "" "This function's behavior and signature were modified to match :func:" "`print_exception`." msgstr "" -#: library/traceback.rst:170 +#: library/traceback.rst:177 msgid "" "This is like ``print_exc(limit)`` but returns a string instead of printing " "to a file." msgstr "" -#: library/traceback.rst:176 +#: library/traceback.rst:183 msgid "A shorthand for ``format_list(extract_tb(tb, limit))``." msgstr "" -#: library/traceback.rst:181 +#: library/traceback.rst:188 msgid "A shorthand for ``format_list(extract_stack(f, limit))``." msgstr "" -#: library/traceback.rst:185 +#: library/traceback.rst:192 msgid "" "Clears the local variables of all the stack frames in a traceback *tb* by " "calling the :meth:`clear` method of each frame object." msgstr "" -#: library/traceback.rst:192 +#: library/traceback.rst:199 msgid "" "Walk a stack following ``f.f_back`` from the given frame, yielding the frame " "and line number for each frame. If *f* is ``None``, the current stack is " "used. This helper is used with :meth:`StackSummary.extract`." msgstr "" -#: library/traceback.rst:200 +#: library/traceback.rst:207 msgid "" "Walk a traceback following ``tb_next`` yielding the frame and line number " "for each frame. This helper is used with :meth:`StackSummary.extract`." msgstr "" -#: library/traceback.rst:205 +#: library/traceback.rst:212 msgid "The module also defines the following classes:" msgstr "" -#: library/traceback.rst:208 +#: library/traceback.rst:215 msgid ":class:`TracebackException` Objects" msgstr "" -#: library/traceback.rst:212 +#: library/traceback.rst:219 msgid "" ":class:`TracebackException` objects are created from actual exceptions to " "capture data for later printing in a lightweight fashion." msgstr "" -#: library/traceback.rst:269 +#: library/traceback.rst:276 msgid "" "Capture an exception for later rendering. *limit*, *lookup_lines* and " "*capture_locals* are as for the :class:`StackSummary` class." msgstr "" -#: library/traceback.rst:220 +#: library/traceback.rst:227 msgid "" "If *compact* is true, only data that is required by :class:" "`TracebackException`'s ``format`` method is saved in the class attributes. " @@ -252,109 +270,109 @@ msgid "" "is ``None`` and ``__suppress_context__`` is false." msgstr "" -#: library/traceback.rst:272 +#: library/traceback.rst:279 msgid "" "Note that when locals are captured, they are also shown in the traceback." msgstr "" -#: library/traceback.rst:229 +#: library/traceback.rst:236 msgid "A :class:`TracebackException` of the original ``__cause__``." msgstr "" -#: library/traceback.rst:233 +#: library/traceback.rst:240 msgid "A :class:`TracebackException` of the original ``__context__``." msgstr "" -#: library/traceback.rst:237 +#: library/traceback.rst:244 msgid "The ``__suppress_context__`` value from the original exception." msgstr "" -#: library/traceback.rst:241 +#: library/traceback.rst:248 msgid "A :class:`StackSummary` representing the traceback." msgstr "" -#: library/traceback.rst:245 +#: library/traceback.rst:252 msgid "The class of the original traceback." msgstr "" -#: library/traceback.rst:249 +#: library/traceback.rst:256 msgid "For syntax errors - the file name where the error occurred." msgstr "" -#: library/traceback.rst:253 +#: library/traceback.rst:260 msgid "For syntax errors - the line number where the error occurred." msgstr "" -#: library/traceback.rst:257 +#: library/traceback.rst:264 msgid "For syntax errors - the text where the error occurred." msgstr "" -#: library/traceback.rst:261 +#: library/traceback.rst:268 msgid "For syntax errors - the offset into the text where the error occurred." msgstr "" -#: library/traceback.rst:265 +#: library/traceback.rst:272 msgid "For syntax errors - the compiler error message." msgstr "" -#: library/traceback.rst:276 +#: library/traceback.rst:283 msgid "Format the exception." msgstr "" -#: library/traceback.rst:278 +#: library/traceback.rst:285 msgid "" "If *chain* is not ``True``, ``__cause__`` and ``__context__`` will not be " "formatted." msgstr "" -#: library/traceback.rst:281 +#: library/traceback.rst:288 msgid "" "The return value is a generator of strings, each ending in a newline and " "some containing internal newlines. :func:`~traceback.print_exception` is a " "wrapper around this method which just prints the lines to a file." msgstr "" -#: library/traceback.rst:299 +#: library/traceback.rst:306 msgid "" "The message indicating which exception occurred is always the last string in " "the output." msgstr "" -#: library/traceback.rst:290 +#: library/traceback.rst:297 msgid "Format the exception part of the traceback." msgstr "" -#: library/traceback.rst:292 +#: library/traceback.rst:299 msgid "The return value is a generator of strings, each ending in a newline." msgstr "" -#: library/traceback.rst:294 +#: library/traceback.rst:301 msgid "" "Normally, the generator emits a single string; however, for :exc:" "`SyntaxError` exceptions, it emits several lines that (when printed) display " "detailed information about where the syntax error occurred." msgstr "" -#: library/traceback.rst:302 +#: library/traceback.rst:309 msgid "Added the *compact* parameter." msgstr "Ajout du paramètre *compact*." -#: library/traceback.rst:307 +#: library/traceback.rst:314 msgid ":class:`StackSummary` Objects" msgstr "" -#: library/traceback.rst:311 +#: library/traceback.rst:318 msgid "" ":class:`StackSummary` objects represent a call stack ready for formatting." msgstr "" -#: library/traceback.rst:317 +#: library/traceback.rst:324 msgid "" "Construct a :class:`StackSummary` object from a frame generator (such as is " "returned by :func:`~traceback.walk_stack` or :func:`~traceback.walk_tb`)." msgstr "" -#: library/traceback.rst:321 +#: library/traceback.rst:328 msgid "" "If *limit* is supplied, only this many frames are taken from *frame_gen*. If " "*lookup_lines* is ``False``, the returned :class:`FrameSummary` objects will " @@ -364,14 +382,14 @@ msgid "" "class:`FrameSummary` are captured as object representations." msgstr "" -#: library/traceback.rst:331 +#: library/traceback.rst:338 msgid "" "Construct a :class:`StackSummary` object from a supplied list of :class:" "`FrameSummary` objects or old-style list of tuples. Each tuple should be a " "4-tuple with filename, lineno, name, line as the elements." msgstr "" -#: library/traceback.rst:337 +#: library/traceback.rst:344 msgid "" "Returns a list of strings ready for printing. Each string in the resulting " "list corresponds to a single frame from the stack. Each string ends in a " @@ -379,26 +397,26 @@ msgid "" "with source text lines." msgstr "" -#: library/traceback.rst:342 +#: library/traceback.rst:349 msgid "" "For long sequences of the same frame and line, the first few repetitions are " "shown, followed by a summary line stating the exact number of further " "repetitions." msgstr "" -#: library/traceback.rst:346 +#: library/traceback.rst:353 msgid "Long sequences of repeated frames are now abbreviated." msgstr "" -#: library/traceback.rst:351 +#: library/traceback.rst:358 msgid ":class:`FrameSummary` Objects" msgstr "" -#: library/traceback.rst:355 +#: library/traceback.rst:362 msgid ":class:`FrameSummary` objects represent a single frame in a traceback." msgstr "" -#: library/traceback.rst:359 +#: library/traceback.rst:366 msgid "" "Represent a single frame in the traceback or stack that is being formatted " "or printed. It may optionally have a stringified version of the frames " @@ -411,11 +429,11 @@ msgid "" "display." msgstr "" -#: library/traceback.rst:372 +#: library/traceback.rst:379 msgid "Traceback Examples" msgstr "" -#: library/traceback.rst:374 +#: library/traceback.rst:381 msgid "" "This simple example implements a basic read-eval-print loop, similar to (but " "less useful than) the standard Python interactive interpreter loop. For a " @@ -423,22 +441,22 @@ msgid "" "`code` module. ::" msgstr "" -#: library/traceback.rst:396 +#: library/traceback.rst:403 msgid "" "The following example demonstrates the different ways to print and format " "the exception and traceback:" msgstr "" -#: library/traceback.rst:435 +#: library/traceback.rst:438 msgid "The output for the example would look similar to this:" msgstr "" -#: library/traceback.rst:477 +#: library/traceback.rst:480 msgid "" "The following example shows the different ways to print and format the " "stack::" msgstr "" -#: library/traceback.rst:503 +#: library/traceback.rst:506 msgid "This last example demonstrates the final few formatting functions:" msgstr "" diff --git a/library/turtle.po b/library/turtle.po index 22d8e824e2..e81478824b 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:14+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -256,7 +256,7 @@ msgstr ":func:`setheading` | :func:`seth`" msgid ":func:`home`" msgstr ":func:`home`" -#: library/turtle.rst:2463 +#: library/turtle.rst:2467 msgid ":func:`circle`" msgstr ":func:`circle`" @@ -264,7 +264,7 @@ msgstr ":func:`circle`" msgid ":func:`dot`" msgstr ":func:`dot`" -#: library/turtle.rst:2441 +#: library/turtle.rst:2445 msgid ":func:`stamp`" msgstr ":func:`stamp`" @@ -464,7 +464,7 @@ msgstr ":func:`get_shapepoly`" msgid "Using events" msgstr "Utilisation des événements" -#: library/turtle.rst:2435 +#: library/turtle.rst:2439 msgid ":func:`onclick`" msgstr ":func:`onclick`" @@ -472,7 +472,7 @@ msgstr ":func:`onclick`" msgid ":func:`onrelease`" msgstr ":func:`onrelease`" -#: library/turtle.rst:2418 +#: library/turtle.rst:2422 msgid ":func:`ondrag`" msgstr ":func:`ondrag`" @@ -492,7 +492,7 @@ msgstr ":func:`end_poly`" msgid ":func:`get_poly`" msgstr ":func:`get_poly`" -#: library/turtle.rst:2454 +#: library/turtle.rst:2461 msgid ":func:`clone`" msgstr ":func:`clone`" @@ -1507,13 +1507,14 @@ msgid "positive number" msgstr "nombre positif" #: library/turtle.rst:1212 +#, fuzzy msgid "" "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " "resizemode to \"user\". If and only if resizemode is set to \"user\", the " "turtle will be displayed stretched according to its stretchfactors: " "*stretch_wid* is stretchfactor perpendicular to its orientation, " "*stretch_len* is stretchfactor in direction of its orientation, *outline* " -"determines the width of the shapes's outline." +"determines the width of the shape's outline." msgstr "" "Renvoie ou définit les attributs x/y-stretchfactors* et/ou contour du stylo. " "Définit *resizemode* à \"user\". Si et seulement si *resizemode* est à " @@ -1763,9 +1764,10 @@ msgid "Create an empty Shape object of type \"compound\"." msgstr "Créez un objet Shape vide de type \"compound\"." #: library/turtle.rst:1547 +#, fuzzy msgid "" -"Add as many components to this object as desired, using the :meth:" -"`addcomponent` method." +"Add as many components to this object as desired, using the :meth:`~Shape." +"addcomponent` method." msgstr "" "Ajoutez autant de composants que désirés à cet objet, en utilisant la " "méthode :meth:`addcomponent`." @@ -2379,9 +2381,10 @@ msgid "a :class:`tkinter.Canvas`" msgstr "un :class:`tkinter.Canvas`" #: library/turtle.rst:2128 +#, fuzzy msgid "" -"Provides screen oriented methods like :func:`setbg` etc. that are described " -"above." +"Provides screen oriented methods like :func:`bgcolor` etc. that are " +"described above." msgstr "" "Fournis les méthodes liées à l'écran comme :func:`setbg`, etc. qui sont " "décrites ci-dessus." @@ -2659,31 +2662,34 @@ msgstr "" "configuration en utilisant les paramètres du fichier." #: library/turtle.rst:2318 +#, fuzzy msgid "" -"The built in configuration would correspond to the following turtle.cfg::" +"The built in configuration would correspond to the following ``turtle.cfg``:" msgstr "La configuration native correspondrait au *turtle.cfg* suivant ::" -#: library/turtle.rst:2341 +#: library/turtle.rst:2343 msgid "Short explanation of selected entries:" msgstr "Brève explication des entrées sélectionnées :" -#: library/turtle.rst:2343 +#: library/turtle.rst:2345 +#, fuzzy msgid "" -"The first four lines correspond to the arguments of the :meth:`Screen.setup` " -"method." +"The first four lines correspond to the arguments of the :func:`Screen.setup " +"` method." msgstr "" "Les quatre premières lignes correspondent aux arguments de la méthode :meth:" "`Screen.setup`." -#: library/turtle.rst:2345 +#: library/turtle.rst:2347 +#, fuzzy msgid "" -"Line 5 and 6 correspond to the arguments of the method :meth:`Screen." -"screensize`." +"Line 5 and 6 correspond to the arguments of the method :func:`Screen." +"screensize `." msgstr "" "Les lignes 5 et 6 correspondent aux arguments de la méthode :meth:`Screen." "screensize`." -#: library/turtle.rst:2347 +#: library/turtle.rst:2349 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." @@ -2691,18 +2697,19 @@ msgstr "" "*shape* peut être n'importe quelle forme native, par exemple *arrow*, " "*turtle* etc. Pour plus d'informations, essayez ``help(shape)``." -#: library/turtle.rst:2349 +#: library/turtle.rst:2351 +#, fuzzy msgid "" -"If you want to use no fillcolor (i.e. make the turtle transparent), you have " -"to write ``fillcolor = \"\"`` (but all nonempty strings must not have quotes " -"in the cfg-file)." +"If you want to use no fill color (i.e. make the turtle transparent), you " +"have to write ``fillcolor = \"\"`` (but all nonempty strings must not have " +"quotes in the cfg file)." msgstr "" "Si vous ne voulez utiliser aucune couleur de remplissage (c'est-à-dire " "rendre la tortue transparente), vous devez écrire ``fillcolor = \"\"`` (mais " "toutes les chaînes non vides ne doivent pas avoir de guillemets dans le " "fichier *cfg*)." -#: library/turtle.rst:2352 +#: library/turtle.rst:2354 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." @@ -2710,7 +2717,7 @@ msgstr "" "Si vous voulez refléter l'état de la tortue, vous devez utiliser " "``resizemode = auto``." -#: library/turtle.rst:2354 +#: library/turtle.rst:2356 msgid "" "If you set e.g. ``language = italian`` the docstringdict :file:" "`turtle_docstringdict_italian.py` will be loaded at import time (if present " @@ -2721,7 +2728,7 @@ msgstr "" "de l'importation (si présent dans les chemins d'importations, par exemple " "dans le même dossier que :mod:`turtle`)." -#: library/turtle.rst:2357 +#: library/turtle.rst:2359 msgid "" "The entries *exampleturtle* and *examplescreen* define the names of these " "objects as they occur in the docstrings. The transformation of method-" @@ -2733,7 +2740,7 @@ msgstr "" "méthodes-*docstrings* vers fonction-*docstrings* supprimera ces noms des " "*docstrings*." -#: library/turtle.rst:2361 +#: library/turtle.rst:2363 msgid "" "*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its -" "n switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " @@ -2743,7 +2750,7 @@ msgstr "" "avec IDLE et son option ``-n`` (pas de sous processus). Cela évitera " "l'entrée de :func:`exitonclick` dans la boucle principale." -#: library/turtle.rst:2365 +#: library/turtle.rst:2367 msgid "" "There can be a :file:`turtle.cfg` file in the directory where :mod:`turtle` " "is stored and an additional one in the current working directory. The " @@ -2753,7 +2760,7 @@ msgstr "" "`turtle` et un autre dans le dossier de travail courant. Ce dernier prendra " "le dessus." -#: library/turtle.rst:2369 +#: library/turtle.rst:2371 msgid "" "The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " "You can study it as an example and see its effects when running the demos " @@ -2764,11 +2771,11 @@ msgstr "" "les démos (il est préférable de ne pas le faire depuis la visionneuse de " "démos)." -#: library/turtle.rst:2375 +#: library/turtle.rst:2377 msgid ":mod:`turtledemo` --- Demo scripts" msgstr ":mod:`turtledemo` — Scripts de démonstration" -#: library/turtle.rst:2380 +#: library/turtle.rst:2382 msgid "" "The :mod:`turtledemo` package includes a set of demo scripts. These scripts " "can be run and viewed using the supplied demo viewer as follows::" @@ -2777,18 +2784,18 @@ msgstr "" "Ces scripts peuvent être lancés et observés en utilisant la visionneuse de " "démos comme suit ::" -#: library/turtle.rst:2385 +#: library/turtle.rst:2387 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" "Alternativement, vous pouvez lancer les scripts de démo individuellement. " "Par exemple ::" -#: library/turtle.rst:2389 +#: library/turtle.rst:2391 msgid "The :mod:`turtledemo` package directory contains:" msgstr "Le paquet :mod:`turtledemo` contient :" -#: library/turtle.rst:2391 +#: library/turtle.rst:2393 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." @@ -2796,7 +2803,7 @@ msgstr "" "Une visionneuse :file:`__main__.py` qui peut être utilisée pour lire le code " "source de ces scripts et pour les faire tourner en même temps." -#: library/turtle.rst:2393 +#: library/turtle.rst:2395 msgid "" "Multiple scripts demonstrating different features of the :mod:`turtle` " "module. Examples can be accessed via the Examples menu. They can also be " @@ -2806,7 +2813,7 @@ msgstr "" "`turtle`. Les exemples peuvent être consultés via le menu *Examples*. Ils " "peuvent aussi être lancés de manière autonome." -#: library/turtle.rst:2396 +#: library/turtle.rst:2398 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." @@ -2814,39 +2821,39 @@ msgstr "" "Un fichier exemple :file:`turtle.cfg` montrant comment rédiger de tels " "fichiers." -#: library/turtle.rst:2399 +#: library/turtle.rst:2401 msgid "The demo scripts are:" msgstr "Les scripts de démonstration sont :" -#: library/turtle.rst:2404 +#: library/turtle.rst:2408 msgid "Name" msgstr "Nom" -#: library/turtle.rst:2404 +#: library/turtle.rst:2408 msgid "Description" msgstr "Description" -#: library/turtle.rst:2404 +#: library/turtle.rst:2408 msgid "Features" msgstr "Caractéristiques" -#: library/turtle.rst:2406 +#: library/turtle.rst:2410 msgid "bytedesign" msgstr "*bytedesign*" -#: library/turtle.rst:2406 +#: library/turtle.rst:2410 msgid "complex classical turtle graphics pattern" msgstr "motif complexe de la tortue graphique classique" -#: library/turtle.rst:2406 +#: library/turtle.rst:2410 msgid ":func:`tracer`, delay, :func:`update`" msgstr ":func:`tracer`, temps mort, :func:`update`" -#: library/turtle.rst:2409 +#: library/turtle.rst:2413 msgid "chaos" msgstr "chaos" -#: library/turtle.rst:2409 +#: library/turtle.rst:2413 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" @@ -2855,218 +2862,220 @@ msgstr "" "l'ordinateur peuvent générer des résultats qui vont parfois à l'encontre du " "bon sens" -#: library/turtle.rst:2409 +#: library/turtle.rst:2413 msgid "world coordinates" msgstr "*world coordinates*" -#: library/turtle.rst:2415 +#: library/turtle.rst:2419 msgid "clock" msgstr "*clock*" -#: library/turtle.rst:2415 +#: library/turtle.rst:2419 msgid "analog clock showing time of your computer" msgstr "horloge analogique indiquant l'heure de votre ordinateur" -#: library/turtle.rst:2415 +#: library/turtle.rst:2419 msgid "turtles as clock's hands, ontimer" msgstr "tortues sous forme des aiguilles d'horloge, sur minuterie" -#: library/turtle.rst:2418 +#: library/turtle.rst:2422 msgid "colormixer" msgstr "*colormixer* (mélangeur de couleurs)" -#: library/turtle.rst:2418 +#: library/turtle.rst:2422 msgid "experiment with r, g, b" msgstr "des expériences en rouge, vert, bleu" -#: library/turtle.rst:2420 +#: library/turtle.rst:2424 msgid "forest" msgstr "*forest* (forêt)" -#: library/turtle.rst:2420 +#: library/turtle.rst:2424 msgid "3 breadth-first trees" msgstr "3 arbres tracés par un parcours en largeur" -#: library/turtle.rst:2420 +#: library/turtle.rst:2424 msgid "randomization" msgstr "*randomization* (répartition aléatoire)" -#: library/turtle.rst:2422 +#: library/turtle.rst:2426 msgid "fractalcurves" msgstr "*fractalcurves*" -#: library/turtle.rst:2422 +#: library/turtle.rst:2426 msgid "Hilbert & Koch curves" msgstr "Courbes de Hilbert et de Koch" -#: library/turtle.rst:2422 +#: library/turtle.rst:2426 msgid "recursion" msgstr "récursivité" -#: library/turtle.rst:2424 +#: library/turtle.rst:2428 msgid "lindenmayer" msgstr "*lindenmayer*" -#: library/turtle.rst:2424 +#: library/turtle.rst:2428 msgid "ethnomathematics (indian kolams)" msgstr "ethnomathématiques (kolams indiens)" -#: library/turtle.rst:2424 +#: library/turtle.rst:2428 msgid "L-System" msgstr "*L-Système*" -#: library/turtle.rst:2427 +#: library/turtle.rst:2431 msgid "minimal_hanoi" msgstr "*minimal_hanoi*" -#: library/turtle.rst:2427 +#: library/turtle.rst:2431 msgid "Towers of Hanoi" msgstr "Tours de Hanoï" -#: library/turtle.rst:2427 +#: library/turtle.rst:2431 msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" msgstr "" "Des tortues rectangulaires à la place des disques (*shape*, *shapesize*)" -#: library/turtle.rst:2431 +#: library/turtle.rst:2435 msgid "nim" msgstr "*nim*" -#: library/turtle.rst:2431 +#: library/turtle.rst:2435 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" "jouez au classique jeu de *nim* avec trois piles de bâtons contre " "l'ordinateur." -#: library/turtle.rst:2431 +#: library/turtle.rst:2435 msgid "turtles as nimsticks, event driven (mouse, keyboard)" msgstr "" "tortues en tant que bâtons de *nim*, géré par des événements (clavier et " "souris)" -#: library/turtle.rst:2435 +#: library/turtle.rst:2439 msgid "paint" msgstr "*paint* (peinture)" -#: library/turtle.rst:2435 +#: library/turtle.rst:2439 msgid "super minimalistic drawing program" msgstr "programme de dessin extra minimaliste" -#: library/turtle.rst:2438 +#: library/turtle.rst:2442 msgid "peace" msgstr "*peace* (paix)" -#: library/turtle.rst:2438 +#: library/turtle.rst:2442 msgid "elementary" msgstr "basique" -#: library/turtle.rst:2438 +#: library/turtle.rst:2442 msgid "turtle: appearance and animation" msgstr "tortue : apparence et animation" -#: library/turtle.rst:2441 +#: library/turtle.rst:2445 msgid "penrose" msgstr "*penrose*" -#: library/turtle.rst:2441 +#: library/turtle.rst:2445 msgid "aperiodic tiling with kites and darts" msgstr "tuiles apériodiques avec cerfs-volants et fléchettes" -#: library/turtle.rst:2444 +#: library/turtle.rst:2448 msgid "planet_and_moon" msgstr "*planet_and_moon* (planète et lune)" -#: library/turtle.rst:2444 +#: library/turtle.rst:2448 msgid "simulation of gravitational system" msgstr "simulation d'un système gravitationnel" -#: library/turtle.rst:2444 +#: library/turtle.rst:2448 msgid "compound shapes, :class:`Vec2D`" msgstr "formes composées, :class:`Vec2D`" -#: library/turtle.rst:2447 +#: library/turtle.rst:2451 +msgid "rosette" +msgstr "" + +#: library/turtle.rst:2451 +msgid "a pattern from the wikipedia article on turtle graphics" +msgstr "un motif issu de l'article de *wikipedia* sur la tortue graphique" + +#: library/turtle.rst:2451 +msgid ":func:`clone`, :func:`undo`" +msgstr ":func:`clone`, :func:`undo`" + +#: library/turtle.rst:2454 msgid "round_dance" msgstr "*round_dance*" -#: library/turtle.rst:2447 +#: library/turtle.rst:2454 msgid "dancing turtles rotating pairwise in opposite direction" msgstr "tortues dansantes tournant par paires en sens inverse" -#: library/turtle.rst:2447 +#: library/turtle.rst:2454 msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" msgstr "" "formes composées, clones de la forme (*shapesize*), rotation, " "*get_shapepoly*, *update*" -#: library/turtle.rst:2451 +#: library/turtle.rst:2458 msgid "sorting_animate" msgstr "*sorting_animate*" -#: library/turtle.rst:2451 +#: library/turtle.rst:2458 msgid "visual demonstration of different sorting methods" msgstr "démonstration visuelle des différentes méthodes de classement" -#: library/turtle.rst:2451 +#: library/turtle.rst:2458 msgid "simple alignment, randomization" msgstr "alignement simple, répartition aléatoire" -#: library/turtle.rst:2454 +#: library/turtle.rst:2461 msgid "tree" msgstr "*tree* (arbre)" -#: library/turtle.rst:2454 +#: library/turtle.rst:2461 msgid "a (graphical) breadth first tree (using generators)" msgstr "un arbre (tracé) par un parcours en largeur (à l’aide de générateurs)" -#: library/turtle.rst:2457 +#: library/turtle.rst:2464 msgid "two_canvases" msgstr "*two_canvases* (deux toiles)" -#: library/turtle.rst:2457 +#: library/turtle.rst:2464 msgid "simple design" msgstr "design simple" -#: library/turtle.rst:2457 +#: library/turtle.rst:2464 msgid "turtles on two canvases" msgstr "tortues sur deux canevas" -#: library/turtle.rst:2460 -msgid "wikipedia" -msgstr "*wikipedia*" - -#: library/turtle.rst:2460 -msgid "a pattern from the wikipedia article on turtle graphics" -msgstr "un motif issu de l'article de *wikipedia* sur la tortue graphique" - -#: library/turtle.rst:2460 -msgid ":func:`clone`, :func:`undo`" -msgstr ":func:`clone`, :func:`undo`" - -#: library/turtle.rst:2463 +#: library/turtle.rst:2467 msgid "yinyang" msgstr "*yinyang*" -#: library/turtle.rst:2463 +#: library/turtle.rst:2467 msgid "another elementary example" msgstr "un autre exemple élémentaire" -#: library/turtle.rst:2466 +#: library/turtle.rst:2470 msgid "Have fun!" msgstr "Amusez-vous !" -#: library/turtle.rst:2470 +#: library/turtle.rst:2474 msgid "Changes since Python 2.6" msgstr "Modifications depuis Python 2.6" -#: library/turtle.rst:2472 +#: library/turtle.rst:2476 +#, fuzzy msgid "" -"The methods :meth:`Turtle.tracer`, :meth:`Turtle.window_width` and :meth:" -"`Turtle.window_height` have been eliminated. Methods with these names and " -"functionality are now available only as methods of :class:`Screen`. The " -"functions derived from these remain available. (In fact already in Python " -"2.6 these methods were merely duplications of the corresponding :class:" -"`TurtleScreen`/:class:`Screen`-methods.)" +"The methods :func:`Turtle.tracer `, :func:`Turtle.window_width " +"` and :func:`Turtle.window_height ` have been " +"eliminated. Methods with these names and functionality are now available " +"only as methods of :class:`Screen`. The functions derived from these remain " +"available. (In fact already in Python 2.6 these methods were merely " +"duplications of the corresponding :class:`TurtleScreen`/:class:`Screen` " +"methods.)" msgstr "" "Les méthodes :meth:`Turtle.tracer`, :meth:`Turtle.window_width` et :meth:" "`Turtle.window_height` ont été supprimées. Seule :class:`Screen` définit " @@ -3075,37 +3084,41 @@ msgstr "" "2.6 ces méthodes n'étaient que de simples duplicatas des méthodes " "correspondantes des classes :class:`TurtleScreen`/:class:`Screen`)" -#: library/turtle.rst:2480 +#: library/turtle.rst:2484 +#, fuzzy msgid "" -"The method :meth:`Turtle.fill` has been eliminated. The behaviour of :meth:" -"`begin_fill` and :meth:`end_fill` have changed slightly: now every filling-" +"The method :func:`!Turtle.fill` has been eliminated. The behaviour of :func:" +"`begin_fill` and :func:`end_fill` have changed slightly: now every filling " "process must be completed with an ``end_fill()`` call." msgstr "" "La méthode :meth:`Turtle.fill` à été supprimée. Le fonctionnement de :meth:" "`begin_fill` et :meth:`end_fill` a légèrement changé : chaque opération de " "remplissage doit maintenant se terminer par un appel à ``end_fill()``." -#: library/turtle.rst:2485 +#: library/turtle.rst:2489 +#, fuzzy msgid "" -"A method :meth:`Turtle.filling` has been added. It returns a boolean value: " -"``True`` if a filling process is under way, ``False`` otherwise. This " -"behaviour corresponds to a ``fill()`` call without arguments in Python 2.6." +"A method :func:`Turtle.filling ` has been added. It returns a " +"boolean value: ``True`` if a filling process is under way, ``False`` " +"otherwise. This behaviour corresponds to a ``fill()`` call without arguments " +"in Python 2.6." msgstr "" "La méthode :meth:`Turtle.filling` a été ajoutée. Elle renvoie le booléen " "``True`` si une opération de remplissage est en cours, ``False`` sinon. Ce " "comportement correspond à un appel à ``fill()`` sans argument en Python 2.6." -#: library/turtle.rst:2491 +#: library/turtle.rst:2495 msgid "Changes since Python 3.0" msgstr "Modifications depuis Python 3.0" -#: library/turtle.rst:2493 +#: library/turtle.rst:2497 +#, fuzzy msgid "" -"The methods :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` and :" -"meth:`Turtle.get_shapepoly` have been added. Thus the full range of regular " -"linear transforms is now available for transforming turtle shapes. :meth:" -"`Turtle.tiltangle` has been enhanced in functionality: it now can be used to " -"get or set the tiltangle. :meth:`Turtle.settiltangle` has been deprecated." +"The :class:`Turtle` methods :func:`shearfactor`, :func:`shapetransform` and :" +"func:`get_shapepoly` have been added. Thus the full range of regular linear " +"transforms is now available for transforming turtle shapes. :func:" +"`tiltangle` has been enhanced in functionality: it now can be used to get or " +"set the tilt angle. :func:`settiltangle` has been deprecated." msgstr "" "Les méthodes :meth:`Turtle.shearfactor`, :meth:`Turtle.shapetransform` et :" "meth:`Turtle.get_shapepoly` on été ajoutées. Ainsi, la gamme complète des " @@ -3114,38 +3127,37 @@ msgstr "" "améliorée : Elle peut maintenant récupérer ou définir l'angle " "d'inclinaison. :meth:`Turtle.settiltangle` est désormais obsolète." -#: library/turtle.rst:2500 +#: library/turtle.rst:2504 +#, fuzzy msgid "" -"The method :meth:`Screen.onkeypress` has been added as a complement to :meth:" -"`Screen.onkey` which in fact binds actions to the keyrelease event. " -"Accordingly the latter has got an alias: :meth:`Screen.onkeyrelease`." +"The :class:`Screen` method :func:`onkeypress` has been added as a complement " +"to :func:`onkey`. As the latter binds actions to the key release event, an " +"alias: :func:`onkeyrelease` was also added for it." msgstr "" "La méthode :meth:`Screen.onkeypress` a été ajoutée en complément à :meth:" "`Screen.onkey` qui lie des actions à des relâchements de touches. En " "conséquence, ce dernier s'est vu doté d'un alias : :meth:`Screen." "onkeyrelease`." -#: library/turtle.rst:2504 +#: library/turtle.rst:2508 msgid "" -"The method :meth:`Screen.mainloop` has been added. So when working only " -"with Screen and Turtle objects one must not additionally import :func:" -"`mainloop` anymore." +"The method :func:`Screen.mainloop ` has been added, so there is no " +"longer a need to use the standalone :func:`mainloop` function when working " +"with :class:`Screen` and :class:`Turtle` objects." msgstr "" -"La méthode :meth:`Screen.mainloop` à été ajoutée. Ainsi, lorsque vous " -"travaillez uniquement avec des objets Screen et Turtle, vous n'avez plus " -"besoin d'importer :func:`mainloop`." -#: library/turtle.rst:2508 +#: library/turtle.rst:2512 +#, fuzzy msgid "" -"Two input methods has been added :meth:`Screen.textinput` and :meth:`Screen." -"numinput`. These popup input dialogs and return strings and numbers " -"respectively." +"Two input methods have been added: :func:`Screen.textinput ` and :" +"func:`Screen.numinput `. These pop up input dialogs and return " +"strings and numbers respectively." msgstr "" "Deux méthodes d'entrées ont été ajoutées : :meth:`Screen.textinput` et :meth:" "`Screen.numinput`. Ces dialogues d'entrées renvoient des chaînes de " "caractères et des nombres respectivement." -#: library/turtle.rst:2512 +#: library/turtle.rst:2516 msgid "" "Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py` " "have been added to the :file:`Lib/turtledemo` directory." @@ -3153,6 +3165,18 @@ msgstr "" "Deux exemples de scripts :file:`tdemo_nim.py` et :file:`tdemo_round_dance." "py` ont été ajoutés au répertoire :file:`Lib/turtledemo`." +#~ msgid "wikipedia" +#~ msgstr "*wikipedia*" + +#~ msgid "" +#~ "The method :meth:`Screen.mainloop` has been added. So when working only " +#~ "with Screen and Turtle objects one must not additionally import :func:" +#~ "`mainloop` anymore." +#~ msgstr "" +#~ "La méthode :meth:`Screen.mainloop` à été ajoutée. Ainsi, lorsque vous " +#~ "travaillez uniquement avec des objets Screen et Turtle, vous n'avez plus " +#~ "besoin d'importer :func:`mainloop`." + #~ msgid ":func:`clear` | :func:`clearscreen`" #~ msgstr ":func:`clear` | :func:`clearscreen`" diff --git a/library/types.po b/library/types.po index e84858ba82..69ee733aff 100644 --- a/library/types.po +++ b/library/types.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-09-28 10:04+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -539,7 +539,8 @@ msgid "" "`coroutine function` which returns a generator-based coroutine. The " "generator-based coroutine is still a :term:`generator iterator`, but is also " "considered to be a :term:`coroutine` object and is :term:`awaitable`. " -"However, it may not necessarily implement the :meth:`__await__` method." +"However, it may not necessarily implement the :meth:`~object.__await__` " +"method." msgstr "" #: library/types.rst:485 diff --git a/library/typing.po b/library/typing.po index 14230642ed..932a49548a 100644 --- a/library/typing.po +++ b/library/typing.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-12-16 17:27+0100\n" "Last-Translator: Jean-Michel Laprise \n" "Language-Team: FRENCH \n" @@ -366,7 +366,7 @@ msgstr "" "rappel ayant des signatures spécifiques peuvent être typés en utilisant " "``Callable[[Arg1Type, Arg2Type], ReturnType]``." -#: library/typing.rst:1023 library/typing.rst:2256 +#: library/typing.rst:1023 library/typing.rst:2262 msgid "For example::" msgstr "Par exemple ::" @@ -463,7 +463,7 @@ msgstr "" #, fuzzy msgid "" "The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so " -"that ``LoggedVar[t]`` is valid as a type::" +"that ``LoggedVar[T]`` is valid as a type::" msgstr "" "La classe de base :class:`Generic` définit :meth:`__class_getitem__` de " "sorte que ``LoggedVar[t]`` est valide comme type ::" @@ -553,11 +553,12 @@ msgid "" msgstr "" #: library/typing.rst:426 +#, fuzzy msgid "" "A user-defined generic class can have ABCs as base classes without a " "metaclass conflict. Generic metaclasses are not supported. The outcome of " -"parameterizing generics is cached, and most types in the typing module are " -"hashable and comparable for equality." +"parameterizing generics is cached, and most types in the typing module are :" +"term:`hashable` and comparable for equality." msgstr "" "Une classe générique définie par l'utilisateur peut avoir des CBA (*Classe " "de Base Abstraite*) comme classes de base sans conflit de métaclasses. Les " @@ -824,9 +825,10 @@ msgstr "" "`tuple`." #: library/typing.rst:633 +#, fuzzy msgid "" -":class:`builtins.tuple ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`builtins.tuple ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`builtins.tuple ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." @@ -960,9 +962,10 @@ msgstr "" "abc.Callable`." #: library/typing.rst:722 +#, fuzzy msgid "" -":class:`collections.abc.Callable` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Callable` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Callable` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." @@ -1056,9 +1059,10 @@ msgstr "" "``type``, qui est la racine de la hiérarchie des métaclasses de Python." #: library/typing.rst:829 +#, fuzzy msgid "" -":class:`builtins.type ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`builtins.type ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`builtins.type ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." @@ -1134,7 +1138,7 @@ msgstr "" "qu'un nom ne peut pas être réassigné ou remplacé dans une sous-classe. Par " "exemple ::" -#: library/typing.rst:2151 +#: library/typing.rst:2157 msgid "" "There is no runtime checking of these properties. See :pep:`591` for more " "details." @@ -1584,9 +1588,9 @@ msgid "" ":func:`runtime_checkable` will check only the presence of the required " "methods, not their type signatures. For example, :class:`ssl.SSLObject` is a " "class, therefore it passes an :func:`issubclass` check against :data:" -"`Callable`. However, the :meth:`ssl.SSLObject.__init__` method exists only " -"to raise a :exc:`TypeError` with a more informative message, therefore " -"making it impossible to call (instantiate) :class:`ssl.SSLObject`." +"`Callable`. However, the ``ssl.SSLObject.__init__`` method exists only to " +"raise a :exc:`TypeError` with a more informative message, therefore making " +"it impossible to call (instantiate) :class:`ssl.SSLObject`." msgstr "" #: library/typing.rst:1366 @@ -1816,9 +1820,10 @@ msgid "This type can be used as follows::" msgstr "Ce type peut être utilisé comme suit ::" #: library/typing.rst:1599 +#, fuzzy msgid "" -":class:`builtins.dict ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`builtins.dict ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`builtins.dict ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." @@ -1838,9 +1843,10 @@ msgid "This type may be used as follows::" msgstr "Ce type peut être utilisé comme suit ::" #: library/typing.rst:1620 +#, fuzzy msgid "" -":class:`builtins.list ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`builtins.list ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`builtins.list ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." @@ -1856,9 +1862,10 @@ msgstr "" "type de collection abstraite tel que :class:`AbstractSet`." #: library/typing.rst:1630 +#, fuzzy msgid "" -":class:`builtins.set ` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`builtins.set ` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`builtins.set ` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." @@ -1868,86 +1875,92 @@ msgid "A generic version of :class:`builtins.frozenset `." msgstr "Une version générique de :class:`builtins.frozenset `." #: library/typing.rst:1638 +#, fuzzy msgid "" -":class:`builtins.frozenset ` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`builtins.frozenset ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`builtins.frozenset ` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1642 +#: library/typing.rst:1643 msgid ":data:`Tuple` is a special form." msgstr "" -#: library/typing.rst:1645 +#: library/typing.rst:1646 msgid "Corresponding to types in :mod:`collections`" msgstr "" -#: library/typing.rst:1649 +#: library/typing.rst:1650 msgid "A generic version of :class:`collections.defaultdict`." msgstr "Une version générique de :class:`collections.defaultdict`." -#: library/typing.rst:1653 +#: library/typing.rst:1654 +#, fuzzy msgid "" -":class:`collections.defaultdict` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.defaultdict` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.defaultdict` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1659 +#: library/typing.rst:1660 msgid "A generic version of :class:`collections.OrderedDict`." msgstr "Une version générique de :class:`collections.OrderedDict`." -#: library/typing.rst:1663 +#: library/typing.rst:1664 +#, fuzzy msgid "" -":class:`collections.OrderedDict` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.OrderedDict` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.OrderedDict` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1669 +#: library/typing.rst:1670 msgid "A generic version of :class:`collections.ChainMap`." msgstr "Une version générique de :class:`collections.ChainMap`." -#: library/typing.rst:1674 +#: library/typing.rst:1675 +#, fuzzy msgid "" -":class:`collections.ChainMap` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`collections.ChainMap` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.ChainMap` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1680 +#: library/typing.rst:1681 msgid "A generic version of :class:`collections.Counter`." msgstr "Une version générique de :class:`collections.Counter`." -#: library/typing.rst:1685 +#: library/typing.rst:1686 +#, fuzzy msgid "" -":class:`collections.Counter` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`collections.Counter` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.Counter` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1691 +#: library/typing.rst:1692 msgid "A generic version of :class:`collections.deque`." msgstr "Une version générique de :class:`collections.deque`." -#: library/typing.rst:1696 +#: library/typing.rst:1697 +#, fuzzy msgid "" -":class:`collections.deque` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`collections.deque` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.deque` prend désormais en charge ``[]``. Voir :pep:`585` " "et :ref:`types-genericalias`." -#: library/typing.rst:1701 +#: library/typing.rst:1702 msgid "Other concrete types" msgstr "" -#: library/typing.rst:1707 +#: library/typing.rst:1708 #, fuzzy msgid "" "Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " @@ -1958,13 +1971,13 @@ msgstr "" "``BinaryIO(IO[bytes])`` représentent les types de flux d'entrées-sorties " "tels que renvoyés par :func:`open`." -#: library/typing.rst:1714 +#: library/typing.rst:1715 msgid "" "The ``typing.io`` namespace is deprecated and will be removed. These types " "should be directly imported from ``typing`` instead." msgstr "" -#: library/typing.rst:1719 +#: library/typing.rst:1720 #, fuzzy msgid "" "These type aliases correspond to the return types from :func:`re.compile` " @@ -1977,19 +1990,19 @@ msgstr "" "génériques dans ``AnyStr`` et peuvent être rendus spécifiques en écrivant " "``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]`` ou ``Match[bytes]``." -#: library/typing.rst:1729 +#: library/typing.rst:1730 msgid "" "The ``typing.re`` namespace is deprecated and will be removed. These types " "should be directly imported from ``typing`` instead." msgstr "" -#: library/typing.rst:1730 +#: library/typing.rst:1731 msgid "" "Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :" "pep:`585` and :ref:`types-genericalias`." msgstr "" -#: library/typing.rst:1736 +#: library/typing.rst:1737 msgid "" "``Text`` is an alias for ``str``. It is provided to supply a forward " "compatible path for Python 2 code: in Python 2, ``Text`` is an alias for " @@ -1999,7 +2012,7 @@ msgstr "" "compatibilité ascendante du code Python 2 : en Python 2, ``Text`` est un " "alias pour ``unicode``." -#: library/typing.rst:1740 +#: library/typing.rst:1741 msgid "" "Use ``Text`` to indicate that a value must contain a unicode string in a " "manner that is compatible with both Python 2 and Python 3::" @@ -2007,32 +2020,33 @@ msgstr "" "Utilisez ``Text`` pour indiquer qu'une valeur doit contenir une chaîne " "Unicode d'une manière compatible avec Python 2 et Python 3 ::" -#: library/typing.rst:1749 +#: library/typing.rst:1750 #, fuzzy msgid "Abstract Base Classes" msgstr "Classe de base abstraite pour les types génériques." -#: library/typing.rst:1752 +#: library/typing.rst:1753 msgid "Corresponding to collections in :mod:`collections.abc`" msgstr "Correspond aux collections au sein de :mod:`collections.abc`" -#: library/typing.rst:1756 +#: library/typing.rst:1757 msgid "A generic version of :class:`collections.abc.Set`." msgstr "Une version générique de :class:`collections.abc.Set`." -#: library/typing.rst:1758 +#: library/typing.rst:1759 +#, fuzzy msgid "" -":class:`collections.abc.Set` now supports ``[]``. See :pep:`585` and :ref:" -"`types-genericalias`." +":class:`collections.abc.Set` now supports subscripting (``[]``). See :pep:" +"`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Set` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1764 +#: library/typing.rst:1765 msgid "A generic version of :class:`collections.abc.ByteString`." msgstr "Une version générique de :class:`collections.abc.ByteString`." -#: library/typing.rst:1766 +#: library/typing.rst:1767 #, fuzzy msgid "" "This type represents the types :class:`bytes`, :class:`bytearray`, and :" @@ -2041,7 +2055,7 @@ msgstr "" "Ce type représente les types :class:`bytes`, :class:`bytearray` et :class:" "`memoryview`." -#: library/typing.rst:1769 +#: library/typing.rst:1770 msgid "" "As a shorthand for this type, :class:`bytes` can be used to annotate " "arguments of any of the types mentioned above." @@ -2049,63 +2063,68 @@ msgstr "" "Comme abréviation pour ce type, :class:`bytes` peut être utilisé pour " "annoter des arguments de n'importe quel type mentionné ci-dessus." -#: library/typing.rst:1772 +#: library/typing.rst:1773 +#, fuzzy msgid "" -":class:`collections.abc.ByteString` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.ByteString` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.ByteString` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1778 +#: library/typing.rst:1779 msgid "A generic version of :class:`collections.abc.Collection`" msgstr "Une version générique de :class:`collections.abc.Collection`" -#: library/typing.rst:1782 +#: library/typing.rst:1783 +#, fuzzy msgid "" -":class:`collections.abc.Collection` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Collection` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Collection` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1788 +#: library/typing.rst:1789 msgid "A generic version of :class:`collections.abc.Container`." msgstr "Une version générique de :class:`collections.abc.Container`." -#: library/typing.rst:1790 +#: library/typing.rst:1791 +#, fuzzy msgid "" -":class:`collections.abc.Container` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Container` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Container` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1796 +#: library/typing.rst:1797 msgid "A generic version of :class:`collections.abc.ItemsView`." msgstr "Une version générique de :class:`collections.abc.ItemsView`." -#: library/typing.rst:1798 +#: library/typing.rst:1799 +#, fuzzy msgid "" -":class:`collections.abc.ItemsView` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.ItemsView` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.ItemsView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1804 +#: library/typing.rst:1805 msgid "A generic version of :class:`collections.abc.KeysView`." msgstr "Une version générique de :class:`collections.abc.KeysView`." -#: library/typing.rst:1806 +#: library/typing.rst:1807 +#, fuzzy msgid "" -":class:`collections.abc.KeysView` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.KeysView` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.KeysView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1812 +#: library/typing.rst:1813 msgid "" "A generic version of :class:`collections.abc.Mapping`. This type can be used " "as follows::" @@ -2113,115 +2132,124 @@ msgstr "" "Une version générique de :class:`collections.abc.Mapping`. Ce type peut être " "utilisé comme suit ::" -#: library/typing.rst:1818 +#: library/typing.rst:1819 +#, fuzzy msgid "" -":class:`collections.abc.Mapping` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Mapping` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Mapping` prend désormais en charge ``[]``. Voir :pep:" "`585` et :ref:`types-genericalias`." -#: library/typing.rst:1824 +#: library/typing.rst:1825 msgid "A generic version of :class:`collections.abc.MappingView`." msgstr "Une version générique de :class:`collections.abc.MappingView`." -#: library/typing.rst:1826 +#: library/typing.rst:1827 +#, fuzzy msgid "" -":class:`collections.abc.MappingView` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`collections.abc.MappingView` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.MappingView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1832 +#: library/typing.rst:1833 msgid "A generic version of :class:`collections.abc.MutableMapping`." msgstr "Une version générique de :class:`collections.abc.MutableMapping`." -#: library/typing.rst:1834 +#: library/typing.rst:1835 +#, fuzzy msgid "" -":class:`collections.abc.MutableMapping` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`collections.abc.MutableMapping` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.MutableMapping` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1840 +#: library/typing.rst:1842 msgid "A generic version of :class:`collections.abc.MutableSequence`." msgstr "Une version générique de :class:`collections.abc.MutableSequence`." -#: library/typing.rst:1842 +#: library/typing.rst:1844 +#, fuzzy msgid "" -":class:`collections.abc.MutableSequence` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`collections.abc.MutableSequence` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.MutableSequence` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1848 +#: library/typing.rst:1851 msgid "A generic version of :class:`collections.abc.MutableSet`." msgstr "Une version générique de :class:`collections.abc.MutableSet`." -#: library/typing.rst:1850 +#: library/typing.rst:1853 +#, fuzzy msgid "" -":class:`collections.abc.MutableSet` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.MutableSet` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.MutableSet` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1856 +#: library/typing.rst:1859 msgid "A generic version of :class:`collections.abc.Sequence`." msgstr "Une version générique de :class:`collections.abc.Sequence`." -#: library/typing.rst:1858 +#: library/typing.rst:1861 +#, fuzzy msgid "" -":class:`collections.abc.Sequence` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Sequence` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Sequence` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1864 +#: library/typing.rst:1867 msgid "A generic version of :class:`collections.abc.ValuesView`." msgstr "Une version générique de :class:`collections.abc.ValuesView`." -#: library/typing.rst:1866 +#: library/typing.rst:1869 +#, fuzzy msgid "" -":class:`collections.abc.ValuesView` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.ValuesView` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.ValuesView` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1871 +#: library/typing.rst:1874 msgid "Corresponding to other types in :mod:`collections.abc`" msgstr "Correspond aux autres types au sein de :mod:`collections.abc`." -#: library/typing.rst:1875 +#: library/typing.rst:1878 msgid "A generic version of :class:`collections.abc.Iterable`." msgstr "Une version générique de :class:`collections.abc.Iterable`." -#: library/typing.rst:1877 +#: library/typing.rst:1880 +#, fuzzy msgid "" -":class:`collections.abc.Iterable` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Iterable` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Iterable` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1883 +#: library/typing.rst:1886 msgid "A generic version of :class:`collections.abc.Iterator`." msgstr "Une version générique de :class:`collections.abc.Iterator`." -#: library/typing.rst:1885 +#: library/typing.rst:1888 +#, fuzzy msgid "" -":class:`collections.abc.Iterator` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Iterator` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Iterator` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1891 +#: library/typing.rst:1894 msgid "" "A generator can be annotated by the generic type ``Generator[YieldType, " "SendType, ReturnType]``. For example::" @@ -2229,7 +2257,7 @@ msgstr "" "Un générateur peut être annoté par le type générique ``Generator[YieldType, " "SendType, ReturnType]``. Par exemple ::" -#: library/typing.rst:1900 +#: library/typing.rst:1903 msgid "" "Note that unlike many other generics in the typing module, the ``SendType`` " "of :class:`Generator` behaves contravariantly, not covariantly or " @@ -2239,7 +2267,7 @@ msgstr "" "*typing*, le ``SendType`` de :class:`Generator` se comporte de manière " "contravariante, pas de manière covariante ou invariante." -#: library/typing.rst:1904 +#: library/typing.rst:1907 msgid "" "If your generator will only yield values, set the ``SendType`` and " "``ReturnType`` to ``None``::" @@ -2247,7 +2275,7 @@ msgstr "" "Si votre générateur ne donne que des valeurs, réglez les paramètres " "``SendType`` et ``ReturnType`` sur ``None`` ::" -#: library/typing.rst:1912 +#: library/typing.rst:1915 msgid "" "Alternatively, annotate your generator as having a return type of either " "``Iterable[YieldType]`` or ``Iterator[YieldType]``::" @@ -2255,41 +2283,43 @@ msgstr "" "Alternativement, annotez votre générateur comme ayant un type de retour soit " "``Iterable[YieldType]`` ou ``Iterator[YieldType]`` ::" -#: library/typing.rst:1920 +#: library/typing.rst:1923 +#, fuzzy msgid "" -":class:`collections.abc.Generator` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Generator` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Generator` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1926 +#: library/typing.rst:1929 #, fuzzy msgid "An alias to :class:`collections.abc.Hashable`." msgstr "Un alias pour :class:`collections.abc.Hashable`" -#: library/typing.rst:1930 +#: library/typing.rst:1933 msgid "A generic version of :class:`collections.abc.Reversible`." msgstr "Une version générique de :class:`collections.abc.Reversible`." -#: library/typing.rst:1932 +#: library/typing.rst:1935 +#, fuzzy msgid "" -":class:`collections.abc.Reversible` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Reversible` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Reversible` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1938 +#: library/typing.rst:1941 #, fuzzy msgid "An alias to :class:`collections.abc.Sized`." msgstr "Un alias pour :class:`collections.abc.Sized`" -#: library/typing.rst:1941 +#: library/typing.rst:1944 msgid "Asynchronous programming" msgstr "Programmation asynchrone" -#: library/typing.rst:1945 +#: library/typing.rst:1948 msgid "" "A generic version of :class:`collections.abc.Coroutine`. The variance and " "order of type variables correspond to those of :class:`Generator`, for " @@ -2299,15 +2329,16 @@ msgstr "" "l'ordre des variables de type correspondent à ceux de la classe :class:" "`Generator`, par exemple ::" -#: library/typing.rst:1957 +#: library/typing.rst:1960 +#, fuzzy msgid "" -":class:`collections.abc.Coroutine` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Coroutine` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Coroutine` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:1963 +#: library/typing.rst:1966 msgid "" "An async generator can be annotated by the generic type " "``AsyncGenerator[YieldType, SendType]``. For example::" @@ -2315,7 +2346,7 @@ msgstr "" "Un générateur asynchrone peut être annoté par le type générique " "``AsyncGenerator[YieldType, SendType]``. Par exemple ::" -#: library/typing.rst:1972 +#: library/typing.rst:1975 msgid "" "Unlike normal generators, async generators cannot return a value, so there " "is no ``ReturnType`` type parameter. As with :class:`Generator`, the " @@ -2326,14 +2357,14 @@ msgstr "" "``ReturnType``. Comme avec :class:`Generator`, le ``SendType`` se comporte " "de manière contravariante." -#: library/typing.rst:1976 +#: library/typing.rst:1979 msgid "" "If your generator will only yield values, set the ``SendType`` to ``None``::" msgstr "" "Si votre générateur ne donne que des valeurs, réglez le paramètre " "``SendType`` sur ``None`` ::" -#: library/typing.rst:1984 +#: library/typing.rst:1987 msgid "" "Alternatively, annotate your generator as having a return type of either " "``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" @@ -2341,88 +2372,94 @@ msgstr "" "Alternativement, annotez votre générateur comme ayant un type de retour soit " "``AsyncIterable[YieldType]`` ou ``AsyncIterator[YieldType]`` ::" -#: library/typing.rst:1994 +#: library/typing.rst:1997 +#, fuzzy msgid "" -":class:`collections.abc.AsyncGenerator` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`collections.abc.AsyncGenerator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.AsyncGenerator` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2000 +#: library/typing.rst:2004 msgid "A generic version of :class:`collections.abc.AsyncIterable`." msgstr "Une version générique de :class:`collections.abc.AsyncIterable`." -#: library/typing.rst:2004 +#: library/typing.rst:2008 +#, fuzzy msgid "" -":class:`collections.abc.AsyncIterable` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`collections.abc.AsyncIterable` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.AsyncIterable` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2010 +#: library/typing.rst:2014 msgid "A generic version of :class:`collections.abc.AsyncIterator`." msgstr "Une version générique de :class:`collections.abc.AsyncIterator`." -#: library/typing.rst:2014 +#: library/typing.rst:2018 +#, fuzzy msgid "" -":class:`collections.abc.AsyncIterator` now supports ``[]``. See :pep:`585` " -"and :ref:`types-genericalias`." +":class:`collections.abc.AsyncIterator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.AsyncIterator` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2020 +#: library/typing.rst:2024 msgid "A generic version of :class:`collections.abc.Awaitable`." msgstr "Une version générique de :class:`collections.abc.Awaitable`." -#: library/typing.rst:2024 +#: library/typing.rst:2028 +#, fuzzy msgid "" -":class:`collections.abc.Awaitable` now supports ``[]``. See :pep:`585` and :" -"ref:`types-genericalias`." +":class:`collections.abc.Awaitable` now supports subscripting (``[]``). See :" +"pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`collections.abc.Awaitable` prend désormais en charge ``[]``. Voir :" "pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2030 +#: library/typing.rst:2034 msgid "Context manager types" msgstr "Types associés aux gestionnaires de contexte" -#: library/typing.rst:2034 +#: library/typing.rst:2038 msgid "A generic version of :class:`contextlib.AbstractContextManager`." msgstr "Une version générique de :class:`contextlib.AbstractContextManager`." -#: library/typing.rst:2039 +#: library/typing.rst:2043 +#, fuzzy msgid "" -":class:`contextlib.AbstractContextManager` now supports ``[]``. See :pep:" -"`585` and :ref:`types-genericalias`." +":class:`contextlib.AbstractContextManager` now supports subscripting " +"(``[]``). See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`contextlib.AbstractContextManager` prend désormais en charge ``[]``. " "Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2045 +#: library/typing.rst:2050 msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." msgstr "" "Une version générique de :class:`contextlib.AbstractAsyncContextManager`." -#: library/typing.rst:2050 +#: library/typing.rst:2055 +#, fuzzy msgid "" -":class:`contextlib.AbstractAsyncContextManager` now supports ``[]``. See :" -"pep:`585` and :ref:`types-genericalias`." +":class:`contextlib.AbstractAsyncContextManager` now supports subscripting " +"(``[]``). See :pep:`585` and :ref:`types-genericalias`." msgstr "" ":class:`contextlib.AbstractAsyncContextManager` prend désormais en charge " "``[]``. Voir :pep:`585` et :ref:`types-genericalias`." -#: library/typing.rst:2055 +#: library/typing.rst:2061 msgid "Protocols" msgstr "Protocoles" -#: library/typing.rst:2057 +#: library/typing.rst:2063 msgid "These protocols are decorated with :func:`runtime_checkable`." msgstr "Ces protocoles sont décorés par :func:`runtime_checkable`." -#: library/typing.rst:2061 +#: library/typing.rst:2067 msgid "" "An ABC with one abstract method ``__abs__`` that is covariant in its return " "type." @@ -2430,27 +2467,27 @@ msgstr "" "Une ABC avec une méthode abstraite ``__abs__`` qui est covariante dans son " "type de retour." -#: library/typing.rst:2066 +#: library/typing.rst:2072 msgid "An ABC with one abstract method ``__bytes__``." msgstr "Une ABC avec une méthode abstraite ``__bytes__``." -#: library/typing.rst:2070 +#: library/typing.rst:2076 msgid "An ABC with one abstract method ``__complex__``." msgstr "Une ABC avec une méthode abstraite ``__complex__``." -#: library/typing.rst:2074 +#: library/typing.rst:2080 msgid "An ABC with one abstract method ``__float__``." msgstr "Une ABC avec une méthode abstraite ``__float__``." -#: library/typing.rst:2078 +#: library/typing.rst:2084 msgid "An ABC with one abstract method ``__index__``." msgstr "Une ABC avec une méthode abstraite ``__index__``." -#: library/typing.rst:2084 +#: library/typing.rst:2090 msgid "An ABC with one abstract method ``__int__``." msgstr "Une ABC avec une méthode abstraite ``__int__``." -#: library/typing.rst:2088 +#: library/typing.rst:2094 msgid "" "An ABC with one abstract method ``__round__`` that is covariant in its " "return type." @@ -2458,16 +2495,16 @@ msgstr "" "Une ABC avec une méthode abstraite ``__round__`` qui est covariante dans son " "type de retour." -#: library/typing.rst:2092 +#: library/typing.rst:2098 #, fuzzy msgid "Functions and decorators" msgstr "Classes, fonctions et décorateurs" -#: library/typing.rst:2096 +#: library/typing.rst:2102 msgid "Cast a value to a type." msgstr "Convertit une valeur en un type." -#: library/typing.rst:2098 +#: library/typing.rst:2104 msgid "" "This returns the value unchanged. To the type checker this signals that the " "return value has the designated type, but at runtime we intentionally don't " @@ -2478,7 +2515,7 @@ msgstr "" "intentionnellement, rien n'est vérifié (afin que cela soit aussi rapide que " "possible)." -#: library/typing.rst:2105 +#: library/typing.rst:2111 msgid "" "The ``@overload`` decorator allows describing functions and methods that " "support multiple different combinations of argument types. A series of " @@ -2504,7 +2541,7 @@ msgstr "" "`NotImplementedError`. Un exemple de surcharge qui donne un type plus précis " "que celui qui peut être exprimé à l'aide d'une variable union ou type ::" -#: library/typing.rst:2129 +#: library/typing.rst:2135 #, fuzzy msgid "" "See :pep:`484` for more details and comparison with other typing semantics." @@ -2512,7 +2549,7 @@ msgstr "" "Voir la :pep:`484` pour plus de détails et la comparaison avec d'autres " "sémantiques de typage." -#: library/typing.rst:2133 +#: library/typing.rst:2139 msgid "" "A decorator to indicate to type checkers that the decorated method cannot be " "overridden, and the decorated class cannot be subclassed. For example::" @@ -2521,13 +2558,13 @@ msgstr "" "décorée ne peut pas être remplacée et que la classe décorée ne peut pas être " "sous-classée. Par exemple ::" -#: library/typing.rst:2158 +#: library/typing.rst:2164 msgid "Decorator to indicate that annotations are not type hints." msgstr "" "Décorateur pour indiquer que les annotations ne sont pas des indications de " "type." -#: library/typing.rst:2160 +#: library/typing.rst:2166 msgid "" "This works as class or function :term:`decorator`. With a class, it applies " "recursively to all methods defined in that class (but not to methods defined " @@ -2538,16 +2575,16 @@ msgstr "" "méthodes définies dans cette classe (mais pas aux méthodes définies dans ses " "superclasses ou sous-classes)." -#: library/typing.rst:2164 +#: library/typing.rst:2170 msgid "This mutates the function(s) in place." msgstr "Cela fait muter la ou les fonctions en place." -#: library/typing.rst:2168 +#: library/typing.rst:2174 msgid "Decorator to give another decorator the :func:`no_type_check` effect." msgstr "" "Décorateur pour donner à un autre décorateur l'effet :func:`no_type_check`." -#: library/typing.rst:2170 +#: library/typing.rst:2176 msgid "" "This wraps the decorator with something that wraps the decorated function " "in :func:`no_type_check`." @@ -2555,13 +2592,13 @@ msgstr "" "Ceci enveloppe le décorateur avec quelque chose qui enveloppe la fonction " "décorée dans :func:`no_type_check`." -#: library/typing.rst:2175 +#: library/typing.rst:2181 msgid "Decorator to mark a class or function to be unavailable at runtime." msgstr "" "Décorateur pour marquer une classe ou une fonction comme étant indisponible " "au moment de l'exécution." -#: library/typing.rst:2177 +#: library/typing.rst:2183 msgid "" "This decorator is itself not available at runtime. It is mainly intended to " "mark classes that are defined in type stub files if an implementation " @@ -2572,7 +2609,7 @@ msgstr "" "d'annotations de type (*type stub file*, en anglais) si une implémentation " "renvoie une instance d'une classe privée ::" -#: library/typing.rst:2188 +#: library/typing.rst:2194 msgid "" "Note that returning instances of private classes is not recommended. It is " "usually preferable to make such classes public." @@ -2580,11 +2617,11 @@ msgstr "" "Notez qu'il n'est pas recommandé de renvoyer les instances des classes " "privées. Il est généralement préférable de rendre ces classes publiques." -#: library/typing.rst:2192 +#: library/typing.rst:2198 msgid "Introspection helpers" msgstr "Utilitaires d'introspection" -#: library/typing.rst:2196 +#: library/typing.rst:2202 msgid "" "Return a dictionary containing type hints for a function, method, module or " "class object." @@ -2592,7 +2629,7 @@ msgstr "" "renvoie un dictionnaire contenant des indications de type pour une fonction, " "une méthode, un module ou un objet de classe." -#: library/typing.rst:2199 +#: library/typing.rst:2205 msgid "" "This is often the same as ``obj.__annotations__``. In addition, forward " "references encoded as string literals are handled by evaluating them in " @@ -2609,7 +2646,7 @@ msgstr "" "classe ``C``, renvoie un dictionnaire construit en fusionnant toutes les " "``__annotations__`` en parcourant ``C.__mro__`` en ordre inverse." -#: library/typing.rst:2207 +#: library/typing.rst:2213 msgid "" "The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " @@ -2619,7 +2656,7 @@ msgstr "" "``T``, sauf si la valeur de ``include_extras`` est définie à ``True`` (voir :" "class:`Annotated` pour plus d'information). Par exemple ::" -#: library/typing.rst:2222 +#: library/typing.rst:2228 msgid "" ":func:`get_type_hints` does not work with imported :ref:`type aliases ` that include forward references. Enabling postponed evaluation of " @@ -2630,17 +2667,17 @@ msgstr "" "d'évaluation différée des annotations (:pep:`563`) permet de supprimer le " "besoin de références postérieures supplémentaires." -#: library/typing.rst:2227 +#: library/typing.rst:2233 msgid "Added ``include_extras`` parameter as part of :pep:`593`." msgstr "Ajout du paramètre ``include_extras`` comme énoncé dans la :pep:`593`." -#: library/typing.rst:2233 +#: library/typing.rst:2239 msgid "Provide basic introspection for generic types and special typing forms." msgstr "" "Fournit une introspection de base pour les types génériques et les formes " "spéciales de typage." -#: library/typing.rst:2235 +#: library/typing.rst:2241 msgid "" "For a typing object of the form ``X[Y, Z, ...]`` these functions return " "``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:" @@ -2658,11 +2695,11 @@ msgstr "" "originels ``[Y, Z, ...]`` à cause du cache de types.Pour les objets non " "gérés, renvoient ``None`` et ``()`` respectivement. Exemples ::" -#: library/typing.rst:2254 +#: library/typing.rst:2260 msgid "Check if a type is a :class:`TypedDict`." msgstr "Vérifier si un type est un :class:`TypedDict`." -#: library/typing.rst:2269 +#: library/typing.rst:2275 msgid "" "A class used for internal typing representation of string forward " "references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " @@ -2676,7 +2713,7 @@ msgstr "" "instanciée par un utilisateur, mais peut être utilisée par des outils " "d'introspection." -#: library/typing.rst:2275 +#: library/typing.rst:2281 msgid "" ":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be " "implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " @@ -2686,11 +2723,11 @@ msgstr "" "implicitement transformés en ``list[ForwardRef(\"SomeClass\")]`` et ne " "seront donc pas automatiquement résolus en ``list[SomeClass]``." -#: library/typing.rst:2282 +#: library/typing.rst:2288 msgid "Constant" msgstr "Constante" -#: library/typing.rst:2286 +#: library/typing.rst:2292 msgid "" "A special constant that is assumed to be ``True`` by 3rd party static type " "checkers. It is ``False`` at runtime. Usage::" @@ -2698,7 +2735,7 @@ msgstr "" "Constante spéciale qui vaut ``True`` pour les vérificateurs de type " "statiques tiers et ``False`` à l'exécution. Utilisation ::" -#: library/typing.rst:2295 +#: library/typing.rst:2301 #, fuzzy msgid "" "The first type annotation must be enclosed in quotes, making it a \"forward " @@ -2713,7 +2750,7 @@ msgstr "" "sorte que la deuxième annotation n'a pas besoin d'être placée entre " "guillemets." -#: library/typing.rst:2302 +#: library/typing.rst:2308 msgid "" "If ``from __future__ import annotations`` is used, annotations are not " "evaluated at function definition time. Instead, they are stored as strings " diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 0af7af31ca..9ed3f83a29 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-04-22 12:07+0200\n" "Last-Translator: Bousquié Pierre \n" "Language-Team: FRENCH \n" @@ -510,7 +510,8 @@ msgstr "" "simulacre :" #: library/unittest.mock.rst:408 -msgid "Added two keyword only argument to the reset_mock function." +#, fuzzy +msgid "Added two keyword-only arguments to the reset_mock function." msgstr "Ajout de deux arguments nommés à la fonction *reset_mock*." #: library/unittest.mock.rst:411 @@ -531,7 +532,8 @@ msgstr "" "échéant) seront également réinitialisés." #: library/unittest.mock.rst:419 -msgid "*return_value*, and :attr:`side_effect` are keyword only argument." +#, fuzzy +msgid "*return_value*, and :attr:`side_effect` are keyword-only arguments." msgstr "" "*return_value*, et :attr:`side_effect` sont utilisable uniquement par " "arguments nommés." diff --git a/library/unittest.po b/library/unittest.po index 72e39ceb05..108b95efdc 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:09+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -3148,20 +3148,22 @@ msgid "This affects all the :meth:`loadTestsFrom\\*` methods." msgstr "Cela affecte toutes les méthodes :meth:`loadTestsFrom\\*`." #: library/unittest.rst:1922 +#, fuzzy msgid "" "List of Unix shell-style wildcard test name patterns that test methods have " -"to match to be included in test suites (see ``-v`` option)." +"to match to be included in test suites (see ``-k`` option)." msgstr "" "Liste des motifs de noms de test de type joker de style *Unix* que les " "méthodes de test doivent valider pour être incluses dans les suites de test " "(voir l'option ``-v``)." #: library/unittest.rst:1925 +#, fuzzy msgid "" "If this attribute is not ``None`` (the default), all test methods to be " "included in test suites must match one of the patterns in this list. Note " "that matches are always performed using :meth:`fnmatch.fnmatchcase`, so " -"unlike patterns passed to the ``-v`` option, simple substring patterns will " +"unlike patterns passed to the ``-k`` option, simple substring patterns will " "have to be converted using ``*`` wildcards." msgstr "" "Si cet attribut n'est pas ``None`` (par défaut), toutes les méthodes de test " diff --git a/library/venv.po b/library/venv.po index a47020414b..620497cd6c 100644 --- a/library/venv.po +++ b/library/venv.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:53+0200\n" "Last-Translator: ZepmanBC \n" "Language-Team: FRENCH \n" @@ -23,14 +23,16 @@ msgstr ":mod:`venv` — Création d'environnements virtuels" msgid "**Source code:** :source:`Lib/venv/`" msgstr "**Code source :** :source:`Lib/venv/`" -#: library/venv.rst:18 +#: library/venv.rst:21 +#, fuzzy msgid "" -"The :mod:`venv` module provides support for creating lightweight \"virtual " -"environments\" with their own site directories, optionally isolated from " -"system site directories. Each virtual environment has its own Python binary " -"(which matches the version of the binary that was used to create this " -"environment) and can have its own independent set of installed Python " -"packages in its site directories." +"The :mod:`!venv` module supports creating lightweight \"virtual " +"environments\", each with their own independent set of Python packages " +"installed in their :mod:`site` directories. A virtual environment is created " +"on top of an existing Python installation, known as the virtual " +"environment's \"base\" Python, and may optionally be isolated from the " +"packages in the base environment, so only those explicitly installed in the " +"virtual environment are available." msgstr "" "Le module :mod:`venv` permet de créer des \"environnements virtuels\" légers " "avec leurs propres dossiers ``site``, optionnellement isolés des dossiers " @@ -39,13 +41,27 @@ msgstr "" "environnement) et peut avoir sa propre liste de paquets Python installés " "dans ses propres dossiers ``site``." -#: library/venv.rst:25 -msgid "See :pep:`405` for more information about Python virtual environments." +#: library/venv.rst:29 +#, fuzzy +msgid "" +"When used from within a virtual environment, common installation tools such " +"as `pip`_ will install Python packages into a virtual environment without " +"needing to be told to do so explicitly." +msgstr "" +"Les outils d'installations communs comme `setuptools`_ et `pip`_ " +"fonctionnent comme prévu avec des environnements virtuels. En d'autres " +"termes, quand un environnement virtuel est actif, ils installent les paquets " +"Python dans l'environnement virtuel sans avoir besoin de leur préciser " +"explicitement." + +#: library/venv.rst:33 +#, fuzzy +msgid "See :pep:`405` for more background on Python virtual environments." msgstr "" "Voir la :pep:`405` pour plus d'informations à propos des environnements " "virtuels Python." -#: library/venv.rst:29 +#: library/venv.rst:37 #, fuzzy msgid "" "`Python Packaging User Guide: Creating and using virtual environments " @@ -56,7 +72,7 @@ msgstr "" "environnements virtuels `__" -#: library/venv.rst:34 +#: library/venv.rst:41 msgid "Creating virtual environments" msgstr "Création d'environnements virtuels" @@ -96,8 +112,7 @@ msgstr "" #, fuzzy msgid "" "``pyvenv`` was the recommended tool for creating virtual environments for " -"Python 3.3 and 3.4, and is `deprecated in Python 3.6 `_." +"Python 3.3 and 3.4, and is :ref:`deprecated in Python 3.6 `." msgstr "" "``pyvenv`` était l'outil recommandé pour créer des environnements sous " "Python 3.3 et 3.4, et est `obsolète depuis Python 3.6 ` must be replaced by the path of the " -"directory containing the virtual environment):" +"A virtual environment may be \"activated\" using a script in its binary " +"directory (``bin`` on POSIX; ``Scripts`` on Windows). This will prepend that " +"directory to your :envvar:`!PATH`, so that running :program:`python` will " +"invoke the environment's Python interpreter and you can run installed " +"scripts without having to use their full path. The invocation of the " +"activation script is platform-specific (:samp:`{}` must be replaced by " +"the path to the directory containing the virtual environment):" msgstr "" "Une fois qu'un environnement virtuel est créé, il peut être \"activé\" en " "utilisant un script dans le dossier binaire de l'environnement virtuel. " @@ -219,90 +263,96 @@ msgstr "" "doit être remplacé par le chemin d'accès du répertoire contenant " "l'environnement virtuel) :" -#: using/venv-create.inc:114 +#: library/venv.rst:69 msgid "Platform" msgstr "Plateforme" -#: using/venv-create.inc:114 +#: library/venv.rst:69 msgid "Shell" msgstr "Invite de commande" -#: using/venv-create.inc:114 +#: library/venv.rst:69 msgid "Command to activate virtual environment" msgstr "Commande pour activer l'environnement virtuel" -#: using/venv-create.inc:116 +#: library/venv.rst:71 msgid "POSIX" msgstr "POSIX" -#: using/venv-create.inc:116 +#: library/venv.rst:71 msgid "bash/zsh" msgstr "bash/zsh" -#: using/venv-create.inc:116 -msgid "$ source /bin/activate" +#: library/venv.rst:71 +#, fuzzy +msgid ":samp:`$ source {}/bin/activate`" msgstr "``$ source /bin/activate``" -#: using/venv-create.inc:118 +#: library/venv.rst:73 msgid "fish" msgstr "fish" -#: using/venv-create.inc:118 +#: library/venv.rst:73 #, fuzzy -msgid "$ source /bin/activate.fish" +msgid ":samp:`$ source {}/bin/activate.fish`" msgstr "``$ source /bin/activate.csh``" -#: using/venv-create.inc:120 +#: library/venv.rst:75 msgid "csh/tcsh" msgstr "csh/tcsh" -#: using/venv-create.inc:120 -msgid "$ source /bin/activate.csh" +#: library/venv.rst:75 +#, fuzzy +msgid ":samp:`$ source {}/bin/activate.csh`" msgstr "``$ source /bin/activate.csh``" -#: using/venv-create.inc:122 -msgid "PowerShell Core" -msgstr "PowerShell Core" +#: library/venv.rst:81 +msgid "PowerShell" +msgstr "PowerShell" -#: using/venv-create.inc:122 -msgid "$ /bin/Activate.ps1" +#: library/venv.rst:77 +#, fuzzy +msgid ":samp:`$ {}/bin/Activate.ps1`" msgstr "$ /bin/Activate.ps1" -#: using/venv-create.inc:124 +#: library/venv.rst:79 msgid "Windows" msgstr "Windows" -#: using/venv-create.inc:124 +#: library/venv.rst:79 msgid "cmd.exe" msgstr "cmd.exe" -#: using/venv-create.inc:124 -msgid "C:\\\\> \\\\Scripts\\\\activate.bat" +#: library/venv.rst:79 +#, fuzzy +msgid ":samp:`C:\\\\> {}\\\\Scripts\\\\activate.bat`" msgstr "``C:\\\\{venv}\\\\Scripts\\\\activate.bat``" -#: using/venv-create.inc:126 -msgid "PowerShell" -msgstr "PowerShell" - -#: using/venv-create.inc:126 -msgid "PS C:\\\\> \\\\Scripts\\\\Activate.ps1" +#: library/venv.rst:81 +#, fuzzy +msgid ":samp:`PS C:\\\\> {}\\\\Scripts\\\\Activate.ps1`" msgstr "``PS C:\\\\> \\\\Scripts\\\\Activate.ps1``" -#: using/venv-create.inc:129 +#: library/venv.rst:84 +#, fuzzy +msgid ":program:`fish` and :program:`csh` activation scripts." +msgstr "Les scripts d'activation pour ``fish`` et ``csh``." + +#: library/venv.rst:87 msgid "" -"When a virtual environment is active, the :envvar:`VIRTUAL_ENV` environment " -"variable is set to the path of the virtual environment. This can be used to " -"check if one is running inside a virtual environment." +"PowerShell activation scripts installed under POSIX for PowerShell Core " +"support." msgstr "" +"Scripts d'activation PowerShell installés sous POSIX pour le support de " +"PowerShell Core." -#: using/venv-create.inc:133 +#: library/venv.rst:91 +#, fuzzy msgid "" -"You don't specifically *need* to activate an environment; activation just " -"prepends the virtual environment's binary directory to your path, so that " -"\"python\" invokes the virtual environment's Python interpreter and you can " -"run installed scripts without having to use their full path. However, all " -"scripts installed in a virtual environment should be runnable without " -"activating it, and run with the virtual environment's Python automatically." +"You don't specifically *need* to activate a virtual environment, as you can " +"just specify the full path to that environment's Python interpreter when " +"invoking Python. Furthermore, all scripts installed in the environment " +"should be runnable without activating it." msgstr "" "Vous ne devez pas spécialement activer un environnement ; l'activation " "ajoute juste le chemin du dossier de binaires de votre environnement virtuel " @@ -312,117 +362,17 @@ msgstr "" "installés dans un environnement virtuel devraient être exécutables sans " "l'activer, et se lancer avec l'environnement virtuel Python automatiquement." -#: using/venv-create.inc:140 -msgid "" -"You can deactivate a virtual environment by typing \"deactivate\" in your " -"shell. The exact mechanism is platform-specific and is an internal " -"implementation detail (typically a script or shell function will be used)." -msgstr "" -"Vous pouvez désactiver un environnement virtuel en écrivant « *deactivate* » " -"dans votre shell. Le mécanisme exact est spécifique à la plate-forme et est " -"un détail d'implémentation interne (généralement un script ou une fonction " -"shell sera utilisé)." - -#: using/venv-create.inc:144 -msgid "``fish`` and ``csh`` activation scripts." -msgstr "Les scripts d'activation pour ``fish`` et ``csh``." - -#: using/venv-create.inc:147 -msgid "" -"PowerShell activation scripts installed under POSIX for PowerShell Core " -"support." -msgstr "" -"Scripts d'activation PowerShell installés sous POSIX pour le support de " -"PowerShell Core." - -#: library/venv.rst:41 -msgid "" -"A virtual environment is a Python environment such that the Python " -"interpreter, libraries and scripts installed into it are isolated from those " -"installed in other virtual environments, and (by default) any libraries " -"installed in a \"system\" Python, i.e., one which is installed as part of " -"your operating system." -msgstr "" -"Un environnement virtuel est un environnement Python tel que l'interpréteur " -"Python, les bibliothèques et les scripts installés sont isolés de ceux " -"installés dans d'autres environnements virtuels, et (par défaut) de toutes " -"autres bibliothèques installées dans un Python \"système\", par exemple " -"celui qui est installé avec votre système d'exploitation." - -#: library/venv.rst:47 -msgid "" -"A virtual environment is a directory tree which contains Python executable " -"files and other files which indicate that it is a virtual environment." -msgstr "" -"Un environnement virtuel est une arborescence de dossiers qui contiens les " -"fichiers exécutables Python et autres fichiers qui indiquent que c'est un " -"environnement virtuel." - -#: library/venv.rst:50 -msgid "" -"Common installation tools such as setuptools_ and pip_ work as expected with " -"virtual environments. In other words, when a virtual environment is active, " -"they install Python packages into the virtual environment without needing to " -"be told to do so explicitly." -msgstr "" -"Les outils d'installations communs comme `setuptools`_ et `pip`_ " -"fonctionnent comme prévu avec des environnements virtuels. En d'autres " -"termes, quand un environnement virtuel est actif, ils installent les paquets " -"Python dans l'environnement virtuel sans avoir besoin de leur préciser " -"explicitement." - -#: library/venv.rst:55 -msgid "" -"When a virtual environment is active (i.e., the virtual environment's Python " -"interpreter is running), the attributes :attr:`sys.prefix` and :attr:`sys." -"exec_prefix` point to the base directory of the virtual environment, " -"whereas :attr:`sys.base_prefix` and :attr:`sys.base_exec_prefix` point to " -"the non-virtual environment Python installation which was used to create the " -"virtual environment. If a virtual environment is not active, then :attr:`sys." -"prefix` is the same as :attr:`sys.base_prefix` and :attr:`sys.exec_prefix` " -"is the same as :attr:`sys.base_exec_prefix` (they all point to a non-virtual " -"environment Python installation)." -msgstr "" -"Quand un environnement virtuel est actif (Par exemple quand l’interpréteur " -"Python de l'environnement virtuel est lancé), les attributs :attr:`sys." -"prefix` et :attr:`sys.exec_prefix` pointent vers le dossier racine de " -"l'environnement virtuel, alors que :attr:`sys.base_prefix` et :attr:`sys." -"base_exec_prefix` pointent vers l'installation de Python qui n'est pas celle " -"de l'environnement virtuel et qui a été utilisée pour créer l'environnement " -"virtuel. Si un environnement virtuel n'est pas actif, alors :attr:`sys." -"prefix` est égal à :attr:`sys.base_prefix` et :attr:`sys.exec_prefix` est " -"égal à :attr:`sys.base_exec_prefix` (ils pointent tous sur une installation " -"Python qui n'est pas un environnement virtuel)." - -#: library/venv.rst:66 -msgid "" -"When a virtual environment is active, any options that change the " -"installation path will be ignored from all :mod:`distutils` configuration " -"files to prevent projects being inadvertently installed outside of the " -"virtual environment." -msgstr "" -"Quand un environnement virtuel est actif, toute option qui change le chemin " -"d'installation sera ignoré de tous les fichiers de configuration :mod:" -"`distutils` pour éviter que des projets soient accidentellement installés en " -"dehors de l'environnement virtuel." - -#: library/venv.rst:71 +#: library/venv.rst:97 +#, fuzzy msgid "" -"When working in a command shell, users can make a virtual environment active " -"by running an ``activate`` script in the virtual environment's executables " -"directory (the precise filename and command to use the file is shell-" -"dependent), which prepends the virtual environment's directory for " -"executables to the ``PATH`` environment variable for the running shell. " -"There should be no need in other circumstances to activate a virtual " -"environment; scripts installed into virtual environments have a \"shebang\" " -"line which points to the virtual environment's Python interpreter. This " -"means that the script will run with that interpreter regardless of the value " -"of ``PATH``. On Windows, \"shebang\" line processing is supported if you " -"have the Python Launcher for Windows installed (this was added to Python in " -"3.3 - see :pep:`397` for more details). Thus, double-clicking an installed " -"script in a Windows Explorer window should run the script with the correct " -"interpreter without there needing to be any reference to its virtual " -"environment in ``PATH``." +"In order to achieve this, scripts installed into virtual environments have a " +"\"shebang\" line which points to the environment's Python interpreter, i.e. :" +"samp:`#!/{}/bin/python`. This means that the script will run " +"with that interpreter regardless of the value of :envvar:`!PATH`. On " +"Windows, \"shebang\" line processing is supported if you have the :ref:" +"`launcher` installed. Thus, double-clicking an installed script in a Windows " +"Explorer window should run it with the correct interpreter without the " +"environment needing to be activated or on the :envvar:`!PATH`." msgstr "" "Quand vous travaillez dans une invite de commande **shell**, les " "utilisateurs peuvent activer un environnement virtuel en lançant un script " @@ -440,7 +390,16 @@ msgstr "" "l'Explorateur Windows devrait lancer le script avec le bon interpréteur sans " "avoir besoin de référencer son environnement virtuel dans ``PATH``." -#: library/venv.rst:87 +#: library/venv.rst:106 +msgid "" +"When a virtual environment has been activated, the :envvar:`!VIRTUAL_ENV` " +"environment variable is set to the path of the environment. Since explicitly " +"activating a virtual environment is not required to use it, :envvar:`!" +"VIRTUAL_ENV` cannot be relied upon to determine whether a virtual " +"environment is being used." +msgstr "" + +#: library/venv.rst:112 msgid "" "Because scripts installed in environments should not expect the environment " "to be activated, their shebang lines contain the absolute paths to their " @@ -456,11 +415,23 @@ msgid "" "Otherwise, software installed into the environment may not work as expected." msgstr "" -#: library/venv.rst:104 +#: library/venv.rst:126 +#, fuzzy +msgid "" +"You can deactivate a virtual environment by typing ``deactivate`` in your " +"shell. The exact mechanism is platform-specific and is an internal " +"implementation detail (typically, a script or shell function will be used)." +msgstr "" +"Vous pouvez désactiver un environnement virtuel en écrivant « *deactivate* » " +"dans votre shell. Le mécanisme exact est spécifique à la plate-forme et est " +"un détail d'implémentation interne (généralement un script ou une fonction " +"shell sera utilisé)." + +#: library/venv.rst:134 msgid "API" msgstr "API" -#: library/venv.rst:108 +#: library/venv.rst:138 msgid "" "The high-level method described above makes use of a simple API which " "provides mechanisms for third-party virtual environment creators to " @@ -472,7 +443,7 @@ msgstr "" "création d'environnements virtuels basés sur leurs besoins, la classe :class:" "`EnvBuilder`." -#: library/venv.rst:116 +#: library/venv.rst:146 msgid "" "The :class:`EnvBuilder` class accepts the following keyword arguments on " "instantiation:" @@ -480,7 +451,7 @@ msgstr "" "La classe :class:`EnvBuilder` accepte les arguments suivants lors de " "l'instanciation :" -#: library/venv.rst:119 +#: library/venv.rst:149 msgid "" "``system_site_packages`` -- a Boolean value indicating that the system " "Python site-packages should be available to the environment (defaults to " @@ -490,7 +461,7 @@ msgstr "" "packages du système Python devraient être disponibles dans l'environnement " "virtuel (par défaut à ``False``)." -#: library/venv.rst:122 +#: library/venv.rst:152 msgid "" "``clear`` -- a Boolean value which, if true, will delete the contents of any " "existing target directory, before creating the environment." @@ -498,7 +469,7 @@ msgstr "" "``clear`` -- Une valeur booléenne qui, si vraie, supprimera le contenu de " "n'importe quel dossier existant cible, avant de créer l'environnement." -#: library/venv.rst:125 +#: library/venv.rst:155 msgid "" "``symlinks`` -- a Boolean value indicating whether to attempt to symlink the " "Python binary rather than copying." @@ -506,7 +477,7 @@ msgstr "" "``symlinks`` -- Une valeur booléenne qui indique si il faut créer un lien " "symbolique sur le binaire Python au lieu de le copier." -#: library/venv.rst:128 +#: library/venv.rst:158 msgid "" "``upgrade`` -- a Boolean value which, if true, will upgrade an existing " "environment with the running Python - for use when that Python has been " @@ -516,7 +487,7 @@ msgstr "" "environnement existant avec le Python lancé -- utilisé quand Python à été " "mis a jour sur place (par défaut à ``False``)." -#: library/venv.rst:132 +#: library/venv.rst:162 msgid "" "``with_pip`` -- a Boolean value which, if true, ensures pip is installed in " "the virtual environment. This uses :mod:`ensurepip` with the ``--default-" @@ -526,7 +497,7 @@ msgstr "" "installé dans l'environnement virtuel. Cela utilise :mod:`ensurepip` avec " "l'option ``--default-pip``." -#: library/venv.rst:136 +#: library/venv.rst:166 #, fuzzy msgid "" "``prompt`` -- a String to be used after virtual environment is activated " @@ -538,24 +509,24 @@ msgstr "" "activé (par défaut à ``None`` ce qui veux dire qu'il utilisera le nom du " "dossier de l'environnement)." -#: library/venv.rst:141 +#: library/venv.rst:171 msgid "``upgrade_deps`` -- Update the base venv modules to the latest on PyPI" msgstr "" -#: library/venv.rst:273 +#: library/venv.rst:348 msgid "Added the ``with_pip`` parameter" msgstr "Ajout du paramètre ``with_pip``" -#: library/venv.rst:276 +#: library/venv.rst:351 msgid "Added the ``prompt`` parameter" msgstr "Ajout du paramètre ``prompt``" -#: library/venv.rst:279 +#: library/venv.rst:354 #, fuzzy msgid "Added the ``upgrade_deps`` parameter" msgstr "Ajout du paramètre ``prompt``" -#: library/venv.rst:152 +#: library/venv.rst:182 msgid "" "Creators of third-party virtual environment tools will be free to use the " "provided :class:`EnvBuilder` class as a base class." @@ -564,12 +535,12 @@ msgstr "" "libres d'utiliser la classe :class:`EnvBuilder` mise à disposition en tant " "que classe de base." -#: library/venv.rst:155 +#: library/venv.rst:185 msgid "The returned env-builder is an object which has a method, ``create``:" msgstr "" "Le **env-builder** retourné est un objet qui a une méthode, ``create`` :" -#: library/venv.rst:159 +#: library/venv.rst:189 msgid "" "Create a virtual environment by specifying the target directory (absolute or " "relative to the current directory) which is to contain the virtual " @@ -581,7 +552,7 @@ msgstr "" "virtuel. La méthode ``create`` crée l'environnement dans le dossier spécifié " "ou lève une exception appropriée." -#: library/venv.rst:165 +#: library/venv.rst:195 msgid "" "The ``create`` method of the :class:`EnvBuilder` class illustrates the hooks " "available for subclass customization::" @@ -589,7 +560,7 @@ msgstr "" "La méthode ``create`` de la classe :class:`EnvBuilder` illustre les points " "d'entrées disponibles pour la personnalisation de sous-classes ::" -#: library/venv.rst:180 +#: library/venv.rst:210 msgid "" "Each of the methods :meth:`ensure_directories`, :meth:" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :" @@ -599,13 +570,15 @@ msgstr "" "`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` et :meth:" "`post_setup` peuvent être écrasés." -#: library/venv.rst:186 +#: library/venv.rst:216 +#, fuzzy msgid "" -"Creates the environment directory and all necessary directories, and returns " -"a context object. This is just a holder for attributes (such as paths), for " -"use by the other methods. The directories are allowed to exist already, as " -"long as either ``clear`` or ``upgrade`` were specified to allow operating on " -"an existing environment directory." +"Creates the environment directory and all necessary subdirectories that " +"don't already exist, and returns a context object. This context object is " +"just a holder for attributes (such as paths) for use by the other methods. " +"If the :class:`EnvBuilder` is created with the arg ``clear=True``, contents " +"of the environment directory will be cleared and then all necessary " +"subdirectories will be recreated." msgstr "" "Crée un dossier d'environnement et tous les dossiers nécessaires, et " "retourne un objet contexte. C'est juste un conteneur pour des attributs " @@ -613,11 +586,90 @@ msgstr "" "peuvent déjà exister. tant que ``clear`` ou ``upgrade`` ont été spécifiés " "pour permettre de telles opérations dans un dossier d'environnement existant." -#: library/venv.rst:194 +#: library/venv.rst:223 +msgid "" +"The returned context object is a :class:`types.SimpleNamespace` with the " +"following attributes:" +msgstr "" + +#: library/venv.rst:226 +msgid "" +"``env_dir`` - The location of the virtual environment. Used for " +"``__VENV_DIR__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" + +#: library/venv.rst:229 +msgid "" +"``env_name`` - The name of the virtual environment. Used for " +"``__VENV_NAME__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" + +#: library/venv.rst:232 +msgid "" +"``prompt`` - The prompt to be used by the activation scripts. Used for " +"``__VENV_PROMPT__`` in activation scripts (see :meth:`install_scripts`)." +msgstr "" + +#: library/venv.rst:235 +msgid "" +"``executable`` - The underlying Python executable used by the virtual " +"environment. This takes into account the case where a virtual environment is " +"created from another virtual environment." +msgstr "" + +#: library/venv.rst:239 +msgid "``inc_path`` - The include path for the virtual environment." +msgstr "" + +#: library/venv.rst:241 +msgid "``lib_path`` - The purelib path for the virtual environment." +msgstr "" + +#: library/venv.rst:243 +#, fuzzy +msgid "``bin_path`` - The script path for the virtual environment." +msgstr "" +"Installe les scripts d'activation appropriés à la plateforme dans " +"l'environnement virtuel." + +#: library/venv.rst:245 +msgid "" +"``bin_name`` - The name of the script path relative to the virtual " +"environment location. Used for ``__VENV_BIN_NAME__`` in activation scripts " +"(see :meth:`install_scripts`)." +msgstr "" + +#: library/venv.rst:249 +msgid "" +"``env_exe`` - The name of the Python interpreter in the virtual environment. " +"Used for ``__VENV_PYTHON__`` in activation scripts (see :meth:" +"`install_scripts`)." +msgstr "" + +#: library/venv.rst:253 +msgid "" +"``env_exec_cmd`` - The name of the Python interpreter, taking into account " +"filesystem redirections. This can be used to run Python in the virtual " +"environment." +msgstr "" + +#: library/venv.rst:258 +msgid "" +"The attribute ``lib_path`` was added to the context, and the context object " +"was documented." +msgstr "" + +#: library/venv.rst:262 +msgid "" +"The *venv* :ref:`sysconfig installation scheme ` is used " +"to construct the paths of the created directories." +msgstr "" + +#: library/venv.rst:269 msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." msgstr "Crée le fichier de configuration ``pyvenv.cfg`` dans l'environnement." -#: library/venv.rst:198 +#: library/venv.rst:273 msgid "" "Creates a copy or symlink to the Python executable in the environment. On " "POSIX systems, if a specific executable ``python3.x`` was used, symlinks to " @@ -630,7 +682,7 @@ msgstr "" "``python3`` seront créés pointant vers cet exécutable, sauf si des fichiers " "avec ces noms existent déjà." -#: library/venv.rst:205 +#: library/venv.rst:280 msgid "" "Installs activation scripts appropriate to the platform into the virtual " "environment." @@ -638,14 +690,14 @@ msgstr "" "Installe les scripts d'activation appropriés à la plateforme dans " "l'environnement virtuel." -#: library/venv.rst:210 +#: library/venv.rst:285 msgid "" "Upgrades the core venv dependency packages (currently ``pip`` and " "``setuptools``) in the environment. This is done by shelling out to the " "``pip`` executable in the environment." msgstr "" -#: library/venv.rst:218 +#: library/venv.rst:293 msgid "" "A placeholder method which can be overridden in third party implementations " "to pre-install packages in the virtual environment or perform other post-" @@ -655,7 +707,7 @@ msgstr "" "implémentation externes pour pré installer des paquets dans l'environnement " "virtuel ou pour exécuter des étapes post-création." -#: library/venv.rst:222 +#: library/venv.rst:297 msgid "" "Windows now uses redirector scripts for ``python[w].exe`` instead of copying " "the actual binaries. In 3.7.2 only :meth:`setup_python` does nothing unless " @@ -666,7 +718,7 @@ msgstr "" "`setup_python` ne fait rien sauf s'il s'exécute à partir d'un *build* dans " "l'arborescence source." -#: library/venv.rst:227 +#: library/venv.rst:302 msgid "" "Windows copies the redirector scripts as part of :meth:`setup_python` " "instead of :meth:`setup_scripts`. This was not the case in 3.7.2. When using " @@ -677,7 +729,7 @@ msgstr "" "3.7.2. Lorsque vous utilisez des liens symboliques, les exécutables " "originaux seront liés." -#: library/venv.rst:232 +#: library/venv.rst:307 msgid "" "In addition, :class:`EnvBuilder` provides this utility method that can be " "called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to " @@ -688,7 +740,7 @@ msgstr "" "pour assister dans l'installation de scripts customs dans l'environnement " "virtuel." -#: library/venv.rst:238 +#: library/venv.rst:313 msgid "" "*path* is the path to a directory that should contain subdirectories " "\"common\", \"posix\", \"nt\", each containing scripts destined for the bin " @@ -702,7 +754,7 @@ msgstr "" "dossier \"**common**\" et le dossier correspondant à :data:`os.name` sont " "copiés après quelque remplacement de texte temporaires :" -#: library/venv.rst:244 +#: library/venv.rst:319 msgid "" "``__VENV_DIR__`` is replaced with the absolute path of the environment " "directory." @@ -710,7 +762,7 @@ msgstr "" "``__VENV_DIR__`` est remplacé avec le chemin absolu du dossier de " "l'environnement." -#: library/venv.rst:247 +#: library/venv.rst:322 msgid "" "``__VENV_NAME__`` is replaced with the environment name (final path segment " "of environment directory)." @@ -718,7 +770,7 @@ msgstr "" "``__VENV_NAME__`` est remplacé avec le nom de l'environnement (le dernier " "segment du chemin vers le dossier de l'environnement)." -#: library/venv.rst:250 +#: library/venv.rst:325 msgid "" "``__VENV_PROMPT__`` is replaced with the prompt (the environment name " "surrounded by parentheses and with a following space)" @@ -726,7 +778,7 @@ msgstr "" "``__VENV_PROMPT__`` est remplacé par le prompt (nom de l'environnement " "entouré de parenthèses et avec un espace le suivant)." -#: library/venv.rst:253 +#: library/venv.rst:328 msgid "" "``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " "``bin`` or ``Scripts``)." @@ -734,7 +786,7 @@ msgstr "" "``__VENV_BIN_NAME__`` est remplacé par le nom du dossier **bin** (soit " "``bin`` soit ``Scripts``)." -#: library/venv.rst:256 +#: library/venv.rst:331 msgid "" "``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " "executable." @@ -742,7 +794,7 @@ msgstr "" "``__VENV_PYTHON__`` est remplacé avec le chemin absolu de l’exécutable de " "l'environnement." -#: library/venv.rst:259 +#: library/venv.rst:334 msgid "" "The directories are allowed to exist (for when an existing environment is " "being upgraded)." @@ -750,11 +802,11 @@ msgstr "" "Les dossiers peuvent exister (pour quand un environnement existant est mis à " "jour)." -#: library/venv.rst:262 +#: library/venv.rst:337 msgid "There is also a module-level convenience function:" msgstr "Il y a aussi une fonction pratique au niveau du module :" -#: library/venv.rst:268 +#: library/venv.rst:343 msgid "" "Create an :class:`EnvBuilder` with the given keyword arguments, and call " "its :meth:`~EnvBuilder.create` method with the *env_dir* argument." @@ -762,11 +814,11 @@ msgstr "" "Crée une :class:`EnvBuilder` avec les arguments donnés, et appelle sa " "méthode :meth:`~EnvBuilder.create` avec l'argument *env_dir*." -#: library/venv.rst:283 +#: library/venv.rst:358 msgid "An example of extending ``EnvBuilder``" msgstr "Un exemple d'extension de ``EnvBuilder``" -#: library/venv.rst:285 +#: library/venv.rst:360 msgid "" "The following script shows how to extend :class:`EnvBuilder` by implementing " "a subclass which installs setuptools and pip into a created virtual " @@ -776,7 +828,7 @@ msgstr "" "implémentant une sous-classe qui installe **setuptools** et **pip** dans un " "environnement créé ::" -#: library/venv.rst:504 +#: library/venv.rst:579 msgid "" "This script is also available for download `online `_." @@ -784,5 +836,42 @@ msgstr "" "Ce script est aussi disponible au téléchargement `en ligne `_." +#~ msgid "PowerShell Core" +#~ msgstr "PowerShell Core" + +#~ msgid "" +#~ "A virtual environment is a Python environment such that the Python " +#~ "interpreter, libraries and scripts installed into it are isolated from " +#~ "those installed in other virtual environments, and (by default) any " +#~ "libraries installed in a \"system\" Python, i.e., one which is installed " +#~ "as part of your operating system." +#~ msgstr "" +#~ "Un environnement virtuel est un environnement Python tel que " +#~ "l'interpréteur Python, les bibliothèques et les scripts installés sont " +#~ "isolés de ceux installés dans d'autres environnements virtuels, et (par " +#~ "défaut) de toutes autres bibliothèques installées dans un Python " +#~ "\"système\", par exemple celui qui est installé avec votre système " +#~ "d'exploitation." + +#~ msgid "" +#~ "A virtual environment is a directory tree which contains Python " +#~ "executable files and other files which indicate that it is a virtual " +#~ "environment." +#~ msgstr "" +#~ "Un environnement virtuel est une arborescence de dossiers qui contiens " +#~ "les fichiers exécutables Python et autres fichiers qui indiquent que " +#~ "c'est un environnement virtuel." + +#~ msgid "" +#~ "When a virtual environment is active, any options that change the " +#~ "installation path will be ignored from all :mod:`distutils` configuration " +#~ "files to prevent projects being inadvertently installed outside of the " +#~ "virtual environment." +#~ msgstr "" +#~ "Quand un environnement virtuel est actif, toute option qui change le " +#~ "chemin d'installation sera ignoré de tous les fichiers de configuration :" +#~ "mod:`distutils` pour éviter que des projets soient accidentellement " +#~ "installés en dehors de l'environnement virtuel." + #~ msgid "$ . /bin/activate.fish" #~ msgstr "``$ . /bin/activate.fish``" diff --git a/library/weakref.po b/library/weakref.po index dfcf034a97..df7b63bbfe 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -206,22 +206,28 @@ msgstr "" #: library/weakref.rst:147 msgid "" +"Accessing an attribute of the proxy object after the referent is garbage " +"collected raises :exc:`ReferenceError`." +msgstr "" + +#: library/weakref.rst:150 +msgid "" "Extended the operator support on proxy objects to include the matrix " "multiplication operators ``@`` and ``@=``." msgstr "" -#: library/weakref.rst:154 +#: library/weakref.rst:157 msgid "" "Return the number of weak references and proxies which refer to *object*." msgstr "" -#: library/weakref.rst:159 +#: library/weakref.rst:162 msgid "" "Return a list of all weak reference and proxy objects which refer to " "*object*." msgstr "" -#: library/weakref.rst:164 +#: library/weakref.rst:167 msgid "" "Mapping class that references keys weakly. Entries in the dictionary will " "be discarded when there is no longer a strong reference to the key. This " @@ -230,13 +236,25 @@ msgid "" "especially useful with objects that override attribute accesses." msgstr "" -#: library/weakref.rst:170 +#: library/weakref.rst:173 +msgid "" +"Note that when a key with equal value to an existing key (but not equal " +"identity) is inserted into the dictionary, it replaces the value but does " +"not replace the existing key. Due to this, when the reference to the " +"original key is deleted, it also deletes the entry in the dictionary::" +msgstr "" + +#: library/weakref.rst:186 +msgid "A workaround would be to remove the key prior to reassignment::" +msgstr "" + +#: library/weakref.rst:197 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" "Ajout de la gestion des opérateurs ``|`` et ``|=`` tels que définis dans :" "pep:`584`." -#: library/weakref.rst:173 +#: library/weakref.rst:200 msgid "" ":class:`WeakKeyDictionary` objects have an additional method that exposes " "the internal references directly. The references are not guaranteed to be " @@ -246,39 +264,39 @@ msgid "" "longer than needed." msgstr "" -#: library/weakref.rst:183 +#: library/weakref.rst:210 msgid "Return an iterable of the weak references to the keys." msgstr "" -#: library/weakref.rst:188 +#: library/weakref.rst:215 msgid "" "Mapping class that references values weakly. Entries in the dictionary will " "be discarded when no strong reference to the value exists any more." msgstr "" -#: library/weakref.rst:191 +#: library/weakref.rst:218 msgid "" "Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`." msgstr "" -#: library/weakref.rst:194 +#: library/weakref.rst:221 msgid "" ":class:`WeakValueDictionary` objects have an additional method that has the " "same issues as the :meth:`keyrefs` method of :class:`WeakKeyDictionary` " "objects." msgstr "" -#: library/weakref.rst:201 +#: library/weakref.rst:228 msgid "Return an iterable of the weak references to the values." msgstr "" -#: library/weakref.rst:206 +#: library/weakref.rst:233 msgid "" "Set class that keeps weak references to its elements. An element will be " "discarded when no strong reference to it exists any more." msgstr "" -#: library/weakref.rst:212 +#: library/weakref.rst:239 msgid "" "A custom :class:`ref` subclass which simulates a weak reference to a bound " "method (i.e., a method defined on a class and looked up on an instance). " @@ -287,7 +305,7 @@ msgid "" "method until either the object or the original function dies::" msgstr "" -#: library/weakref.rst:240 +#: library/weakref.rst:267 msgid "" "Return a callable finalizer object which will be called when *obj* is " "garbage collected. Unlike an ordinary weak reference, a finalizer will " @@ -295,7 +313,7 @@ msgid "" "lifecycle management." msgstr "" -#: library/weakref.rst:245 +#: library/weakref.rst:272 msgid "" "A finalizer is considered *alive* until it is called (either explicitly or " "at garbage collection), and after that it is *dead*. Calling a live " @@ -303,7 +321,7 @@ msgid "" "calling a dead finalizer returns :const:`None`." msgstr "" -#: library/weakref.rst:250 +#: library/weakref.rst:277 msgid "" "Exceptions raised by finalizer callbacks during garbage collection will be " "shown on the standard error output, but cannot be propagated. They are " @@ -311,50 +329,50 @@ msgid "" "`__del__` method or a weak reference's callback." msgstr "" -#: library/weakref.rst:256 +#: library/weakref.rst:283 msgid "" "When the program exits, each remaining live finalizer is called unless its :" "attr:`atexit` attribute has been set to false. They are called in reverse " "order of creation." msgstr "" -#: library/weakref.rst:260 +#: library/weakref.rst:287 msgid "" "A finalizer will never invoke its callback during the later part of the :" "term:`interpreter shutdown` when module globals are liable to have been " "replaced by :const:`None`." msgstr "" -#: library/weakref.rst:266 +#: library/weakref.rst:293 msgid "" "If *self* is alive then mark it as dead and return the result of calling " "``func(*args, **kwargs)``. If *self* is dead then return :const:`None`." msgstr "" -#: library/weakref.rst:272 +#: library/weakref.rst:299 msgid "" "If *self* is alive then mark it as dead and return the tuple ``(obj, func, " "args, kwargs)``. If *self* is dead then return :const:`None`." msgstr "" -#: library/weakref.rst:278 +#: library/weakref.rst:305 msgid "" "If *self* is alive then return the tuple ``(obj, func, args, kwargs)``. If " "*self* is dead then return :const:`None`." msgstr "" -#: library/weakref.rst:283 +#: library/weakref.rst:310 msgid "Property which is true if the finalizer is alive, false otherwise." msgstr "" -#: library/weakref.rst:287 +#: library/weakref.rst:314 msgid "" "A writable boolean property which by default is true. When the program " "exits, it calls all remaining live finalizers for which :attr:`.atexit` is " "true. They are called in reverse order of creation." msgstr "" -#: library/weakref.rst:294 +#: library/weakref.rst:321 msgid "" "It is important to ensure that *func*, *args* and *kwargs* do not own any " "references to *obj*, either directly or indirectly, since otherwise *obj* " @@ -362,60 +380,60 @@ msgid "" "bound method of *obj*." msgstr "" -#: library/weakref.rst:304 +#: library/weakref.rst:331 msgid "The type object for weak references objects." msgstr "" -#: library/weakref.rst:309 +#: library/weakref.rst:336 msgid "The type object for proxies of objects which are not callable." msgstr "" -#: library/weakref.rst:314 +#: library/weakref.rst:341 msgid "The type object for proxies of callable objects." msgstr "" -#: library/weakref.rst:319 +#: library/weakref.rst:346 msgid "" "Sequence containing all the type objects for proxies. This can make it " "simpler to test if an object is a proxy without being dependent on naming " "both proxy types." msgstr "" -#: library/weakref.rst:327 +#: library/weakref.rst:354 msgid ":pep:`205` - Weak References" msgstr "" -#: library/weakref.rst:327 +#: library/weakref.rst:354 msgid "" "The proposal and rationale for this feature, including links to earlier " "implementations and information about similar features in other languages." msgstr "" -#: library/weakref.rst:334 +#: library/weakref.rst:361 msgid "Weak Reference Objects" msgstr "Objets à références faibles" -#: library/weakref.rst:336 +#: library/weakref.rst:363 msgid "" "Weak reference objects have no methods and no attributes besides :attr:`ref." "__callback__`. A weak reference object allows the referent to be obtained, " "if it still exists, by calling it:" msgstr "" -#: library/weakref.rst:350 +#: library/weakref.rst:377 msgid "" "If the referent no longer exists, calling the reference object returns :" "const:`None`:" msgstr "" -#: library/weakref.rst:357 +#: library/weakref.rst:384 msgid "" "Testing that a weak reference object is still live should be done using the " "expression ``ref() is not None``. Normally, application code that needs to " "use a reference object should follow this pattern::" msgstr "" -#: library/weakref.rst:370 +#: library/weakref.rst:397 msgid "" "Using a separate test for \"liveness\" creates race conditions in threaded " "applications; another thread can cause a weak reference to become " @@ -423,7 +441,7 @@ msgid "" "safe in threaded applications as well as single-threaded applications." msgstr "" -#: library/weakref.rst:375 +#: library/weakref.rst:402 msgid "" "Specialized versions of :class:`ref` objects can be created through " "subclassing. This is used in the implementation of the :class:" @@ -433,18 +451,18 @@ msgid "" "to retrieve the referent." msgstr "" -#: library/weakref.rst:381 +#: library/weakref.rst:408 msgid "" "This example shows how a subclass of :class:`ref` can be used to store " "additional information about an object and affect the value that's returned " "when the referent is accessed::" msgstr "" -#: library/weakref.rst:408 +#: library/weakref.rst:435 msgid "Example" msgstr "Exemple" -#: library/weakref.rst:410 +#: library/weakref.rst:437 msgid "" "This simple example shows how an application can use object IDs to retrieve " "objects that it has seen before. The IDs of the objects can then be used in " @@ -452,67 +470,67 @@ msgid "" "objects can still be retrieved by ID if they do." msgstr "" -#: library/weakref.rst:435 +#: library/weakref.rst:462 msgid "Finalizer Objects" msgstr "" -#: library/weakref.rst:437 +#: library/weakref.rst:464 msgid "" "The main benefit of using :class:`finalize` is that it makes it simple to " "register a callback without needing to preserve the returned finalizer " "object. For instance" msgstr "" -#: library/weakref.rst:451 +#: library/weakref.rst:478 msgid "" "The finalizer can be called directly as well. However the finalizer will " "invoke the callback at most once." msgstr "" -#: library/weakref.rst:467 +#: library/weakref.rst:494 msgid "" "You can unregister a finalizer using its :meth:`~finalize.detach` method. " "This kills the finalizer and returns the arguments passed to the constructor " "when it was created." msgstr "" -#: library/weakref.rst:481 +#: library/weakref.rst:508 msgid "" "Unless you set the :attr:`~finalize.atexit` attribute to :const:`False`, a " "finalizer will be called when the program exits if it is still alive. For " "instance" msgstr "" -#: library/weakref.rst:496 +#: library/weakref.rst:523 msgid "Comparing finalizers with :meth:`__del__` methods" msgstr "" -#: library/weakref.rst:498 +#: library/weakref.rst:525 msgid "" "Suppose we want to create a class whose instances represent temporary " "directories. The directories should be deleted with their contents when the " "first of the following events occurs:" msgstr "" -#: library/weakref.rst:502 +#: library/weakref.rst:529 msgid "the object is garbage collected," msgstr "" -#: library/weakref.rst:503 +#: library/weakref.rst:530 msgid "the object's :meth:`remove` method is called, or" msgstr "" -#: library/weakref.rst:504 +#: library/weakref.rst:531 msgid "the program exits." msgstr "" -#: library/weakref.rst:506 +#: library/weakref.rst:533 msgid "" "We might try to implement the class using a :meth:`__del__` method as " "follows::" msgstr "" -#: library/weakref.rst:525 +#: library/weakref.rst:552 msgid "" "Starting with Python 3.4, :meth:`__del__` methods no longer prevent " "reference cycles from being garbage collected, and module globals are no " @@ -520,35 +538,35 @@ msgid "" "code should work without any issues on CPython." msgstr "" -#: library/weakref.rst:530 +#: library/weakref.rst:557 msgid "" "However, handling of :meth:`__del__` methods is notoriously implementation " "specific, since it depends on internal details of the interpreter's garbage " "collector implementation." msgstr "" -#: library/weakref.rst:534 +#: library/weakref.rst:561 msgid "" "A more robust alternative can be to define a finalizer which only references " "the specific functions and objects that it needs, rather than having access " "to the full state of the object::" msgstr "" -#: library/weakref.rst:550 +#: library/weakref.rst:577 msgid "" "Defined like this, our finalizer only receives a reference to the details it " "needs to clean up the directory appropriately. If the object never gets " "garbage collected the finalizer will still be called at exit." msgstr "" -#: library/weakref.rst:554 +#: library/weakref.rst:581 msgid "" "The other advantage of weakref based finalizers is that they can be used to " "register finalizers for classes where the definition is controlled by a " "third party, such as running code when a module is unloaded::" msgstr "" -#: library/weakref.rst:566 +#: library/weakref.rst:593 msgid "" "If you create a finalizer object in a daemonic thread just as the program " "exits then there is the possibility that the finalizer does not get called " diff --git a/library/wsgiref.po b/library/wsgiref.po index fefbf7baba..fc7abd9b20 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -18,7 +18,11 @@ msgstr "" msgid ":mod:`wsgiref` --- WSGI Utilities and Reference Implementation" msgstr ":mod:`wsgiref` — Outils et implémentation de référence de WSGI" -#: library/wsgiref.rst:12 +#: library/wsgiref.rst:10 +msgid "**Source code:** :source:`Lib/wsgiref`" +msgstr "" + +#: library/wsgiref.rst:14 msgid "" "The Web Server Gateway Interface (WSGI) is a standard interface between web " "server software and web applications written in Python. Having a standard " @@ -30,7 +34,7 @@ msgstr "" "standardisée permet de faciliter l'usage de ces applications avec un certain " "nombre de serveurs web différents." -#: library/wsgiref.rst:17 +#: library/wsgiref.rst:19 msgid "" "Only authors of web servers and programming frameworks need to know every " "detail and corner case of the WSGI design. You don't need to understand " @@ -42,7 +46,7 @@ msgstr "" "l'architecture de WSGI. En tant qu'utilisateur WSGI vous avez uniquement " "besoin d'installer WSGI ou d'utiliser un cadriciel existant." -#: library/wsgiref.rst:22 +#: library/wsgiref.rst:24 msgid "" ":mod:`wsgiref` is a reference implementation of the WSGI specification that " "can be used to add WSGI support to a web server or framework. It provides " @@ -59,7 +63,7 @@ msgstr "" "d'application WSGI et un outil de validation qui vérifie que les serveurs et " "les applications WSGI sont conformes à la spécification WSGI (:pep:`3333`)." -#: library/wsgiref.rst:29 +#: library/wsgiref.rst:31 msgid "" "See `wsgi.readthedocs.io `_ for more " "information about WSGI, and links to tutorials and other resources." @@ -68,11 +72,11 @@ msgstr "" "d'informations à propos de WSGI ainsi que des liens vers des tutoriels et " "d'autres ressources." -#: library/wsgiref.rst:36 +#: library/wsgiref.rst:38 msgid ":mod:`wsgiref.util` -- WSGI environment utilities" msgstr ":mod:`wsgiref.util` — outils pour les environnements WSGI" -#: library/wsgiref.rst:42 +#: library/wsgiref.rst:44 msgid "" "This module provides a variety of utility functions for working with WSGI " "environments. A WSGI environment is a dictionary containing HTTP request " @@ -87,7 +91,7 @@ msgstr "" "compatible WSGI soit fourni ; voir la :pep:`3333` pour la spécification " "détaillée." -#: library/wsgiref.rst:51 +#: library/wsgiref.rst:53 msgid "" "Return a guess for whether ``wsgi.url_scheme`` should be \"http\" or " "\"https\", by checking for a ``HTTPS`` environment variable in the *environ* " @@ -97,7 +101,7 @@ msgstr "" "url_sheme``, en vérifiant si une variable d'environnement ``HTTPS`` est dans " "le dictionnaire *environ*. La valeur renvoyée est une chaîne de caractères." -#: library/wsgiref.rst:55 +#: library/wsgiref.rst:57 msgid "" "This function is useful when creating a gateway that wraps CGI or a CGI-like " "protocol such as FastCGI. Typically, servers providing such protocols will " @@ -106,7 +110,7 @@ msgid "" "a value is found, and \"http\" otherwise." msgstr "" -#: library/wsgiref.rst:64 +#: library/wsgiref.rst:66 msgid "" "Return the full request URI, optionally including the query string, using " "the algorithm found in the \"URL Reconstruction\" section of :pep:`3333`. " @@ -114,27 +118,27 @@ msgid "" "resulting URI." msgstr "" -#: library/wsgiref.rst:71 +#: library/wsgiref.rst:73 msgid "" "Similar to :func:`request_uri`, except that the ``PATH_INFO`` and " "``QUERY_STRING`` variables are ignored. The result is the base URI of the " "application object addressed by the request." msgstr "" -#: library/wsgiref.rst:78 +#: library/wsgiref.rst:80 msgid "" "Shift a single name from ``PATH_INFO`` to ``SCRIPT_NAME`` and return the " "name. The *environ* dictionary is *modified* in-place; use a copy if you " "need to keep the original ``PATH_INFO`` or ``SCRIPT_NAME`` intact." msgstr "" -#: library/wsgiref.rst:82 +#: library/wsgiref.rst:84 msgid "" "If there are no remaining path segments in ``PATH_INFO``, ``None`` is " "returned." msgstr "" -#: library/wsgiref.rst:84 +#: library/wsgiref.rst:86 msgid "" "Typically, this routine is used to process each portion of a request URI " "path, for example to treat the path as a series of dictionary keys. This " @@ -148,7 +152,7 @@ msgid "" "and ``PATH_INFO`` will change from ``/bar/baz`` to ``/baz``." msgstr "" -#: library/wsgiref.rst:95 +#: library/wsgiref.rst:97 msgid "" "When ``PATH_INFO`` is just a \"/\", this routine returns an empty string and " "appends a trailing slash to ``SCRIPT_NAME``, even though empty path segments " @@ -158,12 +162,12 @@ msgid "" "using this routine to do object traversal." msgstr "" -#: library/wsgiref.rst:105 +#: library/wsgiref.rst:107 msgid "Update *environ* with trivial defaults for testing purposes." msgstr "" "Met à jour *environ* avec des valeurs par défaut pour des cas de tests." -#: library/wsgiref.rst:107 +#: library/wsgiref.rst:109 msgid "" "This routine adds various parameters required for WSGI, including " "``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " @@ -177,7 +181,7 @@ msgstr "" "dans la :pep:`3333`. Elle ne fournit que des valeurs par défaut sans toucher " "aux valeurs déjà définies de ces variables." -#: library/wsgiref.rst:113 +#: library/wsgiref.rst:115 msgid "" "This routine is intended to make it easier for unit tests of WSGI servers " "and applications to set up dummy environments. It should NOT be used by " @@ -188,23 +192,23 @@ msgstr "" "être utilisée dans une application ou un serveur WSGI, étant donné que les " "données sont factices !" -#: library/wsgiref.rst:164 library/wsgiref.rst:418 +#: library/wsgiref.rst:166 library/wsgiref.rst:420 msgid "Example usage::" msgstr "Exemple d'utilisation ::" -#: library/wsgiref.rst:141 +#: library/wsgiref.rst:143 msgid "" "In addition to the environment functions above, the :mod:`wsgiref.util` " "module also provides these miscellaneous utilities:" msgstr "" -#: library/wsgiref.rst:147 +#: library/wsgiref.rst:149 msgid "" "Return ``True`` if 'header_name' is an HTTP/1.1 \"Hop-by-Hop\" header, as " "defined by :rfc:`2616`." msgstr "" -#: library/wsgiref.rst:153 +#: library/wsgiref.rst:155 msgid "" "A wrapper to convert a file-like object to an :term:`iterator`. The " "resulting objects support both :meth:`__getitem__` and :meth:`__iter__` " @@ -215,35 +219,35 @@ msgid "" "and is not resumable." msgstr "" -#: library/wsgiref.rst:160 +#: library/wsgiref.rst:162 msgid "" "If *filelike* has a :meth:`close` method, the returned object will also have " "a :meth:`close` method, and it will invoke the *filelike* object's :meth:" "`close` method when called." msgstr "" -#: library/wsgiref.rst:176 +#: library/wsgiref.rst:178 msgid "Support for :meth:`sequence protocol <__getitem__>` is deprecated." msgstr "" -#: library/wsgiref.rst:181 +#: library/wsgiref.rst:183 msgid ":mod:`wsgiref.headers` -- WSGI response header tools" msgstr "" -#: library/wsgiref.rst:187 +#: library/wsgiref.rst:189 msgid "" "This module provides a single class, :class:`Headers`, for convenient " "manipulation of WSGI response headers using a mapping-like interface." msgstr "" -#: library/wsgiref.rst:193 +#: library/wsgiref.rst:195 msgid "" "Create a mapping-like object wrapping *headers*, which must be a list of " "header name/value tuples as described in :pep:`3333`. The default value of " "*headers* is an empty list." msgstr "" -#: library/wsgiref.rst:197 +#: library/wsgiref.rst:199 msgid "" ":class:`Headers` objects support typical mapping operations including :meth:" "`__getitem__`, :meth:`get`, :meth:`__setitem__`, :meth:`setdefault`, :meth:" @@ -255,7 +259,7 @@ msgid "" "new headers added to the end of the wrapped list." msgstr "" -#: library/wsgiref.rst:206 +#: library/wsgiref.rst:208 msgid "" "Unlike a dictionary, :class:`Headers` objects do not raise an error when you " "try to get or delete a key that isn't in the wrapped header list. Getting a " @@ -263,7 +267,7 @@ msgid "" "does nothing." msgstr "" -#: library/wsgiref.rst:211 +#: library/wsgiref.rst:213 msgid "" ":class:`Headers` objects also support :meth:`keys`, :meth:`values`, and :" "meth:`items` methods. The lists returned by :meth:`keys` and :meth:`items` " @@ -274,7 +278,7 @@ msgid "" "list." msgstr "" -#: library/wsgiref.rst:218 +#: library/wsgiref.rst:220 msgid "" "Calling ``bytes()`` on a :class:`Headers` object returns a formatted " "bytestring suitable for transmission as HTTP response headers. Each header " @@ -283,18 +287,18 @@ msgid "" "terminated with a blank line." msgstr "" -#: library/wsgiref.rst:224 +#: library/wsgiref.rst:226 msgid "" "In addition to their mapping interface and formatting features, :class:" "`Headers` objects also have the following methods for querying and adding " "multi-valued headers, and for adding headers with MIME parameters:" msgstr "" -#: library/wsgiref.rst:231 +#: library/wsgiref.rst:233 msgid "Return a list of all the values for the named header." msgstr "Renvoie une liste de toutes les valeurs pour l'en-tête *name*." -#: library/wsgiref.rst:233 +#: library/wsgiref.rst:235 msgid "" "The returned list will be sorted in the order they appeared in the original " "header list or were added to this instance, and may contain duplicates. Any " @@ -302,13 +306,13 @@ msgid "" "no fields exist with the given name, returns an empty list." msgstr "" -#: library/wsgiref.rst:241 +#: library/wsgiref.rst:243 msgid "" "Add a (possibly multi-valued) header, with optional MIME parameters " "specified via keyword arguments." msgstr "" -#: library/wsgiref.rst:244 +#: library/wsgiref.rst:246 msgid "" "*name* is the header field to add. Keyword arguments can be used to set " "MIME parameters for the header field. Each parameter must be a string or " @@ -320,19 +324,19 @@ msgid "" "a value.) Example usage::" msgstr "" -#: library/wsgiref.rst:254 +#: library/wsgiref.rst:256 msgid "The above will add a header that looks like this::" msgstr "Le code ci-dessus ajoute un en-tête qui ressemble à ceci ::" -#: library/wsgiref.rst:259 +#: library/wsgiref.rst:261 msgid "*headers* parameter is optional." msgstr "Le paramètre *headers* est optionnel." -#: library/wsgiref.rst:264 +#: library/wsgiref.rst:266 msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" msgstr "" -#: library/wsgiref.rst:270 +#: library/wsgiref.rst:272 msgid "" "This module implements a simple HTTP server (based on :mod:`http.server`) " "that serves WSGI applications. Each server instance serves a single WSGI " @@ -343,7 +347,7 @@ msgid "" "`wsgiref.util`.)" msgstr "" -#: library/wsgiref.rst:281 +#: library/wsgiref.rst:283 msgid "" "Create a new WSGI server listening on *host* and *port*, accepting " "connections for *app*. The return value is an instance of the supplied " @@ -352,7 +356,7 @@ msgid "" "pep:`3333`." msgstr "" -#: library/wsgiref.rst:302 +#: library/wsgiref.rst:304 msgid "" "This function is a small but complete WSGI application that returns a text " "page containing the message \"Hello world!\" and a list of the key/value " @@ -361,51 +365,51 @@ msgid "" "WSGI application correctly." msgstr "" -#: library/wsgiref.rst:311 +#: library/wsgiref.rst:313 msgid "" "Create a :class:`WSGIServer` instance. *server_address* should be a ``(host," "port)`` tuple, and *RequestHandlerClass* should be the subclass of :class:" "`http.server.BaseHTTPRequestHandler` that will be used to process requests." msgstr "" -#: library/wsgiref.rst:316 +#: library/wsgiref.rst:318 msgid "" "You do not normally need to call this constructor, as the :func:" "`make_server` function can handle all the details for you." msgstr "" -#: library/wsgiref.rst:319 +#: library/wsgiref.rst:321 msgid "" ":class:`WSGIServer` is a subclass of :class:`http.server.HTTPServer`, so all " "of its methods (such as :meth:`serve_forever` and :meth:`handle_request`) " "are available. :class:`WSGIServer` also provides these WSGI-specific methods:" msgstr "" -#: library/wsgiref.rst:326 +#: library/wsgiref.rst:328 msgid "" "Sets the callable *application* as the WSGI application that will receive " "requests." msgstr "" -#: library/wsgiref.rst:332 +#: library/wsgiref.rst:334 msgid "Returns the currently set application callable." msgstr "" -#: library/wsgiref.rst:334 +#: library/wsgiref.rst:336 msgid "" "Normally, however, you do not need to use these additional methods, as :meth:" "`set_app` is normally called by :func:`make_server`, and the :meth:`get_app` " "exists mainly for the benefit of request handler instances." msgstr "" -#: library/wsgiref.rst:341 +#: library/wsgiref.rst:343 msgid "" "Create an HTTP handler for the given *request* (i.e. a socket), " "*client_address* (a ``(host,port)`` tuple), and *server* (:class:" "`WSGIServer` instance)." msgstr "" -#: library/wsgiref.rst:344 +#: library/wsgiref.rst:346 msgid "" "You do not need to create instances of this class directly; they are " "automatically created as needed by :class:`WSGIServer` objects. You can, " @@ -414,7 +418,7 @@ msgid "" "subclasses:" msgstr "" -#: library/wsgiref.rst:353 +#: library/wsgiref.rst:355 msgid "" "Returns a dictionary containing the WSGI environment for a request. The " "default implementation copies the contents of the :class:`WSGIServer` " @@ -424,24 +428,24 @@ msgid "" "variables as specified in :pep:`3333`." msgstr "" -#: library/wsgiref.rst:363 +#: library/wsgiref.rst:365 msgid "" "Return the object that should be used as the ``wsgi.errors`` stream. The " "default implementation just returns ``sys.stderr``." msgstr "" -#: library/wsgiref.rst:369 +#: library/wsgiref.rst:371 msgid "" "Process the HTTP request. The default implementation creates a handler " "instance using a :mod:`wsgiref.handlers` class to implement the actual WSGI " "application interface." msgstr "" -#: library/wsgiref.rst:375 +#: library/wsgiref.rst:377 msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" msgstr "" -#: library/wsgiref.rst:381 +#: library/wsgiref.rst:383 msgid "" "When creating new WSGI application objects, frameworks, servers, or " "middleware, it can be useful to validate the new code's conformance using :" @@ -451,7 +455,7 @@ msgid "" "conformance." msgstr "" -#: library/wsgiref.rst:388 +#: library/wsgiref.rst:390 msgid "" "Note that this utility does not guarantee complete :pep:`3333` compliance; " "an absence of errors from this module does not necessarily mean that errors " @@ -460,13 +464,13 @@ msgid "" "compliant." msgstr "" -#: library/wsgiref.rst:393 +#: library/wsgiref.rst:395 msgid "" "This module is based on the :mod:`paste.lint` module from Ian Bicking's " "\"Python Paste\" library." msgstr "" -#: library/wsgiref.rst:399 +#: library/wsgiref.rst:401 msgid "" "Wrap *application* and return a new WSGI application object. The returned " "application will forward all requests to the original *application*, and " @@ -474,7 +478,7 @@ msgid "" "conforming to the WSGI specification and to :rfc:`2616`." msgstr "" -#: library/wsgiref.rst:404 +#: library/wsgiref.rst:406 msgid "" "Any detected nonconformance results in an :exc:`AssertionError` being " "raised; note, however, that how these errors are handled is server-" @@ -485,7 +489,7 @@ msgid "" "stream." msgstr "" -#: library/wsgiref.rst:411 +#: library/wsgiref.rst:413 msgid "" "This wrapper may also generate output using the :mod:`warnings` module to " "indicate behaviors that are questionable but which may not actually be " @@ -495,11 +499,11 @@ msgid "" "object)." msgstr "" -#: library/wsgiref.rst:443 +#: library/wsgiref.rst:445 msgid ":mod:`wsgiref.handlers` -- server/gateway base classes" msgstr "" -#: library/wsgiref.rst:449 +#: library/wsgiref.rst:451 msgid "" "This module provides base handler classes for implementing WSGI servers and " "gateways. These base classes handle most of the work of communicating with " @@ -507,7 +511,7 @@ msgid "" "with input, output, and error streams." msgstr "" -#: library/wsgiref.rst:457 +#: library/wsgiref.rst:459 msgid "" "CGI-based invocation via ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` and " "``os.environ``. This is useful when you have a WSGI application and want to " @@ -515,7 +519,7 @@ msgid "" "``app`` is the WSGI application object you wish to invoke." msgstr "" -#: library/wsgiref.rst:462 +#: library/wsgiref.rst:464 msgid "" "This class is a subclass of :class:`BaseCGIHandler` that sets ``wsgi." "run_once`` to true, ``wsgi.multithread`` to false, and ``wsgi.multiprocess`` " @@ -523,21 +527,21 @@ msgid "" "CGI streams and environment." msgstr "" -#: library/wsgiref.rst:470 +#: library/wsgiref.rst:472 msgid "" "A specialized alternative to :class:`CGIHandler`, for use when deploying on " "Microsoft's IIS web server, without having set the config allowPathInfo " "option (IIS>=7) or metabase allowPathInfoForScriptMappings (IIS<7)." msgstr "" -#: library/wsgiref.rst:474 +#: library/wsgiref.rst:476 msgid "" "By default, IIS gives a ``PATH_INFO`` that duplicates the ``SCRIPT_NAME`` at " "the front, causing problems for WSGI applications that wish to implement " "routing. This handler strips any such duplicated path." msgstr "" -#: library/wsgiref.rst:478 +#: library/wsgiref.rst:480 msgid "" "IIS can be configured to pass the correct ``PATH_INFO``, but this causes " "another bug where ``PATH_TRANSLATED`` is wrong. Luckily this variable is " @@ -548,7 +552,7 @@ msgid "" "because there is still no UI for it.)." msgstr "" -#: library/wsgiref.rst:486 +#: library/wsgiref.rst:488 msgid "" "There is no way for CGI code to tell whether the option was set, so a " "separate handler class is provided. It is used in the same way as :class:" @@ -556,7 +560,7 @@ msgid "" "is the WSGI application object you wish to invoke." msgstr "" -#: library/wsgiref.rst:496 +#: library/wsgiref.rst:498 msgid "" "Similar to :class:`CGIHandler`, but instead of using the :mod:`sys` and :mod:" "`os` modules, the CGI environment and I/O streams are specified explicitly. " @@ -565,7 +569,7 @@ msgid "" "the handler instance." msgstr "" -#: library/wsgiref.rst:502 +#: library/wsgiref.rst:504 msgid "" "This class is a subclass of :class:`SimpleHandler` intended for use with " "software other than HTTP \"origin servers\". If you are writing a gateway " @@ -574,14 +578,14 @@ msgid "" "this instead of :class:`SimpleHandler`." msgstr "" -#: library/wsgiref.rst:511 +#: library/wsgiref.rst:513 msgid "" "Similar to :class:`BaseCGIHandler`, but designed for use with HTTP origin " "servers. If you are writing an HTTP server implementation, you will " "probably want to subclass this instead of :class:`BaseCGIHandler`." msgstr "" -#: library/wsgiref.rst:515 +#: library/wsgiref.rst:517 msgid "" "This class is a subclass of :class:`BaseHandler`. It overrides the :meth:" "`__init__`, :meth:`get_stdin`, :meth:`get_stderr`, :meth:`add_cgi_vars`, :" @@ -591,41 +595,41 @@ msgid "" "and :attr:`environ` attributes." msgstr "" -#: library/wsgiref.rst:522 +#: library/wsgiref.rst:524 msgid "" "The :meth:`~io.BufferedIOBase.write` method of *stdout* should write each " "chunk in full, like :class:`io.BufferedIOBase`." msgstr "" -#: library/wsgiref.rst:528 +#: library/wsgiref.rst:530 msgid "" "This is an abstract base class for running WSGI applications. Each instance " "will handle a single HTTP request, although in principle you could create a " "subclass that was reusable for multiple requests." msgstr "" -#: library/wsgiref.rst:532 +#: library/wsgiref.rst:534 msgid "" ":class:`BaseHandler` instances have only one method intended for external " "use:" msgstr "" -#: library/wsgiref.rst:537 +#: library/wsgiref.rst:539 msgid "Run the specified WSGI application, *app*." msgstr "" -#: library/wsgiref.rst:539 +#: library/wsgiref.rst:541 msgid "" "All of the other :class:`BaseHandler` methods are invoked by this method in " "the process of running the application, and thus exist primarily to allow " "customizing the process." msgstr "" -#: library/wsgiref.rst:543 +#: library/wsgiref.rst:545 msgid "The following methods MUST be overridden in a subclass:" msgstr "" -#: library/wsgiref.rst:548 +#: library/wsgiref.rst:550 msgid "" "Buffer the bytes *data* for transmission to the client. It's okay if this " "method actually transmits the data; :class:`BaseHandler` just separates " @@ -633,31 +637,31 @@ msgid "" "actually has such a distinction." msgstr "" -#: library/wsgiref.rst:556 +#: library/wsgiref.rst:558 msgid "" "Force buffered data to be transmitted to the client. It's okay if this " "method is a no-op (i.e., if :meth:`_write` actually sends the data)." msgstr "" -#: library/wsgiref.rst:562 +#: library/wsgiref.rst:564 msgid "" "Return an input stream object suitable for use as the ``wsgi.input`` of the " "request currently being processed." msgstr "" -#: library/wsgiref.rst:568 +#: library/wsgiref.rst:570 msgid "" "Return an output stream object suitable for use as the ``wsgi.errors`` of " "the request currently being processed." msgstr "" -#: library/wsgiref.rst:574 +#: library/wsgiref.rst:576 msgid "" "Insert CGI variables for the current request into the :attr:`environ` " "attribute." msgstr "" -#: library/wsgiref.rst:576 +#: library/wsgiref.rst:578 msgid "" "Here are some other methods and attributes you may wish to override. This " "list is only a summary, however, and does not include every method that can " @@ -666,32 +670,32 @@ msgid "" "`BaseHandler` subclass." msgstr "" -#: library/wsgiref.rst:582 +#: library/wsgiref.rst:584 msgid "Attributes and methods for customizing the WSGI environment:" msgstr "" -#: library/wsgiref.rst:587 +#: library/wsgiref.rst:589 msgid "" "The value to be used for the ``wsgi.multithread`` environment variable. It " "defaults to true in :class:`BaseHandler`, but may have a different default " "(or be set by the constructor) in the other subclasses." msgstr "" -#: library/wsgiref.rst:594 +#: library/wsgiref.rst:596 msgid "" "The value to be used for the ``wsgi.multiprocess`` environment variable. It " "defaults to true in :class:`BaseHandler`, but may have a different default " "(or be set by the constructor) in the other subclasses." msgstr "" -#: library/wsgiref.rst:601 +#: library/wsgiref.rst:603 msgid "" "The value to be used for the ``wsgi.run_once`` environment variable. It " "defaults to false in :class:`BaseHandler`, but :class:`CGIHandler` sets it " "to true by default." msgstr "" -#: library/wsgiref.rst:608 +#: library/wsgiref.rst:610 msgid "" "The default environment variables to be included in every request's WSGI " "environment. By default, this is a copy of ``os.environ`` at the time that :" @@ -701,7 +705,7 @@ msgid "" "classes and instances." msgstr "" -#: library/wsgiref.rst:618 +#: library/wsgiref.rst:620 msgid "" "If the :attr:`origin_server` attribute is set, this attribute's value is " "used to set the default ``SERVER_SOFTWARE`` WSGI environment variable, and " @@ -710,13 +714,13 @@ msgid "" "are not HTTP origin servers." msgstr "" -#: library/wsgiref.rst:624 +#: library/wsgiref.rst:626 msgid "" "The term \"Python\" is replaced with implementation specific term like " "\"CPython\", \"Jython\" etc." msgstr "" -#: library/wsgiref.rst:630 +#: library/wsgiref.rst:632 msgid "" "Return the URL scheme being used for the current request. The default " "implementation uses the :func:`guess_scheme` function from :mod:`wsgiref." @@ -724,7 +728,7 @@ msgid "" "the current request's :attr:`environ` variables." msgstr "" -#: library/wsgiref.rst:638 +#: library/wsgiref.rst:640 msgid "" "Set the :attr:`environ` attribute to a fully populated WSGI environment. " "The default implementation uses all of the above methods and attributes, " @@ -734,11 +738,11 @@ msgid "" "attribute is a true value and the :attr:`server_software` attribute is set." msgstr "" -#: library/wsgiref.rst:645 +#: library/wsgiref.rst:647 msgid "Methods and attributes for customizing exception handling:" msgstr "" -#: library/wsgiref.rst:650 +#: library/wsgiref.rst:652 msgid "" "Log the *exc_info* tuple in the server log. *exc_info* is a ``(type, value, " "traceback)`` tuple. The default implementation simply writes the traceback " @@ -748,33 +752,33 @@ msgid "" "suitable." msgstr "" -#: library/wsgiref.rst:659 +#: library/wsgiref.rst:661 msgid "" "The maximum number of frames to include in tracebacks output by the default :" "meth:`log_exception` method. If ``None``, all frames are included." msgstr "" -#: library/wsgiref.rst:665 +#: library/wsgiref.rst:667 msgid "" "This method is a WSGI application to generate an error page for the user. " "It is only invoked if an error occurs before headers are sent to the client." msgstr "" -#: library/wsgiref.rst:668 +#: library/wsgiref.rst:670 msgid "" "This method can access the current error information using ``sys." "exc_info()``, and should pass that information to *start_response* when " "calling it (as described in the \"Error Handling\" section of :pep:`3333`)." msgstr "" -#: library/wsgiref.rst:672 +#: library/wsgiref.rst:674 msgid "" "The default implementation just uses the :attr:`error_status`, :attr:" "`error_headers`, and :attr:`error_body` attributes to generate an output " "page. Subclasses can override this to produce more dynamic error output." msgstr "" -#: library/wsgiref.rst:676 +#: library/wsgiref.rst:678 msgid "" "Note, however, that it's not recommended from a security perspective to spit " "out diagnostics to any old user; ideally, you should have to do something " @@ -782,39 +786,39 @@ msgid "" "doesn't include any." msgstr "" -#: library/wsgiref.rst:684 +#: library/wsgiref.rst:686 msgid "" "The HTTP status used for error responses. This should be a status string as " "defined in :pep:`3333`; it defaults to a 500 code and message." msgstr "" -#: library/wsgiref.rst:690 +#: library/wsgiref.rst:692 msgid "" "The HTTP headers used for error responses. This should be a list of WSGI " "response headers (``(name, value)`` tuples), as described in :pep:`3333`. " "The default list just sets the content type to ``text/plain``." msgstr "" -#: library/wsgiref.rst:697 +#: library/wsgiref.rst:699 msgid "" "The error response body. This should be an HTTP response body bytestring. " "It defaults to the plain text, \"A server error occurred. Please contact " "the administrator.\"" msgstr "" -#: library/wsgiref.rst:701 +#: library/wsgiref.rst:703 msgid "" "Methods and attributes for :pep:`3333`'s \"Optional Platform-Specific File " "Handling\" feature:" msgstr "" -#: library/wsgiref.rst:707 +#: library/wsgiref.rst:709 msgid "" "A ``wsgi.file_wrapper`` factory, or ``None``. The default value of this " "attribute is the :class:`wsgiref.util.FileWrapper` class." msgstr "" -#: library/wsgiref.rst:713 +#: library/wsgiref.rst:715 msgid "" "Override to implement platform-specific file transmission. This method is " "called only if the application's return value is an instance of the class " @@ -824,11 +828,11 @@ msgid "" "of this method just returns a false value." msgstr "" -#: library/wsgiref.rst:720 +#: library/wsgiref.rst:722 msgid "Miscellaneous methods and attributes:" msgstr "" -#: library/wsgiref.rst:725 +#: library/wsgiref.rst:727 msgid "" "This attribute should be set to a true value if the handler's :meth:`_write` " "and :meth:`_flush` are being used to communicate directly to the client, " @@ -836,19 +840,19 @@ msgid "" "special ``Status:`` header." msgstr "" -#: library/wsgiref.rst:730 +#: library/wsgiref.rst:732 msgid "" "This attribute's default value is true in :class:`BaseHandler`, but false " "in :class:`BaseCGIHandler` and :class:`CGIHandler`." msgstr "" -#: library/wsgiref.rst:736 +#: library/wsgiref.rst:738 msgid "" "If :attr:`origin_server` is true, this string attribute is used to set the " "HTTP version of the response set to the client. It defaults to ``\"1.0\"``." msgstr "" -#: library/wsgiref.rst:742 +#: library/wsgiref.rst:744 msgid "" "Transcode CGI variables from ``os.environ`` to :pep:`3333` \"bytes in " "unicode\" strings, returning a new dictionary. This function is used by :" @@ -860,22 +864,22 @@ msgid "" "than ISO-8859-1 (e.g. Unix systems using UTF-8)." msgstr "" -#: library/wsgiref.rst:751 +#: library/wsgiref.rst:753 msgid "" "If you are implementing a CGI-based handler of your own, you probably want " "to use this routine instead of just copying values out of ``os.environ`` " "directly." msgstr "" -#: library/wsgiref.rst:759 +#: library/wsgiref.rst:761 msgid "Examples" msgstr "Exemples" -#: library/wsgiref.rst:761 +#: library/wsgiref.rst:763 msgid "This is a working \"Hello World\" WSGI application::" msgstr "" -#: library/wsgiref.rst:786 +#: library/wsgiref.rst:788 msgid "" "Example of a WSGI application serving the current directory, accept optional " "directory and port number (default: 8000) on the command line:" diff --git a/library/zipapp.po b/library/zipapp.po index 2af5d012aa..c13c83eda3 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-08-24 09:01+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-08-06 09:57+0200\n" "Last-Translator: Zepmanbc \n" "Language-Team: FRENCH \n" @@ -368,13 +368,14 @@ msgstr "" "archive modifiée en utilisant la fonction :func:`create_archive` ::" #: library/zipapp.rst:218 +#, fuzzy msgid "" "To update the file in place, do the replacement in memory using a :class:" -"`BytesIO` object, and then overwrite the source afterwards. Note that there " -"is a risk when overwriting a file in place that an error will result in the " -"loss of the original file. This code does not protect against such errors, " -"but production code should do so. Also, this method will only work if the " -"archive fits in memory::" +"`~io.BytesIO` object, and then overwrite the source afterwards. Note that " +"there is a risk when overwriting a file in place that an error will result " +"in the loss of the original file. This code does not protect against such " +"errors, but production code should do so. Also, this method will only work " +"if the archive fits in memory::" msgstr "" "Pour mettre à jour le fichier sans créer de copie locale, effectuez le " "remplacement en mémoire à l'aide d'un objet :class:`BytesIO`, puis écrasez " diff --git a/library/zipfile.po b/library/zipfile.po index 08e15830bc..75099f9e34 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-05-21 16:37+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:31+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -84,17 +84,16 @@ msgstr "" #: library/zipfile.rst:58 msgid "" -"A pathlib-compatible wrapper for zip files. See section :ref:`path-objects` " -"for details." +"Class that implements a subset of the interface provided by :class:`pathlib." +"Path`, including the full :class:`importlib.resources.abc.Traversable` " +"interface." msgstr "" -"Une interface compatible avec *pathlib* pour les fichiers ZIP. Voir le " -"chapitre :ref:`path-objects`." -#: library/zipfile.rst:67 +#: library/zipfile.rst:68 msgid "Class for creating ZIP archives containing Python libraries." msgstr "Classe pour créer des archives ZIP contenant des bibliothèques Python." -#: library/zipfile.rst:72 +#: library/zipfile.rst:73 msgid "" "Class used to represent information about a member of an archive. Instances " "of this class are returned by the :meth:`.getinfo` and :meth:`.infolist` " @@ -114,7 +113,7 @@ msgstr "" "décrivant la date de dernière modification du fichier ; les champs sont " "décrits dans la section :ref:`zipinfo-objects`." -#: library/zipfile.rst:83 +#: library/zipfile.rst:84 msgid "" "Returns ``True`` if *filename* is a valid ZIP file based on its magic " "number, otherwise returns ``False``. *filename* may be a file or file-like " @@ -124,15 +123,15 @@ msgstr "" "nombre magique, sinon retourne ``False``. *filename* peut aussi être un " "fichier ou un objet fichier-compatible." -#: library/zipfile.rst:86 +#: library/zipfile.rst:87 msgid "Support for file and file-like objects." msgstr "Gestion des objets fichier et fichier-compatibles." -#: library/zipfile.rst:92 +#: library/zipfile.rst:93 msgid "The numeric constant for an uncompressed archive member." msgstr "Constante numérique pour un membre d'une archive décompressée." -#: library/zipfile.rst:97 +#: library/zipfile.rst:98 msgid "" "The numeric constant for the usual ZIP compression method. This requires " "the :mod:`zlib` module." @@ -140,7 +139,7 @@ msgstr "" "Constante numérique pour la méthode habituelle de compression de ZIP. " "Nécessite le module :mod:`zlib`." -#: library/zipfile.rst:103 +#: library/zipfile.rst:104 msgid "" "The numeric constant for the BZIP2 compression method. This requires the :" "mod:`bz2` module." @@ -148,7 +147,7 @@ msgstr "" "Constante numérique pour la méthode de compressions BZIP2. Nécessite le " "module :mod:`bz2`." -#: library/zipfile.rst:110 +#: library/zipfile.rst:111 msgid "" "The numeric constant for the LZMA compression method. This requires the :" "mod:`lzma` module." @@ -156,7 +155,7 @@ msgstr "" "Constante numérique pour la méthode de compressions LZMA. Nécessite le " "module :mod:`lzma`." -#: library/zipfile.rst:117 +#: library/zipfile.rst:118 msgid "" "The ZIP file format specification has included support for bzip2 compression " "since 2001, and for LZMA compression since 2006. However, some tools " @@ -170,11 +169,11 @@ msgstr "" "compression et peuvent soit totalement refuser de traiter le fichier ZIP " "soit ne pas extraire certains fichiers." -#: library/zipfile.rst:128 +#: library/zipfile.rst:129 msgid "`PKZIP Application Note`_" msgstr "`PKZIP Application Note`_" -#: library/zipfile.rst:127 +#: library/zipfile.rst:128 msgid "" "Documentation on the ZIP file format by Phil Katz, the creator of the format " "and algorithms used." @@ -182,11 +181,11 @@ msgstr "" "Documentation sur le format de fichier ZIP par Phil Katz, créateur du format " "et des algorithmes utilisés." -#: library/zipfile.rst:131 +#: library/zipfile.rst:132 msgid "`Info-ZIP Home Page `_" msgstr "`Info-ZIP Home Page `_" -#: library/zipfile.rst:131 +#: library/zipfile.rst:132 msgid "" "Information about the Info-ZIP project's ZIP archive programs and " "development libraries." @@ -194,11 +193,11 @@ msgstr "" "Informations sur les programmes et les bibliothèques de développement " "d'archivage ZIP du projet Info-ZIP." -#: library/zipfile.rst:138 +#: library/zipfile.rst:139 msgid "ZipFile Objects" msgstr "Objets ZipFile" -#: library/zipfile.rst:144 +#: library/zipfile.rst:145 msgid "" "Open a ZIP file, where *file* can be a path to a file (a string), a file-" "like object or a :term:`path-like object`." @@ -207,7 +206,7 @@ msgstr "" "chaîne de caractères), un objet fichier-compatible ou un objet chemin-" "compatible :term:`path-like object`." -#: library/zipfile.rst:147 +#: library/zipfile.rst:148 msgid "" "The *mode* parameter should be ``'r'`` to read an existing file, ``'w'`` to " "truncate and write a new file, ``'a'`` to append to an existing file, or " @@ -232,7 +231,7 @@ msgstr "" "exemple :file:`python.exe`). Si *mode* est à ``r`` ou ``a``, le fichier doit " "être navigable." -#: library/zipfile.rst:159 +#: library/zipfile.rst:160 msgid "" "*compression* is the ZIP compression method to use when writing the archive, " "and should be :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " @@ -251,7 +250,7 @@ msgstr "" "disponible, une exception :exc:`RuntimeError` est levée. Est défini par " "défaut à :const:`ZIP_STORED`." -#: library/zipfile.rst:167 +#: library/zipfile.rst:168 msgid "" "If *allowZip64* is ``True`` (the default) zipfile will create ZIP files that " "use the ZIP64 extensions when the zipfile is larger than 4 GiB. If it is " @@ -263,7 +262,7 @@ msgstr "" "S'il est à ``False``, :mod:`zipfile` lève une exception quand le fichier ZIP " "nécessiterait les extensions ZIP64." -#: library/zipfile.rst:172 +#: library/zipfile.rst:173 msgid "" "The *compresslevel* parameter controls the compression level to use when " "writing files to the archive. When using :const:`ZIP_STORED` or :const:" @@ -280,7 +279,7 @@ msgstr "" "de ``1`` à ``9`` sont acceptés (voir :class:`bz2 ` pour plus " "d'informations)." -#: library/zipfile.rst:653 +#: library/zipfile.rst:667 msgid "" "The *strict_timestamps* argument, when set to ``False``, allows to zip files " "older than 1980-01-01 at the cost of setting the timestamp to 1980-01-01. " @@ -292,7 +291,7 @@ msgstr "" "du 1er janvier 1980. De même pour les fichiers datés d'après le 31 décembre " "2107 qui voient leur horodatage fixé au 31 décembre 2107." -#: library/zipfile.rst:186 +#: library/zipfile.rst:187 msgid "" "If the file is created with mode ``'w'``, ``'x'`` or ``'a'`` and then :meth:" "`closed ` without adding any files to the archive, the appropriate " @@ -302,7 +301,7 @@ msgstr "" "meth:`fermé ` sans ajouter de fichiers à l'archive, la structure " "appropriée pour un fichier archive ZIP vide sera écrite dans le fichier." -#: library/zipfile.rst:190 +#: library/zipfile.rst:191 msgid "" "ZipFile is also a context manager and therefore supports the :keyword:`with` " "statement. In the example, *myzip* is closed after the :keyword:`!with` " @@ -312,22 +311,22 @@ msgstr "" "déclaration :keyword:`with`. Dans l'exemple, *myzip* est fermé à la fin de " "la déclaration :keyword:`!with` --- même si une exception est levée ::" -#: library/zipfile.rst:197 +#: library/zipfile.rst:198 msgid "Added the ability to use :class:`ZipFile` as a context manager." msgstr "" "Ajout de la possibilité d'utiliser :class:`ZipFile` comme un gestionnaire de " "contexte." -#: library/zipfile.rst:200 +#: library/zipfile.rst:201 msgid "Added support for :mod:`bzip2 ` and :mod:`lzma` compression." msgstr "" "Ajout de la gestion de la compression :mod:`bzip2 ` et :mod:`lzma`." -#: library/zipfile.rst:567 +#: library/zipfile.rst:581 msgid "ZIP64 extensions are enabled by default." msgstr "Les extensions ZIP64 sont activées par défaut." -#: library/zipfile.rst:206 +#: library/zipfile.rst:207 msgid "" "Added support for writing to unseekable streams. Added support for the " "``'x'`` mode." @@ -335,7 +334,7 @@ msgstr "" "Ajout de la gestion de l'écriture dans des flux non navigables. Ajout de la " "gestion du mode ``x``." -#: library/zipfile.rst:210 +#: library/zipfile.rst:211 msgid "" "Previously, a plain :exc:`RuntimeError` was raised for unrecognized " "compression values." @@ -343,21 +342,21 @@ msgstr "" "Auparavant, une simple exception :exc:`RuntimeError` était levée pour des " "valeurs de compression non reconnues." -#: library/zipfile.rst:214 +#: library/zipfile.rst:215 msgid "The *file* parameter accepts a :term:`path-like object`." msgstr "" "Le paramètre *file* accepte un objet fichier-compatible :term:`path-like " "object`." -#: library/zipfile.rst:217 +#: library/zipfile.rst:218 msgid "Add the *compresslevel* parameter." msgstr "Ajout du paramètre *compresslevel*." -#: library/zipfile.rst:664 +#: library/zipfile.rst:678 msgid "The *strict_timestamps* keyword-only argument" msgstr "l'argument nommé *strict_timestamps*" -#: library/zipfile.rst:226 +#: library/zipfile.rst:227 msgid "" "Close the archive file. You must call :meth:`close` before exiting your " "program or essential records will not be written." @@ -365,7 +364,7 @@ msgstr "" "Ferme l'archive. Vous devez appeler :meth:`close` avant de terminer votre " "programme ou des informations essentielles n'y seront pas enregistrées." -#: library/zipfile.rst:232 +#: library/zipfile.rst:233 msgid "" "Return a :class:`ZipInfo` object with information about the archive member " "*name*. Calling :meth:`getinfo` for a name not currently contained in the " @@ -375,7 +374,7 @@ msgstr "" "l'archive. Appeler :meth:`getinfo` pour un nom non contenu dans l'archive " "lève une exception :exc:`KeyError`." -#: library/zipfile.rst:239 +#: library/zipfile.rst:240 msgid "" "Return a list containing a :class:`ZipInfo` object for each member of the " "archive. The objects are in the same order as their entries in the actual " @@ -385,16 +384,18 @@ msgstr "" "l'archive. Les objets ont le même ordre que leurs entrées dans le fichier " "ZIP présent sur disque s'il s'agissait d'une archive préexistante." -#: library/zipfile.rst:246 +#: library/zipfile.rst:247 msgid "Return a list of archive members by name." msgstr "Retourne une liste des membres de l'archive indexés par leur nom." -#: library/zipfile.rst:251 +#: library/zipfile.rst:252 +#, fuzzy msgid "" "Access a member of the archive as a binary file-like object. *name* can be " "either the name of a file within the archive or a :class:`ZipInfo` object. " "The *mode* parameter, if included, must be ``'r'`` (the default) or " -"``'w'``. *pwd* is the password used to decrypt encrypted ZIP files." +"``'w'``. *pwd* is the password used to decrypt encrypted ZIP files as a :" +"class:`bytes` object." msgstr "" "Accède un membre de l'archive en tant qu'objet fichier-compatible binaire. " "*name* peut être soit le nom d'un fichier au sein de l'archive soit un " @@ -402,7 +403,7 @@ msgstr "" "``'r'`` (valeur par défaut) ou ``'w'``. *pwd* est le mot de passe utilisé " "pour déchiffrer des fichiers ZIP chiffrés." -#: library/zipfile.rst:256 +#: library/zipfile.rst:258 msgid "" ":meth:`~ZipFile.open` is also a context manager and therefore supports the :" "keyword:`with` statement::" @@ -410,13 +411,14 @@ msgstr "" ":meth:`~ZipFile.open` est aussi un gestionnaire de contexte et gère ainsi la " "déclaration :keyword:`with` ::" -#: library/zipfile.rst:263 +#: library/zipfile.rst:265 +#, fuzzy msgid "" "With *mode* ``'r'`` the file-like object (``ZipExtFile``) is read-only and " "provides the following methods: :meth:`~io.BufferedIOBase.read`, :meth:`~io." "IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io.IOBase.seek`, :" -"meth:`~io.IOBase.tell`, :meth:`__iter__`, :meth:`~iterator.__next__`. These " -"objects can operate independently of the ZipFile." +"meth:`~io.IOBase.tell`, :meth:`~container.__iter__`, :meth:`~iterator." +"__next__`. These objects can operate independently of the ZipFile." msgstr "" "Avec *mode* à ``r`` l'objet fichier-compatible (``ZipExtFile``) est en " "lecture seule et fournit les méthodes suivantes : :meth:`~io.BufferedIOBase." @@ -424,7 +426,7 @@ msgstr "" "IOBase.seek`, :meth:`~io.IOBase.tell`, :meth:`__iter__`, et :meth:`~iterator." "__next__`. Ces objets opèrent indépendamment du fichier ZIP *ZipFile*." -#: library/zipfile.rst:270 +#: library/zipfile.rst:272 msgid "" "With ``mode='w'``, a writable file handle is returned, which supports the :" "meth:`~io.BufferedIOBase.write` method. While a writable file handle is " @@ -436,7 +438,7 @@ msgstr "" "fichier inscriptible est ouvert, tenter de lire ou écrire d'autres fichiers " "dans le fichier ZIP lève une exception :exc:`ValueError`." -#: library/zipfile.rst:275 +#: library/zipfile.rst:277 msgid "" "When writing a file, if the file size is not known in advance but may exceed " "2 GiB, pass ``force_zip64=True`` to ensure that the header format is capable " @@ -451,7 +453,7 @@ msgstr "" "objet :class:`ZipInfo` avec l'attribut :attr:`~ZipInfo.file_size` défini et " "utilisez-le en tant que paramètre *name*." -#: library/zipfile.rst:283 +#: library/zipfile.rst:285 msgid "" "The :meth:`.open`, :meth:`read` and :meth:`extract` methods can take a " "filename or a :class:`ZipInfo` object. You will appreciate this when trying " @@ -462,7 +464,7 @@ msgstr "" "lorsqu'on essaie de lire un fichier ZIP qui contient des membres avec des " "noms en double." -#: library/zipfile.rst:287 +#: library/zipfile.rst:289 msgid "" "Removed support of ``mode='U'``. Use :class:`io.TextIOWrapper` for reading " "compressed text files in :term:`universal newlines` mode." @@ -471,7 +473,7 @@ msgstr "" "TextIOWrapper` pour lire des fichiers texte compressés en mode :term:" "`universal newlines`." -#: library/zipfile.rst:291 +#: library/zipfile.rst:293 #, fuzzy msgid "" ":meth:`ZipFile.open` can now be used to write files into the archive with " @@ -480,7 +482,7 @@ msgstr "" "La méthode :meth:`open` peut désormais être utilisée pour écrire des " "fichiers dans l'archive avec l'option ``mode='w'``." -#: library/zipfile.rst:295 +#: library/zipfile.rst:297 msgid "" "Calling :meth:`.open` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -488,13 +490,14 @@ msgstr "" "Appeler :meth:`.open` sur un fichier ZipFile fermé lève une erreur :exc:" "`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:302 +#: library/zipfile.rst:304 +#, fuzzy msgid "" "Extract a member from the archive to the current working directory; *member* " "must be its full name or a :class:`ZipInfo` object. Its file information is " "extracted as accurately as possible. *path* specifies a different directory " "to extract to. *member* can be a filename or a :class:`ZipInfo` object. " -"*pwd* is the password used for encrypted files." +"*pwd* is the password used for encrypted files as a :class:`bytes` object." msgstr "" "Extrait un membre de l'archive dans le répertoire courant ; *member* doit " "être son nom complet ou un objet :class:`ZipInfo`. Ses propriétés de fichier " @@ -503,11 +506,11 @@ msgstr "" "class:`ZipInfo`. *pwd* est le mot de passe utilisé pour les fichiers " "chiffrés." -#: library/zipfile.rst:308 +#: library/zipfile.rst:310 msgid "Returns the normalized path created (a directory or new file)." msgstr "Retourne le chemin normalisé créé (un dossier ou un nouveau fichier)." -#: library/zipfile.rst:312 +#: library/zipfile.rst:314 msgid "" "If a member filename is an absolute path, a drive/UNC sharepoint and leading " "(back)slashes will be stripped, e.g.: ``///foo/bar`` becomes ``foo/bar`` on " @@ -525,7 +528,7 @@ msgstr "" "``foo../ba..r``. Sous Windows les caractères illégaux (``:``, ``<``, ``>``, " "``|``, ``\"``, ``?`` et ``*``) sont remplacés par un *underscore* (``_``)." -#: library/zipfile.rst:320 +#: library/zipfile.rst:322 msgid "" "Calling :meth:`extract` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -533,25 +536,26 @@ msgstr "" "Appeler :meth:`.extract` sur un fichier ZipFile fermé lève une erreur :exc:" "`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:347 +#: library/zipfile.rst:349 msgid "The *path* parameter accepts a :term:`path-like object`." msgstr "" "Le paramètre *path* accepte un objet chemin-compatible :term:`path-like " "object`." -#: library/zipfile.rst:330 +#: library/zipfile.rst:332 +#, fuzzy msgid "" "Extract all members from the archive to the current working directory. " "*path* specifies a different directory to extract to. *members* is optional " "and must be a subset of the list returned by :meth:`namelist`. *pwd* is the " -"password used for encrypted files." +"password used for encrypted files as a :class:`bytes` object." msgstr "" "Extrait tous les membres de l'archive dans le répertoire courant. *path* " "spécifie un dossier de destination différent. *members* est optionnel et " "doit être un sous-ensemble de la liste retournée par :meth:`namelist`. *pwd* " "est le mot de passe utilisé pour les fichiers chiffrés." -#: library/zipfile.rst:337 +#: library/zipfile.rst:339 msgid "" "Never extract archives from untrusted sources without prior inspection. It " "is possible that files are created outside of *path*, e.g. members that have " @@ -564,7 +568,7 @@ msgstr "" "commençant par ``\"/\"`` ou des noms de fichier avec deux points ``\".." "\"``. Ce module essaie de prévenir ceci. Voir la note de :meth:`extract`." -#: library/zipfile.rst:343 +#: library/zipfile.rst:345 msgid "" "Calling :meth:`extractall` on a closed ZipFile will raise a :exc:" "`ValueError`. Previously, a :exc:`RuntimeError` was raised." @@ -572,27 +576,31 @@ msgstr "" "Appeler :meth:`.extractall` sur un fichier ZipFile fermé lève une erreur :" "exc:`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:353 +#: library/zipfile.rst:355 msgid "Print a table of contents for the archive to ``sys.stdout``." msgstr "Affiche la liste des contenus de l'archive sur ``sys.stdout``." -#: library/zipfile.rst:358 -msgid "Set *pwd* as default password to extract encrypted files." +#: library/zipfile.rst:360 +#, fuzzy +msgid "" +"Set *pwd* (a :class:`bytes` object) as default password to extract encrypted " +"files." msgstr "" "Définit *pwd* comme mot de passe par défait pour extraire des fichiers " "chiffrés." -#: library/zipfile.rst:363 +#: library/zipfile.rst:365 +#, fuzzy msgid "" "Return the bytes of the file *name* in the archive. *name* is the name of " "the file in the archive, or a :class:`ZipInfo` object. The archive must be " -"open for read or append. *pwd* is the password used for encrypted files " -"and, if specified, it will override the default password set with :meth:" -"`setpassword`. Calling :meth:`read` on a ZipFile that uses a compression " -"method other than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:" -"`ZIP_BZIP2` or :const:`ZIP_LZMA` will raise a :exc:`NotImplementedError`. An " -"error will also be raised if the corresponding compression module is not " -"available." +"open for read or append. *pwd* is the password used for encrypted files as " +"a :class:`bytes` object and, if specified, overrides the default password " +"set with :meth:`setpassword`. Calling :meth:`read` on a ZipFile that uses a " +"compression method other than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :" +"const:`ZIP_BZIP2` or :const:`ZIP_LZMA` will raise a :exc:" +"`NotImplementedError`. An error will also be raised if the corresponding " +"compression module is not available." msgstr "" "Retourne les octets du fichier *name* dans l'archive. *name* est le nom du " "fichier dans l'archive ou un objet :class:`ZipInfo`. L'archive doit être " @@ -604,7 +612,7 @@ msgstr "" "lève une erreur :exc:`NotImplementedError`. Une erreur est également levée " "si le module de compression n'est pas disponible." -#: library/zipfile.rst:372 +#: library/zipfile.rst:374 msgid "" "Calling :meth:`read` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -612,7 +620,7 @@ msgstr "" "Appeler :meth:`.read` sur un fichier ZipFile fermé lève une erreur :exc:" "`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:379 +#: library/zipfile.rst:381 msgid "" "Read all the files in the archive and check their CRC's and file headers. " "Return the name of the first bad file, or else return ``None``." @@ -620,7 +628,7 @@ msgstr "" "Lit tous les fichiers de l'archive et vérifie leurs sommes CRC et leurs en-" "têtes. Retourne le nom du premier fichier mauvais ou retourne ``None`` sinon." -#: library/zipfile.rst:382 +#: library/zipfile.rst:384 msgid "" "Calling :meth:`testzip` on a closed ZipFile will raise a :exc:`ValueError`. " "Previously, a :exc:`RuntimeError` was raised." @@ -628,7 +636,7 @@ msgstr "" "Appeler :meth:`testzip` sur un fichier ZipFile fermé lève une erreur :exc:" "`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:390 +#: library/zipfile.rst:392 msgid "" "Write the file named *filename* to the archive, giving it the archive name " "*arcname* (by default, this will be the same as *filename*, but without a " @@ -646,7 +654,7 @@ msgstr "" "manière, *compression* écrase le constructeur si donné. L'archive doit être " "ouverte avec le mode ``'w'``, ``'x'`` ou ``'a'``." -#: library/zipfile.rst:400 +#: library/zipfile.rst:402 msgid "" "Archive names should be relative to the archive root, that is, they should " "not start with a path separator." @@ -654,7 +662,7 @@ msgstr "" "Les noms d'archive doivent être relatifs à la racine de l'archive, c'est-à-" "dire qu'ils ne doivent pas commencer par un séparateur de chemin." -#: library/zipfile.rst:405 +#: library/zipfile.rst:407 msgid "" "If ``arcname`` (or ``filename``, if ``arcname`` is not given) contains a " "null byte, the name of the file in the archive will be truncated at the null " @@ -663,13 +671,13 @@ msgstr "" "Si ``arcname`` (ou ``filename`` si ``arcname`` n'est pas donné) contient un " "octet nul, le nom du fichier dans l'archive sera tronqué à l'octet nul." -#: library/zipfile.rst:410 +#: library/zipfile.rst:412 msgid "" "A leading slash in the filename may lead to the archive being impossible to " "open in some zip programs on Windows systems." msgstr "" -#: library/zipfile.rst:413 +#: library/zipfile.rst:415 msgid "" "Calling :meth:`write` on a ZipFile created with mode ``'r'`` or a closed " "ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " @@ -678,7 +686,7 @@ msgstr "" "Appeler :meth:`.write` sur un fichier ZipFile fermé lève une erreur :exc:" "`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:422 +#: library/zipfile.rst:424 msgid "" "Write a file into the archive. The contents is *data*, which may be either " "a :class:`str` or a :class:`bytes` instance; if it is a :class:`str`, it is " @@ -697,7 +705,7 @@ msgstr "" "date et l'heure sont définies sur la date et l'heure actuelles. L'archive " "doit être ouverte avec le mode ``'w'``, ``'x'`` ou ``'a'``." -#: library/zipfile.rst:430 +#: library/zipfile.rst:432 msgid "" "If given, *compress_type* overrides the value given for the *compression* " "parameter to the constructor for the new entry, or in the *zinfo_or_arcname* " @@ -709,7 +717,7 @@ msgstr "" "*zinfo_or_arcname* (si c'est une instance de :class:`ZipInfo`). De la même " "manière, *compresslevel* le constructeur si donné." -#: library/zipfile.rst:437 +#: library/zipfile.rst:439 msgid "" "When passing a :class:`ZipInfo` instance as the *zinfo_or_arcname* " "parameter, the compression method used will be that specified in the " @@ -722,11 +730,11 @@ msgstr "" "défaut, le constructeur de la classe :class:`ZipInfo` définit ce membre à :" "const:`ZIP_STORED`." -#: library/zipfile.rst:442 +#: library/zipfile.rst:444 msgid "The *compress_type* argument." msgstr "L'argument *compress_type*." -#: library/zipfile.rst:445 +#: library/zipfile.rst:447 msgid "" "Calling :meth:`writestr` on a ZipFile created with mode ``'r'`` or a closed " "ZipFile will raise a :exc:`ValueError`. Previously, a :exc:`RuntimeError` " @@ -735,15 +743,15 @@ msgstr "" "Appeler :meth:`.writestr` sur un fichier ZipFile fermé lève une erreur :exc:" "`ValueError`. Précédemment, une erreur :exc:`RuntimeError` était levée." -#: library/zipfile.rst:451 +#: library/zipfile.rst:453 msgid "The following data attributes are also available:" msgstr "Les attributs suivants sont aussi disponibles :" -#: library/zipfile.rst:455 +#: library/zipfile.rst:457 msgid "Name of the ZIP file." msgstr "Nom du fichier ZIP." -#: library/zipfile.rst:459 +#: library/zipfile.rst:461 msgid "" "The level of debug output to use. This may be set from ``0`` (the default, " "no output) to ``3`` (the most output). Debugging information is written to " @@ -753,7 +761,7 @@ msgstr "" "défaut, pas d'affichage) à ``3`` (affichage le plus bavard). Les " "informations de débogage sont affichées sur ``sys.stdout``." -#: library/zipfile.rst:465 +#: library/zipfile.rst:467 msgid "" "The comment associated with the ZIP file as a :class:`bytes` object. If " "assigning a comment to a :class:`ZipFile` instance created with mode " @@ -765,11 +773,11 @@ msgstr "" "le mode ``'w'``, ``'x'`` ou ``'a'``, il ne doit pas dépasser 65535 octets. " "Les commentaires plus longs que cette taille seront tronqués." -#: library/zipfile.rst:475 +#: library/zipfile.rst:477 msgid "Path Objects" msgstr "Objets *Path*" -#: library/zipfile.rst:479 +#: library/zipfile.rst:481 msgid "" "Construct a Path object from a ``root`` zipfile (which may be a :class:" "`ZipFile` instance or ``file`` suitable for passing to the :class:`ZipFile` " @@ -779,7 +787,7 @@ msgstr "" "instance de :class:`ZipFile` ou tout ce qui sera accepté par le paramètre " "*file* du constructeur de :class:`ZipFile`)." -#: library/zipfile.rst:483 +#: library/zipfile.rst:485 msgid "" "``at`` specifies the location of this Path within the zipfile, e.g. 'dir/" "file.txt', 'dir/', or ''. Defaults to the empty string, indicating the root." @@ -788,24 +796,24 @@ msgstr "" "``\"dir/file.txt\"``, ``\"dir/\"``, ou ``\"\"``. Par défaut c'est une chaine " "vide, indiquant la racine de l'archive." -#: library/zipfile.rst:487 +#: library/zipfile.rst:489 msgid "" "Path objects expose the following features of :mod:`pathlib.Path` objects:" msgstr "" "Les objets ``Path`` de ``zipfile`` exposent les fonctionnalités suivantes " "des objets de :mod:`pathlib.Path` :" -#: library/zipfile.rst:490 +#: library/zipfile.rst:492 #, fuzzy msgid "Path objects are traversable using the ``/`` operator or ``joinpath``." msgstr "" "On peut naviguer dans les objets ``Path`` en utilisant l'opérateur ``/``." -#: library/zipfile.rst:494 +#: library/zipfile.rst:496 msgid "The final path component." msgstr "Le dernier segment du chemin." -#: library/zipfile.rst:498 +#: library/zipfile.rst:500 msgid "" "Invoke :meth:`ZipFile.open` on the current path. Allows opening for read or " "write, text or binary through supported modes: 'r', 'w', 'rb', 'wb'. " @@ -820,26 +828,34 @@ msgstr "" "texte, ils sont ignorés autrement. ``pwd`` est le paramètre ``pwd`` de :meth:" "`ZipFile.open`." -#: library/zipfile.rst:507 +#: library/zipfile.rst:509 msgid "" "Added support for text and binary modes for open. Default mode is now text." msgstr "" "prise en charge des modes texte et binaire pour ``open``. Le mode texte est " "maintenant le mode par défaut." -#: library/zipfile.rst:513 +#: library/zipfile.rst:543 +msgid "" +"The ``encoding`` parameter can be supplied as a positional argument without " +"causing a :exc:`TypeError`. As it could in 3.9. Code needing to be " +"compatible with unpatched 3.10 and 3.11 versions must pass all :class:`io." +"TextIOWrapper` arguments, ``encoding`` included, as keywords." +msgstr "" + +#: library/zipfile.rst:521 msgid "Enumerate the children of the current directory." msgstr "Énumère le contenu du dossier actuel." -#: library/zipfile.rst:517 +#: library/zipfile.rst:525 msgid "Return ``True`` if the current context references a directory." msgstr "Renvoie ``True`` si ce chemin pointe sur un dossier." -#: library/zipfile.rst:521 +#: library/zipfile.rst:529 msgid "Return ``True`` if the current context references a file." msgstr "Renvoie ``True`` si ce chemin pointe sur un fichier." -#: library/zipfile.rst:525 +#: library/zipfile.rst:533 msgid "" "Return ``True`` if the current context references a file or directory in the " "zip file." @@ -847,7 +863,7 @@ msgstr "" "Renvoie ``True`` si le chemin pointe sur un fichier ou un dossier de " "l'archive ZIP" -#: library/zipfile.rst:530 +#: library/zipfile.rst:538 msgid "" "Read the current file as unicode text. Positional and keyword arguments are " "passed through to :class:`io.TextIOWrapper` (except ``buffer``, which is " @@ -857,27 +873,27 @@ msgstr "" "passés à :class:`io.TextIOWrapper` (sauf ``buffer``, qui est imposé par le " "contexte)" -#: library/zipfile.rst:537 +#: library/zipfile.rst:551 msgid "Read the current file as bytes." msgstr "Lit le fichier en mode binaire, renvoyant un objet *bytes*." -#: library/zipfile.rst:541 +#: library/zipfile.rst:555 msgid "" "Return a new Path object with each of the *other* arguments joined. The " "following are equivalent::" msgstr "" -#: library/zipfile.rst:548 +#: library/zipfile.rst:562 msgid "" "Prior to 3.10, ``joinpath`` was undocumented and accepted exactly one " "parameter." msgstr "" -#: library/zipfile.rst:556 +#: library/zipfile.rst:570 msgid "PyZipFile Objects" msgstr "Objets *PyZipFile*" -#: library/zipfile.rst:558 +#: library/zipfile.rst:572 msgid "" "The :class:`PyZipFile` constructor takes the same parameters as the :class:" "`ZipFile` constructor, and one additional parameter, *optimize*." @@ -885,18 +901,18 @@ msgstr "" "Le constructeur de :class:`PyZipFile` prend les mêmes paramètres que le " "constructeur de :class:`ZipFile` avec un paramètre additionnel *optimize*." -#: library/zipfile.rst:564 +#: library/zipfile.rst:578 msgid "The *optimize* parameter." msgstr "Le paramètre *optimize*." -#: library/zipfile.rst:570 +#: library/zipfile.rst:584 msgid "" "Instances have one method in addition to those of :class:`ZipFile` objects:" msgstr "" "Les instances ont une méthode supplémentaire par rapport aux objets :class:" "`ZipFile` :" -#: library/zipfile.rst:574 +#: library/zipfile.rst:588 msgid "" "Search for files :file:`\\*.py` and add the corresponding file to the " "archive." @@ -904,7 +920,7 @@ msgstr "" "Cherche les fichiers :file:`\\*.py` et ajoute le fichier correspondant à " "l'archive." -#: library/zipfile.rst:577 +#: library/zipfile.rst:591 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was not given or ``-1``, " "the corresponding file is a :file:`\\*.pyc` file, compiling if necessary." @@ -913,7 +929,7 @@ msgstr "" "donné ou est à ``-1``, le fichier correspondant est un fichier :file:`\\*." "pyc`, à compiler si nécessaire." -#: library/zipfile.rst:580 +#: library/zipfile.rst:594 msgid "" "If the *optimize* parameter to :class:`PyZipFile` was ``0``, ``1`` or ``2``, " "only files with that optimization level (see :func:`compile`) are added to " @@ -923,7 +939,7 @@ msgstr "" "``0``, ``1`` ou ``2``, ne sont ajoutés dans l'archive que les fichiers avec " "ce niveau d'optimisation (voir :func:`compile`), à compiler si nécessaire." -#: library/zipfile.rst:584 +#: library/zipfile.rst:598 msgid "" "If *pathname* is a file, the filename must end with :file:`.py`, and just " "the (corresponding :file:`\\*.pyc`) file is added at the top level (no path " @@ -946,11 +962,11 @@ msgstr "" "s'il y a des sous-répertoires qui sont des répertoires de paquet, ils sont " "tous ajoutés récursivement dans un ordre trié." -#: library/zipfile.rst:594 +#: library/zipfile.rst:608 msgid "*basename* is intended for internal use only." msgstr "*basename* n'est sensé être utilisé qu'en interne." -#: library/zipfile.rst:596 +#: library/zipfile.rst:610 msgid "" "*filterfunc*, if given, must be a function taking a single string argument. " "It will be passed each path (including each individual full file path) " @@ -969,31 +985,31 @@ msgstr "" "``test_``, nous pouvons utiliser une fonction *filterfunc* pour les " "exclure ::" -#: library/zipfile.rst:610 +#: library/zipfile.rst:624 msgid "The :meth:`writepy` method makes archives with file names like this::" msgstr "" "La méthode :meth:`writepy` crée des archives avec des noms de fichier comme " "suit ::" -#: library/zipfile.rst:619 +#: library/zipfile.rst:633 msgid "The *filterfunc* parameter." msgstr "Le paramètre *filterfunc*." -#: library/zipfile.rst:622 +#: library/zipfile.rst:636 msgid "The *pathname* parameter accepts a :term:`path-like object`." msgstr "" "Le paramètre *pathname* accepte un objet chemin-compatible :term:`path-like " "object`." -#: library/zipfile.rst:625 +#: library/zipfile.rst:639 msgid "Recursion sorts directory entries." msgstr "La récursion trie les entrées de dossier." -#: library/zipfile.rst:632 +#: library/zipfile.rst:646 msgid "ZipInfo Objects" msgstr "Objets *ZipInfo*" -#: library/zipfile.rst:634 +#: library/zipfile.rst:648 msgid "" "Instances of the :class:`ZipInfo` class are returned by the :meth:`.getinfo` " "and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " @@ -1003,7 +1019,7 @@ msgstr "" "méthodes :meth:`.getinfo` et :meth:`.infolist` des objets :class:`ZipFile`. " "Chaque objet stocke des informations sur un seul membre de l'archive ZIP." -#: library/zipfile.rst:638 +#: library/zipfile.rst:652 msgid "" "There is one classmethod to make a :class:`ZipInfo` instance for a " "filesystem file:" @@ -1011,7 +1027,7 @@ msgstr "" "Il y a une méthode de classe pour créer une instance de :class:`ZipInfo` " "pour un fichier du système de fichiers :" -#: library/zipfile.rst:644 +#: library/zipfile.rst:658 msgid "" "Construct a :class:`ZipInfo` instance for a file on the filesystem, in " "preparation for adding it to a zip file." @@ -1019,13 +1035,13 @@ msgstr "" "Construit une instance de :class:`ZipInfo` pour le fichier du système de " "fichiers, en préparation de l'ajouter à un fichier ZIP." -#: library/zipfile.rst:647 +#: library/zipfile.rst:661 msgid "*filename* should be the path to a file or directory on the filesystem." msgstr "" "*filename* doit être un chemin vers un fichier ou un répertoire dans le " "système de fichiers." -#: library/zipfile.rst:649 +#: library/zipfile.rst:663 msgid "" "If *arcname* is specified, it is used as the name within the archive. If " "*arcname* is not specified, the name will be the same as *filename*, but " @@ -1035,31 +1051,31 @@ msgstr "" "*arcname* n'est pas spécifié, le nom sera le même que *filename* mais sans " "lettre de disque et sans séparateur de chemin en première position." -#: library/zipfile.rst:661 +#: library/zipfile.rst:675 msgid "The *filename* parameter accepts a :term:`path-like object`." msgstr "" "Le paramètre *filename* accepte un objet chemin-compatible :term:`path-like " "object`." -#: library/zipfile.rst:668 +#: library/zipfile.rst:682 msgid "Instances have the following methods and attributes:" msgstr "Les instances ont les méthodes et attributs suivants :" -#: library/zipfile.rst:672 +#: library/zipfile.rst:686 msgid "Return ``True`` if this archive member is a directory." msgstr "Retourne ``True`` si le membre d'archive est un répertoire." -#: library/zipfile.rst:674 +#: library/zipfile.rst:688 msgid "This uses the entry's name: directories should always end with ``/``." msgstr "" "Utilise le nom de l'entrée : les répertoires doivent toujours se terminer " "par ``/``." -#: library/zipfile.rst:681 +#: library/zipfile.rst:695 msgid "Name of the file in the archive." msgstr "Nom du fichier dans l'archive." -#: library/zipfile.rst:686 +#: library/zipfile.rst:700 msgid "" "The time and date of the last modification to the archive member. This is a " "tuple of six values:" @@ -1067,77 +1083,77 @@ msgstr "" "Date et heure de dernière modification pour le membre de l'archive. *Tuple* " "de six valeurs :" -#: library/zipfile.rst:690 +#: library/zipfile.rst:704 msgid "Index" msgstr "Index" -#: library/zipfile.rst:690 +#: library/zipfile.rst:704 msgid "Value" msgstr "Valeur" -#: library/zipfile.rst:692 +#: library/zipfile.rst:706 msgid "``0``" msgstr "``0``" -#: library/zipfile.rst:692 +#: library/zipfile.rst:706 msgid "Year (>= 1980)" msgstr "Année (>= 1980)" -#: library/zipfile.rst:694 +#: library/zipfile.rst:708 msgid "``1``" msgstr "``1``" -#: library/zipfile.rst:694 +#: library/zipfile.rst:708 msgid "Month (one-based)" msgstr "Mois (indexé à partir de 1)" -#: library/zipfile.rst:696 +#: library/zipfile.rst:710 msgid "``2``" msgstr "``2``" -#: library/zipfile.rst:696 +#: library/zipfile.rst:710 msgid "Day of month (one-based)" msgstr "Jour du mois (indexé à partir de 1)" -#: library/zipfile.rst:698 +#: library/zipfile.rst:712 msgid "``3``" msgstr "``3``" -#: library/zipfile.rst:698 +#: library/zipfile.rst:712 msgid "Hours (zero-based)" msgstr "Heures (indexées à partir de 0)" -#: library/zipfile.rst:700 +#: library/zipfile.rst:714 msgid "``4``" msgstr "``4``" -#: library/zipfile.rst:700 +#: library/zipfile.rst:714 msgid "Minutes (zero-based)" msgstr "Minutes (indexées à partir de 0)" -#: library/zipfile.rst:702 +#: library/zipfile.rst:716 msgid "``5``" msgstr "``5``" -#: library/zipfile.rst:702 +#: library/zipfile.rst:716 msgid "Seconds (zero-based)" msgstr "Secondes (indexées à partir de 0)" -#: library/zipfile.rst:707 +#: library/zipfile.rst:721 msgid "The ZIP file format does not support timestamps before 1980." msgstr "Le format de fichier ZIP ne gère pas les horodatages avant 1980." -#: library/zipfile.rst:712 +#: library/zipfile.rst:726 msgid "Type of compression for the archive member." msgstr "Type de compression du membre d'archive." -#: library/zipfile.rst:717 +#: library/zipfile.rst:731 msgid "Comment for the individual archive member as a :class:`bytes` object." msgstr "" "Commentaire pour le membre d'archive individuel en tant qu'objet :class:" "`bytes`." -#: library/zipfile.rst:722 +#: library/zipfile.rst:736 msgid "" "Expansion field data. The `PKZIP Application Note`_ contains some comments " "on the internal structure of the data contained in this :class:`bytes` " @@ -1147,59 +1163,59 @@ msgstr "" "contient quelques commentaires sur la structure interne des données " "contenues dans cet objet :class:`bytes`." -#: library/zipfile.rst:729 +#: library/zipfile.rst:743 msgid "System which created ZIP archive." msgstr "Système ayant créé l'archive ZIP." -#: library/zipfile.rst:734 +#: library/zipfile.rst:748 msgid "PKZIP version which created ZIP archive." msgstr "Version de PKZIP ayant créé l'archive ZIP." -#: library/zipfile.rst:739 +#: library/zipfile.rst:753 msgid "PKZIP version needed to extract archive." msgstr "Version de PKZIP nécessaire à l'extraction de l'archive ZIP." -#: library/zipfile.rst:744 +#: library/zipfile.rst:758 msgid "Must be zero." msgstr "Doit être à zéro." -#: library/zipfile.rst:749 +#: library/zipfile.rst:763 msgid "ZIP flag bits." msgstr "Bits d'options ZIP." -#: library/zipfile.rst:754 +#: library/zipfile.rst:768 msgid "Volume number of file header." msgstr "Numéro de volume de l'entête du fichier." -#: library/zipfile.rst:759 +#: library/zipfile.rst:773 msgid "Internal attributes." msgstr "Attributs internes." -#: library/zipfile.rst:764 +#: library/zipfile.rst:778 msgid "External file attributes." msgstr "Attributs de fichier externes." -#: library/zipfile.rst:769 +#: library/zipfile.rst:783 msgid "Byte offset to the file header." msgstr "Longueur de l'entête du fichier en octets." -#: library/zipfile.rst:774 +#: library/zipfile.rst:788 msgid "CRC-32 of the uncompressed file." msgstr "CRC-32 du fichier décompressé." -#: library/zipfile.rst:779 +#: library/zipfile.rst:793 msgid "Size of the compressed data." msgstr "Taille des données décompressées." -#: library/zipfile.rst:784 +#: library/zipfile.rst:798 msgid "Size of the uncompressed file." msgstr "Taille du fichier décompressé." -#: library/zipfile.rst:791 +#: library/zipfile.rst:805 msgid "Command-Line Interface" msgstr "Interface en ligne de commande" -#: library/zipfile.rst:793 +#: library/zipfile.rst:807 msgid "" "The :mod:`zipfile` module provides a simple command-line interface to " "interact with ZIP archives." @@ -1207,7 +1223,7 @@ msgstr "" "Le module :mod:`zipfile` fournit une interface en ligne de commande simple " "pour interagir avec des archives ZIP." -#: library/zipfile.rst:796 +#: library/zipfile.rst:810 msgid "" "If you want to create a new ZIP archive, specify its name after the :option:" "`-c` option and then list the filename(s) that should be included:" @@ -1215,11 +1231,11 @@ msgstr "" "Si vous voulez créer une nouvelle archive ZIP, spécifiez son nom après " "l'option :option:`-c` et listez ensuite le(s) nom(s) de fichier à inclure :" -#: library/zipfile.rst:803 +#: library/zipfile.rst:817 msgid "Passing a directory is also acceptable:" msgstr "Passer un répertoire est aussi possible :" -#: library/zipfile.rst:809 +#: library/zipfile.rst:823 msgid "" "If you want to extract a ZIP archive into the specified directory, use the :" "option:`-e` option:" @@ -1227,38 +1243,38 @@ msgstr "" "Si vous voulez extraire une archive ZIP dans un répertoire donné, utilisez " "l'option :option:`-e` :" -#: library/zipfile.rst:816 +#: library/zipfile.rst:830 msgid "For a list of the files in a ZIP archive, use the :option:`-l` option:" msgstr "" "Pour une liste des fichiers dans une archive ZIP, utilisez l'option :option:" "`-l` :" -#: library/zipfile.rst:824 +#: library/zipfile.rst:838 msgid "Command-line options" msgstr "Options de la ligne de commande" -#: library/zipfile.rst:829 +#: library/zipfile.rst:843 msgid "List files in a zipfile." msgstr "Liste les fichiers dans un fichier ZIP *zipfile*." -#: library/zipfile.rst:834 +#: library/zipfile.rst:848 msgid "Create zipfile from source files." msgstr "Crée un fichier ZIP *zipfile* à partir des fichiers *source*." -#: library/zipfile.rst:839 +#: library/zipfile.rst:853 msgid "Extract zipfile into target directory." msgstr "" "Extrait le fichier ZIP *zipfile* vers le répertoire cible *output_dir*." -#: library/zipfile.rst:844 +#: library/zipfile.rst:858 msgid "Test whether the zipfile is valid or not." msgstr "Teste si le fichier zip est valide." -#: library/zipfile.rst:847 +#: library/zipfile.rst:861 msgid "Decompression pitfalls" msgstr "Problèmes de décompression" -#: library/zipfile.rst:849 +#: library/zipfile.rst:863 msgid "" "The extraction in zipfile module might fail due to some pitfalls listed " "below." @@ -1266,11 +1282,11 @@ msgstr "" "L'extraction d'une archive ZIP par le module *zipfile* peut échouer pour les " "raisons listées ci-dessous." -#: library/zipfile.rst:852 +#: library/zipfile.rst:866 msgid "From file itself" msgstr "À cause du fichier lui-même" -#: library/zipfile.rst:854 +#: library/zipfile.rst:868 msgid "" "Decompression may fail due to incorrect password / CRC checksum / ZIP format " "or unsupported compression method / decryption." @@ -1279,11 +1295,11 @@ msgstr "" "contrôle CRC incorrectes. Elle peut aussi échouer si le format, la méthode " "de compression, ou de chiffrement n'est pas implémenté." -#: library/zipfile.rst:858 +#: library/zipfile.rst:872 msgid "File System limitations" msgstr "Limitations du système de fichiers" -#: library/zipfile.rst:860 +#: library/zipfile.rst:874 msgid "" "Exceeding limitations on different file systems can cause decompression " "failed. Such as allowable characters in the directory entries, length of the " @@ -1295,11 +1311,11 @@ msgstr "" "nom de fichier, la longueur du nom du fichier ou du chemin, la taille d'un " "fichier, le nombre de fichiers, etc." -#: library/zipfile.rst:867 +#: library/zipfile.rst:881 msgid "Resources limitations" msgstr "Ressources limitées" -#: library/zipfile.rst:869 +#: library/zipfile.rst:883 msgid "" "The lack of memory or disk volume would lead to decompression failed. For " "example, decompression bombs (aka `ZIP bomb`_) apply to zipfile library that " @@ -1309,11 +1325,11 @@ msgstr "" "décompression. Par exemple, une bombe de décompression (`ZIP bomb`_), " "décompressés avec *zifile* peut remplir l'espace disque." -#: library/zipfile.rst:874 +#: library/zipfile.rst:888 msgid "Interruption" msgstr "Interruption" -#: library/zipfile.rst:876 +#: library/zipfile.rst:890 msgid "" "Interruption during the decompression, such as pressing control-C or killing " "the decompression process may result in incomplete decompression of the " @@ -1322,11 +1338,11 @@ msgstr "" "Une interruption durant la décompression, en utilisant *control-C* ou en " "tuant le processus, peut mener à une décompression partielle de l'archive." -#: library/zipfile.rst:880 +#: library/zipfile.rst:894 msgid "Default behaviors of extraction" msgstr "Comportements par défaut de l'extraction" -#: library/zipfile.rst:882 +#: library/zipfile.rst:896 msgid "" "Not knowing the default extraction behaviors can cause unexpected " "decompression results. For example, when extracting the same archive twice, " @@ -1335,3 +1351,10 @@ msgstr "" "Ne pas connaître le comportement d'extraction par défaut peut causer des " "résultats inattendus. Par exemple, lors de l'extraction d'une même archive " "deux fois, les fichiers sont écrasés sans prévenir." + +#~ msgid "" +#~ "A pathlib-compatible wrapper for zip files. See section :ref:`path-" +#~ "objects` for details." +#~ msgstr "" +#~ "Une interface compatible avec *pathlib* pour les fichiers ZIP. Voir le " +#~ "chapitre :ref:`path-objects`." diff --git a/library/zoneinfo.po b/library/zoneinfo.po index eb38a7063b..4e93369444 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-03-18 15:39+0100\n" "Last-Translator: Loc Cosnier \n" "Language-Team: FRENCH \n" @@ -20,7 +20,11 @@ msgstr "" msgid ":mod:`zoneinfo` --- IANA time zone support" msgstr ":mod:`zoneinfo` — Prise en charge des fuseaux horaires IANA" -#: library/zoneinfo.rst:14 +#: library/zoneinfo.rst:12 +msgid "**Source code:** :source:`Lib/zoneinfo`" +msgstr "" + +#: library/zoneinfo.rst:16 msgid "" "The :mod:`zoneinfo` module provides a concrete time zone implementation to " "support the IANA time zone database as originally specified in :pep:`615`. " @@ -35,11 +39,11 @@ msgstr "" "disponibles, sinon la bibliothèque utilise le paquet quasi-natif `tzdata`_ " "disponible sur PyPI." -#: library/zoneinfo.rst:24 +#: library/zoneinfo.rst:26 msgid "Module: :mod:`datetime`" msgstr "Module : :mod:`datetime`" -#: library/zoneinfo.rst:23 +#: library/zoneinfo.rst:25 msgid "" "Provides the :class:`~datetime.time` and :class:`~datetime.datetime` types " "with which the :class:`ZoneInfo` class is designed to be used." @@ -47,11 +51,11 @@ msgstr "" "Fournit les types :class:`~datetime.time` et :class:`~datetime.datetime` " "attendus par :class:`ZoneInfo`." -#: library/zoneinfo.rst:27 +#: library/zoneinfo.rst:29 msgid "Package `tzdata`_" msgstr "Paquet `tzdata`_" -#: library/zoneinfo.rst:27 +#: library/zoneinfo.rst:29 msgid "" "First-party package maintained by the CPython core developers to supply time " "zone data via PyPI." @@ -59,11 +63,11 @@ msgstr "" "Paquet « quasi-natif » maintenu par les développeurs de CPython pour fournir " "les données des fuseaux horaires via PyPI." -#: library/zoneinfo.rst:32 +#: library/zoneinfo.rst:34 msgid "Using ``ZoneInfo``" msgstr "Utilisation de ``ZoneInfo``" -#: library/zoneinfo.rst:34 +#: library/zoneinfo.rst:36 msgid "" ":class:`ZoneInfo` is a concrete implementation of the :class:`datetime." "tzinfo` abstract base class, and is intended to be attached to ``tzinfo``, " @@ -77,7 +81,7 @@ msgstr "" "datetime.replace>` ou par :meth:`datetime.astimezone ` ::" -#: library/zoneinfo.rst:49 +#: library/zoneinfo.rst:51 msgid "" "Datetimes constructed in this way are compatible with datetime arithmetic " "and handle daylight saving time transitions with no further intervention::" @@ -86,7 +90,7 @@ msgstr "" "l'arithmétique *datetime* et gèrent le passage à l'heure d'été sans autre " "intervention ::" -#: library/zoneinfo.rst:60 +#: library/zoneinfo.rst:62 msgid "" "These time zones also support the :attr:`~datetime.datetime.fold` attribute " "introduced in :pep:`495`. During offset transitions which induce ambiguous " @@ -101,7 +105,7 @@ msgstr "" "utilisé quand ``fold=0``, et le décalage *après* la transition est utilisé " "quand ``fold=1``, par exemple ::" -#: library/zoneinfo.rst:73 +#: library/zoneinfo.rst:75 msgid "" "When converting from another time zone, the fold will be set to the correct " "value::" @@ -109,11 +113,11 @@ msgstr "" "Lors de la conversion à partir d'un autre fuseau horaire, *fold* sera réglé " "à la valeur correcte ::" -#: library/zoneinfo.rst:89 +#: library/zoneinfo.rst:91 msgid "Data sources" msgstr "Sources de données" -#: library/zoneinfo.rst:91 +#: library/zoneinfo.rst:93 msgid "" "The ``zoneinfo`` module does not directly provide time zone data, and " "instead pulls time zone information from the system time zone database or " @@ -134,11 +138,11 @@ msgstr "" "à *tzdata*. Si aucune donnée système, ni *tzdata*, n'est disponible, tous " "les appels à :class:`ZoneInfo` lèvent :exc:`ZoneInfoNotFoundError`." -#: library/zoneinfo.rst:103 +#: library/zoneinfo.rst:105 msgid "Configuring the data sources" msgstr "Configurer les sources de données" -#: library/zoneinfo.rst:105 +#: library/zoneinfo.rst:107 msgid "" "When ``ZoneInfo(key)`` is called, the constructor first searches the " "directories specified in :data:`TZPATH` for a file matching ``key``, and on " @@ -150,7 +154,7 @@ msgstr "" "en cas d'échec, recherche dans le paquet *tzdata*. Ce comportement peut être " "configuré de trois manières :" -#: library/zoneinfo.rst:110 +#: library/zoneinfo.rst:112 msgid "" "The default :data:`TZPATH` when not otherwise specified can be configured " "at :ref:`compile time `." @@ -159,7 +163,7 @@ msgstr "" "autrement, peut être configurée à :ref:`la compilation " "`." -#: library/zoneinfo.rst:112 +#: library/zoneinfo.rst:114 msgid "" ":data:`TZPATH` can be configured using :ref:`an environment variable " "`." @@ -167,7 +171,7 @@ msgstr "" ":data:`TZPATH` peut être configuré en utilisant :ref:`une variable " "d'environnement `." -#: library/zoneinfo.rst:114 +#: library/zoneinfo.rst:116 msgid "" "At :ref:`runtime `, the search path can be " "manipulated using the :func:`reset_tzpath` function." @@ -175,11 +179,11 @@ msgstr "" "À :ref:`l'exécution `, le chemin de recherche " "peut être manipulé à l'aide de la fonction :func:`reset_tzpath`." -#: library/zoneinfo.rst:120 +#: library/zoneinfo.rst:122 msgid "Compile-time configuration" msgstr "Configuration à la compilation" -#: library/zoneinfo.rst:122 +#: library/zoneinfo.rst:124 #, fuzzy msgid "" "The default :data:`TZPATH` includes several common deployment locations for " @@ -201,7 +205,7 @@ msgstr "" "précisément, avec l'option ``--with-tzpath`` du script ``configure``), qui " "doit être une chaîne délimitée par :data:`os.pathsep`." -#: library/zoneinfo.rst:131 +#: library/zoneinfo.rst:133 msgid "" "On all platforms, the configured value is available as the ``TZPATH`` key " "in :func:`sysconfig.get_config_var`." @@ -209,11 +213,11 @@ msgstr "" "Sur toutes les plates-formes, la valeur configurée est disponible en tant " "que clé de ``TZPATH`` dans :func:`sysconfig.get_config_var`." -#: library/zoneinfo.rst:137 +#: library/zoneinfo.rst:139 msgid "Environment configuration" msgstr "Configuration par l'environnement" -#: library/zoneinfo.rst:139 +#: library/zoneinfo.rst:141 msgid "" "When initializing :data:`TZPATH` (either at import time or whenever :func:" "`reset_tzpath` is called with no arguments), the ``zoneinfo`` module will " @@ -225,7 +229,7 @@ msgstr "" "``zoneinfo`` utilise la variable d'environnement ``PYTHONTZPATH``, si elle " "existe, pour définir le chemin de recherche." -#: library/zoneinfo.rst:146 +#: library/zoneinfo.rst:148 msgid "" "This is an :data:`os.pathsep`-separated string containing the time zone " "search path to use. It must consist of only absolute rather than relative " @@ -244,7 +248,7 @@ msgstr "" "implémentations sont libres d'ignorer silencieusement le composant erroné ou " "de lever une exception." -#: library/zoneinfo.rst:154 +#: library/zoneinfo.rst:156 msgid "" "To set the system to ignore the system data and use the tzdata package " "instead, set ``PYTHONTZPATH=\"\"``." @@ -252,11 +256,11 @@ msgstr "" "Pour que le système ignore les données système et utilise le paquet *tzdata* " "à la place, définissez ``PYTHONTZPATH=\"\"``." -#: library/zoneinfo.rst:160 +#: library/zoneinfo.rst:162 msgid "Runtime configuration" msgstr "Configuration à l'exécution" -#: library/zoneinfo.rst:162 +#: library/zoneinfo.rst:164 msgid "" "The TZ search path can also be configured at runtime using the :func:" "`reset_tzpath` function. This is generally not an advisable operation, " @@ -271,11 +275,11 @@ msgstr "" "fuseau horaire spécifique (ou qui nécessitent de désactiver l'accès aux " "fuseaux horaires du système)." -#: library/zoneinfo.rst:169 +#: library/zoneinfo.rst:171 msgid "The ``ZoneInfo`` class" msgstr "La classe ``ZoneInfo``" -#: library/zoneinfo.rst:173 +#: library/zoneinfo.rst:175 msgid "" "A concrete :class:`datetime.tzinfo` subclass that represents an IANA time " "zone specified by the string ``key``. Calls to the primary constructor will " @@ -290,7 +294,7 @@ msgstr "" "clear_cache`, pour toutes les valeurs de ``key``, l'assertion suivante est " "toujours vraie :" -#: library/zoneinfo.rst:185 +#: library/zoneinfo.rst:187 msgid "" "``key`` must be in the form of a relative, normalized POSIX path, with no up-" "level references. The constructor will raise :exc:`ValueError` if a non-" @@ -300,7 +304,7 @@ msgstr "" "références de niveau supérieur. Le constructeur lève :exc:`ValueError` si " "une clé non conforme est passée." -#: library/zoneinfo.rst:189 +#: library/zoneinfo.rst:191 msgid "" "If no file matching ``key`` is found, the constructor will raise :exc:" "`ZoneInfoNotFoundError`." @@ -308,11 +312,11 @@ msgstr "" "Si aucun fichier correspondant à ``key`` n'est trouvé, le constructeur lève :" "exc:`ZoneInfoNotFoundError`." -#: library/zoneinfo.rst:193 +#: library/zoneinfo.rst:195 msgid "The ``ZoneInfo`` class has two alternate constructors:" msgstr "La classe ``ZoneInfo`` possède deux constructeurs alternatifs :" -#: library/zoneinfo.rst:197 +#: library/zoneinfo.rst:199 msgid "" "Constructs a ``ZoneInfo`` object from a file-like object returning bytes (e." "g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike " @@ -323,7 +327,7 @@ msgstr "" "`io.BytesIO`). Contrairement au constructeur principal, il construit " "toujours un nouvel objet." -#: library/zoneinfo.rst:201 +#: library/zoneinfo.rst:203 msgid "" "The ``key`` parameter sets the name of the zone for the purposes of :py:meth:" "`~object.__str__` and :py:meth:`~object.__repr__`." @@ -331,14 +335,14 @@ msgstr "" "Le paramètre ``key`` définit le nom de la zone pour les besoins de :py:meth:" "`~object.__str__` et :py:meth:`~object.__repr__`." -#: library/zoneinfo.rst:204 +#: library/zoneinfo.rst:206 msgid "" "Objects created via this constructor cannot be pickled (see `pickling`_)." msgstr "" "Les objets créés via ce constructeur ne peuvent pas être sérialisés (voir " "`pickling`_)." -#: library/zoneinfo.rst:208 +#: library/zoneinfo.rst:210 msgid "" "An alternate constructor that bypasses the constructor's cache. It is " "identical to the primary constructor, but returns a new object on each call. " @@ -352,7 +356,7 @@ msgstr "" "peut également être utilisé pour créer un système avec une stratégie " "d'invalidation du cache différente." -#: library/zoneinfo.rst:214 +#: library/zoneinfo.rst:216 msgid "" "Objects created via this constructor will also bypass the cache of a " "deserializing process when unpickled." @@ -360,7 +364,7 @@ msgstr "" "Les objets créés via ce constructeur contournent également le cache d'un " "processus de *désérialisation* lorsqu'ils sont désérialisés." -#: library/zoneinfo.rst:221 +#: library/zoneinfo.rst:223 msgid "" "Using this constructor may change the semantics of your datetimes in " "surprising ways, only use it if you know that you need to." @@ -369,11 +373,11 @@ msgstr "" "*datetimes* de manière surprenante, ne l'utilisez que si vous en avez " "vraiment besoin." -#: library/zoneinfo.rst:224 +#: library/zoneinfo.rst:226 msgid "The following class methods are also available:" msgstr "Les méthodes de classe suivantes sont également disponibles :" -#: library/zoneinfo.rst:228 +#: library/zoneinfo.rst:230 msgid "" "A method for invalidating the cache on the ``ZoneInfo`` class. If no " "arguments are passed, all caches are invalidated and the next call to the " @@ -383,7 +387,7 @@ msgstr "" "argument n'est passé, tous les caches sont invalidés et le prochain appel au " "constructeur principal pour chaque clé renverra une nouvelle instance." -#: library/zoneinfo.rst:232 +#: library/zoneinfo.rst:234 msgid "" "If an iterable of key names is passed to the ``only_keys`` parameter, only " "the specified keys will be removed from the cache. Keys passed to " @@ -393,7 +397,7 @@ msgstr "" "les clés spécifiées sont retirées du cache. Les clés passées à ``only_keys`` " "mais non trouvées dans le cache sont ignorées." -#: library/zoneinfo.rst:240 +#: library/zoneinfo.rst:242 msgid "" "Invoking this function may change the semantics of datetimes using " "``ZoneInfo`` in surprising ways; this modifies process-wide global state and " @@ -404,11 +408,11 @@ msgstr "" "du processus et peut donc avoir des effets étendus. Ne l'utilisez que si " "vous en avez vraiment besoin." -#: library/zoneinfo.rst:245 +#: library/zoneinfo.rst:247 msgid "The class has one attribute:" msgstr "La classe a un attribut :" -#: library/zoneinfo.rst:249 +#: library/zoneinfo.rst:251 msgid "" "This is a read-only :term:`attribute` that returns the value of ``key`` " "passed to the constructor, which should be a lookup key in the IANA time " @@ -420,7 +424,7 @@ msgstr "" "base de données des fuseaux horaires de l'IANA (par exemple, ``America/" "New_York``, ``Europe/Paris`` ou ``Asia/Tokyo``)." -#: library/zoneinfo.rst:254 +#: library/zoneinfo.rst:256 msgid "" "For zones constructed from file without specifying a ``key`` parameter, this " "will be set to ``None``." @@ -428,7 +432,7 @@ msgstr "" "Pour les zones construites à partir d'un fichier sans spécifier de paramètre " "``key``, cette valeur sera fixée à ``None``." -#: library/zoneinfo.rst:259 +#: library/zoneinfo.rst:261 msgid "" "Although it is a somewhat common practice to expose these to end users, " "these values are designed to be primary keys for representing the relevant " @@ -443,18 +447,18 @@ msgstr "" "Repository) peuvent être utilisés pour obtenir des chaînes de caractères " "plus conviviales à partir de ces clés." -#: library/zoneinfo.rst:266 +#: library/zoneinfo.rst:268 msgid "String representations" msgstr "Représentation sous forme de chaîne de caractères" -#: library/zoneinfo.rst:268 +#: library/zoneinfo.rst:270 msgid "" "The string representation returned when calling :py:class:`str` on a :class:" "`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` attribute (see " "the note on usage in the attribute documentation)::" msgstr "" -#: library/zoneinfo.rst:280 +#: library/zoneinfo.rst:282 msgid "" "For objects constructed from a file without specifying a ``key`` parameter, " "``str`` falls back to calling :func:`repr`. ``ZoneInfo``'s ``repr`` is " @@ -462,22 +466,22 @@ msgid "" "is guaranteed not to be a valid ``ZoneInfo`` key." msgstr "" -#: library/zoneinfo.rst:288 +#: library/zoneinfo.rst:290 msgid "Pickle serialization" msgstr "" -#: library/zoneinfo.rst:290 +#: library/zoneinfo.rst:292 msgid "" "Rather than serializing all transition data, ``ZoneInfo`` objects are " "serialized by key, and ``ZoneInfo`` objects constructed from files (even " "those with a value for ``key`` specified) cannot be pickled." msgstr "" -#: library/zoneinfo.rst:294 +#: library/zoneinfo.rst:296 msgid "The behavior of a ``ZoneInfo`` file depends on how it was constructed:" msgstr "" -#: library/zoneinfo.rst:296 +#: library/zoneinfo.rst:298 msgid "" "``ZoneInfo(key)``: When constructed with the primary constructor, a " "``ZoneInfo`` object is serialized by key, and when deserialized, the " @@ -488,7 +492,7 @@ msgid "" "following behavior:" msgstr "" -#: library/zoneinfo.rst:311 +#: library/zoneinfo.rst:313 msgid "" "``ZoneInfo.no_cache(key)``: When constructed from the cache-bypassing " "constructor, the ``ZoneInfo`` object is also serialized by key, but when " @@ -498,7 +502,7 @@ msgid "" "the following behavior:" msgstr "" -#: library/zoneinfo.rst:325 +#: library/zoneinfo.rst:327 msgid "" "``ZoneInfo.from_file(fobj, /, key=None)``: When constructed from a file, the " "``ZoneInfo`` object raises an exception on pickling. If an end user wants to " @@ -507,7 +511,7 @@ msgid "" "key or storing the contents of the file object and serializing that." msgstr "" -#: library/zoneinfo.rst:331 +#: library/zoneinfo.rst:333 msgid "" "This method of serialization requires that the time zone data for the " "required key be available on both the serializing and deserializing side, " @@ -518,32 +522,32 @@ msgid "" "time zone data." msgstr "" -#: library/zoneinfo.rst:339 +#: library/zoneinfo.rst:341 msgid "Functions" msgstr "Fonctions" -#: library/zoneinfo.rst:343 +#: library/zoneinfo.rst:345 msgid "" "Get a set containing all the valid keys for IANA time zones available " "anywhere on the time zone path. This is recalculated on every call to the " "function." msgstr "" -#: library/zoneinfo.rst:347 +#: library/zoneinfo.rst:349 msgid "" "This function only includes canonical zone names and does not include " "\"special\" zones such as those under the ``posix/`` and ``right/`` " "directories, or the ``posixrules`` zone." msgstr "" -#: library/zoneinfo.rst:353 +#: library/zoneinfo.rst:355 msgid "" "This function may open a large number of files, as the best way to determine " "if a file on the time zone path is a valid time zone is to read the \"magic " "string\" at the beginning." msgstr "" -#: library/zoneinfo.rst:359 +#: library/zoneinfo.rst:361 msgid "" "These values are not designed to be exposed to end-users; for user facing " "elements, applications should use something like CLDR (the Unicode Common " @@ -551,20 +555,20 @@ msgid "" "cautionary note on :attr:`ZoneInfo.key`." msgstr "" -#: library/zoneinfo.rst:366 +#: library/zoneinfo.rst:368 msgid "" "Sets or resets the time zone search path (:data:`TZPATH`) for the module. " "When called with no arguments, :data:`TZPATH` is set to the default value." msgstr "" -#: library/zoneinfo.rst:369 +#: library/zoneinfo.rst:371 msgid "" "Calling ``reset_tzpath`` will not invalidate the :class:`ZoneInfo` cache, " "and so calls to the primary ``ZoneInfo`` constructor will only use the new " "``TZPATH`` in the case of a cache miss." msgstr "" -#: library/zoneinfo.rst:373 +#: library/zoneinfo.rst:375 msgid "" "The ``to`` parameter must be a :term:`sequence` of strings or :class:`os." "PathLike` and not a string, all of which must be absolute paths. :exc:" @@ -572,24 +576,24 @@ msgid "" "passed." msgstr "" -#: library/zoneinfo.rst:379 +#: library/zoneinfo.rst:381 msgid "Globals" msgstr "" -#: library/zoneinfo.rst:383 +#: library/zoneinfo.rst:385 msgid "" "A read-only sequence representing the time zone search path -- when " "constructing a ``ZoneInfo`` from a key, the key is joined to each entry in " "the ``TZPATH``, and the first file found is used." msgstr "" -#: library/zoneinfo.rst:387 +#: library/zoneinfo.rst:389 msgid "" "``TZPATH`` may contain only absolute paths, never relative paths, regardless " "of how it is configured." msgstr "" -#: library/zoneinfo.rst:390 +#: library/zoneinfo.rst:392 msgid "" "The object that ``zoneinfo.TZPATH`` points to may change in response to a " "call to :func:`reset_tzpath`, so it is recommended to use ``zoneinfo." @@ -597,24 +601,24 @@ msgid "" "long-lived variable to ``zoneinfo.TZPATH``." msgstr "" -#: library/zoneinfo.rst:395 +#: library/zoneinfo.rst:397 msgid "" "For more information on configuring the time zone search path, see :ref:" "`zoneinfo_data_configuration`." msgstr "" -#: library/zoneinfo.rst:399 +#: library/zoneinfo.rst:401 msgid "Exceptions and warnings" msgstr "" -#: library/zoneinfo.rst:403 +#: library/zoneinfo.rst:405 msgid "" "Raised when construction of a :class:`ZoneInfo` object fails because the " "specified key could not be found on the system. This is a subclass of :exc:" "`KeyError`." msgstr "" -#: library/zoneinfo.rst:409 +#: library/zoneinfo.rst:411 msgid "" "Raised when :envvar:`PYTHONTZPATH` contains an invalid component that will " "be filtered out, such as a relative path." diff --git a/license.po b/license.po index 1cd1dbba03..5282ac0663 100644 --- a/license.po +++ b/license.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-18 13:33+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -527,6 +527,15 @@ msgstr "" "c14n-20/``) proviennent du site du W3C à l'adresse https://www.w3.org/TR/xml-" "c14n2-testcases/ et sont distribués sous licence BSD modifiée :" +#: license.rst:990 +msgid "Audioop" +msgstr "" + +#: license.rst:992 +msgid "" +"The audioop module uses the code base in g771.c file of the SoX project::" +msgstr "" + #~ msgid "" #~ "Copyright (c) 2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights " #~ "Reserved." diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 0d537d346d..17d13dc5be 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 15:55+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -239,12 +239,13 @@ msgstr "" "compris celles effectuées dans la suite de la boucle ``for`` ::" #: reference/compound_stmts.rst:193 +#, fuzzy msgid "" "Names in the target list are not deleted when the loop is finished, but if " "the sequence is empty, they will not have been assigned to at all by the " -"loop. Hint: the built-in function :func:`range` returns an iterator of " -"integers suitable to emulate the effect of Pascal's ``for i := a to b do``; " -"e.g., ``list(range(3))`` returns the list ``[0, 1, 2]``." +"loop. Hint: the built-in type :func:`range` represents immutable arithmetic " +"sequences of integers. For instance, iterating ``range(3)`` successively " +"yields 0, 1, and then 2." msgstr "" "Les noms dans la liste cible ne sont pas supprimés lorsque la boucle est " "terminée mais, si la séquence est vide, ils n'auront pas du tout été " @@ -253,11 +254,11 @@ msgstr "" "classique en Pascal sur des entiers ``for i := a to b do`` ; par exemple, " "``list(range(3))`` renvoie la liste ``[0, 1, 2]``." -#: reference/compound_stmts.rst:205 +#: reference/compound_stmts.rst:204 msgid "The :keyword:`!try` statement" msgstr "L'instruction :keyword:`!try`" -#: reference/compound_stmts.rst:215 +#: reference/compound_stmts.rst:214 msgid "" "The :keyword:`try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" @@ -265,7 +266,7 @@ msgstr "" "L'instruction :keyword:`try` définit les gestionnaires d'exception ou le " "code de nettoyage pour un groupe d'instructions :" -#: reference/compound_stmts.rst:228 +#: reference/compound_stmts.rst:227 msgid "" "The :keyword:`except` clause(s) specify one or more exception handlers. When " "no exception occurs in the :keyword:`try` clause, no exception handler is " @@ -295,7 +296,7 @@ msgstr "" "un *n*-uplet dont un élément est la classe ou une classe parente (non-" "abstraite) de l'exception." -#: reference/compound_stmts.rst:241 +#: reference/compound_stmts.rst:240 msgid "" "If no except clause matches the exception, the search for an exception " "handler continues in the surrounding code and on the invocation stack. [#]_" @@ -304,7 +305,7 @@ msgstr "" "gestionnaire d'exception se poursuit dans le code englobant et dans la pile " "d'appels. [#]_" -#: reference/compound_stmts.rst:244 +#: reference/compound_stmts.rst:243 msgid "" "If the evaluation of an expression in the header of an except clause raises " "an exception, the original search for a handler is canceled and a search " @@ -318,7 +319,7 @@ msgstr "" "la pile d'appels (c'est traité comme si l'instruction :keyword:`try` avait " "levé l'exception)." -#: reference/compound_stmts.rst:251 +#: reference/compound_stmts.rst:250 msgid "" "When a matching except clause is found, the exception is assigned to the " "target specified after the :keyword:`!as` keyword in that except clause, if " @@ -339,7 +340,7 @@ msgstr "" "clause ``try`` du gestionnaire interne, le gestionnaire externe ne gère pas " "l'exception)." -#: reference/compound_stmts.rst:259 +#: reference/compound_stmts.rst:258 msgid "" "When an exception has been assigned using ``as target``, it is cleared at " "the end of the except clause. This is as if ::" @@ -347,11 +348,11 @@ msgstr "" "Lorsqu'une exception a été assignée en utilisant ``as cible``, elle est " "effacée à la fin de la clause ``except``. C'est comme si ::" -#: reference/compound_stmts.rst:265 +#: reference/compound_stmts.rst:264 msgid "was translated to ::" msgstr "avait été traduit en ::" -#: reference/compound_stmts.rst:273 +#: reference/compound_stmts.rst:272 msgid "" "This means the exception must be assigned to a different name to be able to " "refer to it after the except clause. Exceptions are cleared because with " @@ -366,7 +367,7 @@ msgstr "" "ce qui conduit à conserver tous les noms locaux de ce cadre en mémoire " "jusqu'au passage du ramasse-miettes." -#: reference/compound_stmts.rst:282 +#: reference/compound_stmts.rst:281 msgid "" "Before an except clause's suite is executed, details about the exception are " "stored in the :mod:`sys` module and can be accessed via :func:`sys." @@ -385,7 +386,7 @@ msgstr "" "`sys.exc_info` sont remis à leurs valeurs d’origine en sortant du " "gestionnaire d’exception ::" -#: reference/compound_stmts.rst:314 +#: reference/compound_stmts.rst:313 msgid "" "The optional :keyword:`!else` clause is executed if the control flow leaves " "the :keyword:`try` suite, no exception was raised, and no :keyword:" @@ -399,7 +400,7 @@ msgstr "" "étés exécutés. Les exceptions dans la clause :keyword:`!else` ne sont pas " "gérées par les clauses :keyword:`except` précédentes." -#: reference/compound_stmts.rst:322 +#: reference/compound_stmts.rst:321 msgid "" "If :keyword:`finally` is present, it specifies a 'cleanup' handler. The :" "keyword:`try` clause is executed, including any :keyword:`except` and :" @@ -424,7 +425,7 @@ msgstr "" "instruction :keyword:`return`, :keyword:`break` ou :keyword:`continue`, " "l'exception sauvegardée est jetée ::" -#: reference/compound_stmts.rst:341 +#: reference/compound_stmts.rst:340 msgid "" "The exception information is not available to the program during execution " "of the :keyword:`finally` clause." @@ -432,7 +433,7 @@ msgstr "" "L'information relative à l'exception n'est pas disponible pour le programme " "pendant l'exécution de la clause :keyword:`finally`." -#: reference/compound_stmts.rst:349 +#: reference/compound_stmts.rst:348 msgid "" "When a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement " "is executed in the :keyword:`try` suite of a :keyword:`!try`...\\ :keyword:`!" @@ -444,7 +445,7 @@ msgstr "" "construction :keyword:`!try`…\\ :keyword:`!finally`, la clause :keyword:" "`finally` est aussi exécutée « à la sortie »." -#: reference/compound_stmts.rst:353 +#: reference/compound_stmts.rst:352 msgid "" "The return value of a function is determined by the last :keyword:`return` " "statement executed. Since the :keyword:`finally` clause always executes, a :" @@ -456,7 +457,7 @@ msgstr "" "s'exécute toujours, une instruction :keyword:`!return` exécutée dans le :" "keyword:`!finally` sera toujours la dernière clause exécutée ::" -#: reference/compound_stmts.rst:367 +#: reference/compound_stmts.rst:366 msgid "" "Additional information on exceptions can be found in section :ref:" "`exceptions`, and information on using the :keyword:`raise` statement to " @@ -467,7 +468,7 @@ msgstr "" "informations relatives à l'utilisation de l'instruction :keyword:`raise` " "pour produire des exceptions." -#: reference/compound_stmts.rst:371 +#: reference/compound_stmts.rst:370 msgid "" "Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" "keyword:`finally` clause due to a problem with the implementation." @@ -476,11 +477,11 @@ msgstr "" "dans une clause :keyword:`finally` en raison d'un problème dans " "l'implémentation." -#: reference/compound_stmts.rst:380 +#: reference/compound_stmts.rst:379 msgid "The :keyword:`!with` statement" msgstr "L'instruction :keyword:`!with`" -#: reference/compound_stmts.rst:389 +#: reference/compound_stmts.rst:388 msgid "" "The :keyword:`with` statement is used to wrap the execution of a block with " "methods defined by a context manager (see section :ref:`context-managers`). " @@ -493,7 +494,7 @@ msgstr "" "le patron de conception classique :keyword:`try`…\\ :keyword:`except`…\\ :" "keyword:`finally`." -#: reference/compound_stmts.rst:399 +#: reference/compound_stmts.rst:398 msgid "" "The execution of the :keyword:`with` statement with one \"item\" proceeds as " "follows:" @@ -501,7 +502,7 @@ msgstr "" "L'exécution de l'instruction :keyword:`with` avec un seul " "« élément » (*item* dans la grammaire) se déroule comme suit :" -#: reference/compound_stmts.rst:401 +#: reference/compound_stmts.rst:400 msgid "" "The context expression (the expression given in the :token:`~python-grammar:" "with_item`) is evaluated to obtain a context manager." @@ -509,23 +510,23 @@ msgstr "" "L'expression de contexte (l'expression donnée dans le :token:`~python-" "grammar:with_item`) est évaluée pour obtenir un gestionnaire de contexte." -#: reference/compound_stmts.rst:404 +#: reference/compound_stmts.rst:403 msgid "The context manager's :meth:`__enter__` is loaded for later use." msgstr "" "La méthode :meth:`__enter__` du gestionnaire de contexte est chargée pour " "une utilisation ultérieure." -#: reference/compound_stmts.rst:406 +#: reference/compound_stmts.rst:405 msgid "The context manager's :meth:`__exit__` is loaded for later use." msgstr "" "La méthode :meth:`__exit__` du gestionnaire de contexte est chargée pour une " "utilisation ultérieure." -#: reference/compound_stmts.rst:408 +#: reference/compound_stmts.rst:407 msgid "The context manager's :meth:`__enter__` method is invoked." msgstr "La méthode :meth:`__enter__` du gestionnaire de contexte est invoquée." -#: reference/compound_stmts.rst:410 +#: reference/compound_stmts.rst:409 msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`__enter__` is assigned to it." @@ -534,13 +535,14 @@ msgstr "" "l'instruction :keyword:`with`, la valeur de retour de :meth:`__enter__` lui " "est assignée." -#: reference/compound_stmts.rst:415 +#: reference/compound_stmts.rst:414 +#, fuzzy msgid "" "The :keyword:`with` statement guarantees that if the :meth:`__enter__` " "method returns without an error, then :meth:`__exit__` will always be " "called. Thus, if an error occurs during the assignment to the target list, " "it will be treated the same as an error occurring within the suite would be. " -"See step 6 below." +"See step 7 below." msgstr "" "L'instruction :keyword:`with` garantit que si la méthode :meth:`__enter__` " "se termine sans erreur, alors la méthode :meth:`__exit__` est toujours " @@ -548,11 +550,11 @@ msgstr "" "cible, elle est traitée de la même façon qu'une erreur se produisant dans la " "suite. Voir l'étape 6 ci-dessous." -#: reference/compound_stmts.rst:421 +#: reference/compound_stmts.rst:420 msgid "The suite is executed." msgstr "La suite est exécutée." -#: reference/compound_stmts.rst:423 +#: reference/compound_stmts.rst:422 msgid "" "The context manager's :meth:`__exit__` method is invoked. If an exception " "caused the suite to be exited, its type, value, and traceback are passed as " @@ -564,7 +566,7 @@ msgstr "" "d'appels sont passés en arguments à :meth:`__exit__`. Sinon, trois " "arguments :const:`None` sont fournis." -#: reference/compound_stmts.rst:428 +#: reference/compound_stmts.rst:427 msgid "" "If the suite was exited due to an exception, and the return value from the :" "meth:`__exit__` method was false, the exception is reraised. If the return " @@ -577,7 +579,7 @@ msgstr "" "l'exécution continue avec l'instruction qui suit l'instruction :keyword:" "`with`." -#: reference/compound_stmts.rst:433 +#: reference/compound_stmts.rst:432 msgid "" "If the suite was exited for any reason other than an exception, the return " "value from :meth:`__exit__` is ignored, and execution proceeds at the normal " @@ -587,17 +589,17 @@ msgstr "" "valeur de retour de :meth:`__exit__` est ignorée et l'exécution se poursuit " "à l'endroit normal pour le type de sortie prise." -#: reference/compound_stmts.rst:437 reference/compound_stmts.rst:1427 +#: reference/compound_stmts.rst:436 reference/compound_stmts.rst:1427 #: reference/compound_stmts.rst:1468 msgid "The following code::" msgstr "Le code suivant ::" -#: reference/compound_stmts.rst:442 reference/compound_stmts.rst:467 +#: reference/compound_stmts.rst:441 reference/compound_stmts.rst:466 #: reference/compound_stmts.rst:1473 msgid "is semantically equivalent to::" msgstr "est sémantiquement équivalent à ::" -#: reference/compound_stmts.rst:461 +#: reference/compound_stmts.rst:460 msgid "" "With more than one item, the context managers are processed as if multiple :" "keyword:`with` statements were nested::" @@ -605,7 +607,7 @@ msgstr "" "Avec plus d'un élément, les gestionnaires de contexte sont traités comme si " "plusieurs instructions :keyword:`with` étaient imbriquées ::" -#: reference/compound_stmts.rst:473 +#: reference/compound_stmts.rst:472 msgid "" "You can also write multi-item context managers in multiple lines if the " "items are surrounded by parentheses. For example::" @@ -614,12 +616,12 @@ msgstr "" "pour plus d'un élément si ceux-ci sont placés entre parenthèses. Par " "exemple ::" -#: reference/compound_stmts.rst:482 +#: reference/compound_stmts.rst:481 msgid "Support for multiple context expressions." msgstr "Prise en charge de multiples expressions de contexte." # Pas de majuscule car après un : -#: reference/compound_stmts.rst:485 +#: reference/compound_stmts.rst:484 msgid "" "Support for using grouping parentheses to break the statement in multiple " "lines." @@ -627,11 +629,11 @@ msgstr "" "prise en charge des parenthèses pour pouvoir écrire l'instruction sur " "plusieurs lignes." -#: reference/compound_stmts.rst:491 +#: reference/compound_stmts.rst:490 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` — L'instruction « *with* »" -#: reference/compound_stmts.rst:491 +#: reference/compound_stmts.rst:490 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -639,7 +641,7 @@ msgstr "" "La spécification, les motivations et des exemples de l'instruction :keyword:" "`with` en Python." -#: reference/compound_stmts.rst:497 +#: reference/compound_stmts.rst:496 msgid "The :keyword:`!match` statement" msgstr "L'instruction :keyword:`!match`" @@ -1006,10 +1008,11 @@ msgstr "" "au champ de recherche. La syntaxe est la suivante :" #: reference/compound_stmts.rst:730 +#, fuzzy msgid "" "If the OR pattern fails, the AS pattern fails. Otherwise, the AS pattern " "binds the subject to the name on the right of the as keyword and succeeds. " -"``capture_pattern`` cannot be a a ``_``." +"``capture_pattern`` cannot be a ``_``." msgstr "" "Si le filtre OU échoue, le filtre AS échoue. Sinon, le filtre AS lie le " "champ de recherche au nom sur la droite du mot-clé ``as`` et réussit. " diff --git a/reference/datamodel.po b/reference/datamodel.po index 5b24b8b05f..a3d4cc9ea3 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-10-21 23:42+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -2565,15 +2565,16 @@ msgstr "" "print(sys.hash_info.width)\"``." #: reference/datamodel.rst:1488 +#, fuzzy msgid "" "If a class does not define an :meth:`__eq__` method it should not define a :" "meth:`__hash__` operation either; if it defines :meth:`__eq__` but not :meth:" "`__hash__`, its instances will not be usable as items in hashable " "collections. If a class defines mutable objects and implements an :meth:" "`__eq__` method, it should not implement :meth:`__hash__`, since the " -"implementation of hashable collections requires that a key's hash value is " -"immutable (if the object's hash value changes, it will be in the wrong hash " -"bucket)." +"implementation of :term:`hashable` collections requires that a key's hash " +"value is immutable (if the object's hash value changes, it will be in the " +"wrong hash bucket)." msgstr "" "Si une classe ne définit pas de méthode :meth:`__eq__`, elle ne doit pas " "définir l'opération :meth:`__hash__` non plus ; si elle définit :meth:" @@ -3249,11 +3250,11 @@ msgstr "" "interdit la création automatique de :attr:`~object.__dict__` et " "*__weakref__* pour chaque instance." -#: reference/datamodel.rst:1841 +#: reference/datamodel.rst:1843 msgid "Notes on using *__slots__*" msgstr "Note sur l'utilisation de *__slots__*" -#: reference/datamodel.rst:1843 +#: reference/datamodel.rst:1845 msgid "" "When inheriting from a class without *__slots__*, the :attr:`~object." "__dict__` and *__weakref__* attribute of the instances will always be " @@ -3262,7 +3263,7 @@ msgstr "" "Lorsque vous héritez d'une classe sans *__slots__*, les attributs :attr:" "`~object.__dict__` et *__weakref__* des instances sont toujours accessibles." -#: reference/datamodel.rst:1847 +#: reference/datamodel.rst:1849 msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -3277,7 +3278,7 @@ msgstr "" "variables est nécessaire, ajoutez ``'__dict__'`` à la séquence de chaînes " "dans la déclaration *__slots__*." -#: reference/datamodel.rst:1854 +#: reference/datamodel.rst:1856 msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " @@ -3290,7 +3291,7 @@ msgstr "" "faibles, ajoutez ``'__weakref__'`` à la séquence de chaînes dans la " "déclaration de *__slots__*." -#: reference/datamodel.rst:1860 +#: reference/datamodel.rst:1862 msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " @@ -3303,7 +3304,7 @@ msgstr "" "aux variables d'instances définies par *__slots__* ; sinon, l'attribut de " "classe surchargerait l'assignation par descripteur." -#: reference/datamodel.rst:1866 +#: reference/datamodel.rst:1868 msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -3318,7 +3319,7 @@ msgstr "" "un *__slots__* (qui ne doit contenir alors que les noms *supplémentaires* " "aux créneaux déjà prédéfinis)." -#: reference/datamodel.rst:1872 +#: reference/datamodel.rst:1874 msgid "" "If a class defines a slot also defined in a base class, the instance " "variable defined by the base class slot is inaccessible (except by " @@ -3332,23 +3333,25 @@ msgstr "" "signification du programme indéfinie. Dans le futur, une vérification sera " "ajoutée pour empêcher cela." -#: reference/datamodel.rst:1877 +#: reference/datamodel.rst:1879 +#, fuzzy msgid "" -"Nonempty *__slots__* does not work for classes derived from \"variable-" -"length\" built-in types such as :class:`int`, :class:`bytes` and :class:" +":exc:`TypeError` will be raised if nonempty *__slots__* are defined for a " +"class derived from a :c:member:`\"variable-length\" built-in type " +"` such as :class:`int`, :class:`bytes`, and :class:" "`tuple`." msgstr "" "Un *__slot__* non vide ne fonctionne pas pour les classes dérivées des types " "natifs à longueur variable tels que :class:`int`, :class:`bytes` et :class:" "`tuple`." -#: reference/datamodel.rst:1880 +#: reference/datamodel.rst:1884 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "" "Tout :term:`itérable `, sauf les chaînes de caractères, peuvent " "être affectés à *__slots__*." -#: reference/datamodel.rst:1882 +#: reference/datamodel.rst:1886 msgid "" "If a :class:`dictionary ` is used to assign *__slots__*, the " "dictionary keys will be used as the slot names. The values of the dictionary " @@ -3361,7 +3364,7 @@ msgstr "" "reconnues par :func:`inspect.getdoc` qui les affiche dans la sortie de :func:" "`help`." -#: reference/datamodel.rst:1887 +#: reference/datamodel.rst:1891 msgid "" ":attr:`~instance.__class__` assignment works only if both classes have the " "same *__slots__*." @@ -3369,7 +3372,7 @@ msgstr "" "Les assignations de :attr:`~instance.__class__` ne fonctionnent que si les " "deux classes ont le même *__slots__*." -#: reference/datamodel.rst:1890 +#: reference/datamodel.rst:1894 msgid "" ":ref:`Multiple inheritance ` with multiple slotted parent " "classes can be used, but only one parent is allowed to have attributes " @@ -3381,7 +3384,7 @@ msgstr "" "attributs créés par *__slots__* (les autres classes parentes doivent avoir " "des *__slots__* vides). La violation de cette règle lève :exc:`TypeError`." -#: reference/datamodel.rst:1896 +#: reference/datamodel.rst:1900 msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " @@ -3391,11 +3394,11 @@ msgstr "" "term:`descripteur ` est créé pour chacune des valeurs de " "l'itérateur. Cependant, l'attribut *__slots__* est un itérateur vide." -#: reference/datamodel.rst:1904 +#: reference/datamodel.rst:1908 msgid "Customizing class creation" msgstr "Personnalisation de la création de classes" -#: reference/datamodel.rst:1906 +#: reference/datamodel.rst:1910 msgid "" "Whenever a class inherits from another class, :meth:`~object." "__init_subclass__` is called on the parent class. This way, it is possible " @@ -3412,7 +3415,7 @@ msgstr "" "``__init_subclass__`` agit uniquement sur les futures sous-classes de la " "classe qui définit cette méthode." -#: reference/datamodel.rst:1915 +#: reference/datamodel.rst:1919 msgid "" "This method is called whenever the containing class is subclassed. *cls* is " "then the new subclass. If defined as a normal instance method, this method " @@ -3422,7 +3425,7 @@ msgstr "" "la nouvelle sous-classe. Si elle est définie en tant que méthode d'instance " "normale, cette méthode est implicitement convertie en méthode de classe." -#: reference/datamodel.rst:1919 +#: reference/datamodel.rst:1923 msgid "" "Keyword arguments which are given to a new class are passed to the parent's " "class ``__init_subclass__``. For compatibility with other classes using " @@ -3435,7 +3438,7 @@ msgstr "" "les arguments nommés dont vous avez besoin et passer les autres à la classe " "de base, comme ci-dessous ::" -#: reference/datamodel.rst:1933 +#: reference/datamodel.rst:1937 msgid "" "The default implementation ``object.__init_subclass__`` does nothing, but " "raises an error if it is called with any arguments." @@ -3444,7 +3447,7 @@ msgstr "" "sans argument, mais lève une erreur si elle est appelée avec un argument ou " "plus." -#: reference/datamodel.rst:1938 +#: reference/datamodel.rst:1942 msgid "" "The metaclass hint ``metaclass`` is consumed by the rest of the type " "machinery, and is never passed to ``__init_subclass__`` implementations. The " @@ -3456,7 +3459,7 @@ msgstr "" "``__init_subclass__``. La métaclasse réelle (plutôt que l'indication " "explicite) peut être récupérée par ``type(cls)``." -#: reference/datamodel.rst:1946 +#: reference/datamodel.rst:1950 msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." @@ -3465,7 +3468,7 @@ msgstr "" "meth:`~object.___set_name__` de toute variable de la classe qui en possède " "un." -#: reference/datamodel.rst:1951 +#: reference/datamodel.rst:1955 msgid "" "Automatically called at the time the owning class *owner* is created. The " "object has been assigned to *name* in that class::" @@ -3473,7 +3476,7 @@ msgstr "" "Appelé au moment où la classe propriétaire *owner* est créée. L'objet *self* " "a été assigné à *name* dans *owner* ::" -#: reference/datamodel.rst:1957 +#: reference/datamodel.rst:1961 msgid "" "If the class variable is assigned after the class is created, :meth:" "`__set_name__` will not be called automatically. If needed, :meth:" @@ -3483,15 +3486,15 @@ msgstr "" "d'entrée :meth:`__set_name__` n'est pas appelé automatiquement. Mais il est " "autorisé d'appeler :meth:`__set_name__` manuellement :" -#: reference/datamodel.rst:1968 +#: reference/datamodel.rst:1972 msgid "See :ref:`class-object-creation` for more details." msgstr "Consultez :ref:`class-object-creation` pour davantage de détails." -#: reference/datamodel.rst:1976 +#: reference/datamodel.rst:1980 msgid "Metaclasses" msgstr "Métaclasses" -#: reference/datamodel.rst:1983 +#: reference/datamodel.rst:1987 msgid "" "By default, classes are constructed using :func:`type`. The class body is " "executed in a new namespace and the class name is bound locally to the " @@ -3501,7 +3504,7 @@ msgstr "" "de la classe est exécuté dans un nouvel espace de nommage et le nom de la " "classe est lié localement au résultat de ``type(name, bases, namespace)``." -#: reference/datamodel.rst:1987 +#: reference/datamodel.rst:1991 msgid "" "The class creation process can be customized by passing the ``metaclass`` " "keyword argument in the class definition line, or by inheriting from an " @@ -3514,7 +3517,7 @@ msgstr "" "l'exemple qui suit, ``MyClass`` et ``MySubclass`` sont des instances de " "``Meta`` ::" -#: reference/datamodel.rst:2001 +#: reference/datamodel.rst:2005 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." @@ -3522,37 +3525,37 @@ msgstr "" "Tout autre argument nommé spécifié dans la définition de la classe est passé " "aux opérations de métaclasses décrites auparavant." -#: reference/datamodel.rst:2004 +#: reference/datamodel.rst:2008 msgid "When a class definition is executed, the following steps occur:" msgstr "" "Quand la définition d'une classe est exécutée, les différentes étapes " "suivies sont :" -#: reference/datamodel.rst:2006 +#: reference/datamodel.rst:2010 msgid "MRO entries are resolved;" msgstr "Les entrées MRO sont résolues ;" -#: reference/datamodel.rst:2007 +#: reference/datamodel.rst:2011 msgid "the appropriate metaclass is determined;" msgstr "la métaclasse appropriée est déterminée ;" -#: reference/datamodel.rst:2008 +#: reference/datamodel.rst:2012 msgid "the class namespace is prepared;" msgstr "l'espace de nommage de la classe est préparé ;" -#: reference/datamodel.rst:2009 +#: reference/datamodel.rst:2013 msgid "the class body is executed;" msgstr "le corps de la classe est exécuté ;" -#: reference/datamodel.rst:2010 +#: reference/datamodel.rst:2014 msgid "the class object is created." msgstr "l'objet classe est crée." -#: reference/datamodel.rst:2014 +#: reference/datamodel.rst:2018 msgid "Resolving MRO entries" msgstr "Résolution des entrées MRO" -#: reference/datamodel.rst:2016 +#: reference/datamodel.rst:2020 msgid "" "If a base that appears in class definition is not an instance of :class:" "`type`, then an ``__mro_entries__`` method is searched on it. If found, it " @@ -3567,30 +3570,30 @@ msgstr "" "qui est utilisé à la place de la classe de base. Le *n*-uplet peut être " "vide, dans ce cas la classe de base originale est ignorée." -#: reference/datamodel.rst:2024 +#: reference/datamodel.rst:2028 msgid ":pep:`560` - Core support for typing module and generic types" msgstr "" ":pep:`560` — Gestion de base pour les types modules et les types génériques" -#: reference/datamodel.rst:2028 +#: reference/datamodel.rst:2032 msgid "Determining the appropriate metaclass" msgstr "Détermination de la métaclasse appropriée" -#: reference/datamodel.rst:2032 +#: reference/datamodel.rst:2036 msgid "" "The appropriate metaclass for a class definition is determined as follows:" msgstr "" "La métaclasse appropriée pour une définition de classe est déterminée de la " "manière suivante :" -#: reference/datamodel.rst:2034 +#: reference/datamodel.rst:2038 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" "si aucune classe et aucune métaclasse n'est donnée, alors :func:`type` est " "utilisée ;" -#: reference/datamodel.rst:2035 +#: reference/datamodel.rst:2039 msgid "" "if an explicit metaclass is given and it is *not* an instance of :func:" "`type`, then it is used directly as the metaclass;" @@ -3598,7 +3601,7 @@ msgstr "" "si une métaclasse explicite est donnée et que *ce n'est pas* une instance " "de :func:`type`, alors elle est utilisée directement en tant que métaclasse ;" -#: reference/datamodel.rst:2037 +#: reference/datamodel.rst:2041 msgid "" "if an instance of :func:`type` is given as the explicit metaclass, or bases " "are defined, then the most derived metaclass is used." @@ -3606,7 +3609,7 @@ msgstr "" "si une instance de :func:`type` est donnée comme métaclasse explicite ou si " "*bases* est définie, alors la métaclasse la plus dérivée est utilisée." -#: reference/datamodel.rst:2040 +#: reference/datamodel.rst:2044 msgid "" "The most derived metaclass is selected from the explicitly specified " "metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " @@ -3621,11 +3624,11 @@ msgstr "" "candidates. Si aucune des métaclasses candidates ne remplit ce critère, " "alors la définition de la classe échoue en levant ``TypeError``." -#: reference/datamodel.rst:2050 +#: reference/datamodel.rst:2054 msgid "Preparing the class namespace" msgstr "Préparation de l'espace de nommage de la classe" -#: reference/datamodel.rst:2055 +#: reference/datamodel.rst:2059 msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -3646,7 +3649,7 @@ msgstr "" "mais quand l’instance finale est créée, l’espace de nommage est copié vers " "un nouveau ``dict``." -#: reference/datamodel.rst:2064 +#: reference/datamodel.rst:2068 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." @@ -3655,21 +3658,21 @@ msgstr "" "de nommage de la classe est initialisé en tant que tableau de " "correspondances ordonné." -#: reference/datamodel.rst:2069 +#: reference/datamodel.rst:2073 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` — Métaclasses dans Python 3000" -#: reference/datamodel.rst:2070 +#: reference/datamodel.rst:2074 msgid "Introduced the ``__prepare__`` namespace hook" msgstr "" "introduction de la fonction automatique ``__prepare__`` de l'espace de " "nommage" -#: reference/datamodel.rst:2074 +#: reference/datamodel.rst:2078 msgid "Executing the class body" msgstr "Exécution du corps de la classe" -#: reference/datamodel.rst:2079 +#: reference/datamodel.rst:2083 msgid "" "The class body is executed (approximately) as ``exec(body, globals(), " "namespace)``. The key difference from a normal call to :func:`exec` is that " @@ -3684,7 +3687,7 @@ msgstr "" "des portées externes lorsque la définition de classe a lieu dans une " "fonction." -#: reference/datamodel.rst:2085 +#: reference/datamodel.rst:2089 msgid "" "However, even when the class definition occurs inside the function, methods " "defined inside the class still cannot see names defined at the class scope. " @@ -3699,11 +3702,11 @@ msgstr "" "ou *via* la référence implicite ``__class__`` incluse dans la portée " "lexicale et décrite dans la section suivante." -#: reference/datamodel.rst:2094 +#: reference/datamodel.rst:2098 msgid "Creating the class object" msgstr "Création de l'objet classe" -#: reference/datamodel.rst:2101 +#: reference/datamodel.rst:2105 msgid "" "Once the class namespace has been populated by executing the class body, the " "class object is created by calling ``metaclass(name, bases, namespace, " @@ -3715,7 +3718,7 @@ msgstr "" "**kwds)`` (les arguments nommés supplémentaires passés ici sont les mêmes " "que ceux passés à ``__prepare__``)." -#: reference/datamodel.rst:2106 +#: reference/datamodel.rst:2110 msgid "" "This class object is the one that will be referenced by the zero-argument " "form of :func:`super`. ``__class__`` is an implicit closure reference " @@ -3734,7 +3737,7 @@ msgstr "" "l'appel en cours est identifiée en fonction du premier argument transmis à " "la méthode." -#: reference/datamodel.rst:2116 +#: reference/datamodel.rst:2120 msgid "" "In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " "as a ``__classcell__`` entry in the class namespace. If present, this must " @@ -3748,7 +3751,7 @@ msgstr "" "__new__`` pour que la classe soit correctement initialisée. Ne pas le faire " "se traduit par un :exc:`RuntimeError` dans Python 3.8." -#: reference/datamodel.rst:2122 +#: reference/datamodel.rst:2126 msgid "" "When using the default metaclass :class:`type`, or any metaclass that " "ultimately calls ``type.__new__``, the following additional customization " @@ -3759,7 +3762,7 @@ msgstr "" "personnalisation supplémentaires suivantes sont suivies après la création de " "l'objet classe :" -#: reference/datamodel.rst:2126 +#: reference/datamodel.rst:2130 msgid "" "The ``type.__new__`` method collects all of the attributes in the class " "namespace that define a :meth:`~object.__set_name__` method;" @@ -3767,7 +3770,7 @@ msgstr "" "``type.__new__`` récupère, dans l'espace de nommage de la classe, tous les " "descripteurs qui définissent une méthode :meth:`~object.__set_name__` ;" -#: reference/datamodel.rst:2128 +#: reference/datamodel.rst:2132 msgid "" "Those ``__set_name__`` methods are called with the class being defined and " "the assigned name of that particular attribute;" @@ -3775,7 +3778,7 @@ msgstr "" "Toutes ces méthodes ``__set_name__`` sont appelées avec la classe en cours " "de définition et le nom assigné à chaque descripteur ;" -#: reference/datamodel.rst:2130 +#: reference/datamodel.rst:2134 msgid "" "The :meth:`~object.__init_subclass__` hook is called on the immediate parent " "of the new class in its method resolution order." @@ -3784,7 +3787,7 @@ msgstr "" "parent immédiat de la nouvelle classe en utilisant l'ordre de résolution des " "méthodes." -#: reference/datamodel.rst:2133 +#: reference/datamodel.rst:2137 msgid "" "After the class object is created, it is passed to the class decorators " "included in the class definition (if any) and the resulting object is bound " @@ -3795,7 +3798,7 @@ msgstr "" "et l'objet résultant est lié à l'espace de nommage local en tant que classe " "définie." -#: reference/datamodel.rst:2137 +#: reference/datamodel.rst:2141 msgid "" "When a new class is created by ``type.__new__``, the object provided as the " "namespace parameter is copied to a new ordered mapping and the original " @@ -3808,21 +3811,21 @@ msgstr "" "nouvelle copie est encapsulée dans un mandataire en lecture seule qui " "devient l'attribut :attr:`~object.__dict__` de l'objet classe." -#: reference/datamodel.rst:2144 +#: reference/datamodel.rst:2148 msgid ":pep:`3135` - New super" msgstr ":pep:`3135` — Nouvelle méthode super" -#: reference/datamodel.rst:2145 +#: reference/datamodel.rst:2149 msgid "Describes the implicit ``__class__`` closure reference" msgstr "" "Décrit la référence à la fermeture (*closure* en anglais) de la " "``__class__`` implicite" -#: reference/datamodel.rst:2149 +#: reference/datamodel.rst:2153 msgid "Uses for metaclasses" msgstr "Cas d'utilisations des métaclasses" -#: reference/datamodel.rst:2151 +#: reference/datamodel.rst:2155 msgid "" "The potential uses for metaclasses are boundless. Some ideas that have been " "explored include enum, logging, interface checking, automatic delegation, " @@ -3835,11 +3838,11 @@ msgstr "" "de propriétés, les mandataires, les *frameworks* ainsi que le verrouillage " "ou la synchronisation automatique de ressources." -#: reference/datamodel.rst:2158 +#: reference/datamodel.rst:2162 msgid "Customizing instance and subclass checks" msgstr "Personnalisation des instances et vérification des sous-classes" -#: reference/datamodel.rst:2160 +#: reference/datamodel.rst:2164 msgid "" "The following methods are used to override the default behavior of the :func:" "`isinstance` and :func:`issubclass` built-in functions." @@ -3847,7 +3850,7 @@ msgstr "" "Les méthodes suivantes sont utilisées pour surcharger le comportement par " "défaut des fonctions natives :func:`isinstance` et :func:`issubclass`." -#: reference/datamodel.rst:2163 +#: reference/datamodel.rst:2167 msgid "" "In particular, the metaclass :class:`abc.ABCMeta` implements these methods " "in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " @@ -3859,7 +3862,7 @@ msgstr "" "Base Classes* en anglais) en tant que « classes de base virtuelles » pour " "toute classe ou type (y compris les types natifs)." -#: reference/datamodel.rst:2170 +#: reference/datamodel.rst:2174 msgid "" "Return true if *instance* should be considered a (direct or indirect) " "instance of *class*. If defined, called to implement ``isinstance(instance, " @@ -3869,7 +3872,7 @@ msgstr "" "(directe ou indirecte) de *class*. Si elle est définie, elle est appelée " "pour implémenter ``isinstance(instance, class)``." -#: reference/datamodel.rst:2177 +#: reference/datamodel.rst:2181 msgid "" "Return true if *subclass* should be considered a (direct or indirect) " "subclass of *class*. If defined, called to implement ``issubclass(subclass, " @@ -3879,7 +3882,7 @@ msgstr "" "(directe ou indirecte) de *class*. Si elle est définie, appelée pour " "implémenter ``issubclass(subclass, class)``." -#: reference/datamodel.rst:2182 +#: reference/datamodel.rst:2186 msgid "" "Note that these methods are looked up on the type (metaclass) of a class. " "They cannot be defined as class methods in the actual class. This is " @@ -3892,11 +3895,11 @@ msgstr "" "spéciales qui sont appelées pour les instances, sauf qu'ici l'instance est " "elle-même une classe." -#: reference/datamodel.rst:2193 +#: reference/datamodel.rst:2197 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr ":pep:`3119` — Introduction aux classes de bases abstraites" -#: reference/datamodel.rst:2190 +#: reference/datamodel.rst:2194 msgid "" "Includes the specification for customizing :func:`isinstance` and :func:" "`issubclass` behavior through :meth:`~class.__instancecheck__` and :meth:" @@ -3910,11 +3913,11 @@ msgstr "" "motivation pour cette fonctionnalité l'ajout les classes de base abstraites " "(voir le module :mod:`abc`) au langage." -#: reference/datamodel.rst:2198 +#: reference/datamodel.rst:2202 msgid "Emulating generic types" msgstr "Émulation de types génériques" -#: reference/datamodel.rst:2200 +#: reference/datamodel.rst:2204 msgid "" "When using :term:`type annotations`, it is often useful to " "*parameterize* a :term:`generic type` using Python's square-brackets " @@ -3927,25 +3930,25 @@ msgstr "" "``list[int]`` peut être utilisée pour signifier une :class:`liste ` " "dans laquelle tous les éléments sont de type :class:`entiers `." -#: reference/datamodel.rst:2208 +#: reference/datamodel.rst:2212 msgid ":pep:`484` - Type Hints" msgstr ":pep:`343` — Indications de types" -#: reference/datamodel.rst:2208 +#: reference/datamodel.rst:2212 msgid "Introducing Python's framework for type annotations" msgstr "Introduction à l'annotation de types en Python (document en anglais)" -#: reference/datamodel.rst:2211 +#: reference/datamodel.rst:2215 msgid ":ref:`Generic Alias Types`" msgstr ":ref:`Types alias génériques `" -#: reference/datamodel.rst:2211 +#: reference/datamodel.rst:2215 msgid "Documentation for objects representing parameterized generic classes" msgstr "" "Documentation pour les objets qui représentent des classes génériques " "paramétrées" -#: reference/datamodel.rst:2214 +#: reference/datamodel.rst:2218 msgid "" ":ref:`Generics`, :ref:`user-defined generics` and :" "class:`typing.Generic`" @@ -3954,7 +3957,7 @@ msgstr "" "defined-generics>` et classe :class:`typing.Generic (classe de base " "abstraite pour les types génériques) `" -#: reference/datamodel.rst:2214 +#: reference/datamodel.rst:2218 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." @@ -3963,7 +3966,7 @@ msgstr "" "peuvent être paramétrées à l'exécution et comprises par les vérificateurs " "statiques de types." -#: reference/datamodel.rst:2217 +#: reference/datamodel.rst:2221 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." @@ -3971,7 +3974,7 @@ msgstr "" "*Généralement*, une classe ne peut être paramétrée que si elle définit une " "méthode spéciale de classe ``__class_getitem__()``." -#: reference/datamodel.rst:2222 +#: reference/datamodel.rst:2226 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." @@ -3979,7 +3982,7 @@ msgstr "" "Renvoie un objet représentant la spécialisation d'une classe générique en " "fonction des arguments types trouvés dans *key*." -#: reference/datamodel.rst:2225 +#: reference/datamodel.rst:2229 msgid "" "When defined on a class, ``__class_getitem__()`` is automatically a class " "method. As such, there is no need for it to be decorated with :func:" @@ -3989,11 +3992,11 @@ msgstr "" "automatiquement une méthode de classe. Ainsi, il est superflu de la décorer " "avec :func:`@classmethod` lors de sa définition." -#: reference/datamodel.rst:2231 +#: reference/datamodel.rst:2235 msgid "The purpose of *__class_getitem__*" msgstr "Intention de *__class_getitem__*" -#: reference/datamodel.rst:2233 +#: reference/datamodel.rst:2237 msgid "" "The purpose of :meth:`~object.__class_getitem__` is to allow runtime " "parameterization of standard-library generic classes in order to more easily " @@ -4004,7 +4007,7 @@ msgstr "" "standard de façon à pouvoir appliquer plus facilement des :term:`annotations " "de type ` à ces classes." -#: reference/datamodel.rst:2237 +#: reference/datamodel.rst:2241 msgid "" "To implement custom generic classes that can be parameterized at runtime and " "understood by static type-checkers, users should either inherit from a " @@ -4018,7 +4021,7 @@ msgstr "" "implémente déjà :meth:`~object.__class_getitem__`, ou hériter de :class:" "`typing.Generic`, qui a sa propre implémentation de ``__class_getitem__()``." -#: reference/datamodel.rst:2243 +#: reference/datamodel.rst:2247 msgid "" "Custom implementations of :meth:`~object.__class_getitem__` on classes " "defined outside of the standard library may not be understood by third-party " @@ -4031,11 +4034,11 @@ msgstr "" "L'utilisation de ``__class_getitem__()`` pour tout autre objectif que " "l'annotation de type n'est pas conseillée." -#: reference/datamodel.rst:2253 +#: reference/datamodel.rst:2257 msgid "*__class_getitem__* versus *__getitem__*" msgstr "*__class_getitem__* contre *__getitem__*" -#: reference/datamodel.rst:2255 +#: reference/datamodel.rst:2259 msgid "" "Usually, the :ref:`subscription` of an object using square " "brackets will call the :meth:`~object.__getitem__` instance method defined " @@ -4052,7 +4055,7 @@ msgstr "" "doit renvoyer un objet :ref:`GenericAlias` si elle est " "correctement définie." -#: reference/datamodel.rst:2262 +#: reference/datamodel.rst:2266 msgid "" "Presented with the :term:`expression` ``obj[x]``, the Python interpreter " "follows something like the following process to decide whether :meth:" @@ -4062,7 +4065,7 @@ msgstr "" "Python suit une sorte de processus suivant pour décider s'il faut appeler :" "meth:`~object.__getitem__` ou :meth:`~object.__class_getitem__` ::" -#: reference/datamodel.rst:2290 +#: reference/datamodel.rst:2294 msgid "" "In Python, all classes are themselves instances of other classes. The class " "of a class is known as that class's :term:`metaclass`, and most classes have " @@ -4078,7 +4081,7 @@ msgstr "" "expressions telles que ``list[int]``, ``dict[str, float]`` et ``tuple[str, " "bytes]`` aboutissent toutes à l'appel de :meth:`~object.__class_getitem__` ::" -#: reference/datamodel.rst:2309 +#: reference/datamodel.rst:2313 msgid "" "However, if a class has a custom metaclass that defines :meth:`~object." "__getitem__`, subscribing the class may result in different behaviour. An " @@ -4089,13 +4092,13 @@ msgstr "" "comportement différent. Un exemple peut être trouvé dans le module :mod:" "`enum` ::" -#: reference/datamodel.rst:2334 +#: reference/datamodel.rst:2338 #, fuzzy msgid ":pep:`560` - Core Support for typing module and generic types" msgstr "" ":pep:`560` — Gestion de base pour les types modules et les types génériques" -#: reference/datamodel.rst:2333 +#: reference/datamodel.rst:2337 msgid "" "Introducing :meth:`~object.__class_getitem__`, and outlining when a :ref:" "`subscription` results in ``__class_getitem__()`` being " @@ -4105,11 +4108,11 @@ msgstr "" "où un :ref:`indiçage` conduit à l'appel de " "``__class_getitem__()`` au lieu de :meth:`~object.__getitem__`" -#: reference/datamodel.rst:2341 +#: reference/datamodel.rst:2345 msgid "Emulating callable objects" msgstr "Émulation d'objets appelables" -#: reference/datamodel.rst:2348 +#: reference/datamodel.rst:2352 msgid "" "Called when the instance is \"called\" as a function; if this method is " "defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " @@ -4119,11 +4122,11 @@ msgstr "" "méthode est définie, ``x(arg1, arg2, …)`` est un raccourci pour ``type(x)." "__call__(x, arg1, …)``." -#: reference/datamodel.rst:2355 +#: reference/datamodel.rst:2359 msgid "Emulating container types" msgstr "Émulation de types conteneurs" -#: reference/datamodel.rst:2357 +#: reference/datamodel.rst:2361 msgid "" "The following methods can be defined to implement container objects. " "Containers usually are :term:`sequences ` (such as :class:`lists " @@ -4196,7 +4199,7 @@ msgstr "" "tableaux de correspondances, :meth:`__iter__` doit itérer sur les clés de " "l'objet ; pour les séquences, elle doit itérer sur les valeurs." -#: reference/datamodel.rst:2397 +#: reference/datamodel.rst:2401 msgid "" "Called to implement the built-in function :func:`len`. Should return the " "length of the object, an integer ``>=`` 0. Also, an object that doesn't " @@ -4208,7 +4211,7 @@ msgstr "" "définit pas de méthode :meth:`__bool__` et dont la méthode :meth:`__len__` " "renvoie zéro est considéré comme valant ``False`` dans un contexte booléen." -#: reference/datamodel.rst:2404 +#: reference/datamodel.rst:2408 msgid "" "In CPython, the length is required to be at most :attr:`sys.maxsize`. If the " "length is larger than :attr:`!sys.maxsize` some features (such as :func:" @@ -4222,7 +4225,7 @@ msgstr "" "exc:`!OverflowError` lors de tests booléens, un objet doit définir la " "méthode :meth:`__bool__`." -#: reference/datamodel.rst:2413 +#: reference/datamodel.rst:2417 msgid "" "Called to implement :func:`operator.length_hint`. Should return an estimated " "length for the object (which may be greater or less than the actual length). " @@ -4239,22 +4242,22 @@ msgstr "" "méthode est utilisée uniquement pour optimiser les traitements et n'est " "jamais tenue de renvoyer un résultat exact." -#: reference/datamodel.rst:2427 +#: reference/datamodel.rst:2431 msgid "" "Slicing is done exclusively with the following three methods. A call like ::" msgstr "" "Le découpage est effectué uniquement à l'aide des trois méthodes suivantes. " "Un appel comme ::" -#: reference/datamodel.rst:2431 +#: reference/datamodel.rst:2435 msgid "is translated to ::" msgstr "est traduit en ::" -#: reference/datamodel.rst:2435 +#: reference/datamodel.rst:2439 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "et ainsi de suite. Les éléments manquants sont remplacés par ``None``." -#: reference/datamodel.rst:2440 +#: reference/datamodel.rst:2444 msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " "the accepted keys should be integers and slice objects. Note that the " @@ -4277,7 +4280,7 @@ msgstr "" "`tableaux de correspondances `, si *key* n'existe pas dans le " "conteneur, une :exc:`KeyError` doit être levée." -#: reference/datamodel.rst:2452 +#: reference/datamodel.rst:2456 msgid "" ":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " "illegal indexes to allow proper detection of the end of the sequence." @@ -4285,7 +4288,7 @@ msgstr "" ":keyword:`for` s'attend à ce qu'une :exc:`IndexError` soit levée en cas " "d'indice illégal afin de détecter correctement la fin de la séquence." -#: reference/datamodel.rst:2457 +#: reference/datamodel.rst:2461 msgid "" "When :ref:`subscripting` a *class*, the special class method :" "meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " @@ -4296,7 +4299,7 @@ msgstr "" "appelée au lieu de ``__getitem__()``. Reportez-vous à :ref:`classgetitem-" "versus-getitem` pour plus de détails." -#: reference/datamodel.rst:2465 +#: reference/datamodel.rst:2469 msgid "" "Called to implement assignment to ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -4312,7 +4315,7 @@ msgstr "" "exceptions que pour la méthode :meth:`__getitem__` doivent être levées en " "cas de mauvaises valeurs de clés." -#: reference/datamodel.rst:2474 +#: reference/datamodel.rst:2478 msgid "" "Called to implement deletion of ``self[key]``. Same note as for :meth:" "`__getitem__`. This should only be implemented for mappings if the objects " @@ -4327,7 +4330,7 @@ msgstr "" "Les mêmes exceptions que pour la méthode :meth:`__getitem__` doivent être " "levées en cas de mauvaises valeurs de clés." -#: reference/datamodel.rst:2483 +#: reference/datamodel.rst:2487 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." @@ -4336,7 +4339,7 @@ msgstr "" "``self[key]`` dans les sous-classes de dictionnaires lorsque la clé n'est " "pas dans le dictionnaire." -#: reference/datamodel.rst:2489 +#: reference/datamodel.rst:2493 msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " @@ -4348,7 +4351,7 @@ msgstr "" "peut itérer sur tous les objets du conteneur. Pour les tableaux de " "correspondances, elle doit itérer sur les clés du conteneur." -#: reference/datamodel.rst:2497 +#: reference/datamodel.rst:2501 msgid "" "Called (if present) by the :func:`reversed` built-in to implement reverse " "iteration. It should return a new iterator object that iterates over all " @@ -4358,7 +4361,7 @@ msgstr "" "implémenter l'itération en sens inverse. Elle doit renvoyer un nouvel objet " "itérateur qui itère sur tous les objets du conteneur en sens inverse." -#: reference/datamodel.rst:2501 +#: reference/datamodel.rst:2505 msgid "" "If the :meth:`__reversed__` method is not provided, the :func:`reversed` " "built-in will fall back to using the sequence protocol (:meth:`__len__` and :" @@ -4372,7 +4375,7 @@ msgstr "" "doivent fournir :meth:`__reversed__` que si l'implémentation qu'ils " "proposent est plus efficace que celle de :func:`reversed`." -#: reference/datamodel.rst:2508 +#: reference/datamodel.rst:2512 msgid "" "The membership test operators (:keyword:`in` and :keyword:`not in`) are " "normally implemented as an iteration through a container. However, container " @@ -4385,7 +4388,7 @@ msgstr "" "suivantes avec une implémentation plus efficace, qui ne requièrent " "d'ailleurs pas que l'objet soit itérable." -#: reference/datamodel.rst:2515 +#: reference/datamodel.rst:2519 msgid "" "Called to implement membership test operators. Should return true if *item* " "is in *self*, false otherwise. For mapping objects, this should consider " @@ -4396,7 +4399,7 @@ msgstr "" "tableaux de correspondances, seules les clés sont considérées (pas les " "valeurs des paires clés-valeurs)." -#: reference/datamodel.rst:2519 +#: reference/datamodel.rst:2523 msgid "" "For objects that don't define :meth:`__contains__`, the membership test " "first tries iteration via :meth:`__iter__`, then the old sequence iteration " @@ -4409,11 +4412,11 @@ msgstr "" "reportez-vous à :ref:`cette section dans la référence du langage `." -#: reference/datamodel.rst:2528 +#: reference/datamodel.rst:2532 msgid "Emulating numeric types" msgstr "Émulation de types numériques" -#: reference/datamodel.rst:2530 +#: reference/datamodel.rst:2534 msgid "" "The following methods can be defined to emulate numeric objects. Methods " "corresponding to operations that are not supported by the particular kind of " @@ -4426,7 +4429,7 @@ msgstr "" "opérations bit à bit pour les nombres qui ne sont pas entiers) doivent être " "laissées indéfinies." -#: reference/datamodel.rst:2556 +#: reference/datamodel.rst:2560 msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -4450,7 +4453,7 @@ msgstr "" "accepter un troisième argument optionnel si la version ternaire de la " "fonction native :func:`pow` est autorisée." -#: reference/datamodel.rst:2567 +#: reference/datamodel.rst:2571 msgid "" "If one of those methods does not support the operation with the supplied " "arguments, it should return ``NotImplemented``." @@ -4458,7 +4461,7 @@ msgstr "" "Si l'une de ces méthodes n'autorise pas l'opération avec les arguments " "donnés, elle doit renvoyer ``NotImplemented``." -#: reference/datamodel.rst:2590 +#: reference/datamodel.rst:2594 msgid "" "These methods are called to implement the binary arithmetic operations " "(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" @@ -4479,7 +4482,7 @@ msgstr "" "`__rsub__`, ``y.__rsub__(x)`` est appelée si ``x.__sub__(y)`` renvoie " "*NotImplemented*." -#: reference/datamodel.rst:2601 +#: reference/datamodel.rst:2605 msgid "" "Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " "coercion rules would become too complicated)." @@ -4487,7 +4490,7 @@ msgstr "" "Notez que la fonction ternaire :func:`pow` n'essaie pas d'appeler :meth:" "`__rpow__` (les règles de coercition seraient trop compliquées)." -#: reference/datamodel.rst:2606 +#: reference/datamodel.rst:2610 msgid "" "If the right operand's type is a subclass of the left operand's type and " "that subclass provides a different implementation of the reflected method " @@ -4501,7 +4504,7 @@ msgstr "" "méthode originelle de l'opérande gauche. Ce comportement permet à des sous-" "classes de surcharger les opérations de leurs ancêtres." -#: reference/datamodel.rst:2627 +#: reference/datamodel.rst:2631 msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " @@ -4530,7 +4533,7 @@ msgstr "" "erreurs inattendues (voir :ref:`faq-augmented-assignment-tuple-error`), mais " "ce comportement est en fait partie intégrante du modèle de données." -#: reference/datamodel.rst:2648 +#: reference/datamodel.rst:2652 msgid "" "Called to implement the unary arithmetic operations (``-``, ``+``, :func:" "`abs` and ``~``)." @@ -4538,7 +4541,7 @@ msgstr "" "Appelée pour implémenter les opérations arithmétiques unaires (``-``, " "``+``, :func:`abs` et ``~``)." -#: reference/datamodel.rst:2661 +#: reference/datamodel.rst:2665 msgid "" "Called to implement the built-in functions :func:`complex`, :func:`int` and :" "func:`float`. Should return a value of the appropriate type." @@ -4546,7 +4549,7 @@ msgstr "" "Appelées pour implémenter les fonctions natives :func:`complex`, :func:`int` " "et :func:`float`. Elles doivent renvoyer une valeur du type approprié." -#: reference/datamodel.rst:2668 +#: reference/datamodel.rst:2672 msgid "" "Called to implement :func:`operator.index`, and whenever Python needs to " "losslessly convert the numeric object to an integer object (such as in " @@ -4560,7 +4563,7 @@ msgstr "" "`oct`). La présence de cette méthode indique que l'objet numérique est un " "type entier. Elle doit renvoyer un entier." -#: reference/datamodel.rst:2674 +#: reference/datamodel.rst:2678 msgid "" "If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " "defined then corresponding built-in functions :func:`int`, :func:`float` " @@ -4570,7 +4573,7 @@ msgstr "" "définies, alors les fonctions natives :func:`int`, :func:`float` et :func:" "`complex` redirigent par défaut vers :meth:`__index__`." -#: reference/datamodel.rst:2686 +#: reference/datamodel.rst:2690 msgid "" "Called to implement the built-in function :func:`round` and :mod:`math` " "functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " @@ -4584,7 +4587,7 @@ msgstr "" "toutes ces méthodes doivent renvoyer la valeur de l'objet tronquée pour " "donner un :class:`~numbers.Integral` (typiquement un :class:`int`)." -#: reference/datamodel.rst:2692 +#: reference/datamodel.rst:2696 msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." @@ -4592,11 +4595,11 @@ msgstr "" "La fonction native :func:`int` se replie sur :meth:`__trunc__` dans le cas " "où ni :meth:`__int__` ni :meth:`__index__` ne sont définies." -#: reference/datamodel.rst:2699 +#: reference/datamodel.rst:2703 msgid "With Statement Context Managers" msgstr "Gestionnaire de contexte With" -#: reference/datamodel.rst:2701 +#: reference/datamodel.rst:2705 msgid "" "A :dfn:`context manager` is an object that defines the runtime context to be " "established when executing a :keyword:`with` statement. The context manager " @@ -4613,7 +4616,7 @@ msgstr "" "dans la section :ref:`with`), mais ils peuvent aussi être directement " "invoqués par leurs méthodes." -#: reference/datamodel.rst:2712 +#: reference/datamodel.rst:2716 msgid "" "Typical uses of context managers include saving and restoring various kinds " "of global state, locking and unlocking resources, closing opened files, etc." @@ -4622,14 +4625,14 @@ msgstr "" "et la restauration d'états divers, le verrouillage et le déverrouillage de " "ressources, la fermeture de fichiers ouverts, etc." -#: reference/datamodel.rst:2715 +#: reference/datamodel.rst:2719 msgid "" "For more information on context managers, see :ref:`typecontextmanager`." msgstr "" "Pour plus d'informations sur les gestionnaires de contexte, lisez :ref:" "`typecontextmanager`." -#: reference/datamodel.rst:2720 +#: reference/datamodel.rst:2724 msgid "" "Enter the runtime context related to this object. The :keyword:`with` " "statement will bind this method's return value to the target(s) specified in " @@ -4640,7 +4643,7 @@ msgstr "" "cible spécifiée par la clause :keyword:`!as` de l'instruction, si elle est " "spécifiée." -#: reference/datamodel.rst:2727 +#: reference/datamodel.rst:2731 msgid "" "Exit the runtime context related to this object. The parameters describe the " "exception that caused the context to be exited. If the context was exited " @@ -4650,7 +4653,7 @@ msgstr "" "l'exception qui a causé la sortie du contexte. Si l'on sort du contexte sans " "exception, les trois arguments sont à :const:`None`." -#: reference/datamodel.rst:2731 +#: reference/datamodel.rst:2735 msgid "" "If an exception is supplied, and the method wishes to suppress the exception " "(i.e., prevent it from being propagated), it should return a true value. " @@ -4662,7 +4665,7 @@ msgstr "" "propagée), elle doit renvoyer ``True``. Sinon, l'exception est traitée " "normalement à la sortie de cette méthode." -#: reference/datamodel.rst:2735 +#: reference/datamodel.rst:2739 msgid "" "Note that :meth:`__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." @@ -4670,11 +4673,11 @@ msgstr "" "Notez qu'une méthode :meth:`__exit__` ne doit pas lever à nouveau " "l'exception qu'elle reçoit ; c'est du ressort de l'appelant." -#: reference/datamodel.rst:2742 +#: reference/datamodel.rst:2746 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` — L'instruction ``with``" -#: reference/datamodel.rst:2742 +#: reference/datamodel.rst:2746 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." @@ -4682,23 +4685,24 @@ msgstr "" "La spécification, les motivations et des exemples de l'instruction :keyword:" "`with` en Python." -#: reference/datamodel.rst:2749 +#: reference/datamodel.rst:2753 msgid "Customizing positional arguments in class pattern matching" msgstr "Arguments positionnels dans le filtrage par motif sur les classes" -#: reference/datamodel.rst:2751 +#: reference/datamodel.rst:2755 +#, fuzzy msgid "" "When using a class name in a pattern, positional arguments in the pattern " "are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " "without special support in ``MyClass``. To be able to use that kind of " -"patterns, the class needs to define a *__match_args__* attribute." +"pattern, the class needs to define a *__match_args__* attribute." msgstr "" "Les filtres de classe n'autorisent par défaut que les arguments nommés : " "``case UneClasse(x, y)`` n'est généralement pas valide si ``UneClasse`` ne " "fait rien pour cela. Afin de prendre en charge le filtrage par arguments " "positionnels, une classe doit définir ``__match_args__``." -#: reference/datamodel.rst:2758 +#: reference/datamodel.rst:2762 msgid "" "This class variable can be assigned a tuple of strings. When this class is " "used in a class pattern with positional arguments, each positional argument " @@ -4712,7 +4716,7 @@ msgstr "" "n'est pas défini, tout se passe comme si sa valeur était le *n*-uplet vide " "``()``." -#: reference/datamodel.rst:2764 +#: reference/datamodel.rst:2768 msgid "" "For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " "\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " @@ -4727,19 +4731,19 @@ msgstr "" "d'arguments positionnels que la longueur ``__match_args__``. Dans le cas " "contraire, le filtrage lève l'exception :exc:`TypeError`." -#: reference/datamodel.rst:2774 +#: reference/datamodel.rst:2778 msgid ":pep:`634` - Structural Pattern Matching" msgstr ":pep:`634` — Filtrage par motif structurel" -#: reference/datamodel.rst:2775 +#: reference/datamodel.rst:2779 msgid "The specification for the Python ``match`` statement." msgstr "Spécification de l'instruction ``match``." -#: reference/datamodel.rst:2781 +#: reference/datamodel.rst:2785 msgid "Special method lookup" msgstr "Recherche des méthodes spéciales" -#: reference/datamodel.rst:2783 +#: reference/datamodel.rst:2787 msgid "" "For custom classes, implicit invocations of special methods are only " "guaranteed to work correctly if defined on an object's type, not in the " @@ -4751,7 +4755,7 @@ msgstr "" "type d'objet, pas dans le dictionnaire de l'objet instance. Ce comportement " "explique pourquoi le code suivant lève une exception ::" -#: reference/datamodel.rst:2798 +#: reference/datamodel.rst:2802 msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -4766,7 +4770,7 @@ msgstr "" "recherche, elles ne fonctionneraient pas si on les appelait sur l'objet type " "lui-même ::" -#: reference/datamodel.rst:2812 +#: reference/datamodel.rst:2816 msgid "" "Incorrectly attempting to invoke an unbound method of a class in this way is " "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " @@ -4776,7 +4780,7 @@ msgstr "" "parfois appelé « confusion de métaclasse » et se contourne en shuntant " "l'instance lors de la recherche des méthodes spéciales ::" -#: reference/datamodel.rst:2821 +#: reference/datamodel.rst:2825 msgid "" "In addition to bypassing any instance attributes in the interest of " "correctness, implicit special method lookup generally also bypasses the :" @@ -4787,7 +4791,7 @@ msgstr "" "méthode :meth:`~object.__getattribute__` même dans la métaclasse de " "l'objet ::" -#: reference/datamodel.rst:2847 +#: reference/datamodel.rst:2851 msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -4801,15 +4805,15 @@ msgstr "" "être définie sur l'objet classe lui-même afin d'être invoquée de manière " "cohérente par l'interpréteur)." -#: reference/datamodel.rst:2858 +#: reference/datamodel.rst:2862 msgid "Coroutines" msgstr "Coroutines" -#: reference/datamodel.rst:2862 +#: reference/datamodel.rst:2866 msgid "Awaitable Objects" msgstr "Objets *attendables* (*awaitable*)" -#: reference/datamodel.rst:2864 +#: reference/datamodel.rst:2868 msgid "" "An :term:`awaitable` object generally implements an :meth:`~object." "__await__` method. :term:`Coroutine objects ` returned from :" @@ -4819,7 +4823,7 @@ msgstr "" "`~object.__await__`. Les objets :term:`coroutine` renvoyés par les " "fonctions :keyword:`async def` sont des *attendables* (*awaitable*)." -#: reference/datamodel.rst:2870 +#: reference/datamodel.rst:2874 #, fuzzy msgid "" "The :term:`generator iterator` objects returned from generators decorated " @@ -4831,7 +4835,7 @@ msgstr "" "des *attendables* (*awaitable*), mais ils n'implémentent pas :meth:" "`__await__`." -#: reference/datamodel.rst:2876 +#: reference/datamodel.rst:2880 msgid "" "Must return an :term:`iterator`. Should be used to implement :term:" "`awaitable` objects. For instance, :class:`asyncio.Future` implements this " @@ -4841,17 +4845,25 @@ msgstr "" "objets :term:`awaitable`. Par exemple, :class:`asyncio.Future` implémente " "cette méthode pour être compatible avec les expressions :keyword:`await`." -#: reference/datamodel.rst:2882 +#: reference/datamodel.rst:2886 +msgid "" +"The language doesn't place any restriction on the type or value of the " +"objects yielded by the iterator returned by ``__await__``, as this is " +"specific to the implementation of the asynchronous execution framework (e." +"g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." +msgstr "" + +#: reference/datamodel.rst:2894 msgid ":pep:`492` for additional information about awaitable objects." msgstr "" ":pep:`492` pour les informations relatives aux objets *attendables* " "(*awaitable*)." -#: reference/datamodel.rst:2888 +#: reference/datamodel.rst:2900 msgid "Coroutine Objects" msgstr "Objets coroutines" -#: reference/datamodel.rst:2890 +#: reference/datamodel.rst:2902 msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " @@ -4870,7 +4882,7 @@ msgstr "" "coroutines ne doivent pas lever directement des exceptions :exc:" "`StopIteration` non gérées." -#: reference/datamodel.rst:2898 +#: reference/datamodel.rst:2910 msgid "" "Coroutines also have the methods listed below, which are analogous to those " "of generators (see :ref:`generator-methods`). However, unlike generators, " @@ -4881,13 +4893,13 @@ msgstr "" "contraire des générateurs, vous ne pouvez pas itérer directement sur des " "coroutines." -#: reference/datamodel.rst:2902 +#: reference/datamodel.rst:2914 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "" "Utiliser *await* plus d'une fois sur une coroutine lève une :exc:" "`RuntimeError`." -#: reference/datamodel.rst:2908 +#: reference/datamodel.rst:2920 msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " "is equivalent to advancing the iterator returned by :meth:`~object." @@ -4905,7 +4917,7 @@ msgstr "" "autre exception) est le même que lorsque vous itérez sur la valeur de retour " "de :meth:`__await__`, décrite ci-dessus." -#: reference/datamodel.rst:2919 +#: reference/datamodel.rst:2931 msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " @@ -4923,7 +4935,7 @@ msgstr "" "retour de :meth:`~object.__await__`, décrite ci-dessus. Si l'exception n'est " "pas gérée par la coroutine, elle est propagée à l'appelant." -#: reference/datamodel.rst:2930 +#: reference/datamodel.rst:2942 msgid "" "Causes the coroutine to clean itself up and exit. If the coroutine is " "suspended, this method first delegates to the :meth:`~generator.close` " @@ -4940,7 +4952,7 @@ msgstr "" "la coroutine est marquée comme ayant terminé son exécution, même si elle n'a " "jamais démarré." -#: reference/datamodel.rst:2938 +#: reference/datamodel.rst:2950 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." @@ -4948,11 +4960,11 @@ msgstr "" "Les objets coroutines sont automatiquement fermés en utilisant le processus " "décrit au-dessus au moment où ils sont détruits." -#: reference/datamodel.rst:2944 +#: reference/datamodel.rst:2956 msgid "Asynchronous Iterators" msgstr "Itérateurs asynchrones" -#: reference/datamodel.rst:2946 +#: reference/datamodel.rst:2958 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." @@ -4960,18 +4972,18 @@ msgstr "" "Un *itérateur asynchrone* peut appeler du code asynchrone dans sa méthode " "``__anext__``." -#: reference/datamodel.rst:2949 +#: reference/datamodel.rst:2961 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" "Les itérateurs asynchrones peuvent être utilisés dans des instructions :" "keyword:`async for`." -#: reference/datamodel.rst:2953 +#: reference/datamodel.rst:2965 msgid "Must return an *asynchronous iterator* object." msgstr "Doit renvoyer un objet *itérateur asynchrone*." -#: reference/datamodel.rst:2957 +#: reference/datamodel.rst:2969 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." @@ -4980,11 +4992,11 @@ msgstr "" "suivante de l'itérateur. Doit lever une :exc:`StopAsyncIteration` quand " "l'itération est terminée." -#: reference/datamodel.rst:2960 +#: reference/datamodel.rst:2972 msgid "An example of an asynchronous iterable object::" msgstr "Un exemple d'objet itérateur asynchrone ::" -#: reference/datamodel.rst:2977 +#: reference/datamodel.rst:2989 msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator `." -#: reference/datamodel.rst:2982 +#: reference/datamodel.rst:2994 msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " "asynchronous iterator object. Returning anything else will result in a :exc:" @@ -5004,11 +5016,11 @@ msgstr "" "itérateur asynchrone. Renvoyer autre chose entraine une erreur :exc:" "`TypeError`." -#: reference/datamodel.rst:2990 +#: reference/datamodel.rst:3002 msgid "Asynchronous Context Managers" msgstr "Gestionnaires de contexte asynchrones" -#: reference/datamodel.rst:2992 +#: reference/datamodel.rst:3004 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." @@ -5017,7 +5029,7 @@ msgstr "" "qui est capable de suspendre son exécution dans ses méthodes ``__aenter__`` " "et ``__aexit__``." -#: reference/datamodel.rst:2995 +#: reference/datamodel.rst:3007 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." @@ -5025,7 +5037,7 @@ msgstr "" "Les gestionnaires de contexte asynchrones peuvent être utilisés dans des " "instructions :keyword:`async with`." -#: reference/datamodel.rst:2999 +#: reference/datamodel.rst:3011 msgid "" "Semantically similar to :meth:`__enter__`, the only difference being that it " "must return an *awaitable*." @@ -5033,7 +5045,7 @@ msgstr "" "Sémantiquement équivalente à :meth:`__enter__`, à la seule différence près " "qu'elle doit renvoyer un *attendable* (*awaitable*)." -#: reference/datamodel.rst:3004 +#: reference/datamodel.rst:3016 msgid "" "Semantically similar to :meth:`__exit__`, the only difference being that it " "must return an *awaitable*." @@ -5041,15 +5053,15 @@ msgstr "" "Sémantiquement équivalente à :meth:`__exit__`, à la seule différence près " "qu'elle doit renvoyer un *attendable* (*awaitable*)." -#: reference/datamodel.rst:3007 +#: reference/datamodel.rst:3019 msgid "An example of an asynchronous context manager class::" msgstr "Un exemple de classe de gestionnaire de contexte asynchrone ::" -#: reference/datamodel.rst:3020 +#: reference/datamodel.rst:3032 msgid "Footnotes" msgstr "Notes de bas de page" -#: reference/datamodel.rst:3021 +#: reference/datamodel.rst:3033 msgid "" "It *is* possible in some cases to change an object's type, under certain " "controlled conditions. It generally isn't a good idea though, since it can " @@ -5060,7 +5072,7 @@ msgstr "" "car cela peut conduire à un comportement très étrange si ce n'est pas géré " "correctement." -#: reference/datamodel.rst:3025 +#: reference/datamodel.rst:3037 msgid "" "The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." "__reversed__`, and :meth:`~object.__contains__` methods have special " @@ -5072,7 +5084,7 @@ msgstr "" "particulière pour cela ; les autres lèvent toujours :exc:`TypeError`, mais " "le font en considérant que ``None`` n'est pas un appelable." -#: reference/datamodel.rst:3031 +#: reference/datamodel.rst:3043 msgid "" "\"Does not support\" here means that the class has no such method, or the " "method returns ``NotImplemented``. Do not set the method to ``None`` if you " @@ -5084,7 +5096,7 @@ msgstr "" "``None`` à la méthode si vous voulez un repli vers la méthode symétrique de " "l'opérande de droite — cela aurait pour effet de *bloquer* un tel repli." -#: reference/datamodel.rst:3037 +#: reference/datamodel.rst:3049 msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method -- such as :meth:`~object.__add__` -- fails then the overall " diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 834aca3321..33d3c69be2 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-04-09 23:45+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -218,6 +218,7 @@ msgstr "" "`UnboundLocalError` est une sous-classe de :exc:`NameError`." #: reference/executionmodel.rst:125 +#, fuzzy msgid "" "If a name binding operation occurs anywhere within a code block, all uses of " "the name within the block are treated as references to the current block. " @@ -225,7 +226,8 @@ msgid "" "bound. This rule is subtle. Python lacks declarations and allows name " "binding operations to occur anywhere within a code block. The local " "variables of a code block can be determined by scanning the entire text of " -"the block for name binding operations." +"the block for name binding operations. See :ref:`the FAQ entry on " +"UnboundLocalError ` for examples." msgstr "" "Si une opération de liaison intervient dans un bloc de code, toutes les " "utilisations du nom dans le bloc sont considérées comme des références au " @@ -236,7 +238,7 @@ msgstr "" "de code peuvent être déterminées en parcourant tout le texte du bloc à la " "recherche des opérations de liaisons." -#: reference/executionmodel.rst:132 +#: reference/executionmodel.rst:134 msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " "names specified in the statement refer to the bindings of those names in the " @@ -258,7 +260,7 @@ msgstr "" "de nommage natif. L'instruction :keyword:`!global` doit précéder toute " "utilisation des noms considérés." -#: reference/executionmodel.rst:141 +#: reference/executionmodel.rst:143 msgid "" "The :keyword:`global` statement has the same scope as a name binding " "operation in the same block. If the nearest enclosing scope for a free " @@ -269,7 +271,7 @@ msgstr "" "du même bloc. Si la portée englobante la plus petite pour une variable libre " "contient une instruction *global*, la variable libre est considérée globale." -#: reference/executionmodel.rst:147 +#: reference/executionmodel.rst:149 msgid "" "The :keyword:`nonlocal` statement causes corresponding names to refer to " "previously bound variables in the nearest enclosing function scope. :exc:" @@ -282,7 +284,7 @@ msgstr "" "compilation si le nom donné n'existe dans aucune portée de fonction " "englobante." -#: reference/executionmodel.rst:154 +#: reference/executionmodel.rst:156 msgid "" "The namespace for a module is automatically created the first time a module " "is imported. The main module for a script is always called :mod:`__main__`." @@ -291,7 +293,7 @@ msgstr "" "que le module est importé. Le module principal d'un script s'appelle " "toujours :mod:`__main__`." -#: reference/executionmodel.rst:157 +#: reference/executionmodel.rst:159 msgid "" "Class definition blocks and arguments to :func:`exec` and :func:`eval` are " "special in the context of name resolution. A class definition is an " @@ -317,11 +319,11 @@ msgstr "" "puisque celles-ci sont implémentées en utilisant une portée de fonction. " "Ainsi, les instructions suivantes échouent ::" -#: reference/executionmodel.rst:175 +#: reference/executionmodel.rst:177 msgid "Builtins and restricted execution" msgstr "Noms natifs et restrictions d'exécution" -#: reference/executionmodel.rst:181 +#: reference/executionmodel.rst:183 msgid "" "Users should not touch ``__builtins__``; it is strictly an implementation " "detail. Users wanting to override values in the builtins namespace should :" @@ -334,7 +336,7 @@ msgstr "" "keyword:`importer ` le module :mod:`builtins` et modifier ses " "attributs judicieusement." -#: reference/executionmodel.rst:186 +#: reference/executionmodel.rst:188 msgid "" "The builtins namespace associated with the execution of a code block is " "actually found by looking up the name ``__builtins__`` in its global " @@ -353,11 +355,11 @@ msgstr "" "``__builtins__`` est un pseudonyme du dictionnaire du module :mod:`builtins` " "lui-même." -#: reference/executionmodel.rst:198 +#: reference/executionmodel.rst:200 msgid "Interaction with dynamic features" msgstr "Interaction avec les fonctionnalités dynamiques" -#: reference/executionmodel.rst:200 +#: reference/executionmodel.rst:202 msgid "" "Name resolution of free variables occurs at runtime, not at compile time. " "This means that the following code will print 42::" @@ -365,7 +367,7 @@ msgstr "" "La résolution des noms de variables libres intervient à l'exécution, pas à " "la compilation. Cela signifie que le code suivant affiche 42 ::" -#: reference/executionmodel.rst:211 +#: reference/executionmodel.rst:213 msgid "" "The :func:`eval` and :func:`exec` functions do not have access to the full " "environment for resolving names. Names may be resolved in the local and " @@ -384,11 +386,11 @@ msgstr "" "nommage globaux et locaux. Si seulement un espace de nommage est spécifié, " "il est utilisé pour les deux." -#: reference/executionmodel.rst:222 +#: reference/executionmodel.rst:224 msgid "Exceptions" msgstr "Exceptions" -#: reference/executionmodel.rst:233 +#: reference/executionmodel.rst:235 msgid "" "Exceptions are a means of breaking out of the normal flow of control of a " "code block in order to handle errors or other exceptional conditions. An " @@ -403,7 +405,7 @@ msgstr "" "a, directement ou indirectement, invoqué le bloc de code où l'erreur s'est " "produite." -#: reference/executionmodel.rst:239 +#: reference/executionmodel.rst:241 msgid "" "The Python interpreter raises an exception when it detects a run-time error " "(such as division by zero). A Python program can also explicitly raise an " @@ -421,7 +423,7 @@ msgstr "" "peut être utilisée pour spécifier un code de nettoyage qui ne gère pas " "l'exception mais qui est exécuté quoi qu'il arrive (exception ou pas)." -#: reference/executionmodel.rst:249 +#: reference/executionmodel.rst:251 msgid "" "Python uses the \"termination\" model of error handling: an exception " "handler can find out what happened and continue execution at an outer level, " @@ -434,7 +436,7 @@ msgstr "" "l'erreur et ré-essayer l'opération qui a échoué (sauf à entrer à nouveau " "dans le code en question par le haut)." -#: reference/executionmodel.rst:256 +#: reference/executionmodel.rst:258 msgid "" "When an exception is not handled at all, the interpreter terminates " "execution of the program, or returns to its interactive main loop. In " @@ -446,7 +448,7 @@ msgstr "" "il affiche une trace de la pile d'appels, sauf si l'exception est :exc:" "`SystemExit`." -#: reference/executionmodel.rst:260 +#: reference/executionmodel.rst:262 msgid "" "Exceptions are identified by class instances. The :keyword:`except` clause " "is selected depending on the class of the instance: it must reference the " @@ -461,7 +463,7 @@ msgstr "" "transmise au gestionnaire et peut apporter des informations complémentaires " "sur les conditions de l'exception." -#: reference/executionmodel.rst:268 +#: reference/executionmodel.rst:270 msgid "" "Exception messages are not part of the Python API. Their contents may " "change from one version of Python to the next without warning and should not " @@ -473,7 +475,7 @@ msgstr "" "code ne doit pas reposer sur ceux-ci s'il doit fonctionner sur plusieurs " "versions de l'interpréteur." -#: reference/executionmodel.rst:272 +#: reference/executionmodel.rst:274 msgid "" "See also the description of the :keyword:`try` statement in section :ref:" "`try` and :keyword:`raise` statement in section :ref:`raise`." @@ -482,11 +484,11 @@ msgstr "" "section :ref:`try` et de l'instruction :keyword:`raise` dans la section :ref:" "`raise`." -#: reference/executionmodel.rst:277 +#: reference/executionmodel.rst:279 msgid "Footnotes" msgstr "Notes" -#: reference/executionmodel.rst:278 +#: reference/executionmodel.rst:280 msgid "" "This limitation occurs because the code that is executed by these operations " "is not available at the time the module is compiled." diff --git a/reference/expressions.po b/reference/expressions.po index f9fe784657..9fbff085a6 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:15+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -674,9 +674,10 @@ msgid "" "function. The execution starts when one of the generator's methods is " "called. At that time, the execution proceeds to the first yield expression, " "where it is suspended again, returning the value of :token:`~python-grammar:" -"expression_list` to the generator's caller. By suspended, we mean that all " -"local state is retained, including the current bindings of local variables, " -"the instruction pointer, the internal evaluation stack, and the state of any " +"expression_list` to the generator's caller, or ``None`` if :token:`~python-" +"grammar:expression_list` is omitted. By suspended, we mean that all local " +"state is retained, including the current bindings of local variables, the " +"instruction pointer, the internal evaluation stack, and the state of any " "exception handling. When the execution is resumed by calling one of the " "generator's methods, the function can proceed exactly as if the yield " "expression were just another external call. The value of the yield " @@ -704,7 +705,7 @@ msgstr "" "`~generator.send` qui a été utilisée, alors le résultat est la valeur " "transmise à cette méthode." -#: reference/expressions.rst:465 +#: reference/expressions.rst:467 msgid "" "All of this makes generator functions quite similar to coroutines; they " "yield multiple times, they have more than one entry point and their " @@ -719,7 +720,7 @@ msgstr "" "contrôler où l'exécution doit se poursuivre après une instruction " "``yield`` ; ce contrôle est toujours du ressort de l'appelant au générateur." -#: reference/expressions.rst:471 +#: reference/expressions.rst:473 msgid "" "Yield expressions are allowed anywhere in a :keyword:`try` construct. If " "the generator is not resumed before it is finalized (by reaching a zero " @@ -734,7 +735,7 @@ msgstr "" "close` du générateur-itérateur est appelée, ce qui permet l'exécution de " "toutes les clauses :keyword:`finally` en attente." -#: reference/expressions.rst:480 +#: reference/expressions.rst:482 msgid "" "When ``yield from `` is used, the supplied expression must be an " "iterable. The values produced by iterating that iterable are passed directly " @@ -754,7 +755,7 @@ msgstr "" "`AttributeError` ou une :exc:`TypeError`, alors que :meth:`~generator.throw` " "ne fait que propager l'exception immédiatement." -#: reference/expressions.rst:489 +#: reference/expressions.rst:491 msgid "" "When the underlying iterator is complete, the :attr:`~StopIteration.value` " "attribute of the raised :exc:`StopIteration` instance becomes the value of " @@ -768,13 +769,13 @@ msgstr "" "quand vous levez :exc:`StopIteration` ou automatiquement que le sous-" "itérateur est un générateur (en renvoyant une valeur par le sous-générateur)." -#: reference/expressions.rst:495 +#: reference/expressions.rst:497 msgid "Added ``yield from `` to delegate control flow to a subiterator." msgstr "" "``yield from `` a été ajoutée pour déléguer le contrôle du flot " "d'exécution à un sous-itérateur." -#: reference/expressions.rst:498 +#: reference/expressions.rst:500 msgid "" "The parentheses may be omitted when the yield expression is the sole " "expression on the right hand side of an assignment statement." @@ -782,11 +783,11 @@ msgstr "" "Les parenthèses peuvent être omises quand l'expression ``yield`` est la " "seule expression à droite de l'instruction de l'instruction d'assignation." -#: reference/expressions.rst:504 +#: reference/expressions.rst:506 msgid ":pep:`255` - Simple Generators" msgstr ":pep:`255` : générateurs simples" -#: reference/expressions.rst:504 +#: reference/expressions.rst:506 msgid "" "The proposal for adding generators and the :keyword:`yield` statement to " "Python." @@ -794,11 +795,11 @@ msgstr "" "La proposition d'ajouter à Python des générateurs et l'instruction :keyword:" "`yield`." -#: reference/expressions.rst:508 +#: reference/expressions.rst:510 msgid ":pep:`342` - Coroutines via Enhanced Generators" msgstr ":pep:`342` -- Coroutines *via* des générateurs améliorés" -#: reference/expressions.rst:507 +#: reference/expressions.rst:509 msgid "" "The proposal to enhance the API and syntax of generators, making them usable " "as simple coroutines." @@ -806,11 +807,11 @@ msgstr "" "Proposition d'améliorer l'API et la syntaxe des générateurs, de manière à " "pouvoir les utiliser comme de simples coroutines." -#: reference/expressions.rst:512 +#: reference/expressions.rst:514 msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" msgstr ":pep:`380` -- Syntaxe pour déléguer à un sous-générateur" -#: reference/expressions.rst:511 +#: reference/expressions.rst:513 msgid "" "The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " "making delegation to subgenerators easy." @@ -818,11 +819,11 @@ msgstr "" "Proposition d'introduire la syntaxe :token:`~python-grammar:yield_from`, de " "manière à déléguer facilement l'exécution à un sous-générateur." -#: reference/expressions.rst:515 +#: reference/expressions.rst:517 msgid ":pep:`525` - Asynchronous Generators" msgstr ":pep:`525` : Générateurs asynchrones" -#: reference/expressions.rst:515 +#: reference/expressions.rst:517 msgid "" "The proposal that expanded on :pep:`492` by adding generator capabilities to " "coroutine functions." @@ -830,11 +831,11 @@ msgstr "" "La proposition qui a amélioré la :pep:`492` en ajoutant des capacités de " "générateur pour les coroutines." -#: reference/expressions.rst:522 +#: reference/expressions.rst:524 msgid "Generator-iterator methods" msgstr "Méthodes des générateurs-itérateurs" -#: reference/expressions.rst:524 +#: reference/expressions.rst:526 msgid "" "This subsection describes the methods of a generator iterator. They can be " "used to control the execution of a generator function." @@ -842,7 +843,7 @@ msgstr "" "Cette sous-section décrit les méthodes des générateurs-itérateurs. Elles " "peuvent être utilisées pour contrôler l'exécution des fonctions générateurs." -#: reference/expressions.rst:527 +#: reference/expressions.rst:529 msgid "" "Note that calling any of the generator methods below when the generator is " "already executing raises a :exc:`ValueError` exception." @@ -851,7 +852,7 @@ msgstr "" "générateur est déjà en cours d'exécution lève une exception :exc:" "`ValueError`." -#: reference/expressions.rst:535 +#: reference/expressions.rst:537 msgid "" "Starts the execution of a generator function or resumes it at the last " "executed yield expression. When a generator function is resumed with a :" @@ -871,7 +872,7 @@ msgstr "" "méthode :meth:`__next__` de l'appelant. Si le générateur termine sans donner " "une autre valeur, une exception :exc:`StopIteration` est levée." -#: reference/expressions.rst:544 +#: reference/expressions.rst:546 msgid "" "This method is normally called implicitly, e.g. by a :keyword:`for` loop, or " "by the built-in :func:`next` function." @@ -879,7 +880,7 @@ msgstr "" "Cette méthode est normalement appelée implicitement, par exemple par une " "boucle :keyword:`for` ou par la fonction native :func:`next`." -#: reference/expressions.rst:550 +#: reference/expressions.rst:552 msgid "" "Resumes the execution and \"sends\" a value into the generator function. " "The *value* argument becomes the result of the current yield expression. " @@ -897,7 +898,7 @@ msgstr "" "le générateur, elle doit avoir :const:`None` comme argument, car il n'y a " "aucune expression ``yield`` qui peut recevoir la valeur." -#: reference/expressions.rst:562 +#: reference/expressions.rst:564 msgid "" "Raises an exception at the point where the generator was paused, and returns " "the next value yielded by the generator function. If the generator exits " @@ -911,7 +912,7 @@ msgstr "" "est levée. Si la fonction génératrice ne gère pas l'exception passée ou lève " "une autre exception, alors cette exception est propagée vers l'appelant." -#: reference/expressions.rst:568 +#: reference/expressions.rst:570 msgid "" "In typical use, this is called with a single exception instance similar to " "the way the :keyword:`raise` keyword is used." @@ -919,7 +920,7 @@ msgstr "" "Dans son utilisation typique, elle est appelée avec une seule instance " "d'exception, de façon similaire à l'utilisation du mot-clé :keyword:`raise`." -#: reference/expressions.rst:571 +#: reference/expressions.rst:573 msgid "" "For backwards compatibility, however, the second signature is supported, " "following a convention from older versions of Python. The *type* argument " @@ -930,7 +931,7 @@ msgid "" "*value* may be cleared." msgstr "" -#: reference/expressions.rst:585 +#: reference/expressions.rst:587 msgid "" "Raises a :exc:`GeneratorExit` at the point where the generator function was " "paused. If the generator function then exits gracefully, is already closed, " @@ -948,11 +949,11 @@ msgstr "" "est propagée à l'appelant. La méthode :meth:`close` ne fait rien si le " "générateur a déjà terminé en raison d'une exception ou d'une fin normale." -#: reference/expressions.rst:596 +#: reference/expressions.rst:598 msgid "Examples" msgstr "Exemples" -#: reference/expressions.rst:598 +#: reference/expressions.rst:600 msgid "" "Here is a simple example that demonstrates the behavior of generators and " "generator functions::" @@ -960,7 +961,7 @@ msgstr "" "Voici un exemple simple qui montre le comportement des générateurs et des " "fonctions génératrices ::" -#: reference/expressions.rst:625 +#: reference/expressions.rst:627 msgid "" "For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " "Python.\"" @@ -968,11 +969,11 @@ msgstr "" "Pour des exemples d'utilisation de ``yield from``, lisez la :ref:`pep-380` " "dans « Les nouveautés de Python »." -#: reference/expressions.rst:631 +#: reference/expressions.rst:633 msgid "Asynchronous generator functions" msgstr "Fonctions génératrices asynchrones" -#: reference/expressions.rst:633 +#: reference/expressions.rst:635 msgid "" "The presence of a yield expression in a function or method defined using :" "keyword:`async def` further defines the function as an :term:`asynchronous " @@ -982,7 +983,7 @@ msgstr "" "définie en utilisant :keyword:`async def` transforme cette fonction en " "fonction :term:`générateur asynchrone `." -#: reference/expressions.rst:637 +#: reference/expressions.rst:639 msgid "" "When an asynchronous generator function is called, it returns an " "asynchronous iterator known as an asynchronous generator object. That object " @@ -998,7 +999,7 @@ msgstr "" "à l'intérieur d'une fonction coroutine de la même manière qu'un objet " "générateur serait utilisé dans une instruction :keyword:`for`." -#: reference/expressions.rst:644 +#: reference/expressions.rst:646 msgid "" "Calling one of the asynchronous generator's methods returns an :term:" "`awaitable` object, and the execution starts when this object is awaited on. " @@ -1033,7 +1034,7 @@ msgstr "" "alors le résultat est :const:`None`. Sinon, si c'est :meth:`~agen.asend` qui " "a été utilisée, alors le résultat est la valeur transmise à cette méthode." -#: reference/expressions.rst:659 +#: reference/expressions.rst:661 msgid "" "If an asynchronous generator happens to exit early by :keyword:`break`, the " "caller task being cancelled, or other exceptions, the generator's async " @@ -1055,7 +1056,7 @@ msgstr "" "appelant la méthode :meth:`~agen.aclose` pour « finaliser » le générateur et " "le détacher de la boucle d'événements." -#: reference/expressions.rst:669 +#: reference/expressions.rst:671 msgid "" "In an asynchronous generator function, yield expressions are allowed " "anywhere in a :keyword:`try` construct. However, if an asynchronous " @@ -1080,7 +1081,7 @@ msgstr "" "générateur asynchrone et d'exécuter l'objet coroutine résultant, permettant " "ainsi à toute clause :keyword:`!finally` en attente d'être exécutée." -#: reference/expressions.rst:680 +#: reference/expressions.rst:682 #, fuzzy msgid "" "To take care of finalization upon event loop termination, an event loop " @@ -1103,7 +1104,7 @@ msgstr "" "*finalizer*, regardez l'implémentation de ``asyncio.Loop." "shutdown_asyncgens`` dans :source:`Lib/asyncio/base_events.py`." -#: reference/expressions.rst:689 +#: reference/expressions.rst:691 msgid "" "The expression ``yield from `` is a syntax error when used in an " "asynchronous generator function." @@ -1111,11 +1112,11 @@ msgstr "" "L'expression ``yield from `` produit une erreur de syntaxe quand elle " "est utilisée dans une fonction génératrice asynchrone." -#: reference/expressions.rst:696 +#: reference/expressions.rst:698 msgid "Asynchronous generator-iterator methods" msgstr "Méthodes des générateurs-itérateurs asynchrones" -#: reference/expressions.rst:698 +#: reference/expressions.rst:700 msgid "" "This subsection describes the methods of an asynchronous generator iterator, " "which are used to control the execution of a generator function." @@ -1124,7 +1125,7 @@ msgstr "" "asynchrones. Elles sont utilisées pour contrôler l’exécution des fonctions " "génératrices." -#: reference/expressions.rst:706 +#: reference/expressions.rst:708 msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1150,14 +1151,14 @@ msgstr "" "le *awaitable* lève une exception :exc:`StopAsyncIteration` qui signale que " "l'itération asynchrone est terminée." -#: reference/expressions.rst:718 +#: reference/expressions.rst:720 msgid "" "This method is normally called implicitly by a :keyword:`async for` loop." msgstr "" "Cette méthode est normalement appelée implicitement par une boucle :keyword:" "`async for`." -#: reference/expressions.rst:723 +#: reference/expressions.rst:725 msgid "" "Returns an awaitable which when run resumes the execution of the " "asynchronous generator. As with the :meth:`~generator.send()` method for a " @@ -1182,7 +1183,7 @@ msgstr "" "appelée pour démarrer le générateur asynchrone, l'argument doit être :const:" "`None` car il n'y a pas d'expression ``yield`` pour recevoir la valeur." -#: reference/expressions.rst:738 +#: reference/expressions.rst:740 msgid "" "Returns an awaitable that raises an exception of type ``type`` at the point " "where the asynchronous generator was paused, and returns the next value " @@ -1202,7 +1203,7 @@ msgstr "" "l'exception reçue ou lève une autre exception alors, quand le *awaitable* " "est lancé, cette exception est propagée vers l'appelant du *awaitable*." -#: reference/expressions.rst:753 +#: reference/expressions.rst:755 msgid "" "Returns an awaitable that when run will throw a :exc:`GeneratorExit` into " "the asynchronous generator function at the point where it was paused. If the " @@ -1230,11 +1231,11 @@ msgstr "" "déjà terminé (soit par une exception, soit normalement), alors tout nouvel " "appel à :meth:`aclose` renvoie un *awaitable* qui ne fait rien." -#: reference/expressions.rst:769 +#: reference/expressions.rst:771 msgid "Primaries" msgstr "Primaires" -#: reference/expressions.rst:773 +#: reference/expressions.rst:775 msgid "" "Primaries represent the most tightly bound operations of the language. Their " "syntax is:" @@ -1243,17 +1244,17 @@ msgstr "" "les opérations qui se lient au plus proche dans le langage. Leur syntaxe " "est :" -#: reference/expressions.rst:783 +#: reference/expressions.rst:785 msgid "Attribute references" msgstr "Références à des attributs" -#: reference/expressions.rst:789 +#: reference/expressions.rst:791 msgid "An attribute reference is a primary followed by a period and a name:" msgstr "" "Une référence à un attribut (*attributeref* dans la grammaire formelle ci-" "dessous) est une primaire suivie par un point et un nom :" -#: reference/expressions.rst:799 +#: reference/expressions.rst:801 msgid "" "The primary must evaluate to an object of a type that supports attribute " "references, which most objects do. This object is then asked to produce the " @@ -1272,11 +1273,11 @@ msgstr "" "l'objet. Plusieurs évaluations successives d'une référence à un même " "attribut peuvent produire différents objets." -#: reference/expressions.rst:811 +#: reference/expressions.rst:813 msgid "Subscriptions" msgstr "Sélections" -#: reference/expressions.rst:826 +#: reference/expressions.rst:828 msgid "" "The subscription of an instance of a :ref:`container class ` " "will generally select an element from the container. The subscription of a :" @@ -1288,7 +1289,7 @@ msgstr "" "`classe générique ` renvoie généralement un objet :ref:" "`GenericAlias `." -#: reference/expressions.rst:834 +#: reference/expressions.rst:836 msgid "" "When an object is subscripted, the interpreter will evaluate the primary and " "the expression list." @@ -1296,7 +1297,7 @@ msgstr "" "Lorsqu'on accède à l'indice d'un objet, l'interpréteur évalue la primaire et " "la liste d'expressions." -#: reference/expressions.rst:837 +#: reference/expressions.rst:839 msgid "" "The primary must evaluate to an object that supports subscription. An object " "may support subscription through defining one or both of :meth:`~object." @@ -1313,7 +1314,7 @@ msgstr "" "sur le choix de ``__class_getitem__`` ou ``__getitem__`` pour l'appel, " "lisez :ref:`classgetitem-versus-getitem`." -#: reference/expressions.rst:844 +#: reference/expressions.rst:846 msgid "" "If the expression list contains at least one comma, it will evaluate to a :" "class:`tuple` containing the items of the expression list. Otherwise, the " @@ -1324,7 +1325,7 @@ msgstr "" "d'expressions. Sinon, la liste d'expressions est évaluée à la valeur du seul " "membre de la liste." -#: reference/expressions.rst:848 +#: reference/expressions.rst:850 msgid "" "For built-in objects, there are two types of objects that support " "subscription via :meth:`~object.__getitem__`:" @@ -1332,7 +1333,7 @@ msgstr "" "Pour les objets natifs, deux types d'objets gèrent la sélection *via* :meth:" "`~object.__getitem__` :" -#: reference/expressions.rst:851 +#: reference/expressions.rst:853 msgid "" "Mappings. If the primary is a :term:`mapping`, the expression list must " "evaluate to an object whose value is one of the keys of the mapping, and the " @@ -1346,7 +1347,7 @@ msgstr "" "à cette clé. Un exemple de classe implémentant le concept de tableau de " "correspondances est la classe :class:`dict`." -#: reference/expressions.rst:855 +#: reference/expressions.rst:857 msgid "" "Sequences. If the primary is a :term:`sequence`, the expression list must " "evaluate to an :class:`int` or a :class:`slice` (as discussed in the " @@ -1360,7 +1361,7 @@ msgstr "" "de séquence sont les :class:`chaînes `, :class:`listes ` et les :" "class:`n-uplets `." -#: reference/expressions.rst:860 +#: reference/expressions.rst:862 msgid "" "The formal syntax makes no special provision for negative indices in :term:" "`sequences `. However, built-in sequences all provide a :meth:" @@ -1385,7 +1386,7 @@ msgstr "" "classes qui surchargent cette méthode doivent aussi savoir les gérer, de " "manière explicite." -#: reference/expressions.rst:874 +#: reference/expressions.rst:876 msgid "" "A :class:`string ` is a special kind of sequence whose items are " "*characters*. A character is not a separate data type but a string of " @@ -1395,11 +1396,11 @@ msgstr "" "éléments sont des *caractères*. Un caractère n'est pas un type en tant que " "tel, c'est une chaîne de longueur un." -#: reference/expressions.rst:882 +#: reference/expressions.rst:884 msgid "Slicings" msgstr "Tranches" -#: reference/expressions.rst:896 +#: reference/expressions.rst:898 msgid "" "A slicing selects a range of items in a sequence object (e.g., a string, " "tuple or list). Slicings may be used as expressions or as targets in " @@ -1412,7 +1413,7 @@ msgstr "" "les assignations ou les instructions :keyword:`del`. La syntaxe est la " "suivante :" -#: reference/expressions.rst:909 +#: reference/expressions.rst:911 msgid "" "There is ambiguity in the formal syntax here: anything that looks like an " "expression list also looks like a slice list, so any subscription can be " @@ -1431,7 +1432,7 @@ msgstr "" "que tranche (c'est le cas si la liste de tranches (*slice_list*) ne contient " "aucune tranche en tant que telle)." -#: reference/expressions.rst:921 +#: reference/expressions.rst:923 msgid "" "The semantics for a slicing are as follows. The primary is indexed (using " "the same :meth:`__getitem__` method as normal subscription) with a key that " @@ -1460,11 +1461,11 @@ msgstr "" "la grammaire) et le pas (*stride* dans la grammaire), respectivement. En cas " "d'expression manquante, la valeur par défaut est ``None``." -#: reference/expressions.rst:945 +#: reference/expressions.rst:947 msgid "Calls" msgstr "Appels" -#: reference/expressions.rst:947 +#: reference/expressions.rst:949 msgid "" "A call calls a callable object (e.g., a :term:`function`) with a possibly " "empty series of :term:`arguments `:" @@ -1473,7 +1474,7 @@ msgstr "" "(par exemple, une :term:`fonction `) avec, possiblement, une liste " "d'\\ :term:`arguments ` :" -#: reference/expressions.rst:964 +#: reference/expressions.rst:966 msgid "" "An optional trailing comma may be present after the positional and keyword " "arguments but does not affect the semantics." @@ -1481,7 +1482,7 @@ msgstr "" "Une virgule finale (optionnelle) peut être présente, après les arguments " "positionnels et nommés, mais elle n'affecte pas la sémantique." -#: reference/expressions.rst:970 +#: reference/expressions.rst:972 msgid "" "The primary must evaluate to a callable object (user-defined functions, " "built-in functions, methods of built-in objects, class objects, methods of " @@ -1498,7 +1499,7 @@ msgstr "" "section :ref:`function` pour la syntaxe des listes de :term:`paramètres " "` formels." -#: reference/expressions.rst:978 +#: reference/expressions.rst:980 msgid "" "If keyword arguments are present, they are first converted to positional " "arguments, as follows. First, a list of unfilled slots is created for the " @@ -1539,7 +1540,7 @@ msgstr "" "n'est définie, une exception :exc:`TypeError` est levée. Sinon, la liste des " "*slots* remplie est utilisée en tant que liste des arguments pour l'appel." -#: reference/expressions.rst:998 +#: reference/expressions.rst:1000 msgid "" "An implementation may provide built-in functions whose positional parameters " "do not have names, even if they are 'named' for the purpose of " @@ -1553,7 +1554,7 @@ msgstr "" "CPython, les fonctions implémentées en C qui utilisent :c:func:" "`PyArg_ParseTuple` pour analyser leurs arguments en font partie." -#: reference/expressions.rst:1004 +#: reference/expressions.rst:1006 msgid "" "If there are more positional arguments than there are formal parameter " "slots, a :exc:`TypeError` exception is raised, unless a formal parameter " @@ -1567,7 +1568,7 @@ msgstr "" "reçoit un *n*-uplet contenant les arguments positionnels en supplément (ou " "un *n*-uplet vide s'il n'y avait pas d'argument positionnel en trop)." -#: reference/expressions.rst:1010 +#: reference/expressions.rst:1012 msgid "" "If any keyword argument does not correspond to a formal parameter name, a :" "exc:`TypeError` exception is raised, unless a formal parameter using the " @@ -1584,7 +1585,7 @@ msgstr "" "dictionnaire), ou un (nouveau) dictionnaire vide s'il n'y a pas d'argument " "par mot-clé en trop." -#: reference/expressions.rst:1021 +#: reference/expressions.rst:1023 msgid "" "If the syntax ``*expression`` appears in the function call, ``expression`` " "must evaluate to an :term:`iterable`. Elements from these iterables are " @@ -1600,7 +1601,7 @@ msgstr "" "s'évalue comme une séquence *y1* … *yM*, c'est équivalent à un appel avec " "M+4 arguments positionnels *x1*, *x2*, *y1* … *yM*, *x3*, *x4*." -#: reference/expressions.rst:1028 +#: reference/expressions.rst:1030 msgid "" "A consequence of this is that although the ``*expression`` syntax may appear " "*after* explicit keyword arguments, it is processed *before* the keyword " @@ -1611,7 +1612,7 @@ msgstr "" "*avant* les arguments nommés (et avant tout argument ``**expression`` -- " "voir ci-dessous). Ainsi ::" -#: reference/expressions.rst:1044 +#: reference/expressions.rst:1046 msgid "" "It is unusual for both keyword arguments and the ``*expression`` syntax to " "be used in the same call, so in practice this confusion does not arise." @@ -1620,7 +1621,7 @@ msgstr "" "``*expression`` soient utilisés simultanément dans un même appel, ce qui " "fait que la confusion reste hypothétique." -#: reference/expressions.rst:1050 +#: reference/expressions.rst:1052 #, fuzzy msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " @@ -1636,7 +1637,7 @@ msgstr "" "qu'argument par mot-clé explicite, ou venant d'un autre dépaquetage), une " "exception :exc:`TypeError` est levée." -#: reference/expressions.rst:1056 +#: reference/expressions.rst:1058 msgid "" "When ``**expression`` is used, each key in this mapping must be a string. " "Each value from the mapping is assigned to the first formal parameter " @@ -1648,7 +1649,7 @@ msgid "" "is raised." msgstr "" -#: reference/expressions.rst:1066 +#: reference/expressions.rst:1068 msgid "" "Formal parameters using the syntax ``*identifier`` or ``**identifier`` " "cannot be used as positional argument slots or as keyword argument names." @@ -1657,7 +1658,7 @@ msgstr "" "``**identifier`` ne peuvent pas être utilisés comme arguments positionnels " "ou comme noms d'arguments par mots-clés." -#: reference/expressions.rst:1069 +#: reference/expressions.rst:1071 msgid "" "Function calls accept any number of ``*`` and ``**`` unpackings, positional " "arguments may follow iterable unpackings (``*``), and keyword arguments may " @@ -1669,7 +1670,7 @@ msgstr "" "dépaquetages de dictionnaires (``**``). Proposé pour la première fois par " "la :pep:`448`." -#: reference/expressions.rst:1075 +#: reference/expressions.rst:1077 msgid "" "A call always returns some value, possibly ``None``, unless it raises an " "exception. How this value is computed depends on the type of the callable " @@ -1679,15 +1680,15 @@ msgstr "" "ne lève une exception. La façon dont celle valeur est calculée dépend du " "type de l'objet appelable." -#: reference/expressions.rst:1079 +#: reference/expressions.rst:1081 msgid "If it is---" msgstr "Si c'est ---" -#: reference/expressions.rst:1092 +#: reference/expressions.rst:1094 msgid "a user-defined function:" msgstr "une fonction définie par l'utilisateur :" -#: reference/expressions.rst:1088 +#: reference/expressions.rst:1090 msgid "" "The code block for the function is executed, passing it the argument list. " "The first thing the code block will do is bind the formal parameters to the " @@ -1701,11 +1702,11 @@ msgstr "" "`function`. Quand le bloc de code exécute l'instruction :keyword:`return`, " "cela spécifie la valeur de retour de l'appel de la fonction." -#: reference/expressions.rst:1106 +#: reference/expressions.rst:1108 msgid "a built-in function or method:" msgstr "une fonction ou une méthode native :" -#: reference/expressions.rst:1105 +#: reference/expressions.rst:1107 msgid "" "The result is up to the interpreter; see :ref:`built-in-funcs` for the " "descriptions of built-in functions and methods." @@ -1713,19 +1714,19 @@ msgstr "" "le résultat dépend de l'interpréteur ; lisez :ref:`built-in-funcs` pour une " "description des fonctions et méthodes natives." -#: reference/expressions.rst:1113 +#: reference/expressions.rst:1115 msgid "a class object:" msgstr "un objet classe :" -#: reference/expressions.rst:1113 +#: reference/expressions.rst:1115 msgid "A new instance of that class is returned." msgstr "une nouvelle instance de cette classe est renvoyée." -#: reference/expressions.rst:1123 +#: reference/expressions.rst:1125 msgid "a class instance method:" msgstr "une méthode d'instance de classe :" -#: reference/expressions.rst:1121 +#: reference/expressions.rst:1123 msgid "" "The corresponding user-defined function is called, with an argument list " "that is one longer than the argument list of the call: the instance becomes " @@ -1735,11 +1736,11 @@ msgstr "" "liste d'arguments qui est plus grande d'un élément que la liste des " "arguments de l'appel : l'instance est placée en tête des arguments." -#: reference/expressions.rst:1132 +#: reference/expressions.rst:1134 msgid "a class instance:" msgstr "une instance de classe :" -#: reference/expressions.rst:1130 +#: reference/expressions.rst:1132 msgid "" "The class must define a :meth:`__call__` method; the effect is then the same " "as if that method was called." @@ -1747,11 +1748,11 @@ msgstr "" "la classe doit définir une méthode :meth:`__call__` ; l'effet est le même " "que si cette méthode était appelée." -#: reference/expressions.rst:1917 +#: reference/expressions.rst:1919 msgid "Await expression" msgstr "Expression ``await``" -#: reference/expressions.rst:1140 +#: reference/expressions.rst:1142 msgid "" "Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " "Can only be used inside a :term:`coroutine function`." @@ -1759,11 +1760,11 @@ msgstr "" "Suspend l'exécution de la :term:`coroutine` sur un objet :term:`awaitable`. " "Ne peut être utilisée qu'à l'intérieur d'une :term:`coroutine function`." -#: reference/expressions.rst:1152 +#: reference/expressions.rst:1154 msgid "The power operator" msgstr "L'opérateur puissance" -#: reference/expressions.rst:1158 +#: reference/expressions.rst:1160 msgid "" "The power operator binds more tightly than unary operators on its left; it " "binds less tightly than unary operators on its right. The syntax is:" @@ -1772,7 +1773,7 @@ msgstr "" "gauche ; il est moins prioritaire que les opérateurs unaires sur sa droite. " "La syntaxe est :" -#: reference/expressions.rst:1164 +#: reference/expressions.rst:1166 msgid "" "Thus, in an unparenthesized sequence of power and unary operators, the " "operators are evaluated from right to left (this does not constrain the " @@ -1782,7 +1783,7 @@ msgstr "" "unaires, les opérateurs sont évalués de droite à gauche (ceci ne contraint " "pas l'ordre d'évaluation des opérandes) : ``-1**2`` donne ``-1``." -#: reference/expressions.rst:1168 +#: reference/expressions.rst:1170 msgid "" "The power operator has the same semantics as the built-in :func:`pow` " "function, when called with two arguments: it yields its left argument raised " @@ -1795,7 +1796,7 @@ msgstr "" "arguments numériques sont d'abord convertis vers un type commun et le " "résultat est de ce type." -#: reference/expressions.rst:1173 +#: reference/expressions.rst:1175 msgid "" "For int operands, the result has the same type as the operands unless the " "second argument is negative; in that case, all arguments are converted to " @@ -1808,7 +1809,7 @@ msgstr "" "virgule flottante. Par exemple, ``10**2`` renvoie ``100`` mais ``10**-2`` " "renvoie ``0.01``." -#: reference/expressions.rst:1178 +#: reference/expressions.rst:1180 msgid "" "Raising ``0.0`` to a negative power results in a :exc:`ZeroDivisionError`. " "Raising a negative number to a fractional power results in a :class:" @@ -1819,24 +1820,24 @@ msgstr "" "renvoie un nombre :class:`complexe ` (dans les versions " "antérieures, cela levait une :exc:`ValueError`)." -#: reference/expressions.rst:1182 +#: reference/expressions.rst:1184 msgid "" "This operation can be customized using the special :meth:`__pow__` method." msgstr "" "La méthode spéciale qui permet de surcharger cet opérateur est :meth:" "`__pow__`." -#: reference/expressions.rst:1187 +#: reference/expressions.rst:1189 msgid "Unary arithmetic and bitwise operations" msgstr "Arithmétique unaire et opérations sur les bits" -#: reference/expressions.rst:1193 +#: reference/expressions.rst:1195 msgid "All unary arithmetic and bitwise operations have the same priority:" msgstr "" "Toute l'arithmétique unaire et les opérations sur les bits ont la même " "priorité :" -#: reference/expressions.rst:1204 +#: reference/expressions.rst:1206 msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric " "argument; the operation can be overridden with the :meth:`__neg__` special " @@ -1845,7 +1846,7 @@ msgstr "" "L'opérateur unaire ``-`` (moins) produit l'opposé de son argument numérique " "(la méthode spéciale qui le surcharge est :meth:`__neg__`) ;" -#: reference/expressions.rst:1212 +#: reference/expressions.rst:1214 msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " "operation can be overridden with the :meth:`__pos__` special method." @@ -1853,7 +1854,7 @@ msgstr "" "L'opérateur unaire ``+`` (plus) produit son argument numérique inchangé " "(surcharge par la méthode :meth:`__pos__`) ;" -#: reference/expressions.rst:1219 +#: reference/expressions.rst:1221 msgid "" "The unary ``~`` (invert) operator yields the bitwise inversion of its " "integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " @@ -1865,7 +1866,7 @@ msgstr "" "(x+1)``. Elle ne s'applique qu'aux nombres entiers et aux objets allogènes " "qui surchargent la méthode spéciale :meth:`__invert__`." -#: reference/expressions.rst:1228 +#: reference/expressions.rst:1230 msgid "" "In all three cases, if the argument does not have the proper type, a :exc:" "`TypeError` exception is raised." @@ -1873,11 +1874,11 @@ msgstr "" "Dans ces trois cas, si l'argument n'est pas du bon type, une exception :exc:" "`TypeError` est levée." -#: reference/expressions.rst:1235 +#: reference/expressions.rst:1237 msgid "Binary arithmetic operations" msgstr "Opérations arithmétiques binaires" -#: reference/expressions.rst:1239 +#: reference/expressions.rst:1241 msgid "" "The binary arithmetic operations have the conventional priority levels. " "Note that some of these operations also apply to certain non-numeric types. " @@ -1890,7 +1891,7 @@ msgstr "" "niveaux, le premier pour les opérateurs multiplicatifs et le second pour les " "opérateurs additifs :" -#: reference/expressions.rst:1254 +#: reference/expressions.rst:1256 msgid "" "The ``*`` (multiplication) operator yields the product of its arguments. " "The arguments must either both be numbers, or one argument must be an " @@ -1906,7 +1907,7 @@ msgstr "" "Dans le dernier cas, la séquence est répétée ; une répétition négative " "produit une séquence vide." -#: reference/expressions.rst:1260 +#: reference/expressions.rst:1262 msgid "" "This operation can be customized using the special :meth:`__mul__` and :meth:" "`__rmul__` methods." @@ -1914,7 +1915,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger cet opérateur sont :meth:" "`__mul__` et :meth:`__rmul__`." -#: reference/expressions.rst:1267 +#: reference/expressions.rst:1269 msgid "" "The ``@`` (at) operator is intended to be used for matrix multiplication. " "No builtin Python types implement this operator." @@ -1922,7 +1923,7 @@ msgstr "" "L'opérateur ``@`` (prononcé *at* en anglais) a vocation à multiplier des " "matrices. Aucun type Python natif n'implémente cet opérateur." -#: reference/expressions.rst:1278 +#: reference/expressions.rst:1280 msgid "" "The ``/`` (division) and ``//`` (floor division) operators yield the " "quotient of their arguments. The numeric arguments are first converted to a " @@ -1939,7 +1940,7 @@ msgstr "" "mathématique suivie de la fonction ``floor`` appliquée au résultat. Une " "division par zéro lève une exception :exc:`ZeroDivisionError`." -#: reference/expressions.rst:1285 +#: reference/expressions.rst:1287 msgid "" "This operation can be customized using the special :meth:`__truediv__` and :" "meth:`__floordiv__` methods." @@ -1947,7 +1948,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger ces opérations sont :" "meth:`__truediv__` et :meth:`__floordiv__`." -#: reference/expressions.rst:1292 +#: reference/expressions.rst:1294 msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " "first argument by the second. The numeric arguments are first converted to " @@ -1967,7 +1968,7 @@ msgstr "" "même signe que le second opérande (ou zéro) ; la valeur absolue du résultat " "est strictement inférieure à la valeur absolue du second opérande [#]_." -#: reference/expressions.rst:1301 +#: reference/expressions.rst:1303 msgid "" "The floor division and modulo operators are connected by the following " "identity: ``x == (x//y)*y + (x%y)``. Floor division and modulo are also " @@ -1979,7 +1980,7 @@ msgstr "" "aussi liés à la fonction native :func:`divmod` : ``divmod(x, y) == (x//y, " "x%y)`` [#]_." -#: reference/expressions.rst:1306 +#: reference/expressions.rst:1308 msgid "" "In addition to performing the modulo operation on numbers, the ``%`` " "operator is also overloaded by string objects to perform old-style string " @@ -1993,7 +1994,7 @@ msgstr "" "décrit dans la référence de la bibliothèque Python, dans la section :ref:" "`old-string-formatting`." -#: reference/expressions.rst:1311 +#: reference/expressions.rst:1313 msgid "" "The *modulo* operation can be customized using the special :meth:`__mod__` " "method." @@ -2001,7 +2002,7 @@ msgstr "" "La méthode spéciale qui permet de surcharger cette opération est :meth:" "`__mod__`." -#: reference/expressions.rst:1313 +#: reference/expressions.rst:1315 msgid "" "The floor division operator, the modulo operator, and the :func:`divmod` " "function are not defined for complex numbers. Instead, convert to a " @@ -2012,7 +2013,7 @@ msgstr "" "pouvez, si cela a du sens pour ce que vous voulez faire, les convertir vers " "des nombres à virgule flottante en utilisant la fonction :func:`abs`." -#: reference/expressions.rst:1322 +#: reference/expressions.rst:1324 msgid "" "The ``+`` (addition) operator yields the sum of its arguments. The " "arguments must either both be numbers or both be sequences of the same " @@ -2025,7 +2026,7 @@ msgstr "" "puis sont additionnés entre eux. Dans le dernier cas, les séquences sont " "concaténées." -#: reference/expressions.rst:1327 +#: reference/expressions.rst:1329 msgid "" "This operation can be customized using the special :meth:`__add__` and :meth:" "`__radd__` methods." @@ -2033,7 +2034,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger cette opération sont :" "meth:`__add__` et :meth:`__radd__`." -#: reference/expressions.rst:1335 +#: reference/expressions.rst:1337 msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." @@ -2041,25 +2042,25 @@ msgstr "" "L'opérateur ``-`` (soustraction) produit la différence entre ses arguments. " "Les arguments numériques sont d'abord convertis vers un type commun." -#: reference/expressions.rst:1338 +#: reference/expressions.rst:1340 msgid "" "This operation can be customized using the special :meth:`__sub__` method." msgstr "" "La méthode spéciale qui permet de surcharger cette opération est :meth:" "`__sub__`." -#: reference/expressions.rst:1344 +#: reference/expressions.rst:1346 msgid "Shifting operations" msgstr "Opérations de décalage" -#: reference/expressions.rst:1351 +#: reference/expressions.rst:1353 msgid "" "The shifting operations have lower priority than the arithmetic operations:" msgstr "" "Les opérations de décalage sont moins prioritaires que les opérations " "arithmétiques :" -#: reference/expressions.rst:1356 +#: reference/expressions.rst:1358 msgid "" "These operators accept integers as arguments. They shift the first argument " "to the left or right by the number of bits given by the second argument." @@ -2068,7 +2069,7 @@ msgstr "" "argument vers la gauche ou vers la droite du nombre de bits donné par le " "deuxième argument." -#: reference/expressions.rst:1359 +#: reference/expressions.rst:1361 msgid "" "This operation can be customized using the special :meth:`__lshift__` and :" "meth:`__rshift__` methods." @@ -2076,7 +2077,7 @@ msgstr "" "Les méthodes spéciales qui permettent de surcharger ces opérations sont :" "meth:`__lshift__` et :meth:`__rshift__`." -#: reference/expressions.rst:1364 +#: reference/expressions.rst:1366 msgid "" "A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " "left shift by *n* bits is defined as multiplication with ``pow(2,n)``." @@ -2085,17 +2086,17 @@ msgstr "" "``pow(2,n)``. Un décalage à gauche de *n* bits est défini comme la " "multiplication par ``pow(2,n)``." -#: reference/expressions.rst:1371 +#: reference/expressions.rst:1373 msgid "Binary bitwise operations" msgstr "Opérations binaires bit à bit" -#: reference/expressions.rst:1375 +#: reference/expressions.rst:1377 msgid "Each of the three bitwise operations has a different priority level:" msgstr "" "Chacune des trois opérations binaires bit à bit possède une priorité " "différente :" -#: reference/expressions.rst:1386 +#: reference/expressions.rst:1388 msgid "" "The ``&`` operator yields the bitwise AND of its arguments, which must be " "integers or one of them must be a custom object overriding :meth:`__and__` " @@ -2105,7 +2106,7 @@ msgstr "" "des entiers, sauf si celui de gauche surcharge la méthode spéciale :meth:" "`__and__`, ou celui de droite la méthode :meth:`__rand__`." -#: reference/expressions.rst:1395 +#: reference/expressions.rst:1397 msgid "" "The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " "which must be integers or one of them must be a custom object overriding :" @@ -2115,7 +2116,7 @@ msgstr "" "doivent être des entiers, sauf à surcharger :meth:`__xor__` ou :meth:" "`__rxor__`." -#: reference/expressions.rst:1404 +#: reference/expressions.rst:1406 msgid "" "The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " "must be integers or one of them must be a custom object overriding :meth:" @@ -2124,11 +2125,11 @@ msgstr "" "L'opérateur ``|`` produit le OU logique de ses arguments. Ils doivent être " "des entiers, sauf à surcharger :meth:`__or__` ou :meth:`__ror__`." -#: reference/expressions.rst:1412 +#: reference/expressions.rst:1414 msgid "Comparisons" msgstr "Comparaisons" -#: reference/expressions.rst:1424 +#: reference/expressions.rst:1426 msgid "" "Unlike C, all comparison operations in Python have the same priority, which " "is lower than that of any arithmetic, shifting or bitwise operation. Also " @@ -2141,7 +2142,7 @@ msgstr "" "les expressions telles que ``a < b < c`` sont interprétées comme elles le " "seraient conventionnellement en mathématiques :" -#: reference/expressions.rst:1434 +#: reference/expressions.rst:1436 msgid "" "Comparisons yield boolean values: ``True`` or ``False``. Custom :dfn:`rich " "comparison methods` may return non-boolean values. In this case Python will " @@ -2153,7 +2154,7 @@ msgstr "" "la comparaison est converti en booléen avec :func:`bool` dans les contextes " "qui attendent un booléen." -#: reference/expressions.rst:1440 +#: reference/expressions.rst:1442 msgid "" "Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent " "to ``x < y and y <= z``, except that ``y`` is evaluated only once (but in " @@ -2165,7 +2166,7 @@ msgstr "" "seulement une fois (mais dans les deux cas, ``z`` n'est pas évalué du tout " "si ``x < y`` s'avère être faux)." -#: reference/expressions.rst:1444 +#: reference/expressions.rst:1446 msgid "" "Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, " "*op2*, ..., *opN* are comparison operators, then ``a op1 b op2 c ... y opN " @@ -2177,7 +2178,7 @@ msgstr "" "opN z`` est équivalent à ``a op1 b and b op2 c and … y opN z``, sauf que " "chaque expression est évaluée au maximum une fois." -#: reference/expressions.rst:1449 +#: reference/expressions.rst:1451 msgid "" "Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a* " "and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not " @@ -2187,11 +2188,11 @@ msgstr "" "Ainsi, par exemple, ``x < y > z`` est parfaitement légal (mais peut-être pas " "très élégant)." -#: reference/expressions.rst:1454 +#: reference/expressions.rst:1456 msgid "Value comparisons" msgstr "Comparaisons de valeurs" -#: reference/expressions.rst:1456 +#: reference/expressions.rst:1458 msgid "" "The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " "values of two objects. The objects do not need to have the same type." @@ -2199,7 +2200,7 @@ msgstr "" "Les opérateurs ``<``, ``>``, ``==``, ``>=``, ``<=`` et ``!=`` comparent les " "valeurs de deux objets. Les objets n'ont pas besoin d'être du même type." -#: reference/expressions.rst:1459 +#: reference/expressions.rst:1461 msgid "" "Chapter :ref:`objects` states that objects have a value (in addition to type " "and identity). The value of an object is a rather abstract notion in " @@ -2220,7 +2221,7 @@ msgstr "" "d'un objet. Vous pouvez vous le représenter comme une définition indirecte " "de la valeur d'un objet, *via* l'implémentation de leur comparaison." -#: reference/expressions.rst:1468 +#: reference/expressions.rst:1470 msgid "" "Because all types are (direct or indirect) subtypes of :class:`object`, they " "inherit the default comparison behavior from :class:`object`. Types can " @@ -2233,7 +2234,7 @@ msgstr "" "des comparaisons en implémentant des :dfn:`méthodes de comparaisons riches`, " "comme :meth:`__lt__`, décrites dans :ref:`customization`." -#: reference/expressions.rst:1474 +#: reference/expressions.rst:1476 msgid "" "The default behavior for equality comparison (``==`` and ``!=``) is based on " "the identity of the objects. Hence, equality comparison of instances with " @@ -2249,7 +2250,7 @@ msgstr "" "choix est que Python souhaite que tous les objets soient réflexifs, c'est-à-" "dire que ``x is y`` implique ``x == y``." -#: reference/expressions.rst:1481 +#: reference/expressions.rst:1483 msgid "" "A default order comparison (``<``, ``>``, ``<=``, and ``>=``) is not " "provided; an attempt raises :exc:`TypeError`. A motivation for this default " @@ -2259,7 +2260,7 @@ msgstr "" "défaut ; une tentative se solde par une :exc:`TypeError`. La raison de ce " "choix est qu'il n'existe pas d'invariant similaire à celui de l'égalité." -#: reference/expressions.rst:1485 +#: reference/expressions.rst:1487 msgid "" "The behavior of the default equality comparison, that instances with " "different identities are always unequal, may be in contrast to what types " @@ -2274,7 +2275,7 @@ msgstr "" "personnaliser leurs tests de comparaison et, en fait, c'est ce qu'ont fait " "un certain nombre de types natifs." -#: reference/expressions.rst:1491 +#: reference/expressions.rst:1493 msgid "" "The following list describes the comparison behavior of the most important " "built-in types." @@ -2282,7 +2283,7 @@ msgstr "" "La liste suivante décrit le comportement des tests d'égalité pour les types " "natifs les plus importants." -#: reference/expressions.rst:1494 +#: reference/expressions.rst:1496 msgid "" "Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " "library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " @@ -2299,7 +2300,7 @@ msgstr "" "des types concernés, la comparaison mathématique équivaut à la comparaison " "algorithmique, sans perte de précision." -#: reference/expressions.rst:1501 +#: reference/expressions.rst:1503 msgid "" "The not-a-number values ``float('NaN')`` and ``decimal.Decimal('NaN')`` are " "special. Any ordered comparison of a number to a not-a-number value is " @@ -2316,7 +2317,7 @@ msgstr "" "sont toutes fausses, mais l’expression ``x != x`` est vraie. Ce comportement " "est en accord avec IEEE 754." -#: reference/expressions.rst:1508 +#: reference/expressions.rst:1510 msgid "" "``None`` and ``NotImplemented`` are singletons. :PEP:`8` advises that " "comparisons for singletons should always be done with ``is`` or ``is not``, " @@ -2326,7 +2327,7 @@ msgstr "" "toujours comparer les singletons en utilisant soit ``is`` soit ``is not``, " "jamais les autres opérateurs." -#: reference/expressions.rst:1512 +#: reference/expressions.rst:1514 msgid "" "Binary sequences (instances of :class:`bytes` or :class:`bytearray`) can be " "compared within and across their types. They compare lexicographically " @@ -2337,7 +2338,7 @@ msgstr "" "La comparaison est lexicographique, en utilisant la valeur numérique des " "éléments." -#: reference/expressions.rst:1516 +#: reference/expressions.rst:1518 msgid "" "Strings (instances of :class:`str`) compare lexicographically using the " "numerical Unicode code points (the result of the built-in function :func:" @@ -2347,13 +2348,13 @@ msgstr "" "lexicographique en utilisant la valeur Unicode (le résultat de la fonction " "native :func:`ord`) des caractères [#]_." -#: reference/expressions.rst:1520 +#: reference/expressions.rst:1522 msgid "Strings and binary sequences cannot be directly compared." msgstr "" "Les chaînes de caractères et les séquences binaires ne peuvent pas être " "comparées directement." -#: reference/expressions.rst:1522 +#: reference/expressions.rst:1524 msgid "" "Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " "can be compared only within each of their types, with the restriction that " @@ -2367,7 +2368,7 @@ msgstr "" "d'égalité entre ces types renvoie faux et une comparaison entre instances de " "types différents lève une :exc:`TypeError`." -#: reference/expressions.rst:1528 +#: reference/expressions.rst:1530 msgid "" "Sequences compare lexicographically using comparison of corresponding " "elements. The built-in containers typically assume identical objects are " @@ -2380,13 +2381,13 @@ msgstr "" "d’égalité pour des objets identiques afin d’améliorer les performances et de " "conserver leurs invariants internes." -#: reference/expressions.rst:1533 +#: reference/expressions.rst:1535 msgid "" "Lexicographical comparison between built-in collections works as follows:" msgstr "" "L'ordre lexicographique pour les collections natives fonctionne comme suit :" -#: reference/expressions.rst:1535 +#: reference/expressions.rst:1537 msgid "" "For two collections to compare equal, they must be of the same type, have " "the same length, and each pair of corresponding elements must compare equal " @@ -2396,7 +2397,7 @@ msgstr "" "longueur et si les éléments correspondants de chaque paire sont égaux. Par " "exemple, ``[1,2] == (1,2)`` est faux car les types sont différents." -#: reference/expressions.rst:1540 +#: reference/expressions.rst:1542 msgid "" "Collections that support order comparison are ordered the same as their " "first unequal elements (for example, ``[1,2,x] <= [1,2,y]`` has the same " @@ -2410,7 +2411,7 @@ msgstr "" "collection la plus courte est la plus petite (par exemple, ``[1,2] < " "[1,2,3]`` est vrai)." -#: reference/expressions.rst:1546 +#: reference/expressions.rst:1548 #, fuzzy msgid "" "Mappings (instances of :class:`dict`) compare equal if and only if they have " @@ -2421,13 +2422,13 @@ msgstr "" "et seulement si toutes leurs paires ``(clé, valeur)`` sont égales. " "L'égalité des clés et des valeurs met en œuvre la réflexivité." -#: reference/expressions.rst:1550 +#: reference/expressions.rst:1552 msgid "" "Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." msgstr "" "Les comparaisons (``<``, ``>``, ``<=`` et ``>=``) lèvent :exc:`TypeError`." -#: reference/expressions.rst:1552 +#: reference/expressions.rst:1554 msgid "" "Sets (instances of :class:`set` or :class:`frozenset`) can be compared " "within and across their types." @@ -2435,7 +2436,7 @@ msgstr "" "Les ensembles (instances de :class:`set` ou :class:`frozenset`) peuvent être " "comparés au sein de leur propre type et entre types différents." -#: reference/expressions.rst:1555 +#: reference/expressions.rst:1557 msgid "" "They define order comparison operators to mean subset and superset tests. " "Those relations do not define total orderings (for example, the two sets " @@ -2453,11 +2454,11 @@ msgstr "" "exemple, les fonctions :func:`min`, :func:`max` et :func:`sorted` produisent " "des résultats indéfinis si on leur donne des listes d'ensembles en entrée)." -#: reference/expressions.rst:1563 +#: reference/expressions.rst:1565 msgid "Comparison of sets enforces reflexivity of its elements." msgstr "La comparaison des ensembles met en œuvre la réflexivité des éléments." -#: reference/expressions.rst:1565 +#: reference/expressions.rst:1567 msgid "" "Most other built-in types have no comparison methods implemented, so they " "inherit the default comparison behavior." @@ -2465,7 +2466,7 @@ msgstr "" "La plupart des autres types natifs n'implémentent pas de méthodes de " "comparaisons, ils héritent donc du comportement par défaut." -#: reference/expressions.rst:1568 +#: reference/expressions.rst:1570 msgid "" "User-defined classes that customize their comparison behavior should follow " "some consistency rules, if possible:" @@ -2473,7 +2474,7 @@ msgstr "" "Les classes allogènes qui particularisent les opérations de comparaison " "doivent, si possible, respecter quelques règles pour la cohérence :" -#: reference/expressions.rst:1571 +#: reference/expressions.rst:1573 msgid "" "Equality comparison should be reflexive. In other words, identical objects " "should compare equal:" @@ -2481,11 +2482,11 @@ msgstr "" "Le test d'égalité doit être réflexif. En d'autres termes, des objets " "identiques doivent être égaux :" -#: reference/expressions.rst:1574 +#: reference/expressions.rst:1576 msgid "``x is y`` implies ``x == y``" msgstr "``x is y`` implique ``x == y``" -#: reference/expressions.rst:1576 +#: reference/expressions.rst:1578 msgid "" "Comparison should be symmetric. In other words, the following expressions " "should have the same result:" @@ -2493,23 +2494,23 @@ msgstr "" "La comparaison doit être symétrique. En d'autres termes, les expressions " "suivantes doivent donner le même résultat :" -#: reference/expressions.rst:1579 +#: reference/expressions.rst:1581 msgid "``x == y`` and ``y == x``" msgstr "``x == y`` et ``y == x``" -#: reference/expressions.rst:1581 +#: reference/expressions.rst:1583 msgid "``x != y`` and ``y != x``" msgstr "``x != y`` et ``y != x``" -#: reference/expressions.rst:1583 +#: reference/expressions.rst:1585 msgid "``x < y`` and ``y > x``" msgstr "``x < y`` et ``y > x``" -#: reference/expressions.rst:1585 +#: reference/expressions.rst:1587 msgid "``x <= y`` and ``y >= x``" msgstr "``x <= y`` et ``y >= x``" -#: reference/expressions.rst:1587 +#: reference/expressions.rst:1589 msgid "" "Comparison should be transitive. The following (non-exhaustive) examples " "illustrate that:" @@ -2517,15 +2518,15 @@ msgstr "" "La comparaison doit être transitive. Les exemples suivants (liste non " "exhaustive) illustrent ce concept :" -#: reference/expressions.rst:1590 +#: reference/expressions.rst:1592 msgid "``x > y and y > z`` implies ``x > z``" msgstr "``x > y and y > z`` implique ``x > z``" -#: reference/expressions.rst:1592 +#: reference/expressions.rst:1594 msgid "``x < y and y <= z`` implies ``x < z``" msgstr "``x < y and y <= z`` implique ``x < z``" -#: reference/expressions.rst:1594 +#: reference/expressions.rst:1596 msgid "" "Inverse comparison should result in the boolean negation. In other words, " "the following expressions should have the same result:" @@ -2534,19 +2535,19 @@ msgstr "" "booléenne. En d'autres termes, les expressions suivantes doivent produire le " "même résultat :" -#: reference/expressions.rst:1597 +#: reference/expressions.rst:1599 msgid "``x == y`` and ``not x != y``" msgstr "``x == y`` et ``not x != y``" -#: reference/expressions.rst:1599 +#: reference/expressions.rst:1601 msgid "``x < y`` and ``not x >= y`` (for total ordering)" msgstr "``x < y`` et ``not x >= y`` (pour une relation d'ordre total)" -#: reference/expressions.rst:1601 +#: reference/expressions.rst:1603 msgid "``x > y`` and ``not x <= y`` (for total ordering)" msgstr "``x > y`` et ``not x <= y`` (pour une relation d'ordre total)" -#: reference/expressions.rst:1603 +#: reference/expressions.rst:1605 msgid "" "The last two expressions apply to totally ordered collections (e.g. to " "sequences, but not to sets or mappings). See also the :func:`~functools." @@ -2557,7 +2558,7 @@ msgstr "" "de correspondances). Regardez aussi le décorateur :func:`~functools." "total_ordering`." -#: reference/expressions.rst:1607 +#: reference/expressions.rst:1609 msgid "" "The :func:`hash` result should be consistent with equality. Objects that are " "equal should either have the same hash value, or be marked as unhashable." @@ -2566,7 +2567,7 @@ msgstr "" "qui sont égaux doivent avoir la même empreinte ou être marqués comme non-" "hachables." -#: reference/expressions.rst:1611 +#: reference/expressions.rst:1613 msgid "" "Python does not enforce these consistency rules. In fact, the not-a-number " "values are an example for not following these rules." @@ -2574,11 +2575,11 @@ msgstr "" "Python ne vérifie pas ces règles de cohérence. En fait, l'utilisation de " "valeurs non numériques est un exemple de non-respect de ces règles." -#: reference/expressions.rst:1620 +#: reference/expressions.rst:1622 msgid "Membership test operations" msgstr "Opérations de tests d’appartenance à un ensemble" -#: reference/expressions.rst:1622 +#: reference/expressions.rst:1624 msgid "" "The operators :keyword:`in` and :keyword:`not in` test for membership. ``x " "in s`` evaluates to ``True`` if *x* is a member of *s*, and ``False`` " @@ -2598,7 +2599,7 @@ msgstr "" "*collections.deque*, l’expression ``x in y`` est équivalente à ``any(x is e " "or x == e for e in y)``." -#: reference/expressions.rst:1630 +#: reference/expressions.rst:1632 msgid "" "For the string and bytes types, ``x in y`` is ``True`` if and only if *x* is " "a substring of *y*. An equivalent test is ``y.find(x) != -1``. Empty " @@ -2610,7 +2611,7 @@ msgstr "" "``y.find(x) != -1``. Une chaîne vide est considérée comme une sous-chaîne de " "toute autre chaîne, ainsi ``\"\" in \"abc\"`` renvoie ``True``." -#: reference/expressions.rst:1635 +#: reference/expressions.rst:1637 msgid "" "For user-defined classes which define the :meth:`__contains__` method, ``x " "in y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and " @@ -2620,7 +2621,7 @@ msgstr "" "``x in y`` renvoie ``True`` si ``y.__contains__(x)`` renvoie vrai, et " "``False`` sinon." -#: reference/expressions.rst:1639 +#: reference/expressions.rst:1641 msgid "" "For user-defined classes which do not define :meth:`__contains__` but do " "define :meth:`__iter__`, ``x in y`` is ``True`` if some value ``z``, for " @@ -2634,7 +2635,7 @@ msgstr "" "de l'itération sur ``y``. Si une exception est levée pendant l'itération, " "c'est comme si :keyword:`in` avait levé cette exception." -#: reference/expressions.rst:1645 +#: reference/expressions.rst:1647 msgid "" "Lastly, the old-style iteration protocol is tried: if a class defines :meth:" "`__getitem__`, ``x in y`` is ``True`` if and only if there is a non-negative " @@ -2649,7 +2650,7 @@ msgstr "" "`IndexError` (si toute autre exception est levée, c'est comme si :keyword:" "`in` avait levé cette exception)." -#: reference/expressions.rst:1657 +#: reference/expressions.rst:1659 msgid "" "The operator :keyword:`not in` is defined to have the inverse truth value " "of :keyword:`in`." @@ -2657,11 +2658,11 @@ msgstr "" "L'opérateur :keyword:`not in` est défini comme produisant le contraire de :" "keyword:`in`." -#: reference/expressions.rst:1670 +#: reference/expressions.rst:1672 msgid "Identity comparisons" msgstr "Comparaisons d'identifiants" -#: reference/expressions.rst:1672 +#: reference/expressions.rst:1674 msgid "" "The operators :keyword:`is` and :keyword:`is not` test for an object's " "identity: ``x is y`` is true if and only if *x* and *y* are the same " @@ -2674,11 +2675,11 @@ msgstr "" "fonction :meth:`id`. ``x is not y`` renvoie le résultat contraire de " "l'égalité des identifiants [#]_." -#: reference/expressions.rst:1684 +#: reference/expressions.rst:1686 msgid "Boolean operations" msgstr "Opérations booléennes" -#: reference/expressions.rst:1695 +#: reference/expressions.rst:1697 msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " @@ -2697,7 +2698,7 @@ msgstr "" "allogènes peuvent personnaliser leur table de vérité en implémentant une " "méthode :meth:`__bool__`." -#: reference/expressions.rst:1704 +#: reference/expressions.rst:1706 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." @@ -2705,7 +2706,7 @@ msgstr "" "L'opérateur :keyword:`not` produit ``True`` si son argument est faux, " "``False`` sinon." -#: reference/expressions.rst:1709 +#: reference/expressions.rst:1711 msgid "" "The expression ``x and y`` first evaluates *x*; if *x* is false, its value " "is returned; otherwise, *y* is evaluated and the resulting value is returned." @@ -2714,7 +2715,7 @@ msgstr "" "valeur est renvoyée ; sinon, *y* est évalué et la valeur résultante est " "renvoyée." -#: reference/expressions.rst:1714 +#: reference/expressions.rst:1716 msgid "" "The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " "returned; otherwise, *y* is evaluated and the resulting value is returned." @@ -2723,7 +2724,7 @@ msgstr "" "valeur est renvoyée ; sinon, *y* est évalué et la valeur résultante est " "renvoyée." -#: reference/expressions.rst:1717 +#: reference/expressions.rst:1719 msgid "" "Note that neither :keyword:`and` nor :keyword:`or` restrict the value and " "type they return to ``False`` and ``True``, but rather return the last " @@ -2742,11 +2743,11 @@ msgstr "" "de son argument (par exemple, ``not 'truc'`` produit ``False`` plutôt que " "``''``." -#: reference/expressions.rst:1733 +#: reference/expressions.rst:1735 msgid "Assignment expressions" msgstr "Expressions d'affectation" -#: reference/expressions.rst:1738 +#: reference/expressions.rst:1740 msgid "" "An assignment expression (sometimes also called a \"named expression\" or " "\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:" @@ -2758,17 +2759,17 @@ msgstr "" "expression>` à un :token:`identifiant<~python-grammar:identifier>` et " "renvoie la valeur de l':token:`~python-grammar:expression`." -#: reference/expressions.rst:1743 +#: reference/expressions.rst:1745 msgid "One common use case is when handling matched regular expressions:" msgstr "" "Une utilisation classique concerne les correspondances d'expressions " "rationnelles :" -#: reference/expressions.rst:1750 +#: reference/expressions.rst:1752 msgid "Or, when processing a file stream in chunks:" msgstr "Ou lorsqu'on traite le contenu d'un fichier par morceaux :" -#: reference/expressions.rst:1757 +#: reference/expressions.rst:1759 msgid "" "Assignment expressions must be surrounded by parentheses when used as sub-" "expressions in slicing, conditional, lambda, keyword-argument, and " @@ -2777,16 +2778,16 @@ msgid "" "including in ``if`` and ``while`` statements." msgstr "" -#: reference/expressions.rst:1764 +#: reference/expressions.rst:1766 msgid "See :pep:`572` for more details about assignment expressions." msgstr "" "Voir la :pep:`572` pour plus de détails sur les expressions d’affectation." -#: reference/expressions.rst:1771 +#: reference/expressions.rst:1773 msgid "Conditional expressions" msgstr "Expressions conditionnelles" -#: reference/expressions.rst:1783 +#: reference/expressions.rst:1785 msgid "" "Conditional expressions (sometimes called a \"ternary operator\") have the " "lowest priority of all Python operations." @@ -2794,7 +2795,7 @@ msgstr "" "Les expressions conditionnelles (parfois appelées « opérateur ternaire ») " "sont les moins prioritaires de toutes les opérations Python." -#: reference/expressions.rst:1786 +#: reference/expressions.rst:1788 msgid "" "The expression ``x if C else y`` first evaluates the condition, *C* rather " "than *x*. If *C* is true, *x* is evaluated and its value is returned; " @@ -2804,16 +2805,16 @@ msgstr "" "est vrai, alors *x* est évalué et sa valeur est renvoyée ; sinon, *y* est " "évalué et sa valeur est renvoyée." -#: reference/expressions.rst:1790 +#: reference/expressions.rst:1792 msgid "See :pep:`308` for more details about conditional expressions." msgstr "" "Voir la :pep:`308` pour plus de détails sur les expressions conditionnelles." -#: reference/expressions.rst:1797 +#: reference/expressions.rst:1799 msgid "Lambdas" msgstr "Expressions lambda" -#: reference/expressions.rst:1808 +#: reference/expressions.rst:1810 msgid "" "Lambda expressions (sometimes called lambda forms) are used to create " "anonymous functions. The expression ``lambda parameters: expression`` yields " @@ -2824,7 +2825,7 @@ msgstr "" "L'expression ``lambda parameters: expression`` produit un objet fonction. " "Cet objet anonyme se comporte comme un objet fonction défini par :" -#: reference/expressions.rst:1817 +#: reference/expressions.rst:1819 msgid "" "See section :ref:`function` for the syntax of parameter lists. Note that " "functions created with lambda expressions cannot contain statements or " @@ -2834,11 +2835,11 @@ msgstr "" "Notez que les fonctions créées par des expressions lambda ne peuvent pas " "contenir d'instructions ou d'annotations." -#: reference/expressions.rst:1825 +#: reference/expressions.rst:1827 msgid "Expression lists" msgstr "Listes d'expressions" -#: reference/expressions.rst:1839 +#: reference/expressions.rst:1841 msgid "" "Except when part of a list or set display, an expression list containing at " "least one comma yields a tuple. The length of the tuple is the number of " @@ -2849,7 +2850,7 @@ msgstr "" "La longueur du *n*-uplet est le nombre d'expressions dans la liste. Les " "expressions sont évaluées de la gauche vers la droite." -#: reference/expressions.rst:1848 +#: reference/expressions.rst:1850 msgid "" "An asterisk ``*`` denotes :dfn:`iterable unpacking`. Its operand must be " "an :term:`iterable`. The iterable is expanded into a sequence of items, " @@ -2861,14 +2862,14 @@ msgstr "" "L'itérable est développé en une séquence d'éléments qui sont inclus dans un " "nouvel objet *n*-uplet, liste ou ensemble à l'emplacement du dépaquetage." -#: reference/expressions.rst:1853 +#: reference/expressions.rst:1855 msgid "" "Iterable unpacking in expression lists, originally proposed by :pep:`448`." msgstr "" "dépaquetage d'itérables dans les listes d'expressions, proposé à l'origine " "par la :pep:`448`." -#: reference/expressions.rst:1858 +#: reference/expressions.rst:1860 msgid "" "The trailing comma is required only to create a single tuple (a.k.a. a " "*singleton*); it is optional in all other cases. A single expression " @@ -2882,11 +2883,11 @@ msgstr "" "produit la valeur de cette expression (pour créer un *n*-uplet vide, " "utilisez une paire de parenthèses vide : ``()``)." -#: reference/expressions.rst:1868 +#: reference/expressions.rst:1870 msgid "Evaluation order" msgstr "Ordre d'évaluation" -#: reference/expressions.rst:1872 +#: reference/expressions.rst:1874 msgid "" "Python evaluates expressions from left to right. Notice that while " "evaluating an assignment, the right-hand side is evaluated before the left-" @@ -2896,7 +2897,7 @@ msgstr "" "lors de l'évaluation d'une assignation, la partie droite de l'assignation " "est évaluée avant la partie gauche." -#: reference/expressions.rst:1875 +#: reference/expressions.rst:1877 msgid "" "In the following lines, expressions will be evaluated in the arithmetic " "order of their suffixes::" @@ -2904,11 +2905,11 @@ msgstr "" "Dans les lignes qui suivent, les expressions sont évaluées suivant l'ordre " "arithmétique de leurs suffixes ::" -#: reference/expressions.rst:1889 +#: reference/expressions.rst:1891 msgid "Operator precedence" msgstr "Priorités des opérateurs" -#: reference/expressions.rst:1894 +#: reference/expressions.rst:1896 msgid "" "The following table summarizes the operator precedence in Python, from " "highest precedence (most binding) to lowest precedence (least binding). " @@ -2923,7 +2924,7 @@ msgstr "" "binaires. Les opérateurs dans la même case regroupent de la gauche vers la " "droite (sauf pour la puissance qui regroupe de la droite vers la gauche)." -#: reference/expressions.rst:1900 +#: reference/expressions.rst:1902 msgid "" "Note that comparisons, membership tests, and identity tests, all have the " "same precedence and have a left-to-right chaining feature as described in " @@ -2933,23 +2934,23 @@ msgstr "" "d'identifiants possèdent tous la même priorité et s'enchaînent de la gauche " "vers la droite comme décrit dans la section :ref:`comparisons`." -#: reference/expressions.rst:1906 +#: reference/expressions.rst:1908 msgid "Operator" msgstr "Opérateur" -#: reference/expressions.rst:1906 +#: reference/expressions.rst:1908 msgid "Description" msgstr "Description" -#: reference/expressions.rst:1908 +#: reference/expressions.rst:1910 msgid "``(expressions...)``," msgstr "``(expressions…)``," -#: reference/expressions.rst:1910 +#: reference/expressions.rst:1912 msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" msgstr "``[expressions…]``, ``{key: value…}``, ``{expressions…}``" -#: reference/expressions.rst:1908 +#: reference/expressions.rst:1910 msgid "" "Binding or parenthesized expression, list display, dictionary display, set " "display" @@ -2957,39 +2958,39 @@ msgstr "" "Expression de liaison ou parenthèse, affichage de liste, affichage de " "dictionnaire, affichage de *set*" -#: reference/expressions.rst:1914 +#: reference/expressions.rst:1916 msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" msgstr "``x[indice]``, ``x[indice:indice]``, ``x(arguments…)``, ``x.attribut``" -#: reference/expressions.rst:1914 +#: reference/expressions.rst:1916 msgid "Subscription, slicing, call, attribute reference" msgstr "indiçage, tranches, appel, référence à un attribut" -#: reference/expressions.rst:1917 +#: reference/expressions.rst:1919 msgid ":keyword:`await x `" msgstr ":keyword:`await x `" -#: reference/expressions.rst:1919 +#: reference/expressions.rst:1921 msgid "``**``" msgstr "``**``" -#: reference/expressions.rst:1919 +#: reference/expressions.rst:1921 msgid "Exponentiation [#]_" msgstr "Puissance [#]_" -#: reference/expressions.rst:1921 +#: reference/expressions.rst:1923 msgid "``+x``, ``-x``, ``~x``" msgstr "``+x``, ``-x``, ``~x``" -#: reference/expressions.rst:1921 +#: reference/expressions.rst:1923 msgid "Positive, negative, bitwise NOT" msgstr "NOT (positif, négatif, bit à bit)" -#: reference/expressions.rst:1923 +#: reference/expressions.rst:1925 msgid "``*``, ``@``, ``/``, ``//``, ``%``" msgstr "``*``, ``@``, ``/``, ``//``, ``%``" -#: reference/expressions.rst:1923 +#: reference/expressions.rst:1925 msgid "" "Multiplication, matrix multiplication, division, floor division, remainder " "[#]_" @@ -2997,47 +2998,47 @@ msgstr "" "Multiplication, multiplication de matrices, division, division entière, " "reste [#]_" -#: reference/expressions.rst:1927 +#: reference/expressions.rst:1929 msgid "``+``, ``-``" msgstr "``+``, ``-``" -#: reference/expressions.rst:1927 +#: reference/expressions.rst:1929 msgid "Addition and subtraction" msgstr "Addition et soustraction" -#: reference/expressions.rst:1929 +#: reference/expressions.rst:1931 msgid "``<<``, ``>>``" msgstr "``<<``, ``>>``" -#: reference/expressions.rst:1929 +#: reference/expressions.rst:1931 msgid "Shifts" msgstr "décalages" -#: reference/expressions.rst:1931 +#: reference/expressions.rst:1933 msgid "``&``" msgstr "``&``" -#: reference/expressions.rst:1931 +#: reference/expressions.rst:1933 msgid "Bitwise AND" msgstr "AND (bit à bit)" -#: reference/expressions.rst:1933 +#: reference/expressions.rst:1935 msgid "``^``" msgstr "``^``" -#: reference/expressions.rst:1933 +#: reference/expressions.rst:1935 msgid "Bitwise XOR" msgstr "XOR (bit à bit)" -#: reference/expressions.rst:1935 +#: reference/expressions.rst:1937 msgid "``|``" msgstr "``|``" -#: reference/expressions.rst:1935 +#: reference/expressions.rst:1937 msgid "Bitwise OR" msgstr "OR (bit à bit)" -#: reference/expressions.rst:1937 +#: reference/expressions.rst:1939 msgid "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" @@ -3045,64 +3046,64 @@ msgstr "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" -#: reference/expressions.rst:1937 +#: reference/expressions.rst:1939 msgid "Comparisons, including membership tests and identity tests" msgstr "" "Comparaisons, y compris les tests d'appartenance et les tests d'identifiants" -#: reference/expressions.rst:1941 +#: reference/expressions.rst:1943 msgid ":keyword:`not x `" msgstr ":keyword:`not x `" -#: reference/expressions.rst:1941 +#: reference/expressions.rst:1943 msgid "Boolean NOT" msgstr "NOT (booléen)" -#: reference/expressions.rst:1943 +#: reference/expressions.rst:1945 msgid ":keyword:`and`" msgstr ":keyword:`and`" -#: reference/expressions.rst:1943 +#: reference/expressions.rst:1945 msgid "Boolean AND" msgstr "AND (booléen)" -#: reference/expressions.rst:1945 +#: reference/expressions.rst:1947 msgid ":keyword:`or`" msgstr ":keyword:`or`" -#: reference/expressions.rst:1945 +#: reference/expressions.rst:1947 msgid "Boolean OR" msgstr "OR (booléen)" -#: reference/expressions.rst:1947 +#: reference/expressions.rst:1949 msgid ":keyword:`if ` -- :keyword:`!else`" msgstr ":keyword:`if ` -- :keyword:`!else`" -#: reference/expressions.rst:1947 +#: reference/expressions.rst:1949 msgid "Conditional expression" msgstr "Expressions conditionnelles" -#: reference/expressions.rst:1949 +#: reference/expressions.rst:1951 msgid ":keyword:`lambda`" msgstr ":keyword:`lambda`" -#: reference/expressions.rst:1949 +#: reference/expressions.rst:1951 msgid "Lambda expression" msgstr "Expression lambda" -#: reference/expressions.rst:1951 +#: reference/expressions.rst:1953 msgid "``:=``" msgstr "``:=``" -#: reference/expressions.rst:1951 +#: reference/expressions.rst:1953 msgid "Assignment expression" msgstr "Expression d'affectation" -#: reference/expressions.rst:1956 +#: reference/expressions.rst:1958 msgid "Footnotes" msgstr "Notes" -#: reference/expressions.rst:1957 +#: reference/expressions.rst:1959 msgid "" "While ``abs(x%y) < abs(y)`` is true mathematically, for floats it may not be " "true numerically due to roundoff. For example, and assuming a platform on " @@ -3123,7 +3124,7 @@ msgstr "" "argument, c'est-à-dire ``-1e-100`` dans ce cas. La meilleure approche dépend " "de l'application." -#: reference/expressions.rst:1966 +#: reference/expressions.rst:1968 msgid "" "If x is very close to an exact integer multiple of y, it's possible for ``x//" "y`` to be one larger than ``(x-x%y)//y`` due to rounding. In such cases, " @@ -3135,7 +3136,7 @@ msgstr "" "Dans de tels cas, Python renvoie le second résultat afin d'avoir ``divmod(x," "y)[0] * y + x % y`` le plus proche de ``x``." -#: reference/expressions.rst:1971 +#: reference/expressions.rst:1973 msgid "" "The Unicode standard distinguishes between :dfn:`code points` (e.g. U+0041) " "and :dfn:`abstract characters` (e.g. \"LATIN CAPITAL LETTER A\"). While most " @@ -3160,7 +3161,7 @@ msgstr "" "position *U+0043* (LATIN CAPITAL LETTER C) du code, suivi par un :dfn:" "`caractère combiné` à la position *U+0327* (*COMBINING CEDILLA*) du code." -#: reference/expressions.rst:1982 +#: reference/expressions.rst:1984 msgid "" "The comparison operators on strings compare at the level of Unicode code " "points. This may be counter-intuitive to humans. For example, ``\"\\u00C7\" " @@ -3173,7 +3174,7 @@ msgstr "" "chaînes représentent le même caractère abstrait \"LATIN CAPITAL LETTER C " "WITH CEDILLA\"." -#: reference/expressions.rst:1987 +#: reference/expressions.rst:1989 msgid "" "To compare strings at the level of abstract characters (that is, in a way " "intuitive to humans), use :func:`unicodedata.normalize`." @@ -3182,7 +3183,7 @@ msgstr "" "quelque chose d'intuitif pour les humains), utilisez :func:`unicodedata." "normalize`." -#: reference/expressions.rst:1990 +#: reference/expressions.rst:1992 msgid "" "Due to automatic garbage-collection, free lists, and the dynamic nature of " "descriptors, you may notice seemingly unusual behaviour in certain uses of " @@ -3195,7 +3196,7 @@ msgstr "" "cela implique des comparaisons entre des méthodes d'instances ou des " "constantes. Allez vérifier dans la documentation pour plus d'informations." -#: reference/expressions.rst:1995 +#: reference/expressions.rst:1997 msgid "" "The power operator ``**`` binds less tightly than an arithmetic or bitwise " "unary operator on its right, that is, ``2**-1`` is ``0.5``." @@ -3203,7 +3204,7 @@ msgstr "" "L'opérateur puissance ``**`` est moins prioritaire qu'un opérateur unaire " "arithmétique ou bit à bit sur sa droite. Ainsi, ``2**-1`` vaut ``0.5``." -#: reference/expressions.rst:1998 +#: reference/expressions.rst:2000 msgid "" "The ``%`` operator is also used for string formatting; the same precedence " "applies." diff --git a/reference/grammar.po b/reference/grammar.po index b9a2328fd8..b6299b600a 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-18 12:55+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -31,13 +31,14 @@ msgstr "" "la génération de code et la reprise sur erreur." #: reference/grammar.rst:9 +#, fuzzy msgid "" "The notation is a mixture of `EBNF `_ and `PEG `_. In particular, ``&`` followed by a symbol, " "token or parenthesized group indicates a positive lookahead (i.e., is " "required to match but not consumed), while ``!`` indicates a negative " -"lookahead (i.e., is required _not_ to match). We use the ``|`` separator to " +"lookahead (i.e., is required *not* to match). We use the ``|`` separator to " "mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG " "grammars). See :pep:`617` for more details on the grammar's syntax." msgstr "" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 3f143b0bcc..244a4505fe 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-04-05 10:05+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-09-04 02:24+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -470,8 +470,9 @@ msgstr "" "d'une assignation optionnelle :" #: reference/simple_stmts.rst:333 +#, fuzzy msgid "" -"The difference from normal :ref:`assignment` is that only single target is " +"The difference from normal :ref:`assignment` is that only a single target is " "allowed." msgstr "" "La différence avec une assignation normale (voir :ref:`ci-dessus " @@ -554,9 +555,10 @@ msgstr "" "outils d'analyse statique et les EDIs." #: reference/simple_stmts.rst:367 +#, fuzzy msgid "" -"Now annotated assignments allow same expressions in the right hand side as " -"the regular assignments. Previously, some expressions (like un-parenthesized " +"Now annotated assignments allow the same expressions in the right hand side " +"as regular assignments. Previously, some expressions (like un-parenthesized " "tuple expressions) caused a syntax error." msgstr "" "Dorénavant, côté droit des assignations annotées, peuvent figurer les mêmes " @@ -1010,8 +1012,9 @@ msgstr "" "clauses étaient séparées dans des instructions d'importations individuelles." #: reference/simple_stmts.rst:753 +#, fuzzy msgid "" -"The details of the first step, finding and loading modules are described in " +"The details of the first step, finding and loading modules, are described in " "greater detail in the section on the :ref:`import system `, " "which also describes the various types of packages and modules that can be " "imported, as well as all the hooks that can be used to customize the import " @@ -1453,7 +1456,7 @@ msgstr "" msgid "The :keyword:`!nonlocal` statement" msgstr "L'instruction :keyword:`!nonlocal`" -#: reference/simple_stmts.rst:995 +#: reference/simple_stmts.rst:991 msgid "" "The :keyword:`nonlocal` statement causes the listed identifiers to refer to " "previously bound variables in the nearest enclosing scope excluding globals. " @@ -1469,7 +1472,7 @@ msgstr "" "lier à des variables en dehors de la portée locale du code mais sans avoir " "de portée globale (c'est-à-dire de niveau module)." -#: reference/simple_stmts.rst:1005 +#: reference/simple_stmts.rst:997 msgid "" "Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :" "keyword:`global` statement, must refer to pre-existing bindings in an " @@ -1482,7 +1485,7 @@ msgstr "" "existantes dans les portées englobantes (en effet, la portée dans laquelle " "devrait être créée la liaison ne peut pas être déterminée *a priori*)." -#: reference/simple_stmts.rst:1010 +#: reference/simple_stmts.rst:1002 msgid "" "Names listed in a :keyword:`nonlocal` statement must not collide with pre-" "existing bindings in the local scope." @@ -1490,10 +1493,10 @@ msgstr "" "Les noms listés dans l'instruction :keyword:`nonlocal` ne doivent entrer en " "collision avec des liaisons déjà établies dans la portée locale." -#: reference/simple_stmts.rst:1015 +#: reference/simple_stmts.rst:1007 msgid ":pep:`3104` - Access to Names in Outer Scopes" msgstr ":pep:`3104` -- Accès à des noms en dehors de la portée locale" -#: reference/simple_stmts.rst:1016 +#: reference/simple_stmts.rst:1008 msgid "The specification for the :keyword:`nonlocal` statement." msgstr "Les spécifications pour l'instruction :keyword:`nonlocal`." diff --git a/sphinx.po b/sphinx.po index a782c4efb2..27659b3ce9 100644 --- a/sphinx.po +++ b/sphinx.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:24+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -43,23 +43,35 @@ msgid "Deprecated since version {deprecated}, removed in version {removed}" msgstr "" "Obsolète depuis la version {deprecated}, supprimé dans la version {removed}" +#: tools/templates/dummy.html:12 +msgid "Return value: Always NULL." +msgstr "" + #: tools/templates/dummy.html:13 +msgid "Return value: New reference." +msgstr "" + +#: tools/templates/dummy.html:14 +msgid "Return value: Borrowed reference." +msgstr "" + +#: tools/templates/dummy.html:18 msgid "in development" msgstr "en développement" -#: tools/templates/dummy.html:14 +#: tools/templates/dummy.html:19 msgid "pre-release" msgstr "pré-lancement" -#: tools/templates/dummy.html:15 +#: tools/templates/dummy.html:20 msgid "stable" msgstr "stable" -#: tools/templates/dummy.html:16 +#: tools/templates/dummy.html:21 msgid "security-fixes" msgstr "correctifs de sécurité" -#: tools/templates/dummy.html:17 +#: tools/templates/dummy.html:22 msgid "EOL" msgstr "fin de vie" diff --git a/tutorial/classes.po b/tutorial/classes.po index 90e2deaba4..44f93713d7 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2020-09-30 16:12+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -284,9 +284,10 @@ msgstr "" "les noms locaux ;" #: tutorial/classes.rst:121 +#, fuzzy msgid "" "the scopes of any enclosing functions, which are searched starting with the " -"nearest enclosing scope, contains non-local, but also non-global names" +"nearest enclosing scope, contain non-local, but also non-global names" msgstr "" "les portées des fonctions englobantes, qui sont consultées en commençant " "avec la portée englobante la plus proche, contiennent des noms non-locaux " @@ -305,9 +306,10 @@ msgstr "" "contenant les primitives." #: tutorial/classes.rst:126 +#, fuzzy msgid "" "If a name is declared global, then all references and assignments go " -"directly to the middle scope containing the module's global names. To " +"directly to the next-to-last scope containing the module's global names. To " "rebind variables found outside of the innermost scope, the :keyword:" "`nonlocal` statement can be used; if not declared nonlocal, those variables " "are read-only (an attempt to write to such a variable will simply create a " @@ -1215,17 +1217,18 @@ msgid "Odds and Ends" msgstr "Trucs et astuces" #: tutorial/classes.rst:739 +#, fuzzy msgid "" "Sometimes it is useful to have a data type similar to the Pascal \"record\" " -"or C \"struct\", bundling together a few named data items. An empty class " -"definition will do nicely::" +"or C \"struct\", bundling together a few named data items. The idiomatic " +"approach is to use :mod:`dataclasses` for this purpose::" msgstr "" "Il est parfois utile d'avoir un type de donnée similaire au \"record\" du " "Pascal ou au *struct* du C, qui regroupent ensemble quelques attributs " "'données' nommés. La définition d'une classe vide remplit parfaitement ce " "besoin ::" -#: tutorial/classes.rst:753 +#: tutorial/classes.rst:759 msgid "" "A piece of Python code that expects a particular abstract data type can " "often be passed a class that emulates the methods of that data type " @@ -1241,7 +1244,7 @@ msgstr "" "classe qui implémente les méthodes :meth:`read` et :meth:`!readline` en " "puisant ses données à partir d'un tampon de chaînes de caractères." -#: tutorial/classes.rst:764 +#: tutorial/classes.rst:770 msgid "" "Instance method objects have attributes, too: ``m.__self__`` is the instance " "object with the method :meth:`m`, and ``m.__func__`` is the function object " @@ -1251,11 +1254,11 @@ msgstr "" "l'instance d'objet avec la méthode :meth:`m` et ``m.__func__`` est l'objet " "fonction correspondant à la méthode." -#: tutorial/classes.rst:772 +#: tutorial/classes.rst:778 msgid "Iterators" msgstr "Itérateurs" -#: tutorial/classes.rst:774 +#: tutorial/classes.rst:780 msgid "" "By now you have probably noticed that most container objects can be looped " "over using a :keyword:`for` statement::" @@ -1263,7 +1266,7 @@ msgstr "" "Vous avez maintenant certainement remarqué que l'on peut itérer sur la " "plupart des objets conteneurs en utilisant une instruction :keyword:`for` ::" -#: tutorial/classes.rst:788 +#: tutorial/classes.rst:794 msgid "" "This style of access is clear, concise, and convenient. The use of " "iterators pervades and unifies Python. Behind the scenes, the :keyword:" @@ -1285,7 +1288,7 @@ msgstr "" "appeler la méthode :meth:`~iterator.__next__` en utilisant la fonction " "native :func:`next`. Cet exemple montre comment tout cela fonctionne ::" -#: tutorial/classes.rst:813 +#: tutorial/classes.rst:819 msgid "" "Having seen the mechanics behind the iterator protocol, it is easy to add " "iterator behavior to your classes. Define an :meth:`__iter__` method which " @@ -1298,11 +1301,11 @@ msgstr "" "__next__`. Si la classe définit elle-même la méthode :meth:`__next__`, " "alors :meth:`__iter__` peut simplement renvoyer ``self`` ::" -#: tutorial/classes.rst:850 +#: tutorial/classes.rst:856 msgid "Generators" msgstr "Générateurs" -#: tutorial/classes.rst:852 +#: tutorial/classes.rst:858 msgid "" ":term:`Generators ` are a simple and powerful tool for creating " "iterators. They are written like regular functions but use the :keyword:" @@ -1319,7 +1322,7 @@ msgstr "" "contexte d'exécution). Un exemple montre très bien combien les générateurs " "sont simples à créer ::" -#: tutorial/classes.rst:873 +#: tutorial/classes.rst:879 msgid "" "Anything that can be done with generators can also be done with class-based " "iterators as described in the previous section. What makes generators so " @@ -1331,7 +1334,7 @@ msgstr "" "précédent. Ce qui rend les générateurs si compacts, c'est que les méthodes :" "meth:`__iter__` et :meth:`~generator.__next__` sont créées automatiquement." -#: tutorial/classes.rst:878 +#: tutorial/classes.rst:884 msgid "" "Another key feature is that the local variables and execution state are " "automatically saved between calls. This made the function easier to write " @@ -1344,7 +1347,7 @@ msgstr "" "beaucoup plus lisible qu'avec une approche utilisant des variables " "d'instance telles que ``self.index`` et ``self.data``." -#: tutorial/classes.rst:883 +#: tutorial/classes.rst:889 msgid "" "In addition to automatic method creation and saving program state, when " "generators terminate, they automatically raise :exc:`StopIteration`. In " @@ -1357,11 +1360,11 @@ msgstr "" "ces fonctionnalités rend très simple la création d'itérateurs, sans plus " "d'effort que l'écriture d'une fonction classique." -#: tutorial/classes.rst:892 +#: tutorial/classes.rst:898 msgid "Generator Expressions" msgstr "Expressions et générateurs" -#: tutorial/classes.rst:894 +#: tutorial/classes.rst:900 msgid "" "Some simple generators can be coded succinctly as expressions using a syntax " "similar to list comprehensions but with parentheses instead of square " @@ -1378,15 +1381,15 @@ msgstr "" "définitions complètes de générateurs et ont tendance à être plus économes en " "mémoire que leur équivalent en compréhension de listes." -#: tutorial/classes.rst:901 +#: tutorial/classes.rst:907 msgid "Examples::" msgstr "Exemples ::" -#: tutorial/classes.rst:922 +#: tutorial/classes.rst:928 msgid "Footnotes" msgstr "Notes de bas de page" -#: tutorial/classes.rst:923 +#: tutorial/classes.rst:929 msgid "" "Except for one thing. Module objects have a secret read-only attribute " "called :attr:`~object.__dict__` which returns the dictionary used to " diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 7085e6b3f0..6bca294e6a 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-03-18 17:06+0100\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:28+0200\n" "Last-Translator: Antoine Wecxsteen\n" "Language-Team: FRENCH \n" @@ -139,10 +139,11 @@ msgid "An example that uses most of the list methods::" msgstr "L'exemple suivant utilise la plupart des méthodes des listes ::" #: tutorial/datastructures.rst:123 +#, fuzzy msgid "" "You might have noticed that methods like ``insert``, ``remove`` or ``sort`` " "that only modify the list have no return value printed -- they return the " -"default ``None``. [1]_ This is a design principle for all mutable data " +"default ``None``. [#]_ This is a design principle for all mutable data " "structures in Python." msgstr "" "Vous avez probablement remarqué que les méthodes qui ne font que modifier la " diff --git a/tutorial/introduction.po b/tutorial/introduction.po index ea7a7afb8c..6e315863f3 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-01-31 21:28+0100\n" "Last-Translator: Fipaddict \n" "Language-Team: FRENCH \n" @@ -244,6 +244,13 @@ msgstr "" #: tutorial/introduction.rst:192 msgid "" +"There is one subtle aspect to raw strings: a raw string may not end in an " +"odd number of ``\\`` characters; see :ref:`the FAQ entry ` for more information and workarounds." +msgstr "" + +#: tutorial/introduction.rst:197 +msgid "" "String literals can span multiple lines. One way is using triple-quotes: " "``\"\"\"...\"\"\"`` or ``'''...'''``. End of lines are automatically " "included in the string, but it's possible to prevent this by adding a ``\\`` " @@ -255,7 +262,7 @@ msgstr "" "mais on peut l'empêcher en ajoutant ``\\`` à la fin de la ligne. L'exemple " "suivant ::" -#: tutorial/introduction.rst:203 +#: tutorial/introduction.rst:208 msgid "" "produces the following output (note that the initial newline is not " "included):" @@ -263,7 +270,7 @@ msgstr "" "produit l'affichage suivant (notez que le premier retour à la ligne n'est " "pas inclus) :" -#: tutorial/introduction.rst:211 +#: tutorial/introduction.rst:216 msgid "" "Strings can be concatenated (glued together) with the ``+`` operator, and " "repeated with ``*``::" @@ -271,7 +278,7 @@ msgstr "" "Les chaînes peuvent être concaténées (collées ensemble) avec l'opérateur " "``+`` et répétées avec l'opérateur ``*`` ::" -#: tutorial/introduction.rst:218 +#: tutorial/introduction.rst:223 msgid "" "Two or more *string literals* (i.e. the ones enclosed between quotes) next " "to each other are automatically concatenated. ::" @@ -279,28 +286,28 @@ msgstr "" "Plusieurs chaînes de caractères, écrites littéralement (c'est-à-dire entre " "guillemets), côte à côte, sont automatiquement concaténées. ::" -#: tutorial/introduction.rst:224 +#: tutorial/introduction.rst:229 msgid "" "This feature is particularly useful when you want to break long strings::" msgstr "" "Cette fonctionnalité est surtout intéressante pour couper des chaînes trop " "longues ::" -#: tutorial/introduction.rst:231 +#: tutorial/introduction.rst:236 msgid "" "This only works with two literals though, not with variables or expressions::" msgstr "" "Cela ne fonctionne cependant qu'avec les chaînes littérales, pas avec les " "variables ni les expressions ::" -#: tutorial/introduction.rst:245 +#: tutorial/introduction.rst:250 msgid "" "If you want to concatenate variables or a variable and a literal, use ``+``::" msgstr "" "Pour concaténer des variables, ou des variables avec des chaînes littérales, " "utilisez l'opérateur ``+`` ::" -#: tutorial/introduction.rst:250 +#: tutorial/introduction.rst:255 msgid "" "Strings can be *indexed* (subscripted), with the first character having " "index 0. There is no separate character type; a character is simply a string " @@ -312,20 +319,20 @@ msgstr "" "distinct pour les caractères, un caractère est simplement une chaîne de " "longueur 1 ::" -#: tutorial/introduction.rst:260 +#: tutorial/introduction.rst:265 msgid "" "Indices may also be negative numbers, to start counting from the right::" msgstr "" "Les indices peuvent également être négatifs, on compte alors en partant de " "la droite. Par exemple ::" -#: tutorial/introduction.rst:269 +#: tutorial/introduction.rst:274 msgid "Note that since -0 is the same as 0, negative indices start from -1." msgstr "" "Notez que, comme ``-0`` égale ``0``, les indices négatifs commencent par " "``-1``." -#: tutorial/introduction.rst:271 +#: tutorial/introduction.rst:276 msgid "" "In addition to indexing, *slicing* is also supported. While indexing is " "used to obtain individual characters, *slicing* allows you to obtain " @@ -336,7 +343,7 @@ msgstr "" "indice permet d'obtenir un caractère, *trancher* permet d'obtenir une sous-" "chaîne ::" -#: tutorial/introduction.rst:279 +#: tutorial/introduction.rst:284 msgid "" "Slice indices have useful defaults; an omitted first index defaults to zero, " "an omitted second index defaults to the size of the string being sliced. ::" @@ -345,7 +352,7 @@ msgstr "" "indice vaut zéro par défaut (c.-à-d. lorsqu'il est omis), le deuxième " "correspond par défaut à la taille de la chaîne de caractères ::" -#: tutorial/introduction.rst:289 +#: tutorial/introduction.rst:294 msgid "" "Note how the start is always included, and the end always excluded. This " "makes sure that ``s[:i] + s[i:]`` is always equal to ``s``::" @@ -353,7 +360,7 @@ msgstr "" "Notez que le début est toujours inclus et la fin toujours exclue. Cela " "assure que ``s[:i] + s[i:]`` est toujours égal à ``s`` ::" -#: tutorial/introduction.rst:297 +#: tutorial/introduction.rst:302 msgid "" "One way to remember how slices work is to think of the indices as pointing " "*between* characters, with the left edge of the first character numbered 0. " @@ -365,7 +372,7 @@ msgstr "" "caractère ayant la position 0. Le côté droit du dernier caractère d'une " "chaîne de *n* caractères a alors pour indice *n*. Par exemple ::" -#: tutorial/introduction.rst:308 +#: tutorial/introduction.rst:313 msgid "" "The first row of numbers gives the position of the indices 0...6 in the " "string; the second row gives the corresponding negative indices. The slice " @@ -377,7 +384,7 @@ msgstr "" "de *i* à *j* est constituée de tous les caractères situés entre les bords " "libellés *i* et *j*, respectivement." -#: tutorial/introduction.rst:313 +#: tutorial/introduction.rst:318 msgid "" "For non-negative indices, the length of a slice is the difference of the " "indices, if both are within bounds. For example, the length of " @@ -387,11 +394,11 @@ msgstr "" "entre ces indices, si les deux sont entre les bornes. Par exemple, la " "longueur de ``word[1:3]`` est 2." -#: tutorial/introduction.rst:317 +#: tutorial/introduction.rst:322 msgid "Attempting to use an index that is too large will result in an error::" msgstr "Utiliser un indice trop grand produit une erreur ::" -#: tutorial/introduction.rst:324 +#: tutorial/introduction.rst:329 msgid "" "However, out of range slice indexes are handled gracefully when used for " "slicing::" @@ -399,7 +406,7 @@ msgstr "" "Cependant, les indices hors bornes sont gérés silencieusement lorsqu'ils " "sont utilisés dans des tranches ::" -#: tutorial/introduction.rst:332 +#: tutorial/introduction.rst:337 msgid "" "Python strings cannot be changed --- they are :term:`immutable`. Therefore, " "assigning to an indexed position in the string results in an error::" @@ -408,21 +415,21 @@ msgstr "" "qu'elles sont :term:`immuables `. Affecter une nouvelle valeur à " "un indice dans une chaîne produit une erreur ::" -#: tutorial/introduction.rst:344 +#: tutorial/introduction.rst:349 msgid "If you need a different string, you should create a new one::" msgstr "" "Si vous avez besoin d'une chaîne différente, vous devez en créer une " "nouvelle ::" -#: tutorial/introduction.rst:351 +#: tutorial/introduction.rst:356 msgid "The built-in function :func:`len` returns the length of a string::" msgstr "La fonction native :func:`len` renvoie la longueur d'une chaîne ::" -#: tutorial/introduction.rst:362 +#: tutorial/introduction.rst:367 msgid ":ref:`textseq`" msgstr ":ref:`textseq`" -#: tutorial/introduction.rst:361 +#: tutorial/introduction.rst:366 msgid "" "Strings are examples of *sequence types*, and support the common operations " "supported by such types." @@ -430,11 +437,11 @@ msgstr "" "Les chaînes de caractères sont des exemples de *types séquences* ; elles " "acceptent donc les opérations classiques prises en charge par ces types." -#: tutorial/introduction.rst:366 +#: tutorial/introduction.rst:371 msgid ":ref:`string-methods`" msgstr ":ref:`string-methods`" -#: tutorial/introduction.rst:365 +#: tutorial/introduction.rst:370 msgid "" "Strings support a large number of methods for basic transformations and " "searching." @@ -442,28 +449,28 @@ msgstr "" "Les chaînes de caractères gèrent un large éventail de méthodes de " "transformations basiques et de recherche." -#: tutorial/introduction.rst:369 +#: tutorial/introduction.rst:374 msgid ":ref:`f-strings`" msgstr ":ref:`f-strings`" -#: tutorial/introduction.rst:369 +#: tutorial/introduction.rst:374 msgid "String literals that have embedded expressions." msgstr "Des chaînes littérales qui contiennent des expressions." -#: tutorial/introduction.rst:372 +#: tutorial/introduction.rst:377 msgid ":ref:`formatstrings`" msgstr ":ref:`formatstrings`" -#: tutorial/introduction.rst:372 +#: tutorial/introduction.rst:377 msgid "Information about string formatting with :meth:`str.format`." msgstr "" "Informations sur le formatage des chaînes avec la méthode :meth:`str.format`." -#: tutorial/introduction.rst:375 +#: tutorial/introduction.rst:380 msgid ":ref:`old-string-formatting`" msgstr ":ref:`old-string-formatting`" -#: tutorial/introduction.rst:375 +#: tutorial/introduction.rst:380 msgid "" "The old formatting operations invoked when strings are the left operand of " "the ``%`` operator are described in more detail here." @@ -471,11 +478,11 @@ msgstr "" "Description détaillée des anciennes méthodes de mise en forme, appelées " "lorsque les chaînes de caractères sont à gauche de l'opérateur ``%``." -#: tutorial/introduction.rst:382 +#: tutorial/introduction.rst:387 msgid "Lists" msgstr "Listes" -#: tutorial/introduction.rst:384 +#: tutorial/introduction.rst:389 msgid "" "Python knows a number of *compound* data types, used to group together other " "values. The most versatile is the *list*, which can be written as a list of " @@ -488,7 +495,7 @@ msgstr "" "par des virgules. Les éléments d'une liste ne sont pas obligatoirement tous " "du même type, bien qu'à l'usage ce soit souvent le cas. ::" -#: tutorial/introduction.rst:393 +#: tutorial/introduction.rst:398 msgid "" "Like strings (and all other built-in :term:`sequence` types), lists can be " "indexed and sliced::" @@ -496,7 +503,7 @@ msgstr "" "Comme les chaînes de caractères (et toute autre type de :term:`sequence`), " "les listes peuvent être indicées et découpées ::" -#: tutorial/introduction.rst:403 +#: tutorial/introduction.rst:408 msgid "" "All slice operations return a new list containing the requested elements. " "This means that the following slice returns a :ref:`shallow copy " @@ -506,11 +513,11 @@ msgstr "" "les éléments demandés. Cela signifie que l'opération suivante renvoie une :" "ref:`copie (superficielle) ` de la liste ::" -#: tutorial/introduction.rst:410 +#: tutorial/introduction.rst:415 msgid "Lists also support operations like concatenation::" msgstr "Les listes gèrent aussi les opérations comme les concaténations ::" -#: tutorial/introduction.rst:415 +#: tutorial/introduction.rst:420 msgid "" "Unlike strings, which are :term:`immutable`, lists are a :term:`mutable` " "type, i.e. it is possible to change their content::" @@ -519,7 +526,7 @@ msgstr "" "listes sont :term:`muables ` : il est possible de modifier leur " "contenu ::" -#: tutorial/introduction.rst:425 +#: tutorial/introduction.rst:430 msgid "" "You can also add new items at the end of the list, by using the :meth:`~list." "append` *method* (we will see more about methods later)::" @@ -528,7 +535,7 @@ msgstr "" "avec la méthode :meth:`~list.append` (les méthodes sont abordées plus " "tard) ::" -#: tutorial/introduction.rst:433 +#: tutorial/introduction.rst:438 msgid "" "Assignment to slices is also possible, and this can even change the size of " "the list or clear it entirely::" @@ -536,11 +543,11 @@ msgstr "" "Des affectations de tranches sont également possibles, ce qui peut même " "modifier la taille de la liste ou la vider complètement ::" -#: tutorial/introduction.rst:452 +#: tutorial/introduction.rst:457 msgid "The built-in function :func:`len` also applies to lists::" msgstr "La primitive :func:`len` s'applique aussi aux listes ::" -#: tutorial/introduction.rst:458 +#: tutorial/introduction.rst:463 msgid "" "It is possible to nest lists (create lists containing other lists), for " "example::" @@ -548,11 +555,11 @@ msgstr "" "Il est possible d'imbriquer des listes (c.-à-d. créer des listes contenant " "d'autres listes). Par exemple ::" -#: tutorial/introduction.rst:474 +#: tutorial/introduction.rst:479 msgid "First Steps Towards Programming" msgstr "Premiers pas vers la programmation" -#: tutorial/introduction.rst:476 +#: tutorial/introduction.rst:481 msgid "" "Of course, we can use Python for more complicated tasks than adding two and " "two together. For instance, we can write an initial sub-sequence of the " @@ -564,11 +571,11 @@ msgstr "" "`suite de Fibonacci `_ " "comme ceci ::" -#: tutorial/introduction.rst:496 +#: tutorial/introduction.rst:501 msgid "This example introduces several new features." msgstr "Cet exemple introduit plusieurs nouvelles fonctionnalités." -#: tutorial/introduction.rst:498 +#: tutorial/introduction.rst:503 msgid "" "The first line contains a *multiple assignment*: the variables ``a`` and " "``b`` simultaneously get the new values 0 and 1. On the last line this is " @@ -583,7 +590,7 @@ msgstr "" "avant que les affectations ne soient effectuées. Ces expressions en partie " "droite sont toujours évaluées de la gauche vers la droite." -#: tutorial/introduction.rst:504 +#: tutorial/introduction.rst:509 msgid "" "The :keyword:`while` loop executes as long as the condition (here: ``a < " "10``) remains true. In Python, like in C, any non-zero integer value is " @@ -604,7 +611,7 @@ msgstr "" "``==`` (égal), ``<=`` (inférieur ou égal), ``>=`` (supérieur ou égal) et ``!" "=`` (non égal)." -#: tutorial/introduction.rst:513 +#: tutorial/introduction.rst:518 msgid "" "The *body* of the loop is *indented*: indentation is Python's way of " "grouping statements. At the interactive prompt, you have to type a tab or " @@ -626,7 +633,7 @@ msgstr "" "venez de saisir la dernière ligne). Notez bien que toutes les lignes à " "l'intérieur d'un bloc doivent être indentées au même niveau." -#: tutorial/introduction.rst:522 +#: tutorial/introduction.rst:527 msgid "" "The :func:`print` function writes the value of the argument(s) it is given. " "It differs from just writing the expression you want to write (as we did " @@ -643,7 +650,7 @@ msgstr "" "apostrophe et une espace est insérée entre les éléments de telle sorte que " "vous pouvez facilement formater les choses, comme ceci ::" -#: tutorial/introduction.rst:533 +#: tutorial/introduction.rst:538 msgid "" "The keyword argument *end* can be used to avoid the newline after the " "output, or end the output with a different string::" @@ -651,11 +658,11 @@ msgstr "" "Le paramètre nommé *end* peut servir pour enlever le retour à la ligne ou " "pour terminer la ligne par une autre chaîne ::" -#: tutorial/introduction.rst:545 +#: tutorial/introduction.rst:550 msgid "Footnotes" msgstr "Notes" -#: tutorial/introduction.rst:546 +#: tutorial/introduction.rst:551 msgid "" "Since ``**`` has higher precedence than ``-``, ``-3**2`` will be interpreted " "as ``-(3**2)`` and thus result in ``-9``. To avoid this and get ``9``, you " @@ -665,7 +672,7 @@ msgstr "" "** 2)`` et vaut donc ``-9``. Pour éviter cela et obtenir ``9``, utilisez des " "parenthèses : ``(-3) ** 2``." -#: tutorial/introduction.rst:550 +#: tutorial/introduction.rst:555 msgid "" "Unlike other languages, special characters such as ``\\n`` have the same " "meaning with both single (``'...'``) and double (``\"...\"``) quotes. The " diff --git a/tutorial/modules.po b/tutorial/modules.po index 1613b6d07b..b8054fd112 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-05-24 18:32+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -582,13 +582,14 @@ msgstr "" "path`` un sous-dossier du nom du paquet." #: tutorial/modules.rst:435 +#, fuzzy msgid "" "The :file:`__init__.py` files are required to make Python treat directories " "containing the file as packages. This prevents directories with a common " -"name, such as ``string``, unintentionally hiding valid modules that occur " -"later on the module search path. In the simplest case, :file:`__init__.py` " -"can just be an empty file, but it can also execute initialization code for " -"the package or set the ``__all__`` variable, described later." +"name, such as ``string``, from unintentionally hiding valid modules that " +"occur later on the module search path. In the simplest case, :file:`__init__." +"py` can just be an empty file, but it can also execute initialization code " +"for the package or set the ``__all__`` variable, described later." msgstr "" "Les fichiers :file:`__init__.py` sont nécessaires pour que Python considère " "un dossier contenant ce fichier comme un paquet. Cela évite que des dossiers " diff --git a/tutorial/venv.po b/tutorial/venv.po index 8d007cb810..fa4ca4c4d4 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-12-12 15:21+0100\n" "Last-Translator: Vincent Poulailleau \n" "Language-Team: FRENCH \n" @@ -174,8 +174,8 @@ msgstr "Gestion des paquets avec *pip*" #, fuzzy msgid "" "You can install, upgrade, and remove packages using a program called :" -"program:`pip`. By default ``pip`` will install packages from the Python " -"Package Index, . You can browse the Python Package Index " +"program:`pip`. By default ``pip`` will install packages from the `Python " +"Package Index `_. You can browse the Python Package Index " "by going to it in your web browser." msgstr "" "Vous pouvez installer, mettre à jour et supprimer des paquets en utilisant " diff --git a/using/configure.po b/using/configure.po index 632cbf6053..c193f9c476 100644 --- a/using/configure.po +++ b/using/configure.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" @@ -213,6 +213,32 @@ msgstr "Options d'installation" #: using/configure.rst:125 msgid "" +"Install architecture-independent files in PREFIX. On Unix, it defaults to :" +"file:`/usr/local`." +msgstr "" + +#: using/configure.rst:128 +msgid "This value can be retrived at runtime using :data:`sys.prefix`." +msgstr "" + +#: using/configure.rst:130 +msgid "" +"As an example, one can use ``--prefix=\"$HOME/.local/\"`` to install a " +"Python in its home directory." +msgstr "" + +#: using/configure.rst:135 +msgid "" +"Install architecture-dependent files in EPREFIX, defaults to :option:`--" +"prefix`." +msgstr "" + +#: using/configure.rst:137 +msgid "This value can be retrived at runtime using :data:`sys.exec_prefix`." +msgstr "" + +#: using/configure.rst:141 +msgid "" "Don't build nor install test modules, like the :mod:`test` package or the :" "mod:`_testcapi` extension module (built and installed by default)." msgstr "" @@ -220,13 +246,13 @@ msgstr "" "paquet :mod:`test` et le module d'extension :mod:`_testcapi` (compilés et " "installés par défaut)." -#: using/configure.rst:132 +#: using/configure.rst:148 msgid "Select the :mod:`ensurepip` command run on Python installation:" msgstr "" "Sélectionne la commande :mod:`ensurepip` exécutée à l'installation de " "Python :" -#: using/configure.rst:134 +#: using/configure.rst:150 msgid "" "``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " "command." @@ -234,20 +260,20 @@ msgstr "" "``upgrade`` (défaut) : exécute la commande ``python -m ensurepip --" "altinstall --upgrade`` ;" -#: using/configure.rst:136 +#: using/configure.rst:152 msgid "``install``: run ``python -m ensurepip --altinstall`` command;" msgstr "" "``install`` : exécute la commande ``python -m ensurepip --altinstall`` ;" -#: using/configure.rst:137 +#: using/configure.rst:153 msgid "``no``: don't run ensurepip;" msgstr "``no`` : n'exécute pas *ensurepip*." -#: using/configure.rst:143 +#: using/configure.rst:159 msgid "Performance options" msgstr "Options de performance" -#: using/configure.rst:145 +#: using/configure.rst:161 msgid "" "Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " "is recommended for best performance." @@ -255,7 +281,7 @@ msgstr "" "Pour de meilleures performances, il est recommandé de configurer Python avec " "``--enable-optimizations --with-lto`` (*PGO* + *LTO*)." -#: using/configure.rst:150 +#: using/configure.rst:166 msgid "" "Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " "(disabled by default)." @@ -263,7 +289,7 @@ msgstr "" "Active l'optimisation guidée par profilage (*Profile Guided Optimization*, " "PGO) en utilisant :envvar:`PROFILE_TASK` (désactivé par défaut)." -#: using/configure.rst:153 +#: using/configure.rst:169 msgid "" "The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " "GCC also requires it: GCC is just an alias to Clang on macOS." @@ -272,7 +298,7 @@ msgstr "" "profdata``. Sur macOS, GCC est juste un alias vers Clang et partage donc " "cette contrainte." -#: using/configure.rst:156 +#: using/configure.rst:172 msgid "" "Disable also semantic interposition in libpython if ``--enable-shared`` and " "GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " @@ -282,11 +308,11 @@ msgstr "" "utilisé avec ``--enable-shared`` : ajoute l'option ``-fno-semantic-" "interposition`` à la compilation et à l'édition des liens." -#: using/configure.rst:162 +#: using/configure.rst:178 msgid "Use ``-fno-semantic-interposition`` on GCC." msgstr "Utilisation de ``-fno-semantic-interposition`` avec GCC." -#: using/configure.rst:167 +#: using/configure.rst:183 msgid "" "Environment variable used in the Makefile: Python command line arguments for " "the PGO generation task." @@ -294,17 +320,17 @@ msgstr "" "Variable d'environnement utilisée dans le ``Makefile`` : arguments Python " "utilisés pour la tâche de préparation de la PGO." -#: using/configure.rst:170 +#: using/configure.rst:186 msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." msgstr "Par défaut : ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -#: using/configure.rst:176 +#: using/configure.rst:192 msgid "Enable Link Time Optimization (LTO) in any build (disabled by default)." msgstr "" "Active l'optimisation à l'édition des liens (*Link Time Optimization*, LTO) " "à la compilation (désactivé par défaut)." -#: using/configure.rst:178 +#: using/configure.rst:194 msgid "" "The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " "as an LTO-aware linker (``ld.gold`` or ``lld``)." @@ -312,7 +338,7 @@ msgstr "" "Le compilateur C Clang nécessite ``llvm-ar`` pour la LTO (``ar`` sur macOS), " "ainsi qu'un éditeur de liens implémentant la LTO (``ld.gold`` ou ``lld``)." -#: using/configure.rst:185 +#: using/configure.rst:201 msgid "" "Enable computed gotos in evaluation loop (enabled by default on supported " "compilers)." @@ -320,7 +346,7 @@ msgstr "" "Autorise les *gotos* calculés dans les boucles (activé par défaut pour les " "compilateurs qui le gèrent)." -#: using/configure.rst:190 +#: using/configure.rst:206 msgid "" "Disable the specialized Python memory allocator :ref:`pymalloc ` " "(enabled by default)." @@ -328,11 +354,11 @@ msgstr "" "Désactive l'allocateur spécialisé de mémoire de Python :ref:`pymalloc " "` (activé par défaut)." -#: using/configure.rst:193 +#: using/configure.rst:209 msgid "See also :envvar:`PYTHONMALLOC` environment variable." msgstr "Voir aussi la variable d'environnement :envvar:`PYTHONMALLOC`." -#: using/configure.rst:197 +#: using/configure.rst:213 msgid "" "Disable static documentation strings to reduce the memory footprint (enabled " "by default). Documentation strings defined in Python are not affected." @@ -341,23 +367,23 @@ msgstr "" "mémoire (activé par défaut). Les chaînes définies dans Python ne sont pas " "affectées." -#: using/configure.rst:200 +#: using/configure.rst:216 msgid "Don't define the ``WITH_DOC_STRINGS`` macro." msgstr "Ne définit pas la macro ``WITH_DOC_STRINGS``." -#: using/configure.rst:202 +#: using/configure.rst:218 msgid "See the ``PyDoc_STRVAR()`` macro." msgstr "Voir la macro ``PyDoc_STRVAR()``." -#: using/configure.rst:206 +#: using/configure.rst:222 msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." msgstr "Active le profilage du code C avec ``gprof`` (désactivé par défaut)." -#: using/configure.rst:212 +#: using/configure.rst:228 msgid "Python Debug Build" msgstr "Compilation de Python en mode débogage" -#: using/configure.rst:214 +#: using/configure.rst:230 msgid "" "A debug build is Python built with the :option:`--with-pydebug` configure " "option." @@ -365,11 +391,11 @@ msgstr "" "Une compilation de Python en mode débogage se fait avec l'option de " "configuration :option:`--with-pydebug`." -#: using/configure.rst:217 +#: using/configure.rst:233 msgid "Effects of a debug build:" msgstr "Effets du mode débogage :" -#: using/configure.rst:219 +#: using/configure.rst:235 msgid "" "Display all warnings by default: the list of default warning filters is " "empty in the :mod:`warnings` module." @@ -377,29 +403,29 @@ msgstr "" "Affichage de tous les avertissements par défaut : le filtre par défaut des " "avertissements est vide dans le module :mod:`warnings`." -#: using/configure.rst:221 +#: using/configure.rst:237 msgid "Add ``d`` to :data:`sys.abiflags`." msgstr "Ajout de ``d`` à :data:`sys.abiflags`." -#: using/configure.rst:222 +#: using/configure.rst:238 msgid "Add :func:`sys.gettotalrefcount` function." msgstr "Ajout de la fonction :func:`sys.gettotalrefcount`." -#: using/configure.rst:223 +#: using/configure.rst:239 msgid "Add :option:`-X showrefcount <-X>` command line option." msgstr "Ajout de l'option de ligne de commande :option:`-X showrefcount <-X>`." -#: using/configure.rst:224 +#: using/configure.rst:240 msgid "Add :envvar:`PYTHONTHREADDEBUG` environment variable." msgstr "Ajout de la variable d'environnement :envvar:`PYTHONTHREADDEBUG`." -#: using/configure.rst:225 +#: using/configure.rst:241 msgid "" "Add support for the ``__ltrace__`` variable: enable low-level tracing in the " "bytecode evaluation loop if the variable is defined." msgstr "" -#: using/configure.rst:227 +#: using/configure.rst:243 msgid "" "Install :ref:`debug hooks on memory allocators ` " "to detect buffer overflow and other memory errors." @@ -408,11 +434,11 @@ msgstr "" "allocators>` pour détecter les débordements de mémoire tampon et autres " "erreurs de mémoire." -#: using/configure.rst:229 +#: using/configure.rst:245 msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." msgstr "Définition des macros ``Py_DEBUG`` et ``Py_REF_DEBUG``." -#: using/configure.rst:230 +#: using/configure.rst:246 msgid "" "Add runtime checks: code surroundeded by ``#ifdef Py_DEBUG`` and ``#endif``. " "Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " @@ -420,11 +446,11 @@ msgid "" "option). Main runtime checks:" msgstr "" -#: using/configure.rst:235 +#: using/configure.rst:251 msgid "Add sanity checks on the function arguments." msgstr "Ajout des contrôles d'intégrité sur les arguments de fonction." -#: using/configure.rst:236 +#: using/configure.rst:252 msgid "" "Unicode and int objects are created with their memory filled with a pattern " "to detect usage of uninitialized objects." @@ -433,7 +459,7 @@ msgstr "" "l'initialisation de leur mémoire afin de détecter l'usage d'objets non " "initialisés." -#: using/configure.rst:238 +#: using/configure.rst:254 msgid "" "Ensure that functions which can clear or replace the current exception are " "not called with an exception raised." @@ -441,7 +467,7 @@ msgstr "" "S'assurer que les fonctions qui peuvent effacer ou remplacer l'exception " "courante ne sont pas appelées avec une exception levée." -#: using/configure.rst:240 +#: using/configure.rst:256 msgid "" "The garbage collector (:func:`gc.collect` function) runs some basic checks " "on objects consistency." @@ -449,7 +475,7 @@ msgstr "" "Le ramasse-miettes (la fonction :func:`gc.collect`) effectue quelques tests " "basiques relatifs à la cohérence des objets." -#: using/configure.rst:242 +#: using/configure.rst:258 msgid "" "The :c:macro:`Py_SAFE_DOWNCAST()` macro checks for integer underflow and " "overflow when downcasting from wide types to narrow types." @@ -457,7 +483,7 @@ msgstr "" "La macro :c:macro:`Py_SAFE_DOWNCAST()` vérifie s'il y a des débordements " "d'entier lors du passage de types grands vers des types plus petits." -#: using/configure.rst:245 +#: using/configure.rst:261 msgid "" "See also the :ref:`Python Development Mode ` and the :option:`--" "with-trace-refs` configure option." @@ -465,7 +491,7 @@ msgstr "" "Voir aussi le :ref:`mode de développement Python ` et l'option de " "configuration :option:`--with-trace-refs`." -#: using/configure.rst:248 +#: using/configure.rst:264 msgid "" "Release builds and debug builds are now ABI compatible: defining the " "``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the :" @@ -473,391 +499,391 @@ msgid "" "incompatibility." msgstr "" -#: using/configure.rst:256 +#: using/configure.rst:272 msgid "Debug options" msgstr "" -#: using/configure.rst:260 +#: using/configure.rst:276 msgid "" ":ref:`Build Python in debug mode `: define the ``Py_DEBUG`` " "macro (disabled by default)." msgstr "" -#: using/configure.rst:265 +#: using/configure.rst:281 msgid "Enable tracing references for debugging purpose (disabled by default)." msgstr "" -#: using/configure.rst:267 +#: using/configure.rst:283 msgid "Effects:" msgstr "" -#: using/configure.rst:269 +#: using/configure.rst:285 msgid "Define the ``Py_TRACE_REFS`` macro." msgstr "" -#: using/configure.rst:270 +#: using/configure.rst:286 msgid "Add :func:`sys.getobjects` function." msgstr "" -#: using/configure.rst:271 +#: using/configure.rst:287 msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." msgstr "" -#: using/configure.rst:273 +#: using/configure.rst:289 msgid "" "This build is not ABI compatible with release build (default build) or debug " "build (``Py_DEBUG`` and ``Py_REF_DEBUG`` macros)." msgstr "" -#: using/configure.rst:280 +#: using/configure.rst:296 msgid "" "Build with C assertions enabled (default is no): ``assert(...);`` and " "``_PyObject_ASSERT(...);``." msgstr "" -#: using/configure.rst:283 +#: using/configure.rst:299 msgid "" "If set, the ``NDEBUG`` macro is not defined in the :envvar:`OPT` compiler " "variable." msgstr "" -#: using/configure.rst:286 +#: using/configure.rst:302 msgid "" "See also the :option:`--with-pydebug` option (:ref:`debug build `) which also enables assertions." msgstr "" -#: using/configure.rst:293 +#: using/configure.rst:309 msgid "Enable Valgrind support (default is no)." msgstr "" -#: using/configure.rst:297 +#: using/configure.rst:313 msgid "Enable DTrace support (default is no)." msgstr "" -#: using/configure.rst:299 +#: using/configure.rst:315 msgid "" "See :ref:`Instrumenting CPython with DTrace and SystemTap `." msgstr "" -#: using/configure.rst:306 +#: using/configure.rst:322 msgid "" "Enable AddressSanitizer memory error detector, ``asan`` (default is no)." msgstr "" -#: using/configure.rst:312 +#: using/configure.rst:328 msgid "" "Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." msgstr "" -#: using/configure.rst:318 +#: using/configure.rst:334 msgid "" "Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` " "(default is no)." msgstr "" -#: using/configure.rst:325 +#: using/configure.rst:341 msgid "Linker options" msgstr "" -#: using/configure.rst:329 +#: using/configure.rst:345 msgid "Enable building a shared Python library: ``libpython`` (default is no)." msgstr "" -#: using/configure.rst:333 +#: using/configure.rst:349 msgid "" "Do not build ``libpythonMAJOR.MINOR.a`` and do not install ``python.o`` " "(built and enabled by default)." msgstr "" -#: using/configure.rst:340 +#: using/configure.rst:356 msgid "Libraries options" msgstr "" -#: using/configure.rst:344 +#: using/configure.rst:360 msgid "Link against additional libraries (default is no)." msgstr "" -#: using/configure.rst:348 +#: using/configure.rst:364 msgid "" "Build the :mod:`pyexpat` module using an installed ``expat`` library " "(default is no)." msgstr "" -#: using/configure.rst:353 +#: using/configure.rst:369 msgid "" "Build the :mod:`_ctypes` extension module using an installed ``ffi`` " "library, see the :mod:`ctypes` module (default is system-dependent)." msgstr "" -#: using/configure.rst:358 +#: using/configure.rst:374 msgid "" "Build the ``_decimal`` extension module using an installed ``mpdec`` " "library, see the :mod:`decimal` module (default is no)." msgstr "" -#: using/configure.rst:365 +#: using/configure.rst:381 msgid "Use ``editline`` library for backend of the :mod:`readline` module." msgstr "" -#: using/configure.rst:367 +#: using/configure.rst:383 msgid "Define the ``WITH_EDITLINE`` macro." msgstr "" -#: using/configure.rst:373 +#: using/configure.rst:389 msgid "Don't build the :mod:`readline` module (built by default)." msgstr "" -#: using/configure.rst:375 +#: using/configure.rst:391 msgid "Don't define the ``HAVE_LIBREADLINE`` macro." msgstr "" -#: using/configure.rst:381 +#: using/configure.rst:397 msgid "Override search for Tcl and Tk include files." msgstr "" -#: using/configure.rst:385 +#: using/configure.rst:401 msgid "Override search for Tcl and Tk libraries." msgstr "" -#: using/configure.rst:389 +#: using/configure.rst:405 msgid "" "Override ``libm`` math library to *STRING* (default is system-dependent)." msgstr "" -#: using/configure.rst:393 +#: using/configure.rst:409 msgid "Override ``libc`` C library to *STRING* (default is system-dependent)." msgstr "" -#: using/configure.rst:397 +#: using/configure.rst:413 msgid "Root of the OpenSSL directory." msgstr "" -#: using/configure.rst:403 +#: using/configure.rst:419 msgid "Set runtime library directory (rpath) for OpenSSL libraries:" msgstr "" -#: using/configure.rst:405 +#: using/configure.rst:421 msgid "``no`` (default): don't set rpath;" msgstr "" -#: using/configure.rst:406 +#: using/configure.rst:422 msgid "" "``auto``: auto-detect rpath from :option:`--with-openssl` and ``pkg-config``;" msgstr "" -#: using/configure.rst:408 +#: using/configure.rst:424 msgid "*DIR*: set an explicit rpath." msgstr "" -#: using/configure.rst:414 +#: using/configure.rst:430 msgid "Security Options" msgstr "" -#: using/configure.rst:418 +#: using/configure.rst:434 msgid "Select hash algorithm for use in ``Python/pyhash.c``:" msgstr "" -#: using/configure.rst:420 +#: using/configure.rst:436 msgid "``siphash24`` (default)." msgstr "" -#: using/configure.rst:421 +#: using/configure.rst:437 msgid "``fnv``;" msgstr "" -#: using/configure.rst:427 +#: using/configure.rst:443 msgid "Built-in hash modules:" msgstr "" -#: using/configure.rst:429 +#: using/configure.rst:445 msgid "``md5``;" msgstr "" -#: using/configure.rst:430 +#: using/configure.rst:446 msgid "``sha1``;" msgstr "" -#: using/configure.rst:431 +#: using/configure.rst:447 msgid "``sha256``;" msgstr "" -#: using/configure.rst:432 +#: using/configure.rst:448 msgid "``sha512``;" msgstr "" -#: using/configure.rst:433 +#: using/configure.rst:449 msgid "``sha3`` (with shake);" msgstr "" -#: using/configure.rst:434 +#: using/configure.rst:450 msgid "``blake2``." msgstr "" -#: using/configure.rst:440 +#: using/configure.rst:456 msgid "Override the OpenSSL default cipher suites string:" msgstr "" -#: using/configure.rst:442 +#: using/configure.rst:458 msgid "``python`` (default): use Python's preferred selection;" msgstr "" -#: using/configure.rst:443 +#: using/configure.rst:459 msgid "``openssl``: leave OpenSSL's defaults untouched;" msgstr "" -#: using/configure.rst:444 +#: using/configure.rst:460 msgid "*STRING*: use a custom string" msgstr "" -#: using/configure.rst:446 +#: using/configure.rst:462 msgid "See the :mod:`ssl` module." msgstr "" -#: using/configure.rst:452 +#: using/configure.rst:468 msgid "" "The settings ``python`` and *STRING* also set TLS 1.2 as minimum protocol " "version." msgstr "" -#: using/configure.rst:456 +#: using/configure.rst:472 msgid "macOS Options" msgstr "" -#: using/configure.rst:458 +#: using/configure.rst:474 msgid "See ``Mac/README.rst``." msgstr "" -#: using/configure.rst:463 +#: using/configure.rst:479 msgid "" "Create a universal binary build. *SDKDIR* specifies which macOS SDK should " "be used to perform the build (default is no)." msgstr "" -#: using/configure.rst:469 +#: using/configure.rst:485 msgid "" "Create a Python.framework rather than a traditional Unix install. Optional " "*INSTALLDIR* specifies the installation path (default is no)." msgstr "" -#: using/configure.rst:474 +#: using/configure.rst:490 msgid "" "Specify the kind of universal binary that should be created. This option is " "only valid when :option:`--enable-universalsdk` is set." msgstr "" -#: using/configure.rst:477 +#: using/configure.rst:493 msgid "Options:" msgstr "" -#: using/configure.rst:479 +#: using/configure.rst:495 msgid "``universal2``;" msgstr "" -#: using/configure.rst:480 +#: using/configure.rst:496 msgid "``32-bit``;" msgstr "" -#: using/configure.rst:481 +#: using/configure.rst:497 msgid "``64-bit``;" msgstr "" -#: using/configure.rst:482 +#: using/configure.rst:498 msgid "``3-way``;" msgstr "" -#: using/configure.rst:483 +#: using/configure.rst:499 msgid "``intel``;" msgstr "" -#: using/configure.rst:484 +#: using/configure.rst:500 msgid "``intel-32``;" msgstr "" -#: using/configure.rst:485 +#: using/configure.rst:501 msgid "``intel-64``;" msgstr "" -#: using/configure.rst:486 +#: using/configure.rst:502 msgid "``all``." msgstr "" -#: using/configure.rst:490 +#: using/configure.rst:506 msgid "" "Specify the name for the python framework on macOS only valid when :option:" "`--enable-framework` is set (default: ``Python``)." msgstr "" -#: using/configure.rst:495 +#: using/configure.rst:511 msgid "Python Build System" msgstr "" -#: using/configure.rst:498 +#: using/configure.rst:514 msgid "Main files of the build system" msgstr "" -#: using/configure.rst:500 +#: using/configure.rst:516 msgid ":file:`configure.ac` => :file:`configure`;" msgstr "" -#: using/configure.rst:501 +#: using/configure.rst:517 msgid "" ":file:`Makefile.pre.in` => :file:`Makefile` (created by :file:`configure`);" msgstr "" -#: using/configure.rst:502 +#: using/configure.rst:518 msgid ":file:`pyconfig.h` (created by :file:`configure`);" msgstr "" -#: using/configure.rst:503 +#: using/configure.rst:519 msgid "" ":file:`Modules/Setup`: C extensions built by the Makefile using :file:" "`Module/makesetup` shell script;" msgstr "" -#: using/configure.rst:505 +#: using/configure.rst:521 msgid ":file:`setup.py`: C extensions built using the :mod:`distutils` module." msgstr "" -#: using/configure.rst:508 +#: using/configure.rst:524 msgid "Main build steps" msgstr "" -#: using/configure.rst:510 +#: using/configure.rst:526 msgid "C files (``.c``) are built as object files (``.o``)." msgstr "" -#: using/configure.rst:511 +#: using/configure.rst:527 msgid "A static ``libpython`` library (``.a``) is created from objects files." msgstr "" -#: using/configure.rst:512 +#: using/configure.rst:528 msgid "" "``python.o`` and the static ``libpython`` library are linked into the final " "``python`` program." msgstr "" -#: using/configure.rst:514 +#: using/configure.rst:530 msgid "" "C extensions are built by the Makefile (see :file:`Modules/Setup`) and " "``python setup.py build``." msgstr "" -#: using/configure.rst:518 +#: using/configure.rst:534 msgid "Main Makefile targets" msgstr "" -#: using/configure.rst:520 +#: using/configure.rst:536 msgid "``make``: Build Python with the standard library." msgstr "" -#: using/configure.rst:521 +#: using/configure.rst:537 msgid "" "``make platform:``: build the ``python`` program, but don't build the " "standard library extension modules." msgstr "" -#: using/configure.rst:523 +#: using/configure.rst:539 msgid "" "``make profile-opt``: build Python using Profile Guided Optimization (PGO). " "You can use the configure :option:`--enable-optimizations` option to make " @@ -865,53 +891,53 @@ msgid "" "``make``)." msgstr "" -#: using/configure.rst:527 +#: using/configure.rst:543 msgid "" "``make buildbottest``: Build Python and run the Python test suite, the same " "way than buildbots test Python. Set ``TESTTIMEOUT`` variable (in seconds) to " "change the test timeout (1200 by default: 20 minutes)." msgstr "" -#: using/configure.rst:530 +#: using/configure.rst:546 msgid "``make install``: Build and install Python." msgstr "" -#: using/configure.rst:531 +#: using/configure.rst:547 msgid "" "``make regen-all``: Regenerate (almost) all generated files; ``make regen-" "stdlib-module-names`` and ``autoconf`` must be run separately for the " "remaining generated files." msgstr "" -#: using/configure.rst:534 +#: using/configure.rst:550 msgid "``make clean``: Remove built files." msgstr "" -#: using/configure.rst:535 +#: using/configure.rst:551 msgid "" "``make distclean``: Same than ``make clean``, but remove also files created " "by the configure script." msgstr "" -#: using/configure.rst:539 +#: using/configure.rst:555 msgid "C extensions" msgstr "" -#: using/configure.rst:541 +#: using/configure.rst:557 msgid "" "Some C extensions are built as built-in modules, like the ``sys`` module. " "They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined. Built-in " "modules have no ``__file__`` attribute::" msgstr "" -#: using/configure.rst:553 +#: using/configure.rst:569 msgid "" "Other C extensins are built as dynamic libraries, like the ``_asyncio`` " "module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. " "Example on Linux x86-64::" msgstr "" -#: using/configure.rst:563 +#: using/configure.rst:579 msgid "" ":file:`Modules/Setup` is used to generate Makefile targets to build C " "extensions. At the beginning of the files, C extensions are built as built-" @@ -919,322 +945,322 @@ msgid "" "dynamic libraries." msgstr "" -#: using/configure.rst:567 +#: using/configure.rst:583 msgid "" "The :file:`setup.py` script only builds C extensions as shared libraries " "using the :mod:`distutils` module." msgstr "" -#: using/configure.rst:570 +#: using/configure.rst:586 msgid "" "The :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_API()` and :c:macro:" "`PyMODINIT_FUNC()` macros of :file:`Include/pyport.h` are defined " "differently depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:" msgstr "" -#: using/configure.rst:574 +#: using/configure.rst:590 msgid "Use ``Py_EXPORTED_SYMBOL`` if the ``Py_BUILD_CORE_MODULE`` is defined" msgstr "" -#: using/configure.rst:575 +#: using/configure.rst:591 msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." msgstr "" -#: using/configure.rst:577 +#: using/configure.rst:593 msgid "" "If the ``Py_BUILD_CORE_BUILTIN`` macro is used by mistake on a C extension " "built as a shared library, its ``PyInit_xxx()`` function is not exported, " "causing an :exc:`ImportError` on import." msgstr "" -#: using/configure.rst:583 +#: using/configure.rst:599 msgid "Compiler and linker flags" msgstr "" -#: using/configure.rst:585 +#: using/configure.rst:601 msgid "" "Options set by the ``./configure`` script and environment variables and used " "by ``Makefile``." msgstr "" -#: using/configure.rst:589 +#: using/configure.rst:605 msgid "Preprocessor flags" msgstr "" -#: using/configure.rst:593 +#: using/configure.rst:609 msgid "" "Value of :envvar:`CPPFLAGS` variable passed to the ``./configure`` script." msgstr "" -#: using/configure.rst:599 +#: using/configure.rst:615 msgid "" "(Objective) C/C++ preprocessor flags, e.g. ``-I`` if you have " "headers in a nonstandard directory ````." msgstr "" -#: using/configure.rst:797 +#: using/configure.rst:813 msgid "" "Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " "value for setup.py to be able to build extension modules using the " "directories specified in the environment variables." msgstr "" -#: using/configure.rst:612 +#: using/configure.rst:628 msgid "" "Extra preprocessor flags added for building the interpreter object files." msgstr "" -#: using/configure.rst:614 +#: using/configure.rst:630 msgid "" "Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " "$(CPPFLAGS)``." msgstr "" -#: using/configure.rst:619 +#: using/configure.rst:635 msgid "Compiler flags" msgstr "" -#: using/configure.rst:623 +#: using/configure.rst:639 msgid "C compiler command." msgstr "" -#: using/configure.rst:625 +#: using/configure.rst:641 msgid "Example: ``gcc -pthread``." msgstr "" -#: using/configure.rst:629 +#: using/configure.rst:645 msgid "" "C compiler command used to build the ``main()`` function of programs like " "``python``." msgstr "" -#: using/configure.rst:632 +#: using/configure.rst:648 msgid "" "Variable set by the :option:`--with-cxx-main` option of the configure script." msgstr "" -#: using/configure.rst:635 +#: using/configure.rst:651 msgid "Default: ``$(CC)``." msgstr "" -#: using/configure.rst:639 +#: using/configure.rst:655 msgid "C++ compiler command." msgstr "" -#: using/configure.rst:641 +#: using/configure.rst:657 msgid "Used if the :option:`--with-cxx-main` option is used." msgstr "" -#: using/configure.rst:643 +#: using/configure.rst:659 msgid "Example: ``g++ -pthread``." msgstr "" -#: using/configure.rst:647 +#: using/configure.rst:663 msgid "C compiler flags." msgstr "" -#: using/configure.rst:651 +#: using/configure.rst:667 msgid "" ":envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C " "extensions. Use it when a compiler flag should *not* be part of the " "distutils :envvar:`CFLAGS` once Python is installed (:issue:`21121`)." msgstr "" -#: using/configure.rst:655 +#: using/configure.rst:671 msgid "In particular, :envvar:`CFLAGS` should not contain:" msgstr "" -#: using/configure.rst:657 +#: using/configure.rst:673 msgid "" "the compiler flag ``-I`` (for setting the search path for include files). " "The ``-I`` flags are processed from left to right, and any flags in :envvar:" "`CFLAGS` would take precedence over user- and package-supplied ``-I`` flags." msgstr "" -#: using/configure.rst:662 +#: using/configure.rst:678 msgid "" "hardening flags such as ``-Werror`` because distributions cannot control " "whether packages installed by users conform to such heightened standards." msgstr "" -#: using/configure.rst:670 +#: using/configure.rst:686 msgid "Extra C compiler flags." msgstr "" -#: using/configure.rst:674 +#: using/configure.rst:690 msgid "" "Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." msgstr "" -#: using/configure.rst:681 +#: using/configure.rst:697 msgid "" "Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " "script." msgstr "" -#: using/configure.rst:688 +#: using/configure.rst:704 msgid "Base compiler flags." msgstr "" -#: using/configure.rst:692 +#: using/configure.rst:708 msgid "Optimization flags." msgstr "" -#: using/configure.rst:696 +#: using/configure.rst:712 msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." msgstr "" -#: using/configure.rst:702 +#: using/configure.rst:718 msgid "Compiler flags used to build a shared library." msgstr "" -#: using/configure.rst:704 +#: using/configure.rst:720 msgid "For example, ``-fPIC`` is used on Linux and on BSD." msgstr "" -#: using/configure.rst:708 +#: using/configure.rst:724 msgid "Extra C flags added for building the interpreter object files." msgstr "" -#: using/configure.rst:710 +#: using/configure.rst:726 msgid "" "Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty " "string otherwise." msgstr "" -#: using/configure.rst:715 +#: using/configure.rst:731 msgid "" "Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " "$(EXTRA_CFLAGS)``." msgstr "" -#: using/configure.rst:719 +#: using/configure.rst:735 msgid "" "Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." msgstr "" -#: using/configure.rst:725 +#: using/configure.rst:741 msgid "C flags used for building the interpreter object files." msgstr "" -#: using/configure.rst:727 +#: using/configure.rst:743 msgid "" "Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " "$(CFLAGSFORSHARED)``." msgstr "" -#: using/configure.rst:733 +#: using/configure.rst:749 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." msgstr "" -#: using/configure.rst:739 +#: using/configure.rst:755 msgid "" "Compiler flags to build a standard library extension module as a built-in " "module, like the :mod:`posix` module." msgstr "" -#: using/configure.rst:742 +#: using/configure.rst:758 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." msgstr "" -#: using/configure.rst:748 +#: using/configure.rst:764 msgid "Purify command. Purify is a memory debugger program." msgstr "" -#: using/configure.rst:750 +#: using/configure.rst:766 msgid "Default: empty string (not used)." msgstr "" -#: using/configure.rst:754 +#: using/configure.rst:770 msgid "Linker flags" msgstr "" -#: using/configure.rst:758 +#: using/configure.rst:774 msgid "" "Linker command used to build programs like ``python`` and ``_testembed``." msgstr "" -#: using/configure.rst:760 +#: using/configure.rst:776 msgid "Default: ``$(PURIFY) $(MAINCC)``." msgstr "" -#: using/configure.rst:764 +#: using/configure.rst:780 msgid "" "Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." msgstr "" -#: using/configure.rst:766 +#: using/configure.rst:782 msgid "" "Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " "them on the command line to append to these values without stomping the pre-" "set values." msgstr "" -#: using/configure.rst:774 +#: using/configure.rst:790 msgid "" ":envvar:`LDFLAGS_NODIST` is used in the same manner as :envvar:" "`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of the " "distutils :envvar:`LDFLAGS` once Python is installed (:issue:`35257`)." msgstr "" -#: using/configure.rst:778 +#: using/configure.rst:794 msgid "In particular, :envvar:`LDFLAGS` should not contain:" msgstr "" -#: using/configure.rst:780 +#: using/configure.rst:796 msgid "" "the compiler flag ``-L`` (for setting the search path for libraries). The ``-" "L`` flags are processed from left to right, and any flags in :envvar:" "`LDFLAGS` would take precedence over user- and package-supplied ``-L`` flags." msgstr "" -#: using/configure.rst:787 +#: using/configure.rst:803 msgid "" "Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " "script." msgstr "" -#: using/configure.rst:794 +#: using/configure.rst:810 msgid "" "Linker flags, e.g. ``-L`` if you have libraries in a nonstandard " "directory ````." msgstr "" -#: using/configure.rst:803 +#: using/configure.rst:819 msgid "" "Linker flags to pass libraries to the linker when linking the Python " "executable." msgstr "" -#: using/configure.rst:806 +#: using/configure.rst:822 msgid "Example: ``-lrt``." msgstr "" -#: using/configure.rst:810 +#: using/configure.rst:826 msgid "Command to build a shared library." msgstr "" -#: using/configure.rst:812 +#: using/configure.rst:828 msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." msgstr "" -#: using/configure.rst:816 +#: using/configure.rst:832 msgid "Command to build ``libpython`` shared library." msgstr "" -#: using/configure.rst:818 +#: using/configure.rst:834 msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." msgstr "" -#: using/configure.rst:822 +#: using/configure.rst:838 msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." msgstr "" -#: using/configure.rst:826 +#: using/configure.rst:842 msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." msgstr "" -#: using/configure.rst:832 +#: using/configure.rst:848 msgid "Linker flags used for building the interpreter object files." msgstr "" diff --git a/using/unix.po b/using/unix.po index b8dee8c061..b28c86ac98 100644 --- a/using/unix.po +++ b/using/unix.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2021-10-22 01:46+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" @@ -166,11 +166,12 @@ msgid "Python-related paths and files" msgstr "Fichiers et chemins liés à Python" #: using/unix.rst:95 +#, fuzzy msgid "" "These are subject to difference depending on local installation " -"conventions; :envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` " -"(``${exec_prefix}``) are installation-dependent and should be interpreted as " -"for GNU software; they may be the same." +"conventions; :option:`prefix <--prefix>` and :option:`exec_prefix <--exec-" +"prefix>` are installation-dependent and should be interpreted as for GNU " +"software; they may be the same." msgstr "" "Ceux-ci sont sujets à des différences en fonction des conventions locales " "d'installation ; :envvar:`prefix` (``${prefix}``) et :envvar:`exec_prefix` " diff --git a/using/windows.po b/using/windows.po index 0ecb4b9e17..5d6e5e627a 100644 --- a/using/windows.po +++ b/using/windows.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 16:02+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -1698,11 +1698,12 @@ msgstr "" "installé. Maintenant, essayez de changer la première ligne en :" #: using/windows.rst:780 +#, fuzzy msgid "" "Re-executing the command should now print the latest Python 3.x information. " "As with the above command-line examples, you can specify a more explicit " "version qualifier. Assuming you have Python 3.7 installed, try changing the " -"first line to ``#! python3.7`` and you should find the |version| version " +"first line to ``#! python3.7`` and you should find the 3.7 version " "information printed." msgstr "" "La commande doit maintenant afficher les dernières informations de Python 3." diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index cfed774142..ff4f55da8b 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2018-08-01 00:07+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" @@ -462,11 +462,10 @@ msgstr "" #: whatsnew/2.2.rst:398 msgid "" -"https://docs.python.org/dev/howto/descriptor.html is a lengthy tutorial " -"introduction to the descriptor features, written by Guido van Rossum. If my " -"description has whetted your appetite, go read this tutorial next, because " -"it goes into much more detail about the new features while still remaining " -"quite easy to read." +"The :ref:`descriptorhowto` is a lengthy tutorial introduction to the " +"descriptor features, written by Guido van Rossum. If my description has " +"whetted your appetite, go read this tutorial next, because it goes into much " +"more detail about the new features while still remaining quite easy to read." msgstr "" #: whatsnew/2.2.rst:403 diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 753f48f08f..afcc735f7d 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:23+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -105,26 +105,31 @@ msgid ":pep:`604`, Allow writing union types as X | Y" msgstr ":pep:`604`, autorise l'écriture d'union de types sous la forme X | Y ;" #: whatsnew/3.10.rst:80 +msgid ":pep:`612`, Parameter Specification Variables" +msgstr ":pep:`612`, variables de spécification de paramètres." + +#: whatsnew/3.10.rst:81 msgid ":pep:`613`, Explicit Type Aliases" msgstr ":pep:`613`, alias de types explicites ;" -#: whatsnew/3.10.rst:81 -msgid ":pep:`612`, Parameter Specification Variables" -msgstr ":pep:`612`, variables de spécification de paramètres." +#: whatsnew/3.10.rst:82 +#, fuzzy +msgid ":pep:`647`, User-Defined Type Guards" +msgstr "PEP 647 : gardes de type définies par l'utilisateur" -#: whatsnew/3.10.rst:83 +#: whatsnew/3.10.rst:84 msgid "Important deprecations, removals or restrictions:" msgstr "Obsolescences, retraits ou restrictions :" -#: whatsnew/3.10.rst:85 +#: whatsnew/3.10.rst:86 msgid ":pep:`644`, Require OpenSSL 1.1.1 or newer" msgstr ":pep:`644`, mise à jour de la version minimale d'*OpenSSL* à 1.1.1 ;" -#: whatsnew/3.10.rst:86 +#: whatsnew/3.10.rst:87 msgid ":pep:`632`, Deprecate distutils module." msgstr ":pep:`632`, obsolescence du module ``distutils`` ;" -#: whatsnew/3.10.rst:87 +#: whatsnew/3.10.rst:88 msgid "" ":pep:`623`, Deprecate and prepare for the removal of the wstr member in " "PyUnicodeObject." @@ -132,23 +137,23 @@ msgstr "" ":pep:`623`, obsolescence et préparation du retrait du membre ``wstr`` de " "``PyUnicodeObject`` ;" -#: whatsnew/3.10.rst:88 +#: whatsnew/3.10.rst:89 msgid ":pep:`624`, Remove Py_UNICODE encoder APIs" msgstr ":pep:`624`, retrait des API d'encodage ``Py_UNICODE`` ;" -#: whatsnew/3.10.rst:89 +#: whatsnew/3.10.rst:90 msgid ":pep:`597`, Add optional EncodingWarning" msgstr ":pep:`597`, ajout de l'``EncodingWarning`` optionnel" -#: whatsnew/3.10.rst:2051 +#: whatsnew/3.10.rst:2039 msgid "New Features" msgstr "Nouvelles fonctionnalités" -#: whatsnew/3.10.rst:98 +#: whatsnew/3.10.rst:99 msgid "Parenthesized context managers" msgstr "Gestionnaires de contextes entre parenthèses" -#: whatsnew/3.10.rst:100 +#: whatsnew/3.10.rst:101 msgid "" "Using enclosing parentheses for continuation across multiple lines in " "context managers is now supported. This allows formatting a long collection " @@ -162,14 +167,14 @@ msgstr "" "ce qui était préalablement possible avec les instructions d'importation. Par " "exemple, tous ces blocs sont maintenant valides :" -#: whatsnew/3.10.rst:131 +#: whatsnew/3.10.rst:132 msgid "" "it is also possible to use a trailing comma at the end of the enclosed group:" msgstr "" "il est aussi possible d'utiliser une virgule en fin de ligne à la fin du " "groupe entre parenthèses :" -#: whatsnew/3.10.rst:143 +#: whatsnew/3.10.rst:144 msgid "" "This new syntax uses the non LL(1) capacities of the new parser. Check :pep:" "`617` for more details." @@ -177,7 +182,7 @@ msgstr "" "Cette nouvelle syntaxe utilise la capacité *non-LL(1)* du nouvel analyseur " "syntaxique. Voir :pep:`617` pour plus de détails." -#: whatsnew/3.10.rst:146 +#: whatsnew/3.10.rst:147 msgid "" "(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :" "issue:`12782` and :issue:`40334`.)" @@ -185,15 +190,15 @@ msgstr "" "(contribution de *Guido van Rossum*, *Pablo Galindo* et *Lysandros Nikolaou* " "dans :issue:`12782` et :issue:`40334`)." -#: whatsnew/3.10.rst:151 +#: whatsnew/3.10.rst:152 msgid "Better error messages" msgstr "Meilleurs messages d'erreurs" -#: whatsnew/3.10.rst:154 +#: whatsnew/3.10.rst:155 msgid "SyntaxErrors" msgstr "``SyntaxError``" -#: whatsnew/3.10.rst:156 +#: whatsnew/3.10.rst:157 msgid "" "When parsing code that contains unclosed parentheses or brackets the " "interpreter now includes the location of the unclosed bracket of parentheses " @@ -208,7 +213,7 @@ msgstr "" "incorrect. Par exemple, considérez le code suivant (remarquez l'accolade " "``'{'`` non-fermée) :" -#: whatsnew/3.10.rst:167 +#: whatsnew/3.10.rst:168 msgid "" "Previous versions of the interpreter reported confusing places as the " "location of the syntax error:" @@ -216,11 +221,11 @@ msgstr "" "Les versions précédentes de l’interpréteur indiquaient des emplacements qui " "portaient à confusion pour l'erreur de syntaxe :" -#: whatsnew/3.10.rst:177 +#: whatsnew/3.10.rst:178 msgid "but in Python 3.10 a more informative error is emitted:" msgstr "mais dans Python 3.10, une erreur plus informative est levée :" -#: whatsnew/3.10.rst:187 +#: whatsnew/3.10.rst:188 msgid "" "In a similar way, errors involving unclosed string literals (single and " "triple quoted) now point to the start of the string instead of reporting EOF/" @@ -230,14 +235,14 @@ msgstr "" "fermées (avec simples ou triples apostrophes) pointent maintenant vers le " "début de la chaîne plutôt de mentionner la fin de ligne ou la fin du fichier." -#: whatsnew/3.10.rst:190 +#: whatsnew/3.10.rst:191 msgid "" "These improvements are inspired by previous work in the PyPy interpreter." msgstr "" "Ces améliorations sont inspirées par un travail préalable sur l'interpréteur " "*PyPy*" -#: whatsnew/3.10.rst:192 +#: whatsnew/3.10.rst:193 msgid "" "(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :" "issue:`40176`.)" @@ -245,7 +250,7 @@ msgstr "" "(contribution de *Pablo Galindo* dans :issue:`42864` et *Batuhan Taskaya* " "dans :issue:`40176`)." -#: whatsnew/3.10.rst:195 +#: whatsnew/3.10.rst:196 msgid "" ":exc:`SyntaxError` exceptions raised by the interpreter will now highlight " "the full error range of the expression that constitutes the syntax error " @@ -257,17 +262,17 @@ msgstr "" "plutôt que seulement la position où le problème a été détecté. De cette " "façon, plutôt que d'afficher (avant Python 3.10) :" -#: whatsnew/3.10.rst:208 +#: whatsnew/3.10.rst:209 msgid "now Python 3.10 will display the exception as:" msgstr "Python 3.10 affiche maintenant l'exception comme ceci :" -#: whatsnew/3.10.rst:218 +#: whatsnew/3.10.rst:219 msgid "This improvement was contributed by Pablo Galindo in :issue:`43914`." msgstr "" "Cette amélioration est une contribution de *Pablo Galindo* dans :issue:" "`43914`." -#: whatsnew/3.10.rst:220 +#: whatsnew/3.10.rst:221 msgid "" "A considerable amount of new specialized messages for :exc:`SyntaxError` " "exceptions have been incorporated. Some of the most notable ones are as " @@ -276,85 +281,85 @@ msgstr "" "Un nombre considérable de nouveaux messages spécialisés pour les exceptions :" "exc:`SyntaxError` a été incorporé. Certains des plus notables sont :" -#: whatsnew/3.10.rst:223 +#: whatsnew/3.10.rst:224 msgid "Missing ``:`` before blocks:" msgstr "``:`` manquant avant les blocs :" -#: whatsnew/3.10.rst:233 +#: whatsnew/3.10.rst:234 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`42997`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`42997`) ;" -#: whatsnew/3.10.rst:235 +#: whatsnew/3.10.rst:236 msgid "Unparenthesised tuples in comprehensions targets:" msgstr "Les *n*-uplets sans parenthèses dans les cibles de compréhensions :" -#: whatsnew/3.10.rst:245 +#: whatsnew/3.10.rst:246 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`43017`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43017`) ;" -#: whatsnew/3.10.rst:247 +#: whatsnew/3.10.rst:248 msgid "Missing commas in collection literals and between expressions:" msgstr "" "virgules manquantes dans les littéraux de collections et entre les " "expressions ;" -#: whatsnew/3.10.rst:260 +#: whatsnew/3.10.rst:261 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`43822`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43822`) ;" -#: whatsnew/3.10.rst:262 +#: whatsnew/3.10.rst:263 msgid "Multiple Exception types without parentheses:" msgstr "types multiples d'``Exception`` sans parenthèses :" -#: whatsnew/3.10.rst:274 +#: whatsnew/3.10.rst:275 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`43149`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43149`) ;" -#: whatsnew/3.10.rst:276 +#: whatsnew/3.10.rst:277 msgid "Missing ``:`` and values in dictionary literals:" msgstr "``:`` et valeurs manquantes dans les littéraux de dictionnaires :" -#: whatsnew/3.10.rst:296 +#: whatsnew/3.10.rst:297 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`43823`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43823`) ;" -#: whatsnew/3.10.rst:298 +#: whatsnew/3.10.rst:299 msgid "``try`` blocks without ``except`` or ``finally`` blocks:" msgstr "blocs ``try`` sans blocs ``except`` ou ``finally`` :" -#: whatsnew/3.10.rst:310 +#: whatsnew/3.10.rst:311 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`44305`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`44305`) ;" -#: whatsnew/3.10.rst:312 +#: whatsnew/3.10.rst:313 msgid "Usage of ``=`` instead of ``==`` in comparisons:" msgstr "utilisation de ``=`` au lieu de ``==`` dans les comparaisons :" -#: whatsnew/3.10.rst:322 +#: whatsnew/3.10.rst:323 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`43797`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`43797`)" -#: whatsnew/3.10.rst:324 +#: whatsnew/3.10.rst:325 msgid "Usage of ``*`` in f-strings:" msgstr "utilisation de ``*`` dans les chaînes formatées (*f-strings*) :" -#: whatsnew/3.10.rst:334 +#: whatsnew/3.10.rst:335 #, fuzzy msgid "(Contributed by Pablo Galindo in :issue:`41064`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`41064`)." -#: whatsnew/3.10.rst:337 +#: whatsnew/3.10.rst:338 msgid "IndentationErrors" msgstr "``IndentationError``" -#: whatsnew/3.10.rst:339 +#: whatsnew/3.10.rst:340 msgid "" "Many :exc:`IndentationError` exceptions now have more context regarding what " "kind of block was expecting an indentation, including the location of the " @@ -364,11 +369,11 @@ msgstr "" "concernant le genre de bloc qui attendait une indentation. Ceci inclut " "l'emplacement de l'instruction :" -#: whatsnew/3.10.rst:354 +#: whatsnew/3.10.rst:355 msgid "AttributeErrors" msgstr "``AttributeError``" -#: whatsnew/3.10.rst:356 +#: whatsnew/3.10.rst:357 msgid "" "When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer " "suggestions of similar attribute names in the object that the exception was " @@ -378,11 +383,11 @@ msgstr "" "des suggestions de noms d'attributs similaires dans l'objet pour lequel " "l'exception a été levée :" -#: whatsnew/3.10.rst:389 +#: whatsnew/3.10.rst:390 msgid "(Contributed by Pablo Galindo in :issue:`38530`.)" msgstr "(contribution de *Pablo Galindo* dans :issue:`38530`)." -#: whatsnew/3.10.rst:370 +#: whatsnew/3.10.rst:371 msgid "" "Notice this won't work if :c:func:`PyErr_Display` is not called to display " "the error which can happen if some other custom error display function is " @@ -393,11 +398,11 @@ msgstr "" "d'affichage d'erreur personnalisée est utilisée. C'est un scénario typique " "avec certains interpréteurs interactifs comme *IPython*." -#: whatsnew/3.10.rst:375 +#: whatsnew/3.10.rst:376 msgid "NameErrors" msgstr "``NameError``" -#: whatsnew/3.10.rst:377 +#: whatsnew/3.10.rst:378 msgid "" "When printing :exc:`NameError` raised by the interpreter, :c:func:" "`PyErr_Display` will offer suggestions of similar variable names in the " @@ -407,7 +412,7 @@ msgstr "" "`PyErr_Display` offre des suggestions de variables qui ont un nom similaire " "dans la fonction de laquelle l’exception a été levée :" -#: whatsnew/3.10.rst:392 +#: whatsnew/3.10.rst:393 msgid "" "Notice this won't work if :c:func:`PyErr_Display` is not called to display " "the error, which can happen if some other custom error display function is " @@ -418,12 +423,12 @@ msgstr "" "d'affichage d'erreur personnalisée est utilisée. C'est un scénario typique " "avec certains interpréteurs interactifs comme *IPython*." -#: whatsnew/3.10.rst:398 +#: whatsnew/3.10.rst:399 msgid "PEP 626: Precise line numbers for debugging and other tools" msgstr "" "PEP 626 : numéros de lignes précis pour le débogage et les autres outils" -#: whatsnew/3.10.rst:400 +#: whatsnew/3.10.rst:401 msgid "" "PEP 626 brings more precise and reliable line numbers for debugging, " "profiling and coverage tools. Tracing events, with the correct line number, " @@ -435,7 +440,7 @@ msgstr "" "avec les numéros de ligne corrects, sont générés pour toutes les lignes de " "code exécutées et seulement pour celles-ci." -#: whatsnew/3.10.rst:403 +#: whatsnew/3.10.rst:404 msgid "" "The ``f_lineno`` attribute of frame objects will always contain the expected " "line number." @@ -443,7 +448,7 @@ msgstr "" "L'attribut ``f_lineno`` des objets cadres contient dorénavant le numéro de " "ligne attendu." -#: whatsnew/3.10.rst:405 +#: whatsnew/3.10.rst:406 msgid "" "The ``co_lnotab`` attribute of code objects is deprecated and will be " "removed in 3.12. Code that needs to convert from offset to line number " @@ -453,11 +458,11 @@ msgstr "" "3.12. Tout code qui doit convertir d'un décalage (*offset*) vers des numéros " "de ligne doit plutôt utiliser la nouvelle méthode ``co_lines()``." -#: whatsnew/3.10.rst:409 +#: whatsnew/3.10.rst:410 msgid "PEP 634: Structural Pattern Matching" msgstr "PEP 634 : filtrage par motifs structurels" -#: whatsnew/3.10.rst:411 +#: whatsnew/3.10.rst:412 msgid "" "Structural pattern matching has been added in the form of a *match " "statement* and *case statements* of patterns with associated actions. " @@ -474,11 +479,11 @@ msgstr "" "branchement selon la structure des données et réaliser des actions " "spécifiques en fonction des différentes formes des données." -#: whatsnew/3.10.rst:419 +#: whatsnew/3.10.rst:420 msgid "Syntax and operations" msgstr "Syntaxe et opérations" -#: whatsnew/3.10.rst:421 +#: whatsnew/3.10.rst:422 msgid "The generic syntax of pattern matching is::" msgstr "La syntaxe générique du filtrage par motifs est ::" @@ -490,7 +495,7 @@ msgstr "La syntaxe générique du filtrage par motifs est ::" # "match": "appariement" comparaison réussie # "wildcard": "attrape-tout" # "guard": "garde" -#: whatsnew/3.10.rst:433 +#: whatsnew/3.10.rst:434 msgid "" "A match statement takes an expression and compares its value to successive " "patterns given as one or more case blocks. Specifically, pattern matching " @@ -500,16 +505,16 @@ msgstr "" "valeur à différents filtres qui sont donnés comme un ou plusieurs blocs " "*case*. Plus précisément, le filtrage par motifs s'effectue par :" -#: whatsnew/3.10.rst:437 +#: whatsnew/3.10.rst:438 msgid "using data with type and shape (the ``subject``)" msgstr "" "l'utilisation de données qui ont un type et une forme (ici ``subject``) ;" -#: whatsnew/3.10.rst:438 +#: whatsnew/3.10.rst:439 msgid "evaluating the ``subject`` in the ``match`` statement" msgstr "l'évaluation de ``subject`` dans une instruction ``match`` ;" -#: whatsnew/3.10.rst:439 +#: whatsnew/3.10.rst:440 msgid "" "comparing the subject with each pattern in a ``case`` statement from top to " "bottom until a match is confirmed." @@ -517,11 +522,11 @@ msgstr "" "l'application de chaque filtre sur ``subject`` dans des instructions " "``case`` de haut en bas jusqu'à ce qu'un appariement soit confirmé ;" -#: whatsnew/3.10.rst:441 +#: whatsnew/3.10.rst:442 msgid "executing the action associated with the pattern of the confirmed match" msgstr "l’exécution de l'action associée au filtre s'il y a appariement ;" -#: whatsnew/3.10.rst:443 +#: whatsnew/3.10.rst:444 msgid "" "If an exact match is not confirmed, the last case, a wildcard ``_``, if " "provided, will be used as the matching case. If an exact match is not " @@ -533,11 +538,11 @@ msgstr "" "appariement ni filtre attrape-tout, le bloc ``match`` n'effectue aucune " "opération." -#: whatsnew/3.10.rst:449 +#: whatsnew/3.10.rst:450 msgid "Declarative approach" msgstr "Approche déclarative" -#: whatsnew/3.10.rst:451 +#: whatsnew/3.10.rst:452 msgid "" "Readers may be aware of pattern matching through the simple example of " "matching a subject (data object) to a literal (pattern) with the switch " @@ -552,7 +557,7 @@ msgstr "" "est utilisée pour comparer des objets ou expressions à des instructions " "``case`` qui contiennent des littéraux." -#: whatsnew/3.10.rst:457 +#: whatsnew/3.10.rst:458 msgid "" "More powerful examples of pattern matching can be found in languages such as " "Scala and Elixir. With structural pattern matching, the approach is " @@ -564,7 +569,7 @@ msgstr "" "structurels, l'approche est « déclarative » et énonce les conditions (les " "motifs) pour apparier les données." -#: whatsnew/3.10.rst:461 +#: whatsnew/3.10.rst:462 msgid "" "While an \"imperative\" series of instructions using nested \"if\" " "statements could be used to accomplish something similar to structural " @@ -585,11 +590,11 @@ msgstr "" "instruction ``case``, son intérêt réel en Python réside dans son traitement " "du sujet selon son type et sa forme." -#: whatsnew/3.10.rst:470 +#: whatsnew/3.10.rst:471 msgid "Simple pattern: match to a literal" msgstr "Filtre simple : apparier à un littéral" -#: whatsnew/3.10.rst:472 +#: whatsnew/3.10.rst:473 msgid "" "Let's look at this example as pattern matching in its simplest form: a " "value, the subject, being matched to several literals, the patterns. In the " @@ -604,7 +609,7 @@ msgstr "" "où les littéraux représentent les codes de status des requêtes. Les actions " "associées au ``case`` sont exécutés suite à un appariement ::" -#: whatsnew/3.10.rst:489 +#: whatsnew/3.10.rst:490 msgid "" "If the above function is passed a ``status`` of 418, \"I'm a teapot\" is " "returned. If the above function is passed a ``status`` of 500, the case " @@ -620,18 +625,18 @@ msgstr "" "``_`` agit comme un *attrape-tout* et garantit que le sujet sera toujours " "apparié. L'utilisation de ``_`` est optionnelle." -#: whatsnew/3.10.rst:496 +#: whatsnew/3.10.rst:497 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" "Vous pouvez combiner plusieurs littéraux dans un seul filtre en utilisant ``|" "`` (qui se lit « ou ») ::" -#: whatsnew/3.10.rst:502 +#: whatsnew/3.10.rst:503 msgid "Behavior without the wildcard" msgstr "Comportement sans l'attrape-tout" -#: whatsnew/3.10.rst:504 +#: whatsnew/3.10.rst:505 msgid "" "If we modify the above example by removing the last case block, the example " "becomes::" @@ -639,7 +644,7 @@ msgstr "" "Modifions l'exemple ci-haut en enlevant le dernier bloc ``case``. Il " "devient ::" -#: whatsnew/3.10.rst:516 +#: whatsnew/3.10.rst:517 msgid "" "Without the use of ``_`` in a case statement, a match may not exist. If no " "match exists, the behavior is a no-op. For example, if ``status`` of 500 is " @@ -649,11 +654,11 @@ msgstr "" "de ne pas avoir d'appariement. Dans ce cas, il ne se passe rien. Par " "exemple, si 500 est passé à ``status``, aucune opération n'est effectuée." -#: whatsnew/3.10.rst:521 +#: whatsnew/3.10.rst:522 msgid "Patterns with a literal and variable" msgstr "Filtres avec un littéral et une variable" -#: whatsnew/3.10.rst:523 +#: whatsnew/3.10.rst:524 msgid "" "Patterns can look like unpacking assignments, and a pattern may be used to " "bind variables. In this example, a data point can be unpacked to its x-" @@ -664,7 +669,7 @@ msgstr "" "cet exemple, un point peut être dissocié entre son abscisse et son " "ordonnée ::" -#: whatsnew/3.10.rst:540 +#: whatsnew/3.10.rst:541 msgid "" "The first pattern has two literals, ``(0, 0)``, and may be thought of as an " "extension of the literal pattern shown above. The next two patterns combine " @@ -679,11 +684,11 @@ msgstr "" "motif du quatrième filtre capture deux valeurs, ce qui le rend " "conceptuellement similaire à l'affectation multiple : ``(x, y) = point``." -#: whatsnew/3.10.rst:547 +#: whatsnew/3.10.rst:548 msgid "Patterns and classes" msgstr "Filtres et classes" -#: whatsnew/3.10.rst:549 +#: whatsnew/3.10.rst:550 msgid "" "If you are using classes to structure your data, you can use as a pattern " "the class name followed by an argument list resembling a constructor. This " @@ -694,11 +699,11 @@ msgstr "" "filtre. Ceci ressemble à un appel du constructeur. Ce filtre peut capturer " "les attributs de la classe dans des variables ::" -#: whatsnew/3.10.rst:571 +#: whatsnew/3.10.rst:572 msgid "Patterns with positional parameters" msgstr "Filtres avec arguments positionnels" -#: whatsnew/3.10.rst:573 +#: whatsnew/3.10.rst:574 msgid "" "You can use positional parameters with some builtin classes that provide an " "ordering for their attributes (e.g. dataclasses). You can also define a " @@ -716,11 +721,11 @@ msgstr "" "particulier, tous provoquent la liaison de l'attribut ``y`` à la variable " "``var``) ::" -#: whatsnew/3.10.rst:585 +#: whatsnew/3.10.rst:586 msgid "Nested patterns" msgstr "Filtres imbriqués" -#: whatsnew/3.10.rst:587 +#: whatsnew/3.10.rst:588 msgid "" "Patterns can be arbitrarily nested. For example, if our data is a short " "list of points, it could be matched like this::" @@ -728,11 +733,11 @@ msgstr "" "Les filtres peuvent être imbriqués de façon arbitraire. Par exemple, si nous " "avons une courte liste de points, elle peut être appariée comme ceci ::" -#: whatsnew/3.10.rst:603 +#: whatsnew/3.10.rst:604 msgid "Complex patterns and the wildcard" msgstr "Filtres complexes et attrape-tout" -#: whatsnew/3.10.rst:605 +#: whatsnew/3.10.rst:606 msgid "" "To this point, the examples have used ``_`` alone in the last case " "statement. A wildcard can be used in more complex patterns, such as " @@ -742,7 +747,7 @@ msgstr "" "instruction ``case``. Un attrape-tout peut être utilisé dans un filtre plus " "complexe tel que ``('error', code, _)``. Par exemple ::" -#: whatsnew/3.10.rst:615 +#: whatsnew/3.10.rst:616 msgid "" "In the above case, ``test_variable`` will match for ('error', code, 100) and " "('error', code, 800)." @@ -750,11 +755,11 @@ msgstr "" "Dans l'exemple précédent, ``test_variable`` s'apparie à ``('error', code, " "100)`` et à ``('error', code, 800)``." -#: whatsnew/3.10.rst:619 +#: whatsnew/3.10.rst:620 msgid "Guard" msgstr "Garde" -#: whatsnew/3.10.rst:621 +#: whatsnew/3.10.rst:622 msgid "" "We can add an ``if`` clause to a pattern, known as a \"guard\". If the " "guard is false, ``match`` goes on to try the next case block. Note that " @@ -765,15 +770,15 @@ msgstr "" "d'appariement du prochain bloc ``case``. Notez que la capture de valeur se " "produit avant l'évaluation de la garde ::" -#: whatsnew/3.10.rst:632 +#: whatsnew/3.10.rst:633 msgid "Other Key Features" msgstr "Autres fonctionnalités importantes" -#: whatsnew/3.10.rst:634 +#: whatsnew/3.10.rst:635 msgid "Several other key features:" msgstr "Plusieurs autres fonctionnalités importantes :" -#: whatsnew/3.10.rst:636 +#: whatsnew/3.10.rst:637 msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " "meaning and actually match arbitrary sequences. Technically, the subject " @@ -788,7 +793,7 @@ msgstr "" "pour prémunir d'une erreur commune, les filtres de séquences n'autorisent " "pas les chaînes ;" -#: whatsnew/3.10.rst:642 +#: whatsnew/3.10.rst:643 msgid "" "Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` " "work similar to wildcards in unpacking assignments. The name after ``*`` " @@ -802,7 +807,7 @@ msgstr "" "reconnaît les séquences à deux éléments ou plus, en capturant les deux " "premiers et en ignorant le reste ;" -#: whatsnew/3.10.rst:647 +#: whatsnew/3.10.rst:648 msgid "" "Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " "``\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence " @@ -817,13 +822,13 @@ msgstr "" "L'affectation double-étoilée (``**reste``) fonctionne aussi (cependant, " "``**_`` serait redondant et n'est donc pas permis) ;" -#: whatsnew/3.10.rst:652 +#: whatsnew/3.10.rst:653 msgid "Subpatterns may be captured using the ``as`` keyword::" msgstr "" "on peut capturer la valeur d'une partie du motif d'un filtre avec le mot-clé " "``as``, par exemple ::" -#: whatsnew/3.10.rst:656 +#: whatsnew/3.10.rst:657 msgid "" "This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, " "and p2 to the entire second item of the subject." @@ -831,7 +836,7 @@ msgstr "" "Ceci lie ``x1``, ``y1``, ``x2``, ``y2`` comme attendu sans la clause ``as``, " "et lie ``p2`` à l’entièreté du second élément du sujet ;" -#: whatsnew/3.10.rst:659 +#: whatsnew/3.10.rst:660 msgid "" "Most literals are compared by equality. However, the singletons ``True``, " "``False`` and ``None`` are compared by identity." @@ -839,7 +844,7 @@ msgstr "" "la plupart des littéraux sont comparés par égalité. Néanmoins, les " "singletons ``True``, ``False`` et ``None`` sont comparés par identité ;" -#: whatsnew/3.10.rst:662 +#: whatsnew/3.10.rst:663 msgid "" "Named constants may be used in patterns. These named constants must be " "dotted names to prevent the constant from being interpreted as a capture " @@ -849,7 +854,7 @@ msgstr "" "noms doivent impérativement être qualifiés (contenir au moins un point) pour " "ne pas être interprétés comme des variables de capture ::" -#: whatsnew/3.10.rst:680 +#: whatsnew/3.10.rst:681 msgid "" "For the full specification see :pep:`634`. Motivation and rationale are in :" "pep:`635`, and a longer tutorial is in :pep:`636`." @@ -858,11 +863,11 @@ msgstr "" "justification des choix sont dans la :pep:`635`, et un tutoriel plus élaboré " "se trouve dans la :pep:`636`." -#: whatsnew/3.10.rst:687 +#: whatsnew/3.10.rst:688 msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option" msgstr "``EncodingWarning`` et option ``encoding=\"locale\"`` optionnels" -#: whatsnew/3.10.rst:689 +#: whatsnew/3.10.rst:690 msgid "" "The default encoding of :class:`TextIOWrapper` and :func:`open` is platform " "and locale dependent. Since UTF-8 is used on most Unix platforms, omitting " @@ -874,7 +879,7 @@ msgstr "" "plupart des plateformes Unix, ne pas spécifier l'option ``encoding`` pour " "ouvrir des fichiers UTF-8 est une erreur courante. Par exemple ::" -#: whatsnew/3.10.rst:698 +#: whatsnew/3.10.rst:699 msgid "" "To find this type of bug, an optional ``EncodingWarning`` is added. It is " "emitted when :data:`sys.flags.warn_default_encoding ` is true and " @@ -885,7 +890,7 @@ msgstr "" "flags>` est ``True`` et quand l'encodage utilisé est celui défini par les " "paramètres régionaux." -#: whatsnew/3.10.rst:702 +#: whatsnew/3.10.rst:703 msgid "" "``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` " "are added to enable the warning." @@ -893,15 +898,15 @@ msgstr "" "L'option ``-X warn_default_encoding`` et la variable d’environnement :envvar:" "`PYTHONWARNDEFAULTENCODING` ont été ajoutées pour activer cet avertissement." -#: whatsnew/3.10.rst:705 +#: whatsnew/3.10.rst:706 msgid "See :ref:`io-text-encoding` for more information." msgstr "Voir :ref:`io-text-encoding` pour plus d'informations." -#: whatsnew/3.10.rst:710 +#: whatsnew/3.10.rst:711 msgid "New Features Related to Type Hints" msgstr "Nouvelles fonctionnalités reliées aux indications de types" -#: whatsnew/3.10.rst:712 +#: whatsnew/3.10.rst:713 msgid "" "This section covers major changes affecting :pep:`484` type hints and the :" "mod:`typing` module." @@ -909,11 +914,11 @@ msgstr "" "Cette section couvre les changements majeurs touchant le module :mod:" "`typing` et les indications de types de style :pep:`484`." -#: whatsnew/3.10.rst:717 +#: whatsnew/3.10.rst:718 msgid "PEP 604: New Type Union Operator" msgstr "PEP 604 : nouvel opérateur d'union de types" -#: whatsnew/3.10.rst:719 +#: whatsnew/3.10.rst:720 msgid "" "A new type union operator was introduced which enables the syntax ``X | Y``. " "This provides a cleaner way of expressing 'either type X or type Y' instead " @@ -924,7 +929,7 @@ msgstr "" "type Y » plutôt que d'utiliser :data:`typing.Union`, en particulier pour les " "indications de types." -#: whatsnew/3.10.rst:723 +#: whatsnew/3.10.rst:724 msgid "" "In previous versions of Python, to apply a type hint for functions accepting " "arguments of multiple types, :data:`typing.Union` was used::" @@ -933,13 +938,13 @@ msgstr "" "type à des fonctions qui acceptent des arguments de plusieurs types, :data:" "`typing.Union` était utilisée ::" -#: whatsnew/3.10.rst:730 +#: whatsnew/3.10.rst:731 msgid "Type hints can now be written in a more succinct manner::" msgstr "" "Les indications de type peuvent maintenant être écrites de façon plus " "courte ::" -#: whatsnew/3.10.rst:736 +#: whatsnew/3.10.rst:737 msgid "" "This new syntax is also accepted as the second argument to :func:" "`isinstance` and :func:`issubclass`::" @@ -947,11 +952,11 @@ msgstr "" "Cette nouvelle syntaxe est aussi acceptée comme le second argument de :func:" "`isinstance` et de :func:`issubclass` ::" -#: whatsnew/3.10.rst:742 +#: whatsnew/3.10.rst:743 msgid "See :ref:`types-union` and :pep:`604` for more details." msgstr "Voir :ref:`types-union` et la :pep:`604` pour plus de détails" -#: whatsnew/3.10.rst:744 +#: whatsnew/3.10.rst:745 msgid "" "(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with " "additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)" @@ -959,11 +964,11 @@ msgstr "" "(contribution de *Maggie Moss* et *Philippe Prados* dans :issue:`41428`, " "avec ajouts par *Yurii Karabas* et *Serhiy Storchaka* dans :issue:`44490`)." -#: whatsnew/3.10.rst:749 +#: whatsnew/3.10.rst:750 msgid "PEP 612: Parameter Specification Variables" msgstr "PEP 612 : variables de spécification de paramètres" -#: whatsnew/3.10.rst:751 +#: whatsnew/3.10.rst:752 msgid "" "Two new options to improve the information provided to static type checkers " "for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` module." @@ -972,7 +977,7 @@ msgstr "" "améliorer l'information donnée aux vérificateurs de types statiques pour les " "``Callable`` définis dans la :pep:`484`." -#: whatsnew/3.10.rst:754 +#: whatsnew/3.10.rst:755 msgid "" "The first is the parameter specification variable. They are used to forward " "the parameter types of one callable to another callable -- a pattern " @@ -987,7 +992,7 @@ msgstr "" "ParamSpec`. Préalablement, il n'y avait pas de façon facile pour annoter les " "dépendances de types des paramètres de manière aussi précise." -#: whatsnew/3.10.rst:760 +#: whatsnew/3.10.rst:761 msgid "" "The second option is the new ``Concatenate`` operator. It's used in " "conjunction with parameter specification variables to type annotate a higher " @@ -1000,7 +1005,7 @@ msgstr "" "paramètres à un autre appelable. Des exemples d'utilisation se trouvent " "dans :class:`typing.Concatenate`." -#: whatsnew/3.10.rst:765 +#: whatsnew/3.10.rst:766 msgid "" "See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing." "Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing." @@ -1010,7 +1015,7 @@ msgstr "" "Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs` " "et la :pep:`612` pour plus de détails" -#: whatsnew/3.10.rst:769 +#: whatsnew/3.10.rst:770 msgid "" "(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle " "Zijlstra in :issue:`43783`. PEP written by Mark Mendoza.)" @@ -1018,11 +1023,11 @@ msgstr "" "(contribution de *Ken Jin* dans :issue:`41559`, avec améliorations mineures " "par *Jelle Zijlstra* dans :issue:`43783` ; PEP écrite par *Mark Mendoza*)." -#: whatsnew/3.10.rst:774 +#: whatsnew/3.10.rst:775 msgid "PEP 613: TypeAlias" msgstr "PEP 613 : ``TypeAlias``" -#: whatsnew/3.10.rst:776 +#: whatsnew/3.10.rst:777 msgid "" ":pep:`484` introduced the concept of type aliases, only requiring them to be " "top-level unannotated assignments. This simplicity sometimes made it " @@ -1037,7 +1042,7 @@ msgstr "" "particulier quand des références postérieures ou des types invalides étaient " "impliqués. Comparez ::" -#: whatsnew/3.10.rst:784 +#: whatsnew/3.10.rst:785 msgid "" "Now the :mod:`typing` module has a special value :data:`TypeAlias` which " "lets you declare type aliases more explicitly::" @@ -1046,19 +1051,19 @@ msgstr "" "`TypeAlias` qui permet de déclarer des alias de types de façon plus " "explicite ::" -#: whatsnew/3.10.rst:790 +#: whatsnew/3.10.rst:791 msgid "See :pep:`613` for more details." msgstr "Voir la :pep:`613` pour plus de détails." -#: whatsnew/3.10.rst:792 +#: whatsnew/3.10.rst:793 msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)" msgstr "(contribution de *Mikhail Golubev* dans :issue:`41923`)." -#: whatsnew/3.10.rst:795 +#: whatsnew/3.10.rst:796 msgid "PEP 647: User-Defined Type Guards" msgstr "PEP 647 : gardes de type définies par l'utilisateur" -#: whatsnew/3.10.rst:797 +#: whatsnew/3.10.rst:798 msgid "" ":data:`TypeGuard` has been added to the :mod:`typing` module to annotate " "type guard functions and improve information provided to static type " @@ -1071,7 +1076,7 @@ msgstr "" "d'information, consultez la documentation de :data:`TypeGuard` et la :pep:" "`647`." -#: whatsnew/3.10.rst:802 +#: whatsnew/3.10.rst:803 msgid "" "(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written " "by Eric Traut.)" @@ -1079,11 +1084,11 @@ msgstr "" "(contribution de *Ken Jin* et *Guido van Rossum* dans :issue:`43766`. PEP " "écrit par *Eric Traut*)." -#: whatsnew/3.10.rst:806 +#: whatsnew/3.10.rst:807 msgid "Other Language Changes" msgstr "Autres changements au langage" -#: whatsnew/3.10.rst:808 +#: whatsnew/3.10.rst:809 msgid "" "The :class:`int` type has a new method :meth:`int.bit_count`, returning the " "number of ones in the binary expansion of a given integer, also known as the " @@ -1094,7 +1099,7 @@ msgstr "" "donné, aussi connue sous le nom de chiffre de population (*population " "count*) (contribution de *Niklas Fiekas* dans :issue:`29882`)." -#: whatsnew/3.10.rst:812 +#: whatsnew/3.10.rst:813 msgid "" "The views returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:`dict." "items` now all have a ``mapping`` attribute that gives a :class:`types." @@ -1106,7 +1111,7 @@ msgstr "" "class:`types.MappingProxyType` encapsulant le dictionnaire original " "(contribution de *Dennis Sweeney* dans :issue:`40890`)." -#: whatsnew/3.10.rst:817 +#: whatsnew/3.10.rst:818 msgid "" ":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, " "used to require that all the iterables have an equal length." @@ -1115,7 +1120,7 @@ msgstr "" "``strict``, utilisé pour demander que tous les itérables soient de même " "longueur." -#: whatsnew/3.10.rst:820 +#: whatsnew/3.10.rst:821 msgid "" "Builtin and extension functions that take integer arguments no longer " "accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and " @@ -1130,7 +1135,7 @@ msgstr "" "`~object.__int__` mais pas une méthode :meth:`~object.__index__`) " "(contribution de *Serhiy Storchaka* dans :issue:`37999`)." -#: whatsnew/3.10.rst:827 +#: whatsnew/3.10.rst:828 msgid "" "If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator " "will correctly fall back to :func:`object.__pow__` and :func:`object." @@ -1140,7 +1145,7 @@ msgstr "" "correctement se rabattre sur :func:`object.__pow__` et :func:`object." "__rpow__` tel qu'attendu (contribution d'*Alex Shkop* dans :issue:`38302`)." -#: whatsnew/3.10.rst:831 +#: whatsnew/3.10.rst:832 msgid "" "Assignment expressions can now be used unparenthesized within set literals " "and set comprehensions, as well as in sequence indexes (but not slices)." @@ -1149,7 +1154,7 @@ msgstr "" "littéraux d'ensembles, dans les compréhensions d'ensembles et dans les " "indices de séquences (mais pas dans les tranches)." -#: whatsnew/3.10.rst:834 +#: whatsnew/3.10.rst:835 msgid "" "Functions have a new ``__builtins__`` attribute which is used to look for " "builtin symbols when a function is executed, instead of looking into " @@ -1164,7 +1169,7 @@ msgstr "" "natifs en cours autrement (contribution de *Mark Shannon* dans :issue:" "`42990`)." -#: whatsnew/3.10.rst:840 +#: whatsnew/3.10.rst:841 msgid "" "Two new builtin functions -- :func:`aiter` and :func:`anext` have been added " "to provide asynchronous counterparts to :func:`iter` and :func:`next`, " @@ -1176,7 +1181,7 @@ msgstr "" "func:`next`, respectivement (contribution de *Joshua Bronson*, *Daniel Pope* " "et *Justin Wang* dans :issue:`31861`)." -#: whatsnew/3.10.rst:845 +#: whatsnew/3.10.rst:846 msgid "" "Static methods (:func:`@staticmethod `) and class methods (:" "func:`@classmethod `) now inherit the method attributes " @@ -1192,7 +1197,7 @@ msgstr "" "De plus, les méthodes statiques sont maintenant appelables en tant que " "fonctions classiques (contribution de *Victor Stinner* dans :issue:`43682`)." -#: whatsnew/3.10.rst:852 +#: whatsnew/3.10.rst:853 msgid "" "Annotations for complex targets (everything beside ``simple name`` targets " "defined by :pep:`526`) no longer cause any runtime effects with ``from " @@ -1204,7 +1209,7 @@ msgstr "" "l'exécution avec ``from __future__ import annotations`` (contribution de " "*Batuhan Taskaya* dans :issue:`42737`)." -#: whatsnew/3.10.rst:856 +#: whatsnew/3.10.rst:857 msgid "" "Class and module objects now lazy-create empty annotations dicts on demand. " "The annotations dicts are stored in the object’s ``__dict__`` for backwards " @@ -1219,7 +1224,7 @@ msgstr "" "``__annotations__`` ; pour plus d'information, voir :ref:`annotations-howto` " "(contribution de *Larry Hastings* dans :issue:`43901`)." -#: whatsnew/3.10.rst:863 +#: whatsnew/3.10.rst:864 msgid "" "Annotations consist of ``yield``, ``yield from``, ``await`` or named " "expressions are now forbidden under ``from __future__ import annotations`` " @@ -1231,7 +1236,7 @@ msgstr "" "annotations`` à cause de leurs effets secondaires (contribution de *Batuhan " "Taskaya* dans :issue:`42725`)." -#: whatsnew/3.10.rst:868 +#: whatsnew/3.10.rst:869 msgid "" "Usage of unbound variables, ``super()`` and other expressions that might " "alter the processing of symbol table as annotations are now rendered " @@ -1243,7 +1248,7 @@ msgstr "" "qu'annotation n'ont plus d'effet sous ``from __future__ import annotations`` " "(contribution de *Batuhan Taskaya* dans :issue:`42725`)." -#: whatsnew/3.10.rst:873 +#: whatsnew/3.10.rst:874 msgid "" "Hashes of NaN values of both :class:`float` type and :class:`decimal." "Decimal` type now depend on object identity. Formerly, they always hashed to " @@ -1260,7 +1265,7 @@ msgstr "" "hachage lors de la création de dictionnaires et d'ensembles qui contiennent " "plusieurs *NaN* (contribution de *Raymond Hettinger* dans :issue:`43475`)." -#: whatsnew/3.10.rst:880 +#: whatsnew/3.10.rst:881 msgid "" "A :exc:`SyntaxError` (instead of a :exc:`NameError`) will be raised when " "deleting the :const:`__debug__` constant. (Contributed by Dong-hee Na in :" @@ -1270,7 +1275,7 @@ msgstr "" "constante :const:`__debug__` est supprimée (contribution de *Dong-hee Na* " "dans :issue:`45000`)." -#: whatsnew/3.10.rst:883 +#: whatsnew/3.10.rst:884 msgid "" ":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` " "attributes. They will be ``None`` if not determined. (Contributed by Pablo " @@ -1281,23 +1286,23 @@ msgstr "" "peuvent pas être déterminés (contribution de *Pablo Galindo* dans :issue:" "`43914`)." -#: whatsnew/3.10.rst:888 +#: whatsnew/3.10.rst:889 msgid "New Modules" msgstr "Nouveaux modules" -#: whatsnew/3.10.rst:890 +#: whatsnew/3.10.rst:891 msgid "None yet." msgstr "Aucun pour le moment." -#: whatsnew/3.10.rst:894 +#: whatsnew/3.10.rst:895 msgid "Improved Modules" msgstr "Modules améliorés" -#: whatsnew/3.10.rst:897 +#: whatsnew/3.10.rst:898 msgid "asyncio" msgstr "``asyncio``" -#: whatsnew/3.10.rst:899 +#: whatsnew/3.10.rst:900 msgid "" "Add missing :meth:`~asyncio.events.AbstractEventLoop." "connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:" @@ -1307,11 +1312,11 @@ msgstr "" "connect_accepted_socket` manquante (contribution d'*Alex Grönholm* dans :" "issue:`41332`)." -#: whatsnew/3.10.rst:904 +#: whatsnew/3.10.rst:905 msgid "argparse" msgstr "``argparse``" -#: whatsnew/3.10.rst:906 +#: whatsnew/3.10.rst:907 msgid "" "Misleading phrase \"optional arguments\" was replaced with \"options\" in " "argparse help. Some tests might require adaptation if they rely on exact " @@ -1323,11 +1328,11 @@ msgstr "" "dans la sortie d'aide (contribution de *Raymond Hettinger* dans :issue:" "`9694`)." -#: whatsnew/3.10.rst:910 +#: whatsnew/3.10.rst:911 msgid "array" msgstr "``array``" -#: whatsnew/3.10.rst:912 +#: whatsnew/3.10.rst:913 msgid "" "The :meth:`~array.array.index` method of :class:`array.array` now has " "optional *start* and *stop* parameters. (Contributed by Anders Lorentsen and " @@ -1337,11 +1342,11 @@ msgstr "" "maintenant les paramètres optionnels *start* et *stop* (contribution " "d'*Anders Lorentsen* et de *Zackery Spytz* dans :issue:`31956`)." -#: whatsnew/3.10.rst:917 +#: whatsnew/3.10.rst:918 msgid "asynchat, asyncore, smtpd" msgstr "``asynchat``, ``asyncore``, ``smtpd``" -#: whatsnew/3.10.rst:918 +#: whatsnew/3.10.rst:919 msgid "" "These modules have been marked as deprecated in their module documentation " "since Python 3.6. An import-time :class:`DeprecationWarning` has now been " @@ -1351,11 +1356,11 @@ msgstr "" "depuis Python 3.6. Un :class:`DeprecationWarning` au moment de l'importation " "est maintenant ajouté pour ces trois modules." -#: whatsnew/3.10.rst:923 +#: whatsnew/3.10.rst:924 msgid "base64" msgstr "``base64``" -#: whatsnew/3.10.rst:925 +#: whatsnew/3.10.rst:926 msgid "" "Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support " "the Base32 Encoding with Extended Hex Alphabet." @@ -1363,11 +1368,11 @@ msgstr "" "Ajout de :func:`base64.b32hexencode` et de :func:`base64.b32hexdecode` pour " "prendre en charge l'encodage Base32 avec l'alphabet hexadécimal étendu." -#: whatsnew/3.10.rst:929 +#: whatsnew/3.10.rst:930 msgid "bdb" msgstr "``bdb``" -#: whatsnew/3.10.rst:931 +#: whatsnew/3.10.rst:932 msgid "" "Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " "(Contributed by Irit Katriel in :issue:`24160`.)" @@ -1375,11 +1380,11 @@ msgstr "" "Ajout de :meth:`~bdb.Breakpoint.clearBreakpoints` pour supprimer tous les " "points d'arrêt (contribution d'*Irit Katriel* dans :issue:`24160`)." -#: whatsnew/3.10.rst:935 +#: whatsnew/3.10.rst:936 msgid "bisect" msgstr "``bisect``" -#: whatsnew/3.10.rst:937 +#: whatsnew/3.10.rst:938 msgid "" "Added the possibility of providing a *key* function to the APIs in the :mod:" "`bisect` module. (Contributed by Raymond Hettinger in :issue:`4356`.)" @@ -1388,11 +1393,11 @@ msgstr "" "module :mod:`bisect` (contribution de *Raymond Hettinger* dans :issue:" "`4356`)." -#: whatsnew/3.10.rst:941 +#: whatsnew/3.10.rst:942 msgid "codecs" msgstr "``codecs``" -#: whatsnew/3.10.rst:943 +#: whatsnew/3.10.rst:944 msgid "" "Add a :func:`codecs.unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" @@ -1400,11 +1405,11 @@ msgstr "" "Ajout d'une fonction :func:`codecs.unregister` pour désinscrire une fonction " "de recherche de codecs (contribution de *Hai Shi* dans :issue:`41842`)." -#: whatsnew/3.10.rst:947 +#: whatsnew/3.10.rst:948 msgid "collections.abc" msgstr "``collections.abc``" -#: whatsnew/3.10.rst:949 +#: whatsnew/3.10.rst:950 msgid "" "The ``__args__`` of the :ref:`parameterized generic ` " "for :class:`collections.abc.Callable` are now consistent with :data:`typing." @@ -1433,11 +1438,11 @@ msgstr "" "aurait pu passer silencieusement dans Python 3.9 (contribution de *Ken Jin* " "dans :issue:`42195`)." -#: whatsnew/3.10.rst:962 +#: whatsnew/3.10.rst:963 msgid "contextlib" msgstr "``contextlib``" -#: whatsnew/3.10.rst:964 +#: whatsnew/3.10.rst:965 msgid "" "Add a :func:`contextlib.aclosing` context manager to safely close async " "generators and objects representing asynchronously released resources. " @@ -1448,7 +1453,7 @@ msgstr "" "des ressources libérées de façon asynchrone (contribution de *Joongi Kim* et " "*John Belmonte* dans :issue:`41229`)." -#: whatsnew/3.10.rst:968 +#: whatsnew/3.10.rst:969 msgid "" "Add asynchronous context manager support to :func:`contextlib.nullcontext`. " "(Contributed by Tom Gringauz in :issue:`41543`.)" @@ -1456,7 +1461,7 @@ msgstr "" "Ajout d'un gestionnaire de contexte pour prendre en charge :func:`contextlib." "nullcontext` (contribution de *Tom Gringauz* dans :issue:`41543`)." -#: whatsnew/3.10.rst:971 +#: whatsnew/3.10.rst:972 msgid "" "Add :class:`AsyncContextDecorator`, for supporting usage of async context " "managers as decorators." @@ -1464,11 +1469,11 @@ msgstr "" "Ajout de :class:`AsyncContextDecorator` pour prendre en charge les " "gestionnaires de contexte asynchrones en tant que décorateurs." -#: whatsnew/3.10.rst:975 +#: whatsnew/3.10.rst:976 msgid "curses" msgstr "``curses``" -#: whatsnew/3.10.rst:977 +#: whatsnew/3.10.rst:978 msgid "" "The extended color functions added in ncurses 6.1 will be used transparently " "by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses." @@ -1486,7 +1491,7 @@ msgstr "" "(contribution de *Jeffrey Kintscher* et de *Hans Petter Jansson* dans :issue:" "`36982`)." -#: whatsnew/3.10.rst:984 +#: whatsnew/3.10.rst:985 msgid "" "The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if " "they are provided by the underlying curses library. (Contributed by Zackery " @@ -1496,15 +1501,15 @@ msgstr "" "`curses` si elles sont fournies par la bibliothèque *curses* sous-jacente " "(contribution de *Zackery Spytz* dans :issue:`39273`)." -#: whatsnew/3.10.rst:989 +#: whatsnew/3.10.rst:990 msgid "dataclasses" msgstr "``dataclasses``" -#: whatsnew/3.10.rst:992 +#: whatsnew/3.10.rst:993 msgid "__slots__" msgstr "``__slots__``" -#: whatsnew/3.10.rst:994 +#: whatsnew/3.10.rst:995 msgid "" "Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. " "(Contributed by Yurii Karabas in :issue:`42269`)" @@ -1512,11 +1517,11 @@ msgstr "" "Ajout du paramètre ``slots`` dans le décorateur :func:`dataclasses." "dataclass` (contribution de *Yurii Karabas* dans :issue:`42269`)." -#: whatsnew/3.10.rst:998 +#: whatsnew/3.10.rst:999 msgid "Keyword-only fields" msgstr "Champs obligatoirement nommés" -#: whatsnew/3.10.rst:1000 +#: whatsnew/3.10.rst:1001 msgid "" "dataclasses now supports fields that are keyword-only in the generated " "__init__ method. There are a number of ways of specifying keyword-only " @@ -1526,11 +1531,11 @@ msgstr "" "champs obligatoirement nommés dans la méthode ``__init__`` générée. Il y a " "plusieurs façons de spécifier les champs obligatoirement nommés." -#: whatsnew/3.10.rst:1004 +#: whatsnew/3.10.rst:1005 msgid "You can say that every field is keyword-only:" msgstr "Vous pouvez indiquer que tous les champs sont obligatoirement nommés :" -#: whatsnew/3.10.rst:1015 +#: whatsnew/3.10.rst:1016 msgid "" "Both ``name`` and ``birthday`` are keyword-only parameters to the generated " "__init__ method." @@ -1538,12 +1543,12 @@ msgstr "" "Les paramètres ``name`` et ``birthday`` sont tous deux obligatoirement " "nommés dans la méthode ``__init__`` générée." -#: whatsnew/3.10.rst:1018 +#: whatsnew/3.10.rst:1019 msgid "You can specify keyword-only on a per-field basis:" msgstr "" "Pour chaque champ, vous pouvez indiquer s'il est obligatoirement nommé :" -#: whatsnew/3.10.rst:1029 +#: whatsnew/3.10.rst:1030 msgid "" "Here only ``birthday`` is keyword-only. If you set ``kw_only`` on " "individual fields, be aware that there are rules about re-ordering fields " @@ -1556,7 +1561,7 @@ msgstr "" "les champs optionnellement nommés. Voir la documentation de ``dataclass`` " "pour plus de détails." -#: whatsnew/3.10.rst:1034 +#: whatsnew/3.10.rst:1035 msgid "" "You can also specify that all fields following a KW_ONLY marker are keyword-" "only. This will probably be the most common usage:" @@ -1565,7 +1570,7 @@ msgstr "" "``KW_ONLY`` sont obligatoirement nommés. Ceci sera probablement " "l'utilisation la plus commune :" -#: whatsnew/3.10.rst:1049 +#: whatsnew/3.10.rst:1050 #, fuzzy msgid "" "Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are " @@ -1574,11 +1579,11 @@ msgstr "" "Ici, ``z`` et ``t`` sont obligatoirement nommés, alors que ``x`` et ``y`` ne " "le sont pas (contribution d'*Eric V. Smith* dans :issue:`43532`)." -#: whatsnew/3.10.rst:1056 +#: whatsnew/3.10.rst:1057 msgid "distutils" msgstr "``distutils``" -#: whatsnew/3.10.rst:1058 +#: whatsnew/3.10.rst:1059 msgid "" "The entire ``distutils`` package is deprecated, to be removed in Python " "3.12. Its functionality for specifying package builds has already been " @@ -1600,7 +1605,7 @@ msgstr "" "utilisent d'autres fonctions du module doivent faire des copies privées du " "code. Voir la discussion dans la :pep:`632`." -#: whatsnew/3.10.rst:1068 +#: whatsnew/3.10.rst:1069 msgid "" "The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The " "``bdist_wheel`` command is now recommended to distribute binary packages on " @@ -1611,11 +1616,11 @@ msgstr "" "distribuer des paquets binaires sous Windows (contribution de *Victor " "Stinner* dans :issue:`42802`)." -#: whatsnew/3.10.rst:1074 +#: whatsnew/3.10.rst:1075 msgid "doctest" msgstr "``doctest``" -#: whatsnew/3.10.rst:1200 whatsnew/3.10.rst:1326 +#: whatsnew/3.10.rst:1201 whatsnew/3.10.rst:1327 msgid "" "When a module does not define ``__loader__``, fall back to ``__spec__." "loader``. (Contributed by Brett Cannon in :issue:`42133`.)" @@ -1623,11 +1628,11 @@ msgstr "" "Quand un module ne définit pas ``__loader__``, ``__spec__.loader`` est " "utilisé (contribution de *Brett Cannon* dans :issue:`42133`)." -#: whatsnew/3.10.rst:1080 +#: whatsnew/3.10.rst:1081 msgid "encodings" msgstr "``encodings``" -#: whatsnew/3.10.rst:1082 +#: whatsnew/3.10.rst:1083 msgid "" ":func:`encodings.normalize_encoding` now ignores non-ASCII characters. " "(Contributed by Hai Shi in :issue:`39337`.)" @@ -1635,11 +1640,11 @@ msgstr "" "La fonction :func:`encodings.normalize_encoding` ignore maintenant les " "caractères non ASCII (contribution de *Hai Shi* dans :issue:`39337`)." -#: whatsnew/3.10.rst:1086 +#: whatsnew/3.10.rst:1087 msgid "fileinput" msgstr "``fileinput``" -#: whatsnew/3.10.rst:1088 +#: whatsnew/3.10.rst:1089 msgid "" "Add *encoding* and *errors* parameters in :func:`fileinput.input` and :class:" "`fileinput.FileInput`. (Contributed by Inada Naoki in :issue:`43712`.)" @@ -1648,7 +1653,7 @@ msgstr "" "et dans :class:`fileinput.FileInput` (contribution d'*Inada Naoki* dans :" "issue:`43712`)." -#: whatsnew/3.10.rst:1092 +#: whatsnew/3.10.rst:1093 msgid "" ":func:`fileinput.hook_compressed` now returns :class:`TextIOWrapper` object " "when *mode* is \"r\" and file is compressed, like uncompressed files. " @@ -1659,11 +1664,11 @@ msgstr "" "compressé, comme pour les fichiers non compressés (contribution d'*Inada " "Naoki* dans :issue:`5758`)." -#: whatsnew/3.10.rst:1097 +#: whatsnew/3.10.rst:1098 msgid "faulthandler" msgstr "``faulthandler``" -#: whatsnew/3.10.rst:1099 +#: whatsnew/3.10.rst:1100 msgid "" "The :mod:`faulthandler` module now detects if a fatal error occurs during a " "garbage collector collection. (Contributed by Victor Stinner in :issue:" @@ -1673,11 +1678,11 @@ msgstr "" "produite pendant un passage du ramasse-miettes (contribution de *Victor " "Stinner* dans :issue:`44466`)." -#: whatsnew/3.10.rst:1104 +#: whatsnew/3.10.rst:1105 msgid "gc" msgstr "``gc``" -#: whatsnew/3.10.rst:1106 +#: whatsnew/3.10.rst:1107 msgid "" "Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and :" "func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)" @@ -1686,11 +1691,11 @@ msgstr "" "get_referrers` et :func:`gc.get_referents` (contribution de *Pablo Galindo* " "dans :issue:`43439`)." -#: whatsnew/3.10.rst:1110 +#: whatsnew/3.10.rst:1111 msgid "glob" msgstr "``glob``" -#: whatsnew/3.10.rst:1112 +#: whatsnew/3.10.rst:1113 msgid "" "Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and :func:" "`~glob.iglob` which allow to specify the root directory for searching. " @@ -1701,11 +1706,11 @@ msgstr "" "racine utilisé pour la recherche (contribution de *Serhiy Storchaka* dans :" "issue:`38144`)." -#: whatsnew/3.10.rst:1117 +#: whatsnew/3.10.rst:1118 msgid "hashlib" msgstr "``hashlib``" -#: whatsnew/3.10.rst:1119 +#: whatsnew/3.10.rst:1120 msgid "" "The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by " "Christian Heimes in :pep:`644` and :issue:`43669`.)" @@ -1714,7 +1719,7 @@ msgstr "" "1.1.1 (contribution de *Christian Heimes* dans :pep:`644` et dans :issue:" "`43669`)." -#: whatsnew/3.10.rst:1122 +#: whatsnew/3.10.rst:1123 msgid "" "The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed " "by Christian Heimes in :issue:`38820` and other issues.)" @@ -1723,7 +1728,7 @@ msgstr "" "3.0.0 (contribution de *Christian Heimes* dans :issue:`38820` et autres " "tickets)." -#: whatsnew/3.10.rst:1125 +#: whatsnew/3.10.rst:1126 msgid "" "The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In " "the future PBKDF2-HMAC will only be available when Python has been built " @@ -1734,11 +1739,11 @@ msgstr "" "compilé avec la prise en charge d'*OpenSSL* (contribution de *Christian " "Heimes* dans :issue:`43880`)." -#: whatsnew/3.10.rst:1131 +#: whatsnew/3.10.rst:1132 msgid "hmac" msgstr "``hmac``" -#: whatsnew/3.10.rst:1133 +#: whatsnew/3.10.rst:1134 msgid "" "The hmac module now uses OpenSSL's HMAC implementation internally. " "(Contributed by Christian Heimes in :issue:`40645`.)" @@ -1746,11 +1751,11 @@ msgstr "" "L'implémentation interne du module ``hmac`` utilise maintenant *HMAC* " "d'*OpenSSL* (contribution de *Christian Heimes* dans :issue:`40645`)." -#: whatsnew/3.10.rst:1137 +#: whatsnew/3.10.rst:1138 msgid "IDLE and idlelib" msgstr "IDLE et ``idlelib``" -#: whatsnew/3.10.rst:1139 +#: whatsnew/3.10.rst:1140 msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " "hooks were previously ignored. (Contributed by Ken Hilton in :issue:" @@ -1760,7 +1765,7 @@ msgstr "" "n'``). Auparavant, les fonctions de rappel définies par l'utilisateur " "étaient ignorées (contribution par *Ken Hilton* dans :issue:`43008`)." -#: whatsnew/3.10.rst:1143 +#: whatsnew/3.10.rst:1144 msgid "" "Rearrange the settings dialog. Split the General tab into Windows and Shell/" "Ed tabs. Move help sources, which extend the Help menu, to the Extensions " @@ -1771,7 +1776,7 @@ msgid "" "`33962`.)" msgstr "" -#: whatsnew/3.10.rst:1151 +#: whatsnew/3.10.rst:1152 msgid "The changes above were backported to a 3.9 maintenance release." msgstr "" "Les changements ci-dessus ont été rétro-portés dans le cadre de la " @@ -1780,7 +1785,7 @@ msgstr "" # L'utilisation du terme "zip" peut laisser croire que le contenu de # clipboard après la copie est structuré, mais ce n'est pas le cas. Le # clipboard est populé avec du texte non-structuré. -#: whatsnew/3.10.rst:1153 +#: whatsnew/3.10.rst:1154 msgid "" "Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add " "secondary prompts ('...') to the sidebar. Left click and optional drag " @@ -1800,7 +1805,7 @@ msgstr "" "le texte sélectionné. Cette option apparait aussi dans le menu contextuel " "pour le texte (contribution de *Tal Einat* dans :issue:`37903`)." -#: whatsnew/3.10.rst:1162 +#: whatsnew/3.10.rst:1163 msgid "" "Use spaces instead of tabs to indent interactive code. This makes " "interactive code entries 'look right'. Making this feasible was a major " @@ -1814,7 +1819,7 @@ msgstr "" # "Coloration" plutôt que "mise en évendence" ou "surlignage" pour # rester cohérent avec library/idle.po -#: whatsnew/3.10.rst:1167 +#: whatsnew/3.10.rst:1168 msgid "" "Highlight the new :ref:`soft keywords ` :keyword:`match`, :" "keyword:`case `, and :keyword:`_ ` in pattern-" @@ -1829,11 +1834,11 @@ msgstr "" "rares cas, y-compris certains ``_`` dans des instructions ``case`` " "(contribution de Tal Einat dans :issue:`44010`)." -#: whatsnew/3.10.rst:1173 +#: whatsnew/3.10.rst:1174 msgid "New in 3.10 maintenance releases." msgstr "Nouveau dans les versions de maintenance 3.10." -#: whatsnew/3.10.rst:1175 +#: whatsnew/3.10.rst:1176 msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" @@ -1841,17 +1846,17 @@ msgstr "" "Applique la coloration syntaxique aux fichiers ``.pyi`` (contribution " "d'*Alex Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)." -#: whatsnew/3.10.rst:1178 +#: whatsnew/3.10.rst:1179 msgid "" "Include prompts when saving Shell with inputs and outputs. (Contributed by " "Terry Jan Reedy in :gh:`95191`.)" msgstr "" -#: whatsnew/3.10.rst:1182 +#: whatsnew/3.10.rst:1183 msgid "importlib.metadata" msgstr "``importlib.metadata``" -#: whatsnew/3.10.rst:1184 +#: whatsnew/3.10.rst:1185 msgid "" "Feature parity with ``importlib_metadata`` 4.6 (`history `_)." @@ -1859,7 +1864,7 @@ msgstr "" "Équivalence de fonctionnalités avec ``importlib_metadata`` 4.6 (`historique " "`_)." -#: whatsnew/3.10.rst:1187 +#: whatsnew/3.10.rst:1188 msgid "" ":ref:`importlib.metadata entry points ` now provide a nicer " "experience for selecting entry points by group and name through a new :class:" @@ -1874,7 +1879,7 @@ msgstr "" "metadata`` pour plus d'information sur son utilisation et ce qui devient " "obsolète." -#: whatsnew/3.10.rst:1193 +#: whatsnew/3.10.rst:1194 msgid "" "Added :func:`importlib.metadata.packages_distributions` for resolving top-" "level Python modules and packages to their :class:`importlib.metadata." @@ -1884,11 +1889,11 @@ msgstr "" "modules et paquets Python du niveau racine vers leur :class:`importlib." "metadata.Distribution`." -#: whatsnew/3.10.rst:1198 +#: whatsnew/3.10.rst:1199 msgid "inspect" msgstr "``inspect``" -#: whatsnew/3.10.rst:1203 +#: whatsnew/3.10.rst:1204 msgid "" "Add :func:`inspect.get_annotations`, which safely computes the annotations " "defined on an object. It works around the quirks of accessing the " @@ -1922,25 +1927,25 @@ msgstr "" "annotations contenues dans des chaînes de caractères en objets (contribution " "de *Larry Hastings* dans :issue:`43817`)." -#: whatsnew/3.10.rst:1219 +#: whatsnew/3.10.rst:1220 msgid "itertools" msgstr "" -#: whatsnew/3.10.rst:1221 +#: whatsnew/3.10.rst:1222 msgid "" "Add :func:`itertools.pairwise()`. (Contributed by Raymond Hettinger in :" "issue:`38200`.)" msgstr "" -#: whatsnew/3.10.rst:1225 +#: whatsnew/3.10.rst:1226 msgid "linecache" msgstr "``linecache``" -#: whatsnew/3.10.rst:1231 +#: whatsnew/3.10.rst:1232 msgid "os" msgstr "``os``" -#: whatsnew/3.10.rst:1233 +#: whatsnew/3.10.rst:1234 msgid "" "Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " "Xin in :issue:`41440`.)" @@ -1948,7 +1953,7 @@ msgstr "" "Ajout de la prise en charge de *VxWorks RTOS* dans :func:`os.cpu_count()` " "(contribution de *Peixing Xin* dans :issue:`41440`)." -#: whatsnew/3.10.rst:1236 +#: whatsnew/3.10.rst:1237 msgid "" "Add a new function :func:`os.eventfd` and related helpers to wrap the " "``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" @@ -1958,7 +1963,7 @@ msgstr "" "utilitaires associées pour encapsuler l'appel système ``eventfd2`` sur Linux " "(contribution de *Christian Heimes* dans :issue:`41001`)." -#: whatsnew/3.10.rst:1240 +#: whatsnew/3.10.rst:1241 msgid "" "Add :func:`os.splice()` that allows to move data between two file " "descriptors without copying between kernel address space and user address " @@ -1970,7 +1975,7 @@ msgstr "" "Un des descripteurs de fichiers doit référencer un tube (*pipe*) " "(contribution de *Pablo Galindo* dans :issue:`41625`)." -#: whatsnew/3.10.rst:1245 +#: whatsnew/3.10.rst:1246 msgid "" "Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :" "data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:" @@ -1980,11 +1985,11 @@ msgstr "" "et :data:`~os.O_NOFOLLOW_ANY` sur macOS (contribution de *Dong-hee Na* dans :" "issue:`43106`)." -#: whatsnew/3.10.rst:1250 +#: whatsnew/3.10.rst:1251 msgid "os.path" msgstr "``os.path``" -#: whatsnew/3.10.rst:1252 +#: whatsnew/3.10.rst:1253 msgid "" ":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When " "set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " @@ -1995,11 +2000,11 @@ msgstr "" "pas ou si une boucle de liens symboliques est rencontrée (contribution de " "*Barney Gale* dans :issue:`43757`)." -#: whatsnew/3.10.rst:1258 +#: whatsnew/3.10.rst:1259 msgid "pathlib" msgstr "``pathlib``" -#: whatsnew/3.10.rst:1260 +#: whatsnew/3.10.rst:1261 #, fuzzy msgid "" "Add slice support to :attr:`PurePath.parents `. " @@ -2009,7 +2014,7 @@ msgstr "" "` (contribution de *Joshua Cannon* dans :issue:" "`35498`)." -#: whatsnew/3.10.rst:1263 +#: whatsnew/3.10.rst:1264 #, fuzzy msgid "" "Add negative indexing support to :attr:`PurePath.parents ` (contribution de *Yaroslav Pankovych* " "dans :issue:`21041`)." -#: whatsnew/3.10.rst:1267 +#: whatsnew/3.10.rst:1268 msgid "" "Add :meth:`Path.hardlink_to ` method that " "supersedes :meth:`~pathlib.Path.link_to`. The new method has the same " @@ -2031,7 +2036,7 @@ msgstr "" "méthode est le même que :meth:`~pathlib.Path.symlink_to` (contribution de " "*Barney Gale* dans :issue:`39950`)." -#: whatsnew/3.10.rst:1272 +#: whatsnew/3.10.rst:1273 msgid "" ":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " "*follow_symlinks* keyword-only argument for consistency with corresponding " @@ -2043,11 +2048,11 @@ msgstr "" "fonctions correspondantes dans le module :mod:`os` (contribution de *Barney " "Gale* dans :issue:`39906`)." -#: whatsnew/3.10.rst:1278 +#: whatsnew/3.10.rst:1279 msgid "platform" msgstr "``platform``" -#: whatsnew/3.10.rst:1280 +#: whatsnew/3.10.rst:1281 #, fuzzy msgid "" "Add :func:`platform.freedesktop_os_release()` to retrieve operation system " @@ -2061,11 +2066,11 @@ msgstr "" "`_ " "(contribution de *Christian Heimes* dans :issue:`28468`)." -#: whatsnew/3.10.rst:1286 +#: whatsnew/3.10.rst:1287 msgid "pprint" msgstr "``pprint``" -#: whatsnew/3.10.rst:1288 +#: whatsnew/3.10.rst:1289 msgid "" ":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " "argument. (Contributed by sblondon in :issue:`42914`.)" @@ -2073,7 +2078,7 @@ msgstr "" ":func:`pprint.pprint` accepte maintenant le nouvel argument nommé " "``underscore_numbers`` (contribution de *sblondon* dans :issue:`42914`)." -#: whatsnew/3.10.rst:1291 +#: whatsnew/3.10.rst:1292 msgid "" ":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. " "(Contributed by Lewis Gaul in :issue:`43080`.)" @@ -2081,11 +2086,11 @@ msgstr "" ":mod:`pprint` peut maintenant afficher élégamment les instances de :class:" "`dataclasses.dataclass` (contribution de *Lewis Gaul* dans :issue:`43080`)." -#: whatsnew/3.10.rst:1295 +#: whatsnew/3.10.rst:1296 msgid "py_compile" msgstr "``py_compile``" -#: whatsnew/3.10.rst:1297 +#: whatsnew/3.10.rst:1298 msgid "" "Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " "(Contributed by Gregory Schevchenko in :issue:`38731`.)" @@ -2093,11 +2098,11 @@ msgstr "" "Ajout de l'option de ligne de commande ``--quiet`` à l'interface de :mod:" "`py_compile` (contribution de *Gregory Schevchenko* dans :issue:`38731`)." -#: whatsnew/3.10.rst:1301 +#: whatsnew/3.10.rst:1302 msgid "pyclbr" msgstr "``pyclbr``" -#: whatsnew/3.10.rst:1303 +#: whatsnew/3.10.rst:1304 msgid "" "Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in " "the tree returned by :func:`pyclbr.readline` and :func:`pyclbr." @@ -2109,13 +2114,13 @@ msgstr "" "Il complète l'attribut ``lineno`` déjà existant (contribution d'*Aviral " "Srivastava* dans :issue:`38307`)." -#: whatsnew/3.10.rst:1309 +#: whatsnew/3.10.rst:1310 msgid "shelve" msgstr "``shelve``" # "objets shelf" plutôt que "objets shelves" pour être cohérent avec # library/shelve.po -#: whatsnew/3.10.rst:1311 +#: whatsnew/3.10.rst:1312 msgid "" "The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default " "instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed " @@ -2126,11 +2131,11 @@ msgstr "" "création des objets ``shelf`` (contribution de *Zackery Spytz* dans :issue:" "`34204`)." -#: whatsnew/3.10.rst:1316 +#: whatsnew/3.10.rst:1317 msgid "statistics" msgstr "``statistics``" -#: whatsnew/3.10.rst:1318 +#: whatsnew/3.10.rst:1319 msgid "" "Add :func:`~statistics.covariance`, Pearson's :func:`~statistics." "correlation`, and simple :func:`~statistics.linear_regression` functions. " @@ -2141,15 +2146,15 @@ msgstr "" "linear_regression` (régression linéaire simple) (contribution de *Tymoteusz " "Wołodźko* dans :issue:`38490`)." -#: whatsnew/3.10.rst:1324 +#: whatsnew/3.10.rst:1325 msgid "site" msgstr "``site``" -#: whatsnew/3.10.rst:1330 +#: whatsnew/3.10.rst:1331 msgid "socket" msgstr "``socket``" -#: whatsnew/3.10.rst:1332 +#: whatsnew/3.10.rst:1333 msgid "" "The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " "(Contributed by Christian Heimes in :issue:`42413`.)" @@ -2157,7 +2162,7 @@ msgstr "" "L'exception :exc:`socket.timeout` est maintenant un alias de :exc:" "`TimeoutError` (contribution de *Christian Heimes* dans :issue:`42413`)." -#: whatsnew/3.10.rst:1335 +#: whatsnew/3.10.rst:1336 msgid "" "Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " "Rui Cunha in :issue:`43571`.)" @@ -2165,7 +2170,7 @@ msgstr "" "Ajout d'une option pour créer des connecteurs (*socket*) *MPTCP* avec " "``IPPROTO_MPTCP`` (contribution de *Rui Cunha* dans :issue:`43571`)." -#: whatsnew/3.10.rst:1338 +#: whatsnew/3.10.rst:1339 msgid "" "Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " "fields (Contributed by Georg Sauthoff in :issue:`44077`.)" @@ -2174,11 +2179,11 @@ msgstr "" "of service (ToS)* ou *differentiated services code point (DSCP/ECN)* " "(contribution de *Georg Sauthoff* dans :issue:`44077`)." -#: whatsnew/3.10.rst:1342 +#: whatsnew/3.10.rst:1343 msgid "ssl" msgstr "``ssl``" -#: whatsnew/3.10.rst:1344 +#: whatsnew/3.10.rst:1345 msgid "" "The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " "Heimes in :pep:`644` and :issue:`43669`.)" @@ -2186,7 +2191,7 @@ msgstr "" "La version minimale d'*OpenSSL* pour le module ``ssl`` est maintenant 1.1.1 " "(contribution de *Christian Heimes* dans :pep:`644` et dans :issue:`43669`)." -#: whatsnew/3.10.rst:1347 +#: whatsnew/3.10.rst:1348 msgid "" "The ssl module has preliminary support for OpenSSL 3.0.0 and new option :" "data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in :" @@ -2199,7 +2204,7 @@ msgstr "" "issue:`43788`, :issue:`43791`, :issue:`43799`, :issue:`43920`, :issue:" "`43789` et :issue:`43811`)." -#: whatsnew/3.10.rst:1353 +#: whatsnew/3.10.rst:1354 msgid "" "Deprecated function and use of deprecated constants now result in a :exc:" "`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl." @@ -2216,7 +2221,7 @@ msgstr "" "liste des fonctionnalités obsolètes (contribution de *Christian Heimes* " "dans :issue:`43880`)." -#: whatsnew/3.10.rst:1361 +#: whatsnew/3.10.rst:1362 msgid "" "The ssl module now has more secure default settings. Ciphers without forward " "secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits " @@ -2234,7 +2239,7 @@ msgstr "" "est basée sur la recherche de *Hynek Schlawack* (contribution de *Christian " "Heimes* dans :issue:`43998`)." -#: whatsnew/3.10.rst:1368 +#: whatsnew/3.10.rst:1369 msgid "" "The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer " "officially supported. Python does not block them actively. However OpenSSL " @@ -2247,7 +2252,7 @@ msgstr "" "d'exploitation, les rustines des fabricants et les suites d'algorithmes de " "chiffrement peuvent empêcher l’établissement d'une connexion." -#: whatsnew/3.10.rst:1373 +#: whatsnew/3.10.rst:1374 msgid "" "Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " "function. (Contributed by Zackery Spytz in :issue:`31870`.)" @@ -2256,7 +2261,7 @@ msgstr "" "get_server_certificate` (contribution de *Zackery Spytz* dans :issue:" "`31870`)." -#: whatsnew/3.10.rst:1376 +#: whatsnew/3.10.rst:1377 msgid "" "The ssl module uses heap-types and multi-phase initialization. (Contributed " "by Christian Heimes in :issue:`42333`.)" @@ -2264,7 +2269,7 @@ msgstr "" "Le module ``ssl`` utilise les types du tas et l'initialisation multi-phase " "(contribution de *Christian Heimes* dans :issue:`42333`)." -#: whatsnew/3.10.rst:1379 +#: whatsnew/3.10.rst:1380 msgid "" "A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " "(Contributed by l0x in :issue:`40849`.)" @@ -2272,11 +2277,11 @@ msgstr "" "Ajout d'un nouveau drapeau de vérification :data:`~ssl." "VERIFY_X509_PARTIAL_CHAIN` (contribution de *l0x* dans :issue:`40849`)." -#: whatsnew/3.10.rst:1383 +#: whatsnew/3.10.rst:1384 msgid "sqlite3" msgstr "``sqlite3``" -#: whatsnew/3.10.rst:1385 +#: whatsnew/3.10.rst:1386 msgid "" "Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." "Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." @@ -2286,11 +2291,11 @@ msgstr "" "`~sqlite3.Connection.enable_load_extension` et :meth:`~sqlite3.Connection." "load_extension` (contribution d'*Erlend E. Aasland* dans :issue:`43762`)." -#: whatsnew/3.10.rst:1391 +#: whatsnew/3.10.rst:1392 msgid "sys" msgstr "``sys``" -#: whatsnew/3.10.rst:1393 +#: whatsnew/3.10.rst:1394 msgid "" "Add :data:`sys.orig_argv` attribute: the list of the original command line " "arguments passed to the Python executable. (Contributed by Victor Stinner " @@ -2300,7 +2305,7 @@ msgstr "" "de commande originalement passée à l'exécutable Python (contribution de " "*Victor Stinner* dans :issue:`23427`)." -#: whatsnew/3.10.rst:1397 +#: whatsnew/3.10.rst:1398 msgid "" "Add :data:`sys.stdlib_module_names`, containing the list of the standard " "library module names. (Contributed by Victor Stinner in :issue:`42955`.)" @@ -2309,11 +2314,11 @@ msgstr "" "modules de la bibliothèque standard (contribution de *Victor Stinner* dans :" "issue:`42955`)." -#: whatsnew/3.10.rst:1402 +#: whatsnew/3.10.rst:1403 msgid "_thread" msgstr "``_thread``" -#: whatsnew/3.10.rst:1404 +#: whatsnew/3.10.rst:1405 msgid "" ":func:`_thread.interrupt_main` now takes an optional signal number to " "simulate (the default is still :data:`signal.SIGINT`). (Contributed by " @@ -2324,11 +2329,11 @@ msgstr "" "toujours :data:`signal.SIGINT`) (contribution d'*Antoine Pitrou* dans :issue:" "`43356`)." -#: whatsnew/3.10.rst:1409 +#: whatsnew/3.10.rst:1410 msgid "threading" msgstr "``threading``" -#: whatsnew/3.10.rst:1411 +#: whatsnew/3.10.rst:1412 msgid "" "Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve " "the functions set by :func:`threading.settrace` and :func:`threading." @@ -2339,7 +2344,7 @@ msgstr "" "settrace` et :func:`threading.setprofile` respectivement (contribution de " "*Mario Corchero* dans :issue:`42251`)." -#: whatsnew/3.10.rst:1416 +#: whatsnew/3.10.rst:1417 msgid "" "Add :data:`threading.__excepthook__` to allow retrieving the original value " "of :func:`threading.excepthook` in case it is set to a broken or a different " @@ -2350,11 +2355,11 @@ msgstr "" "incorrecte ou différente (contribution de *Mario Corchero* dans :issue:" "`42308`)." -#: whatsnew/3.10.rst:1422 +#: whatsnew/3.10.rst:1423 msgid "traceback" msgstr "``traceback``" -#: whatsnew/3.10.rst:1424 +#: whatsnew/3.10.rst:1425 msgid "" "The :func:`~traceback.format_exception`, :func:`~traceback." "format_exception_only`, and :func:`~traceback.print_exception` functions can " @@ -2366,11 +2371,11 @@ msgstr "" "maintenant prendre un objet exception en argument positionnel (contribution " "de *Zackery Spytz* et *Matthias Bussonnier* dans :issue:`26389`)." -#: whatsnew/3.10.rst:1431 +#: whatsnew/3.10.rst:1432 msgid "types" msgstr "``types``" -#: whatsnew/3.10.rst:1433 +#: whatsnew/3.10.rst:1434 msgid "" "Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:" "`types.NotImplementedType` classes, providing a new set of types readily " @@ -2382,15 +2387,15 @@ msgstr "" "nouvel ensemble de types facilement interprétable par les vérificateurs de " "types (contribution de *Bas van Beek* dans :issue:`41810`)." -#: whatsnew/3.10.rst:1439 +#: whatsnew/3.10.rst:1440 msgid "typing" msgstr "``typing``" -#: whatsnew/3.10.rst:1441 +#: whatsnew/3.10.rst:1442 msgid "For major changes, see :ref:`new-feat-related-type-hints`." msgstr "Pour les changements majeurs, voir :ref:`new-feat-related-type-hints`." -#: whatsnew/3.10.rst:1443 +#: whatsnew/3.10.rst:1444 msgid "" "The behavior of :class:`typing.Literal` was changed to conform with :pep:" "`586` and to match the behavior of static type checkers specified in the PEP." @@ -2399,18 +2404,18 @@ msgstr "" "avec la :pep:`586` et pour correspondre au comportement des vérificateurs de " "types statiques défini dans la PEP." -#: whatsnew/3.10.rst:1446 +#: whatsnew/3.10.rst:1447 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` dé-duplique maintenant les paramètres." -#: whatsnew/3.10.rst:1447 +#: whatsnew/3.10.rst:1448 msgid "" "Equality comparisons between ``Literal`` objects are now order independent." msgstr "" "La comparaison d'égalité entre objets ``Literal`` ne tient plus compte de " "l'ordre." -#: whatsnew/3.10.rst:1448 +#: whatsnew/3.10.rst:1449 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -2423,7 +2428,7 @@ msgstr "" "changement, le cache des types de l'implémentation interne peut maintenant " "différencier entre les types." -#: whatsnew/3.10.rst:1452 +#: whatsnew/3.10.rst:1453 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -2435,11 +2440,11 @@ msgstr "" "pas :term:`hachable`. Notez que déclarer un ``Literal`` avec des paramètres " "non hachables ne lève pas d'erreur ::" -#: whatsnew/3.10.rst:1464 +#: whatsnew/3.10.rst:1465 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(contribution de *Yurii Karabas* dans :issue:`42345`)." -#: whatsnew/3.10.rst:1466 +#: whatsnew/3.10.rst:1467 #, fuzzy msgid "" "Add new function :func:`typing.is_typeddict` to introspect if an annotation " @@ -2450,7 +2455,7 @@ msgstr "" "une annotation est une :class:`typing.TypedDict` (contribution de *Patrick " "Reader* dans :issue:`41792`)." -#: whatsnew/3.10.rst:1470 +#: whatsnew/3.10.rst:1471 #, fuzzy msgid "" "Subclasses of ``typing.Protocol`` which only have data variables declared " @@ -2468,7 +2473,7 @@ msgstr "" "décorateur :func:`runtime_checkable` s'ils désirent les protocoles à " "l'exécution (contribution de *Yurii Karabas* dans :issue:`38908`)." -#: whatsnew/3.10.rst:1478 +#: whatsnew/3.10.rst:1479 #, fuzzy msgid "" "Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" @@ -2484,11 +2489,11 @@ msgstr "" "directement du module :mod:`typing` (contribution de *Sebastian Rittau* " "dans :issue:`38291`)." -#: whatsnew/3.10.rst:1486 +#: whatsnew/3.10.rst:1487 msgid "unittest" msgstr "``unittest``" -#: whatsnew/3.10.rst:1488 +#: whatsnew/3.10.rst:1489 msgid "" "Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the " "existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi " @@ -2498,11 +2503,11 @@ msgstr "" "complémenter la méthode existante :meth:`~unittest.TestCase.assertLogs` " "(contribution de *Kit Yan Choi* dans :issue:`39385`)." -#: whatsnew/3.10.rst:1493 +#: whatsnew/3.10.rst:1494 msgid "urllib.parse" msgstr "``urllib.parse``" -#: whatsnew/3.10.rst:1495 +#: whatsnew/3.10.rst:1496 msgid "" "Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` " "as query parameter separators in :func:`urllib.parse.parse_qs` and :func:" @@ -2525,7 +2530,7 @@ msgstr "" "documentation respective de ces fonctions (contribution d'*Adam " "Goldschmidt*, de *Senthil Kumaran* et de *Ken Jin* dans :issue:`42967`)." -#: whatsnew/3.10.rst:1505 +#: whatsnew/3.10.rst:1506 msgid "" "The presence of newline or tab characters in parts of a URL allows for some " "forms of attacks. Following the WHATWG specification that updates :rfc:" @@ -2542,11 +2547,11 @@ msgstr "" "caractères à retirer est contrôlé par une nouvelle variable de module " "``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE`` (voir :issue:`43882`)." -#: whatsnew/3.10.rst:1513 +#: whatsnew/3.10.rst:1514 msgid "xml" msgstr "``xml``" -#: whatsnew/3.10.rst:1515 +#: whatsnew/3.10.rst:1516 msgid "" "Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax." "handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :" @@ -2556,11 +2561,11 @@ msgstr "" "`xml.sax.handler` (contribution de *Jonathan Gossage* de *Zackery Spytz* " "dans :issue:`35018`)." -#: whatsnew/3.10.rst:1520 +#: whatsnew/3.10.rst:1521 msgid "zipimport" msgstr "``zipimport``" -#: whatsnew/3.10.rst:1521 +#: whatsnew/3.10.rst:1522 msgid "" "Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter." "find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:" @@ -2572,7 +2577,7 @@ msgstr "" "zipimporter.exec_module` (contribution de *Brett Cannon* dans :issue:" "`42131`)." -#: whatsnew/3.10.rst:1526 +#: whatsnew/3.10.rst:1527 msgid "" "Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by " "Desmond Cheong in :issue:`14678`.)" @@ -2580,11 +2585,11 @@ msgstr "" "Ajout de la méthode :meth:`~zipimport.zipimporter.invalidate_caches` " "(contribution de *Desmond Cheong* dans :issue:`14678`)." -#: whatsnew/3.10.rst:1531 +#: whatsnew/3.10.rst:1532 msgid "Optimizations" msgstr "Optimisations" -#: whatsnew/3.10.rst:1533 +#: whatsnew/3.10.rst:1534 msgid "" "Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster " "(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :" @@ -2594,7 +2599,7 @@ msgstr "" "maintenant plus rapides (environ 30—40 % pour les petits objets) " "(contribution de *Serhiy Storchaka* dans :issue:`41334`)." -#: whatsnew/3.10.rst:1537 +#: whatsnew/3.10.rst:1538 msgid "" "The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-" "name`` command startup time is 1.4x faster in average. On Linux, ``python3 -" @@ -2609,7 +2614,7 @@ msgstr "" "(contribution de *Victor Stinner* dans :issue:`41006` et dans :issue:" "`41718`)." -#: whatsnew/3.10.rst:1543 +#: whatsnew/3.10.rst:1544 msgid "" "The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. " "It is about 36% faster now for regular attributes and 44% faster for slots. " @@ -2624,7 +2629,7 @@ msgstr "" "dans :issue:`42927`, basée sur des idées originalement mises en œuvre dans " "*PyPy* et dans *MicroPython*)." -#: whatsnew/3.10.rst:1549 +#: whatsnew/3.10.rst:1550 msgid "" "When building Python with :option:`--enable-optimizations` now ``-fno-" "semantic-interposition`` is added to both the compile and link line. This " @@ -2643,7 +2648,7 @@ msgstr "" "speeds/>`_ (en anglais) pour plus de détails (contribution de *Victor " "Stinner* et *Pablo Galindo* dans :issue:`38980`)." -#: whatsnew/3.10.rst:1557 +#: whatsnew/3.10.rst:1558 msgid "" "Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:" "`zlib` modules, and add ``.readall()`` function to ``_compression." @@ -2659,7 +2664,7 @@ msgstr "" "rapide, ``GzipFile.read(-1)`` est 1,11 à 1,18 fois plus rapide (contribution " "de *Ma Lin*, révision par *Gregory P. Smith* dans :issue:`41486`)." -#: whatsnew/3.10.rst:1563 +#: whatsnew/3.10.rst:1564 #, fuzzy msgid "" "When using stringized annotations, annotations dicts for functions are no " @@ -2677,7 +2682,7 @@ msgstr "" "CPU nécessaire à la définition d'une fonction annotée (contribution de " "*Yurii Karabas* et *Inada Naoki* dans :issue:`42202`)." -#: whatsnew/3.10.rst:1570 +#: whatsnew/3.10.rst:1571 msgid "" "Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` " "now sometimes use Crochemore & Perrin's \"Two-Way\" string searching " @@ -2690,7 +2695,7 @@ msgstr "" "éviter le comportement quadratique sur les longues chaînes (contribution de " "*Dennis Sweeney* dans :issue:`41972`)." -#: whatsnew/3.10.rst:1575 +#: whatsnew/3.10.rst:1576 #, fuzzy msgid "" "Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute " @@ -2704,7 +2709,7 @@ msgstr "" "facteur de 1,04 en moyenne (contribution de *Dino Viehland* dans :issue:" "`43452`)." -#: whatsnew/3.10.rst:1579 +#: whatsnew/3.10.rst:1580 #, fuzzy msgid "" "The following built-in functions now support the faster :pep:`590` " @@ -2719,7 +2724,7 @@ msgstr "" "(contribution de *Dong-hee Na* et *Jeroen Demeyer* dans :issue:`43575`, :" "issue:`43287`, :issue:`41922`, :issue:`41873` et :issue:`41870`)." -#: whatsnew/3.10.rst:1583 +#: whatsnew/3.10.rst:1584 #, fuzzy msgid "" ":class:`BZ2File` performance is improved by removing internal ``RLock``. " @@ -2735,11 +2740,11 @@ msgstr "" "`lzma` qui l'ont toujours été (contribution de *Inada Naoki* dans :issue:" "`43785`)." -#: whatsnew/3.10.rst:2212 +#: whatsnew/3.10.rst:2198 msgid "Deprecated" msgstr "Obsolescence" -#: whatsnew/3.10.rst:1593 +#: whatsnew/3.10.rst:1594 #, fuzzy msgid "" "Currently Python accepts numeric literals immediately followed by keywords, " @@ -2764,7 +2769,7 @@ msgstr "" "levé, et ultérieurement ce sera une erreur de syntaxe (contribution de " "*Serhiy Storchaka* dans :issue:`43833`)." -#: whatsnew/3.10.rst:1604 +#: whatsnew/3.10.rst:1605 msgid "" "Starting in this release, there will be a concerted effort to begin cleaning " "up old import semantics that were kept for Python 2.7 compatibility. " @@ -2796,7 +2801,7 @@ msgstr "" "`DeprecationWarning` seront levés le cas échéant pendant cette transition " "pour aider à identifier le code qui doit être mis à jour." -#: whatsnew/3.10.rst:1621 +#: whatsnew/3.10.rst:1622 msgid "" "The entire ``distutils`` namespace is deprecated, to be removed in Python " "3.12. Refer to the :ref:`module changes ` section for " @@ -2806,7 +2811,7 @@ msgstr "" "Python 3.12. Voir la section sur les :ref:`changements aux modules " "` pour plus d'information." -#: whatsnew/3.10.rst:1625 +#: whatsnew/3.10.rst:1626 msgid "" "Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:" "`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " @@ -2817,7 +2822,7 @@ msgstr "" "exc:`TypeError` (contribution de *Serhiy Storchaka* et *Raymond Hettinger* " "dans :issue:`37319`)." -#: whatsnew/3.10.rst:1629 +#: whatsnew/3.10.rst:1630 msgid "" "The various ``load_module()`` methods of :mod:`importlib` have been " "documented as deprecated since Python 3.6, but will now also trigger a :exc:" @@ -2829,7 +2834,7 @@ msgstr "" "aussi lever un :exc:`DeprecationWarning`. Utilisez plutôt :meth:`~importlib." "abc.Loader.exec_module` (contribution de *Brett Cannon* dans :issue:`26131`)." -#: whatsnew/3.10.rst:1635 +#: whatsnew/3.10.rst:1636 msgid "" ":meth:`zimport.zipimporter.load_module` has been deprecated in preference " "for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " @@ -2839,7 +2844,7 @@ msgstr "" "`~zipimport.zipimporter.exec_module` (contribution de *Brett Cannon* dans :" "issue:`26131`)." -#: whatsnew/3.10.rst:1639 +#: whatsnew/3.10.rst:1640 msgid "" "The use of :meth:`~importlib.abc.Loader.load_module` by the import system " "now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." @@ -2850,7 +2855,7 @@ msgstr "" "abc.Loader.exec_module` est recommandée (contribution de (*Brett Cannon* " "dans :issue:`26131`)." -#: whatsnew/3.10.rst:1644 +#: whatsnew/3.10.rst:1645 msgid "" "The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:" "`importlib.abc.PathEntryFinder.find_module` by the import system now trigger " @@ -2867,7 +2872,7 @@ msgstr "" "`importlib.util.spec_from_loader` pour faciliter le portage (contribution de " "*Brett Cannon* dans :issue:`42134`)." -#: whatsnew/3.10.rst:1653 +#: whatsnew/3.10.rst:1654 msgid "" "The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import " "system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc." @@ -2882,7 +2887,7 @@ msgstr "" "pour faciliter le portage (contribution de *Brett Cannon* dans :issue:" "`43672`)." -#: whatsnew/3.10.rst:1659 +#: whatsnew/3.10.rst:1660 msgid "" "The various implementations of :meth:`importlib.abc.MetaPathFinder." "find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :" @@ -2908,7 +2913,7 @@ msgstr "" "(elles étaient documentées comme obsolètes depuis Python 3.4) (contribution " "de *Brett Cannon* dans :issue:`42135`)." -#: whatsnew/3.10.rst:1674 +#: whatsnew/3.10.rst:1675 msgid "" ":class:`importlib.abc.Finder` is deprecated (including its sole method, :" "meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc." @@ -2922,7 +2927,7 @@ msgstr "" "``Finder``. Les utilisateurs doivent hériter d'une de ces deux classes le " "cas échéant (contribution de *Brett Cannon* dans :issue:`42135`)." -#: whatsnew/3.10.rst:1681 +#: whatsnew/3.10.rst:1682 msgid "" "The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:" "`importlib.util.set_package_wrapper`, :func:`importlib.util." @@ -2940,7 +2945,7 @@ msgstr "" "lèvent un :exc:`DeprecationWarning` depuis les précédentes versions de " "Python) (contribution de *Brett Cannon* dans :issue:`43720`)." -#: whatsnew/3.10.rst:1691 +#: whatsnew/3.10.rst:1692 msgid "" "The import system now uses the ``__spec__`` attribute on modules before " "falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's " @@ -2953,7 +2958,7 @@ msgstr "" "``module_repr()`` est planifié pour Python 3.12 (contribution de *Brett " "Cannon* dans :issue:`42137`)." -#: whatsnew/3.10.rst:1697 +#: whatsnew/3.10.rst:1698 msgid "" ":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." "FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader." @@ -2965,7 +2970,7 @@ msgstr "" "module_repr` sont obsolètes et seront retirées dans Python 3.12 " "(contribution de *Brett Cannon* dans :issue:`42136`)." -#: whatsnew/3.10.rst:1703 +#: whatsnew/3.10.rst:1704 msgid "" "``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python " "3.3, when it was made an alias to :class:`str`. It is now deprecated, " @@ -2977,33 +2982,7 @@ msgstr "" "obsolète et sera retiré dans Python 3.12 (contribution de *Erlend E. " "Aasland* dans :issue:`42264`)." -#: whatsnew/3.10.rst:1708 -msgid "" -":func:`asyncio.get_event_loop` now emits a deprecation warning if there is " -"no running event loop. In the future it will be an alias of :func:`~asyncio." -"get_running_loop`. :mod:`asyncio` functions which implicitly create :class:" -"`~asyncio.Future` or :class:`~asyncio.Task` objects now emit a deprecation " -"warning if there is no running event loop and no explicit *loop* argument is " -"passed: :func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, :func:" -"`~asyncio.gather`, :func:`~asyncio.shield`, :func:`~asyncio.as_completed` " -"and constructors of :class:`~asyncio.Future`, :class:`~asyncio.Task`, :class:" -"`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol`. " -"(Contributed by Serhiy Storchaka in :issue:`39529`.)" -msgstr "" -":func:`asyncio.get_event_loop` lève maintenant un ``DeprecationWarning`` " -"s'il n'y a pas de boucle d'événements en cours d'exécution. Elle deviendra " -"un alias pour :func:`~asyncio.get_running_loop` dans une version future. Les " -"fonctions de :mod:`asyncio` qui créent implicitement des objets :class:" -"`~asyncio.Future` ou :class:`~asyncio.Task` lèvent maintenant un " -"``DeprecationWarning`` s'il n'y a pas de boucle d'événements en cours " -"d'exécution et que l'argument *loop* n'est pas passé explicitement : :func:" -"`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, :func:`~asyncio." -"gather`, :func:`~asyncio.shield`, :func:`~asyncio.as_completed` et les " -"constructeurs des classes :class:`~asyncio.Future`, :class:`~asyncio.Task`, :" -"class:`~asyncio.StreamReader`, :class:`~asyncio.StreamReaderProtocol` " -"(contribution de Serhiy Storchaka dans :issue:`39529`)." - -#: whatsnew/3.10.rst:1721 +#: whatsnew/3.10.rst:1709 msgid "" "The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " "deprecated, scheduled for removal in Python 3.12. Its use is strongly " @@ -3021,51 +3000,51 @@ msgstr "" "de requête ``cache=shared`` (contribution de *Erlend E. Aasland* dans :issue:" "`24464`)." -#: whatsnew/3.10.rst:1729 +#: whatsnew/3.10.rst:1717 msgid "The following ``threading`` methods are now deprecated:" msgstr "" "Les méthodes suivantes du module ``threading`` sont maintenant obsolètes :" -#: whatsnew/3.10.rst:1731 +#: whatsnew/3.10.rst:1719 msgid "``threading.currentThread`` => :func:`threading.current_thread`" msgstr "``threading.currentThread`` => :func:`threading.current_thread` ;" -#: whatsnew/3.10.rst:1733 +#: whatsnew/3.10.rst:1721 msgid "``threading.activeCount`` => :func:`threading.active_count`" msgstr "``threading.activeCount`` => :func:`threading.active_count` ;" -#: whatsnew/3.10.rst:1735 +#: whatsnew/3.10.rst:1723 msgid "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" msgstr "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all` ;" -#: whatsnew/3.10.rst:1738 +#: whatsnew/3.10.rst:1726 msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set` ;" -#: whatsnew/3.10.rst:1740 +#: whatsnew/3.10.rst:1728 msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name` ;" -#: whatsnew/3.10.rst:1742 +#: whatsnew/3.10.rst:1730 msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name` ;" -#: whatsnew/3.10.rst:1744 +#: whatsnew/3.10.rst:1732 msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon` ;" -#: whatsnew/3.10.rst:1746 +#: whatsnew/3.10.rst:1734 msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`." -#: whatsnew/3.10.rst:1748 +#: whatsnew/3.10.rst:1736 #, fuzzy msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)" msgstr "(Contribution de *Jelle Zijlstra* dans :issue:`21574`.)" -#: whatsnew/3.10.rst:1750 +#: whatsnew/3.10.rst:1738 msgid "" ":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python " "3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " @@ -3075,7 +3054,7 @@ msgstr "" "Utilisez plutôt :meth:`pathlib.Path.hardlink_to` (contribution de *Barney " "Gale* dans :issue:`39950`)." -#: whatsnew/3.10.rst:1754 +#: whatsnew/3.10.rst:1742 msgid "" "``cgi.log()`` is deprecated and slated for removal in Python 3.12. " "(Contributed by Inada Naoki in :issue:`41139`.)" @@ -3083,7 +3062,7 @@ msgstr "" "``cgi.log()`` est obsolète et sera retirée dans Python 3.12 (contribution de " "*Inada Naoki* dans :issue:`41139`)." -#: whatsnew/3.10.rst:1757 +#: whatsnew/3.10.rst:1745 msgid "" "The following :mod:`ssl` features have been deprecated since Python 3.6, " "Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:" @@ -3091,7 +3070,7 @@ msgstr "" "Les fonctionnalités suivantes de :mod:`ssl` sont obsolètes depuis Python " "3.6, Python 3.7 ou *OpenSSL* 1.1.0 et seront retirées dans 3.11 :" -#: whatsnew/3.10.rst:1760 +#: whatsnew/3.10.rst:1748 msgid "" ":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." "OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :" @@ -3103,7 +3082,7 @@ msgstr "" "data:`~ssl.OP_NO_TLSv1_3` sont remplacés par :attr:`sslSSLContext." "minimum_version` et :attr:`sslSSLContext.maximum_version` ;" -#: whatsnew/3.10.rst:1766 +#: whatsnew/3.10.rst:1754 msgid "" ":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." "PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." @@ -3117,22 +3096,22 @@ msgstr "" "PROTOCOL_TLS` sont obsolètes et remplacés par :data:`~ssl." "PROTOCOL_TLS_CLIENT` et :data:`~ssl.PROTOCOL_TLS_SERVER` ;" -#: whatsnew/3.10.rst:1772 +#: whatsnew/3.10.rst:1760 msgid "" ":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`" msgstr "" ":func:`~ssl.wrap_socket` est remplacée par :meth:`ssl.SSLContext." "wrap_socket` ;" -#: whatsnew/3.10.rst:1774 +#: whatsnew/3.10.rst:1762 msgid ":func:`~ssl.match_hostname`" msgstr ":func:`~ssl.match_hostname` ;" -#: whatsnew/3.10.rst:1776 +#: whatsnew/3.10.rst:1764 msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd` ;" -#: whatsnew/3.10.rst:1778 +#: whatsnew/3.10.rst:1766 msgid "" "NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." "SSLContext.set_npn_protocols` are replaced by ALPN." @@ -3141,7 +3120,7 @@ msgstr "" "SSLSocket.selected_npn_protocol` et :meth:`ssl.SSLContext.set_npn_protocols` " "sont remplacées par ALPN (*Application Layer Protocol Negotiation*)." -#: whatsnew/3.10.rst:1781 +#: whatsnew/3.10.rst:1769 msgid "" "The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is " "deprecated in Python 3.10 and will be removed in Python 3.12. This feature " @@ -3154,7 +3133,7 @@ msgstr "" "avec les paramètres de débogage ` (contribution de *Victor " "Stinner* dans :issue:`44584`)." -#: whatsnew/3.10.rst:1786 +#: whatsnew/3.10.rst:1774 #, fuzzy msgid "" "Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" @@ -3169,11 +3148,11 @@ msgstr "" "directement du module :mod:`typing` (contribution de *Sebastian Rittau* " "dans :issue:`38291`)." -#: whatsnew/3.10.rst:2220 +#: whatsnew/3.10.rst:2206 msgid "Removed" msgstr "Retrait" -#: whatsnew/3.10.rst:1797 +#: whatsnew/3.10.rst:1785 msgid "" "Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " "``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " @@ -3186,7 +3165,7 @@ msgstr "" "toujours une :exc:`TypeError` (contribution de *Serhiy Storchaka* dans :" "issue:`41974`)." -#: whatsnew/3.10.rst:1803 +#: whatsnew/3.10.rst:1791 msgid "" "The ``ParserBase.error()`` method from the private and undocumented " "``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is " @@ -3200,7 +3179,7 @@ msgstr "" "``error()`` a été retirée dans Python 3.5 (contribution de *Berker Peksag* " "dans :issue:`31844`)." -#: whatsnew/3.10.rst:1809 +#: whatsnew/3.10.rst:1797 msgid "" "Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " "PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was " @@ -3212,7 +3191,7 @@ msgstr "" "a été déplacée vers l'API C interne (contribution de *Victor Stinner* dans :" "issue:`42157`)." -#: whatsnew/3.10.rst:1814 +#: whatsnew/3.10.rst:1802 msgid "" "Removed the ``parser`` module, which was deprecated in 3.9 due to the switch " "to the new PEG parser, as well as all the C source and header files that " @@ -3225,7 +3204,7 @@ msgstr "" "analyseur, ceci comprend ``node.h``, ``parser.h``, ``graminit.h`` et " "``grammar.h``." -#: whatsnew/3.10.rst:1819 +#: whatsnew/3.10.rst:1807 msgid "" "Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3238,7 +3217,7 @@ msgstr "" "Elles étaient obsolètes depuis 3.9 étant donné la transition vers " "l'analyseur syntaxique *PEG*." -#: whatsnew/3.10.rst:1824 +#: whatsnew/3.10.rst:1812 msgid "" "Removed the ``formatter`` module, which was deprecated in Python 3.4. It is " "somewhat obsolete, little used, and not tested. It was originally scheduled " @@ -3254,7 +3233,7 @@ msgstr "" "module doivent copier les classes qu'ils utilisent dans leur propre code " "(contribution de *Dong-hee Na* et *Terry J. Reedy* dans :issue:`42299`)." -#: whatsnew/3.10.rst:1831 +#: whatsnew/3.10.rst:1819 msgid "" "Removed the :c:func:`PyModule_GetWarningsModule` function that was useless " "now due to the _warnings module was converted to a builtin module in 2.6. " @@ -3264,7 +3243,7 @@ msgstr "" "maintenant inutile depuis la conversion de ``_warnings`` en module natif " "dans 2.6 (contribution de *Hai Shi* dans :issue:`42599`)." -#: whatsnew/3.10.rst:1835 +#: whatsnew/3.10.rst:1823 msgid "" "Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " "the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" @@ -3274,7 +3253,7 @@ msgstr "" "module :mod:`collections` (contribution de *Victor Stinner* dans :issue:" "`37324`)." -#: whatsnew/3.10.rst:1839 +#: whatsnew/3.10.rst:1827 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " @@ -3284,11 +3263,11 @@ msgstr "" "<../library/asyncio-api-index>` d':mod:`asyncio`. Il était obsolète depuis " "Python 3.8. La motivation pour ce changement avait plusieurs facettes :" -#: whatsnew/3.10.rst:1843 +#: whatsnew/3.10.rst:1831 msgid "This simplifies the high-level API." msgstr "ceci simplifie l'API haut-niveau ;" -#: whatsnew/3.10.rst:1844 +#: whatsnew/3.10.rst:1832 msgid "" "The functions in the high-level API have been implicitly getting the current " "thread's running event loop since Python 3.7. There isn't a need to pass " @@ -3299,7 +3278,7 @@ msgstr "" "Il n'y a aucun besoin de passer la boucle d'évènements à l'API dans la " "majorité de son utilisation normale ;" -#: whatsnew/3.10.rst:1847 +#: whatsnew/3.10.rst:1835 msgid "" "Event loop passing is error-prone especially when dealing with loops running " "in different threads." @@ -3308,7 +3287,7 @@ msgstr "" "plusieurs boucles qui tournent dans plusieurs fils d'exécution sont " "impliquées." -#: whatsnew/3.10.rst:1850 +#: whatsnew/3.10.rst:1838 msgid "" "Note that the low-level API will still accept ``loop``. See :ref:`changes-" "python-api` for examples of how to replace existing code." @@ -3317,7 +3296,7 @@ msgstr "" "Voir :ref:`changes-python-api` pour plus d'exemples sur comment remplacer le " "code existant" -#: whatsnew/3.10.rst:1925 +#: whatsnew/3.10.rst:1913 msgid "" "(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " "Stanley in :issue:`42392`.)" @@ -3325,11 +3304,11 @@ msgstr "" "(contribution de *Yurii Karabas*, *Andrew Svetlov*, *Yury Selivanov* et " "*Kyle Stanley* dans :issue:`42392`)." -#: whatsnew/3.10.rst:2145 +#: whatsnew/3.10.rst:2133 msgid "Porting to Python 3.10" msgstr "Portage vers Python 3.10" -#: whatsnew/3.10.rst:1860 +#: whatsnew/3.10.rst:1848 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3337,11 +3316,11 @@ msgstr "" "Cette section liste les changements mentionnés préalablement et autres " "améliorations qui peuvent demander des changements à votre code." -#: whatsnew/3.10.rst:1865 +#: whatsnew/3.10.rst:1853 msgid "Changes in the Python syntax" msgstr "Changements à la syntaxe de Python" -#: whatsnew/3.10.rst:1867 +#: whatsnew/3.10.rst:1855 #, fuzzy msgid "" "Deprecation warning is now emitted when compiling previously valid syntax if " @@ -3360,11 +3339,11 @@ msgstr "" "simplement une espace entre le littéral numérique et le mot clé qui le suit " "(contribution de *Serhiy Storchaka* dans :issue:`43833`)." -#: whatsnew/3.10.rst:1878 +#: whatsnew/3.10.rst:1866 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" -#: whatsnew/3.10.rst:1880 +#: whatsnew/3.10.rst:1868 msgid "" "The *etype* parameters of the :func:`~traceback.format_exception`, :func:" "`~traceback.format_exception_only`, and :func:`~traceback.print_exception` " @@ -3377,7 +3356,7 @@ msgstr "" "(contribution de *Zackery Spytz* et *Matthias Bussonnier* dans :issue:" "`26389`)." -#: whatsnew/3.10.rst:1886 +#: whatsnew/3.10.rst:1874 msgid "" ":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit." "register` fails, its exception is now logged. Previously, only some " @@ -3390,7 +3369,7 @@ msgstr "" "étaient journalisées et la dernière exception était toujours ignorée de " "façon silencieuse (contribution de *Victor Stinner* dans :issue:`42639`)." -#: whatsnew/3.10.rst:1892 +#: whatsnew/3.10.rst:1880 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -3413,7 +3392,7 @@ msgstr "" "passer silencieusement dans Python 3.9 (contribution de *Ken Jin* dans :" "issue:`42195`)." -#: whatsnew/3.10.rst:1902 +#: whatsnew/3.10.rst:1890 msgid "" ":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` " "instead of :exc:`DeprecationWarning` if the given parameter will not fit in " @@ -3425,7 +3404,7 @@ msgstr "" "est trop grand pour être stocké dans un entier 16-bit non-signé " "(contribution de *Erlend E. Aasland* dans :issue:`42393`)." -#: whatsnew/3.10.rst:1907 +#: whatsnew/3.10.rst:1895 msgid "" "The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " @@ -3435,15 +3414,15 @@ msgstr "" "<../library/asyncio-api-index>` d':mod:`asyncio` suite à la déclaration de " "son obsolescence dans Python 3.8." -#: whatsnew/3.10.rst:1911 +#: whatsnew/3.10.rst:1899 msgid "A coroutine that currently looks like this::" msgstr "Une coroutine qui ressemble actuellement à ceci ::" -#: whatsnew/3.10.rst:1916 +#: whatsnew/3.10.rst:1904 msgid "Should be replaced with this::" msgstr "Doit être remplacée par ceci ::" -#: whatsnew/3.10.rst:1921 +#: whatsnew/3.10.rst:1909 msgid "" "If ``foo()`` was specifically designed *not* to run in the current thread's " "running event loop (e.g. running in another thread's event loop), consider " @@ -3454,7 +3433,7 @@ msgstr "" "d'exécution d'un autre fil), l'utilisation de :func:`asyncio." "run_coroutine_threadsafe` est probablement plus appropriée." -#: whatsnew/3.10.rst:1928 +#: whatsnew/3.10.rst:1916 msgid "" "The :data:`types.FunctionType` constructor now inherits the current builtins " "if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than " @@ -3473,11 +3452,11 @@ msgstr "" "cette syntaxe : elles héritent aussi des définitions natives courantes " "(contribution de *Victor Stinner* dans :issue:`42990`)." -#: whatsnew/3.10.rst:1937 +#: whatsnew/3.10.rst:1925 msgid "Changes in the C API" msgstr "Changements dans l'API C" -#: whatsnew/3.10.rst:1939 +#: whatsnew/3.10.rst:1927 msgid "" "The C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3491,7 +3470,7 @@ msgstr "" "_node``, le type utilisé par ces fonctions, ont été retirés suite à la " "transition vers le nouvel analyseur syntaxique *PEG*." -#: whatsnew/3.10.rst:1945 +#: whatsnew/3.10.rst:1933 msgid "" "Source should be now be compiled directly to a code object using, for " "example, :c:func:`Py_CompileString`. The resulting code object can then be " @@ -3501,11 +3480,11 @@ msgstr "" "utilisant par exemple :c:func:`Py_CompileString`. L'objet code ainsi produit " "peut ensuite être évalué, en utilisant par exemple :c:func:`PyEval_EvalCode`." -#: whatsnew/3.10.rst:1949 +#: whatsnew/3.10.rst:1937 msgid "Specifically:" msgstr "Spécifiquement :" -#: whatsnew/3.10.rst:1951 +#: whatsnew/3.10.rst:1939 msgid "" "A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` " "can be replaced by calling :c:func:`Py_CompileString`." @@ -3513,7 +3492,7 @@ msgstr "" "Un appel à ``PyParser_SimpleParseStringFlags`` suivi de ``PyNode_Compile`` " "peut être remplacé par :c:func:`Py_CompileString` ;" -#: whatsnew/3.10.rst:1954 +#: whatsnew/3.10.rst:1942 msgid "" "There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To " "compile code from a ``FILE *`` argument, you will need to read the file in C " @@ -3524,7 +3503,7 @@ msgstr "" "argument ``FILE *``, vous devez lire le fichier en C et passer le tampon " "résultant à :c:func:`Py_CompileString`." -#: whatsnew/3.10.rst:1958 +#: whatsnew/3.10.rst:1946 msgid "" "To compile a file given a ``char *`` filename, explicitly open the file, " "read it and compile the result. One way to do this is using the :py:mod:`io` " @@ -3539,7 +3518,7 @@ msgstr "" "`PyBytes_AsString` et :c:func:`Py_CompileString`, comme dans l'esquisse qui " "suit (les déclarations et la gestion d'erreurs ne sont pas incluses) ::" -#: whatsnew/3.10.rst:1971 +#: whatsnew/3.10.rst:1959 msgid "" "For ``FrameObject`` objects, the ``f_lasti`` member now represents a " "wordcode offset instead of a simple offset into the bytecode string. This " @@ -3556,11 +3535,11 @@ msgstr "" "``f_lasti`` de ``FrameObject`` n'est pas considéré stable : utilisez plutôt :" "c:func:`PyFrame_GetLineNumber`." -#: whatsnew/3.10.rst:1979 +#: whatsnew/3.10.rst:1967 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" -#: whatsnew/3.10.rst:1981 +#: whatsnew/3.10.rst:1969 #, fuzzy msgid "" "The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of " @@ -3571,11 +3550,11 @@ msgstr "" "soit un *n*-uplet de chaînes pour l'annotation de la fonction (contribution " "de *Yurii Karabas* et *Inada Naoki* dans :issue:`42202`)." -#: whatsnew/3.10.rst:1986 +#: whatsnew/3.10.rst:1974 msgid "Build Changes" msgstr "Changements à la compilation" -#: whatsnew/3.10.rst:1988 +#: whatsnew/3.10.rst:1976 msgid "" ":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no " "longer supported. (Contributed by Christian Heimes in :issue:`43669`.)" @@ -3584,7 +3563,7 @@ msgstr "" "1.1.1. *OpenSSL* 1.0.2 n'est plus prise en charge (contribution de " "*Christian Heimes* dans :issue:`43669`)." -#: whatsnew/3.10.rst:1992 +#: whatsnew/3.10.rst:1980 msgid "" "The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " "required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" @@ -3593,7 +3572,7 @@ msgstr "" "maintenant nécessaires à la compilation de Python (contribution de *Victor " "Stinner* dans :issue:`36020`)." -#: whatsnew/3.10.rst:1996 +#: whatsnew/3.10.rst:1984 msgid "" ":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " "Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" @@ -3602,7 +3581,7 @@ msgstr "" "3.7.15 (contribution de *Sergey Fedoseev* et *Erlend E. Aasland* dans :issue:" "`40744` et :issue:`40810`)." -#: whatsnew/3.10.rst:1999 +#: whatsnew/3.10.rst:1987 msgid "" "The :mod:`atexit` module must now always be built as a built-in module. " "(Contributed by Victor Stinner in :issue:`42639`.)" @@ -3610,7 +3589,7 @@ msgstr "" "Le module :mod:`atexit` doit maintenant toujours être compilé en tant que " "module natif (contribution de *Victor Stinner* dans :issue:`42639`)." -#: whatsnew/3.10.rst:2002 +#: whatsnew/3.10.rst:1990 msgid "" "Add :option:`--disable-test-modules` option to the ``configure`` script: " "don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " @@ -3620,7 +3599,7 @@ msgstr "" "ne pas compiler ni installer les modules de tests (contribution de *Xavier " "de Gaye*, *Thomas Petazzoni* et *Peixing Xin* dans :issue:`27640`)." -#: whatsnew/3.10.rst:2006 +#: whatsnew/3.10.rst:1994 msgid "" "Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the " "``./configure`` script. If specified, the :mod:`ensurepip` module looks for " @@ -3634,7 +3613,7 @@ msgstr "" "répertoire : si les deux sont présents, ces paquets *wheel* sont utilisés " "plutôt que ceux inclus avec *ensurepip*." -#: whatsnew/3.10.rst:2012 +#: whatsnew/3.10.rst:2000 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" @@ -3646,11 +3625,11 @@ msgstr "" "*wheel* dans le répertoire ``/usr/share/python-wheels/`` et n'installe pas " "le paquet ``ensurepip._bundled``" -#: whatsnew/3.10.rst:2017 +#: whatsnew/3.10.rst:2005 msgid "(Contributed by Victor Stinner in :issue:`42856`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`42856`)." -#: whatsnew/3.10.rst:2019 +#: whatsnew/3.10.rst:2007 msgid "" "Add a new :option:`configure --without-static-libpython option <--without-" "static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " @@ -3660,11 +3639,11 @@ msgstr "" "``configure`` pour ne pas compiler la bibliothèque statique ``libpythonMAJOR." "MINOR.a`` et ne pas installer le fichier objet ``python.o``" -#: whatsnew/3.10.rst:2023 +#: whatsnew/3.10.rst:2011 msgid "(Contributed by Victor Stinner in :issue:`43103`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`43103`)." -#: whatsnew/3.10.rst:2025 +#: whatsnew/3.10.rst:2013 msgid "" "The ``configure`` script now uses the ``pkg-config`` utility, if available, " "to detect the location of Tcl/Tk headers and libraries. As before, those " @@ -3679,7 +3658,7 @@ msgstr "" "with-tcltk-includes` et :option:`--with-tcltk-libs` (contribution de " "*Manolis Stamatogiannakis* et :issue:`42603`)." -#: whatsnew/3.10.rst:2031 +#: whatsnew/3.10.rst:2019 msgid "" "Add :option:`--with-openssl-rpath` option to ``configure`` script. The " "option simplifies building Python with a custom OpenSSL installation, e.g. " @@ -3692,15 +3671,15 @@ msgstr "" "openssl --with-openssl-rpath=auto`` (contribution de *Christian Heimes* " "dans :issue:`43466`)." -#: whatsnew/3.10.rst:2038 +#: whatsnew/3.10.rst:2026 msgid "C API Changes" msgstr "Changements à l'API C" -#: whatsnew/3.10.rst:2041 +#: whatsnew/3.10.rst:2029 msgid "PEP 652: Maintaining the Stable ABI" msgstr "PEP 652 : maintenance d'une ABI stable" -#: whatsnew/3.10.rst:2043 +#: whatsnew/3.10.rst:2031 msgid "" "The Stable ABI (Application Binary Interface) for extension modules or " "embedding Python is now explicitly defined. :ref:`stable` describes C API " @@ -3714,12 +3693,12 @@ msgstr "" "programme ainsi que les bonnes pratiques pour travailler avec l'interface " "binaire-programme stable" -#: whatsnew/3.10.rst:2048 +#: whatsnew/3.10.rst:2036 msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" msgstr "" "(contribution de *Petr Viktorin* dans :pep:`652` et dans :issue:`43795`)." -#: whatsnew/3.10.rst:2053 +#: whatsnew/3.10.rst:2041 msgid "" "The result of :c:func:`PyNumber_Index` now always has exact type :class:" "`int`. Previously, the result could have been an instance of a subclass of " @@ -3729,7 +3708,7 @@ msgstr "" "class:`int`. Auparavant, le résultat pouvait être une instance d'une classe " "dérivée de ``int`` (contribution de *Serhiy Storchaka* dans :issue:`40792`)." -#: whatsnew/3.10.rst:2057 +#: whatsnew/3.10.rst:2045 msgid "" "Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` " "structure: the list of the original command line arguments passed to the " @@ -3740,7 +3719,7 @@ msgstr "" "passée à l'exécutable Python (contribution de *Victor Stinner* dans :issue:" "`23427`)." -#: whatsnew/3.10.rst:2062 +#: whatsnew/3.10.rst:2050 msgid "" "The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:" "`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the " @@ -3752,7 +3731,7 @@ msgstr "" "``tzinfo`` des objets :class:`datetime.datetime` et :class:`datetime.time` " "(contribution de *Zackery Spytz* dans :issue:`30155`)." -#: whatsnew/3.10.rst:2068 +#: whatsnew/3.10.rst:2056 msgid "" "Add a :c:func:`PyCodec_Unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" @@ -3761,7 +3740,7 @@ msgstr "" "fonction de recherche de codecs (contribution de *Hai Shi* dans :issue:" "`41842`)." -#: whatsnew/3.10.rst:2072 +#: whatsnew/3.10.rst:2060 msgid "" "The :c:func:`PyIter_Send` function was added to allow sending value into " "iterator without raising ``StopIteration`` exception. (Contributed by " @@ -3771,7 +3750,7 @@ msgstr "" "itérateur sans lever une exception ``StopIteration`` (contribution de " "*Vladimir Matveev* dans :issue:`41756`)." -#: whatsnew/3.10.rst:2076 +#: whatsnew/3.10.rst:2064 msgid "" "Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " "Alex Gaynor in :issue:`41784`.)" @@ -3779,7 +3758,7 @@ msgstr "" "Ajout de :c:func:`PyUnicode_AsUTF8AndSize` à l'API C limitée (contribution " "d'*Alex Gaynor* dans :issue:`41784`)." -#: whatsnew/3.10.rst:2079 +#: whatsnew/3.10.rst:2067 msgid "" "Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:" "`PyModule_AddObject` but don't steal a reference to the value on success. " @@ -3789,7 +3768,7 @@ msgstr "" "`PyModule_AddObject` mais ne s’accapare pas une référence à la valeur s'il y " "a réussite (contribution de *Victor Stinner* dans :issue:`1635741`)." -#: whatsnew/3.10.rst:2084 +#: whatsnew/3.10.rst:2072 msgid "" "Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the " "reference count of an object and return the object. (Contributed by Victor " @@ -3800,7 +3779,7 @@ msgstr "" "(contribution de *Victor Stinner* dans :issue:`42262`)." # Auparavant, *bases* pouvait être un n-uplet de plusieurs classes. -#: whatsnew/3.10.rst:2088 +#: whatsnew/3.10.rst:2076 msgid "" "The :c:func:`PyType_FromSpecWithBases` and :c:func:" "`PyType_FromModuleAndSpec` functions now accept a single class as the " @@ -3810,7 +3789,7 @@ msgstr "" "`PyType_FromModuleAndSpec` n'acceptent maintenant qu'une seule classe pour " "l'argument *bases* (contribution *Serhiy Storchaka* dans :issue:`42423`)." -#: whatsnew/3.10.rst:2092 +#: whatsnew/3.10.rst:2080 msgid "" "The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " "slot. (Contributed by Hai Shi in :issue:`41832`.)" @@ -3819,7 +3798,7 @@ msgstr "" "dans l'emplacement ``tp_doc`` (contribution de *Hai Shi* dans :issue:" "`41832`)." -#: whatsnew/3.10.rst:2096 +#: whatsnew/3.10.rst:2084 msgid "" "The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" @@ -3828,7 +3807,7 @@ msgstr "" "`types statiques ` (contribution de *Hai Shi* et *Petr " "Viktorin* dans :issue:`41073`)." -#: whatsnew/3.10.rst:2100 +#: whatsnew/3.10.rst:2088 msgid "" "Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an " "object is an instance of :class:`set` but not an instance of a subtype. " @@ -3838,7 +3817,7 @@ msgstr "" "vérifier si un objet est une instance de :class:`set` mais pas une instance " "d'un sous-type (contribution de *Pablo Galindo* dans :issue:`43277`)." -#: whatsnew/3.10.rst:2104 +#: whatsnew/3.10.rst:2092 msgid "" "Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " "simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" @@ -3846,7 +3825,7 @@ msgstr "" "Ajout de :c:func:`PyErr_SetInterruptEx` qui accepte le numéro d'un signal à " "simuler (contribution d'*Antoine Pitrou* dans :issue:`43356`)." -#: whatsnew/3.10.rst:2108 +#: whatsnew/3.10.rst:2096 msgid "" "The limited C API is now supported if :ref:`Python is built in debug mode " "` (if the ``Py_DEBUG`` macro is defined). In the limited C API, " @@ -3869,7 +3848,7 @@ msgstr "" "dans les versions standard et dans les versions débogage depuis Python 3.8 " "(voir :issue:`36465`)." -#: whatsnew/3.10.rst:2118 +#: whatsnew/3.10.rst:2106 msgid "" "The limited C API is still not supported in the :option:`--with-trace-refs` " "special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :" @@ -3879,7 +3858,7 @@ msgstr "" "spéciales avec l'option :option:`--with-trace-refs` (macro " "``Py_TRACE_REFS``) (Contribution de *Victor Stinner* dans :issue:`43688`)." -#: whatsnew/3.10.rst:2122 +#: whatsnew/3.10.rst:2110 msgid "" "Add the :c:func:`Py_Is(x, y) ` function to test if the *x* object is " "the *y* object, the same as ``x is y`` in Python. Add also the :c:func:" @@ -3895,7 +3874,7 @@ msgstr "" "le singleton ``False``, respectivement (contribution de *Victor Stinner* " "dans :issue:`43753`)." -#: whatsnew/3.10.rst:2129 +#: whatsnew/3.10.rst:2117 msgid "" "Add new functions to control the garbage collector from C code: :c:func:" "`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These " @@ -3907,7 +3886,7 @@ msgstr "" "fonctions permettent d'activer, de désactiver et d'interroger l'état du " "ramasse-miettes dans du code C sans avoir à importer le module :mod:`gc`." -#: whatsnew/3.10.rst:2136 +#: whatsnew/3.10.rst:2124 msgid "" "Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow " "creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)" @@ -3916,7 +3895,7 @@ msgstr "" "les types. Elle empêche la création d'instances de ce type (contribution de " "*Victor Stinner* dans :issue:`43916`)." -#: whatsnew/3.10.rst:2140 +#: whatsnew/3.10.rst:2128 msgid "" "Add a new :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " "immutable type objects: type attributes cannot be set nor deleted. " @@ -3927,16 +3906,16 @@ msgstr "" "type ne peuvent pas être affectés ou supprimés (contribution de *Victor " "Stinner* et d'*Erlend E. Aasland* dans :issue:`43908`)." -#: whatsnew/3.10.rst:2147 +#: whatsnew/3.10.rst:2135 msgid "" "The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:" "`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: " "``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. See :" -"ref:`Parsing arguments and building values ` and the :pep:" -"`353`. (Contributed by Victor Stinner in :issue:`40943`.)" +"ref:`arg-parsing` and :pep:`353`. (Contributed by Victor Stinner in :issue:" +"`40943`.)" msgstr "" -#: whatsnew/3.10.rst:2154 +#: whatsnew/3.10.rst:2141 msgid "" "Since :c:func:`Py_REFCNT()` is changed to the inline static function, " "``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, " @@ -3949,11 +3928,11 @@ msgstr "" "(disponible depuis Python 3.9). Pour la rétro-compatibilité, cette macro " "peut être utilisée ::" -#: whatsnew/3.10.rst:2163 +#: whatsnew/3.10.rst:2150 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`39573`)." -#: whatsnew/3.10.rst:2165 +#: whatsnew/3.10.rst:2152 msgid "" "Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed " "for historical reason. It is no longer allowed. (Contributed by Victor " @@ -3963,7 +3942,7 @@ msgstr "" "autorisé pour des raisons historiques. Ceci n'est plus permis (contribution " "de *Victor Stinner* dans :issue:`40839`)." -#: whatsnew/3.10.rst:2169 +#: whatsnew/3.10.rst:2156 msgid "" "``PyUnicode_FromUnicode(NULL, size)`` and " "``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " @@ -3975,7 +3954,7 @@ msgstr "" "func:`PyUnicode_New` pour allouer un objet Unicode sans donnée initiale " "(contribution de *Inada Naoki* dans :issue:`36346`)." -#: whatsnew/3.10.rst:2174 +#: whatsnew/3.10.rst:2161 msgid "" "The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API " "``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " @@ -3985,18 +3964,17 @@ msgstr "" "``unicodedata.ucnhash_CAPI`` a été déplacée dans l'API C interne. " "(Contribution par Victor Stinner dans :issue:`42157`.)" -#: whatsnew/3.10.rst:2178 +#: whatsnew/3.10.rst:2165 msgid "" ":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:" "func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:" "`Py_GetProgramName` functions now return ``NULL`` if called before :c:func:" -"`Py_Initialize` (before Python is initialized). Use the new :ref:`Python " -"Initialization Configuration API ` to get the :ref:`Python Path " -"Configuration. `. (Contributed by Victor Stinner in :" -"issue:`42260`.)" +"`Py_Initialize` (before Python is initialized). Use the new :ref:`init-" +"config` API to get the :ref:`init-path-config`. (Contributed by Victor " +"Stinner in :issue:`42260`.)" msgstr "" -#: whatsnew/3.10.rst:2186 +#: whatsnew/3.10.rst:2172 msgid "" ":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:" "`PyCell_SET` macros can no longer be used as l-value or r-value. For " @@ -4006,18 +3984,18 @@ msgid "" "and Victor Stinner in :issue:`30459`.)" msgstr "" -#: whatsnew/3.10.rst:2193 +#: whatsnew/3.10.rst:2179 msgid "" "The non-limited API files ``odictobject.h``, ``parser_interface.h``, " "``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe." "h``, and ``pytime.h`` have been moved to the ``Include/cpython`` directory. " "These files must not be included directly, as they are already included in " -"``Python.h``: :ref:`Include Files `. If they have been " -"included directly, consider including ``Python.h`` instead. (Contributed by " -"Nicholas Sim in :issue:`35134`.)" +"``Python.h``; see :ref:`api-includes`. If they have been included directly, " +"consider including ``Python.h`` instead. (Contributed by Nicholas Sim in :" +"issue:`35134`.)" msgstr "" -#: whatsnew/3.10.rst:2201 +#: whatsnew/3.10.rst:2187 msgid "" "Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " "type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a " @@ -4026,7 +4004,7 @@ msgid "" "issue:`43908`.)" msgstr "" -#: whatsnew/3.10.rst:2207 +#: whatsnew/3.10.rst:2193 #, fuzzy msgid "" "The undocumented function ``Py_FrozenMain`` has been removed from the " @@ -4037,7 +4015,7 @@ msgstr "" "La fonction est principalement utile pour les compilations personnalisées de " "Python (contribution de *Petr Viktorin* dans :issue:`26241`)." -#: whatsnew/3.10.rst:2214 +#: whatsnew/3.10.rst:2200 msgid "" "The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " "removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " @@ -4047,7 +4025,7 @@ msgstr "" "retirée dans Python 3.12 : utilisez plutôt :c:func:`PyUnicode_InternInPlace` " "(contribution de *Victor Stinner* dans :issue:`41692`)." -#: whatsnew/3.10.rst:2222 +#: whatsnew/3.10.rst:2208 msgid "" "Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " "(Contributed by Inada Naoki in :issue:`41123`.)" @@ -4055,7 +4033,7 @@ msgstr "" "Retrait des fonctions ``Py_UNICODE_str*`` manipulant des chaînes " "``Py_UNICODE*`` (contribution de *Inada Naoki* dans :issue:`41123`) :" -#: whatsnew/3.10.rst:2225 +#: whatsnew/3.10.rst:2211 msgid "" "``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:" "`PyUnicode_GET_LENGTH`" @@ -4063,7 +4041,7 @@ msgstr "" "``Py_UNICODE_strlen`` : utilisez :c:func:`PyUnicode_GetLength` ou :c:macro:" "`PyUnicode_GET_LENGTH` ;" -#: whatsnew/3.10.rst:2227 +#: whatsnew/3.10.rst:2213 msgid "" "``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" "`PyUnicode_FromFormat`" @@ -4071,7 +4049,7 @@ msgstr "" "``Py_UNICODE_strcat`` : utilisez :c:func:`PyUnicode_CopyCharacters` ou :c:" "func:`PyUnicode_FromFormat` ;" -#: whatsnew/3.10.rst:2229 +#: whatsnew/3.10.rst:2215 msgid "" "``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:" "`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" @@ -4079,15 +4057,15 @@ msgstr "" "``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy`` : utilisez :c:func:" "`PyUnicode_CopyCharacters` ou :c:func:`PyUnicode_Substring` ;" -#: whatsnew/3.10.rst:2231 +#: whatsnew/3.10.rst:2217 msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" msgstr "``Py_UNICODE_strcmp`` : utilisez :c:func:`PyUnicode_Compare` ;" -#: whatsnew/3.10.rst:2232 +#: whatsnew/3.10.rst:2218 msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" msgstr "``Py_UNICODE_strncmp`` : utilisez :c:func:`PyUnicode_Tailmatch` ;" -#: whatsnew/3.10.rst:2233 +#: whatsnew/3.10.rst:2219 msgid "" "``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" "`PyUnicode_FindChar`" @@ -4095,7 +4073,7 @@ msgstr "" "``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr`` : utilisez :c:func:" "`PyUnicode_FindChar`." -#: whatsnew/3.10.rst:2236 +#: whatsnew/3.10.rst:2222 msgid "" "Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " "(Contributed by Inada Naoki in :issue:`41103`.)" @@ -4103,7 +4081,7 @@ msgstr "" "Retrait de ``PyUnicode_GetMax()``. Vous devez migrer vers les nouvelles API " "de la :pep:`393` (contribution de *Inada Naoki* dans :issue:`41103`)." -#: whatsnew/3.10.rst:2239 +#: whatsnew/3.10.rst:2225 msgid "" "Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:" "`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)" @@ -4112,7 +4090,7 @@ msgstr "" "`PyLong_FromUnicodeObject` (contribution de *Inada Naoki* dans :issue:" "`41103`)." -#: whatsnew/3.10.rst:2242 +#: whatsnew/3.10.rst:2228 msgid "" "Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:" "`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed " @@ -4122,7 +4100,7 @@ msgstr "" "`PyUnicode_AsUCS4Copy` ou :c:func:`PyUnicode_AsWideCharString` (contribution " "de *Inada Naoki* dans :issue:`41103`)." -#: whatsnew/3.10.rst:2246 +#: whatsnew/3.10.rst:2232 msgid "" "Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by " "``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. " @@ -4132,7 +4110,7 @@ msgstr "" "par le champ ``ceval.recursion_limit`` de la structure :c:type:" "`PyInterpreterState` (contribution de *Victor Stinner* dans :issue:`41834`)." -#: whatsnew/3.10.rst:2250 +#: whatsnew/3.10.rst:2236 msgid "" "Removed undocumented macros ``Py_ALLOW_RECURSION`` and " "``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:" @@ -4144,7 +4122,7 @@ msgstr "" "structure :c:type:`PyInterpreterState` (contribution de *Serhiy Storchaka* " "dans :issue:`41936`)." -#: whatsnew/3.10.rst:2255 +#: whatsnew/3.10.rst:2241 msgid "" "Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing " "Python already implicitly installs signal handlers: see :c:member:`PyConfig." @@ -4155,7 +4133,7 @@ msgstr "" "façon implicite : voir :c:member:`PyConfig.install_signal_handlers` " "(contribution de *Victor Stinner* dans :issue:`41713`)." -#: whatsnew/3.10.rst:2260 +#: whatsnew/3.10.rst:2246 msgid "" "Remove the ``PyAST_Validate()`` function. It is no longer possible to build " "a AST object (``mod_ty`` type) with the public C API. The function was " @@ -4167,37 +4145,37 @@ msgstr "" "fonction était déjà retirée de l'API C limitée (:pep:`384`) (contribution de " "*Victor Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2265 +#: whatsnew/3.10.rst:2251 msgid "Remove the ``symtable.h`` header file and the undocumented functions:" msgstr "" "Retrait du fichier d'en-tête ``symtable.h`` et des fonctions non-" "documentées :" -#: whatsnew/3.10.rst:2267 +#: whatsnew/3.10.rst:2253 msgid "``PyST_GetScope()``" msgstr "``PyST_GetScope()`` ;" -#: whatsnew/3.10.rst:2268 +#: whatsnew/3.10.rst:2254 msgid "``PySymtable_Build()``" msgstr "``PySymtable_Build()`` ;" -#: whatsnew/3.10.rst:2269 +#: whatsnew/3.10.rst:2255 msgid "``PySymtable_BuildObject()``" msgstr "``PySymtable_BuildObject()`` ;" -#: whatsnew/3.10.rst:2270 +#: whatsnew/3.10.rst:2256 msgid "``PySymtable_Free()``" msgstr "``PySymtable_Free()`` ;" -#: whatsnew/3.10.rst:2271 +#: whatsnew/3.10.rst:2257 msgid "``Py_SymtableString()``" msgstr "``Py_SymtableString()`` ;" -#: whatsnew/3.10.rst:2272 +#: whatsnew/3.10.rst:2258 msgid "``Py_SymtableStringObject()``" msgstr "``Py_SymtableStringObject()``." -#: whatsnew/3.10.rst:2274 +#: whatsnew/3.10.rst:2260 msgid "" "The ``Py_SymtableString()`` function was part the stable ABI by mistake but " "it could not be used, because the ``symtable.h`` header file was excluded " @@ -4207,7 +4185,7 @@ msgstr "" "stable, mais elle ne pouvait pas être utilisée, car le fichier d'en-tête " "``symtable.h`` était exclu de l'API C limitée." -#: whatsnew/3.10.rst:2278 +#: whatsnew/3.10.rst:2264 msgid "" "Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner " "in :issue:`43244`.)" @@ -4215,7 +4193,7 @@ msgstr "" "Utilisez plutôt le module Python :mod:`symtable` (contribution de *Victor " "Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2281 +#: whatsnew/3.10.rst:2267 msgid "" "Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers " "and from ``python3.dll``, the library that provides the stable ABI on " @@ -4228,7 +4206,7 @@ msgstr "" "argument, la stabilité de son interface binaire-programme ne peut pas être " "garantie (contribution de *Petr Viktorin* dans :issue:`43868`)." -#: whatsnew/3.10.rst:2287 +#: whatsnew/3.10.rst:2273 msgid "" "Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These " "functions were undocumented and excluded from the limited C API. Most names " @@ -4247,7 +4225,7 @@ msgstr "" "Utilisez plutôt le module Python :mod:`ast` (contribution de *Victor " "Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2295 +#: whatsnew/3.10.rst:2281 msgid "" "Remove the compiler and parser functions using ``struct _mod`` type, because " "the public AST C API was removed:" @@ -4256,47 +4234,47 @@ msgstr "" "le type ``struct _mod`` car l'API C publique pour manipuler les *AST* a été " "retirée :" -#: whatsnew/3.10.rst:2298 +#: whatsnew/3.10.rst:2284 msgid "``PyAST_Compile()``" msgstr "``PyAST_Compile()`` ;" -#: whatsnew/3.10.rst:2299 +#: whatsnew/3.10.rst:2285 msgid "``PyAST_CompileEx()``" msgstr "``PyAST_CompileEx()`` ;" -#: whatsnew/3.10.rst:2300 +#: whatsnew/3.10.rst:2286 msgid "``PyAST_CompileObject()``" msgstr "``PyAST_CompileObject()`` ;" -#: whatsnew/3.10.rst:2301 +#: whatsnew/3.10.rst:2287 msgid "``PyFuture_FromAST()``" msgstr "``PyFuture_FromAST()`` ;" -#: whatsnew/3.10.rst:2302 +#: whatsnew/3.10.rst:2288 msgid "``PyFuture_FromASTObject()``" msgstr "``PyFuture_FromASTObject()`` ;" -#: whatsnew/3.10.rst:2303 +#: whatsnew/3.10.rst:2289 msgid "``PyParser_ASTFromFile()``" msgstr "``PyParser_ASTFromFile()`` ;" -#: whatsnew/3.10.rst:2304 +#: whatsnew/3.10.rst:2290 msgid "``PyParser_ASTFromFileObject()``" msgstr "``PyParser_ASTFromFileObject()`` ;" -#: whatsnew/3.10.rst:2305 +#: whatsnew/3.10.rst:2291 msgid "``PyParser_ASTFromFilename()``" msgstr "``PyParser_ASTFromFilename()`` ;" -#: whatsnew/3.10.rst:2306 +#: whatsnew/3.10.rst:2292 msgid "``PyParser_ASTFromString()``" msgstr "``PyParser_ASTFromString()`` ;" -#: whatsnew/3.10.rst:2307 +#: whatsnew/3.10.rst:2293 msgid "``PyParser_ASTFromStringObject()``" msgstr "``PyParser_ASTFromStringObject()``." -#: whatsnew/3.10.rst:2309 +#: whatsnew/3.10.rst:2295 msgid "" "These functions were undocumented and excluded from the limited C API. " "(Contributed by Victor Stinner in :issue:`43244`.)" @@ -4304,27 +4282,27 @@ msgstr "" "Ces fonctions étaient non-documentées et exclues de l'API C limitée " "(contribution de *Victor Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2312 +#: whatsnew/3.10.rst:2298 msgid "Remove the ``pyarena.h`` header file with functions:" msgstr "Retrait du fichier d'en-tête ``pyarena.h`` et des fonctions :" -#: whatsnew/3.10.rst:2314 +#: whatsnew/3.10.rst:2300 msgid "``PyArena_New()``" msgstr "``PyArena_New()`` ;" -#: whatsnew/3.10.rst:2315 +#: whatsnew/3.10.rst:2301 msgid "``PyArena_Free()``" msgstr "``PyArena_Free()`` ;" -#: whatsnew/3.10.rst:2316 +#: whatsnew/3.10.rst:2302 msgid "``PyArena_Malloc()``" msgstr "``PyArena_Malloc()`` ;" -#: whatsnew/3.10.rst:2317 +#: whatsnew/3.10.rst:2303 msgid "``PyArena_AddPyObject()``" msgstr "``PyArena_AddPyObject()``." -#: whatsnew/3.10.rst:2319 +#: whatsnew/3.10.rst:2305 msgid "" "These functions were undocumented, excluded from the limited C API, and were " "only used internally by the compiler. (Contributed by Victor Stinner in :" @@ -4334,7 +4312,7 @@ msgstr "" "n'étaient utilisées que par le compilateur dans l'implémentation interne " "(contribution de *Victor Stinner* dans :issue:`43244`)." -#: whatsnew/3.10.rst:2323 +#: whatsnew/3.10.rst:2309 msgid "" "The ``PyThreadState.use_tracing`` member has been removed to optimize " "Python. (Contributed by Mark Shannon in :issue:`43760`.)" @@ -4342,11 +4320,11 @@ msgstr "" "Retrait du champ ``PyThreadState.use_tracing`` pour optimiser Python " "(contribution de *Mark Shannon* dans :issue:`43760`)." -#: whatsnew/3.10.rst:2328 +#: whatsnew/3.10.rst:2314 msgid "Notable security feature in 3.10.7" msgstr "" -#: whatsnew/3.10.rst:2330 +#: whatsnew/3.10.rst:2316 msgid "" "Converting between :class:`int` and :class:`str` in bases other than 2 " "(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " @@ -4360,11 +4338,11 @@ msgid "" "string form." msgstr "" -#: whatsnew/3.10.rst:2342 +#: whatsnew/3.10.rst:2328 msgid "Notable security feature in 3.10.8" msgstr "" -#: whatsnew/3.10.rst:2344 +#: whatsnew/3.10.rst:2330 msgid "" "The deprecated :mod:`mailcap` module now refuses to inject unsafe text " "(filenames, MIME types, parameters) into shell commands. Instead of using " @@ -4373,6 +4351,33 @@ msgid "" "`98966`.)" msgstr "" +#~ msgid "" +#~ ":func:`asyncio.get_event_loop` now emits a deprecation warning if there " +#~ "is no running event loop. In the future it will be an alias of :func:" +#~ "`~asyncio.get_running_loop`. :mod:`asyncio` functions which implicitly " +#~ "create :class:`~asyncio.Future` or :class:`~asyncio.Task` objects now " +#~ "emit a deprecation warning if there is no running event loop and no " +#~ "explicit *loop* argument is passed: :func:`~asyncio.ensure_future`, :func:" +#~ "`~asyncio.wrap_future`, :func:`~asyncio.gather`, :func:`~asyncio." +#~ "shield`, :func:`~asyncio.as_completed` and constructors of :class:" +#~ "`~asyncio.Future`, :class:`~asyncio.Task`, :class:`~asyncio." +#~ "StreamReader`, :class:`~asyncio.StreamReaderProtocol`. (Contributed by " +#~ "Serhiy Storchaka in :issue:`39529`.)" +#~ msgstr "" +#~ ":func:`asyncio.get_event_loop` lève maintenant un ``DeprecationWarning`` " +#~ "s'il n'y a pas de boucle d'événements en cours d'exécution. Elle " +#~ "deviendra un alias pour :func:`~asyncio.get_running_loop` dans une " +#~ "version future. Les fonctions de :mod:`asyncio` qui créent implicitement " +#~ "des objets :class:`~asyncio.Future` ou :class:`~asyncio.Task` lèvent " +#~ "maintenant un ``DeprecationWarning`` s'il n'y a pas de boucle " +#~ "d'événements en cours d'exécution et que l'argument *loop* n'est pas " +#~ "passé explicitement : :func:`~asyncio.ensure_future`, :func:`~asyncio." +#~ "wrap_future`, :func:`~asyncio.gather`, :func:`~asyncio.shield`, :func:" +#~ "`~asyncio.as_completed` et les constructeurs des classes :class:`~asyncio." +#~ "Future`, :class:`~asyncio.Task`, :class:`~asyncio.StreamReader`, :class:" +#~ "`~asyncio.StreamReaderProtocol` (contribution de Serhiy Storchaka dans :" +#~ "issue:`39529`)." + #~ msgid "" #~ "This article explains the new features in Python 3.10, compared to 3.9." #~ msgstr "" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 56de85e012..fd876690c5 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2019-09-04 11:41+0200\n" "Last-Translator: Fred-si \n" "Language-Team: FRENCH \n" @@ -123,12 +123,13 @@ msgid "Positional-only parameters" msgstr "Paramètres uniquement positionnels" #: whatsnew/3.8.rst:122 +#, fuzzy msgid "" "There is a new function parameter syntax ``/`` to indicate that some " "function parameters must be specified positionally and cannot be used as " "keyword arguments. This is the same notation shown by ``help()`` for C " -"functions annotated with Larry Hastings' `Argument Clinic `_ tool." +"functions annotated with Larry Hastings' :ref:`Argument Clinic ` tool." msgstr "" "La nouvelle syntaxe ``/`` pour les paramètres de fonction permet d’indiquer " "que certains paramètres de fonction sont uniquement positionnels et ne " diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index d4ab26dcc1..bff0405d99 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-18 15:46+0200\n" +"POT-Creation-Date: 2023-03-22 22:57+0100\n" "PO-Revision-Date: 2022-10-18 12:27+0200\n" "Last-Translator: Jules Lasne \n" "Language-Team: FRENCH \n" @@ -19,31 +19,15 @@ msgstr "" msgid "What's New In Python 3.9" msgstr "Les nouveautés de Python 3.9" -#: whatsnew/3.9.rst:0 -msgid "Release" -msgstr "Version" - -#: whatsnew/3.9.rst:5 -msgid "|release|" -msgstr "|release|" - -#: whatsnew/3.9.rst:0 -msgid "Date" -msgstr "Date" - -#: whatsnew/3.9.rst:6 -msgid "|today|" -msgstr "|today|" - #: whatsnew/3.9.rst:0 msgid "Editor" msgstr "Éditeur" -#: whatsnew/3.9.rst:7 +#: whatsnew/3.9.rst:5 msgid "Łukasz Langa" msgstr "Łukasz Langa" -#: whatsnew/3.9.rst:47 +#: whatsnew/3.9.rst:45 #, fuzzy msgid "" "This article explains the new features in Python 3.9, compared to 3.8. " @@ -52,57 +36,57 @@ msgstr "" "Ce document présente les nouvelles fonctionnalités de Python 3.9 par rapport " "à la version 3.8. Python 3.9 a été publié le 5 octobre 2020." -#: whatsnew/3.9.rst:50 +#: whatsnew/3.9.rst:48 msgid "For full details, see the :ref:`changelog `." msgstr "Pour plus de détails, voir le :ref:`changelog `." -#: whatsnew/3.9.rst:54 +#: whatsnew/3.9.rst:52 msgid ":pep:`596` - Python 3.9 Release Schedule" msgstr ":pep:`596` – Calendrier de sortie de Python 3.9" -#: whatsnew/3.9.rst:58 +#: whatsnew/3.9.rst:56 msgid "Summary -- Release highlights" msgstr "Résumé – Points marquants de cette version" -#: whatsnew/3.9.rst:63 +#: whatsnew/3.9.rst:61 msgid "New syntax features:" msgstr "Nouvelles fonctionnalités de syntaxe :" -#: whatsnew/3.9.rst:65 +#: whatsnew/3.9.rst:63 msgid ":pep:`584`, union operators added to ``dict``;" msgstr ":pep:`584`, ajout de l'opérateur d'union à ``dict`` ;" -#: whatsnew/3.9.rst:66 +#: whatsnew/3.9.rst:64 msgid ":pep:`585`, type hinting generics in standard collections;" msgstr "" ":pep:`585`, indications des types paramétrables dans les collections " "natives ;" -#: whatsnew/3.9.rst:67 +#: whatsnew/3.9.rst:65 msgid ":pep:`614`, relaxed grammar restrictions on decorators." msgstr "" ":pep:`614`, restrictions grammaticales assouplies pour les décorateurs." -#: whatsnew/3.9.rst:69 +#: whatsnew/3.9.rst:67 msgid "New built-in features:" msgstr "Nouvelles fonctionnalités natives :" -#: whatsnew/3.9.rst:71 +#: whatsnew/3.9.rst:69 msgid ":pep:`616`, string methods to remove prefixes and suffixes." msgstr "" ":pep:`616`, méthodes sur les chaînes pour enlever des préfixes et des " "suffixes." -#: whatsnew/3.9.rst:73 +#: whatsnew/3.9.rst:71 msgid "New features in the standard library:" msgstr "Nouvelles fonctionnalités dans la bibliothèque standard :" -#: whatsnew/3.9.rst:75 +#: whatsnew/3.9.rst:73 msgid ":pep:`593`, flexible function and variable annotations;" msgstr "" ":pep:`593`, annotations flexibles pour les fonctions et les variables ;" -#: whatsnew/3.9.rst:76 +#: whatsnew/3.9.rst:74 msgid "" ":func:`os.pidfd_open` added that allows process management without races and " "signals." @@ -110,24 +94,24 @@ msgstr "" "ajout de :func:`os.pidfd_open` qui permet la gestion de processus sans " "concurrence critique et sans signaux." -#: whatsnew/3.9.rst:79 +#: whatsnew/3.9.rst:77 msgid "Interpreter improvements:" msgstr "Améliorations de l'interpréteur :" -#: whatsnew/3.9.rst:81 +#: whatsnew/3.9.rst:79 msgid "" ":pep:`573`, fast access to module state from methods of C extension types;" msgstr "" ":pep:`573`, accès rapide à l'état des modules à partir des méthodes des " "types dans les extensions C ;" -#: whatsnew/3.9.rst:83 +#: whatsnew/3.9.rst:81 msgid ":pep:`617`, CPython now uses a new parser based on PEG;" msgstr "" ":pep:`617`, CPython utilise maintenant un analyseur lexical *PEG* (*Parsing " "Expression Grammar*) ;" -#: whatsnew/3.9.rst:84 +#: whatsnew/3.9.rst:82 msgid "" "a number of Python builtins (range, tuple, set, frozenset, list, dict) are " "now sped up using :pep:`590` vectorcall;" @@ -136,11 +120,11 @@ msgstr "" "*dict*) sont maintenant plus rapides grâce aux appels *vectorcall* (:pep:" "`590`) ;" -#: whatsnew/3.9.rst:86 +#: whatsnew/3.9.rst:84 msgid "garbage collection does not block on resurrected objects;" msgstr "le ramasse-miettes ne bloque pas sur les objets ressuscités ;" -#: whatsnew/3.9.rst:87 +#: whatsnew/3.9.rst:85 msgid "" "a number of Python modules (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" "`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" @@ -154,7 +138,7 @@ msgstr "" "`time`, :mod:`_weakref`) utilisent maintenant l'initialisation multi-phase " "telle que définie dans PEP 489 ;" -#: whatsnew/3.9.rst:92 +#: whatsnew/3.9.rst:90 msgid "" "a number of standard library modules (:mod:`audioop`, :mod:`ast`, :mod:" "`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :" @@ -167,11 +151,11 @@ msgstr "" "utilisent maintenant l'*ABI* (*Application Binary Interface*) stable définie " "dans PEP 384." -#: whatsnew/3.9.rst:97 +#: whatsnew/3.9.rst:95 msgid "New library modules:" msgstr "Nouveaux modules de la bibliothèque :" -#: whatsnew/3.9.rst:99 +#: whatsnew/3.9.rst:97 msgid "" ":pep:`615`, the IANA Time Zone Database is now present in the standard " "library in the :mod:`zoneinfo` module;" @@ -179,7 +163,7 @@ msgstr "" ":pep:`615`, la base de données des fuseaux horaires de l'IANA est maintenant " "incluse dans le module :mod:`zoneinfo` de la bibliothèque standard ;" -#: whatsnew/3.9.rst:101 +#: whatsnew/3.9.rst:99 msgid "" "an implementation of a topological sort of a graph is now provided in the " "new :mod:`graphlib` module." @@ -187,20 +171,20 @@ msgstr "" "une implémentation du tri topologique d'un graphe est maintenant disponible " "dans le nouveau module :mod:`graphlib`." -#: whatsnew/3.9.rst:104 +#: whatsnew/3.9.rst:102 msgid "Release process changes:" msgstr "Changements aux procédures de publication :" -#: whatsnew/3.9.rst:106 +#: whatsnew/3.9.rst:104 msgid ":pep:`602`, CPython adopts an annual release cycle." msgstr ":pep:`602`, CPython adopte un cycle annuel de publications." -#: whatsnew/3.9.rst:110 +#: whatsnew/3.9.rst:108 msgid "You should check for DeprecationWarning in your code" msgstr "" "Vous devez vérifier la présence de ``DeprecationWarning`` dans votre code" -#: whatsnew/3.9.rst:112 +#: whatsnew/3.9.rst:110 msgid "" "When Python 2.7 was still supported, a lot of functionality in Python 3 was " "kept for backward compatibility with Python 2.7. With the end of Python 2 " @@ -219,7 +203,7 @@ msgstr "" "Mapping`` émettait un :exc:`DeprecationWarning` depuis Python 3.3, publié en " "2012." -#: whatsnew/3.9.rst:120 +#: whatsnew/3.9.rst:118 msgid "" "Test your application with the :option:`-W` ``default`` command-line option " "to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or " @@ -234,7 +218,7 @@ msgstr "" "filter>` peut être utilisé pour ignorer les avertissements provenant de code " "de tierces parties." -#: whatsnew/3.9.rst:125 +#: whatsnew/3.9.rst:123 msgid "" "Python 3.9 is the last version providing those Python 2 backward " "compatibility layers, to give more time to Python projects maintainers to " @@ -245,7 +229,7 @@ msgstr "" "projets Python pour organiser l'arrêt de la prise en charge de Python 2 et " "pour assurer celle de Python 3.9." -#: whatsnew/3.9.rst:129 +#: whatsnew/3.9.rst:127 msgid "" "Aliases to :ref:`Abstract Base Classes ` " "in the :mod:`collections` module, like ``collections.Mapping`` alias to :" @@ -258,7 +242,7 @@ msgstr "" "dernière version au titre de la rétrocompatibilité. Ils seront supprimés de " "Python 3.10." -#: whatsnew/3.9.rst:134 +#: whatsnew/3.9.rst:132 msgid "" "More generally, try to run your tests in the :ref:`Python Development Mode " "` which helps to prepare your code to make it compatible with the " @@ -271,7 +255,7 @@ msgstr "" # J'ignore volontairement le "as well" qui pour bien être traduit # serait "en plus des changements ci-haut", ce qui me semble trop # lourd. -#: whatsnew/3.9.rst:138 +#: whatsnew/3.9.rst:136 msgid "" "Note: a number of pre-existing deprecations were removed in this version of " "Python as well. Consult the :ref:`removed-in-python-39` section." @@ -279,15 +263,15 @@ msgstr "" "Note : certaines déclarations d’obsolescence pré-existantes ont été retirées " "de cette version de Python. Voir la section :ref:`removed-in-python-39`." -#: whatsnew/3.9.rst:1276 +#: whatsnew/3.9.rst:1274 msgid "New Features" msgstr "Nouvelles fonctionnalités" -#: whatsnew/3.9.rst:146 +#: whatsnew/3.9.rst:144 msgid "Dictionary Merge & Update Operators" msgstr "Opérateurs de fusion et de mise à jour de dictionnaires" -#: whatsnew/3.9.rst:148 +#: whatsnew/3.9.rst:146 msgid "" "Merge (``|``) and update (``|=``) operators have been added to the built-in :" "class:`dict` class. Those complement the existing ``dict.update`` and " @@ -297,11 +281,11 @@ msgstr "" "classe native :class:`dict`. Ils viennent compléter les méthodes existantes " "``dict.update`` et ``{**d1, **d2}`` pour fusionner des dictionnaires." -#: whatsnew/3.9.rst:285 +#: whatsnew/3.9.rst:283 msgid "Example::" msgstr "Exemple ::" -#: whatsnew/3.9.rst:161 +#: whatsnew/3.9.rst:159 msgid "" "See :pep:`584` for a full description. (Contributed by Brandt Bucher in :" "issue:`36144`.)" @@ -309,12 +293,12 @@ msgstr "" "Voir :pep:`584` pour une description complète (contribution de *Brandt " "Bucher* dans :issue:`36144`)." -#: whatsnew/3.9.rst:165 +#: whatsnew/3.9.rst:163 msgid "New String Methods to Remove Prefixes and Suffixes" msgstr "" "Nouvelles méthodes sur les chaînes pour retirer des préfixes et des suffixes" -#: whatsnew/3.9.rst:167 +#: whatsnew/3.9.rst:165 msgid "" ":meth:`str.removeprefix(prefix)` and :meth:`str." "removesuffix(suffix)` have been added to easily remove an " @@ -330,11 +314,11 @@ msgstr "" "ont également été ajoutées. Voir :pep:`616` pour une description complète " "(contribution de *Dennis Sweeney* dans :issue:`39939`)." -#: whatsnew/3.9.rst:175 +#: whatsnew/3.9.rst:173 msgid "Type Hinting Generics in Standard Collections" msgstr "Indication des types paramétrables dans les collections natives" -#: whatsnew/3.9.rst:177 +#: whatsnew/3.9.rst:175 msgid "" "In type annotations you can now use built-in collection types such as " "``list`` and ``dict`` as generic types instead of importing the " @@ -348,11 +332,11 @@ msgstr "" "ou ``Dict``) à partir de ``typing``. D'autres types de la bibliothèque " "standard sont maintenant génériques, par exemple ``queue.Queue``." -#: whatsnew/3.9.rst:1164 +#: whatsnew/3.9.rst:1162 msgid "Example:" msgstr "Exemple :" -#: whatsnew/3.9.rst:191 +#: whatsnew/3.9.rst:189 msgid "" "See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan " "Smith, and Batuhan Taşkaya in :issue:`39481`.)" @@ -360,11 +344,11 @@ msgstr "" "Voir :pep:`585` pour plus de détails (contribution de *Guido van Rossum*, " "*Ethan Smith* et *Batuhan Taşkaya* dans :issue:`39481`)." -#: whatsnew/3.9.rst:195 +#: whatsnew/3.9.rst:193 msgid "New Parser" msgstr "Nouvel analyseur syntaxique" -#: whatsnew/3.9.rst:197 +#: whatsnew/3.9.rst:195 msgid "" "Python 3.9 uses a new parser, based on `PEG `_ instead of `LL(1) ` and in :ref:`debug build " "`, the *encoding* and *errors* arguments are now checked for " @@ -458,7 +442,7 @@ msgstr "" "décodage de chaînes. Exemples : :func:`open`, :meth:`str.encode` et :meth:" "`bytes.decode`." -#: whatsnew/3.9.rst:239 +#: whatsnew/3.9.rst:237 msgid "" "By default, for best performance, the *errors* argument is only checked at " "the first encoding/decoding error and the *encoding* argument is sometimes " @@ -469,7 +453,7 @@ msgstr "" "l'argument *encoding* est parfois ignoré pour les chaînes vides " "(contribution de *Victor Stinner* dans :issue:`37388`)." -#: whatsnew/3.9.rst:244 +#: whatsnew/3.9.rst:242 msgid "" "``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string " "for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", " @@ -482,7 +466,7 @@ msgstr "" "class:`bytearray` ont le même comportement (contribution de *Serhiy " "Storchaka* dans :issue:`28029`)." -#: whatsnew/3.9.rst:249 +#: whatsnew/3.9.rst:247 msgid "" "Any valid expression can now be used as a :term:`decorator`. Previously, " "the grammar was much more restrictive. See :pep:`614` for details. " @@ -493,7 +477,7 @@ msgstr "" "contraignante. Voir :pep:`614` pour les détails (contributions de *Brandt " "Bucher* dans :issue:`39702`)." -#: whatsnew/3.9.rst:253 +#: whatsnew/3.9.rst:251 msgid "" "Improved help for the :mod:`typing` module. Docstrings are now shown for all " "special forms and special generic aliases (like ``Union`` and ``List``). " @@ -507,7 +491,7 @@ msgstr "" "comme ``List[int]`` montre l'aide correspondant au type réel (``list`` dans " "ce cas). (Contribution de Serhiy Storchaka dans :issue:`40257`)." -#: whatsnew/3.9.rst:259 +#: whatsnew/3.9.rst:257 msgid "" "Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:" "`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the actual " @@ -519,7 +503,7 @@ msgstr "" "maintenant le statut réel du générateur asynchrone. (Contribué par Yury " "Selivanov dans :issue:`30773`.)" -#: whatsnew/3.9.rst:264 +#: whatsnew/3.9.rst:262 msgid "" "Unexpected errors in calling the ``__iter__`` method are no longer masked by " "``TypeError`` in the :keyword:`in` operator and functions :func:`~operator." @@ -532,7 +516,7 @@ msgstr "" "`~operator.countOf` du module :mod:`operator`. (Contribué par Serhiy " "Storchaka dans :issue:`40824`.)" -#: whatsnew/3.9.rst:270 +#: whatsnew/3.9.rst:268 msgid "" "Unparenthesized lambda expressions can no longer be the expression part in " "an ``if`` clause in comprehensions and generator expressions. See :issue:" @@ -543,15 +527,15 @@ msgstr "" "expressions de générateur. Voir :issue:`41848` et :issue:`43755` pour plus " "de détails." -#: whatsnew/3.9.rst:276 +#: whatsnew/3.9.rst:274 msgid "New Modules" msgstr "Nouveaux modules" -#: whatsnew/3.9.rst:279 +#: whatsnew/3.9.rst:277 msgid "zoneinfo" msgstr "*zoneinfo*" -#: whatsnew/3.9.rst:281 +#: whatsnew/3.9.rst:279 msgid "" "The :mod:`zoneinfo` module brings support for the IANA time zone database to " "the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete :class:" @@ -562,7 +546,7 @@ msgstr "" "`zoneinfo.ZoneInfo`, une implémentation concrète de :class:`datetime.tzinfo` " "à partir des données de fuseaux horaires du système." -#: whatsnew/3.9.rst:305 +#: whatsnew/3.9.rst:303 msgid "" "As a fall-back source of data for platforms that don't ship the IANA " "database, the |tzdata|_ module was released as a first-party package -- " @@ -572,22 +556,22 @@ msgstr "" "donnée de l'IANA, le module quasi-natif |tzdata|_ été publié –– il est " "distribué sur PyPI et maintenu par l'équipe principale de CPython." -#: whatsnew/3.9.rst:314 +#: whatsnew/3.9.rst:312 msgid "" ":pep:`615` -- Support for the IANA Time Zone Database in the Standard Library" msgstr "" ":pep:`615` — Prise en charge de la base de donnée des fuseaux horaires de " "l'IANA dans la bibliothèque standard" -#: whatsnew/3.9.rst:315 +#: whatsnew/3.9.rst:313 msgid "PEP written and implemented by Paul Ganssle" msgstr "PEP écrit et implémenté par *Paul Ganssle*" -#: whatsnew/3.9.rst:319 +#: whatsnew/3.9.rst:317 msgid "graphlib" msgstr "*graphlib*" -#: whatsnew/3.9.rst:321 +#: whatsnew/3.9.rst:319 msgid "" "A new module, :mod:`graphlib`, was added that contains the :class:`graphlib." "TopologicalSorter` class to offer functionality to perform topological " @@ -599,15 +583,15 @@ msgstr "" "le tri topologique de graphes (contribution de *Pablo Galindo*, *Tim Peters* " "et *Larry Hastings* dans :issue:`17005`)." -#: whatsnew/3.9.rst:328 +#: whatsnew/3.9.rst:326 msgid "Improved Modules" msgstr "Modules améliorés" -#: whatsnew/3.9.rst:331 +#: whatsnew/3.9.rst:329 msgid "ast" msgstr "*ast*" -#: whatsnew/3.9.rst:333 +#: whatsnew/3.9.rst:331 msgid "" "Added the *indent* option to :func:`~ast.dump` which allows it to produce a " "multiline indented output. (Contributed by Serhiy Storchaka in :issue:" @@ -617,7 +601,7 @@ msgstr "" "sortie multi-ligne indentée (contribution de *Serhiy Storchaka* dans :issue:" "`37995`)." -#: whatsnew/3.9.rst:337 +#: whatsnew/3.9.rst:335 msgid "" "Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be " "used to unparse an :class:`ast.AST` object and produce a string with code " @@ -629,7 +613,7 @@ msgstr "" "code qui produirait un :class:`ast.AST` équivalent lorsqu'il est analysé " "(contribution de *Pablo Galindo* et *Batuhan Taskaya* dans :issue:`38870`)." -#: whatsnew/3.9.rst:342 +#: whatsnew/3.9.rst:340 msgid "" "Added docstrings to AST nodes that contains the ASDL signature used to " "construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)" @@ -638,11 +622,11 @@ msgstr "" "signatures *ASDL* utilisées pour construire ce nœud (contribution de " "*Batuhan Taskaya* dans :issue:`39638`)." -#: whatsnew/3.9.rst:346 +#: whatsnew/3.9.rst:344 msgid "asyncio" msgstr "*asyncio*" -#: whatsnew/3.9.rst:348 +#: whatsnew/3.9.rst:346 msgid "" "Due to significant security concerns, the *reuse_address* parameter of :meth:" "`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " @@ -658,7 +642,7 @@ msgstr "" "create_datagram_endpoint()``. (Contribué par Kyle Stanley, Antoine Pitrou, " "et Yury Selivanov dans :issue:`37228`.)" -#: whatsnew/3.9.rst:355 +#: whatsnew/3.9.rst:353 msgid "" "Added a new :term:`coroutine` :meth:`~asyncio.loop." "shutdown_default_executor` that schedules a shutdown for the default " @@ -672,7 +656,7 @@ msgstr "" "termine. Aussi, :func:`asyncio.run` à été mis à jour pour utiliser la " "nouvelle :term:`coroutine`. (Contribué par Kyle Stanley dans :issue:`34037`.)" -#: whatsnew/3.9.rst:361 +#: whatsnew/3.9.rst:359 msgid "" "Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher " "implementation that polls process file descriptors. (:issue:`38692`)" @@ -681,7 +665,7 @@ msgstr "" "enfants spécifique à Linux qui interroge le descripteur de ficher du " "processus. (:issue:`38692`)" -#: whatsnew/3.9.rst:364 +#: whatsnew/3.9.rst:362 msgid "" "Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used " "for running IO-bound functions in a separate thread to avoid blocking the " @@ -690,7 +674,7 @@ msgid "" "by Kyle Stanley and Yury Selivanov in :issue:`32309`.)" msgstr "" -#: whatsnew/3.9.rst:370 +#: whatsnew/3.9.rst:368 msgid "" "When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now " "wait until the cancellation is complete also in the case when *timeout* is " @@ -698,7 +682,7 @@ msgid "" "Pranskevichus in :issue:`32751`.)" msgstr "" -#: whatsnew/3.9.rst:375 +#: whatsnew/3.9.rst:373 msgid "" ":mod:`asyncio` now raises :exc:`TyperError` when calling incompatible " "methods with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael " @@ -708,11 +692,11 @@ msgstr "" "méthodes incompatibles avec un socket :class:`ssl.SSLSocket`. (Contribué par " "Ido Michael dans :issue:`37404`.)" -#: whatsnew/3.9.rst:380 +#: whatsnew/3.9.rst:378 msgid "compileall" msgstr "*compileall*" -#: whatsnew/3.9.rst:382 +#: whatsnew/3.9.rst:380 msgid "" "Added new possibility to use hardlinks for duplicated ``.pyc`` files: " "*hardlink_dupes* parameter and --hardlink-dupes command line option. " @@ -723,7 +707,7 @@ msgstr "" "``--hardlink-dupes`` (contribution de *Lumír 'Frenzy' Balhar* dans :issue:" "`40495`)." -#: whatsnew/3.9.rst:385 +#: whatsnew/3.9.rst:383 msgid "" "Added new options for path manipulation in resulting ``.pyc`` files: " "*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command " @@ -737,11 +721,11 @@ msgstr "" "spécifier l'option pour un niveau d'optimisation plus d'une fois " "(contribution de *Lumír 'Frenzy' Balhar* dans :issue:`38112`)." -#: whatsnew/3.9.rst:390 +#: whatsnew/3.9.rst:388 msgid "concurrent.futures" msgstr "*concurrent.futures*" -#: whatsnew/3.9.rst:392 +#: whatsnew/3.9.rst:390 msgid "" "Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor." "shutdown` that cancels all pending futures which have not started running, " @@ -753,7 +737,7 @@ msgstr "" "commencé leur exécution, plutôt que d'attendre qu'ils aient complété avant " "d'arrêter l'exécuteur (contribution *Kyle Stanley* dans :issue:`39349`)." -#: whatsnew/3.9.rst:398 +#: whatsnew/3.9.rst:396 msgid "" "Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` " "and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves " @@ -761,7 +745,7 @@ msgid "" "processes. (Contributed by Kyle Stanley in :issue:`39812`.)" msgstr "" -#: whatsnew/3.9.rst:403 +#: whatsnew/3.9.rst:401 msgid "" "Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned " "on demand, only when there are no available idle workers to reuse. This " @@ -769,11 +753,11 @@ msgid "" "workers. (Contributed by Kyle Stanley in :issue:`39207`.)" msgstr "" -#: whatsnew/3.9.rst:409 +#: whatsnew/3.9.rst:407 msgid "curses" msgstr "*curses*" -#: whatsnew/3.9.rst:411 +#: whatsnew/3.9.rst:409 msgid "" "Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:" "`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed " @@ -783,11 +767,11 @@ msgstr "" "set_escdelay`, :func:`curses.get_tabsize`, et :func:`curses.set_tabsize` " "(contribution d'*Anthony Sottile* dans :issue:`38312`)." -#: whatsnew/3.9.rst:416 +#: whatsnew/3.9.rst:414 msgid "datetime" msgstr "*datetime*" -#: whatsnew/3.9.rst:417 +#: whatsnew/3.9.rst:415 msgid "" "The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:" "`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now " @@ -799,11 +783,11 @@ msgstr "" "datetime` renvoient maintenant un :func:`~collections.namedtuple` plutôt " "qu'un :class:`tuple` (contribution de *Dong-hee Na* dans :issue:`24416`)." -#: whatsnew/3.9.rst:423 +#: whatsnew/3.9.rst:421 msgid "distutils" msgstr "*distutils*" -#: whatsnew/3.9.rst:425 +#: whatsnew/3.9.rst:423 msgid "" "The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash " "digests. It skips MD5 on platforms that block MD5 digest. (Contributed by " @@ -813,11 +797,11 @@ msgstr "" "Blake2b-256. Elle ne produit pas MD5 sur les plateformes qui bloquent les " "condensats MD5 (contribution de *Christian Heimes* dans :issue:`40698`)." -#: whatsnew/3.9.rst:430 +#: whatsnew/3.9.rst:428 msgid "fcntl" msgstr "*fcntl*" -#: whatsnew/3.9.rst:432 +#: whatsnew/3.9.rst:430 msgid "" "Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :" "data:`~fcntl.F_OFD_SETLKW`. (Contributed by Dong-hee Na in :issue:`38602`.)" @@ -826,11 +810,11 @@ msgstr "" "et :data:`~fcntl.F_OFD_SETLKW` (contribution de *Dong-hee Na* dans :issue:" "`38602`)." -#: whatsnew/3.9.rst:437 +#: whatsnew/3.9.rst:435 msgid "ftplib" msgstr "*ftplib*" -#: whatsnew/3.9.rst:439 +#: whatsnew/3.9.rst:437 msgid "" ":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -842,14 +826,14 @@ msgstr "" "`ValueError` quand zéro est passé à *timeout* dans leur constructeur " "(contribution de *Dong-hee Na* dans :issue:`39259`)." -#: whatsnew/3.9.rst:444 +#: whatsnew/3.9.rst:442 msgid "gc" msgstr "*gc*" # Voir le ticket qui mentionne que "block" n'est pas utilisé dans le # sens d'un flux bloquant mais plutot dans le sens d'une annulation de # l'opération. -#: whatsnew/3.9.rst:446 +#: whatsnew/3.9.rst:444 msgid "" "When the garbage collector makes a collection in which some objects " "resurrect (they are reachable from outside the isolated cycles after the " @@ -863,7 +847,7 @@ msgstr "" "sont toujours inatteignables n'est pas suspendu (contribution de *Pablo " "Galindo* et *Tim Peters* dans :issue:`38379`)." -#: whatsnew/3.9.rst:451 +#: whatsnew/3.9.rst:449 msgid "" "Added a new function :func:`gc.is_finalized` to check if an object has been " "finalized by the garbage collector. (Contributed by Pablo Galindo in :issue:" @@ -873,11 +857,11 @@ msgstr "" "finalisé par le ramasse-miettes (contribution de *Pablo Galindo* dans :issue:" "`39322`)." -#: whatsnew/3.9.rst:456 +#: whatsnew/3.9.rst:454 msgid "hashlib" msgstr "*hashlib*" -#: whatsnew/3.9.rst:458 +#: whatsnew/3.9.rst:456 msgid "" "The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL " "when available. (Contributed by Christian Heimes in :issue:`37630`.)" @@ -886,7 +870,7 @@ msgstr "" "SHA3 et SHAKE XOF de *OpenSSL* quand ils sont disponibles (contribution de " "*Christian Heimes* dans :issue:`37630`)." -#: whatsnew/3.9.rst:462 +#: whatsnew/3.9.rst:460 msgid "" "Builtin hash modules can now be disabled with ``./configure --without-" "builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --" @@ -899,11 +883,11 @@ msgstr "" "l'utilisation de l’implémentation *OpenSSL* (contribution de *Christian " "Heimes* dans :issue:`40479`)." -#: whatsnew/3.9.rst:470 +#: whatsnew/3.9.rst:468 msgid "http" msgstr "*http*" -#: whatsnew/3.9.rst:472 +#: whatsnew/3.9.rst:470 msgid "" "HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 " "TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Dong-hee " @@ -913,11 +897,11 @@ msgstr "" "TOO_EARLY`` ont été ajoutés à :class:`http.HTTPStatus` (contribution de " "*Dong-hee Na* dans :issue:`39509` et Ross Rhodes dans :issue:`39507`)." -#: whatsnew/3.9.rst:476 +#: whatsnew/3.9.rst:474 msgid "IDLE and idlelib" msgstr "*IDLE* et *idlelib*" -#: whatsnew/3.9.rst:478 +#: whatsnew/3.9.rst:476 msgid "" "Added option to toggle cursor blink off. (Contributed by Zackery Spytz in :" "issue:`4603`.)" @@ -925,7 +909,7 @@ msgstr "" "Ajout d'une option pour désactiver le clignotement du curseur (contribution " "de *Zackery Spytz* dans :issue:`4603`)." -#: whatsnew/3.9.rst:481 +#: whatsnew/3.9.rst:479 msgid "" "Escape key now closes IDLE completion windows. (Contributed by Johnny " "Najera in :issue:`38944`.)" @@ -933,7 +917,7 @@ msgstr "" "La fenêtre de complétion de IDLE est maintenant fermée par la touche " "d'échappement (contribution de *Johnny Najera* dans :issue:`38944`)." -#: whatsnew/3.9.rst:484 +#: whatsnew/3.9.rst:482 msgid "" "Added keywords to module name completion list. (Contributed by Terry J. " "Reedy in :issue:`37765`.)" @@ -941,11 +925,11 @@ msgstr "" "Ajout de mots clés à la liste de complétion de noms de modules (contribution " "de *Terry J. Reedy* dans :issue:`37765`)." -#: whatsnew/3.9.rst:487 +#: whatsnew/3.9.rst:485 msgid "New in 3.9 maintenance releases" msgstr "" -#: whatsnew/3.9.rst:489 +#: whatsnew/3.9.rst:487 msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " "hooks were previously ignored. (Contributed by Ken Hilton in :issue:" @@ -955,13 +939,13 @@ msgstr "" "n'``). Auparavant, les fonctions de rappel définies par l'utilisateur " "étaient ignorées (contribution par *Ken Hilton* dans :issue:`43008`)." -#: whatsnew/3.9.rst:493 +#: whatsnew/3.9.rst:491 msgid "The changes above have been backported to 3.8 maintenance releases." msgstr "" "Les changements ci-haut ont été rétro-portés dans la version de maintenance " "de 3.8." -#: whatsnew/3.9.rst:495 +#: whatsnew/3.9.rst:493 msgid "" "Rearrange the settings dialog. Split the General tab into Windows and Shell/" "Ed tabs. Move help sources, which extend the Help menu, to the Extensions " @@ -972,7 +956,7 @@ msgid "" "`33962`.)" msgstr "" -#: whatsnew/3.9.rst:503 +#: whatsnew/3.9.rst:501 msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" @@ -980,11 +964,11 @@ msgstr "" "Applique la coloration syntaxique aux fichiers ``.pyi`` (contribution " "d'*Alex Waygood* et de *Terry Jan Reedy* dans :issue:`45447`)." -#: whatsnew/3.9.rst:507 +#: whatsnew/3.9.rst:505 msgid "imaplib" msgstr "*imaplib*" -#: whatsnew/3.9.rst:509 +#: whatsnew/3.9.rst:507 msgid "" ":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional " "*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4." @@ -1002,7 +986,7 @@ msgstr "" # "Return" n'est pas un renvoi de fonction, c'est un retour à un état # précédent. -#: whatsnew/3.9.rst:516 +#: whatsnew/3.9.rst:514 msgid "" ":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " "frees server's resources associated with the selected mailbox and returns " @@ -1018,11 +1002,11 @@ msgstr "" "message n'est retiré de façon permanente de la boîte courriel sélectionnée " "(contribution de *Dong-hee Na* dans :issue:`40375`)." -#: whatsnew/3.9.rst:524 +#: whatsnew/3.9.rst:522 msgid "importlib" msgstr "*importlib*" -#: whatsnew/3.9.rst:526 +#: whatsnew/3.9.rst:524 msgid "" "To improve consistency with import statements, :func:`importlib.util." "resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for " @@ -1034,7 +1018,7 @@ msgstr "" "`ValueError` pour les tentatives d'import relatifs invalides (contribution " "de *Ngalim Siregar* dans :issue:`37444`)." -#: whatsnew/3.9.rst:531 +#: whatsnew/3.9.rst:529 msgid "" "Import loaders which publish immutable module objects can now publish " "immutable packages in addition to individual modules. (Contributed by Dino " @@ -1044,7 +1028,7 @@ msgstr "" "peuvent maintenant aussi publier des paquets immuables en plus des modules " "individuels (contribution de *Dino Viehland* dans :issue:`39336`)." -#: whatsnew/3.9.rst:535 +#: whatsnew/3.9.rst:533 msgid "" "Added :func:`importlib.resources.files` function with support for " "subdirectories in package data, matching backport in ``importlib_resources`` " @@ -1055,18 +1039,18 @@ msgstr "" "version précédentes de Python dans ``importlib_resources`` version 1.5 " "(contribution de *Jason R. Coombs* dans :issue:`39791`)." -#: whatsnew/3.9.rst:540 +#: whatsnew/3.9.rst:538 msgid "" "Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1." msgstr "" "Mise à jour de ``importlib.metadata`` à partir de ``importlib_metadata`` " "version 1.6.1." -#: whatsnew/3.9.rst:543 +#: whatsnew/3.9.rst:541 msgid "inspect" msgstr "*inspect*" -#: whatsnew/3.9.rst:545 +#: whatsnew/3.9.rst:543 msgid "" ":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " "regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:" @@ -1076,11 +1060,11 @@ msgstr "" "devient un ``dict`` natif régulier (contribution de *Inada Naoki* dans :" "issue:`36350` et :issue:`39775`)." -#: whatsnew/3.9.rst:549 +#: whatsnew/3.9.rst:547 msgid "ipaddress" msgstr "*ipaddress*" -#: whatsnew/3.9.rst:551 +#: whatsnew/3.9.rst:549 msgid "" ":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " "suffix ``%``)." @@ -1088,7 +1072,7 @@ msgstr "" ":mod:`ipaddress` prend désormais en charge les IPv6 avec une portée " "spécifiée (adresses IPv6 avec un suffixe ``%``)." -#: whatsnew/3.9.rst:553 +#: whatsnew/3.9.rst:551 msgid "" "Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If " "present, scope zone ID is available through the :attr:`~ipaddress." @@ -1100,7 +1084,7 @@ msgstr "" "portée est disponible dans l'attribut :attr:`~ipaddress.IPv6Address." "scope_id` (contribution de *Oleksandr Pavliuk* dans :issue:`34788`)." -#: whatsnew/3.9.rst:557 +#: whatsnew/3.9.rst:555 msgid "" "Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " "leading zeros in IPv4 address strings. (Contributed by Christian Heimes in :" @@ -1110,11 +1094,11 @@ msgstr "" "zéro en tête des chaînes de caractères IPv4. (Contribué par Christian Heimes " "dans :issue:`36384`)." -#: whatsnew/3.9.rst:562 +#: whatsnew/3.9.rst:560 msgid "math" msgstr "*math*" -#: whatsnew/3.9.rst:564 +#: whatsnew/3.9.rst:562 msgid "" "Expanded the :func:`math.gcd` function to handle multiple arguments. " "Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " @@ -1124,7 +1108,7 @@ msgstr "" "multiples. Préalablement, elle ne gérait que deux arguments (contribution de " "*Serhiy Storchaka* dans :issue:`39648`)." -#: whatsnew/3.9.rst:568 +#: whatsnew/3.9.rst:566 msgid "" "Added :func:`math.lcm`: return the least common multiple of specified " "arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " @@ -1134,7 +1118,7 @@ msgstr "" "arguments spécifiés (contribution de *Mark Dickinson*, *Ananthakrishnan* et " "*Serhiy Storchaka* dans :issue:`39479` et :issue:`39648`)." -#: whatsnew/3.9.rst:572 +#: whatsnew/3.9.rst:570 msgid "" "Added :func:`math.nextafter`: return the next floating-point value after *x* " "towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" @@ -1143,7 +1127,7 @@ msgstr "" "flottant après *x* en direction de *y* (contribution de *Victor Stinner* " "dans :issue:`39288`)." -#: whatsnew/3.9.rst:576 +#: whatsnew/3.9.rst:574 msgid "" "Added :func:`math.ulp`: return the value of the least significant bit of a " "float. (Contributed by Victor Stinner in :issue:`39310`.)" @@ -1151,11 +1135,11 @@ msgstr "" "Ajout de :func:`math.ulp` : renvoie la valeur du bit le moins significatif " "d'un *float* (contribution de *Victor Stinner* dans :issue:`39310`)." -#: whatsnew/3.9.rst:581 +#: whatsnew/3.9.rst:579 msgid "multiprocessing" msgstr "*multiprocessing*" -#: whatsnew/3.9.rst:583 +#: whatsnew/3.9.rst:581 msgid "" "The :class:`multiprocessing.SimpleQueue` class has a new :meth:" "`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. " @@ -1165,11 +1149,11 @@ msgstr "" "`~multiprocessing.SimpleQueue.close` pour fermer la queue de façon explicite " "(contribution de *Victor Stinner* dans :issue:`30966`)." -#: whatsnew/3.9.rst:589 +#: whatsnew/3.9.rst:587 msgid "nntplib" msgstr "*nntplib*" -#: whatsnew/3.9.rst:591 +#: whatsnew/3.9.rst:589 msgid "" ":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -1182,11 +1166,11 @@ msgstr "" "leur constructeur est zéro (contribution de *Dong-hee Na* dans :issue:" "`39259`)." -#: whatsnew/3.9.rst:596 +#: whatsnew/3.9.rst:594 msgid "os" msgstr "*os*" -#: whatsnew/3.9.rst:598 +#: whatsnew/3.9.rst:596 msgid "" "Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:" "`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)" @@ -1194,7 +1178,7 @@ msgstr "" "Ajout de :data:`~os.CLD_KILLED` et :data:`~os.CLD_STOPPED` pour :attr:" "`si_code` (contribution de *Dong-hee Na* dans :issue:`38493`)." -#: whatsnew/3.9.rst:601 +#: whatsnew/3.9.rst:599 msgid "" "Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:" "`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors." @@ -1203,7 +1187,7 @@ msgstr "" "`os.P_PIDFD` (:issue:`38713`) pour la gestion de processus avec des " "descripteurs de fichiers." -#: whatsnew/3.9.rst:605 +#: whatsnew/3.9.rst:603 msgid "" "The :func:`os.unsetenv` function is now also available on Windows. " "(Contributed by Victor Stinner in :issue:`39413`.)" @@ -1211,7 +1195,7 @@ msgstr "" "La fonction :func:`os.unsetenv` est maintenant aussi disponible sur Windows " "(contribution de *Victor Stinner* dans :issue:`39413`)." -#: whatsnew/3.9.rst:608 +#: whatsnew/3.9.rst:606 msgid "" "The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " "available. (Contributed by Victor Stinner in :issue:`39395`.)" @@ -1219,7 +1203,7 @@ msgstr "" "Les fonctions :func:`os.putenv` et :func:`os.unsetenv` sont maintenant " "toujours disponibles (contribution de *Victor Stinner* dans :issue:`39395`)." -#: whatsnew/3.9.rst:612 +#: whatsnew/3.9.rst:610 msgid "" "Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " "an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" @@ -1228,11 +1212,11 @@ msgstr "" "de retour de ``wait()`` en code de sortie (contribution de *Victor Stinner* " "dans :issue:`40094`)." -#: whatsnew/3.9.rst:617 +#: whatsnew/3.9.rst:615 msgid "pathlib" msgstr "*pathlib*" -#: whatsnew/3.9.rst:619 +#: whatsnew/3.9.rst:617 msgid "" "Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os." "readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" @@ -1240,11 +1224,11 @@ msgstr "" "Ajout de :meth:`pathlib.Path.readlink()` qui a un comportement similaire à :" "func:`os.readlink` (contribution de *Girts Folkmanis* dans :issue:`30618`)." -#: whatsnew/3.9.rst:624 +#: whatsnew/3.9.rst:622 msgid "pdb" msgstr "*pdb*" -#: whatsnew/3.9.rst:626 +#: whatsnew/3.9.rst:624 msgid "" "On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " "Hopper and Dan Lidral-Porter in :issue:`20523`.)" @@ -1252,11 +1236,11 @@ msgstr "" "Sur Windows, :class:`~pdb.Pdb` gère maintenant ``~/.pdbrc`` (contribution de " "*Tim Hopper* et *Dan Lidral-Porter* dans :issue:`20523`)." -#: whatsnew/3.9.rst:630 +#: whatsnew/3.9.rst:628 msgid "poplib" msgstr "*poplib*" -#: whatsnew/3.9.rst:632 +#: whatsnew/3.9.rst:630 msgid "" ":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -1268,11 +1252,11 @@ msgstr "" "maintenant une :class:`ValueError` si la valeur passée à *timeout* dans leur " "constructeur est zéro (contribution de *Dong-hee Na* dans :issue:`39259`)." -#: whatsnew/3.9.rst:637 +#: whatsnew/3.9.rst:635 msgid "pprint" msgstr "*pprint*" -#: whatsnew/3.9.rst:639 +#: whatsnew/3.9.rst:637 msgid "" ":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " "(Contributed by Carl Bordum Hansen in :issue:`37376`.)" @@ -1280,11 +1264,11 @@ msgstr "" ":mod:`pprint` peut maintenant faire l'affichage formaté de :class:`types." "SimpleNamespace` (contribution de *Carl Bordum Hansen* dans :issue:`37376`)." -#: whatsnew/3.9.rst:643 +#: whatsnew/3.9.rst:641 msgid "pydoc" msgstr "*pydoc*" -#: whatsnew/3.9.rst:645 +#: whatsnew/3.9.rst:643 msgid "" "The documentation string is now shown not only for class, function, method " "etc, but for any object that has its own ``__doc__`` attribute. (Contributed " @@ -1295,11 +1279,11 @@ msgstr "" "propre attribut ``__doc__`` (contribution de *Serhiy Storchaka* dans :issue:" "`40257`)." -#: whatsnew/3.9.rst:650 +#: whatsnew/3.9.rst:648 msgid "random" msgstr "*random*" -#: whatsnew/3.9.rst:652 +#: whatsnew/3.9.rst:650 msgid "" "Added a new :attr:`random.Random.randbytes` method: generate random bytes. " "(Contributed by Victor Stinner in :issue:`40286`.)" @@ -1307,11 +1291,11 @@ msgstr "" "Ajout de la méthode :attr:`random.Random.randbytes` : génère des octets " "aléatoires (contribution de *Victor Stinner* dans :issue:`40286`)." -#: whatsnew/3.9.rst:656 +#: whatsnew/3.9.rst:654 msgid "signal" msgstr "*signal*" -#: whatsnew/3.9.rst:658 +#: whatsnew/3.9.rst:656 msgid "" "Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to " "signals to a process using a file descriptor instead of a pid. (:issue:" @@ -1321,11 +1305,11 @@ msgstr "" "signaux à un processus en utilisant un descripteur de fichier plutôt qu'un " "identifiant de processus (*pid*). (:issue:`38712`)" -#: whatsnew/3.9.rst:662 +#: whatsnew/3.9.rst:660 msgid "smtplib" msgstr "*smtplib*" -#: whatsnew/3.9.rst:664 +#: whatsnew/3.9.rst:662 msgid "" ":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:" "`ValueError` if the given timeout for their constructor is zero to prevent " @@ -1337,7 +1321,7 @@ msgstr "" "maintenant une :class:`ValueError` si la valeur de *timeout* passée à leur " "constructeur est zéro (contribution de *Dong-hee Na* dans :issue:`39259`)." -#: whatsnew/3.9.rst:668 +#: whatsnew/3.9.rst:666 msgid "" ":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. " "(Contributed by Dong-hee Na in :issue:`39329`.)" @@ -1345,11 +1329,11 @@ msgstr "" "Le constructeur de :class:`~smtplib.LMTP` a maintenant un paramètre " "*timeout* optionnel (contribution de *Dong-hee Na* dans :issue:`39329`)." -#: whatsnew/3.9.rst:672 +#: whatsnew/3.9.rst:670 msgid "socket" msgstr "*socket*" -#: whatsnew/3.9.rst:674 +#: whatsnew/3.9.rst:672 msgid "" "The :mod:`socket` module now exports the :data:`~socket." "CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by " @@ -1359,7 +1343,7 @@ msgstr "" "CAN_RAW_JOIN_FILTERS` à partir de Linux 4.1 (contribution de *Stefan " "Tatschner* et *Zackery Spytz* dans :issue:`25780`)." -#: whatsnew/3.9.rst:678 +#: whatsnew/3.9.rst:676 msgid "" "The socket module now supports the :data:`~socket.CAN_J1939` protocol on " "platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" @@ -1368,7 +1352,7 @@ msgstr "" "CAN_J1939` sur les plateformes où il est disponible (contribution de *Karl " "Ding* dans :issue:`40291`)." -#: whatsnew/3.9.rst:681 +#: whatsnew/3.9.rst:679 msgid "" "The socket module now has the :func:`socket.send_fds` and :func:`socket." "recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya Okano and " @@ -1378,11 +1362,11 @@ msgstr "" "send_fds` et :func:`socket.recv_fds` (contribution de *Joannah Nanjekye*, " "*Shinya Okano* et *Victor Stinner* dans :issue:`28724`)." -#: whatsnew/3.9.rst:687 +#: whatsnew/3.9.rst:685 msgid "time" msgstr "*time*" -#: whatsnew/3.9.rst:689 +#: whatsnew/3.9.rst:687 msgid "" "On AIX, :func:`~time.thread_time` is now implemented with " "``thread_cputime()`` which has nanosecond resolution, rather than " @@ -1394,11 +1378,11 @@ msgstr "" "``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` qui a une résolution de 10 ms " "(contribution de *Batuhan Taskaya* dans :issue:`40192`)." -#: whatsnew/3.9.rst:695 +#: whatsnew/3.9.rst:693 msgid "sys" msgstr "*sys*" -#: whatsnew/3.9.rst:697 +#: whatsnew/3.9.rst:695 msgid "" "Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific " "library directory. It is used to build the path of standard library and the " @@ -1415,7 +1399,7 @@ msgstr "" "(contribution de *Jan Matějek*, *Matěj Cepl*, *Charalampos Stratakis* et " "*Victor Stinner* dans :issue:`1294959`)." -#: whatsnew/3.9.rst:703 +#: whatsnew/3.9.rst:701 msgid "" "Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now " "``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " @@ -1425,11 +1409,11 @@ msgstr "" "pas interactif. Maintenant ``stderr`` a toujours par défaut un tampon par " "lignes (contribution de *Jendrik Seipp* dans :issue:`13601`)." -#: whatsnew/3.9.rst:708 +#: whatsnew/3.9.rst:706 msgid "tracemalloc" msgstr "*tracemalloc*" -#: whatsnew/3.9.rst:710 +#: whatsnew/3.9.rst:708 msgid "" "Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory " "blocks to the current size, to measure the peak of specific pieces of code. " @@ -1440,11 +1424,11 @@ msgstr "" "pour mesurer la taille d'apogée de parties de code spécifiques (contribution " "de *Huon Wilson* dans :issue:`40630`)." -#: whatsnew/3.9.rst:1498 +#: whatsnew/3.9.rst:1496 msgid "typing" msgstr "*typing*" -#: whatsnew/3.9.rst:717 +#: whatsnew/3.9.rst:715 msgid "" ":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " "types with context-specific metadata and new ``include_extras`` parameter " @@ -1457,22 +1441,22 @@ msgstr "" "les métadonnées à l'exécution (contribution de *Till Varoquaux* et " "*Konstantin Kashin*)." -#: whatsnew/3.9.rst:723 +#: whatsnew/3.9.rst:721 msgid "unicodedata" msgstr "*unicodedata*" -#: whatsnew/3.9.rst:725 +#: whatsnew/3.9.rst:723 msgid "" "The Unicode database has been updated to version 13.0.0. (:issue:`39926`)." msgstr "" "La base de donnée Unicode a été mise à jour à la version 13.0.0. (:issue:" "`39926`)." -#: whatsnew/3.9.rst:728 +#: whatsnew/3.9.rst:726 msgid "venv" msgstr "*venv*" -#: whatsnew/3.9.rst:730 +#: whatsnew/3.9.rst:728 msgid "" "The activation scripts provided by :mod:`venv` now all specify their prompt " "customization consistently by always using the value specified by " @@ -1488,11 +1472,11 @@ msgstr "" "variable était affectée, et un utilisait plutôt ``__VENV_NAME__`` " "(contribution de *Brett Cannon* dans :issue:`37663`)." -#: whatsnew/3.9.rst:738 +#: whatsnew/3.9.rst:736 msgid "xml" msgstr "*xml*" -#: whatsnew/3.9.rst:740 +#: whatsnew/3.9.rst:738 msgid "" "White space characters within attributes are now preserved when serializing :" "mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " @@ -1505,11 +1489,11 @@ msgstr "" "résultat d'une discussion sur comment interpréter la section 2.11 de la " "spécification XML (contribution de *Mefistotelis* dans :issue:`39011`)." -#: whatsnew/3.9.rst:748 +#: whatsnew/3.9.rst:746 msgid "Optimizations" msgstr "Optimisations" -#: whatsnew/3.9.rst:750 +#: whatsnew/3.9.rst:748 msgid "" "Optimized the idiom for assignment a temporary variable in comprehensions. " "Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment " @@ -1519,11 +1503,11 @@ msgstr "" "optimisée. Maintenant ``for y in [expr]`` dans les compréhensions est aussi " "rapide qu'une affectation simple ``y = expr``. Par exemple :" -#: whatsnew/3.9.rst:754 +#: whatsnew/3.9.rst:752 msgid "sums = [s for s in [0] for x in data for s in [s + x]]" msgstr "``sums = [s for s in [0] for x in data for s in [s + x]]``" -#: whatsnew/3.9.rst:756 +#: whatsnew/3.9.rst:754 msgid "" "Unlike the ``:=`` operator this idiom does not leak a variable to the outer " "scope." @@ -1531,11 +1515,11 @@ msgstr "" "Contrairement à l'opérateur ``:=``, cet idiome ne laisse pas déborder une " "variable dans la portée externe." -#: whatsnew/3.9.rst:759 +#: whatsnew/3.9.rst:757 msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" msgstr "(contribution de *Serhiy Storchaka* dans :issue:`32856`)." -#: whatsnew/3.9.rst:761 +#: whatsnew/3.9.rst:759 msgid "" "Optimized signal handling in multithreaded applications. If a thread " "different than the main thread gets a signal, the bytecode evaluation loop " @@ -1551,7 +1535,7 @@ msgstr "" "être gérés. Seul le fil principal de l'interpréteur principal peut gérer les " "signaux." -#: whatsnew/3.9.rst:767 +#: whatsnew/3.9.rst:765 msgid "" "Previously, the bytecode evaluation loop was interrupted at each instruction " "until the main thread handles signals. (Contributed by Victor Stinner in :" @@ -1561,7 +1545,7 @@ msgstr "" "à chaque instruction jusqu'à ce que le fil principal gère les signaux " "(contribution de *Victor Stinner* dans :issue:`40010`)." -#: whatsnew/3.9.rst:771 +#: whatsnew/3.9.rst:769 msgid "" "Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " "(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor " @@ -1571,7 +1555,7 @@ msgstr "" "``closefrom()`` (contribution de *Ed Maste*, *Conrad Meyer*, *Kyle Evans*, " "*Kubilay Kocak* et *Victor Stinner* dans :issue:`38061`)." -#: whatsnew/3.9.rst:775 +#: whatsnew/3.9.rst:773 #, fuzzy msgid "" ":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " @@ -1581,7 +1565,7 @@ msgstr "" "valeurs compatibles avec :c:type:`long` (contribution de *Sergey Fedoseev* " "dans :issue:`37986`)." -#: whatsnew/3.9.rst:779 +#: whatsnew/3.9.rst:777 msgid "" "A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :" "class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :" @@ -1594,7 +1578,7 @@ msgstr "" "de :pep:`590` (contribution de *Dong-hee Na*, *Mark Shannon*, *Jeroen " "Demeyer* et *Petr Viktorin* dans :issue:`37207`)." -#: whatsnew/3.9.rst:784 +#: whatsnew/3.9.rst:782 msgid "" "Optimized :func:`~set.difference_update` for the case when the other set is " "much larger than the base set. (Suggested by Evgeny Kapun with code " @@ -1604,7 +1588,7 @@ msgstr "" "est beaucoup plus grand que celui de base. (Suggestion par *Evgeny Kapun* et " "codage contribué par *Michele Orrù* dans :issue:`8425`.)" -#: whatsnew/3.9.rst:788 +#: whatsnew/3.9.rst:786 msgid "" "Python's small object allocator (``obmalloc.c``) now allows (no more than) " "one empty arena to remain available for immediate reuse, without returning " @@ -1619,7 +1603,7 @@ msgstr "" "détruit à nouveau à chaque itération (contribution de *Tim Peters* dans :" "issue:`37257`)." -#: whatsnew/3.9.rst:794 +#: whatsnew/3.9.rst:792 msgid "" ":term:`floor division` of float operation now has a better performance. Also " "the message of :exc:`ZeroDivisionError` for this operation is updated. " @@ -1630,7 +1614,7 @@ msgstr "" "opération a été mis à jour (contribution de *Dong-hee Na* dans :issue:" "`39434`)." -#: whatsnew/3.9.rst:798 +#: whatsnew/3.9.rst:796 msgid "" "Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% " "faster. (Contributed by Inada Naoki in :issue:`37348`.)" @@ -1639,14 +1623,14 @@ msgstr "" "maintenant 15 % plus rapide (contribution de *Inada Naoki* dans :issue:" "`37348`)." -#: whatsnew/3.9.rst:801 +#: whatsnew/3.9.rst:799 msgid "" "Here's a summary of performance improvements from Python 3.4 through Python " "3.9:" msgstr "" "Voici un résumé des améliorations de performance de Python 3.4 à Python 3.9 :" -#: whatsnew/3.9.rst:848 +#: whatsnew/3.9.rst:846 msgid "" "These results were generated from the variable access benchmark script at: " "``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " @@ -1664,11 +1648,11 @@ msgstr "" "processor-6m-cache-up-to-3-80-ghz.html>`_ roulant la compilation *macOS* 64-" "bit disponible sur `python.org `_." -#: whatsnew/3.9.rst:858 +#: whatsnew/3.9.rst:856 msgid "Deprecated" msgstr "Obsolescence" -#: whatsnew/3.9.rst:860 +#: whatsnew/3.9.rst:858 msgid "" "The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " "(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:" @@ -1678,7 +1662,7 @@ msgstr "" "plutôt ``bdist_wheel`` (paquet *wheel*) (contribution de *Hugo van Kemenade* " "dans :issue:`39586`)." -#: whatsnew/3.9.rst:864 +#: whatsnew/3.9.rst:862 msgid "" "Currently :func:`math.factorial` accepts :class:`float` instances with non-" "negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " @@ -1693,7 +1677,7 @@ msgstr "" "pour tous les *floats* (contribution de *Serhiy Storchaka* dans :issue:" "`37315`)." -#: whatsnew/3.9.rst:870 +#: whatsnew/3.9.rst:868 msgid "" "The :mod:`parser` and :mod:`symbol` modules are deprecated and will be " "removed in future versions of Python. For the majority of use cases, users " @@ -1705,7 +1689,7 @@ msgstr "" "utilisateurs peuvent tirer profit des stades de génération et de compilation " "d'un arbre de syntaxe abstraite, en utilisant le module :mod:`ast`." -#: whatsnew/3.9.rst:875 +#: whatsnew/3.9.rst:873 msgid "" "The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:" "func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" @@ -1718,7 +1702,7 @@ msgstr "" "Publique sont obsolètes et seront retirées de Python 3.10 en même temps que " "l'ancien analyseur." -#: whatsnew/3.9.rst:880 +#: whatsnew/3.9.rst:878 msgid "" "Using :data:`NotImplemented` in a boolean context has been deprecated, as it " "is almost exclusively the result of incorrect rich comparator " @@ -1731,7 +1715,7 @@ msgstr "" "`TypeError` dans les versions futures de Python (contribution de *Josh " "Rosenberg* dans :issue:`35712`)." -#: whatsnew/3.9.rst:886 +#: whatsnew/3.9.rst:884 msgid "" "The :mod:`random` module currently accepts any hashable type as a possible " "seed value. Unfortunately, some of those types are not guaranteed to have a " @@ -1745,7 +1729,7 @@ msgstr "" "module va restreindre l'ensemencement à :const:`None`, :class:`int`, :class:" "`float`, :class:`str`, :class:`bytes` et :class:`bytearray`." -#: whatsnew/3.9.rst:892 +#: whatsnew/3.9.rst:890 msgid "" "Opening the :class:`~gzip.GzipFile` file for writing without specifying the " "*mode* argument is deprecated. In future Python versions it will always be " @@ -1759,7 +1743,7 @@ msgstr "" "l'ouvrir en écriture et supprimer l'avertissement (contribution de *Serhiy " "Storchaka* dans :issue:`28286`)." -#: whatsnew/3.9.rst:898 +#: whatsnew/3.9.rst:896 msgid "" "Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour " "of the ``splitlist()`` method which has more consistent and predicable " @@ -1770,7 +1754,7 @@ msgstr "" "cohérent et prévisible (contribution de *Serhiy Storchaka* dans :issue:" "`38371`)." -#: whatsnew/3.9.rst:903 +#: whatsnew/3.9.rst:901 msgid "" "The explicit passing of coroutine objects to :func:`asyncio.wait` has been " "deprecated and will be removed in version 3.11. (Contributed by Yury " @@ -1780,7 +1764,7 @@ msgstr "" "obsolète et sera retiré dans la version 3.11. (Contribution de *Yury " "Selivanov* et *Kyle Stanley* dans :issue:`34790`.)" -#: whatsnew/3.9.rst:907 +#: whatsnew/3.9.rst:905 msgid "" "binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module " "and the following :mod:`binascii` functions are now deprecated:" @@ -1789,19 +1773,19 @@ msgstr "" "mod:`binhex` et les fonctions suivantes du module :mod:`binascii` sont " "maintenant obsolètes :" -#: whatsnew/3.9.rst:910 +#: whatsnew/3.9.rst:908 msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" msgstr ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" -#: whatsnew/3.9.rst:911 +#: whatsnew/3.9.rst:909 msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" msgstr ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" -#: whatsnew/3.9.rst:913 +#: whatsnew/3.9.rst:911 msgid "(Contributed by Victor Stinner in :issue:`39353`.)" msgstr "(contribution de *Victor Stinner* dans :issue:`39353`)." -#: whatsnew/3.9.rst:915 +#: whatsnew/3.9.rst:913 msgid "" ":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " "deprecated and will be removed in future Python versions. ``value`` itself " @@ -1815,7 +1799,7 @@ msgstr "" "Load())`` doit être utilisé plutôt que ``ExtSlice(slices)`` (contribution de " "*Serhiy Storchaka* dans :issue:`34822`)." -#: whatsnew/3.9.rst:921 +#: whatsnew/3.9.rst:919 msgid "" ":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " "considered deprecated and will be removed in future Python versions. They " @@ -1830,7 +1814,7 @@ msgstr "" "Taskaya* dans :issue:`39639` et :issue:`39969` et *Serhiy Storchaka* dans :" "issue:`39988`)." -#: whatsnew/3.9.rst:928 +#: whatsnew/3.9.rst:926 msgid "" "The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` " "functions are now deprecated and will be removed in Python 3.11. Calling :c:" @@ -1844,7 +1828,7 @@ msgstr "" "rien du tout. Le :term:`GIL` est initialisé par :c:func:`Py_Initialize()` " "depuis Python 3.7 (contribution de *Victor Stinner* dans :issue:`39877`)." -#: whatsnew/3.9.rst:934 +#: whatsnew/3.9.rst:932 msgid "" "Passing ``None`` as the first argument to the :func:`shlex.split` function " "has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" @@ -1852,7 +1836,7 @@ msgstr "" "Passer ``None`` comme premier argument à la fonction :func:`shlex.split` a " "été rendu obsolète (contribution de *Zackery Spytz* dans :issue:`33262`)." -#: whatsnew/3.9.rst:937 +#: whatsnew/3.9.rst:935 msgid "" ":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an " "external module, ``mailman``. (Contributed by Samuel Colvin in :issue:" @@ -1862,7 +1846,7 @@ msgstr "" "utilisable sans le module externe ``mailman`` (contribution de *Samuel " "Colvin* dans :issue:`35800`)." -#: whatsnew/3.9.rst:940 +#: whatsnew/3.9.rst:938 msgid "" "The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. " "Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may " @@ -1879,7 +1863,7 @@ msgstr "" "version future de Python. Considérez une alternative tierce telle que " "`LibCST`_ ou `parso`_ (contribution de *Carl Meyer* dans :issue:`40360`)." -#: whatsnew/3.9.rst:948 +#: whatsnew/3.9.rst:946 msgid "" "The *random* parameter of :func:`random.shuffle` has been deprecated. " "(Contributed by Raymond Hettinger in :issue:`40465`)" @@ -1887,17 +1871,17 @@ msgstr "" "Le paramètre *random* de :func:`random.shuffle` est maintenant obsolète " "(contribution de *Raymond Hettinger* dans :issue:`40465`)." -#: whatsnew/3.9.rst:1412 +#: whatsnew/3.9.rst:1410 msgid "Removed" msgstr "Retraits" -#: whatsnew/3.9.rst:959 +#: whatsnew/3.9.rst:957 msgid "" "The erroneous version at :data:`unittest.mock.__version__` has been removed." msgstr "" "La version erronée dans :data:`unittest.mock.__version__` a été retirée." -#: whatsnew/3.9.rst:961 +#: whatsnew/3.9.rst:959 msgid "" ":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " "removed. These methods are deprecated since Python 3.3. Generally, these " @@ -1913,7 +1897,7 @@ msgstr "" "utiliser :meth:`nntplib.NNTP.descriptions` ou :meth:`nntplib.NNTP." "description` (contribution de *Dong-hee Na* dans :issue:`39366`)." -#: whatsnew/3.9.rst:968 +#: whatsnew/3.9.rst:966 msgid "" ":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " "removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " @@ -1924,7 +1908,7 @@ msgstr "" "``frombytes()``, obsolètes depuis Python 3.2 (contribution de *Victor " "Stinner* dans :issue:`38916`)." -#: whatsnew/3.9.rst:973 +#: whatsnew/3.9.rst:971 msgid "" "The undocumented ``sys.callstats()`` function has been removed. Since Python " "3.7, it was deprecated and always returned :const:`None`. It required a " @@ -1937,7 +1921,7 @@ msgstr "" "retirée dans Python 3.7 (contribution de *Victor Stinner* dans :issue:" "`37414`)." -#: whatsnew/3.9.rst:978 +#: whatsnew/3.9.rst:976 msgid "" "The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have " "been removed. They were deprecated since Python 3.2. Use :func:`sys." @@ -1949,7 +1933,7 @@ msgstr "" "func:`sys.getswitchinterval` et :func:`sys.setswitchinterval` (contribution " "de *Victor Stinner* dans :issue:`37392`)." -#: whatsnew/3.9.rst:983 +#: whatsnew/3.9.rst:981 msgid "" "The C function ``PyImport_Cleanup()`` has been removed. It was documented " "as: \"Empty the module table. For internal use only.\" (Contributed by " @@ -1959,7 +1943,7 @@ msgstr "" "comme \"Vide la table des modules. Pour usage interne seulement." "\" (contribution de *Victor Stinner* dans :issue:`36710`)." -#: whatsnew/3.9.rst:987 +#: whatsnew/3.9.rst:985 msgid "" "``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " "modules were deprecated since Python 3.7 which requires threading support. " @@ -1970,7 +1954,7 @@ msgstr "" "fils d'exécution multiples (contribution de *Victor Stinner* dans :issue:" "`37312`)." -#: whatsnew/3.9.rst:991 +#: whatsnew/3.9.rst:989 msgid "" "``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " "``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have " @@ -1982,7 +1966,7 @@ msgstr "" "retirés. Ils étaient obsolètes depuis Python 3.7 (contribution de *Victor " "Stinner* dans :issue:`37320`)." -#: whatsnew/3.9.rst:996 +#: whatsnew/3.9.rst:994 msgid "" "The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " "has been removed. It was deprecated since Python 3.8. Use :meth:`~threading." @@ -1993,7 +1977,7 @@ msgstr "" "Utilisez plutôt :meth:`~threading.Thread.is_alive()` (contribution de *Dong-" "hee Na* dans :issue:`37804`)." -#: whatsnew/3.9.rst:1001 +#: whatsnew/3.9.rst:999 msgid "" "Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml." "etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` " @@ -2010,7 +1994,7 @@ msgstr "" "que ``x.getiterator()`` (contribution de *Serhiy Storchaka* dans :issue:" "`36543`)." -#: whatsnew/3.9.rst:1009 +#: whatsnew/3.9.rst:1007 msgid "" "The old :mod:`plistlib` API has been removed, it was deprecated since Python " "3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:" @@ -2024,7 +2008,7 @@ msgstr "" "paramètre *use_builtin_types* a été retiré, les objets :class:`bytes` natifs " "sont toujours utilisés." -#: whatsnew/3.9.rst:1015 +#: whatsnew/3.9.rst:1013 msgid "" "The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " "documented, tested, or used anywhere within CPython after the implementation " @@ -2036,7 +2020,7 @@ msgstr "" "l'implémentation de :pep:`442` (contribution de *Joannah Nanjekye* dans :" "issue:`15088`)." -#: whatsnew/3.9.rst:1020 +#: whatsnew/3.9.rst:1018 msgid "" "``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " "since Python 3.1, have been removed: use :func:`base64.encodebytes` and :" @@ -2048,7 +2032,7 @@ msgstr "" "encodebytes` et :func:`base64.decodebytes` (contribution de *Victor Stinner* " "dans :issue:`39351`)." -#: whatsnew/3.9.rst:1025 +#: whatsnew/3.9.rst:1023 msgid "" "``fractions.gcd()`` function has been removed, it was deprecated since " "Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " @@ -2058,7 +2042,7 @@ msgstr "" "Python 3.5 (:issue:`22486`) : utilisez plutôt :func:`math.gcd` (contribution " "de *Victor Stinner* dans :issue:`39350`)." -#: whatsnew/3.9.rst:1029 +#: whatsnew/3.9.rst:1027 msgid "" "The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since " "Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. " @@ -2071,7 +2055,7 @@ msgstr "" "comment le fichier sera ouvert (contribution de *Victor Stinner* dans :issue:" "`39357`)." -#: whatsnew/3.9.rst:1034 +#: whatsnew/3.9.rst:1032 msgid "" "The *encoding* parameter of :func:`json.loads` has been removed. As of " "Python 3.1, it was deprecated and ignored; using it has emitted a :exc:" @@ -2083,7 +2067,7 @@ msgstr "" "`DeprecationWarning` depuis Python 3.8 (contribution de *Inada Naoki* dans :" "issue:`39377`)." -#: whatsnew/3.9.rst:1039 +#: whatsnew/3.9.rst:1037 msgid "" "``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " "statements are not longer supported, use ``async with lock`` instead. The " @@ -2095,7 +2079,7 @@ msgstr "" "lock``. De même pour ``asyncio.Condition`` et ``asyncio.Semaphore`` " "(contribution de *Andrew Svetlov* dans :issue:`34793`)." -#: whatsnew/3.9.rst:1044 +#: whatsnew/3.9.rst:1042 msgid "" "The :func:`sys.getcounts` function, the ``-X showalloccount`` command line " "option and the ``show_alloc_count`` field of the C structure :c:type:" @@ -2109,7 +2093,7 @@ msgstr "" "Python en définissant la macro ``COUNT_ALLOCS`` (contribution de *Victor " "Stinner* dans :issue:`39489`)." -#: whatsnew/3.9.rst:1050 +#: whatsnew/3.9.rst:1048 msgid "" "The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " "been removed. It was deprecated since Python 3.8. Use the " @@ -2120,7 +2104,7 @@ msgstr "" "retiré. Il était obsolète depuis Python 3.8. Utilisez plutôt l'attribut " "``__annotations__`` (contribution de *Serhiy Storchaka* dans :issue:`40182`)." -#: whatsnew/3.9.rst:1055 +#: whatsnew/3.9.rst:1053 msgid "" "The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was " "deprecated since 2006, and only returning ``False`` when it's called. " @@ -2130,7 +2114,7 @@ msgstr "" "obsolète depuis 2006 et ne renvoyait que ``False`` lorsqu'elle était appelée " "(contribution de *Batuhan Taskaya* dans :issue:`40208`)." -#: whatsnew/3.9.rst:1059 +#: whatsnew/3.9.rst:1057 msgid "" "The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " "have been removed. They were deprecated since Python 3.7 and you can use :" @@ -2142,7 +2126,7 @@ msgstr "" "Utilisez plutôt :func:`asyncio.current_task` et :func:`asyncio.all_tasks` " "(contribution de *Rémi Lapeyre* dans :issue:`40967`)." -#: whatsnew/3.9.rst:1064 +#: whatsnew/3.9.rst:1062 msgid "" "The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " "been removed (it was deprecated since Python 3.4). :func:`html.unescape` " @@ -2154,11 +2138,11 @@ msgstr "" "être utilisée pour convertir les références de caractère en leurs caractères " "Unicode correspondants." -#: whatsnew/3.9.rst:1338 +#: whatsnew/3.9.rst:1336 msgid "Porting to Python 3.9" msgstr "Portage vers Python 3.9" -#: whatsnew/3.9.rst:1073 +#: whatsnew/3.9.rst:1071 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -2166,11 +2150,11 @@ msgstr "" "Cette section liste les changements mentionnés préalablement et d'autres " "améliorations qui peuvent demander des changements à votre code." -#: whatsnew/3.9.rst:1078 +#: whatsnew/3.9.rst:1076 msgid "Changes in the Python API" msgstr "Changements dans l'API Python" -#: whatsnew/3.9.rst:1080 +#: whatsnew/3.9.rst:1078 msgid "" ":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:" "`ImportError` where it previously raised :exc:`ValueError`. Callers catching " @@ -2183,7 +2167,7 @@ msgstr "" "la fois en charge Python 3.9 et des versions précédentes doivent attraper " "les deux types avec ``except (ImportError, ValueError):``." -#: whatsnew/3.9.rst:1085 +#: whatsnew/3.9.rst:1083 msgid "" "The :mod:`venv` activation scripts no longer special-case when " "``__VENV_PROMPT__`` is set to ``\"\"``." @@ -2191,7 +2175,7 @@ msgstr "" "Il n'y a plus de traitement spécial dans les scriptes d'activation de :mod:" "`venv` quand ``__VENV_PROMPT__`` est mis à ``\"\"``." -#: whatsnew/3.9.rst:1088 +#: whatsnew/3.9.rst:1086 msgid "" "The :meth:`select.epoll.unregister` method no longer ignores the :data:" "`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)" @@ -2199,7 +2183,7 @@ msgstr "" "La méthode :meth:`select.epoll.unregister` n'ignore plus l'erreur :data:" "`~errno.EBADF` (contribution de *Victor Stinner* dans :issue:`39239`)." -#: whatsnew/3.9.rst:1092 +#: whatsnew/3.9.rst:1090 msgid "" "The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " "since the *buffering* parameter has been removed. (Contributed by Victor " @@ -2209,7 +2193,7 @@ msgstr "" "exclusivement nommé (*keyword-only*) puisque le paramètre *buffering* a été " "retiré (contribution de *Victor Stinner* in :issue:`39357`)." -#: whatsnew/3.9.rst:1096 +#: whatsnew/3.9.rst:1094 msgid "" "Simplified AST for subscription. Simple indices will be represented by their " "value, extended slices will be represented as tuples. ``Index(value)`` will " @@ -2222,7 +2206,7 @@ msgstr "" "même, ``ExtSlice(slices)`` va renvoyer ``Tuple(slices, Load())`` " "(contribution de *Serhiy Storchaka* dans :issue:`34822`)." -#: whatsnew/3.9.rst:1102 +#: whatsnew/3.9.rst:1100 msgid "" "The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " "environment variable when the :option:`-E` or :option:`-I` command line " @@ -2232,7 +2216,7 @@ msgstr "" "envvar:`PYTHONCASEOK` quand les options de ligne de commande :option:`-E` " "ou :option:`-I` sont utilisées." -#: whatsnew/3.9.rst:1106 +#: whatsnew/3.9.rst:1104 msgid "" "The *encoding* parameter has been added to the classes :class:`ftplib.FTP` " "and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default " @@ -2242,7 +2226,7 @@ msgstr "" "class:`ftplib.FTP_TLS` en paramètre exclusivement nommé et l'encodage par " "défaut est passé de *Latin-1* à *UTF-8* en conformité à :rfc:`2640`." -#: whatsnew/3.9.rst:1110 +#: whatsnew/3.9.rst:1108 msgid "" ":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:" "`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit " @@ -2254,7 +2238,7 @@ msgstr "" "héritent de celle-ci devraient définir cette méthode (contribution de *Kyle " "Stanley* dans :issue:`34037`)." -#: whatsnew/3.9.rst:1115 +#: whatsnew/3.9.rst:1113 msgid "" "The constant values of future flags in the :mod:`__future__` module is " "updated in order to prevent collision with compiler flags. Previously " @@ -2267,7 +2251,7 @@ msgstr "" "``CO_FUTURE_DIVISION`` (contribution de *Batuhan Taskaya* dans :issue:" "`39562`)." -#: whatsnew/3.9.rst:1120 +#: whatsnew/3.9.rst:1118 msgid "" "``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. " "This change doesn't affect to its behavior because ``Py_UNICODE`` is alias " @@ -2279,7 +2263,7 @@ msgstr "" "est un alias de ``wchar_t`` depuis Python 3.3 (contribution de *Inada Naoki* " "dans :issue:`34538`)." -#: whatsnew/3.9.rst:1125 +#: whatsnew/3.9.rst:1123 msgid "" "The :func:`logging.getLogger` API now returns the root logger when passed " "the name ``'root'``, whereas previously it returned a non-root logger named " @@ -2296,7 +2280,7 @@ msgstr "" "getLogger(__name__)`` dans un module de niveau principal appelé ``'root." "py'`` (contribution de *Vinay Sajip* dans :issue:`37742`)." -#: whatsnew/3.9.rst:1132 +#: whatsnew/3.9.rst:1130 msgid "" "Division handling of :class:`~pathlib.PurePath` now returns " "``NotImplemented`` instead of raising a :exc:`TypeError` when passed " @@ -2310,7 +2294,7 @@ msgstr "" "Ceci permet la création de classes compatibles qui n'héritent pas de ces " "types (contribution de *Roger Aiudi* dans :issue:`34775`.)" -#: whatsnew/3.9.rst:1138 +#: whatsnew/3.9.rst:1136 msgid "" "Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " "leading zeros in IPv4 address strings. Leading zeros are ambiguous and " @@ -2320,7 +2304,7 @@ msgid "" "leading zeros. (Contributed by Christian Heimes in :issue:`36384`)." msgstr "" -#: whatsnew/3.9.rst:1146 +#: whatsnew/3.9.rst:1144 msgid "" ":func:`codecs.lookup` now normalizes the encoding name the same way as :func:" "`encodings.normalize_encoding`, except that :func:`codecs.lookup` also " @@ -2329,11 +2313,11 @@ msgid "" "in :issue:`37751`.)" msgstr "" -#: whatsnew/3.9.rst:1154 +#: whatsnew/3.9.rst:1152 msgid "Changes in the C API" msgstr "Changements dans l'API C" -#: whatsnew/3.9.rst:1156 +#: whatsnew/3.9.rst:1154 msgid "" "Instances of :ref:`heap-allocated types ` (such as those created " "with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " @@ -2352,7 +2336,7 @@ msgstr "" "que toutes les fonctions ``tp_traverse`` personnalisées des types alloués " "sur le tas visitent le type de l'objet." -#: whatsnew/3.9.rst:1177 +#: whatsnew/3.9.rst:1175 msgid "" "If your traverse function delegates to ``tp_traverse`` of its base class (or " "another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that " @@ -2364,19 +2348,19 @@ msgstr "" "qu'une seule fois. Prenez note que seuls les :ref:`types du tas ` doivent visiter leur type dans ``tp_traverse``." -#: whatsnew/3.9.rst:1182 +#: whatsnew/3.9.rst:1180 msgid "For example, if your ``tp_traverse`` function includes:" msgstr "Par exemple, si votre fonction ``tp_traverse`` inclut :" -#: whatsnew/3.9.rst:1188 +#: whatsnew/3.9.rst:1186 msgid "then add:" msgstr "alors ajoutez :" -#: whatsnew/3.9.rst:1201 +#: whatsnew/3.9.rst:1199 msgid "(See :issue:`35810` and :issue:`40217` for more information.)" msgstr "(Voir :issue:`35810` et :issue:`40217` pour plus d'information.)" -#: whatsnew/3.9.rst:1203 +#: whatsnew/3.9.rst:1201 msgid "" "The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " "``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " @@ -2388,11 +2372,11 @@ msgstr "" "Utilisez plutôt :c:func:`PyObject_Call` et ses variantes. (Pour plus de " "détails, voir :issue:`29548`.)" -#: whatsnew/3.9.rst:1209 +#: whatsnew/3.9.rst:1207 msgid "CPython bytecode changes" msgstr "Changements au code intermédiaire CPython" -#: whatsnew/3.9.rst:1211 +#: whatsnew/3.9.rst:1209 msgid "" "The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :" "keyword:`assert` statement. Previously, the assert statement would not work " @@ -2404,41 +2388,41 @@ msgstr "" "fonctionnait pas correctement si l'exception :exc:`AssertionError` était " "masquée (contribution de *Zackery Spytz* dans :issue:`34880`)." -#: whatsnew/3.9.rst:1216 +#: whatsnew/3.9.rst:1214 msgid "" "The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:" msgstr "" "Le code d'opération :opcode:`COMPARE_OP` a été séparé en quatre instructions " "distinctes :" -#: whatsnew/3.9.rst:1218 +#: whatsnew/3.9.rst:1216 msgid "``COMPARE_OP`` for rich comparisons" msgstr "``COMPARE_OP`` pour les comparaisons avancées ;" -#: whatsnew/3.9.rst:1219 +#: whatsnew/3.9.rst:1217 msgid "``IS_OP`` for 'is' and 'is not' tests" msgstr "``IS_OP`` pour les tests *is* et *is not* ;" -#: whatsnew/3.9.rst:1220 +#: whatsnew/3.9.rst:1218 msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" msgstr "``CONTAINS_OP`` pour les tests *in* et *not in* ;" -#: whatsnew/3.9.rst:1221 +#: whatsnew/3.9.rst:1219 msgid "" "``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' statements." msgstr "" "``JUMP_IF_NOT_EXC_MATCH`` pour vérifier les exceptions dans les instructions " "``try-except``." -#: whatsnew/3.9.rst:1224 +#: whatsnew/3.9.rst:1222 msgid "(Contributed by Mark Shannon in :issue:`39156`.)" msgstr "(contribution de *Mark Shannon* dans :issue:`39156`)." -#: whatsnew/3.9.rst:1228 +#: whatsnew/3.9.rst:1226 msgid "Build Changes" msgstr "Changements à la compilation" -#: whatsnew/3.9.rst:1230 +#: whatsnew/3.9.rst:1228 msgid "" "Added ``--with-platlibdir`` option to the ``configure`` script: name of the " "platform-specific library directory, stored in the new :attr:`sys." @@ -2452,7 +2436,7 @@ msgstr "" "platlibdir` pour plus d'informations (contribution de *Jan Matějek*, *Matěj " "Cepl*, *Charalampos Stratakis* et *Victor Stinner* dans :issue:`1294959`)." -#: whatsnew/3.9.rst:1236 +#: whatsnew/3.9.rst:1234 msgid "" "The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " "Victor Stinner in :issue:`39489`.)" @@ -2460,7 +2444,7 @@ msgstr "" "La macro spéciale de compilation ``COUNT_ALLOCS`` a été retirée " "(contribution de *Victor Stinner* dans :issue:`39489`)." -#: whatsnew/3.9.rst:1239 +#: whatsnew/3.9.rst:1237 msgid "" "On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` " "functions are now required to build Python. (Contributed by Victor Stinner " @@ -2470,7 +2454,7 @@ msgstr "" "`unsetenv` sont maintenant nécessaires à la compilation de Python " "(contribution de *Victor Stinner* dans :issue:`39395`)." -#: whatsnew/3.9.rst:1243 +#: whatsnew/3.9.rst:1241 msgid "" "On non-Windows platforms, creating ``bdist_wininst`` installers is now " "officially unsupported. (See :issue:`10945` for more details.)" @@ -2479,7 +2463,7 @@ msgstr "" "``bdist_wininst`` n'est maintenant officiellement plus pris en charge. " "(Voir :issue:`10945` pour plus de détails.)" -#: whatsnew/3.9.rst:1246 +#: whatsnew/3.9.rst:1244 msgid "" "When building Python on macOS from source, ``_tkinter`` now links with non-" "system Tcl and Tk frameworks if they are installed in ``/Library/" @@ -2490,7 +2474,7 @@ msgid "" "libs`. (Contributed by Ned Deily in :issue:`34956`.)" msgstr "" -#: whatsnew/3.9.rst:1255 +#: whatsnew/3.9.rst:1253 msgid "" "Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower " "in :issue:`33125`.)" @@ -2498,7 +2482,7 @@ msgstr "" "Python peut maintenant être compilé pour *Windows 10 ARM64* (contribution de " "*Steve Dower* dans :issue:`33125`)." -#: whatsnew/3.9.rst:1258 +#: whatsnew/3.9.rst:1256 msgid "" "Some individual tests are now skipped when ``--pgo`` is used. The tests in " "question increased the PGO task time significantly and likely didn't help " @@ -2528,11 +2512,11 @@ msgstr "" "de la charge de travail et de la chaîne d'outils du compilateur. (Voir :" "issue:`36044` et :issue:`37707` pour plus de détails.)" -#: whatsnew/3.9.rst:1273 +#: whatsnew/3.9.rst:1271 msgid "C API Changes" msgstr "Changements à l'API C" -#: whatsnew/3.9.rst:1278 +#: whatsnew/3.9.rst:1276 msgid "" ":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " "with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` " @@ -2547,7 +2531,7 @@ msgstr "" "récupérer la classe dans laquelle elle a été définie (contribution de " "*Marcel Plch* et *Petr Viktorin* dans :issue:`38787`)." -#: whatsnew/3.9.rst:1285 +#: whatsnew/3.9.rst:1283 msgid "" "Added :c:func:`PyFrame_GetCode` function: get a frame code. Added :c:func:" "`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by " @@ -2558,7 +2542,7 @@ msgstr "" "prochain cadre englobant (contribution de *Victor Stinner* dans :issue:" "`40421`)." -#: whatsnew/3.9.rst:1289 +#: whatsnew/3.9.rst:1287 msgid "" "Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " "Victor Stinner in :issue:`40421`.)" @@ -2566,7 +2550,7 @@ msgstr "" "Ajout de :c:func:`PyFrame_GetLineNumber` à l'API C limité (contribution de " "*Victor Stinner* dans :issue:`40421`)." -#: whatsnew/3.9.rst:1292 +#: whatsnew/3.9.rst:1290 msgid "" "Added :c:func:`PyThreadState_GetInterpreter` and :c:func:" "`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:" @@ -2582,7 +2566,7 @@ msgstr "" "`PyThreadState_GetID` : récupérer l'identifiant unique de l'état d'un fil " "d'exécution Python (contribution de *Victor Stinner* dans :issue:`39947`)." -#: whatsnew/3.9.rst:1300 +#: whatsnew/3.9.rst:1298 msgid "" "Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, " "which calls a callable Python object without any arguments. It is the most " @@ -2594,13 +2578,13 @@ msgstr "" "la plus efficace d'appeler un objet Python appelable sans aucun argument " "(contribution de *Victor Stinner* dans :issue:`37194`)." -#: whatsnew/3.9.rst:1423 +#: whatsnew/3.9.rst:1421 msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):" msgstr "" "Changements dans l'API C limité (si la macro ``Py_LIMITED_API`` est " "définie) :" -#: whatsnew/3.9.rst:1307 +#: whatsnew/3.9.rst:1305 msgid "" "Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " "as regular functions for the limited API. Previously, there were defined as " @@ -2614,7 +2598,7 @@ msgstr "" "l'API C limité qui ne peut pas accéder au champ ``PyThreadState." "recursion_depth`` (la structure est opaque à l'API C limité) ;" -#: whatsnew/3.9.rst:1313 +#: whatsnew/3.9.rst:1311 msgid "" "``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " "function to hide implementation details." @@ -2622,12 +2606,12 @@ msgstr "" "``PyObject_INIT()`` et ``PyObject_INIT_VAR()`` deviennent des fonctions " "\"opaques\" régulières pour cacher les détails d'implémentation" -#: whatsnew/3.9.rst:1450 +#: whatsnew/3.9.rst:1448 msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)" msgstr "" "(contribution de *Victor Stinner* dans :issue:`38644` et :issue:`39542`)." -#: whatsnew/3.9.rst:1318 +#: whatsnew/3.9.rst:1316 msgid "" "The :c:func:`PyModule_AddType` function is added to help adding a type to a " "module. (Contributed by Dong-hee Na in :issue:`40024`.)" @@ -2635,7 +2619,7 @@ msgstr "" "La fonction :c:func:`PyModule_AddType` est ajoutée pour faciliter l'ajout " "d'un type à un module (contribution de *Dong-hee Na* dans :issue:`40024`)." -#: whatsnew/3.9.rst:1322 +#: whatsnew/3.9.rst:1320 msgid "" "Added the functions :c:func:`PyObject_GC_IsTracked` and :c:func:" "`PyObject_GC_IsFinalized` to the public API to allow to query if Python " @@ -2649,7 +2633,7 @@ msgstr "" "ramasse-miettes (contribution de *Pablo Galindo Salgado* dans :issue:" "`40241`)." -#: whatsnew/3.9.rst:1328 +#: whatsnew/3.9.rst:1326 msgid "" "Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string " "representation of a function-like object. (Patch by Jeroen Demeyer in :issue:" @@ -2659,7 +2643,7 @@ msgstr "" "conviviale représentant un objet fonction-compatible. (Rustine par *Jeroen " "Demeyer* dans :issue:`37645`.)" -#: whatsnew/3.9.rst:1332 +#: whatsnew/3.9.rst:1330 msgid "" "Added :c:func:`PyObject_CallOneArg` for calling an object with one " "positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" @@ -2667,7 +2651,7 @@ msgstr "" "Ajout de :c:func:`PyObject_CallOneArg` pour appeler un objet avec un " "argument positionnel. (Rustine par *Jeroen Demeyer* dans :issue:`37483`.)" -#: whatsnew/3.9.rst:1340 +#: whatsnew/3.9.rst:1338 msgid "" "``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " "*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :" @@ -2677,7 +2661,7 @@ msgstr "" "nouveau paramètre obligatoire *tstate* (``PyThreadState*``) (contribution de " "*Victor Stinner* dans :issue:`38500`)." -#: whatsnew/3.9.rst:1344 +#: whatsnew/3.9.rst:1342 msgid "" "Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:" "`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:" @@ -2697,14 +2681,14 @@ msgstr "" "member:`~PyModuleDef.m_size` est plus grand que 0 et que l'état du module " "(tel que renvoyé par :c:func:`PyModule_GetState`) est ``NULL``." -#: whatsnew/3.9.rst:1353 +#: whatsnew/3.9.rst:1351 msgid "" "Extension modules without module state (``m_size <= 0``) are not affected." msgstr "" "Les modules d'extensions sans état de module (``m_size <= 0``) ne sont pas " "affectés." -#: whatsnew/3.9.rst:1355 +#: whatsnew/3.9.rst:1353 msgid "" "If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function " "is now scheduled to be called from the subinterpreter, rather than being " @@ -2717,7 +2701,7 @@ msgstr "" "liste d'appels planifiés (contribution de *Victor Stinner* dans :issue:" "`39984`)." -#: whatsnew/3.9.rst:1361 +#: whatsnew/3.9.rst:1359 msgid "" "The Windows registry is no longer used to initialize :data:`sys.path` when " "the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to " @@ -2729,7 +2713,7 @@ msgstr "" "est affecté à ``0``). Ceci est pertinent quand Python est embarqué sur " "Windows (contribution de *Zackery Spytz* dans :issue:`8901`)." -#: whatsnew/3.9.rst:1366 +#: whatsnew/3.9.rst:1364 msgid "" "The global variable :c:data:`PyStructSequence_UnnamedField` is now a " "constant and refers to a constant string. (Contributed by Serhiy Storchaka " @@ -2739,7 +2723,7 @@ msgstr "" "une constante et fait référence à une chaîne constante (contribution de " "*Serhiy Storchaka* dans :issue:`38650`)." -#: whatsnew/3.9.rst:1370 +#: whatsnew/3.9.rst:1368 msgid "" "The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the " "internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:" @@ -2749,7 +2733,7 @@ msgstr "" "uniquement dans l'API C interne (``pycore_gc.h``) (contribution de *Victor " "Stinner* dans :issue:`40241`)." -#: whatsnew/3.9.rst:1374 +#: whatsnew/3.9.rst:1372 msgid "" "The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:" "func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " @@ -2764,7 +2748,7 @@ msgstr "" "pep:`393` depuis Python 3.3 (contribution de *Inada Naoki* dans :issue:" "`36346`)." -#: whatsnew/3.9.rst:1381 +#: whatsnew/3.9.rst:1379 msgid "" "The :c:func:`Py_FatalError` function is replaced with a macro which logs " "automatically the name of the current function, unless the " @@ -2776,7 +2760,7 @@ msgstr "" "sauf si la macro ``Py_LIMITED_API`` est définie (contribution de *Victor " "Stinner* dans :issue:`39882`)." -#: whatsnew/3.9.rst:1386 +#: whatsnew/3.9.rst:1384 msgid "" "The vectorcall protocol now requires that the caller passes only strings as " "keyword names. (See :issue:`37540` for more information.)" @@ -2785,18 +2769,18 @@ msgstr "" "des chaînes pour les noms des arguments nommés. (Voir :issue:`37540` pour " "plus d'informations.)" -#: whatsnew/3.9.rst:1389 +#: whatsnew/3.9.rst:1387 msgid "" "Implementation details of a number of macros and functions are now hidden:" msgstr "" "Les détails d'implémentation de certaines macros et fonctions sont " "maintenant cachés :" -#: whatsnew/3.9.rst:1391 +#: whatsnew/3.9.rst:1389 msgid ":c:func:`PyObject_IS_GC` macro was converted to a function." msgstr "la macro :c:func:`PyObject_IS_GC` a été convertie en fonction ;" -#: whatsnew/3.9.rst:1393 +#: whatsnew/3.9.rst:1391 msgid "" "The :c:func:`PyObject_NEW` macro becomes an alias to the :c:func:" "`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro becomes an " @@ -2808,7 +2792,7 @@ msgstr "" "la macro :c:func:`PyObject_NewVar`. Elles n'ont plus accès directement au " "membre :c:member:`PyTypeObject.tp_basicsize` ;" -#: whatsnew/3.9.rst:1398 +#: whatsnew/3.9.rst:1396 msgid "" ":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " "the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " @@ -2818,7 +2802,7 @@ msgstr "" "fonction : la macro accédait directement au membre :c:member:`PyTypeObject." "tp_weaklistoffset` ;" -#: whatsnew/3.9.rst:1402 +#: whatsnew/3.9.rst:1400 msgid "" ":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " "accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." @@ -2826,7 +2810,7 @@ msgstr "" "La macro :c:func:`PyObject_CheckBuffer` a été convertie en fonction : la " "macro accédait directement au membre :c:member:`PyTypeObject.tp_as_buffer` ;" -#: whatsnew/3.9.rst:1405 +#: whatsnew/3.9.rst:1403 msgid "" ":c:func:`PyIndex_Check` is now always declared as an opaque function to hide " "implementation details: removed the ``PyIndex_Check()`` macro. The macro " @@ -2837,11 +2821,11 @@ msgstr "" "``PyIndex_Check()``. La macro accédait directement au membre :c:member:" "`PyTypeObject.tp_as_number`." -#: whatsnew/3.9.rst:1409 +#: whatsnew/3.9.rst:1407 msgid "(See :issue:`40170` for more details.)" msgstr "(Voir :issue:`40170` pour plus de détails.)" -#: whatsnew/3.9.rst:1414 +#: whatsnew/3.9.rst:1412 msgid "" "Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " "``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:" @@ -2850,7 +2834,7 @@ msgstr "" "Exclusion des macros ``PyFPE_START_PROTECT()`` et ``PyFPE_END_PROTECT()`` de " "l'API C limité (contribution de *Victor Stinner* dans :issue:`38835`)." -#: whatsnew/3.9.rst:1418 +#: whatsnew/3.9.rst:1416 msgid "" "The ``tp_print`` slot of :ref:`PyTypeObject ` has been " "removed. It was used for printing objects to files in Python 2.7 and before. " @@ -2862,11 +2846,11 @@ msgstr "" "dans les versions précédentes. Depuis Python 3.0, il était ignoré et " "inutilisé (contribution de *Jeroen Demeyer* dans :issue:`36974`)." -#: whatsnew/3.9.rst:1425 +#: whatsnew/3.9.rst:1423 msgid "Excluded the following functions from the limited C API:" msgstr "Exclusion des fonctions suivantes de l'API C limité :" -#: whatsnew/3.9.rst:1427 +#: whatsnew/3.9.rst:1425 msgid "" "``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" "`37878`.)" @@ -2874,82 +2858,82 @@ msgstr "" "``PyThreadState_DeleteCurrent()`` (contribution de *Joannah Nanjekye* dans :" "issue:`37878`) ;" -#: whatsnew/3.9.rst:1429 +#: whatsnew/3.9.rst:1427 msgid "``_Py_CheckRecursionLimit``" msgstr "``_Py_CheckRecursionLimit`` ;" -#: whatsnew/3.9.rst:1430 +#: whatsnew/3.9.rst:1428 msgid "``_Py_NewReference()``" msgstr "``_Py_NewReference()`` ;" -#: whatsnew/3.9.rst:1431 +#: whatsnew/3.9.rst:1429 msgid "``_Py_ForgetReference()``" msgstr "``_Py_ForgetReference()`` ;" -#: whatsnew/3.9.rst:1432 +#: whatsnew/3.9.rst:1430 msgid "``_PyTraceMalloc_NewReference()``" msgstr "``_PyTraceMalloc_NewReference()`` ;" -#: whatsnew/3.9.rst:1433 +#: whatsnew/3.9.rst:1431 msgid "``_Py_GetRefTotal()``" msgstr "``_Py_GetRefTotal()`` ;" -#: whatsnew/3.9.rst:1434 +#: whatsnew/3.9.rst:1432 msgid "The trashcan mechanism which never worked in the limited C API." msgstr "" "Le mécanisme *trashcan* qui n'a jamais fonctionné dans l'API C limité ;" -#: whatsnew/3.9.rst:1435 +#: whatsnew/3.9.rst:1433 msgid "``PyTrash_UNWIND_LEVEL``" msgstr "``PyTrash_UNWIND_LEVEL`` ;" -#: whatsnew/3.9.rst:1436 +#: whatsnew/3.9.rst:1434 msgid "``Py_TRASHCAN_BEGIN_CONDITION``" msgstr "``Py_TRASHCAN_BEGIN_CONDITION`` ;" -#: whatsnew/3.9.rst:1437 +#: whatsnew/3.9.rst:1435 msgid "``Py_TRASHCAN_BEGIN``" msgstr "``Py_TRASHCAN_BEGIN`` ;" -#: whatsnew/3.9.rst:1438 +#: whatsnew/3.9.rst:1436 msgid "``Py_TRASHCAN_END``" msgstr "``Py_TRASHCAN_END`` ;" -#: whatsnew/3.9.rst:1439 +#: whatsnew/3.9.rst:1437 msgid "``Py_TRASHCAN_SAFE_BEGIN``" msgstr "``Py_TRASHCAN_SAFE_BEGIN`` ;" -#: whatsnew/3.9.rst:1440 +#: whatsnew/3.9.rst:1438 msgid "``Py_TRASHCAN_SAFE_END``" msgstr "``Py_TRASHCAN_SAFE_END``." -#: whatsnew/3.9.rst:1442 +#: whatsnew/3.9.rst:1440 msgid "Moved following functions and definitions to the internal C API:" msgstr "" "Migration des fonctions et définitions suivantes vers l'API C interne :" -#: whatsnew/3.9.rst:1444 +#: whatsnew/3.9.rst:1442 msgid "``_PyDebug_PrintTotalRefs()``" msgstr "``_PyDebug_PrintTotalRefs()`` ;" -#: whatsnew/3.9.rst:1445 +#: whatsnew/3.9.rst:1443 msgid "``_Py_PrintReferences()``" msgstr "``_Py_PrintReferences()`` ;" -#: whatsnew/3.9.rst:1446 +#: whatsnew/3.9.rst:1444 msgid "``_Py_PrintReferenceAddresses()``" msgstr "``_Py_PrintReferenceAddresses()`` ;" -#: whatsnew/3.9.rst:1447 +#: whatsnew/3.9.rst:1445 msgid "``_Py_tracemalloc_config``" msgstr "``_Py_tracemalloc_config`` ;" -#: whatsnew/3.9.rst:1448 +#: whatsnew/3.9.rst:1446 msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" msgstr "" "``_Py_AddToAllObjects()`` (spécifique aux compilations ``Py_TRACE_REFS``)." -#: whatsnew/3.9.rst:1452 +#: whatsnew/3.9.rst:1450 msgid "" "Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` " "macro which was an alias to ``_PyRuntime.getframe``. They were only exposed " @@ -2962,7 +2946,7 @@ msgstr "" "type ``PyThreadFrameGetter`` (contribution de *Victor Stinner* dans :issue:" "`39946`)." -#: whatsnew/3.9.rst:1457 +#: whatsnew/3.9.rst:1455 msgid "" "Removed the following functions from the C API. Call :c:func:`PyGC_Collect` " "explicitly to clear all free lists. (Contributed by Inada Naoki and Victor " @@ -2973,31 +2957,31 @@ msgstr "" "Naoki* et *Victor Stinner* dans :issue:`37340`, :issue:`38896` et :issue:" "`40428`) :" -#: whatsnew/3.9.rst:1462 +#: whatsnew/3.9.rst:1460 msgid "``PyAsyncGen_ClearFreeLists()``" msgstr "``PyAsyncGen_ClearFreeLists()`` ;" -#: whatsnew/3.9.rst:1463 +#: whatsnew/3.9.rst:1461 msgid "``PyContext_ClearFreeList()``" msgstr "``PyContext_ClearFreeList()`` ;" -#: whatsnew/3.9.rst:1464 +#: whatsnew/3.9.rst:1462 msgid "``PyDict_ClearFreeList()``" msgstr "``PyDict_ClearFreeList()`` ;" -#: whatsnew/3.9.rst:1465 +#: whatsnew/3.9.rst:1463 msgid "``PyFloat_ClearFreeList()``" msgstr "``PyFloat_ClearFreeList()`` ;" -#: whatsnew/3.9.rst:1466 +#: whatsnew/3.9.rst:1464 msgid "``PyFrame_ClearFreeList()``" msgstr "``PyFrame_ClearFreeList()`` ;" -#: whatsnew/3.9.rst:1467 +#: whatsnew/3.9.rst:1465 msgid "``PyList_ClearFreeList()``" msgstr "``PyList_ClearFreeList()`` ;" -#: whatsnew/3.9.rst:1468 +#: whatsnew/3.9.rst:1466 msgid "" "``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " "lists of bound method objects have been removed." @@ -3005,18 +2989,18 @@ msgstr "" "``PyMethod_ClearFreeList()`` et ``PyCFunction_ClearFreeList()`` : les *free " "lists* des objets méthode liées ont été retirées ;" -#: whatsnew/3.9.rst:1470 +#: whatsnew/3.9.rst:1468 msgid "" "``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4." msgstr "" "``PySet_ClearFreeList()`` : la *free list* des objets *sets* a été retirée " "dans Python 3.4 ;" -#: whatsnew/3.9.rst:1472 +#: whatsnew/3.9.rst:1470 msgid "``PyTuple_ClearFreeList()``" msgstr "``PyTuple_ClearFreeList()`` ;" -#: whatsnew/3.9.rst:1473 +#: whatsnew/3.9.rst:1471 msgid "" "``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " "Python 3.3." @@ -3024,7 +3008,7 @@ msgstr "" "``PyUnicode_ClearFreeList()`` : la *free list* des objets Unicode a été " "retirée dans Python 3.3." -#: whatsnew/3.9.rst:1476 +#: whatsnew/3.9.rst:1474 msgid "" "Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor " "Stinner in :issue:`39465`.)" @@ -3033,7 +3017,7 @@ msgstr "" "*Victor Stinner* dans :issue:`39465`)." # Féminin puisque Py_UNICODE_MATCH est une macro. -#: whatsnew/3.9.rst:1479 +#: whatsnew/3.9.rst:1477 msgid "" "Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and " "broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be " @@ -3044,7 +3028,7 @@ msgstr "" "`PyUnicode_Tailmatch` peut être utilisée à sa place (contribution de *Inada " "Naoki* dans :issue:`36346`)." -#: whatsnew/3.9.rst:1484 +#: whatsnew/3.9.rst:1482 msgid "" "Cleaned header files of interfaces defined but with no implementation. The " "public API symbols being removed are: " @@ -3066,11 +3050,11 @@ msgstr "" "``PyNoArgsFunction`` (contribution de *Pablo Galindo Salgado* dans :issue:" "`39372`)." -#: whatsnew/3.9.rst:1495 +#: whatsnew/3.9.rst:1493 msgid "Notable changes in Python 3.9.1" msgstr "Changements importants dans Python 3.9.1" -#: whatsnew/3.9.rst:1500 +#: whatsnew/3.9.rst:1498 msgid "" "The behavior of :class:`typing.Literal` was changed to conform with :pep:" "`586` and to match the behavior of static type checkers specified in the PEP." @@ -3079,18 +3063,18 @@ msgstr "" "avec :pep:`586` et pour avoir le comportement des vérificateurs de types " "statique spécifiés dans le PEP :" -#: whatsnew/3.9.rst:1503 +#: whatsnew/3.9.rst:1501 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` de-duplique maintenant les paramètres ;" -#: whatsnew/3.9.rst:1504 +#: whatsnew/3.9.rst:1502 msgid "" "Equality comparisons between ``Literal`` objects are now order independent." msgstr "" "Les comparaisons d'égalité entre les objets ``Literal`` sont maintenant " "indépendantes de l'ordre ;" -#: whatsnew/3.9.rst:1505 +#: whatsnew/3.9.rst:1503 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -3102,7 +3086,7 @@ msgstr "" "C'est maintenant ``False``. Pour gérer ce changement, le cache interne des " "types utilisés peut maintenant différentier les types ;" -#: whatsnew/3.9.rst:1509 +#: whatsnew/3.9.rst:1507 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -3114,16 +3098,16 @@ msgstr "" "term:`immuable `. Prenez-note que déclarer un ``Literal`` avec un " "paramètre muable ne lève pas une erreur ::" -#: whatsnew/3.9.rst:1521 +#: whatsnew/3.9.rst:1519 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(Contribution de *Yurii Karabas* dans :issue:`42345`.)" -#: whatsnew/3.9.rst:1524 +#: whatsnew/3.9.rst:1522 msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" msgstr "" "Prise en charge de *macOS* 11.0 (Big Sur) et de Mac sur processeur Apple" -#: whatsnew/3.9.rst:1526 +#: whatsnew/3.9.rst:1524 msgid "" "As of 3.9.1, Python now fully supports building and running on macOS 11.0 " "(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A " @@ -3145,20 +3129,20 @@ msgstr "" "d'exploitation disponibles en fonction de la version du système utilisée à " "l'exécution (\"*weaklinking*\")." -#: whatsnew/3.9.rst:1535 +#: whatsnew/3.9.rst:1533 msgid "(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)" msgstr "" "(contribution de *Ronald Oussoren* et *Lawrence D'Anna* dans :issue:`41100`)." -#: whatsnew/3.9.rst:1538 +#: whatsnew/3.9.rst:1536 msgid "Notable changes in Python 3.9.2" msgstr "Changements importants dans Python 3.9.2" -#: whatsnew/3.9.rst:1541 +#: whatsnew/3.9.rst:1539 msgid "collections.abc" msgstr "*collections.abc*" -#: whatsnew/3.9.rst:1543 +#: whatsnew/3.9.rst:1541 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -3174,11 +3158,11 @@ msgid "" "Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)" msgstr "" -#: whatsnew/3.9.rst:1557 +#: whatsnew/3.9.rst:1555 msgid "urllib.parse" msgstr "*urllib.parse*" -#: whatsnew/3.9.rst:1559 +#: whatsnew/3.9.rst:1557 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." @@ -3199,6 +3183,18 @@ msgstr "" "Pour plus de détails, voir leur documentation respective (contribution de " "*Adam Goldschmidt*, *Senthil Kumaran* et *Ken Jin* dans :issue:`42967`)." +#~ msgid "Release" +#~ msgstr "Version" + +#~ msgid "|release|" +#~ msgstr "|release|" + +#~ msgid "Date" +#~ msgstr "Date" + +#~ msgid "|today|" +#~ msgstr "|today|" + #~ msgid "" #~ ":c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags`. " #~ "Previously, it accessed directly the :c:member:`PyTypeObject.tp_flags` " From 7acacbb2a4a7359a38b63c4d402cc7bdb08638c8 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 22 Mar 2023 23:00:40 +0100 Subject: [PATCH 09/11] Backporting from 3.11 after upstream merge. --- extending/embedding.po | 5 +-- howto/annotations.po | 5 +++ howto/logging-cookbook.po | 76 ++++++++++++++++++++++++++++---------- library/argparse.po | 46 +++++++++-------------- library/functions.po | 36 ++++++++---------- library/pathlib.po | 22 ++++++----- library/re.po | 20 ++++++---- library/sqlite3.po | 9 ++++- library/struct.po | 12 +++--- merge.py | 25 +++++++++---- tutorial/classes.po | 10 ++--- tutorial/datastructures.po | 3 +- tutorial/introduction.po | 4 ++ 13 files changed, 162 insertions(+), 111 deletions(-) diff --git a/extending/embedding.po b/extending/embedding.po index a9d298caa0..1256471a6c 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -421,13 +421,12 @@ msgstr "" "compiler :" #: extending/embedding.rst:304 -#, fuzzy msgid "" "``pythonX.Y-config --ldflags --embed`` will give you the recommended flags " "when linking:" msgstr "" -"``pythonX.Y-config --ldflags`` vous donnera les drapeaux recommandés lors de " -"l'édition de lien :" +"``pythonX.Y-config --ldflags --embed`` vous donnera les drapeaux recommandés " +"lors de l'édition de lien :" #: extending/embedding.rst:313 msgid "" diff --git a/howto/annotations.po b/howto/annotations.po index 663db47cf6..c0adc085fb 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -132,6 +132,11 @@ msgid "" "parent's ``__annotations__``. In Python 3.10 and newer, the child class's " "annotations will be an empty dict instead." msgstr "" +"Dans les versions antérieures à Python 3.10, l'accès aux ``__annotations__`` " +"d'une classe qui n'a pas d'annotation mais dont un parent de cette classe en " +"a, aurait renvoyé les ``__annotations__`` de la classe parent. Dans les " +"versions 3.10 et plus récentes, le résultat d'annotations de la classe " +"enfant est un dictionnaire vide." #: howto/annotations.rst:68 msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 4d75f33091..e9399c8f91 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -526,7 +526,6 @@ msgstr "" "Journalisation en production à l'aide d'un connecteur en écoute sur le réseau" #: howto/logging-cookbook.rst:770 -#, fuzzy msgid "" "To run a logging listener in production, you may need to use a process-" "management tool such as `Supervisor `_. `Here is a " @@ -534,84 +533,90 @@ msgid "" "the above functionality using Supervisor. It consists of the following files:" msgstr "" "Pour de la journalisation en production *via* un connecteur réseau en " -"écoute, il est probable que vous ayez besoin d'utiliser un outil de " +"écoute, il est probable que vous ayez besoin d’utiliser un outil de " "surveillance tel que `Supervisor `_. Vous trouverez " -"dans ce `Gist `_ des gabarits pour assurer cette " -"fonction avec *Supervisor* : vous aurez besoin de modifier les parties ``/" -"path/to/`` du *Gist* pour refléter les chemins réels que vous utilisez." +"dans ce `Gist `__ des gabarits pour assurer cette " +"fonction avec *Supervisor*. Il est composé des fichiers suivants :" #: howto/logging-cookbook.rst:777 msgid "File" -msgstr "" +msgstr "Fichier" #: howto/logging-cookbook.rst:777 msgid "Purpose" -msgstr "" +msgstr "Objectif" #: howto/logging-cookbook.rst:779 msgid ":file:`prepare.sh`" -msgstr "" +msgstr ":file:`prepare.sh`" #: howto/logging-cookbook.rst:779 msgid "A Bash script to prepare the environment for testing" -msgstr "" +msgstr "Script Bash pour préparer l'environnement de test" #: howto/logging-cookbook.rst:782 msgid ":file:`supervisor.conf`" -msgstr "" +msgstr ":file:`supervisor.conf`" #: howto/logging-cookbook.rst:782 msgid "" "The Supervisor configuration file, which has entries for the listener and a " "multi-process web application" msgstr "" +"Fichier de configuration de *Supervisor*, avec les entrées pour le " +"connecteur en écoute et l'application web multi-processus" #: howto/logging-cookbook.rst:786 msgid ":file:`ensure_app.sh`" -msgstr "" +msgstr ":file:`ensure_app.sh`" #: howto/logging-cookbook.rst:786 msgid "" "A Bash script to ensure that Supervisor is running with the above " "configuration" msgstr "" +"Script Bash pour s'assurer que *Supervisor* fonctionne bien avec la " +"configuration ci-dessus" #: howto/logging-cookbook.rst:789 msgid ":file:`log_listener.py`" -msgstr "" +msgstr ":file:`log_listener.py`" #: howto/logging-cookbook.rst:789 msgid "" "The socket listener program which receives log events and records them to a " "file" msgstr "" +"Programme en écoute sur le réseau qui reçoit les événements de " +"journalisation et les enregistre dans un fichier" #: howto/logging-cookbook.rst:792 msgid ":file:`main.py`" -msgstr "" +msgstr ":file:`main.py`" #: howto/logging-cookbook.rst:792 msgid "" "A simple web application which performs logging via a socket connected to " "the listener" -msgstr "" +msgstr "Application web simple qui journalise *via* un connecteur réseau" #: howto/logging-cookbook.rst:795 msgid ":file:`webapp.json`" -msgstr "" +msgstr ":file:`webapp.json`" #: howto/logging-cookbook.rst:795 msgid "A JSON configuration file for the web application" -msgstr "" +msgstr "Fichier JSON de configuration de l'application web" #: howto/logging-cookbook.rst:797 msgid ":file:`client.py`" -msgstr "" +msgstr ":file:`client.py`" #: howto/logging-cookbook.rst:797 msgid "A Python script to exercise the web application" msgstr "" +"Script Python qui interagit avec l'application web pour effectuer des appels " +"à la journalisation" #: howto/logging-cookbook.rst:800 msgid "" @@ -621,20 +626,30 @@ msgid "" "same log file without conflicting with one another --- they all go through " "the socket listener." msgstr "" +"L'application Web utilise `Gunicorn `_, qui est un " +"serveur d'applications Web populaire qui démarre plusieurs processus de " +"travail pour gérer les demandes. Cet exemple de configuration montre comment " +"les processus peuvent écrire dans le même fichier journal sans entrer en " +"conflit les uns avec les autres — ils passent tous par le connecteur en " +"écoute." #: howto/logging-cookbook.rst:805 msgid "To test these files, do the following in a POSIX environment:" msgstr "" +"Pour tester ces fichiers, suivez cette procédure dans un environnement " +"POSIX :" #: howto/logging-cookbook.rst:807 msgid "" "Download `the Gist `__ as a ZIP archive using the :" "guilabel:`Download ZIP` button." msgstr "" +"Téléchargez l'archive ZIP du `Gist `__ à l'aide du " +"bouton :guilabel:`Download ZIP`." #: howto/logging-cookbook.rst:810 msgid "Unzip the above files from the archive into a scratch directory." -msgstr "" +msgstr "Décompressez les fichiers de l'archive dans un répertoire de travail." #: howto/logging-cookbook.rst:812 msgid "" @@ -643,18 +658,27 @@ msgid "" "files, and a :file:`venv` subdirectory to contain a virtual environment into " "which ``bottle``, ``gunicorn`` and ``supervisor`` are installed." msgstr "" +"Dans le répertoire de travail, exécutez le script de préparation par ``bash " +"prepare.sh``. Cela crée un sous-répertoire :file:`run` pour contenir les " +"fichiers journaux et ceux relatifs à *Supervisor*, ainsi qu'un sous-" +"répertoire :file:`venv` pour contenir un environnement virtuel dans lequel " +"``bottle``, ``gunicorn`` et ``supervisor`` sont installés." #: howto/logging-cookbook.rst:817 msgid "" "Run ``bash ensure_app.sh`` to ensure that Supervisor is running with the " "above configuration." msgstr "" +"Exécutez ``bash ensure_app.sh`` pour vous assurer que *Supervisor* s'exécute " +"avec la configuration ci-dessus." #: howto/logging-cookbook.rst:820 msgid "" "Run ``venv/bin/python client.py`` to exercise the web application, which " "will lead to records being written to the log." msgstr "" +"Exécutez ``venv/bin/python client.py`` pour tester l'application Web, ce qui " +"entraîne l'écriture d'enregistrements dans le journal." #: howto/logging-cookbook.rst:823 msgid "" @@ -663,18 +687,28 @@ msgid "" "won't be in any particular order, since they have been handled concurrently " "by different worker processes in a non-deterministic way." msgstr "" +"Inspectez les fichiers journaux dans le sous-répertoire :file:`run`. Vous " +"devriez voir les lignes de journal les plus récentes dans les fichiers de " +"type :file:`app.log*`. Ils ne seront pas dans un ordre particulier, car ils " +"ont été traités par les différents processus de travail de manière non " +"déterministe." #: howto/logging-cookbook.rst:828 msgid "" "You can shut down the listener and the web application by running ``venv/bin/" "supervisorctl -c supervisor.conf shutdown``." msgstr "" +"Vous pouvez arrêter le connecteur en écoute et l'application Web en " +"exécutant ``venv/bin/supervisorctl -c supervisor.conf shutdown``." #: howto/logging-cookbook.rst:831 msgid "" "You may need to tweak the configuration files in the unlikely event that the " "configured ports clash with something else in your test environment." msgstr "" +"Vous devrez peut-être modifier les fichiers de configuration dans le cas peu " +"probable où les ports configurés entrent en conflit avec autre chose dans " +"votre environnement de test." #: howto/logging-cookbook.rst:837 msgid "Adding contextual information to your logging output" @@ -1596,11 +1630,15 @@ msgid "" "An example of how you can define a namer and rotator is given in the " "following runnable script, which shows gzip compression of the log file::" msgstr "" +"L’extrait de code suivant fournit un exemple de la façon dont vous pouvez " +"définir un nom et un rotateur, avec la compression par *zlib* du journal ::" #: howto/logging-cookbook.rst:2015 msgid "" "After running this, you will see six new files, five of which are compressed:" msgstr "" +"Après l'avoir exécuté, vous verrez six nouveaux fichiers, dont cinq sont " +"compressés :" #: howto/logging-cookbook.rst:2028 msgid "A more elaborate multiprocessing example" diff --git a/library/argparse.po b/library/argparse.po index db0f9cd4e7..f296821b1c 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -206,18 +206,16 @@ msgstr "" "partir des arguments ajoutés à l'analyseur) ;" #: library/argparse.rst:157 -#, fuzzy msgid "" "description_ - Text to display before the argument help (by default, no text)" msgstr "" -"description_ – Texte à afficher avant l'aide des arguments (par défaut : " -"vide) ;" +"description_ – Texte à afficher au dessus de l'aide pour les arguments (vide " +"par défaut) ;" #: library/argparse.rst:160 -#, fuzzy msgid "epilog_ - Text to display after the argument help (by default, no text)" msgstr "" -"epilog_ – Texte à afficher après l'aide des arguments (par défaut : vide) ;" +"epilog_ – Texte à afficher après l'aide des arguments (vide par défaut) ;" #: library/argparse.rst:162 msgid "" @@ -828,11 +826,8 @@ msgstr "" "converti ;" #: library/argparse.rst:705 -#, fuzzy msgid "choices_ - A sequence of the allowable values for the argument." -msgstr "" -"choices_ – Conteneur qui contient toutes les valeurs permises pour cet " -"argument ;" +msgstr "choices_ – La séquence de valeurs autorisées pour cet argument ;" #: library/argparse.rst:707 msgid "" @@ -1366,7 +1361,6 @@ msgid "choices" msgstr "Le paramètre *choices*" #: library/argparse.rst:1126 -#, fuzzy msgid "" "Some command-line arguments should be selected from a restricted set of " "values. These can be handled by passing a sequence object as the *choices* " @@ -1375,32 +1369,29 @@ msgid "" "be displayed if the argument was not one of the acceptable values::" msgstr "" "Certains arguments de la ligne de commande doivent être choisis parmi un " -"ensemble fermé de valeurs. Ceux-ci peuvent être gérés en passant un " -"conteneur à l'argument nommé *choices* de la méthode :meth:`~ArgumentParser." -"add_argument`. Quand la ligne de commande est analysée, les valeurs de " -"l'argument sont comparées et un message d'erreur est affiché si l'argument " -"n'est pas parmi les valeurs acceptables ::" +"ensemble prédéfini de valeurs. Celles-ci doivent être déclarées dans la " +"séquence passée à l'argument *choices* de la méthode :meth:`~ArgumentParser." +"add_argument`. Un message d'erreur est alors affiché si l'utilisateur passe " +"un argument qui n'est pas parmi les valeurs acceptables ::" #: library/argparse.rst:1141 -#, fuzzy msgid "" "Note that inclusion in the *choices* sequence is checked after any type_ " "conversions have been performed, so the type of the objects in the *choices* " "sequence should match the type_ specified::" msgstr "" -"Prenez note que le test d'inclusion dans le conteur *choices* est fait après " -"la conversion de type_. Le type des objets dans le conteneur *choices* " -"doivent donc correspondre au type_ spécifié ::" +"Prenez note que le test d'inclusion dans le conteneur *choices* est fait " +"après la conversion de type_. Le type des objets dans le conteneur *choices* " +"doit donc correspondre au type_ spécifié ::" #: library/argparse.rst:1153 -#, fuzzy msgid "" "Any sequence can be passed as the *choices* value, so :class:`list` " "objects, :class:`tuple` objects, and custom sequences are all supported." msgstr "" -"N'importe quel conteneur peut être fourni pour la valeur de *choices*, donc " -"les objets :class:`list`, les objets :class:`set` et les conteneurs " -"personnalisés sont tous acceptés." +"N'importe quel séquence peut être utilisée comme valeur de *choices*, dont " +"les objets de type :class:`list`, :class:`set` ou des conteneurs " +"personnalisés." #: library/argparse.rst:1156 msgid "" @@ -2145,16 +2136,15 @@ msgstr "" "`open` pour plus de détails) ::" #: library/argparse.rst:1834 -#, fuzzy msgid "" "FileType objects understand the pseudo-argument ``'-'`` and automatically " "convert this into :data:`sys.stdin` for readable :class:`FileType` objects " "and :data:`sys.stdout` for writable :class:`FileType` objects::" msgstr "" -"Les objets ``FileType`` reconnaissent le pseudo-argument ``'-'`` et en font " -"automatiquement la conversion vers ``sys.stdin`` pour les objets :class:" -"`FileType` ouverts en lecture et vers ``sys.stdout`` pour les objets :class:" -"`FileType` ouverts en écriture ::" +"Les objets ``FileType`` reconnaissent le pseudo-argument ``'-'`` et le " +"convertissent automatiquement vers :data:`sys.stdin` pour les objets :class:" +"`FileType` ouverts en lecture, et vers :data:`sys.stdout` pour les objets :" +"class:`FileType` ouverts en écriture ::" #: library/argparse.rst:1843 msgid "The *encodings* and *errors* keyword arguments." diff --git a/library/functions.po b/library/functions.po index bf9dc89260..8b19b8747a 100644 --- a/library/functions.po +++ b/library/functions.po @@ -1386,7 +1386,6 @@ msgstr "" "Renvoie un nombre a virgule flottante depuis un nombre ou une chaîne *x*." #: library/functions.rst:626 -#, fuzzy msgid "" "If the argument is a string, it should contain a decimal number, optionally " "preceded by a sign, and optionally embedded in whitespace. The optional " @@ -1402,20 +1401,19 @@ msgstr "" "d'effet sur la valeur produite. L'argument peut aussi être une chaîne " "représentant un *NaN* (*Not-a-Number* ou *pas un nombre* en français), " "l'infini positif, ou l'infini négatif. Plus précisément, l'argument doit se " -"conformer à la grammaire suivante, après que les espaces en début et fin de " -"chaîne aient été retirées :" +"conformer à ``floatvalue`` tel que défini la grammaire suivante, après que " +"les espaces en début et fin de chaîne aient été retirées :" #: library/functions.rst:644 -#, fuzzy msgid "" "Here ``digit`` is a Unicode decimal digit (character in the Unicode general " "category ``Nd``). Case is not significant, so, for example, \"inf\", " "\"Inf\", \"INFINITY\", and \"iNfINity\" are all acceptable spellings for " "positive infinity." msgstr "" -"Ici ``floatnumber`` est un nombre a virgule flottante littéral Python, " -"décrit dans :ref:`floating`. La casse n'y est pas significative, donc, par " -"exemple, ``\"inf\"``, ``\" Inf\"``, ``\"INFINITY\"``, et ``\" iNfiNity\"`` " +"Ici ``digit`` est un chiffre décimal Unicode (caractère de la catégorie " +"générale Unicode ``Nd``). La casse n'y est pas significative, donc, par " +"exemple, ``\"inf\"``, ``\" Inf\"``, ``\"INFINITY\"`` et ``\" iNfiNity\"`` " "sont tous des orthographes valides pour un infini positif." #: library/functions.rst:649 @@ -1777,7 +1775,6 @@ msgid "" msgstr "" #: library/functions.rst:876 -#, fuzzy msgid "" "A base-n integer string contains digits, each representing a value from 0 to " "n-1. The values 0--9 can be represented by any Unicode decimal digit. The " @@ -1790,19 +1787,18 @@ msgid "" "prefix. Base 0 also disallows leading zeros: ``int('010', 0)`` is not legal, " "while ``int('010')`` and ``int('010', 8)`` are." msgstr "" -"Si *x* n'est pas un nombre ou si *base* est fourni, alors *x* doit être une " -"chaîne, un :class:`bytes`, ou un :class:`bytearray` représentant un :ref:" -"`entier littéral ` de base *base*. Le littéral peut être précédé " -"d'un ``+`` ou d'un ``-`` (sans être séparés par une espace), et peut être " -"entouré d'espaces. Un littéral de base *n* est composé des symboles de 0 à " -"n-1 où ``a`` jusqu'à ``z`` (ou ``A`` à ``Z``) représentent les valeurs de 10 " -"à 35. La *base* par défaut est 10. Les valeurs autorisées pour *base* sont 0 " -"et 2--36. Les littéraux en base 2, 8, et 16 peuvent être préfixés avec " +"Une chaine représentant un entier en base *n* contient des chiffres, chacun " +"représentant une valeur de 0 à n-1. Les valeurs 0 à 9 peuvent être " +"représentées par n'importe lequel des chiffres décimaux Unicode. Les valeurs " +"de 10 à 35 peuvent être représentées par ``a`` jusqu'à ``z`` (ou ``A`` à " +"``Z``). La *base* par défaut est 10. Les valeurs autorisées pour *base* sont " +"0 et 2 à 36. Les littéraux en base 2, 8, et 16 peuvent être préfixés avec " "``0b``/``0B``, ``0o``/``0O``, ou ``0x``/``0X`` tout comme les littéraux dans " -"le code. Fournir 0 comme *base* demande d'interpréter exactement comme un " -"littéral dans Python, donc la base sera 2, 8, 10, ou 16, ainsi ``int('010', " -"0)`` n'est pas légal, alors que ``int('010')`` l'est tout comme ``int('010', " -"8)``." +"le code. Fournir 0 comme *base* demande d'interpréter exactement comme un :" +"ref:`entier littéral dans du code ` Python, donc la base sera 2, " +"8, 10, ou 16 en fonction du préfixe. Indiquer 0 comme base interdit les " +"zéros en tête, ainsi ``int('010', 0)`` n'est pas légal, alors que " +"``int('010')`` l'est tout comme ``int('010', 8)``." #: library/functions.rst:887 msgid "The integer type is described in :ref:`typesnumeric`." diff --git a/library/pathlib.po b/library/pathlib.po index fd53f85013..3c07f9e285 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -158,19 +158,20 @@ msgid "When *pathsegments* is empty, the current directory is assumed::" msgstr "Quand *pathsegments* est vide, le dossier courant est utilisé ::" #: library/pathlib.rst:121 -#, fuzzy msgid "" "If a segment is an absolute path, all previous segments are ignored (like :" "func:`os.path.join`)::" msgstr "" -"Quand plusieurs chemins absolus sont fournis, le dernier est pris comme " -"ancre (recopiant le comportement de :func:`os.path.join`) ::" +"Si un segment est un chemin absolu, tous les segments précédents sont " +"ignorés (comme :func:`os.path.join`) ::" #: library/pathlib.rst:129 msgid "" "On Windows, the drive is not reset when a rooted relative path segment (e." "g., ``r'\\foo'``) is encountered::" msgstr "" +"Sous Windows, le nom de lecteur est conservé quand un chemin relatif à la " +"racine (par exemple ``r'\\foo'``) est rencontré ::" #: library/pathlib.rst:135 msgid "" @@ -267,6 +268,10 @@ msgid "" "the drive is not reset when the argument is a rooted relative path (e.g., " "``r'\\foo'``)::" msgstr "" +"L'opérateur slash aide à créer les chemins enfants, de manière similaire à :" +"func:`os.path.join`. Si l'argument est un chemin absolu, le chemin précédent " +"est ignoré. Sous Windows, le lecteur n'est pas effacé quand l'argument est " +"un chemin relatif enraciné (par exemple ``r'\\foo'``)::" #: library/pathlib.rst:233 msgid "" @@ -1033,6 +1038,8 @@ msgid "" "It is implemented in terms of :func:`os.rename` and gives the same " "guarantees." msgstr "" +"Cette méthode est implémentée d'après :func:`os.rename` et fournit les mêmes " +"garanties." # « nouveau dans la version … » #: library/pathlib.rst:1087 @@ -1462,18 +1469,16 @@ msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" #: library/pathlib.rst:1309 -#, fuzzy msgid ":attr:`PurePath.name`" -msgstr ":data:`PurePath.name`" +msgstr ":attr:`PurePath.name`" #: library/pathlib.rst:1310 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" #: library/pathlib.rst:1310 -#, fuzzy msgid ":attr:`PurePath.parent`" -msgstr ":data:`PurePath.parent`" +msgstr ":attr:`PurePath.parent`" #: library/pathlib.rst:1311 msgid ":func:`os.path.samefile`" @@ -1488,9 +1493,8 @@ msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" #: library/pathlib.rst:1312 -#, fuzzy msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`" -msgstr ":data:`PurePath.suffix`" +msgstr ":attr:`PurePath.stem` et :attr:`PurePath.suffix`" #: library/pathlib.rst:1317 msgid "Footnotes" diff --git a/library/re.po b/library/re.po index 6471b03575..00fe332821 100644 --- a/library/re.po +++ b/library/re.po @@ -1087,16 +1087,15 @@ msgid "``\\w``" msgstr "``\\w``" #: library/re.rst:530 -#, fuzzy msgid "" "Matches Unicode word characters; this includes alphanumeric characters (as " "defined by :meth:`str.isalnum`) as well as the underscore (``_``). If the :" "const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." msgstr "" -"Valide les caractères Unicode de mot ; cela inclut la plupart des caractères " -"qui peuvent être compris dans un mot d'une quelconque langue, aussi bien que " -"les nombres et les tirets bas. Si l'option :const:`ASCII` est utilisée, " -"seuls les caractères de la classe ``[a-zA-Z0-9_]`` sont validés." +"Valide les caractères Unicode de mot ; cela inclut les caractères " +"alphanumériques (tels que définis par :meth:`str.isalnum`), ainsi que les " +"tirets bas(``_``). Si l'option :const:`ASCII` est utilisée, seuls les " +"caractères de la classe ``[a-zA-Z0-9_]`` sont validés." #: library/re.rst:535 msgid "" @@ -2373,21 +2372,28 @@ msgstr "search() vs. match()" msgid "" "Python offers different primitive operations based on regular expressions:" msgstr "" +"Python offre différentes opérations primitives basées sur des expressions " +"régulières." #: library/re.rst:1476 -#, fuzzy msgid ":func:`re.match` checks for a match only at the beginning of the string" -msgstr "Correspond uniquement à la fin d'une chaîne de caractères." +msgstr "" +":func:`re.match` cherche une correspondance uniquement au début de la chaîne " +"de caractères" #: library/re.rst:1477 msgid "" ":func:`re.search` checks for a match anywhere in the string (this is what " "Perl does by default)" msgstr "" +":func:`re.search` cherche une correspondance n'importe où dans la chaîne de " +"caractères (ce que fait Perl par défaut)" #: library/re.rst:1479 msgid ":func:`re.fullmatch` checks for entire string to be a match" msgstr "" +":func:`re.fullmatch` cherche une correspondance avec l'intégralité de la " +"chaîne de caractères." #: library/re.rst:1491 msgid "" diff --git a/library/sqlite3.po b/library/sqlite3.po index f27524b177..0b1c4f7139 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -327,9 +327,8 @@ msgstr "" "context-manager>`" #: library/sqlite3.rst:242 -#, fuzzy msgid ":ref:`sqlite3-howto-row-factory`" -msgstr ":ref:`convertisseurs sqlite3 `" +msgstr ":ref:`guide de fabrique de ligne sqlite3 `" #: library/sqlite3.rst:244 msgid "" @@ -424,6 +423,12 @@ msgid "" "operations may need to be serialized by the user to avoid data corruption. " "See :attr:`threadsafety` for more information." msgstr "" +"Si ``True`` (par défaut), :exc:`ProgrammingError` sera levée si la connexion " +"à la base de données est utilisée par un thread autre que celui qui l’a " +"créée. Si ``False``, la connexion peut être utilisée par plusieurs threads ; " +"les opérations d’écriture devront peut-être être sérialisées par " +"l’utilisateur pour éviter la corruption des données. Voir :attr:`sécurité " +"des threads ` pour plus d’informations." #: library/sqlite3.rst:310 msgid "" diff --git a/library/struct.po b/library/struct.po index bce28d57f0..6e13241909 100644 --- a/library/struct.po +++ b/library/struct.po @@ -416,7 +416,7 @@ msgstr "pas de valeur" #: library/struct.rst:207 msgid "\\(7)" -msgstr "" +msgstr "\\(7)" #: library/struct.rst:209 msgid "``c``" @@ -640,7 +640,7 @@ msgstr "*bytes* (séquence d'octets)" #: library/struct.rst:244 msgid "\\(9)" -msgstr "" +msgstr "\\(9)" #: library/struct.rst:246 msgid "``p``" @@ -648,7 +648,7 @@ msgstr "``p``" #: library/struct.rst:246 msgid "\\(8)" -msgstr "" +msgstr "\\(8)" #: library/struct.rst:248 msgid "``P``" @@ -932,18 +932,16 @@ msgid "Packed binary storage of homogeneous data." msgstr "Stockage agrégé binaire de données homogènes." #: library/struct.rst:435 -#, fuzzy msgid "Module :mod:`json`" -msgstr "Module :mod:`array`" +msgstr "Module :mod:`json`" #: library/struct.rst:435 msgid "JSON encoder and decoder." msgstr "" #: library/struct.rst:437 -#, fuzzy msgid "Module :mod:`pickle`" -msgstr "Module :mod:`xdrlib`" +msgstr "Module :mod:`pickle`" #: library/struct.rst:438 msgid "Python object serialization." diff --git a/merge.py b/merge.py index 08aa0dee89..6cc9f60878 100644 --- a/merge.py +++ b/merge.py @@ -2,14 +2,17 @@ given branch. """ +import argparse import re import shutil -from pathlib import Path -import argparse import subprocess +from pathlib import Path from subprocess import PIPE + from tqdm import tqdm +NOT_TO_TRANSLATE = {Path("whatsnew/changelog.po")} + def run(*args: str | Path, **kwargs) -> subprocess.CompletedProcess: """Run a shell command with subprocess.run() with check=True and @@ -26,14 +29,20 @@ def parse_args(): type=Path, help="Use this given cpython clone.", ) - parser.add_argument("branch", help="Merge from this branch") + parser.add_argument( + "branch", + help="Merge from this branch or from this commit", + ) return parser.parse_args() def setup_repo(repo_path: Path, branch: str): """Ensure we're up-to-date.""" - run("git", "-C", repo_path, "checkout", branch) - run("git", "-C", repo_path, "pull", "--ff-only") + if branch.find('.') == 1: + run("git", "-C", repo_path, "checkout", branch) + run("git", "-C", repo_path, "pull", "--ff-only") + else: # it's a commit + run("git", "-C", repo_path, "checkout", branch) def copy_new_files(new_files: set[Path], pot_path: Path) -> None: @@ -43,6 +52,7 @@ def copy_new_files(new_files: set[Path], pot_path: Path) -> None: file.parent.mkdir(parents=True, exist_ok=True) src = (pot_path / file).with_suffix(".pot") run("msgcat", "-o", file, src) + run("git", "add", file) def update_known_files(known_files: set[Path], pot_path: Path) -> None: @@ -107,7 +117,6 @@ def git_add_relevant_files(): run("git", "add", file) else: run("git", "checkout", "--", file) - run("rm", "-f", "whatsnew/changelog.po") # We don't translate this file. def main(): @@ -121,7 +130,7 @@ def main(): upstream = { file.relative_to(pot_path).with_suffix(".po") for file in pot_path.glob("**/*.pot") - } + } - NOT_TO_TRANSLATE downstream = { Path(po) for po in run("git", "ls-files", "*.po", stdout=PIPE).stdout.splitlines() @@ -129,7 +138,7 @@ def main(): copy_new_files(upstream - downstream, pot_path=pot_path) update_known_files(upstream & downstream, pot_path=pot_path) remove_old_files(downstream - upstream) - clean_paths((upstream - downstream) | (upstream & downstream)) + clean_paths(upstream) shutil.rmtree(pot_path) run("powrap", "-m") update_makefile(args.cpython_repo) diff --git a/tutorial/classes.po b/tutorial/classes.po index 44f93713d7..a6f319aedd 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -306,7 +306,6 @@ msgstr "" "contenant les primitives." #: tutorial/classes.rst:126 -#, fuzzy msgid "" "If a name is declared global, then all references and assignments go " "directly to the next-to-last scope containing the module's global names. To " @@ -317,7 +316,7 @@ msgid "" "outer variable unchanged)." msgstr "" "Si un nom est déclaré comme global, alors toutes les références et " -"affectations vont directement dans la portée intermédiaire contenant les " +"affectations vont directement dans l'avant-dernière portée contenant les " "noms globaux du module. Pour pointer une variable qui se trouve en dehors de " "la portée la plus locale, vous pouvez utiliser l'instruction :keyword:" "`nonlocal`. Si une telle variable n'est pas déclarée *nonlocal*, elle est en " @@ -1217,16 +1216,15 @@ msgid "Odds and Ends" msgstr "Trucs et astuces" #: tutorial/classes.rst:739 -#, fuzzy msgid "" "Sometimes it is useful to have a data type similar to the Pascal \"record\" " "or C \"struct\", bundling together a few named data items. The idiomatic " "approach is to use :mod:`dataclasses` for this purpose::" msgstr "" -"Il est parfois utile d'avoir un type de donnée similaire au \"record\" du " +"Il est parfois utile d'avoir un type de donnée similaire au *record* du " "Pascal ou au *struct* du C, qui regroupent ensemble quelques attributs " -"'données' nommés. La définition d'une classe vide remplit parfaitement ce " -"besoin ::" +"« données » nommés. L'approche idiomatique correspondante en Python est " +"d'utiliser des :mod:`dataclasses` ::" #: tutorial/classes.rst:759 msgid "" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 6bca294e6a..a77ff09376 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -139,7 +139,6 @@ msgid "An example that uses most of the list methods::" msgstr "L'exemple suivant utilise la plupart des méthodes des listes ::" #: tutorial/datastructures.rst:123 -#, fuzzy msgid "" "You might have noticed that methods like ``insert``, ``remove`` or ``sort`` " "that only modify the list have no return value printed -- they return the " @@ -148,7 +147,7 @@ msgid "" msgstr "" "Vous avez probablement remarqué que les méthodes qui ne font que modifier la " "liste, comme ``insert``, ``remove`` ou ``sort``, n'affichent pas de valeur " -"de retour (elles renvoient ``None``) [1]_. C'est un principe respecté par " +"de retour (elles renvoient ``None``) [#]_. C'est un principe respecté par " "toutes les structures de données muables en Python." #: tutorial/datastructures.rst:128 diff --git a/tutorial/introduction.po b/tutorial/introduction.po index 6e315863f3..49bdb7e51e 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -248,6 +248,10 @@ msgid "" "odd number of ``\\`` characters; see :ref:`the FAQ entry ` for more information and workarounds." msgstr "" +"Il existe une petite subtilité concernant les chaînes brutes : une chaîne " +"brute ne peut pas se terminer par un nombre impair de caractères ``\\`` ; " +"voir :ref:`l'entrée FAQ ` pour plus " +"d'informations et des solutions de contournement." #: tutorial/introduction.rst:197 msgid "" From fba25673317c237be4e95709a52203c2564375d2 Mon Sep 17 00:00:00 2001 From: deronnax Date: Thu, 27 Apr 2023 12:48:51 +0000 Subject: [PATCH 10/11] library/functions.po: quelques fuzzy (3.10) (#132) majoritairement des backports de python 3.11 Co-authored-by: Mathieu Dupuy Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/132 --- library/functions.po | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/library/functions.po b/library/functions.po index 8b19b8747a..9edb29c3e8 100644 --- a/library/functions.po +++ b/library/functions.po @@ -6,15 +6,15 @@ msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-03-22 22:57+0100\n" -"PO-Revision-Date: 2022-01-27 22:46+0100\n" -"Last-Translator: Antoine Wecxsteen\n" +"PO-Revision-Date: 2023-04-26 20:31+0200\n" +"Last-Translator: Mathieu Dupuy\n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 2.3\n" +"X-Generator: Poedit 3.2.2\n" #: library/functions.rst:11 msgid "Built-in Functions" @@ -2131,7 +2131,6 @@ msgstr "" "ref:`tut-files` pour plus d'exemple d'utilisation de cette fonction." #: library/functions.rst:1130 -#, fuzzy msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " "relative to the current working directory) of the file to be opened or an " @@ -2146,7 +2145,6 @@ msgstr "" "d'entrée-sortie renvoyé, sauf si *closefd* est mis à ``False``)." #: library/functions.rst:1136 -#, fuzzy msgid "" "*mode* is an optional string that specifies the mode in which the file is " "opened. It defaults to ``'r'`` which means open for reading in text mode. " @@ -2210,7 +2208,6 @@ msgid "``'a'``" msgstr "``'a'``" #: library/functions.rst:1158 -#, fuzzy msgid "open for writing, appending to the end of file if it exists" msgstr "ouvre en écriture, ajoutant à la fin du fichier s'il existe" @@ -2239,7 +2236,6 @@ msgid "open for updating (reading and writing)" msgstr "ouvre en modification (lecture et écriture)" #: library/functions.rst:1164 -#, fuzzy msgid "" "The default mode is ``'r'`` (open for reading text, a synonym of ``'rt'``). " "Modes ``'w+'`` and ``'w+b'`` open and truncate the file. Modes ``'r+'`` and " @@ -2268,7 +2264,6 @@ msgstr "" "l'environnement ou *encoding* s'il est donné." #: library/functions.rst:1176 -#, fuzzy msgid "" "There is an additional mode character permitted, ``'U'``, which no longer " "has any effect, and is considered deprecated. It previously enabled :term:" @@ -2294,7 +2289,6 @@ msgstr "" "indépendant de la plate-forme." #: library/functions.rst:1188 -#, fuzzy msgid "" "*buffering* is an optional integer used to set the buffering policy. Pass 0 " "to switch buffering off (only allowed in binary mode), 1 to select line " @@ -2306,11 +2300,16 @@ msgid "" "for :func:`io.TextIOWrapper.reconfigure`. When no *buffering* argument is " "given, the default buffering policy works as follows:" msgstr "" -"*buffering* est un entier optionnel permettant de configurer l'espace " -"tampon. 0 pour désactiver l'espace tampon (seulement autorisé en mode " +"*buffering* est un entier optionnel permettant de configurer l’espace " +"tampon. 0 pour désactiver l’espace tampon (seulement autorisé en mode " "binaire), 1 pour avoir un *buffer* travaillant ligne par ligne (seulement " "disponible en mode texte), ou un entier supérieur à 1 pour donner la taille " -"en octets d'un tampon de taille fixe. Sans l'argument *buffering*, les " +"en octets d’un tampon de taille fixe. Notez que spécifier une taille de " +"tampon de cette manière s'applique aux E/S binaires, mais que " +"``TextIOWrapper`` (c'est-à-dire les fichiers ouverts avec ``mode='r+'``) " +"aurait un autre tampon. Pour désactiver la mise en mémoire tampon dans " +"``TextIOWrapper``, envisagez d'utiliser le drapeau ``write_through`` pour :" +"func:`io.TextIOWrapper.reconfigure`.Sans l’argument *buffering*, les " "comportements par défaut sont les suivants :" #: library/functions.rst:1198 From e26610db81f86bfb25c25d6f0d1c4ca4148cb747 Mon Sep 17 00:00:00 2001 From: deronnax Date: Fri, 12 May 2023 13:26:17 +0000 Subject: [PATCH 11/11] library/subprocess: corrige "fichier" en "objets fichiers" (#138) pour 3.10 pour l'instant un forward-porting pour 3.11 sera fait Co-authored-by: Mathieu Dupuy Reviewed-on: https://git.afpy.org/AFPy/python-docs-fr/pulls/138 --- library/subprocess.po | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/library/subprocess.po b/library/subprocess.po index ecd9a4d5bc..91a31a8339 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -150,12 +150,12 @@ msgid "" "*universal_newlines* argument is equivalent to *text* and is provided for " "backwards compatibility. By default, file objects are opened in binary mode." msgstr "" -"Si *encoding* ou *errors* sont spécifiés, ou *text* est vrai, les fichiers " -"pour les entrées et sorties sont ouverts en mode texte en utilisant les " -"paramètres *encoding* et *errors* spécifiés, ou les valeurs par défaut de :" -"class:`io.TextIOWrapper`. L'argument *universal_newlines* est équivalent à " -"*text* et est fourni pour la rétrocompatibilité. Par défaut, les fichiers " -"sont ouverts en mode binaire." +"Si *encoding* ou *errors* sont spécifiés, ou *text* est vrai, les objets " +"fichiers pour les entrées et sorties standards sont ouverts en mode texte en " +"utilisant les paramètres *encoding* et *errors* spécifiés, ou les valeurs " +"par défaut de :class:`io.TextIOWrapper`. L'argument *universal_newlines* est " +"équivalent à *text* et est fourni pour la rétrocompatibilité. Par défaut, " +"les objets fichiers sont ouverts en mode binaire." #: library/subprocess.rst:81 #, fuzzy @@ -442,9 +442,10 @@ msgid "" "specified in the call or the defaults for :class:`io.TextIOWrapper`." msgstr "" "Si *encoding* ou *errors* sont spécifiés, ou si *text* (aussi appelé " -"*universal_newlines*) est vrai, les fichiers *stdin*, *stdout* et *stderr* " -"seront ouverts en mode texte en utilisant les *encoding* et *errors* " -"spécifiés à l'appel, ou les valeurs par défaut de :class:`io.TextIOWrapper`." +"*universal_newlines*) est vrai, les objets fichiers *stdin*, *stdout* et " +"*stderr* seront ouverts en mode texte en utilisant les *encoding* et " +"*errors* spécifiés à l'appel, ou les valeurs par défaut de :class:`io." +"TextIOWrapper`." #: library/subprocess.rst:299 msgid "" @@ -1081,7 +1082,7 @@ msgid "" "is provided for backwards compatibility. By default, file objects are opened " "in binary mode." msgstr "" -"Si *encoding* ou *errors* sont spécifiés, ou si *text* est vrai, les " +"Si *encoding* ou *errors* sont spécifiés, ou si *text* est vrai, les objets " "fichiers *stdin*, *stdout* et *stderr* sont ouverts en mode texte, avec " "l'encodage et la valeur d'*errors* spécifiés, comme décrit ci-dessus dans :" "ref:`frequently-used-arguments`. L'argument *universal_newlines*, équivalent "